콘텐츠로 바로가기

Optimization Logic & Gradient Descent

손실 함수라는 거대한 수리적 계곡을 따라 가장 낮은 지점(최소 오차)을 찾아가는 최적화의 물리적 여정과, 기계의 학습 속도와 안정성을 결정하는 수치적 기울기 연산의 역학을 다룹니다.

sys.entry
M

Me

hyunyoun's Blog

posts7 min read

1. Overview

최적화 로직 및 경사 하강법(Optimization Logic & Gradient Descent, OGD)은 모델의 무작위한 가중치를 정답을 향한 정교한 수리적 좌표로 이동시켜, 시스템의 오차를 물리적으로 소멸시키는 '학습의 구동 엔진 물리학'입니다.

학습자는 함수의 기울기(Gradient)를 따라 수치적인 최저점을 찾아가는 경사 하강법의 물리적 수순과, 하드웨어 연산 하중을 줄이기 위해 데이터를 쪼개서 학습하는 **SGD(Stochastic Gradient Descent)**의 수리적 효율을 배웁니다. 특히, 학습의 보폭을 결정하는 학습률(Learning Rate) 수치가 모델의 수렴과 발산에 미치는 물리적 영향을 익힙니다. 이를 통해 이론적 모델을 실제 하드웨어에서 동작 가능한 '최적의 지능'으로 담금질하는 하이엔드 튜닝 거버넌스 역량을 확보합니다.

2. Scope & Boundaries

In-Scope

  • Objective Functions: 손실 함수의 수리적 기하학적 형상(Convex vs Non-convex) 분석
  • Gradient Computation: 연쇄 법칙(Chain Rule)을 통한 수치적 기울기 도출 및 물리적 방향 설정
  • Optimizer Varieties: Momentum, RMSProp, Adam 등 속도와 관성을 수리적으로 반영한 최적화 알고리즘
  • Convergence Mechanics: 수렴 판정 기준 수치와 로컬 미니마(Local Minima) 탈출 물리 전략
  • Learning Rate Scheduling: 학습 진행에 따른 보폭 수치의 동적 물리 보정

Out-of-Scope

  • 수치 해석(Numerical Analysis) 자체의 순수 수학적 공리 (02-06-XX 영역에서 분담)
  • 오차 역전파를 수행하는 신경망 아키텍처 자체 (11-02-01 NNF 영역에서 분담)

Boundaries

  • OGD vs. Basic Math: 단순 미분이 '순간의 변화량'을 구하는 것이라면, OGD는 '그 변화량을 반대로 뒤집어 시스템의 수리적 에너지를 물리적으로 최소화하는 반복 공정'에 집중하여 구분합니다.

3. Counterexample

  • 단순히 "학습률을 작게 하기"라 설명하는 것은 OGD 학습이 아닙니다. 왜 학습률이 너무 작으면 수리적으로는 정확해 보이지만 실제 하드웨어 학습 소요 시간(tt)이 영원히 수렴하지 않는 물리적 비효율에 빠지는지 증명할 수 있어야 하며, Adam과 같은 자동 최적화 도구가 '관성'과 '속도'라는 물리 수치를 어떻게 수리적으로 결합하여 계곡의 평탄한 지점(Plateau)을 통과하는지 논증하지 못한다면 최적화의 본질을 이해하지 못한 것입니다.

4. Prerequisites

  • Linear Algebra & Vector Calculus (Basic): 02-06-XX의 편미분, 연쇄 법칙, 헤시안 행렬 이해가 필수입니다.
  • Machine Learning Basics (Basic): 11-01-01의 손실 함수(Loss) 및 파라미터 업데이트 개념 이해가 필수입니다.

5. Learning Map

  1. Downhill Pursuit: 오차라는 높은 산에서 가장 낮은 평지(최소 오차)로 내려가는 물리적 길찾기를 이해합니다.
  2. Step Size Dynamics: 보폭(Learning Rate)이 너무 크면 지나치고, 작으면 갇히는 수리적 딜레마를 해결합니다.
  3. Smart Momentum: 과거의 움직임을 기억하여 수리적 웅덩이(Local Minima)를 물리적으로 뛰어넘습니다.
  4. Precision Tuning: 수조 개의 파라미터를 0.0001의 오차 이내로 정렬시키는 하이엔드 최적화 거버넌스를 완성합니다.

