ディープラーニングの基本 - G検定の勉強ノート
G検定 2020#2 受験時の勉強ノートの全部で5ページのうちの3ページ目です。
- 勉強ノート
- 合格体験記
※ノートを書く過程で覚えたものが多く、実際の試験中にノートを参照することは少なかったです。
※各キーワードの詳細はわからなくてもなんのことかをイメージしている程度のものも多いです。
※受験後の復習で加筆した部分も多いです。
誤差逆伝播法
積層オートエンコーダによる事前学習
- 誤差が反映されないという問題の解決
- GoogleのGeoffrey Hinton(ジェフリー=ヒントン)が考案
- オートエンコーダ(autoencoder、自己符号化器)
- 積層オートエンコーダ(stacked autoencoder)
- 積層オートエンコーダによる事前学習とファインチューニング
- 積層オートエンコーダを事前に学習しておいてから最後に出力層を付け足したディープニューラルネットワークの学習(ファインチューニング)をする
活性化関数
- ステップ関数
- 単純パーセプトロンの出力層でよく使われていた
- ソフトマックス関数
- 出力層で総和が1になる確率的な解釈が可能
- シグモイド関数
- 中間層でかつてよく使われていた
- tanh(双曲線正接関数)
- ReLU(Rectified Linear Unit、正規化線形関数)
- Leaky ReLU
- は0.01など小さい値
- Parametric ReLU
- Leaky ReLUの も学習で最適化する手法
- Randomized ReLU
- Leaky ReLUの をランダムに試す手法
勾配降下法
- 問題点
- 局所最適解 vs 大域最適解
- 学習率の調整
- 鞍点
- プラトー
- 改善策
- 勾配降下法のアルゴリズム一覧のメモ
オーバーフィッティング(overfitting)の対策
- ドロップアウト
- エポックごとに全結合層から一部のニューロンをランダムに除外
- アンサンブル学習とも言える
- early stopping
- テストデータに対する誤差関数が大きくなり始めるところで学習を止める
- Beautiful FREE LUNCH by ジェフリー=ヒントン
正規化
- 入力データの正規化
- 手法
- 0から1の範囲に変換
- 平均を0、分散を1 (標準化)
- 各特徴量を無相関化 (白色化)
- 手法
- 重みの初期値
- 一様分布または正規分布に従う乱数を使うことが多かった
- ディープニューラルネットワークではうまくいかないケースが多い
- ネットワークの大きさに合わせた係数をかけることが必要
- 活性化関数:シグモイド関数
- Xavierの初期値
- 活性化関数:ReLU関数
- Heの初期値
- 一様分布または正規分布に従う乱数を使うことが多かった
- バッチ正規化
- 各層のデータを層ごとに活性化関数の前に正規化
- 利点
- 学習がうまくいきやすい
- オーバーフィッティングしにくくなる
フレームワーク
- DistBelief
- Googleが開発
- Tensorflowの前身
- Tensorflow
- Googleが開発
- Keras
- Googleが開発
- Chainer
- Preffered Networks社が開発
- 2019年 PyTorchに移行
- PyTorch
- Facebookが開発
その他の用語
- バッチ学習
- バッチサイズを教師データ全体とする
- オンライン学習
- バッチサイズを1とする
- ミニバッチ学習
- バッチ学習とオンライン学習の中間
- 5万枚の画像を100枚ずつ処理するならば
- バッチサイズは100
- 500イテレーションで1エポックと数える
- 内部共変量シフト
- ディープラーニングにおいてある層の入力がそれより下層の学習が進むにつれて変化してしまうこと
- これにより学習が止まってしまうことがある
- ハイパーパラメータのチューニング
- 蒸留
- 大きなニューラルネットワークの出力を教師データにし、より小さなネットワークを学習させること
- 過学習を緩和できる
- 深層信念ネットワーク
- GoogleのGeoffrey Hinton(ジェフリー=ヒントン)が考案
- 制限付きボルツマンマシンで事前学習
- MAML (Model-Agnostic Meta-Learning)