![見出し画像](https://assets.st-note.com/production/uploads/images/7013753/rectangle_large_type_2_4fc6eecdeaa8e3c2c63f792cbce0e4a4.jpg?width=1200)
ゼロからつくるDeepLearning学習中~その2
「4章 ニューラルネットワークの学習」を勉強中です。前の章では学習済のパラメータを使って MNIST 画像を識別する処理を動作させました。この章では、「学習」を学んでいます。
損失関数
「学習」についての説明の後、ニューラルネットワークの性能の悪さを評価する「損失関数」として、2乗和誤差、交差エントロピー誤差の2つを学習しました。各々の関数の詳細は気にしなくても、「こういう関数を使って評価する」という理解だけで先に進んでも良さそうです。
評価に対数使うとコストが高いんじゃないかなぁと思いましたが、one-hot 表現だと計算省略できる部分があるからそれほどでもないのかも。
ミニバッチ学習
訓練データ全て損失関数を計算するのはコストが大きいので、一部のデータだけで評価するのがミニバッチ学習。なるほど、思ったほどたくさんの計算をする必要は無いのかもしれない。
教師データが one-hot 表現でなく、ラベルで与えられた時の処理が今一理解できていないけどとりあえず先に進むことにする。
微分 / 偏微分 / 勾配
最適解を求めるために微分を使うのは、学生のときにもやったので理解しやすかった。勾配の計算のコードは特定のパラメータだけを一時的に書き換えて最後に戻すという方法で、面白い書き方だなと思いました。
前半は流し読みの感じで進んだけど、まだ先があるようなのでこの章終わらずに週末終わってしまいました。。。
Twitter (https://twitter.com/alt_area) でも学習状況をつぶやく予定です。
ブログ (https://jade.alt-area.jp/) もリニューアルしたので、よろしくお願いします。
Note やるからには、サポートがいただけるような役立つ記事を書きたいものです。サポートは資料購入に宛てます。