딥러닝 & 머신러닝/딥러닝 지식

딥러닝에서의 학습이란? 신경망의 목표는?

별보는두더지 2020. 8. 30. 12:23
반응형

# 딥러닝에서의 학습이란?

 

위 그림에서, 각 노드에 들어온 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를 찾는 것이다!

 

# 신경망의 목표는?

 

훈련 데이터를 잘 학습하되, 이후에 들어오는 새로운 데이터에 대해서도 예측을 잘 하게 되는 것. 즉, 훈련 데이터에 대한 오버피팅을 피하고, '범용적인 능력'을 익히는 것!

반응형