본문 바로가기
인공지능/모두를 위한 딥러닝 시즌 2

딥러닝의 기본 개념

by SH_L 2023. 8. 13.
반응형

[Ultimate dream: thinking machine]

 

 

인간의 뇌는 굉장히 복잡한 반면에 뉴런이라고 불리는 유닛은 굉장히 단순하게 동작이 된다. 어떤 input이 들어오면 그 inputweight를 곱한 만큼 신호가 들어온다. 신호의 값들이 합쳐지고 통과하면서 bios가 더해지는데 이 최종 값이 특정 값 이상이면 활성화되고, 특정 값을 넘지 못하면 활성화되지 않는다.

 

 

 

[Activation Functions]

 

 

뉴런의 동작 방식을 이용해 Activation Function을 만들었다.

 

 

 

[(Simple) XOR problem: linearly separable?]

 

 

Activation Function을 이용하여 직접 Hardware를 구현했다. AND/OR 문제의 경우 선형적으로 구분이 가능하기에 쉽게 해결이 되었다. 하지만 XOR 문제의 경우 단순히 선형적으로 구분하지 못하기 때문에 쉽게 해결할 수 없었다.

 

 

 

[Perceptrons (1969) by Marvin Minsky, founder of the MIT AL Lab]

 

Marvin MinskyXOR 문제를 해결할 수 없다는 것을 수학적으로 증명했다. MLP(Multilayer Perceptrons) 방식으로 perceptron을 여러 개 합치면 해결할 수도 있지만, 각각의 weightbios를 학습시킬 수 없다는 문제가 생긴다.

 

 

 

[Backpropagation (1974, 1982 by Paul Werbos, 1986 by Hinton)]

 

 

학습할 때 에러가 발생하면 weight 값과 bios 값을 다시 조정하는 것이 Multilayer Perceptrons에서는 어려운 문제였다. 이를 해결하기 위해 Paul Werbos가 에러를 backward로 전달해 뒤에서부터 다시 학습시키는 알고리즘을 생각해낸다. 그 당시에는 별다른 관심을 받지 못했지만 1986Hinton이 재발견을 하면서 사람들의 이목이 집중된다.

 

 

 

[Convolutional Neural Networks]

 

 

사람이 그림을 볼 때 뇌의 전체 신경망이 반응하는 것이 아니라 일부의 신경망이 부분적으로 반응한다는 사실을 이용하여 Backpropagation과 다른 방법으로 XOR 문제에 접근한 알고리즘이 있다. 데이터를 한 번에 네트워크로 보내는 것이 아니라 부분을 여러 개 나눠서 각 layer에 보낸 다음에 나중에 합치는 방식을 구현했다. 위 알고리즘을 사용하면 문자나 숫자를 인식하는데 90% 이상의 성능을 보여준다.

 

 

 

[A Big problem]

 

 

Backpropagation 알고리즘은 적은 layer를 가진 neural net에서는 잘 적용이 되지만, 10여개 이상의 layer를 가진 neural net에서는 에러를 backward로 보낼 때 오히려 성능이 떨어진다는 문제가 발생했다.

 

 

 

[CIFAR]

 

Backpropagation 알고리즘에서 발생한 문제를 CIFAR란 캐나다의 연구 단체가 해결했다.

 

 

 

[Breakthrough in 2006 and 2007 by Hinton and Bengio]

 

굉장히 deep한 신경망은 학습할 수 없을 것이라 생각했지만 각각의 weight에 대한 초기 값을 잘 선택한다면 여러 개의 layer를 가진 neural net에서도 학습을 진행할 수 있다. neural net라는 이름은 Deep Nets, Deep Learning으로 바꾸는 계기가 되었다.

반응형

'인공지능 > 모두를 위한 딥러닝 시즌 2' 카테고리의 다른 글

Relu  (0) 2023.08.13
XOR 문제 딥러닝으로 풀기  (0) 2023.08.13
application and tips  (0) 2023.08.06
Softmax Classifier  (0) 2023.08.06
logistic_regression  (0) 2023.08.06