多層パーセプトロン

$L$ 個の入力データ $x = (1,x_1,\ldots,x_L) \in \mathbb{R}^{L+1}$ が与えられ, $M$ 個の中間データ $y = (y_1, \ldots , y_M) \in \mathbb{R}^M$ を得て, さらに $1$ 個の出力データ $z \in \mathbb{R}$ が得られるとする. これらは次のような関係があると仮定する. \begin{align} y_1 &= f_1(u_1x) = f_1(u_{10} + u_{11}x_1 + \cdots + u_{1L}x_L) \\ y_2 &= f_2(u_2x) = f_2(u_{20} + u_{21}x_1 + \cdots + u_{2L}x_L) \\ & \cdots \tag{4.1} \label{eq4.1}\\ y_M &= f_M(u_Mx) = f_M(u_{M0} + u_{M1}x_1 + \cdots + u_{ML}x_L) \\ z &= g(vy) = g(v_0 + v_1 y_1 + \cdots + v_M y_M) \end{align} ここで, $\{u_m = (u_{m0},u_{m1},\ldots,u_{mL})\}_{m=1}^M$ は $M$ 個の $L+1$ 次行ベクトル, $v = (v_0,v_1,\ldots,v_M)$ は $1$ 個の $M+1$ 次行ベクトル, $f_1, \ldots, f_M, g$ は活性化関数である. これを、多層パーセプトロンという.


誤差逆伝播法Ⅲ

教師データを与え, パーセプトロンの活性化関数はそのままとし, 重みのみを更新することを考える. 今、具体的な入力データ $x^{(0)} = (1, x_1^{(0)}, \cdots , x_L^{(0)})$ を与え, 中間層を $y^{(0)}= ( y_1^{(0)}, \cdots , y_M^{(0)})$, 出力を $z^{(0)}$ とする. また, 正解は $r^{(0)}$ であるとする. 誤差関数を \begin{align} E(u,v) &= \left(r^{(0)} - z^{(0)}\right)^2 \\ &=\left(r^{(0)} - g(vy^{(0)})\right)^2 \\ &=\left(r^{(0)} - g(v_0 + v_1 y_1^{(0)} + \cdots + v_M y_M^{(0)})\right)^2 \\ &=\left(r^{(0)} - g(v_0 + v_1 f_1(u_1x^{(0)}) + \cdots + v_M f_M(u_Mx^{(0)})\right)^2 \tag{4.2} \label{eq4.2} \end{align} で定義し, \eqref{eq4.2} が最小に近づくように重み $\{u_m = (u_{m0},u_{m1},\ldots,u_{mL})\}_{m=1}^M$ と $v = (v_0,v_1,\ldots,v_M)$ を決定しよう. 修正前の重みを $v$, 修正後の重みを $v + \Delta v$ とする. 確率的勾配降下法により $0 \leq m \leq M$ として, \begin{align} \Delta v_m &= - \eta \frac{\partial E}{\partial v_m} \\ &= - \eta \frac{\partial E}{\partial z} \frac{\partial z}{\partial v_m}\\ &= \eta (r^{(0)} - z^{(0)}) \hat{g}(z^{(0)})y_m^{(0)} \tag{4.3} \label{eq4.3} \end{align} となる. ただし, $y_0^{(0)} = 1$ とする. 同様に, 修正前の重みを $u$, 修正後の重みを $u + \Delta u$ とする. 確率的勾配降下法により $0 \leq m \leq M$, $0 \leq l \leq L$ として, \begin{align} \Delta u_{ml} &= - \eta \frac{\partial E}{\partial u_{ml}} \\ &= - \eta \frac{\partial E}{\partial z} \frac{\partial z}{\partial u_{ml}}\\ &= \eta (r^{(0)} - z^{(0)}) \hat{g}(z^{(0)})v_m\widehat{f_m}(y_m^{(0)})x_l^{(0)} \tag{4.4} \label{eq4.4} \end{align} となる. ただし, $x_0^{(0)} = 1$, $\widehat{f_0}(y_0^{(0)}) = 1$ とする.