익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
확률적 경사 하강법
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
확률적 경사 하강법(Stochastic Gradient Descent, SGD)은 머신러닝 및 딥러닝에서 손실 함수를 최소화하기 위해 훈련 데이터 중 하나의 샘플만을 사용하여 매개변수를 업데이트하는 최적화 알고리즘이다. ==개요== 확률적 경사 하강법은 경사 하강법의 변형 기법으로, 전체 데이터셋이 아닌 단일 샘플을 기준으로 손실 함수의 기울기를 계산하고 그 결과를 즉시 반영해 파라미터를 갱신한다. '확률적'이라는 표현은 각 반복마다 선택되는 샘플이 무작위로 결정되기 때문에 붙은 명칭이다. ==작동 방식== 학습 데이터가 N개 있을 때, 에포크(epoch)마다 다음의 절차를 반복한다. *훈련 샘플 하나를 무작위로 선택한다. *해당 샘플에 대해 순전파와 역전파를 수행하여 기울기를 계산한다. *계산된 기울기를 사용하여 파라미터를 즉시 갱신한다. *전체 샘플에 대해 반복하면 에포크 1회가 완료된다. ==특징== *매 반복마다 빠르게 파라미터를 갱신하므로 학습 속도가 빠르다. *연산량이 적어 적은 자원으로도 학습이 가능하다. *기울기 추정이 불안정하고 손실 함수의 진동이 심할 수 있다. *불규칙한 경로를 따르기 때문에 특정 지점에 수렴하지 않고 계속 변동할 수 있다. ==장점과 단점== *장점 **계산량이 적고 빠르게 초기 수렴이 가능하다. **온라인 학습이나 실시간 학습에 적합하다. **지역 최솟값을 피할 가능성이 높다. *단점 **손실 함수가 불안정하게 진동하며 수렴이 늦을 수 있다. **최적 지점 근처에서 정확한 수렴을 유도하기 어렵다. **학습률 조절이 매우 중요하며, 고정된 학습률은 수렴을 방해할 수 있다. ==활용 및 변형== SGD는 다양한 신경망 구조에서 기본 최적화 알고리즘으로 사용되며, 다음과 같은 개선형 알고리즘의 기반이 된다. *모멘텀(Momentum) *Adam *RMSprop 이들은 SGD의 단점을 보완하기 위해 고안된 방법들이다. === 변형: 모멘텀 === 확률적 경사 하강법은 반복 과정에서 샘플 단위로 기울기를 계산하기 때문에, 손실 함수의 경로가 불안정하게 진동하거나 수렴 속도가 느려질 수 있다. 이러한 문제를 완화하기 위한 방법 중 하나가 모멘텀(momentum) 기법이다. 모멘텀은 현재의 기울기뿐만 아니라 이전 단계의 기울기를 일정 비율 반영하여 파라미터를 업데이트한다. 이를 통해 경사 방향을 보다 일관성 있게 유지하고, 손실 함수 표면에서 불필요한 진동을 줄이며 수렴 속도를 향상시킬 수 있다. 일반적으로 모멘텀 기법은 다음과 같은 방식으로 작동한다. *과거 기울기를 누적하여 현재 기울기에 더해준다. *누적 비율을 조절하는 하이퍼파라미터 s는 0과 1 사이의 값으로, 보통 0.9에 가깝게 설정한다. 이 기법을 적용한 경우, 수렴 경로가 더욱 부드럽고 빠르며, 특히 협곡 구조의 손실 함수 지형에서 효과적이다. === 변형: RMSprop === RMSprop(Root Mean Square Propagation)은 확률적 경사 하강법에서 발생하는 진동과 느린 수렴 속도를 개선하기 위해 제안된 기법이다. 이 알고리즘은 각 파라미터마다 기울기의 제곱값을 지수적으로 평균 내어 저장하고, 이를 파라미터 업데이트 시 나눗값으로 사용한다. RMSprop은 학습률을 자동으로 조절하는 효과를 가지며, 특히 손실 함수의 곡률이 각기 다른 축마다 다를 때(예: 비등방성 표면) 빠르게 수렴할 수 있도록 한다. 대부분의 딥러닝 프레임워크에서는 기본 최적화 알고리즘으로 지원되며, RNN이나 작은 배치 크기를 사용하는 환경에서 유리하게 작동한다. === 변형: Adam === Adam(Adaptive Moment Estimation)은 모멘텀과 RMSprop을 결합한 방식으로, 확률적 경사 하강법의 대표적인 고급 최적화 알고리즘이다. 기울기의 1차 모멘트(평균)와 2차 모멘트(분산)를 동시에 추정하여 학습률을 조정한다. Adam은 다음과 같은 특징을 갖는다. *학습률을 각 파라미터마다 적응적으로 조정한다. *초기 설정값에 민감하지 않고 대부분의 문제에서 잘 작동한다. * 빠른 수렴 속도와 일반화 성능의 균형이 뛰어나며, 대부분의 딥러닝 모델에서 기본값으로 사용된다. Adam은 복잡한 신경망 구조나 대규모 데이터셋에서도 안정적으로 학습이 가능하다는 점에서 널리 채택되고 있다. ==같이 보기== *[[경사 하강법]] *[[배치 경사 하강법]] *[[미니배치 경사 하강법]] *[[하이퍼파라미터]] *[[학습률]] ==참고 문헌== *Ian Goodfellow, Yoshua Bengio, Aaron Courville, 《Deep Learning》, MIT Press *Sebastian Raschka, 《Python Machine Learning》, Packt Publishing ==각주== [[분류:인공지능]] [[분류:딥 러닝]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록