검수요청.png검수요청.png

확률적 경사하강법

위키원
sosodam (토론 | 기여)님의 2020년 8월 14일 (금) 11:41 판
이동: 둘러보기, 검색

확률적 경사하강법(Stochastic Gradient Descent, SGD)은 무작위로 배치 크기가 1인 단 한 개의 데이터를 추출하여 기울기를 계산하고, 경사 하강 알고리즘을 적용하는 방법을 말한다. 빠르게 최적점을 찾을 수 있지만 비교적 노이즈가 심하다는 단점이 있다.

개요

확률적 경사하강법

확률적 경사하강법은 머신러닝 알고리즘에 대한 최적의 매개변수 구성을 찾는 방법이다. 네트워크 오류를 줄이기 위해 반복적으로 머신러닝 네트워크 구성에 작은 조정을 한다. 오류 함수가 일반적인 포물선처럼 간단한 경우는 드물다. 대부분 기울기가 심한 언덕과 계곡이 많다. 이 그래프의 왼쪽에서 실제 경사하강법이 시작되면 이 지점에서 어느 방향으로 이동하든 위로 이동해야 하기 때문에 왼쪽 계곡에서 멈춘다. 이 지점을 로컬 최소치라고 한다. 그러나 그래프에는 더 낮은 점이 또 있다. 전체 그래프에서 가장 낮은 지점은 확률적 경사하강법이 찾으려고 하는 전역 최소값이다. 확률적 경사하강법은 각 훈련 지점 후에 네트워크의 구성을 조정하여 전역 최소값을 찾으려고 한다. 이 방법은 전체 데이터 세트에 대해 오류를 줄이거나 기울기를 찾는 대신 무작위로 선택한 배치에 대한 기울기를 근사하게 함으로써 오류를 줄인다. 실제로 무작위 선택은 데이터 세트를 무작위로 섞고 단계적으로 배치를 통해 작업함으로써 달성된다. 만약 네트워크가 훈련 예제를 잘못 받으면 이후에 정확하게 수행하기 위해 구성을 업데이트할 것이다. 그러나 구성 업데이트로 다른 질문을 잘못 받아 네트워크의 전체 오류를 증가시킬 수 있다. 따라서 모든 훈련 반복이 확률적 경사하강 알고리즘을 통해 네트워크를 개선할 수 있는 것은 아니다. 반면에 확률적 경사하강법은 모델을 로컬 최소값에서 전역 최소값으로 이동시키는 방식으로 네트워크 매개변수를 조정할 수 있다. 오목함수를 다시 살펴보면, 훈련 사례를 처리한 후 알고리즘은 우리가 있던 로컬 최소값에서 벗어나기 위해 그래프에서 오른쪽으로 이동하도록 선택할 수 있다. 그렇게 하면 네트워크의 오차가 커지지만, 언덕 위로 이동할 수 있다. 이렇게 하면 추가 훈련을 통해 경사하강법이 전역 최소값으로 이동하도록 할 수 있다. 확률적 경사하강법의 이점은 일반적으로 최소값으로 수렴하면서 실제 경사하강법보다 훨씬 적은 계산이 필요하다는 것이다.[1]

각주

참고자료

같이 보기


  검수요청.png검수요청.png 이 확률적 경사하강법 문서는 인공지능 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.