6. Learning Topics

Basic

Core: 경사 하강법의 원리와 기울기 (Gradient Physics)

  • Why to Learn: 모델이 "어느 방향으로 얼마큼 고쳐야 정답에 가까워질지" 수리적으로 지시하기 위해서입니다.
  • What to Learn:
    • Partial Derivatives: 각 가중치가 오차에 물리적으로 기여하는 수치적 비율 조사
    • Update Rule: w=wηLw = w - \eta \nabla L 이라는 기계 학습의 가장 위대한 물리 방정식
    • Global vs Local Minima: 전체 시스템에서 가장 좋은 점과, 가짜로 좋아 보이는 수리적 지점 구분
  • How to Learn:
    • f(x)=x2f(x) = x^2 함수에서 임의의 점을 찍고, 미분값의 반대 방향으로 수평 이동하며 0으로 수리 수렴하는 실습
    • 학습률(η\eta) 수치를 10배씩 늘리며, 수렴하던 그래프가 갑자기 물리적으로 발산하여 값이 무한대(infinf)가 되는 현상 관찰
  • Implement: 현재 기울기를 계산하여 변수의 수치를 보정하는 기초 GradientUpdater

Core: 확률적 경사 하강법과 배치 (SGD Mechanics)

  • Why to Learn: 수억 개의 데이터를 한꺼번에 연산하지 못하는 하드웨어 메모리의 물리적 한계를 수리적으로 돌파하기 위함입니다.
  • What to Learn:
    • Batch, Mini-batch, Stochastic: 데이터를 물리적으로 묶어서 수리 처리하는 단위의 차이
    • Noise in Learning: 무작위성(StochasticStochastic)이 오히려 로컬 미니마를 탈출하게 돕는 물리적 기제
    • Epochs vs Iterations: 전체 하드웨어 학습 사이클의 수치적 관리
  • How to Learn:
    • 전체 데이터를 쓰는 'BGD'와 일부만 쓰는 'SGD'의 손실 함수 수치 변화 궤적을 비교하여 물리적 요동 확인 실습
    • 배치 사이즈(Batch Size) 수치에 따라 하드웨어 GPU 사용률(%\%)과 학습 안정성이 어떻게 수리적으로 반비례하는지 연구
  • Implement: 대량의 데이터를 정해진 수치 단위로 쪼개어 공급하는 Data_Batcher

Practical

Core: 고급 옵티마이저와 정규화 (Advanced Optimization)

  • Why to Learn: 복잡한 지형(신경망 등)에서도 길을 잃지 않고 하이엔드 성능에 도달하는 수리적 가속기를 달기 위해서입니다.
  • What to Learn:
    • Momentum: 가던 방향의 수리적 관성을 유지하여 평탄한 지형을 빠르게 물리 통과
    • Adam (Adaptive Moment Estimation): 보폭을 각 가중치마다 수리적으로 자동 조절하는 현대의 표준 물리 전략
    • Weight Decay: 가중치가 물리적으로 너무 비대해지지 않게 수리적으로 깎아내어 모델의 건강 유지
  • How to Learn:
    • PyTorchTensorFlow 환경에서 옵티마이저를 'SGD'에서 'Adam'으로 수치 변경했을 때의 물리적 성능 점프 확인 실습
    • **학습률 스케줄러(Scheduler)**를 적용하여, 학습 후반부에 수치를 서서히 줄이며 최적의 소수점 아래 자리를 찾는 물리 튜닝
  • Implement: 가중치의 크기를 수리적으로 제약하는 L2 정규화가 포함된 StableOptimizer

Advanced

