딥러닝의 역사
기존의 머신러닝
기존의 머신러닝은 AND, OR 문제로 시작.
위와 같은 문제는 직선하나만 있으면되는데,
논리회귀로 풀면 다음과 같다.
또한 위 수식을 그림으로 표현하면 다음과 같다.
위와 같은 모양을 Perceptron(퍼셉트론)이라 한다.값만 잘 지정해주면, 원하는 출력을 계산 할 수 있었기에 AND, OR 문제를 잘 조합하면 생각하는 기계를 만들 수 있다고 생각을 했었으나,
논리 게이트를 조합하면 생각하는 기계를 만들 수 있겠다
- feat. The New York Times, Jul 08 1958
선형회귀로는 AND, OR문제를 풀 수 있었지만, XOR문제는 풀수가 없었다.
XOR
모든 값이 동일할경우 0을 출력하고, 다를경우 1을 출력한다.XOR문제를 풀기위해 Perceptron을 여러개 붙인 MLP(MultiLayer Perceptron)이라는 개념을 도입하여 풀어보려고 했으나,
Marvin Minsky는 한 개의 perceptron으로는 XOR를 풀 수 없고, MLP를 써야하는데 각각의 weight과 bias를 학습시키는 데 너무 많은 계산이 필요하므로 당시 기술로는 불가능하다고 주장했다.
이후 많은 사람들이 이 문제를 포기하게 되고 딥러닝(=MLP, Neural networks)의 발전은 짧게는 10년, 길게는 20년 정도 후퇴하게 되었다.
역전파
- 우리는 W(weight)와 b(bias)를 이용해서 주어진 입력을 가지고 출력을 만들어 낼 수 있다.
- 그런데 MLP가 만들어낸 출력이 정답값과 다를 경우 W와 b를 조절해야한다.
- 그것을 조절하는 가장 좋은 방법은
출력에서 Error(오차)를 발견하여 뒤에서 앞으로 점차 조절하는 방법이 필요하다.이 알고리즘은 관심받지 못하다가 1986년에 Hinton 교수가 똑같은 방법을 독자적으로 발표하면서 알려지게 되었다.
이렇게 XOR 문제는 MLP를 풀 수 있게 되어 해결될 수 있었고, 그 핵심방법은 바로 역전파 알고리즘의 발견이였다.