AI&BigData/Deep Learning
Lab08-2. Deep Learning의 기본 개념
eunguru
2018. 4. 26. 19:04
Deep Neural Nets
1. Neuron
신경계를 구성하는 구조적, 기능적 단위이며 전기적인 방법으로 신호를 전달함
뇌가 처리하는 복잡한 인지적 작용은 모두 간단한 계산의 뉴런들의 연결을 통해 이루어짐
- Dendrite: 이전 뉴런의 전기적 자극을 입력받는 수용체
- Necleus&Cell Body: 수용된 자극을 바탕으로 다음 뉴런에게 전달한 자극을 생성
- Axon: Cell body로 부터 생성된 자극을 발생 시키고 다음 뉴런에게 전달
- 뉴런을 기계적, 수학적으로 만든 것: Activation Functions
2. Perceptron과 XOR 문제, MLP
1) Perceptron
- 입력을 받아 참(1)인지 거짓(0)인지를 판별해주는 계산 유닛
- 즉 X*W+b인 선을 그려서 선을 기준으로 1또는 0을 판단하는 알고리즘
2) Perceptron XOR 문제
Perceptron으로 AND, OR 문제 해결: 해결가능
Perceptron으로 XOR 문제 해결: 해결 불가능
3) Multilayer perceptrons(MLP, Multilayer neural nets)
단일 perceptron으로는 XOR문제를 해결할 수 없으나 perceptron을 다중으로 겹치면 문제 해결 가능
그러나 레이어가 복잡해질 수 록 연산이 복잡해져서 W, b를 구하는 것이 불가능함
- Back propagation, CNN(Convolution neural networks)으로 MLP문제 해결 가능
3. Back propagation
Deep Neural Network의 복잡한 과정에서 Gradient를 직접 계산하는 것은 매우 복잡한 과정이 필요함
Backpropagation을 이용하면 간단한 계산으로 효율적으로 Gradient를 계산할 수 있음(Chain Rule이용)
뉴럴 네트워크를 순방향으로 한번 연산을 한 후, 틀린 출력인 경우 W, b를 조정하기 위해
예측값과 실제값을 비교하여 error를 역방향으로 전달하여 값을 조정하는 방법
- 문제점: 레이어가 깊을 수록 뒤에 있는 error값이 앞으로 전달되지 않는 문제가 있음(Vanishing Gradient)
4. Neural Nets의 초기값 문제
- 뉴럴네트워크는 학습을 할 때 초기값을 잘 주면 깊은 레이어를 가진 뉴럴 네트워크의 사용이 가능함이 증명됨
- 뉴럴네트워크 = Deep Nets, Deep Learning
5. Convoluational Neural Networks(CNN)