인공지능

[모두의 딥러닝] lec 08-1. 딥러닝의 기본 개념: 시작과 XOR 문제

여니두 2019. 5. 5.

딥러닝의 배경

인류의 궁극적인 꿈 = thinking machine

 

- 뉴런이라고 불리는 unit들이 굉장히 단순하게 동작된다는 것을 발견

- input을 정해주는 길이에 따라 신호의 양이 달라짐.

- x(input) * w = signal 

- 신호의 sum에 bias가 더해져서 신호 전달됨

- 이 값이 어떤 값 이상이 되면 활성화, 이하면 활성화되지 않음.

 

Activation Functions

 

Logistic regression units

- 모은다면 여러 개의 출력을 낼 수 있는 기계가 될 수 있을 것

 

Hardware implementations

- 컴퓨터가 없었을 때에는 기계로 직접 만들었음

- 학습을 하기 위한 dial을 돌려 weight을 조정했었음

 

False Promises

 

어느 정도의 성공: (Simple) AND/OR problem: linearly separable?

- AND/OR 로직을 풀 수 있는 기계

성공!

 

실패: (Simple) XOR problem: linearly separable?

- x1, x2를 주고 XOR 연산으로 y 결과값 나오는 것이 되지 않음

- linear하게 선을 그어도 100% 맞게 나오지 않고, 50%만 맞게 나온다. 정확도가 떨어짐.

 

Perceptrons (1969) by Marvin Minsky, founder of the MIT AI Lab

- XOR은 지금 가지고 있는 것으로 풀 수 없다고 수학적으로 증명

- 한 개로는 할 수 없고, 여러 개를 합치면 XOR을 할 수 있다.

: We need to use MLP, multilayer perceptrons (multilayer neural nets)

- 큰 문제: 각각의 W,b을 학습시킬 수 없다.

: No one on earth had found a viable way to train MLPs good enough to learn such simple functions.

 

"No one on earth had found a viable way to train"

- 이 책이 나온 후 뉴런 연구는 20년 정도 후퇴가 됨. 사람들이 굳게 믿음.

 

문제 해결: Backpropagation (1974, 1982 by Paul Werbos, 1986 by Hinton)

- 각각의 W,b를 이용하여 출력을 만들어낼 수 있음

- 예상과 다른 출력일 경우 W, b를 조정

- Backpropagation 알고리즘

: 출력 쪽에서 error를 구하여 뒤로 전달하며 각각 W, b을 처리하는 것

 

- Hinton이 이 방법을 독자적으로 만들어냄: rediscovery

 

Convolutional Neural Networks

라쿤 교수님: 

- 고양이를 가지고 그림을 보게한 후 시신경의 동작을 확인

- 그림의 형태에 따라 일부의 뉴런만 활성화되는 것을 발견

- 그림을 볼 때 신경망 세포가 동시에 전체를 보는 게 아니라 일부분의 신경망들이 본 후 나중에 조합되는 것이 아닐까?

- 그림의 부분부분을 잘라 보낸 후, 나중에 합치는 network

- 알파고 또한 이 방법을 사용

- 약 90% 이상의 성능을 보임

- "At some point in the late 1990s, one of these systems was reading 10 to 20% of all the checks in the US."

 

- 자동주행차, terminator에도 neural network이 나옴

 

A BIG problem

- Backpropagation just did not work well for normal neural nets with many layers

: 몇 개의 layer에서는 잘 동작하지만, 실제의 복잡한 문제를 풀기 위해서는 10여개 이상의 layer을 학습시킬 수 있어야 한다.

- 뒤로 갈수록 전달되는 error가 약해져서, 뒤 쪽 layer들에는 학습시킬 수 없게 된다.

- Other rising machine learning algorithms: SVM, RandomForest, etc.

- 1995 "Comparison of Learning Algorithms For Handwritten Digit Recognition" by LeCun et al. found that

this new approach worked better

: 너무 복잡하기 때문에 다른 알고리즘이 더 성능이 좋다.

댓글