ディープラーニングの概要と学習の仕組みについて。
目次
AI・ディープラーニングの全体像
- 人工知能
- 機械学習
- ディープラーニングの基本・応用
- ディープラーニングの研究
- AIプロジェクト
- AI社会実装に伴う法律・倫理
ニューラルネットワークの学習プロセス
概要
- ニューラルネットワークの学習の目標→出力データ(予測結果)と正解ラベルとの誤差を最小化すること
- 各隠れ層の重みを繰り返し調整し、”予測の誤差”を最小化するようなモデルのパラメータ(重みなど)の値を模索する
勾配降下法 | 重みの値を最適化する方法 |
---|---|
誤差逆伝播法 | 重みを更新していくために必要な誤差情報をネットワークの中で伝達する方法 |
勾配降下法
- 出力データと正解ラベルとの間の誤差を定量的に表現する→「損失関数(Loss Function)」(誤差関数、ロス関数)
- 損失関数は、予測値と正解が近いほど小さくなっていく
- 最も小さい誤差となるパラメータの組み合わせ→「最適解」
- 損失関数を最小化するよう、ネットワークのパラメータを更新していく
- 損失関数の変化量を調べるために微分を用いて、パラメータ設定値における接線の傾きを求め、誤差が減る方向(=損失関数の傾きが負の方向)に重みの値を更新していくことを繰り返していく
- 「勾配降下法(Gradient Descent)」というアルゴリズムによって最適解を見つけていく
- 損失関数の傾き▽L(w)が0に近づくような重み(w)の組み合わせを求め、重みの値を更新する
※▽L:損失関数Lをパラメータwで偏微分した勾配値
※w:パラメータ(重み) - 「学習率」を適切な値に設定する
- 学習率の設定値が適切でない場合、真の最適解である「大域最適解」ではなく、特定区間での極小点である「局所最適解」に陥ってしまうリスクがある
- 各回のパラメータ更新を、1回の「イテレーション(Iteration)」と呼ぶ
- パラメータ(重み、バイアス)を初期化する
- 学習データを入力層から入力し、ネットワークの中を入力層から出力層の方向に、各層で重みを乗じながら伝播させる
- 出力層から予測結果を出力してみる
- 出力結果と正解との間の誤差を示す「損失関数」を算出する
- 誤差が小さくなるよう、「勾配降下法」を用いて、パラメータを更新する
- 「最適解」に到達するため繰り返す
誤差逆伝播法
- 「順伝播(Forward Propagation;フォワード・プロパゲーション)」→入力層にデータを入れ、各層で重みを乗じつつ、出力層の方向にデータを伝播させていく
- 「誤差逆伝播(Back Propagation;バック・プロパゲーション)」→誤差については逆方向に伝播させ、出力層から入力側に向けて伝播していき、重みの更新も出力側に近い層から行っていく
- 問題①「勾配消失問題」→ネットワークが深くなるにつれ、重みの更新に必要な情報がうまく伝播できなくなってしまう問題
- 問題②「局所最適解問題」→最適化が失敗し、局所最適解(偽物の最小点)に陥ってしまう問題