optimizer와 solver

J. Hwang·2024년 10월 4일

머신 러닝을 공부하다 보면 optimizer와 solver라는 용어를 접하게 되는데, 두 용어가 비슷해보이면서도 굳이 다른 용어로 분리되어 있어서, 무엇이 다른지 알아보았다.

Optimizer는 모델의 loss function을 최소화하기 위해 파라미터를 조정하는 알고리즘 그 자체를 말한다. Stochastic Gradient Descent (SGD), Adaptive Moment Esitmation (Adam) 등을 optimizer의 예시라고 할 수 있다.

반면에 Solver는 보다 넓은 의미에서 최적화 과정을 관리하고 실행하는 주체를 의미한다. solver는 optimizer, batch size, learning rate를 모두 포괄하여 관리하는 개념인 것이다.

한 마디로 정리하면 solver는 최적화 과정의 총 관리자로서, optimizer는 그 하위의 관리 대상인 최적화를 하는 "알고리즘"이라고 할 수 있다.

profile
Let it code

0개의 댓글