パーセプトロンの真の姿

<!--
Since : 2021/07/12
Update: 2021/11/22
-->

# パーセプトロンの真の姿

人工ニューラルネットワーク，機械学習もしくは人工知能の書籍や講義，講演などで，「パーセプトロンは線形分離不可能な問題を解けないというMinskyとPaperの指摘によりニューラルネットワークは冬の時代を迎えた」とよく言われます．あまりにも当たり前のように書いてあるため，私達は疑いを持つことなく信じていますが本当にそうなのでしょうか？疑問に思いパーセプトロンの発明者であるRosenblattの論文(Rosenblatt, 1958)を読むと，そこには私達がよく知るパーセプトロンとは別のニューラルネットワークが書かれていました．

## みんながよく知るパーセプトロン

書籍，講義資料，インターネットのコンテンツ等では，パーセプトロンについて大抵次のようなことが書かれています．詳しいことは読者の手元にある適当な資料を参考にしてください．

- 入力層と出力層の2層で構成される．
- 入力層に複数のニューロンがあり，出力層にニューロン1個がある．
- 入力層と出力層は全結合している．
- 入力層から出力層はフィードフォワード接続している．
- 出力が間違いのとき，重みベクトルに対し入力ベクトルを加算もしくは減算する．
- XOR問題が解けない（線形分離不可能な問題が解けない）．
- MinskyとPapertによるパーセプトロンが線形分離不可能な問題が解けない点の指摘（もしくはMinskyとPapertによるパーセプトロンの批判）のため，ニューラルネットワークの冬の時代が来た．

## Rosenblatt 1958のパーセプトロン

Rosenblatt 1958に書かれているパーセプトロンは次の特徴があります．

- 4層構造である（simple perceptronは3層）．
- ランダム接続をしている．
- 抑制性接続がある．
- 受容野構造がある．
- フィードバック接続（再帰構造）がある．

私が知っているパーセプトロンとは大きく異なります．詳しく見ていきましょう．

### パーセプトロンの構造

パーセプトロンは，図で示すように，入力層1層(sensory units)，中間層2層(association units)，出力層1層(responses)で構成されます．特徴は層間にランダム接続があるところです．しかし，この4層のパーセプトロンは以後登場しません．大抵の場合，議論されるのは次に説明するRosenblatt 1958でsimple パーセプトロンとして提案されている3層のパーセプトロンです．

![パーセプトロン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190459/613029fe-6f1d-d0be-0d18-79cde5e60b5d.png)

### simple perceptronの構造

Rosenblatt 1958では，図のようにSensory receptor on projection area (S-units)，Association units (A-units)，Response (R-units)で構成されるパーセプトロンをsimple perceptronとして提案しています．現代的に言えば，S-unitsは入力層，A-unitsは中間層，R-unitsは出力層になります．この記事では，以後，特に言及がない限り3層構造のパーセプトロンに関することだと思ってください．また，S-unitsを入力層，A-unitsを中間層，R-unitsを出力層と呼ぶことにします．パーセプトロンを構成するニューロンは全か無かの法則に基づいた応答をします．

![simple_パーセプトロン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/190459/f6e1adac-9f79-c569-bc42-77792bb01da9.png)

パーセプトロンの構造はどのように説明されてきたのでしょうか．河野1962では3層のものはsimple perceptronと紹介されています．一方で，Rosenblattの著書Principles of Neurodynamicsで扱うパーセプトロンは基本的に3層です (Rosenblatt, 1959)．MiskyとPapertの著書perceptronsでも3層のパーセプトロンを扱っています (Minsky and Papert, 1969)．von Der Malsburg[^1]も3層が基本のモデルであると述べています (ven der Malsburg, 1986)．麻生 1988もパーセプトロンは3層と説明しています．Bishopは著書で，パーセプトロンは3層であると明記していません (Bishop, 1995)．しかし，Rossenblattは性能改善のため，入力を変換する層を使ったと記述しています (p. 98)．Bishopのパーセプトロンの図でも，simple パーセプトロンと同様に，入力層，中間層，出力層の3層構造をしています(Bishop, 1995)．このように，かつては3層構造がパーセプトロンの標準的な構造であったようです．しかし，いつ2層構造がパーセプトロンの標準となったのか良くわかりません．

麻生は著書で，パーセプトロンの学習は中間層と出力層でのみ行われるので，学習の説明は2層のパーセプトロンを使って行っています (麻生, 1988)．確かに，パーセプトロンでは，入力層と中間層の接続はデータの前処理で，学習は中間層と出力層の2層間のみで起こります．そう考えれば，学習にのみ興味があれば3層ではなく2層のパーセプトロンの説明で十分でしょう．ですから，時代を経て学習のみ着目されていきパーセプトロンは2層が標準になったのではないかと，今ところ私は考えています．しかし，なぜ2層になったかについては，もっとサーベイしてからでないと結論は出せないですね．

[^1]: von der Malsburgは，自己組織化マップを提案した研究者です．

### ランダム接続

ランダム接続は，パーセプトロンに線形分離不可能な問題を解く可能性を与えます．線形識別可能とは，直線（平面）で入力を適切に分けられることを言います．このような問題は線形分離不可能と言われます．我々が知っている通り，2層のパーセプトロンでは線形分離不可能な問題は解けません．入力層と中間層のランダム接続は入力を変換する機能を持っています．そのランダム接続によりデータが都合よく変換されたとすると，平面により分離可能となるかもしれません．しかし，ランダム接続により線形分離可能に変換できるかどうかは運任せであり，常にうまくいくわけではありません．ですから，ランダム接続は，あくまでも線形分離不可能な問題を解く__可能性__を与えるだけです．

