誤差逆伝播法 渡辺澄夫 東京工業大学 教師あり学習 学習データ X1, X2, …, Xn q(x,y) Y1, Y2, …, Yn y=f(x,w) =q(x)q(y|x) テストデータ 情報源 X Y 学習モデル 深層学習 深い階層のモデルを定義することは 間単にできる。 o1 o2 o1 oN oi oN N H2 oj H1 ok M x1 xM x2 x1 H2 H1 M j=1 k=1 m=1 xm xM oi =σ( ∑wij σ( ∑ wjk σ( ∑ wkmxm+ θk) + θj) + θi) 階層ごとに別の記号を使うのがメンドウなので同じ記号を使うが別のもの。 二乗誤差 学習モデルの出力を (oi), 教師データを y= (yi) とする。 1 N 2 二乗誤差は E(w) = ― ∑(oi -yi ) 2 i=1 (N : 出力の次元) 学習モデルの出力 (oi) はパラメータ (w, θ) の関数なので、 E(w)の w に関する微分 ∇ E(w) を計算することができる。 確率降下法 各時刻 t において学習データ (Xi,Yi) をランダムに選んで Δw = w(t+1) - w(t) = ーη(t)∇{ (Yi-f(Xi,w(t)))2 } とする(∇はパラメータに関する微分を表す)。 ◎1個ずつデータを取ってくるだけで学習できる。 ◎ η(t) は下記を満たすように定める。 η(t) → 0 η(0)+η(1)+・・・+η(t) → ∞ 計算の手順 (3) 中間2→出力 H2 oi =σ(∑wijoj+θi) j=1 (2) 中間1→中間2 H1 oj=σ(∑wjkok+θj) k=1 (1) 入力→中間1 M ok=σ(∑wkmxm+θk) m=1 (4) 中間2→出力 δi = (oi -yi ) oi (1- oi ) Δwij = -η(t) δi oj Δθi = -η(t) δi (5) 中間1→中間2 δj = Σi δi wijoj(1-oj) Δwjk = -η(t) δj ok Δθj = -η(t) δj (6) 入力→中間1 δk = Σj δj wjkok(1-ok) Δwkm = -η(t) δkxm Δθk = -η(t) δk 学習と汎化 学習誤差関数 n E(w) = (1/n) Σ (Yi-f(Xi,w))2 i=1 汎化誤差関数 F(w) = ∫∫ (y-f(x,w))2 q(x,y) dxdy 学習誤差と汎化誤差 汎化誤差 学習誤差 構造発見 構造発見 学習回数 良好な学習結果を得るには途中で学習を停止する必要がある。 しかし、どこで停止させるのが最適であるかはわかっていない。
© Copyright 2024 ExpyDoc