【ゼロから作るDeep Learning】要点まとめ 第4章, 第5章
4章 - ニューラルネットワークの精度を高めるためには
損失関数
- ニューラルネットワークで出力された結果に対して、損失関数を使ってニューラルネットワークの精度の悪さを求める。
- 損失関数の引数は、ニューラルネットワークの出力結果と、正解ラベル(教師データ)
- 二乗和誤差
- 交差エントロピー誤差
- たくさんのデータの中から無作為に幾つか抽出して損失関数に入れ込むのをミニバッチという。
- 損失関数の結果が最小になるようなパラメータを探すことで、精度を高めることができる。
勾配法
- 微分 = ある関数でのパラメータの変化の様子
- 偏微分 = 引数が複数ある関数での1つの引数の微分のことを示す
- 勾配 = 偏微分をベクトル(一次元配列)で示したもの。勾配が示す方向は、各場所において関数の値を最も減らす方向
- 損失関数の結果を最小にするには、勾配法(学習率を使って決められたステップ数、重みパラメータの初期値から勾配を引いて更新していく。)を使用する。
- 上記のような学習を最急降下法(SGD)という
- 勾配法で使用する学習率はハイパーパラメータといい、唯一人間が与える必要があるもの(重みパラメータは勾配法を使用して自動的に更新される想定)
5章 - 誤差逆伝播法
順伝播(Affine)で解いた結果から、逆の方向から各隠れ層の微分を求めることで、 重みパラメータの勾配を高速に求めることができる。
誤差逆伝播法を使用するには以下の組み合わせが必要。 - 分類問題では出力層でソフトマックス関数、損失関数に交差エントロピー誤差を使用する。 - 回帰問題では出力層で恒等関数、損失関数に二乗和誤差を使用する。