stage3day1section4-5
Section4:勾配降下法
勾配降下法のミッション
誤差関数を最小にするwやbを見つけること
種類は3つある
・勾配降下法
・確率的勾配降下法 データの一部のみを使って学習する
・ミニバッチ勾配降下法
確認テスト
答え
学習率
大きすぎると、底を見つけられず発散してしまうリスクが有る
小さすぎると、極小値で正解と考えてしまい、真の正解までたどり着けない
→学習率を適切な値にする必要がある。
勾配降下法のアルゴリズムとしてAdamがよく使われる
<画像の場合>
1クラスあたり1000〜5000枚くらいだと良い結果が得られる。
<自然言語のモデル>
wikipediaの全データを使って100〜1000エポック回すと結果でる
確認テスト
オンライン学習とは学習データが入ってくるたびに、都度パラメータを更新しながら学習を進めていく方法。バッチ学習とは、一度に全ての学習データを使ってパラメータ学習を行う。
*バッチ学習は全部のデータが揃っていないといけないし、全部のデータを処理すると負荷も高いので使いづらい。オンラインがよく使われる。
ミニバッチ勾配降下法
オンライン学習の特徴をうまくバッチ学習で使えるようにしたもの
小分けにして実行
・例えば1万枚の画像を256枚ずつとかに分けて学習させていく方法
・確率的勾配法のメリットはそのままで、計算機の計算資源を有効活用できる
- CPUを利用したスレッド並列化
- GPUを利用したSIMD(Single Instruction Multi Data)並列化
・ミニバッチ毎で並列で計算
・現在の計算機で1つができる処理速度は限界に達している
⇒ 同時並行でたくさんのことをやるしかない
確認テスト
答え
エポックであるtからt+1になるたびに
重みwtからwt+1が更新される
実装演習
確率的勾配降下法
Section5:誤差逆伝播法
誤差勾配の計算
数値微分が使われるが、計算量が多い
その解決策として誤差逆伝播法が使われる
微分の連鎖律
→
最終的な値を導く1つ前の計算で、
係数の値を再利用できる、つまり
一回計算した値を後ろ側(入力に近い方)で再利用できる。
計算量が少なくて済む
確認テスト
答え
確認テスト
答え
実装演習
誤差逆伝播法