λ₯λ¬λ νμ΅μ ν΅μ¬ μκ³ λ¦¬μ¦, κ²½μ¬νκ°λ²! μ΄λ¦μ λ―μ€μ§λ§, μ΄ν΄νλ©΄ μ κ²½λ§ νλ ¨μ μ 체 κ΅¬μ‘°κ° λ³΄μ΄κΈ° μμν©λλ€.
μλ νμΈμ! μ€λμ λ₯λ¬λμ μ λλ‘ κ³΅λΆνλ €λ©΄ λ°λμ μμμΌ ν κ°λ , λ°λ‘ κ²½μ¬νκ°λ²(Gradient Descent)μ λν΄ μμΈν μμλ³΄λ € ν©λλ€. μ²μμ μνμ μΌλ‘ λκ»΄μ§ μ μμ§λ§, κ°λ λ§ μ λλ‘ μ‘μΌλ©΄ λ€μν λͺ¨λΈ νμ΅μ μμ κ°μ΄ μκΈ°μ€ κ±°μμ.
λͺ©μ°¨
1. κ²½μ¬νκ°λ²μ΄λ?
κ²½μ¬νκ°λ²(Gradient Descent)μ μ κ²½λ§μ΄ μ΅μ μ κ°μ€μΉλ₯Ό μ°ΎκΈ° μν΄ μ¬μ©νλ μ΅μ ν μκ³ λ¦¬μ¦μ λλ€. μμ€ ν¨μ(Loss Function)μ κ°μ μ΅μννλ λ°©ν₯μΌλ‘ νλΌλ―Έν°(κ°μ€μΉμ νΈν₯)λ₯Ό μ λ°μ΄νΈν©λλ€.
- κΈ°μΈκΈ°(κ²½μ¬)λ₯Ό λ°λΌ μ΅μκ°μ ν₯ν΄ λ΄λ €κ°λ λ°©μ
- μ°κΈΈμ λ°λΌ μλλ‘ λ΄λ €κ°λ λλκ³Ό μ μ¬
- λͺ¨λ λ₯λ¬λ νμ΅μ ν΅μ¬ κΈ°λ°
2. κ²½μ¬νκ°λ² μμκ³Ό μ리
κ²½μ¬νκ°λ²μ λ€μκ³Ό κ°μ μμμ κΈ°λ°μΌλ‘ μλν©λλ€:
θ ← θ - α × ∇L(θ)
- θ (μΈν): νμ΅ν νλΌλ―Έν° (κ°μ€μΉ, νΈν₯ λ±)
- α (μν): νμ΅λ₯ (Learning Rate)
- ∇L(θ): μμ€ ν¨μμ νλΌλ―Έν°μ λν λ―ΈλΆ (κ·ΈλλμΈνΈ)
μ΄ μμμ ν΅ν΄ νμ¬ μμΉμ κΈ°μΈκΈ° λ°©ν₯μΌλ‘ νλΌλ―Έν°λ₯Ό μ‘°κΈμ© μ λ°μ΄νΈνλ©°, μμ€ κ°μ΄ μ μ μμμ§λλ‘ μ λν©λλ€. μ½κ² λ§ν΄, μμ€ ν¨μμ κ²½μ¬(κΈ°μΈκΈ°)λ₯Ό λ°λλ‘ λ°λΌ μ΄λνλ λ°©μμ λλ€.
3. λ€μν κ²½μ¬νκ°λ² μ’ λ₯
κ²½μ¬νκ°λ²μ λ°μ΄ν° μ²λ¦¬ λ°©μμ λ°λΌ μ¬λ¬ κ°μ§ λ³νμ΄ μ‘΄μ¬ν©λλ€. λνμ μΈ 3κ°μ§ λ°©λ²μ μ΄ν΄λ³Όκ²μ.
- λ°°μΉ κ²½μ¬νκ°λ² (Batch Gradient Descent)
- μ 체 λ°μ΄ν°μ μ ν λ²μ μ¬μ©ν΄ κΈ°μΈκΈ°λ₯Ό κ³μ°
- μ ννμ§λ§ κ³μ°λμ΄ λ§κ³ λλ¦Ό
- νλ₯ μ κ²½μ¬νκ°λ² (Stochastic Gradient Descent, SGD)
- λ°μ΄ν° ν κ±΄μ© μ λ°μ΄νΈ
- μλλ λΉ λ₯΄μ§λ§ λ³λμ±μ΄ νΌ (μ§λ)
- λ―Έλλ°°μΉ κ²½μ¬νκ°λ² (Mini-batch Gradient Descent)
- λ°μ΄ν°λ₯Ό μ¬λ¬ κ°μ μμ λ°°μΉλ‘ λλμ΄ νμ΅
- μλμ μμ μ± λͺ¨λ ν보 (μ€λ¬΄μμ κ°μ₯ λ§μ΄ μ¬μ©)
λλΆλΆμ λ₯λ¬λ νλ μμν¬μμλ Mini-batch SGDκ° κΈ°λ³Έκ°μΌλ‘ μ€μ λμ΄ μκ³ , μ¬κΈ°μ Momentum
μ΄λ Adam
κ°μ μ΅μ ν κΈ°λ²μ μΆκ°νκΈ°λ ν©λλ€.
4. νμ΅λ₯ κ³Ό μλ ΄ λ¬Έμ
κ²½μ¬νκ°λ²μ μ¬μ©ν λ κ°μ₯ μ€μνλ©΄μλ λ―Όκ°ν νμ΄νΌνλΌλ―Έν°κ° νμ΅λ₯ (Learning Rate, α)μ λλ€. νμ΅λ₯ μ€μ μ΄ μλͺ»λλ©΄ λ€μκ³Ό κ°μ λ¬Έμ κ° λ°μν μ μμ΄μ.
νμ΅λ₯ μν© | λ¬Έμ μ |
---|---|
λ무 μμ | νμ΅ μλκ° λ§€μ° λλ¦¬κ³ , μ§μ μ΅μκ°μ κ°ν μ μμ |
λ무 νΌ | μ€νλ € λ°μ°νκ±°λ, μμ€μ΄ λΆμμ νκ² ν |
μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ νμ΅λ₯ κ°μ(Learning Rate Decay), μ μν νμ΅λ₯ (Adaptive Learning Rate) κ°μ μ λ΅μ΄ μ¬μ©λ©λλ€. λνμ μΌλ‘ Adam
, RMSProp
, Adagrad
κ°μ μκ³ λ¦¬μ¦μ΄ μμ΅λλ€.
- Adam: μλμΌλ‘ νμ΅λ₯ μ‘°μ + λͺ¨λ©ν ν¨κ³Ό ν¬ν¨
- RMSProp: μ΅κ·Ό κ·ΈλλμΈνΈ λ³νλμ λ°μ
- Adagrad: νμ΅μ΄ λΉ λ₯΄μ§λ§ νλ°μλ μλκ° λλ €μ§
κ²°λ‘ : νμ΅λ₯ μ μ±λ₯μ μ’μ°νλ ν΅μ¬ μμμ΄λ―λ‘ μ€νμ ν΅ν΄ μ΅μ κ°μ μ°ΎμμΌ ν©λλ€.
κ²½μ¬νκ°λ²μ μ κ²½λ§μ νμ΅μ κ°λ₯νκ² νλ ν΅μ¬ μμ§μ λλ€. μ΄ μ리λ₯Ό μ΄ν΄νλ©΄ λ₯λ¬λμ΄ λ¨μν λ§λ²μ΄ μλ, μνμ μΌλ‘ μ€κ³λ μ΅μ ν κ³Όμ μ΄λΌλ κ±Έ μ μ μμ΄μ. μ€λ λ°°μ΄ λ΄μ©μ λ°νμΌλ‘, μ¬λ¬λΆλ λ€μν μ΅μ ν κΈ°λ²μ μ§μ μ€νν΄λ³΄κ³ λλ§μ νλ λ Ένμ°λ₯Ό μμ보μκΈΈ μΆμ²λ립λλ€. κΆκΈν μ μ΄λ μ€μ΅ νκΈ°, λκΈλ‘ 곡μ ν΄μ£Όμλ©΄ ν¨κ» λ κΉμ΄ λλ λ³Ό μ μμ΄μ!