ゼロから作るdeep learningを勉強しています。
ここでは、頻出用語の説明と、理解が難しかった部分の要約を載せています。特に機械学習・深層学習に全く触れてなくてなにもかもこれから始めるという人はぜひこの記事を読んで活用していただけたらと思います。
コード上での頻出用語
init
・・・初期化を行うメソッド。別名コンストラクタとも呼ばれる。パラメータの重みの初期値などを設定する際にこの初期値を用いる。
hidden_size
・・・隠れ層(全結合)のニューロンの数
output_size
・・・出力層(全結合)のニューロンの数
iters_num
・・・勾配法による更新の回数。繰り返し(iteration)の回数のことである。例えば、更新の回数を10000回に設定すると、訓練データに対し損失関数の計算が行われ、その都度(1万回)勾配法よるパラメータの更新が行われる。
gradient
・・・勾配。主に損失関数を求めるための数値微分(numerical_gradient)と誤差逆伝播法(gradient)の関数を作成する際に使う。grads
と略されることも多いので注意が必要。
optimizer
・・・最適化。効率良く勾配を求めるアルゴリズムを設定する際に使用する変数。SGD、AdaGrad、Adamなどを実装する際には、この変数に格納する。
Batch
・・・バッチ。主に1度の学習で使用する学習データのまとまりのことである。この1度で使用される学習データの個数をバッチサイズという。
epoch(iter_per_epoch)
・・・単位の一つ。全ての学習データを使い切った際にカウントされる単位である。例えば、50000個のデータを使用する時、500個のバッチで学習を行った場合、最大で(50000÷500 = )100
回、損失関数の訂正が行われる。この時、100回=1エポックとなる。
forward
・・・順伝播を行う関数。誤差逆伝播法(5章)の学習で頻出。
backward
・・・逆伝播を行う関数。
頻出ではないが、抑えておくべき用語
weight decay
・・・荷重減衰。学習の過程において、大きな重みを持つことに対してペナルティを課すこと絵、過学習を抑制するためのもの。
weight_init_std
・・・初期化の際の重みの標準偏差。
conv_param
・・・畳み込み層のハイパーパラメータ。終盤から頻出。