Gradient Descent Methods (Boost Course DL Lecture 5)

박상우·2023년 1월 5일
0

Boost Course

목록 보기
4/7
post-thumbnail

Gradient Descent

  • Stochastic gradient descent
    데이터 하나마다 Gradient를 계산

  • Mini-batch gradient descent
    데이터를 배치로 나누어 Gradient를 계산

  • Batch gradient descent
    전체 데이터를 사용해 Gradient를 계산

보통 Mini-batch로 사용

Batch-size Matters

Large batch-size와 Small batch-size에는 유의미한 차이가 있음
small batch-size를 통해 Flat Minimum을 찾는 것이 좋음

Optimizer

SGD

가장 기본적인 method
LR을 잡는 것에 어려움이 있음

Momentum

관성
이전 배치의 정보를 활용해 베타라는 하이퍼 파라미터를 통해 관성을 더함

Nesterov Accelerated Gradient

변화율을 사용하기에 Local Minimum에 더욱 빨리 Converge

Adagrad

adaptive gradient
neural network의 parameter가 많이 변한 것에는 적게 변화를 주고 parameter가 적게 변한 것에는 큰 변화를 줌
G가 바로 Sum of gradient squares
결국 G는 무한대로 가게 되고 학습이 멈추는 현상이 생김

AdaDelta

G가 너무 커지는 현상을 막기 위해 Window를 설정해서 그 안에서만 계산
다만 parameter가 너무 커지면 이를 저장하는데 GPU가 감당 못할수 있는 확률이 높아짐 -> 이를 방지하기 위한 수식 존재

그럼에도 불구하고 AdaDelta 내부에 LR이 존재하지 않기에 잘 쓰이지 않음

RMSprop

AdaGrad의 분자에 베타라는 step_size를 넣은 값

ADAM

gradient square의 exp함수(RMSprop)에 momentum을 둘 다 활용하는 것

profile
세상아 덤벼라

0개의 댓글