前回は、パーセプトロンとは何か?というところからパーセプトロンで論理回路 ANDとORをパーセプトロンで実装してみました。
【仕組み解説】全結合層をゼロから実装しよう:パーセプトロンとは?(NN #2)
NNの最小単位「パーセプトロン」をゼロから実装。ニューロンの仕組みや活性化前の出力を解説し、多層化の必要性を理解します。
今回はパーセプトロンで表せる限界について、XOR問題を例に考えてみようと思います。
XOR問題
XORとは、排他的論理和のことで、論理回路の1つです。2入力の排他的論理和は以下のような入出力関係になります。
表 排他的論理和の真理値表
| 入力1 \(x_1\) | 入力2 \(x_2\) | 答え \(AND\) |
|---|---|---|
| 0 (No) | 0 (No) | 0 (No) |
| 0 (No) | 1 (Yes) | 1 (No) |
| 1 (Yes) | 0 (No) | 1 (No) |
| 1 (Yes) | 1 (Yes) | 0 (Yes) |
排他的論理和は、入力のどちらかが”1″の時だけ”1″になるものです。両方が”1″になったら”0″となるのがANDとの違いです。
XOR問題とは、このXORをパーセプトロンで表せるか?という問題です。
XORをパーセプトロンで作れる?
適当に重さとバイアスを組み合わせて考えてみてもいいですが、
先に解答を言ってしまうと、パーセプトロンの限界として、取り上げているので想像通りと思いますが、パーセプトロンではXORは絶対にを表現できません。
この説明として、よく、「入力の0と1を線で分けられないから」という説明がなされます。
今回は、これについて、ちょっと数学的に見てみようと思います。
線形分離不可能性
なぜXORが解けないのか?この証明を線形分離不可能性から見てみます。
簡単な証明
パーセプトロンの計算を、もう一度数式で見てみましょう。
\[output = w_1 x_1 + w_2 x_2 + b\]
この\(output\)が一定の基準を超えるかどうかで出力 \(y\) がかわるのでしたね、今回はこの一定の基準(閾値)が0であるとして考えてみます。
2つの入力 \(x_1, x_2\) があった場合、出力 \(y\) は以下の式で決まりました。
\[
y =
\begin{cases}
1 & (w_1 x_1 + w_2 x_2 + b > 0) \\
0 & (w_1 x_1 + w_2 x_2 + b \le 0)
\end{cases}
\]
\(w_1 x_1 + w_2 x_2 + b = 0\) という式の特性を見ればどんな問題が解けて、逆にどんな問題が解けないのか見えてきそうですね、
この式は、\(w_1\)と\(w_2\),\(b\)が定数であることを考えると以下のように変形できます。
\[w_1 x_1 + w_2 x_2 + b = 0 \]
\[w_1 x_1 = – w_2 x_2 – b\]
\[x_1 = -\,\frac{w_2}{w_1}\, x_2 \,- \frac{b}{w_1}\]
(ここでは \(w_1\)は0でないとします。)
これは「\(y = ax + b\)」のような、2次元平面上での「直線」の方程式そのものです。
重みを1としてバイアスを適当に与えたときのグラフは、以下のような感じになります。

斜めの直線の式になります。この直線が出力が0と1に切り替わる境界線です。
緑の点線 \( x_1 + x_2 – 0.5 = 0\)で考えてみると、\( x_1 \)が0で\(x_2\)も0の時は、グラフ上で原点にある青〇ですね、これは、緑の点線の左側にあります。つまり、この時の式の値はマイナス領域です。出力は “0”になります。
他の点を見てみても同様に点線の左右で出力結果が変わるということがわかると思います。
今は重みを \(w_1 = 1 , w_2 = 1\) としましたが、変更しても線の傾きが変わるだけで、直線の左右で出力結果が切り替わるという特性はそのままです。
つまり、単層のパーセプトロンができることは、空間を1本の直線で2つの領域(\( > 0\) の領域と \(\le 0\) の領域)に分割することだけなのです。
XOR問題のプロット×印と〇印(上のグラフ)を見れば明らかなように、(0,0)と(1,1)のグループ、(0,1)と(1,0)のグループを、1本の直線で分離することは論理的に不可能です。
よって、XORが解けないことを示せました□
このように、1本の直線(あるいは高次元空間での「超平面」)で分離できない問題を「線形分離不可能」と呼び、これが単層パーセプトロンの限界でです。
「XOR問題」の発見がAIの”冬の時代”の原因?
ニューラルネットワークの歴史を見てみると、何回か、「これはすごい!!ともてはやされて」その後「思ったより使えないじゃん!と評価される”冬の時代”」というのを繰り返してきました。
1960年代後半、「XOR問題」の発見(厳密にはそれを指摘した「パーセプトロン」という本)によって、「なんだ、AIと言っても単純なパーセプトロンじゃXORすら解けないのか」と、AI研究全体が停滞する一度目の「冬の時代」を迎えるきっかけの一つになった、とまで言われています。
まとめと次回:多層パーセプトロン
パーセプトロンの限界について理解できたと思います。次回はパーセプトロンの限界を多層化するというアプローチで解決していこうと思います。
【仕組み解説】全結合層をゼロから実装しよう:多層化でXOR問題を解決する-多層パーセプトロン-(NN #4)
XOR問題の解決策である多層パーセプトロン(MLP)を導入。多層化の設計思想と、ニューラルネットワークの基礎となる構造を学びま
ゼロから作る全結合層
ゼロから作る全結合層シリーズでは、初心者でも理解しやすいように、 「パーセプトロンの仕組み」から「全結合層の実装」までを...
ここまで読んでいただきありがとうございます。
では、次の記事で。 lumenHero