なぜランダム接続なのでしょうか．入力層と中間層の接続は入力の局所特徴を捉える機能があります．この頃は多層ネットワークの学習ができないため，都合の良い接続を人の手で作るしかありません．そう考えれば，ランダム接続のほうがリーズナブルだと思います．入力層と中間層の間の学習はバックプロパゲーションにより実現され，ランダム接続にする必要はなくなりました．それを知る現代人にとってランダム接続は運任せでいい加減な方法に見えるかもしれません．しかし，ランダム接続は現代の人工ニューラルネットワーク技術(Liquid state machineなど)にもつながる重要な考え方です．

一方で，MiskyとPapertは，パーセプトロンの人気は脳が大雑把に組織化されランダムに相互接続したネットワークであるというイメージがあるからだと書いています (p. 18)．


### 抑制性接続

Rosenblatt 1958のパーセプトロンでは，抑制性接続[^2]が中間層と出力層，出力層同士の接続で見られます．人工ニューラルネットワークしか知らない方の中には抑制性接続と聞いてなにかピンとこない方もいるかも知れません．抑制性接続にピンとこない人は，抑制性接続はマイナスの入力を与えていると考えると良いでしょう．この抑制性接続は余計な応答をしないようニューロンを押さえつけるために存在しています．もし，入力がR1に属しておりR1が活性化したのならば，R1は抑制性接続によりR2のニューロンを抑えてR2を活性化させないようにします．さらに，R1は中間層のR2に関わるニューロンの活性化も抑えます．

[^2]: 生物のニューラルネットワークでは，神経細胞と神経細胞はシナプスというものでつながっています．そのシナプスには，正の入力を与える興奮性シナプスと負の入力を与える抑制性シナプスがあります．それらをうまく使うことで，ニューラルネットワークの様々な機能を実現していると考えられています．特に，中心興奮周辺抑制型接続や側抑制接続はよく知られています．興味がる方は検索してみてはいかがでしょうか．

一方，現在の人工ニューラルネットワークではシナプス（接続，重み，荷重）が興奮性・抑制性であるかどうかを区別していません．区別はしていませんが，シナプス荷重が正であれば興奮性で負であれば抑制性とみなせるでしょう．しかし，現在の人工ニューラルネットワークのシナプス荷重の値は学習で変わりますので，人が指定することはありません．


### 再帰的接続

中間層から出力層へのフィードフォワードの興奮性接続により活性化した出力層のユニットが，中間層へ抑制性のフィードバックを返します．この接続は再帰的であると言えます．ニューラルネットワークの再帰構造自体はMcCullochとPittsによりすでに提案されています[^3]ので新しいアイデアと言うわけではありません．

[^3]: McCulloch-Pittsのニューロンモデルが有名ですが，彼らは実はニューロンモデルではなくニューラルネットワークモデルを提案しています．彼らのモデルにつても記事にまとめる予定です．

### 学習則

Rosenblatt 1958では具体的な学習方法について言及されていません．しかし，Rosenblatt 1959では具体的な学習方法も言及されていますが，そこに書かれている学習方法は私達が知っているものとは異なっているようです．

## まとめ

Rosenblatt 1958のパーセプトロンは人工ニューラルネットワークではなくニューラルネットワーク（脳）のモデルでした．論文の最初に書いてありますが，Rossenblattは脳の記憶の仕組みに興味があったようです．Rosenblattの著書Principles of Neurodynamicsでも"The theory to be presented here is concerned with a class of "brain models" called perceptrons ."と述べています(p. 3)．脳のモデルであるため，パーセプトロンの根底に当時の神経科学の知見が反映されています．イントロでも詳しく当時の脳に対する考え方が述べられています．その記述もなかなか興味深いです．ニューラルネットワークにしても，入力層はretinaと書かれている図もありますし，ネットワークに抑制性接続もあります．かなり生物的です．

また，パーセプトロンは線形分離不可能な問題を解けないわけではないことも分かっていただけたかと思います．しかし，巷ではMinskyとPapertにより線形分離不可能な問題が解けないことが示されたため，ニューラルネットワークの冬の時代（ニューラルネットワークブームの終焉）が来たと言われています．なぜ，ニューラルネットワークの冬の時代が来たのか不思議です．これに関しても，いつか考察したいところです．

## おまけ

Rosenblattは著書で，パーセプトロンのPを大文字で書きたくなるがパーセプトロンは脳モデルの一般名称だから小文字を使うとしています．

## 参考文献

- Bishop, C. (1995). Neural Networks for Pattern Recognition. Oxford University Press, USA.
- Malsburg, C.V. (1986). Frank Rosenblatt: Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms.
- Mcculloch, W. and Pitts, W. (1943). A Logical Calculus of Ideas Immanent in Nervous Activity. Bulletin of Mathematical Biophysics, 5, 127-147.
- Minsky, M., Papert, S. (1969). Perceptronss: An Introduction to Computational Geometry. Cambridge, MA, USA: MIT Press.
- Rosenblatt, F. (1958). The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain. Psychological Review, 65, 386-408.
- Rosenblatt, F. (1959). Principles of Neurodynamics. Spartan Books.
- 麻生英樹 (1988) ニューラルネットワーク情報処理, 産業図書.
- 河野隆一 (1962) パーセプトロン, 計測と制御, 1, 6, 423-430.