본문 바로가기

인공지능 공부/비전 시스템 공부

chapter 2 딥러닝과 신경망 - 6절 최적화 알고리즘

1. 최적화의 개념

 최적화(optimization)란 어떤 값을 최소화하거나 최대화하는 것으로 문제를 바라보는 관점이다. 머신러닝에서는 오차를 최소화 하는 것을 최적화라고 한다. 모든 가능한 값을 시도해 오차가 최소가 되는 지점을 찾는 것은 실질적으로 불가능하기 때문에 최적화 알고리즘이 필요하다.

 

2. 최적화 알고리즘의 종류

 배치 경사 하강법
 배치 경사 하강(batch gradient descent, BGD)은 오차 함수의 최저점에 도달할 떄까지 오차 함수의 언덕을 내려가는 방법이다. 경사 하강을 하기 위해서는 경사와 학습률을 결정해야 한다. 경사는 가장 가파른 경사를 선택해야 하고, 학습률은 너무 좁지도 않고 너무 넓지도 않게 적절히 결정해야 한다. 경사를 계산하기 위해 모든 훈련 데이터를 이용하기 때문에 매우 느리다.

확률적 경사 하강법
 확률적 경사 하강법(stochastic gradient descent, SGD)은 무작위로 데이터 점을 골라 데이터 점 하나를 이용해 가중치를 수정하는 방법이다. 이 방법을 이용하면 경사 하강법과 달리 진동하지 않는다. 경사를 계산하기 위해 하나의 훈련 데이터를 이용하기 때문에 BGD보다 빠르다.

미니배치 경사 하강법
 미니배치 경사 하강법(mini-batch gradient descent, MB-GD)은 BGD와 SGD의 절충안이다. 훈련 데이터를 몇 개의 미니배치(mini-batch)로 분할한 다음 이 미니배치로부터 경사를 계산한다. BGD보다 빠르며 SGD보다 계산 효율이 좋다.