MATLAB,Python,Scilab,Julia比較 第4章 その50【逆伝播①】

MATLAB,Python,Scilab,Julia比較 第4章 その50【逆伝播①】 数値計算
MATLAB,Python,Scilab,Julia比較 第4章 その50【逆伝播①】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia4-backnumber/

はじめに

単純パーセプトロンに対する逆伝播についての話。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

【再掲】勾配降下法の確認プログラムのフロー

フクさん
フクさん

前回までで、連鎖律や勾配降下法についての説明が終わったところだ。

太郎くん
太郎くん

で、今回からは誤差逆伝播法についての話になるのかな?

フクさん
フクさん

そうなのだけど、
ここで一度、用語についての厳密性を確認しておこう。

太郎くん
太郎くん

厳密性?

フクさん
フクさん

まず誤差逆伝播法は、単純パーセプトロンに使用される言葉ではなく、
多層パーセプトロンことニューラルネットワークに使用される言葉になる。

太郎くん
太郎くん

つまり、単純パーセプトロンでは誤差逆伝播法は使用できない?

フクさん
フクさん

使用できないことは無い。
これは歴史的な話と技術的な話が混じってて少しややこしいのだが、
技術的には単純パーセプトロンに誤差逆伝播法は適用不可。
理由は、活性化関数がヘヴィサイド関数であり、誤差に勾配が発生し合いから。
しかし、活性化関数をシグモイド関数に置き換えると、誤差に勾配が発生するから適用可能となる。
歴史的には、誤差逆伝播法を適用したのは多層パーセプトロン以降。

太郎くん
太郎くん

ややこしいことになってるけど、
僕たちがやるのは単純パーセプトロンで活性化関数はヘヴィサイド関数からシグモイド関数に差し替えてる。
だから、誤差逆伝播法は可能。
でも、そういった事例はあんまりないから、これを誤差逆伝播法と呼んで良いかはわからん。
って感じ?

フクさん
フクさん

まぁ、そういうことだな。
というわけで、ここでは、誤差逆伝播法と呼ばずに
「逆伝播」という名称で呼ぼうと思う。

太郎くん
太郎くん

なるほど。
「誤差逆伝播法」という言い方にすると偉い人に怒られそうだもんね。

フクさん
フクさん

単純パーセプトロンの活性化関数をシグモイド関数にしてる段階で怒られそうなんだけどね・・・。

太郎くん
太郎くん

マジかよ・・・。

逆伝播を加味した単純パーセプトロンの構成

フクさん
フクさん

逆伝播を行うにあたって、構成を示しておこう。
以下の図になる。

逆伝播を想定した単純パーセプトロンの構成、誤差関数は二乗和誤差(SSE:Sum of Squared Error)を1/2したものを使用。1/2にしておくと微分時に消えるので便利、x1、x2、×w1、×w2、+b、A、Y、E=1/2∑_{i=1}^n(A-Y)^2
太郎くん
太郎くん

そうか。
誤差逆伝播を想定すると、誤差関数も含めて考える必要があるのか。

フクさん
フクさん

そうそう。
誤差関数は二乗和誤差関数(SSE:Sum of Squared Error)を1/2したものを使用する。

太郎くん
太郎くん

なぜに1/2にするんだ?

フクさん
フクさん

微分すると2乗が前に落ちて、2倍される。
そうすると1/2と相殺されて数式がシンプルになるという効能があるな。
おおよそ以下のイメージだ。

\(
\begin{eqnarray}
f(x)&=&(A-Y)^2=A^2-2AY+Y^2\\
\displaystyle \frac{1}{2}\frac{\partial f(x)}{\partial A}&=&\frac{1}{2}\frac{\partial(A^2-2AY+Y^2)}{\partial A}\\
&=&\frac{1}{2}(2A-2Y)=A-Y
\end{eqnarray}
\)

太郎くん
太郎くん

おー!
確かにシンプルになる!

フクさん
フクさん

次回からは、これをベースに逆伝播をやっていく。

まとめ

フクさん
フクさん

まとめだよ。

  • 誤差逆伝播法とか単純パーセプトロンに関連する用語を確認。
    • 様々な都合で、単純パーセプトロンに対する誤差逆伝播法を「逆伝播」と呼称することに。
  • 逆伝播を行う単純パーセプトロンの構成を確認。
    • 誤差関数は二乗和誤差関数を1/2にしたもの。
      • 1/2により微分後の数式がシンプルになる。

バックナンバーはこちら。

Pythonで動かして学ぶ!あたらしい線形代数の教科書

Amazon.co.jp: Pythonで動かして学ぶ!あたらしい線形代数の教科書 eBook : かくあき: Kindleストア
Amazon.co.jp: Pythonで動かして学ぶ!あたらしい線形代数の教科書 eBook : かくあき: Kindleストア

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 | 斎藤 康毅 |本 | 通販 | Amazon
Amazonで斎藤 康毅のゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装。アマゾンならポイント還元本が多数。斎藤 康毅作品ほか、お急ぎ便対象商品は当日お届けも可能。またゼロから作るDeep Lea...

ゼロからはじめるPID制御

ゼロからはじめるPID制御 | 熊谷 英樹 |本 | 通販 | Amazon
Amazonで熊谷 英樹のゼロからはじめるPID制御。アマゾンならポイント還元本が多数。熊谷 英樹作品ほか、お急ぎ便対象商品は当日お届けも可能。またゼロからはじめるPID制御もアマゾン配送商品なら通常配送無料。

OpenCVによる画像処理入門

OpenCVによる画像処理入門 改訂第3版 (KS情報科学専門書) | 小枝 正直, 上田 悦子, 中村 恭之 |本 | 通販 | Amazon
Amazonで小枝 正直, 上田 悦子, 中村 恭之のOpenCVによる画像処理入門 改訂第3版 (KS情報科学専門書)。アマゾンならポイント還元本が多数。小枝 正直, 上田 悦子, 中村 恭之作品ほか、お急ぎ便対象商品は当日お届けも可能。...

恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門]

恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門] | 金城俊哉 | 数学 | Kindleストア | Amazon
Amazonで金城俊哉の恋する統計学 恋する統計学。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

Pythonによる制御工学入門

Amazon.co.jp

理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析

Amazon.co.jp

コメント

タイトルとURLをコピーしました