[모두를 위한 딥러닝 시즌1] Lec09. XOR 문제 딥러닝으로 풀기
저번 시간 마지막 부분에 다뤘던 문제점은 Lec 10에서 좀 더 생각을 해보기로 하자.
일단은 다층 퍼셉트론, 즉 Neural Network를 이용해서
이전에 풀지 못했던 XOR 문제가 해결되는지 살펴보자.
다음과 같이 간단한 NN을 만들었다고 생각해보자.
Sigmoid 함수를 이용하기에 0 아니면 1의 결과를 낼 것이다.
예를 들어, 첫 번째 케이스인
x1 = 0, x2 = 0인 경우를 봐보자.
보라색 층과 초록색 층을 통과한 결과가
각각 y1, y2가 되어 다시 검정색 층에 들어갈 것이다.
계산을 통해 결과를 정리하면 아래와 같다.
이제 결과를 보면 우리가 원하는 XOR의 올바른 결과를
예측했음을 알 수 있다.
물론 우리가 지정한 weght과 bias 이외에도 다른 w, b 값도
존재할 것이다. 실제로 문제 해결을 위한 모델은
역전파를 통해 이 값을 찾아내는 것이다.
역전파를 배웠으니 그 원리를 좀 더 살펴볼 수 있을 것이다.
내가 이번 모두를 위한 딥러닝 시즌1에서 가장 중요하게 생각하는 강의 부분이다.
편미분과, chain rule을 기본적으로 알고 있으면 쉽게 이해할 수 있다.
주어진 미지수 각각의 편미분을 이용하면
결괏값에 각 미지수가 미치는 영향의 정도를 구할 수 있다.
영향의 정도를 구할 수 있으면 어떤 미지수를 얼만큼 변경시켰을 때 loss 값이
효과적으로 줄어들 것인지도 계산할 수 있을 것이다.
다층 퍼셉트론에서 거꾸로 돌아가면서 w,b 값을 업데이트하고 손실을 줄여나가는
학습 방법이 어떻게 가능할지 의문이 들었지만
설명을 듣고나니 원리 정도는 이해할 수 있게 되었다.
나중에 논문을 보며 더 구체적인 공부를 해봐야 할 것 같다.