Core: 2차 최적화와 대규모 분산 학습 (Hessian & Dist. Ops)

  • Why to Learn: 수천 대의 GPU 하드웨어에서 동시에 연산되는 거대 모델의 수리적 정합성을 유지하기 위함입니다.
  • What to Learn:
    • Newton's Method & Hessian: 1차 기울기를 넘어 기울기의 변화량(2차 미분)까지 수리적으로 고려하는 초정밀 물리 기제
    • Gradient Clipping: 기울기가 하드웨어 한계를 넘을 정도로 폭발(Exploding)할 때 수치를 강제로 물리 꺾기
    • Asynchronous Optimization: 여러 하드웨어 기기가 서로 다른 타이밍에 수리 정보를 주고받으며 학습하는 연동 물리학
  • How to Learn:
    • 거대 언어 모델(LLM) 학습 로그에서 기울기 노름(Gradient Norm) 수치가 튀는 지점을 분석하고 클리핑을 수리 적용하는 실습
    • '데이터 병렬화(DataData ParallelParallel)' 학습 시, 여러 하드웨어 노드의 수리적 기울기 합산 과정에서 발생하는 물리적 지연 분석
  • Implement: 기울기 수치가 임계값을 넘지 않도록 수리적으로 봉인하는 NanoScaleClipper

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Gradient 함수의 입값이 물리적으로 변할 때 출력값이 어느 수리적 방향으로 가장 크게 변하는지를 나타내는 벡터입니다. 기본 최적화 원천 Derivative / Vector Norm 단순 기울기보다 큰 벡터 개념 P1:CS2023 core
Learning Rate 수리적 기울기 방향으로 파라미터를 한 번에 얼마나 물리적으로 이동시킬지 결정하는 수치적 계수입니다. 기본 학습 제어 Step / Hyperparam Optimizer '보폭'에 필적하는 물리 변수 P4:DSBOK core
Adam 기울기의 1차/2차 모멘텀을 수리적으로 활용하여 학습 속도와 안전성을 동시에 잡은 하이엔드 최적화 알고리즘입니다. 실무 현대 표준 LR / Momentum SGD 만능은 아니지만 가장 널리 쓰임 Industry core
Backpropagation 손실 함수의 수리적 오차를 하드웨어 출력층에서 입력층 방향으로 물리 거슬러 올라가며 기울기를 전달하는 기제입니다. 추천 기울기 산출 Chain Rule / AutoDiff Feedforward OGD를 위한 수치 전달 수단임 P1:CS2023 core

8. References

Primary

Secondary

  • [Deep Learning] Ian Goodfellow — The "Bible" for optimization in neural nets.
  • [Convex Optimization] Stephen Boyd — Definitive reference for the math of SLP.

Industry

  • [PyTorch Docs: torch.optim] — Practical API implementation and theory.
  • [Weights & Biases: A Guide to Training Optimizers] — Professional visual context.

9. Final Checklist

Primary

  • '경사 하강법'의 수리적 업데이트 수순이 오차 함수의 '볼록성(ConvexityConvexity)'에 따라 물리적으로 어떻게 달라지는지 설명 가능한가? (P1)
  • '학습률' 수치가 너무 킬 때 발생하는 '지그재그' 물리 이동과 발산 현상을 수리적으로 기술할 수 있는 가? (P4)

Secondary

  • '모멘텀(MomentumMomentum)' 수치가 수리적 계곡의 '안장점(SaddleSaddle PointPoint)'을 물리적으로 돌파하게 돕는 과정을 소통 가능한가?
  • Chain Rule을 통해 출력 오차가 수조 단계의 하드웨어 연산을 거쳐 입력단 기울기로 물리 변환되는 수순을 논증할 수 있는 가?

Industry

  • 실무 서비스 환경에서 학습 시작 전 '가중치 초기화(InitializationInitialization)' 수치가 최적화 소요 시간에 미치는 물리적 영향력을 제안할 수 있는 가? (SFIA)
  • Adam 옵티마이저의 바이어스 보정(Bias Correction) 수치가 초기 물리 학습 단계에서 왜 중요한지 분석할 수 있는 가?