본문 바로가기
딥러닝 기초

History of DeepLearning

by winston1214 2021. 7. 21.
반응형

이 글은 Standalone Deep-Learning 기반으로 작성되었습니다.

https://www.youtube.com/watch?v=oOQCrm4Vemo&list=PLSAJwo7mw8jn8iaXwT4MqLbZnS-LJwnBd&index=7 

 

## 딥러닝의 시작

사람처럼 생각하는 기계를 만들어보자라는 생각으로 시작된 연구이다. 사람의 뇌를 모방하여 만든 것이다.

사람의 뇌 중 Neuron을 베이스로 해서 만들었다.

Neuron image

뉴런은 Dendrite라는 부분에서 전기자극이라는 신호를 받고 이 부분에서 신호를 조합해서 Axon이라는 곳을 통해 Axon terminal로 신호를 보내고 거기서 신호를 다시 내보낸다.

뉴런은 이처럼 단순한 구조를 띄는데 이를 수학적인 구조로 Nueron을 구현하였다.(1957)

Neuron modeling

이 모델은 들어온 신호들의 합이 너무 작으면(threshold 값을 넘지 않으면) 다음 뉴런에 전달되지 않고, 넘는 경우만 다음 뉴런에 신호를 전달한다. 이러한 특성을 activation function 을 통해 구현을 하였다. 따라서 activation function을 거친 값을 전달하는 것이다.

따라서 이러한 값들은 nonlinear하다는 것을 알 수 있다.

 

## AND/OR problem

이러한 모델로 AND 문제와 OR 문제를 해결해보자.

### AND 조건

x1 x2 ouput
0 0 0
0 1 0
1 0 0
1 1 1

### OR 조건

x1 x2 output
0 0 0
0 1 1
1 0 1
1 1 1

### XOR 조건

x1 x2 ouptut
0 0 0
0 1 1
1 0 1
1 1 1

AND/OR problem

위 그림에서 A를 보자. Input1 = \(x_{1}\) , Input2 = \(x_{2}\) 라고 하자. 따라서 이 모델을 수식으로 전개하면 밑 식처럼 된다.

$$ w_{1}x_{1}+w_{2}x_{2}+b $$

이 식에서 \(w_{1} = w_{2} = 1, b=-1.5\)로 설정하면 AND 조건은 만족이 된다. 또한, \(w_{1} = w_{2} = 1, b=-0.5\)로 설정하면 OR 조건도 만족이 되어서 AND/OR 조건을 해결할 수 있다.

그러나 XOR 조건은 어떻게 해도 완벽하게 분리하지 못한다.

 

## How can solve to XOR problem?

단층 퍼셉트론으로는 절대로 XOR 문제를 해결할 수 없다. 따라서 XOR 문제를 해결하기 위해 Multilayer perceptron을 제안한다.

Multilayer perceptron

이러한 신경망을 만든 저자는 multilayer perceptron 은 이론상으로 가능하지만 훈련시킬 수 있는 방법이 없다고 기술하였다. 이 저자의 파급력으로 인해 인공지능은 침체기를 맞이한다..

 

## Backpropogation

이러한 침체기를 깬 것이 Backpropogation 알고리즘이다.

Backpropogation Algorithm

역전파 알고리즘은 예측한 y의 값과 실제 target y의 값과 차를 구하여 에러를 계산하고 이를 바탕으로 gradient를 구하여 gradient를 전파시킨다. 따라서 output node로 부터 gradient를 계산하여 전파하는 알고리즘이기 때문에 backpropogation 이라는 이름을 붙였다.

 

## Convolution Neural Network

CNN-LeNet5

CNN은 인공지능 연구에 큰 붐을 일으킨 아키텍쳐이다. 이로 인해 많은 연구가 활성화 되기 시작하였다.

CNN의 대표적인 알고리즘인 LeNet을 예시로 보자. 

뉴런이 input image의 작은 부분만을 나타내는 것으로 시작한다. 이러한 convolution 층이 점점 작아지면서 작은 부분이 이미지의 큰 부분의 특징을 포함할 수 있다.

그림으로 직관적으로 예시를 들면 첫번째 층에서의 한 값은 K라는 글자에 직사각형 네모로 있는 밑에 부분의 특징만을 갖고 있다. 그리고 두번째 층에서는 K의 밑 부분뿐만 아니라 다른 부분의 특징이 반영된 부분을 포함한다. 이는 층이 깊어질수록 더 많은 특징들을 반영할 수 있게 된다.

이러한 이유는 하나의 grid(이미지 일부 직사각형)의 특징값의 합이 다음 convolution 층에 하나의 값으로 들어가기 때문이다.

CNN으로 인해 ImageNet Classification에서 성능에 대한 비약적인 발전이 이뤄졌다.

 ImageNet 성능 비교

 

반응형

'딥러닝 기초' 카테고리의 다른 글

Advanced Optimizer than SGD  (0) 2021.08.14
Overfitting, Regularization  (0) 2021.08.01
코드에서 파라미터 최적화  (0) 2021.07.28
MultiLayer Perceptron  (0) 2021.07.26
Binary/Multi Classification  (0) 2021.07.18

댓글