CNNへの道のり(6)
パーセプトロンの学習アルゴリズムの代表的なものは、所望の出力と現在の出力の差が減る方向に重みを更新する勾配降下法である。アルゴリズムを規定するため、出力の差を次の関数Eで定義する。
E = (1/2)(y-yi)^2
ここで、yは所望の出力、yiはi回目の出力である。これら出力の差を2乗し、係数1/2をかける。この係数の意味は、Eを微分したとき、係数が1になるように設定した基本テクニックである。
このとき、Eの重みwによる偏微分∂E/∂wの値を考える。Eは0になればよいので、もしEが増加関数ならwはマイナスの方向に、Eが減少関数ならwはプラスの方向に動けばよい。よって、偏微分値を使った次の更新でよくなる。
wi = wi - ∂E/∂w
ここで、wiはi回目の重みベクトルである。これでよさそうなものの、∂E/∂wが大き過ぎるとうまくいかない場合があるので、学習率と称する小さな係数ρを導入し、次のようにする。
wi = wi - ρ(∂E/∂w)
ρは1より小さい正の実数で、小さいほど精度は向上するが計算時間がかかるので、適当な値を選定する。
| 固定リンク
コメント