2023-01-01から1年間の記事一覧

「ゼロから作るDeepLearning」で気づいたこと(その4)

5.5.2 Sigmoid レイヤについて 合成関数の微分を利用したほうが理解しやすかったのでメモしておきます。 Lを損失関数とする。 ◎ステップ1 α(i) = 1+exp(-x) とすると、 y = 1/α(i) ∂L/∂α(i) = (∂L/∂y )(∂y/∂α(i)) ∂y/∂α(i) = - 1/α(i)^2 = -(1/α(i))^2 = -y^…

「ゼロから作るDeepLearning」で気づいたこと(その3)

4.3.2 数値微分の例 gradient_1d.pyの以下の関数について def tangent_line(f, x): d = numerical_diff(f, x) print(d) y = f(x) - d*x return lambda t: d*t + y y=f(x) - d*x dは傾きなので、d*xは、接線のx=0つまりf(0)から座標xでのf(x)の差、つまりf(…

「ゼロから作るDeepLearning」で気づいたこと(その2)

4.2.4 [バッチ対応版]交差エントロピー誤差の実装 cross_entropy_error(y, t)関数において 以下のくだりがある。 if y.ndim == 1: t = t.reshape(1, t.size) y = y.reshape(1, y.size) yが1次元なのになぜこんなことをと思ったのですが、これはyを2次元に…

「ゼロから作るDeepLearning」で気づいたこと

3.6.3 バッチ処理 以下の計算過程をもう少し詳しく記述してみた。 図 3-27 バッチ処理における配列の形状の推移 ここで、 W1、W2、W3での行列の演算結果をそれぞれ、a1、a2、a3とすると、 a1 = X・W1 ⇒ 100(行)×50(列) 従って、 W1とW2の間の演算は a2 = a1・W…