ニューラルネットワーク
ニューラルネットワークは脳機能の特性を計算機上のシミュレーションにより表現することを目指した数学モデル。
もともとは、脳をモデル化することから始まったが、次第に実際の脳のモデルから乖離していったため、人口ニューラルネットワークとも言われている。
ニューラルネットワークは、教師あり学習という教師信号の入力によって、問題に対して最適化されていくものと、教師信号を必要としない教師なし学習がある。明確な回答が用意される場合には、教師あり学習が用いられ、データのクラスタリングには、教師なし学習が用いられる。(アルファ碁のような勝ち負けのための人口知能については、教師あり学習が、複数の画像に対してパターン分析をかけるような場合は、教師なし学習が使われるようなイメージかな?)
教師あり学習のアルゴリズムはバックプロパゲーションが一般的。
(ニューラルネットワーク - Wikipedia の学習方法より)
ニューラルネットワークには、幾つかの種類がある。
*自己組織化写像
*畳み込みニューラルネットワーク
*リカレントニューラルネットワーク (再帰型ニューラルネットワーク)
*確率的ニューラルネット
*スパイキングニューラルネットワーク
ニューラルネットワークでは、線形変換を施した後、非線形関数を通す仕組みがあるが、この非線形関数をアクティベーション関数(あるいは活性化関数)という。
アクティベーション関数にも、幾つかの種類がある。以前から用いられていたのはステップ関数(場合分けによりより0、1に分かれる関数)だが、他にシグモイド関数、ソフトサイン関数、ソフトプラス、ReLU(ランプ関数)などがある。
TensorFlowにおいて、softmaxという関数が出てくるが、
Neural Networkをちょっとかじった人のための、はじめてのTensorFlow - Qiita
これも、アクティベーション関数の一つ。ただし、出力層のアクティベーション関数らしい。
次に調べるもの:
* オートエンコーダー