최적화

Younghwan Cha·2022년 10월 5일
0

ML

목록 보기
8/18
post-thumbnail

우리는 손실 함수를 통해서 에러 값을 도출해 내는 방법을 배웠다.
그렇다면, 그 에러들을 줄이기 위해서 어떻게 해야할까?
이 질문에 답을 주는 것이 바로 이 글의 주제인
최적화 방법, Optimizer 가 되겠다.

경사 하강법

예를 들어, w n-1 을 임의의 가중치로 선정했다고 가정하겠습니다. 최적의 가중치를 찾기 위해서 목표 함수인 손실 함수를 비용 함수 w에 대해 편미분하고, 이를 학습률(Learning rate)과 곱한 값을 앞서 선정한 에서 빼줍니다. 수식으로 나타내면 다음과 같습니다.

바로 여기서 우리가 하이퍼 파라미터로 사용한 Learning Rate, lr 이 나오는 것이다. Step_size 라고도 정의 되는 이것은 학습에서 몇 안되는 하이퍼 파라미터이다. 그렇다면 자연스럽게 이런 질문이 든다.
'무슨 값을 넣어줘야하지...?'
질문에 답을 하기 위해서 몇 가지 리서치들을 읽어보자.

https://machinelearningmastery.com/learning-rate-for-deep-learning-neural-networks/

step size

step size 가 너무 작아 수렴하지 못하거나
너무 커서 발산 하는 등의 문제가 일어날 수 있기 때문에
적절한 step size 를 고르는 것이 중요하다.

local minima

또한, local minima 문제와 같이 우리가 원하는 minima 가 아닌 다른 값인 노란색 부근에서 빠져나오지 못 하는 문제가 생길 수도 있다.

https://shuuki4.github.io/deep%20learning/2016/05/20/Gradient-Descent-Algorithm-Overview.html

profile
개발 기록

0개의 댓글