用語集 · 機械学習
ニューラルネットワーク
別名:Neural network、artificial neural network、deep learning、weights、ニューラルネット、人工ニューラルネットワーク、深層学習、ディープラーニング、重み
単純なユニットを層状に重ねて作った関数。各ユニットは入力に学習済みの重みを掛けて足し合わせ、その結果を非線形関数に通します。
ニューラルネットワークは、重みと呼ばれる調整可能な数値をたくさん持つ柔軟な関数です。重みが十分にあり、その値が適切なら、入力から出力へのほとんどどんな対応でも近似できます。学習とは、その値を探すことです。
1つの層
各層は入力ベクトル を受け取り、重み行列 を掛け、バイアスベクトル を足し、各要素に単純な非線形関数 を適用します。
層を積み重ねると、深いネットワークになります。非線形関数がなければ、積み重ねた層は1回の行列の掛け算にまとまってしまい、直線的な(線形の)関係しか学べません。
活性化関数
のよくある選択肢は次のとおりです。
| 名前 | 式 |
|---|---|
| ReLU | |
| tanh | |
| ELU | なら 、そうでなければ |
学習
ネットワークの誤差は損失関数で測ります。誤差逆伝播法は連鎖律を使って、各重みが誤差にどれだけ寄与したかを計算し、勾配を求めます。そして勾配降下法で、誤差が減るようにすべての重みを少しずつ動かします。これを何百万回も繰り返します。
このプロジェクトでは
このプロジェクトのネットワークは、今の基準では小さなものです。各方策(ポリシー)は、256ユニットの隠れ層2つと ELU 活性化を持つMLPで、重みは約125,000個です。大規模言語モデルには数千億個あります。身体の状態をモーターの補正量に対応させるには小さなネットワークで十分で、CPU 上で1秒に50回、高速に動きます。