XOR 문제 딥러닝으로 풀기
XOR은 정말 단순한 문제이지만 초기 neural network 연구자들에게 큰 절망을 주었다.

이런 하나의 unit으로는 이 문제를 풀 수 없다는 것이 수학적으로 증명이 되었고, 때문에 사람들이 neural network는 잘 안된다고 믿었던 계기가 되었다.

그런데 하나가 아니라 2개 3개를 합치면 어떻게 될까?
그러면 풀 수 있다.
그런데 또 그당시에 나왔던 문제는 각각의 w과 b를 어떻게 학습할 수 있느냐 였는데, 불가능하다고 하였다.

neural network로 xor이 가능한지 확인해 보자.

linear하게 +,-를 구분할 수 있는 선을 찾을 수 없었다.
이 문제를 3개의 network를 가지고 풀어보겠다.
하나의 network는 하나의 unit이 logistic regression과 같다.




여기까지 여러개의 neural network를 사용하면 XOR output을 출력할 수 있다는 것을 확인할 수 있었다.
이것들을 하나로 뭉쳐서 그려보면 다음과 같은 그림이 나올 것이다.

자 그러면 이런 weight과 bias를 가지면 XOR 문제를 풀 수 있다는 것을 보였는데, 이 값들 말고 다른 조합의 값들이 존재할까? (생각해보자)
이 부분을 보면 multinomial classification과 유사하다는 것을 확인할 수 있다.


3개의 unit을 합치기 위해서는 벡터를 3줄로 주면 된다.
마찬가지로 2개를 합쳐보면, weight과 bias가 늘어났고, 수식으로는 다음과 같이 정리할 수 있다.

민스키 교수님이 최종적으로 던져준 문제 "How can we learn W1, W2, B1, B2 from training data?" 는 다음시간에 설명하겠다.