# 딥러닝에서의 학습이란?
위 그림에서, 각 노드에 들어온 1, x1, x2, ...의 값에 대해 각 노드에 할당된 bias와 weight 매개변수들을 선형 결합한 값을 활성화 함수 f1, f2, ...에 넣어 나온 값 z1, z2, ...를 다시 다음 노드에 전달해서 같은 과정을 반복한다.
최종 output 값, 즉 예측한 값이 나오게 되면 실제값과 얼마나 차이가 나는지를 loss function을 이용해 계산하고(그렇다고 해서 "loss function = 실제값-예측값"은 아니다. 여러 loss function이 있다), 그 '틀린 정도'의 gradient(즉 loss function의 gradient)를 다시 앞쪽 노드로 backpropagation을 활용해 그대로 보존하면서 전달한다. 이 전달된 loss function의 gradient를 이용해 bias와 weight 매개변수를 학습 데이터에 맞게 갱신한다.
즉, 그림에서 L(w0)는 w0에 대한 loss function L(w)의 값, loss(손실) 값이고, 실험할 때 loss 그래프로 나타나는 값이다. ▽L(w0)는 w=w0일 때 loss function L(w)의 기울기, 즉 gradient 값이고, 이것을 역전파로 전달해서 가중치를 갱신할 때 이용하는 것이다.
결국 딥러닝에서 학습이란, 훈련 데이터 샘플과 그에 상응하는 레이블이 주어졌을 때, 실제값과 예측값의 차이를 알려주는 loss function의 값을 최소화시키는 최적의 매개변수 bias와 weight를 찾는 것이다!
# 신경망의 목표는?
훈련 데이터를 잘 학습하되, 이후에 들어오는 새로운 데이터에 대해서도 예측을 잘 하게 되는 것. 즉, 훈련 데이터에 대한 오버피팅을 피하고, '범용적인 능력'을 익히는 것!
'딥러닝 & 머신러닝 > 딥러닝 지식' 카테고리의 다른 글
오버피팅일 경우 대처 방법? Dropout, Regularization이란? (0) | 2020.08.31 |
---|---|
가중치 초기화(Weight Initialization) 설명 (0) | 2020.08.30 |
비선형성(Non-Linearity)과 편향(Bias)의 의미와 필요성 (0) | 2020.08.30 |
활성화 함수(Activation function) 설명 (Sigmoid, ReLU, LeakyReLU, tanh) (0) | 2020.08.29 |
비용 함수(Cost function)와 활성화 함수(Activation function)란? (0) | 2020.08.18 |