ニューラルネットワーク

ニューラルネットワークは脳機能の特性を計算機上のシミュレーションにより表現することを目指した数学モデル。

 

もともとは、脳をモデル化することから始まったが、次第に実際の脳のモデルから乖離していったため、人口ニューラルネットワークとも言われている。

 

ニューラルネットワークは、教師あり学習という教師信号の入力によって、問題に対して最適化されていくものと、教師信号を必要としない教師なし学習がある。明確な回答が用意される場合には、教師あり学習が用いられ、データのクラスタリングには、教師なし学習が用いられる。(アルファ碁のような勝ち負けのための人口知能については、教師あり学習が、複数の画像に対してパターン分析をかけるような場合は、教師なし学習が使われるようなイメージかな?)

教師あり学習のアルゴリズムバックプロパゲーションが一般的。

ニューラルネットワーク - Wikipedia の学習方法より)

 

ニューラルネットワークには、幾つかの種類がある。

フィードフォワードニューラルネット

RBFネットワーク

*自己組織化写像

*畳み込みニューラルネットワーク

*リカレントニューラルネットワーク (再帰ニューラルネットワーク)

*確率的ニューラルネット

*スパイキングニューラルネットワーク

 

ニューラルネットワークでは、線形変換を施した後、非線形関数を通す仕組みがあるが、この非線形関数をアクティベーション関数(あるいは活性化関数)という。

 

アクティベーション関数にも、幾つかの種類がある。以前から用いられていたのはステップ関数(場合分けによりより0、1に分かれる関数)だが、他にシグモイド関数、ソフトサイン関数、ソフトプラス、ReLU(ランプ関数)などがある。

 

TensorFlowにおいて、softmaxという関数が出てくるが、

Neural Networkをちょっとかじった人のための、はじめてのTensorFlow - Qiita

これも、アクティベーション関数の一つ。ただし、出力層のアクティベーション関数らしい。

活性化関数 - Wikipedia

 

次に調べるもの:

* オートエンコーダー

バックプロパゲーション