ニューラルネットワークを用いた手書き文字認識がわかりやすいので、
最初〜勾配降下法を用いた学習までの個人的なメモを作成しました。
不理解により内容が異なっていることがあるかもしれません。
これをきっかけに上記サイトを見ていただければ幸いです。
##パーセプトロンとシグモイドニューロン
パーセプトロンは、複数の二進数を入力に取り、一つの二進数を出力する。
シグモイドニューロンは、複数の0から1の間のあらゆる値を入力に取り、一つの0から1の間の値を出力する。
パーセプトロンはNANDゲートを実装できる。
NANDゲートさえあればどんな計算でも構成できるから、パーセプトロンのネットワークさえあれば任意の論理関数を計算できる。
また学習アルゴリズムを使えば、従来の論理ゲートでは難しい問題も解ける。
パーセプトロンは出力が0か1のため、どちらかであるということしか表現できない。それにより、誤った学習が行われると、結果が反転し、ネットワーク内に大きな影響を与えてしまう。
シグモイドニューロンであれば、0.5という値も出力できるため、それによるルール設定により上記の影響を少なくできる。
##勾配降下法と確率的勾配降下法
ニューラルネットワーク訓練の測定のコスト関数を作成する。
上記のコスト関数は重みとバイアスの関数の最小化を行うことにより成績がよくなる。
勾配降下法は、傾き(勾配)を計算し、傾き(勾配)が負になる方向に変数を変化させる方法である。
勾配降下法は、殆どの場合、重みとバイアスの非常に強力な最小化手段であり、ネットワークの訓練に大いに役に立つ。
確率的勾配降下法は、学習の高速化のアイデアの一つである。
無作為に抽出した小さな標本を計算し、元の勾配を推測するものである。