タダです。
今回は3章のニューラルネットワークの勉強まとめです。 ※記事は理解ができるたびに何度もアップデートしていこうと思います。 www.oreilly.co.jp
目次
なお、各章の内容は次の通りです。
- 1章 Python入門
- 2章 パーセプトロン
- 3章 ニューラルネットワーク
- 4章 ニューラルネットワークの学習
- 5章 誤差逆伝播法
- 6章 学習に関するテクニック
- 7章 畳み込みニューラルネットワーク
- 8章 ディープラーニング
3章は広範な内容(個人的に)になっており、1週間で勉強しきれそうになかったので、段階的にまとめます。 また、今回から大小節ごとに勉強内容をまとめていきます。
※1/14 12:19時点では3.2までの内容です
3.1
- ニューラルネットワークの特徴は、入力層、中間層(隠れ層)、出力層で構成される
- 活性化関数(入力信号の総和を出力信号に変換する関数、式で表すとh(x))では、次の様にパーセプトロンの式に書き換え可能
- a = b +w1x1 + w2x2
- y = h(a)
- 重みつき入力信号とバイアスの総和を計算し、それをaとし、aがh()で変換されyが出力される
3.2
- ニューラルネットワークで使われる活性化関数としてシグモイド関数がある
- シグモイド関数で、信号の変換を行い、変換された信号が次のニューロンに伝えられる
- https://mathtrain.jp/sigmoid
- ステップ関数は入力値として浮動小数点数のみ扱える(出力は0か1を返す)
- ステップ関数は階段関数とも言われる
- ステップ関数とシグモイド関数を比較すると、グラフで表示した時の滑らかさに違いがある
- ステップ関数は0を境に出力の変化がある
- シグモイド関数は滑らかな曲線で表現される(入力に対して出力も連続的に変化する)
- 出力はステップ関数が0か1の値しか返さないのに対して、シグモイド関数は実数を返すという点も違う
- ニューラルネットワークでは連続的な実数値の信号が流れる
- 最近ではReLU(Reactified Linear Unit)関数が主に使われる
- 入力が0をこえていれば、その入力をそのまま出力する関数