「ゼロから作るDeep Leaning」3章:ニューラルネットワーク

2017年11月8日

ゼロから作るDeep Leaning」の「3章:ニューラルネットワーク」について簡単にまとめます。
パーセプトロンの説明を軽くしてから、ニューラルネットワークの説明に入ります。

パーセプトロン

上図はx1とx2の2つの入力信号を受け取り、yを出力するパーセプトロン。これを数式で表すと、以下のように表される。

bは「バイアス」というパラメーターで、ニューロンの発火のしやすさをコントロールする。値が小さければ小さいほど発火しにくいということになる。一方、w1とw2は各信号の「重み」を表すパラメーターで、各信号の重要性をコントロールする。値が大きければ大きいほど各信号の重要性が高いとうことになる。

各信号の値が0を超えると発火する。すなわち、0を超えたら1を出力し、超えなければ0を出力する。

活性化関数

パーセプトロンの数式をもう少しわかりやすくすると、上記のように表せる。
ここで登場したh(x)という関数が活性化関数である。入力信号を0か1という出力信号に変換している。

もう少し噛み砕くと、以下のように表せる。

一つの入力信号からの総和をaとして計算し、その後、活性化関数h(a)で変換し、yとして出力している。

図で表すと以下の通りである。

活性化関数は数種類存在し、ある閾値を堺に値が変換される活性化関数を「ステップ関数」という。

パーセプトロンは、活性化関数にステップ関数を使用しているということができるのである。

一方、ニューラルネットワークでは、主にシグモイド関数ReLU関数が使用される。

シグモイド関数とReLU関数

シグモイド関数

ReLu関数

3層ニューラルネットワーク

最後の出力層の活性化関数には、主に、ソフトマックス関数恒等関数を使用する。ソフトマックス関数の特徴は、出力の総和が必ず1になるということである。この性質のおかげで、ソフトマックス関数の出力をそのまま確率として用いることができる。

回帰問題では恒等関数、分類問題ではソフトマックス関数を用いると覚えておけば良い。

まとめ

■ニューラルネットワークでは、活性化関数にシグモイド関数やReLU関数を使用する。滑らかに変化することで、出力が0か1だけのステップ関数よりも表現力が上がる。
■出力層で使用する活性関数は、回帰問題では恒等関数、分類問題ではソフトマックス関数を使用する。
■分類問題では、出力層のニューロンの数を分類するクラス数に設定する。
■バッチ単位で推論処理を行うと、効率良く計算を行うことができる。


PAGE TOP