딥러닝의 역사

김건우·2022년 1월 6일
0

머신러닝

목록 보기
11/21
post-thumbnail

딥러닝의 역사

기존의 머신러닝

기존의 머신러닝은 AND, OR 문제로 시작.

위와 같은 문제는 직선하나만 있으면되는데,
논리회귀로 풀면 다음과 같다.
y=w0+w1x1+w2x2y=w_0+w_1x_1+w_2x_2

또한 위 수식을 그림으로 표현하면 다음과 같다.

위와 같은 모양을 Perceptron(퍼셉트론)이라 한다.

w0,w1,w2w_0,w_1,w_2 값만 잘 지정해주면, 원하는 출력을 계산 할 수 있었기에 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년 정도 후퇴하게 되었다.

역전파

  • 계속되어온 딥러닝의 침체기는 1974년에 발표된 Paul Werbos(폴)이라는 사람의 박사 논문 덕분에 끝이 나게 되었는데,
    폴의 주장은 다음과 같다.
  1. 우리는 W(weight)와 b(bias)를 이용해서 주어진 입력을 가지고 출력을 만들어 낼 수 있다.
  2. 그런데 MLP가 만들어낸 출력이 정답값과 다를 경우 W와 b를 조절해야한다.
  3. 그것을 조절하는 가장 좋은 방법은
    출력에서 Error(오차)를 발견하여 뒤에서 앞으로 점차 조절하는 방법이 필요하다.

이 알고리즘은 관심받지 못하다가 1986년에 Hinton 교수가 똑같은 방법을 독자적으로 발표하면서 알려지게 되었다.
이렇게 XOR 문제는 MLP를 풀 수 있게 되어 해결될 수 있었고, 그 핵심방법은 바로 역전파 알고리즘의 발견이였다.

profile
공부하는 개발자가 목표입니다.

0개의 댓글