본문 바로가기
IT 와 Social 이야기/NLP 자연어처리

[edwith] 딥러닝을 이용한 자연어 처리 : Gradient-Based Optimization(경사기반 최적화) - 조경현 교수

by manga0713 2021. 3. 16.

 

 

[LECTURE] Gradient-Based Optimization : edwith

학습목표 경사기반 최적화기법에 대해 학습합니다. 핵심키워드 경사기반 최적화기법(Gradient-Based Optimization) 확률적 경사 하강법(Stochastic Gradi... - 커넥트재단

www.edwith.org

 

- 출처: [edwith] 딥러닝을 이용한 자연어 처리 : Gradient-Based Optimization(경사기반 최적화) - 조경현 교수

 

 

학습내용

  • Off-the-shelf gradient-based optimization
    • Gradient descent, L-BFGS, Conjugate gradient 등 방법 들이 있습니다.
    • 그러나 위 방법들은 매개변수(parameters)가 많아질 수록 시간이 오래걸립니다.
    • 그 이유는 훈련 샘플 전체의 Loss 는 각 샘플에 대한 Loss 의 합으로 구해지며, 데이터가 많아 질 수록 오래 걸리기 때문입니다.
  • 확률적 경사 하강법(Stochastic Gradient descent)
    • 가정은 "전체 비용은 훈련 샘플의 일부를 선택 후 나눠서 계산한 전체 비용의 근사값(Approximate)와 같다." 입니다.  
    • 과정:

1. M개의 훈련 샘플을 선택합니다. 이를 미니배치(Mini batch) 라고 합니다.

 D={(x1,y1),,(xN,yN)}  

2. 미니배치 경사를 계산합니다.

3. 매개변수를 업데이트합니다.

 θθ+ηL(θ;D) 

4. 검증 세트로 구한 validation loss 가 더 이상 진전이 없을때까지 진행합니다

  • Early Stopping
    • 과적합(Overfitting)을 방지하기 위한 제일 좋은 알고리즘입니다.
    • 검증 세트의 Loss 가장 낮은 곳에서 훈련을 멈춥니다.
  • 적응적 학습률(Adaptive Learning Rate)
    • 확률적 경사 하강 법은 학습률에 민감합니다. 이를 보완하기 위해서 다양한 Adam, Adadelta 등 다양한 알고리즘이 나왔습니다.