AI
Neural Network
강호이
2021. 6. 2. 21:19
Backpropagation
1) Neural Network
- Input Layer(1차원으로 펼친다) + Hidden Layer(모델) + Ouput Layer(예측값 수가 라벨의 카테고리 수)로 구성
- Hidden Layer에서 특징을 압축한다.
- Fully Connected Network(FCN): 각 Layer의 모든 노드들이 서로 연결되어있다.
- Forward Path: input의 모든 노드에 각각 weight을 곱하고 bias를 더해준다. 그 후 결과인 output의 값들에 softmax과정을 거친 후,
최종 loss를 구한다.
- Forward Path에서 구한 loss값으로 Backward를 진행한다. ==> loss값이 존재해야만 backward가 가능하므로 의존성 문제 발생
- Hidden Layer가 되려면 y값이 여러번 나와야한다.
- Backpropagation에서의 학습은 weight값에 대한 보정과 수정을 의미한다.
Neural Network
- 좁은 의미로는 Fully Connected Network를 Neural Network라고 함.
- 넓은 의미로는 FCN, CNN, ANN 등 모든 것을 포함하여 Neural Network라고 함.
- 딥러닝은 Neural Network방법론을 사용해 학습한다. NN 필수!
1) Structure of a neuron
- 해석: 입력값에 대한 직접적 해석과 입력값에 대한 동일한 해석 두 가지 방법이 존재..
- activ() : 역치값(threshold) 이상 도달하지 않으면 무시하기 위한 함수, hidden layer를 지난 후 output layer로 출력 직전에 사용해 예측값을 도출
2) 활성함수 (Activation Functions)
- sigmoid: 생명체와 가장 흡사
- tanh
- ReLU : 최근에 가장 많이 사용, max(0,x), 0에서 무한대의 값을 가짐. 0보다 작을 경우 무조건 0에 수렴.
- Leaky ReLU : 난이도가 어려운 것에 많이 사용
- ELU : 난이도가 어려운 것에 많이 사용
- Maxout
3) 활성함수 사용 이유
- NeuralNet은 인간 신경망을 본 따서 나온 학습법이다. 따라서 인간의 반응과 유사하게 설계되었다. 즉, 신경 전달 자극값이 미세하면
무시되어야 하고 크다면 출력을 위해 전달된다.
- 수학적으로 Activation(활성) 함수 필요한 이유: 활성함수는 비선형이므로 선형의 한계를 극복하기 위해서이다.