Adam Optimizer, Loss 튐 현상의 진짜 원인딥러닝 모델을 학습하다 보면 손실(Loss) 값이 안정적으로 감소하지 않고 순간적으로 치솟는, 이른바 "Loss가 튄다"는 현상을 마주하곤 합니다. 많은 분들이 단순히 학습률(learning rate)이 너무 높기 때문이라고 생각하지만, 사실 원인은 Adam Optimizer의 구조적 특징에 있습니다.학습 중 Loss가 위로 튀는 현상Adam의 업데이트 식에 숨겨진 비밀Adam Optimizer는 그래디언트의 1차 모멘텀(m̂ₜ)과 2차 모멘텀(v̂ₜ)을 함께 사용하여 파라미터를 업데이트합니다. 튐 현상의 원인은 바로 이 업데이트 수식, 특히 분모에 있습니다.Δₜ = α · (m̂ₜ / (√v̂ₜ + ε))여기서 v̂ₜ는 그래디언트 제곱값의 지수 ..
Adam Optimizer의 숨겨진 안전장치, Effective Stepsize 파헤치기 Adam Optimizer는 딥러닝에서 가장 널리 쓰이는 최적화 알고리즘 중 하나입니다. 스스로 학습률을 조절하며 빠르고 안정적인 수렴을 돕는 것으로 알려져 있죠. 하지만 Adam이 어떻게 안정성을 확보하는지에 대한 비밀은 "Effective Stepsize"의 상한(upper bound) 구조에 숨어 있습니다. 이번 포스팅에서는 Adam이 파라미터를 업데이트하는 실제 보폭(stepsize)이 어떻게 제한되는지, 그리고 이것이 학습 과정에서 어떤 의미를 갖는지 깊이 있게 살펴보겠습니다.Effective Stepsize: Adam의 실제 보폭 우리가 설정하는 학습률(α)이 실제 파라미터 업데이트에 그대로 적용되는..
Gradient scaling이란 무엇인가?'Gradient scaling'은 말 그대로, 어떤 파라미터의 gradient가 일정한 비율로 커지거나 작아지는 현상을 말한다. 표면적으로는 gradient 자체의 문제처럼 보이지만, 이 스케일 차이는 사실 forward 과정의 입력 x에 의해 유발된다. 선형층 z = wTx를 예로 들면, 역전파 시 gradient는 다음과 같이 계산된다:∂L/∂w_i = ∂L/∂z ⋅ x_i즉, 입력 특성 x_i의 크기가 클수록 해당 방향의 gradient도 커진다. 이로 인해, 각 파라미터가 받는 gradient의 크기가 입력 스케일에 따라 달라지게 된다. 이것이 바로 'gradient scaling' 문제의 본질이다.Gradient scaling 문제는 왜 optimiz..
- Total
- Today
- Yesterday
- PCA
- vlm
- MGFA
- separable
- 다중세밀도
- MobileNet
- LossFunction
- DeepLearning
- 선형대수
- classimbalance
- imbalanceddata
- fisherconsistency
- CriticV
- eigenvector
- Example
- 딥러닝
- 특징융합
- 논문리뷰
- 경량화 모델
- tensorflow
- GradientScaling
- code
- convolution
- Optimizer
- ScientificReports
- logitadjustment
- GradientDescent
- AdamOptimizer
- depthwise
- Focal loss
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |