본문 바로가기
CS지식

[AI/ML/DL] 옵티마이저

by Alkaloid 2022. 4. 6.
반응형

AI나 머신러닝또는 딥러닝을 하다보면 옵티마이저라는 용어를 사용합니다.

Optimization은 학습속도를 빠르게하고 안정적이게 하는 방법입니다.

 

[ai] [머신러닝] [딥러닝]에 대한 차이는 이번 게시물에서 따로 설명하지 않겠습니다.

 

처음에 컴퓨터에게 학습을 시킬때는 배치별로 학습을 시켰습니다.

한번에 얼마나 학습을하고, 어떤 방향으로 학습할지에 대해 한번의 배치에 모든 데이터를 집어 넣어 결과를 도출한후 방향을 찾는 방법(GD)으로 시작하여, 일부를 집어 넣어 결과를 확인후 방향을 찾고, 또 일부를 집어 넣어 방향을 찾는 방법(SGD)으로 점차 옵티마이저가 발전하게 되었습니다.

그게 왜중요할까요? 한번에 많은 데이터를 학습을 시키려 하면 많은 시간과 자원이 들어가게 됩니다. 

그렇게 해서 좋은 결과가 있다면 상관없겠지만, 제대로된 결과가 도출되지 않을 수 있기 때문에 GD에서 SGD와 같은 방향으로 발전을 하게 되었습니다.

 

모든 옵티마이저를 설명할수는 없어 위에서 간단하게 GD와 SGD를 설명했습니다. 아주 간단하게 말이죠.

아래 옵티마이저 발전 과정을 담은 그래프입니다. 어떤게 좋다! 라고 할수는 없지만 각 상황에 맞는 옵티마이저를 선택하는것이 제일 좋은 방법이 되겠죠.

반응형