ML lec(이론) 8-1 - 딥러닝의 기본 개념: 시작과 XOR 문제

박성재·2020년 12월 7일
0
post-thumbnail

출처: 모두를 위한 딥러닝 강좌 시즌 1 by Sung Kim


딥러닝의 시작

인간의 신경세포 활성화에 대한 수학적 모사

이를 구현한 하드웨어들

AND/OR problem

  • 예전에는, AND 와 OR 연산을 할 수 있으면 생각하는 컴퓨터를 만들 수 있다고 생각했었다.
  • 이 생각에 찬물을 끼얹은 것이 XOR 문제에 대한 실패였다.

XOR problem

  • XOR 문제는 어떤 식으로도 linear 하게(어떻게 선을 그어도) 해결할 수 없었다.
  • 그래도 이 문제를 풀기 위해 많은 사람들이 도전했다.

Perceptrons(퍼셉트론)

이 XOR 문제를 현재 가진 수학적 방법으로는 풀 수 없다고 MIT의 Minsky가 수학적으로 증명하는 책을 냈다.
다중 퍼셉트론(multilayer perceptrons)을 이용하면 이 문제를 풀 수 있지만, 여기에 들어가는 weight과 bias를 아무도 학습시킬 수 없다고 주장했다.

많은 이들이 이 주장에 설득 당했고, neural network의 발전은 10~20년 정도 지체되었다고 한다.

그러던 와중, 1986년 backpropagation 알고리즘을 통해 이 문제가 해결된다.

Backpropagation(역전파)

  • Paul Werbos는 예측에 대한 오류를 반영하는 backpropagation 방법으로 XOR 문제를 해결할 수 있다고 주장하는 논문을 냈으나, 그 당시 주목을 얻지 못했다.
  • 1986 Hinton은 이 똑같은 방법을 독자적으로 만들어내게 된다. 많은 사람들은 이를 재-발견(re-discovery)라고 이야기한다.
  • 이를 통해 더 복잡한 형태의 망도 학습을 시키고, 더 복잡한 형태의 예측이 가능해졌다.

Convolutional Neural Networks(CNN)

또 다른 연구자는, 고양이 시신경 연구를 통해 흥미로운 사실을 발견한다.

  • 일부 뉴런들은 특정 모양이나 방향을 가진 물체에만 반응을 하고, 또 다른 뉴런들은 다른 모양이나 방향을 가진 물체에만 반응을 하는 것이었다.
  • 이로부터 신경망 세포가 동시에 전체 그림을 보는 것이 아니라, 일부의 부분들을 담당하는 신경세포들이 있고, 그 정보들이 나중에 조합되는 것이 아닌가? 라는 생각을 LeCun 이라는 분이 하게 된다.
  • LeCun은 인풋의 전체를 한꺼번에 신경망에 넘기는 것이 아니라, 부분 부분을 나눠 보낸 후 나중에 조합하는 방식의 신경망(CNN) 모델을 구축했는데, 이 방법이 굉장히 잘 동작하는 것이었다.
  • 당시 문자를 인식하는 데에 약 90% 정도의 정확성을 보였다.
  • 이 당시에 이 신경망을 이용해서 자율로 주행하는 차를 만들 정도로 성공을 거두었다.

A BIG problem

그러던 와중, 또 다른 큰 문제에 봉착하게 된다.
이는 Backpropagation(역전파)이 어느 정도의 수의 layer에서는 잘 작동하지만, layer가 많아지면 제대로 작동하지 않기 때문이었다.

복잡한 학습을 위해서는 10여개나 되는 layer가 있어야 하는데, 이렇게 layer가 많아지면 backpropagation 과정에서 전달되는 error 정보가 많은 layer를 거치면서 점점 옅어져서 학습이 제대로 일어나지 않는 것이었다.

이를 통해 다른 한 편으로는 SVM(Support Vector Machine), RandomForest 등 다른 형태의 알고리즘들이 많이 나오게 되었다.
그리고 신경망 보다 더 간단한 이런 알고리즘들이 더 잘 동작되는 것으로 밝혀지게 되었다.
이를 통해 Neural Network는 두 번째 침체기에 들어가게 된다.

0개의 댓글