機械学習と黒魔術

2次元から3次元への埋め込みをしていくブログ。

「進化計算と深層学習」まとめノート 3

第2章 ニューラルネット ー 多層パーセプトロン ー

多層パーセプトロンは、パーセプトロンの収束定理では得られなかった学習、例えば線形分離不可能なXOR関数の学習を行える。

問題設定

入力ベクトル x を第1層めとして、第 n 層における脳細胞に対応する出力値を x_n, それぞれの出力にかかる重みベクトルを w_n として、最終層の出力 ニューラルネットの予想とする。

ディープラーニングの最終目的はディープラーニングの予想 y と教師データ d 差を最小化するパラメーターを求めることである。差を測る関数は色々ある。

問題の再設定

最小化するといっても、いま最小値を取ったというためには、凸関数だとかメタな知識がない限り無限時間待つことになるので、傾きが0になるパラメーターを求めることで満足しておく。これにより最急降下法という古典的手法が使えて、重みパラメーターの傾きに沿って滑り降りるようなアルゴリズムで更新すれば良いことになる。

ノードの関数の設定

隠れ層

シグモイド関数、ReLU などの非線形関数

出力層

分類問題の場合:softmax 関数(出力を確率として扱えるので)

ただし、指数計算はマシンパワーを食うので実装しないことも

回帰問題の場合:恒等関数

 

誤差の測り方

 

出典:

1. 進化計算と深層学習 -創発する知能― 

2. ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装