計算表を使って、順伝搬で行った操作を逆に偏微分していく → 各操作が誤差Eに対してどのような影響を与えるのかを計算する → 最終的にネットワークの重み w,b が誤差Eに対してどのような影響を与えているのかを計算して、w,b を調整する。その操作を逆伝搬という
出力タイプ | 回帰(連続値) | 二値分類(確率) | 多クラス分類 |
活性化関数 | 恒等写像 | シグモイド関数 | ソフトマックス関数 |
\(g(u)=u\) | \(g(u)=\frac{1}{1+e^{-u}}\) | \(g(u_i)=\frac{e^{u_i}}{\sum_{k=1}^n e^{u_k}}\) | |
誤差関数 | 二条誤差 | 交差エントロピー(尤度) | |
\(E(w)=\frac{1}{2} \sum_{k=1}^n (y_k - d_k) ^2\) | \(E(w)= - \sum_{k=1}^n d_k log( y_k )\) | ||
\(\delta^{(L)}\) | y-d (たまたま簡単な式になったのではなく、そうなるように誤差関数を設計した) |
\(\delta^{(l)} = \delta^{(l+1)} W^{(l+1)} f'( u^{(l)} ) \)
\(\frac{\partial e}{\partial W^{(l)}} = \delta^{(l)} z^{(l-1)} \\ \frac{\partial e}{\partial b^{(l)}} = \delta^{(l)} \)
wij を増やしたら e(誤差) が増える | → | wij をもうちょっと減らそう |
wij を増やしたら e(誤差) が減る | → | wij をもうちょっと増やそう |
\(E(w) = \frac{1}{2} \sum_{k=1}^n (y_k - d_k) ^2 \\ y = g(u^L) = u^L \\ \therefore \delta^L = \frac{\partial E}{\partial y} \frac{\partial y}{\partial u^L} = \frac{1}{2} 2 (y-d) \frac{\partial (y-d)}{\partial y} \frac{\partial g(u)}{\partial u} = y-d \)
\(E(w)= - \sum_{k=1}^n d_k log( y_k ) = - \sum_{k=1}^n (d_k log( y_k ) - (1 - d_k) log( 1 - y_k ))\\ y = g(u^L) = \frac{1}{1+e^{-u}} \)
(二値分類は、ソフトマックスの特別な場合。表が出るか裏が出るか→ベルヌーイ分布)
ここで、
\(\delta^L = \frac{\partial E}{\partial y} \frac{\partial y}{\partial u^L} \)
を分けて計算する
\(\frac{\partial E}{\partial y} = \frac{\partial (- d log( y ) - (1 - d) log( 1 - y ))}{\partial y} \\ = - \frac{d}{y} - \frac{1-d}{1-y} \frac{\partial (1-y)}{\partial y} \\ = - \frac{d}{y} + \frac{1-d}{1-y} \\ = \frac{y(1-d) - (1-y)d}{y(1-y)} = \frac{y-d}{y(1-y)} \)
シグモイド関数の微分はシグモイド関数で表せる
\(\frac{\partial y}{\partial u} = \frac{\partial ((1+e^{-u})^{-1})}{\partial u} = -(1+e^{-u})^{-2} \frac{\partial (1+e^{-u})}{\partial u} = -(1+e^{-u})^{-2} -e^{-u} \\ = \frac{e^{-u}}{(1+e^{-u})^{2}} = \frac{1}{(1+e^{-u})} \frac{e^{-u}}{(1+e^{-u})} = \frac{1}{(1+e^{-u})} ( 1 - \frac{1}{(1+e^{-u})}) = y(1-y) \)
∴
\(\delta^L = \frac{\partial E}{\partial y} \frac{\partial y}{\partial u^L} = \frac{y-d}{y(1-y)} y(1-y) = y-d \)
\(E(w)= - \sum_{k=1}^n d_k log( y_k ) \\ y = g(u_i)=\frac{e^{u_i}}{\sum_{k=1}^n e^{u_k}} \)
ここで、δi を計算するときに k=i のときと k≠i のときで分けて考える (→ つまり偏微分の対象かそうでないかで分けて考える)
\(\delta^L_i = \frac{\partial E}{\partial y} \frac{\partial y}{\partial u^L_i} = - \sum_{k=1}^n \frac{d_k}{ y_k } \frac{\partial y_k}{\partial u^L_i} = - \frac{d_i}{y_i} \frac{\partial y_i}{\partial u^L_i} - \sum_{k≠i}^n \frac{d_k}{ y_k } \frac{\partial y_k}{\partial u^L_i} \)
\(y_i = \frac{e^{u^L_i}}{e^{u^L_i} + \sum_{k≠i}{e^{u^L_k}}} = \frac{e(u^L_i)}{e(u^L_i) + s} = (1 + \frac{s}{e(u^L_i)})^{-1} \)
\(\therefore \\ \frac{\partial y_i}{\partial u^L_i} \\ = \frac{\partial}{\partial u^L_i} (1 + \frac{s}{e(u^L_i)})^{-1} \\ = -(1 + \frac{s}{e(u^L_i)})^{-2} \times \frac{\partial}{\partial u^L_i} s e(u^L_i)^{-1} \\ = -(1 + \frac{s}{e(u^L_i)})^{-2} \times -se(u^L_i)^{-2} \times \frac{\partial}{\partial u^L_i} e(u^L_i) \\ = -(1 + \frac{s}{e(u^L_i)})^{-2} \times -se(u^L_i)^{-2} \times e(u^L_i) \\ = (1 + \frac{s}{e(u^L_i)})^{-2} \frac{s}{e(u^L_i)} = (\frac{e(u^L_i)}{e(u^L_i) + s}) (\frac{s}{e(u^L_i) + s}) = (\frac{e(u^L_i)}{e(u^L_i) + s}) (1 - \frac{e(u^L_i)}{e(u^L_i) + s}) = y_i (1 - y_i) \)
\(y_k = \frac{e^{u^L_k}}{e^{u^L_i} + \sum_{n \neq i}{e^{u^L_n}}} = \frac{ \kappa }{e(u^L_i) + s } = \kappa (e(u^L_i) + s)^{-1} \)
\(\therefore \\ \frac{\partial y_k}{\partial u^L_i} \\ = \frac{\partial}{\partial u^L_i} \kappa (e(u^L_i) + s)^{-1} \\ = -\kappa (e(u^L_i) + s)^{-2} \frac{\partial}{\partial u^L_i} e(u^L_i) \\ = -\kappa (e(u^L_i) + s)^{-2} e(u^L_i) \\ = - \frac{\kappa}{e(u^L_i) + s} \times \frac{e(u^L_i)}{e(u^L_i) + s} \\ = - y_k y_i \)
\(\delta^L_i = - \frac{d_i}{y_i} \frac{\partial y_i}{\partial u^L_i} - \sum_{k \neq i}^n \frac{d_k}{ y_k } \frac{\partial y_k}{\partial u^L_i} = - \frac{d_i}{y_i} y_i ( 1 - y_i ) - \sum_{k \neq i}^n \frac{d_k}{ y_k } (- y_k y_i) \\ = - d_i + d_i y_i + \sum_{k \neq i}^n d_k y_i \\ = - d_i + y_i \sum_{k}^n d_k \\ = - d_i + y_i \times 1 \\ = y_i - d_i \)
※ dk は、各クラスの出現確率なので、合計は 1 になる