본문 바로가기
머신러닝 이론 (딥러닝)/손으로 푸는 딥너링(지움)

[손으로 푸는 딥러닝] 5. XOR 연산 신경망으로 구현하기

by bigpicture 2023. 10. 16.
반응형

우리는 지난시간까지 AND 와 OR 연산을 신경망으로 구현하는 방법을 알아보았습니다. 입력층과 출력층 두개의 층 만으로 구성된 단층퍼셉트론을 사용했는데요. 이번시간에는 XOR 연산을 신경망으로 구현해봅시다. 

XOR 연산은 아래와 같이 정의됩니다. 

 

 

2차원 그래프로 나타내 보면 아래와 같습니다. 

 

.

입력층과 출력층으로된 신경망인 단층퍼셉트론에서는 공간을 둘로 나누는 것 밖에 할 수 없기 때문에 XOR을 구현할 수가 없습니다. 

 

단층퍼셉트론만 발견되었던 시절, 단층퍼셉트론이 XOR 문제를 해결할 수 없다는 것은 굉장히 큰 실망이었습니다. 단층퍼셉트론이 XOR 문제를 풀 수 없다는 것을 MIT의 마빈 민스키 교수가 증명하였습니다. 1969년의 일입니다. 이러한 단층퍼셉트론의 한계 때문에 신경망에 대한 연구가 침체기를 겪게 됩니다. 

 

XOR 문제가 어떻게 해결되었는지 지금부터 알아봅시다. and 와 or 퍼셉트론은 아래와 같습니다. 

 

XOR 신경망은 and 에서 거짓인 부분과, or에서 참인 부분의 교집합이라는 것을 알 수 있습니다. 따라서 XOR은 nand(not and)와 or의 교집합입니다. 표로 나타내면 아래와 같습니다. 

 

 

위 과정을 신경망으로 구현하면 아래와 같습니다. 

 

 

다음시간에는 위 신경망을 수식으로 표현해봅시다. 

반응형

댓글