[모두의 딥러닝] lec 08-1. 딥러닝의 기본 개념: 시작과 XOR 문제
딥러닝의 배경
인류의 궁극적인 꿈 = 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
: 너무 복잡하기 때문에 다른 알고리즘이 더 성능이 좋다.
'인공지능' 카테고리의 다른 글
[모두의 딥러닝] lab 08. Tensor Manipulation (0) | 2019.05.06 |
---|---|
[모두의 딥러닝] lec 08-2. 딥러닝의 기본 개념: Back-propagation과 2006/2007 '딥'의 출현 (0) | 2019.05.05 |
[모두의 딥러닝] lab 07-2. Meet MNIST data set (0) | 2019.05.05 |
[모두의 딥러닝] lab 07-1. training/test data set, learning rate, normalization (0) | 2019.05.03 |
[모두의 딥러닝] lec 07-2. Application & Tips: Training / Testing data sets (0) | 2019.05.03 |
댓글