脳はステップ関数か
「脳神経はステップ関数だからニューラルネットではシグモイドを使う」という考えが正しいかどうかについて。
しかしそれから70年も経っている。1999年に書かれた銅谷 賢治先生の講義ノートでは以下のように整理されている。 (1) 発火率表現 (rate coding)、 (2) タイミング表現 (temporal coding) の2つが考えられる。 一次感覚ニューロン、一次運動ニューロンなどでは、発火周波数が、光の強さや筋肉の張力といった物理量と一意に対応している。また、一定刺激だとスパイク間隔 (ISI、 inter-spike interval) もほぼ一定である。
発火タイミングに情報があるとする temporal coding (タイミング表現) の考え方...実験事実としては、たとえば視覚野の同期発火が見られるといったものがある。
発火率表現
スパイクの発火率が、情報をコードしていると考えられるもの
要素表現
組み合わせ表現
ポピュレーション表現
空間パターン表現
また上記の様々な表現法で、集団のうち実際に活動している細胞の率は低く抑えられた「スパースな表現」が取られているという説も、実験的、モデル的に支持されている。 タイミング表現
発火率表現においては神経スパイクの頻度を時間的、空間的に適当な範囲で平均した値に着目し、各スパイクがミリ秒のオーダーで出されるタイミングは問題にしない。しかし、そのような微妙なタイミングにこそ豊富な情報が反映されているという立場もある。
時間差表現
同期表現
発火パターン表現
シナプス可塑性
というわけで「脳神経はステップ関数」という考えは知識が20年近くアップデートされていない。
また「シグモイドを使う」は1986年に発表されたものだが、2018年現在はこう考えられている:
2011年、Xavier Glorot らは隠れ層の活性化関数として max(0, x) を使った方が tanh やソフトプラスよりも改善するということを発表した。...ニューラルネットワークの世界では ReLU (英: Rectified Linear Unit, Rectifier, 正規化線形関数)と呼ばれる。Yann LeCun やジェフリー・ヒントンらが雑誌ネイチャーに書いた論文では、2015年5月現在これが最善であるとしている。
なお「2015年5月現在これが最善であるとしている」は解釈で、事実としては2012年の畳み込みニューラルネットワークにおける大成功(ImageNet Classification with Deep Convolutional Neural Networks)の要因としてReLUを挙げている。 This success came from the efficient use of GPUs, ReLUs, a new regularization technique called dropout, and techniques to generate more training examples by deforming the existing ones.
つまり「脳神経はステップ関数だからニューラルネットではシグモイドを使う」は2018年現在、前半も後半も正しくない。