MATLAB,Python,Scilab,Julia比較 第4章 その74【誤差逆伝播法①】

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

バックナンバーはこちら。
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

誤差逆伝播法

太郎くん
太郎くん

非線形分類は単純パーセプトロンじゃなくて多層パーセプトロンが必要で、
無理やり数式で表現すると結構やべぇってのが前回の話だね。

フクさん
フクさん

そして、ちゃんと分類するためには学習が必要。

太郎くん
太郎くん

あ、そういえば。
適切な重みパラメータを特定しないといけないのか。

フクさん
フクさん

そこで出てくるのが誤差逆伝播法。

太郎くん
太郎くん

単純パーセプトロンの時は意図的に「逆伝播」って言い方をしていたところか。

フクさん
フクさん

そうそう。
多層パーセプトロンことニューラルネットワークになってからは、名実ともに「誤差逆伝播法」と呼べる。

逆伝播と誤差逆伝播法の差分

太郎くん
太郎くん

でも、単純パーセプトロンのときと、今回の多層パーセプトロンの誤差逆伝播法って何か差分があるの?
基本的には一緒な気がするけど?

フクさん
フクさん

うん。
基本的には一緒。
問題は、更新する重みが複数のユニット、複数の層に渡っているところだな。
1層あたりの複数のユニットに対しては、ベクトル演算の都合であまり問題にはならないが、
多層に渡ってる方が大問題だな。

太郎くん
太郎くん

多層になってるから、単純に連鎖律が長くなる程度だと思ってたんだけど、違う感じ?

フクさん
フクさん

隠れ層の重みだけを見るとその通りなのだけど、
出力層の重みも求める必要がある。

太郎くん
太郎くん

うーん、言いたいことわからん・・・。

フクさん
フクさん

まぁ、連鎖律を使用して重みの更新方向が決まる点はかわらないから、
実際にそれぞれの連鎖律を求めるのを見た方が早いな。

太郎くん
太郎くん

それぞれの連鎖律?
つまりいろんなパターンが出てくるってこと?

フクさん
フクさん

そうそう。
つまり、メンドクサクなっただけと思えばOKだな。

太郎くん
太郎くん

(大問題ぢゃねぇか・・・。)

連鎖律を求める方針

フクさん
フクさん

とりあえず、それぞれの連鎖律を求める流れを決めておこう。
以下を想定している。

  • 誤差逆伝播法の全体像の確認
  • 出力層の重みとバイアスを求める誤差からの連鎖律
  • 隠れ層の重みとバイアスを求める誤差からの連鎖律
  • 上記をプログラミングするための最適化
太郎くん
太郎くん

なんかいろいろ面倒そうだな・・・。

フクさん
フクさん

一個一個は単純パーセプトロンの時と変わらないな。
ただ、数が多いから混乱しやすい。
ここは慣れるしかないな。

まとめ

フクさん
フクさん

まとめだよ。

  • 多層パーセプトロンの重みを決定するための誤差逆伝播法が必要。
  • 多層に渡っているため、少しメンドウクサイ。
  • 各層の連鎖律を求め、その後結合させたり、プログラミング向けに最適化したりしていく予定。

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

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をコピーしました