다음은 모델 최적화의 핵심 내용인 경사 하강법을 알기 전에 하강법에 대해 알고 넘어가자.
모델이 어떻게 작동하는지에 대해 알기 위해 메커니즘을 알고 넘어가야 한다.
- 먼저 모델의 input이 주어지면 인풋값을 바탕으로 아웃풋을 산출함
- input 값을 받아서 output 값을 추출하는 것을 '예측'이라고 함
- 예측 값이 실제 값과 얼마나 차이가 나는지 아는 것이 중요
- 실제 값과 예측 값의 차이를 나타내는 척도가 Loss Function
- 실제 값과 예측 값의 차이가 작으면 작을 수록 학습이 잘 되고 있다는 것
- w라는 변수를 가지고 있는 모델을 거쳐서 나온 예측 값을 Loss Function에 넣었을 때 값이 작게 나오면 학습이 잘 되고 있는 것
- 그렇기 때문에, Loss Function의 값이 작게 나오게 하기 위한 w를 구해서 모델에서 사용하는 w값을 update 함
- 위 이미지의 과정(점점 좋은 w값을 찾는 것)을 반복하는 것을 '최적화'라고 함
- 모델의 파라미터를 최적화하는 것을 최적화라고 하는데, Loss Function의 값을 작게 만들어주는 w를 찾는 과정이라고 볼 수 있음
- 일반적으로 초기의 값은 임의로 주어짐
- 가끔 Loss Function에서 min이 아닌 max를 구하는 로직이 있는데, 이럴 때 당황하지 말고 -max(loss)를 취해주자
- max(loss) = -min(loss)
목적 함수(Objective Function)
- Loss Function을 작게 하는 모델의 변수를 구하는 것이 목적
- 그래서 위 함수를 목적 함수라고 부름
- 목적함수를 기준으로 해서 w값을 계속 갱신함
하강법(Descent Method)
- 주어진 지점으로부터 더 작은 곳으로 이동하려는 방법을 하강법이라고 함
- 그림의 오른쪽 지점에서 미분을 하면 양수의 기울기가 나오고, 왼쪽 지점에서 미분을 하면 음수의 기울기가 나옴
- w 지점이 내려가는 방향의 부호와 접선의 기울기가 항상 다름
- 이 부등호를 만족하는 방향으로 간다면, 항상 아래쪽으로 향할 수 있음
- 하강법의 단점 - 초기 위치에 따라서 도착 지점이 달라질 수 있음(local min에 도착할 수 있음)
- 우리의 목표는 global min으로 가는 것임
- 딥러닝에서 global min으로 가도록 하는 것은 매우 힘든 일
- 보통 경사 하강법을 주로 사용함
- 속도는 느리지만 좀 더 정확한 계산을 원한다면 뉴턴 방법을 사용함
경사 하강법(Gradient Descent)를 살짝 맛보고 넘어가 보자.
- 앞의 내용들을 통해서 경사 하강법이 나옴
- 경사 하강법을 사용할 때는 이전 변수(w)에서 step size(µ)에 이전 변수의 gradient 값(▽f(w))을 빼서 다음 step으로 가게 함
내용에 문제가 있으면 댓글로 알려주세요!
출처 : 인프런 - 실전 인공지능으로 이어지는 딥러닝 개념 잡기(딥러닝 호형)
'딥러닝 공부' 카테고리의 다른 글
인공 신경망의 최적화 - 확률적 경사 하강법과 최적화 기법 (0) | 2021.09.23 |
---|---|
인공 신경망의 최적화 - 경사 하강법(Gradient Descent) (0) | 2021.09.23 |
인공 신경망의 최적화 - 미분(Differentiation) (0) | 2021.09.23 |
인공 신경망 - 손실 함수(Regression & Classification) (0) | 2021.09.17 |
인공 신경망 - XOR 문제(XOR Problem) (0) | 2021.09.17 |