RMSProp 관련 질문입니다.
173
6 asked
안녕하세요!
섹션 9에서 AdaGrad, RMSProp 강의를 보다 궁금한 점이 생겨 질문드립니다.
제가 이해한 바로는, RMSProp은 학습이 잘 안되었음에도 t가 커질수록 $G_t$가 커지는 문제를 최대한 막는 방법이라고 이해했습니다.
$G_t = \gamma G_{t-1} + (1 - \gamma)g_t^2$
그런데 위 식대로라면 미분값($g_t$)이 커질때 오히려 $G_t$가 감소할수도 있을 것 같은데
RMSProp은 AdaGrad와 달리 learning_rate가 커지는 쪽으로도 조절될 수 있도록 한 것인가요?
만약 맞다면 제가 알기로는 learning_rate는 t에 따라 감소하도록 하는 것이 일반적이라고 알고 있는데
RMSProp에서 이렇게하면 학습에서 어떤 이점이 있는 것인지 궁금합니다.
Answer 1
1
안녕하세요. 답변 도우미입니다.
질문하신 내용에 대해 답변드리겠습니다.
RMSProp은 AdaGrad의 핵심 문제 중 하나를 해결하기 위해 고안된 알고리즘입니다. AdaGrad에서는 시간이 지남에 따라 누적된 그라디언트 제곱의 합 \( G_t \) 때문에 학습률이 과도하게 감소할 수 있습니다. 이로 인해 학습이 충분히 일어나기 전에 학습률이 너무 작아져 학습이 멈추는 문제가 발생할 수 있습니다.
RMSProp은 이를 방지하기 위해 지수 가중 이동 평균(Exponential Weighted Moving Average)을 사용합니다. 이 방법은 최근 그라디언트 정보에 더 많은 가중치를 두고 과거 그라디언트 정보는 점차 잊어가도록 설계되었습니다. 수식에서 \( \gamma \)는 보통 0.9와 같은 값으로 설정되어 최근의 그라디언트 \( g_t \)에 더 많은 가중치를 두게 됩니다.
\( G_t = \gamma G_{t-1} + (1 - \gamma)g_t^2 \)
여기서 \( G_t \)는 이동 평균이며, \( g_t \)는 시간 \( t \)에서의 그라디언트입니다.
미분값 \( g_t \)가 클 때, 즉, 그라디언트가 크게 변할 때 RMSProp의 \( G_t \)는 더 크게 증가하지 않고, 대신 최근의 정보를 반영하여 상대적으로 안정적인 학습률 조정이 가능합니다. 이는 AdaGrad에서 발생할 수 있는 문제를 완화시키면서도, 각 파라미터에 대해 맞춤형 학습률 조정을 가능하게 합니다.
학습률이 감소하는 것이 일반적이라는 것은 맞습니다만, RMSProp의 경우 학습률을 감소시키는 것뿐만 아니라 필요에 따라 증가시킬 수 있는 유연성을 제공합니다. 이는 특히 비볼록(non-convex) 최적화 문제, 예를 들어 딥러닝 학습에서 유용합니다. 딥러닝의 경우, 최적화 과정이 복잡하고 매끄럽지 않은 에너지 표면을 탐색하는 것과 유사하기 때문에, 학습률이 너무 빨리 감소하는 것을 방지하고, 필요에 따라 다시 증가시킬 수 있는 유연성이 중요합니다. 이렇게 함으로써, RMSProp은 이러한 복잡한 최적화 문제에 적합한 방법으로 작동할 수 있습니다.
감사합니다.
강의 필기는 어떻게 하나요?
0
82
1
섹션 5퀴즈 4번 문제 보기 오류로 보임
0
62
1
섹션17 81번이랑 82번 강의가 중복되는 것 같아서 질문드립니다.
0
87
2
강의교안이 안 옵니다
0
78
1
17-2강 Transfer learning 실습 관련 질문
0
134
2
13섹션 강의자료가 없네요^^
0
91
1
강의자료가 없네요.
0
103
2
LSTM 모델 학습 관련한 질문입니다.
0
127
1
MSE LOSS 관련
0
129
1
test시 minibatch 사용?
0
133
1
Average Test loss 계산식 문의
0
101
1
파이토치 설치
0
244
1
[Pytorch 기울기의 누적 곱? 누적 합?]
0
131
1
3d 텐서에서의 축 구분 질문
0
118
1
항상 tensor([0., 0., 0.]) 형식으로만 나오는 이유
0
110
1
강의자료 PDF 다운로드에 관하여
0
130
1
[실무에서 판다스 copy()메서드의 깊은복사 얕은복사 조정 소요가 생길까?]
0
116
1
섹션 다양한 Optimizer 정리하기 중 딥러닝으로 Regression 문제 적용해보기 (House Price Kaggle 문제) 강의에서 오류가 발생합니다.
0
148
1
마지막에 confusion matrix 작성할때
0
157
1
아나콘다를 사용하지 않고 파이토치 사용하는 방법
0
849
1
test data 의 loss 계산식 문의
0
285
1
차원 출력 관련 문의
0
242
1
섹션 7-4 당뇨병
0
383
3
BackPropagation 질문입니다
0
372
1

