パーセプトロンを多層にするとなぜXOR回路を表現できるのか
自分なりの考察をまとめました。
なぜ考察するに至ったか
単層パーセプトロンは線形であるのに、多層になっただけでなぜXORの非線形領域分類ができるのか疑問であったが、手元の資料では解説されてなかったため。(論理回路的にはAND、OR、NANDの組み合わせで出来るから、それを真似れば出来ます〜程度であった)
解説
単層パーセプトロンは線形領域でしか分類できません。これは式を見ても明らかです。
そのため、単層パーセプトロンではXOR回路は表せません。
一方、AND回路、OR回路、NAND回路は単層パーセプトロンで表せます。
そして、論理回路的にはXOR回路は以下のように表せます。
これを上で書いた各回路のパーセプトロンでそのまま置き換えるとこのようになります。
このうちの2層目であるAND回路部分が、今回私が疑問に思った点です。
「NAND回路出力結果とOR回路出力結果を、AND回路に入力する」とは、一体なんなんだ....
図を用いてしばらく考察したらイメージできました。
このようなイメージのことを言っているのだと分かりました。
OR回路、NAND回路の入力はともに重みw=1なので、右のグラフ中では赤:1,青:1、灰:2となります。この値を高さと見れば、グラフの軸が3次元方向にもう1つ追加された感じでしょうか。
この内、高さが1.5以上であるのは灰部分のみであるので、その領域にある黒点がヒットし、XOR回路が表現されるという仕組みです。別の言い方をすれば、非線形領域を分類できる仕組みです。
考察
層を増やすということは、グラフの次元を1つ増やすことなのでは?と思った。
グラフの次元を1つ増やし3次元方向の高さを自在にコントロールすれば、非線形どころか飛び飛びの領域も分別できるなーと思った。
ちなみに、NAND回路のみでXOR回路を表現した場合は以下のようになり、先程のものと異なった形となります。ぜひ自分で確認してみてください。