확률적 경사하강법(SGD: Stochastic Gradient Decent)

 

경사하강법(Gradient Descent)은 목표지점을 효율적으로 찾아갈 수 있다는 장점이 있지만, 전체 데이터를 모두 학습한 후에 변수의 증분만큼 값을 변경하기 때문에 계산 속도가 느리다는 단점이 있다.

이러한 문제를 해결하기 위해 고안된 방법이 바로 확률적 경사하강법(SGD: Stochastic Gradient Descent)이다. 확률적 경사하강법은 전체 데이터를 사용하지 않고, 일부 샘플만을 사용하여 빠르게 가중치를 업데이트하는 방식이다.

확률적 경사하강법

확률적 경사하강법의 개념을 더 명확히 이해하기 위해 기존의 경사하강법(GD)과 비교해보자. GD는 전체 데이터를 한 번에 학습하여 w를 업데이트한다. 이 방식은 한 번의 학습에 시간이 오래 걸리지만, 그만큼 업데이트 횟수는 줄어드는 장점이 있다.

반면, SGD는 전체 데이터 중 일부만 샘플링하여 소규모 학습 데이터를 만든 뒤, 이 데이터를 기반으로 w를 업데이트한다. 덕분에 각 학습 사이클마다 빠르게 계산을 진행할 수 있지만, 샘플링된 데이터를 사용하기 때문에 전체적으로는 더 많은 횟수의 업데이트가 필요하다.

SGD는 단순히 속도가 빠르다는 장점 뿐만 아니라, 샘플링을 기반으로 한다는 특성 덕분에 강화학습과 매우 잘 어울린다. 강화학습에서는 에이전트가 환경과 상호작용하면서 얻은 데이터를 활용해 학습을 진행하게 되는데, 이 데이터는 대부분 순차적으로 수집되거나 일부만 활용되는 경우가 많다.

이러한 상황에서 SGD는 강화학습 알고리즘을 더 효율적이고 현실적인 방식으로 구현할 수 있게 해준다. 앞으로 살펴보게 될 다양한 강화학습 알고리즘에서는 이 SGD의 개념을 바탕으로 수식을 단순화하고, 실시간으로 학습을 가능하게 만드는 기법들을 접하게 될 것이다.



댓글 쓰기

Please Select Embedded Mode To Show The Comment System.*

다음 이전