인공지능/공부

딥러닝 응용 3 - Fundamentals 2

이게될까 2025. 10. 3. 02:27
728x90
728x90

Activation Functions - 다중 뉴럴 넷에 비선형성을 추가해줌

기울기 소실과 같은 문제 때문에 활성 함수도 계속 진화해왔다. 

ELU는 또 처음 보네요 

결국 Gradient 문제를 해결하거나, 다른 Activation function의 장점을 가져가기 위해 진화되었습니다.

objective Finction

task마다, label 구조 마다 다양한 Loss function 함수를 골라서 사용한다. 

 

Batch Gradient Descent

모든 데이터 셋을 한 배치로 활용해서 epoch당 1번 파라미터 업데이트합니다.

업데이트를 동일한 데이터 셋으로 계속 진행되니 결국 local minima에 빠질 수 밖에 없지 않나 싶습니다.

 

Stochastic Gradient dscent

매 데이터 셋 마다 파라미터를 업데이트합니다. 

마지막에 진동이 발생할 수 있고, 노이즈의 영향도 커지게 된다. 

 

mini-Batch

누적 후 배치 크기만큼 쌓이면 갱신하게 되므로 대부분 이러한 방식으로 사용하게 된다.

 

이제 Local minima, 평행한 구역을 벗어나기 위해 다양한 모멘텀들이 나오게 된다.

Momentum은 이전  weight의 방향성을 더해줘서 local minima라면 빠져나갈 수 있도록 해준다.

NAV

더보기

짧은 답: 그렇습니다. Nesterov 가속 모멘텀(NAG)은 “이전 기울기를 더한다”가 아니라 이전 ‘속도(velocity)’로 한 발 앞서 본 지점에서의 기울기를 사용해 가속 + 제동을 동시에 합니다. 그래서 평평한 구간(plateau)이나 얕은 계곡에서 잘 미끄러져 나가고, 반대로 경사가 바뀌는 지점에선 과도한 관성은 줄입니다. “오차가 마이너스”인지는 중요하지 않습니다(손실의 부호가 아니라 기울기 방향이 핵심).


1) 수식으로 보는 Nesterov (한 줄 요약)

  • 핵심: (\nabla f(\tilde{\mathbf{w}}_{t-1})) (앞서 본 지점의 기울기)를 쓰므로, 가속 중에도 “브레이크”가 걸릴지 말지를 미리 감지합니다.
  • 단순 모멘텀(heavy-ball) 대비 곡률 변화에 민감하고 과도한 오버슈트를 줄임.

2) 왜 plateau를 벗어나는가? (간단한 조건)

평평한 구간에 들어오면 (\nabla f\approx 0) 이라
[
\mathbf{v}t\approx \mu,\mathbf{v}{t-1}\ \Rightarrow\
\mathbf{w}{t}-\mathbf{w}{t_0}\approx \sum_{k=0}^{\infty}\mu^k,\mathbf{v}{t_0}
=\frac{1}{1-\mu},\mathbf{v}{t_0}.
]

  • 즉, 입구에서의 속도 (|\mathbf{v}_{t_0}|) 가 충분하면, 폭 (d) 인 plateau를 관성으로 통과합니다:
    [
    \frac{|\mathbf{v}_{t_0}|}{1-\mu}\ \gtrsim\ d.
    ]
  • 예: (\mu=0.9) 이면 감쇠계수 (1/(1-\mu)=10). 입구 속도가 0.2면 최대 2 단위를 미끄러질 수 있어 얕은 평탄면은 넘어갑니다.
  • 직관: “속도 평균(모멘텀)”이 일관된 하강 방향을 오래 유지해 작은 기울기 구간에서도 전진합니다.

3) 로컬 미니마/새들에서의 거동

  • 진짜(local) 최소(모든 고유값 (>0)) 주위에선 NAG도 결국 수렴(적절한 (\eta,\mu))합니다. “탈출”을 보장하진 않습니다.
  • 하지만 딥넷의 정체 대부분은 새들(음의 곡률)·플래토입니다. 음의 곡률 방향에서는 작은 섭동이 모멘텀에 의해 증폭되어 더 빨리 이탈합니다. 미니배치 노이즈와 결합되면 탈출 가능성이 커집니다.

4) “이전 기울기를 더하면 방향이 망가지는 것 아닌가?”

  • 더하는 것은 기울기 자체가 아니라 지수 가중 이동평균(속도) 입니다.
  • 기울기 방향이 바뀌면 Nesterov는 앞선 지점의 기울기로 그 사실을 먼저 감지해 속도를 깎는 보정을 합니다(가속/제동 자동 조절).

5) 실전 가이드(권장 값)

  • (\mu): 0.9–0.99 (plateau가 길수록 ↑, 진동 심하면 ↓).
  • (\eta): 워밍업 후 cosine/step decay.
  • 병행 팁: gradient clipping, weight decay(AdamW면 내장), 배치/정규화(BN/LN).
  • plateau가 계속되면: (\mu\uparrow) 또는 (\eta\uparrow)(짧게), NAG/AdamW로 전환, 스케줄 재설계.

한 줄 결론

Nesterov 모멘텀은 관성으로 평탄면을 밀고 나가되, 앞쪽 기울기필요할 때 제동을 거는 방식이라, 단순 “과거 기울기 누적”보다 plateau/새들에서 더 잘 벗어나고, 오버슈트는 덜합니다.

 

Learning Rate

최적의 LR은 무엇인가 

더보기

다음 슬라이드는 “최적 학습률(Optimal LR)의 근사”를 1차원(스칼라) 가정에서 유도합니다. 핵심 아이디어는 오차면이 이차(quadratic) 라고 놓고, 연속 두 스텝의 기울기 변화로 곡률(2차 미분)을 추정한 뒤, 다음 스텝에서 기울기를 0으로 만드는 위치를 닫힌형으로 계산하는 것입니다.

전제

  • 가정: 이차 오차면 & 가중치 독립(좌표별 분리)
    (E^t = a,(w^t)^2 + b,w^t + c). 그러면
    (\displaystyle g^t \equiv \frac{\partial E^t}{\partial w} = 2a,w^t + b,\quad g^{t-1}=2a,w^{t-1}+b.)

(1) 곡률와 절편 추정

연속 두 스텝의 차분으로 (a,b)를 추정합니다.
[
2a=\frac{g^t-g^{t-1}}{,w^t-w^{t-1},},\qquad
b=g^t-\frac{g^t-g^{t-1}}{,w^t-w^{t-1},},w^t .
]
슬라이드의 중간 두 식이 이것입니다.

(2) 다음 스텝의 최적점(기울기 0)

이차식의 최소점은 (\frac{\partial E^{t+1}}{\partial w}=2a,w^{t+1}+b=0)이므로
[
w^{t+1}=-\frac{b}{2a}.
]
여기에 위의 (a,b)를 대입·정리하면,
[
\boxed{;
w^{t+1}
= w^t
-\frac{g^t}{,g^t-g^{t-1},};\bigl(w^t-w^{t-1}\bigr)
;}
]
을 얻습니다. 즉, 직전 이동 벡터의 길이비율 (\displaystyle \frac{g^t}{g^t-g^{t-1}}) 을 곱해 뺀 형태입니다(슬라이드 마지막 줄).

해석: (\displaystyle g^t-g^{t-1}) 는 곡률(2차 미분)의 유한차분 추정치이고, (\frac{g^t}{g^t-g^{t-1}}) 는 “뉴턴 스텝”에서의 최적 스텝 크기를 근사합니다. 실제로 뉴턴/준-뉴턴에서는 (H^{-1}\nabla E) 를 쓰는데(다변수에선 (H)가 헤시안), 여기서는 1차원/대각 가정으로 축별 (H\approx\frac{g^t-g^{t-1}}{w^t-w^{t-1}}) 를 쓴 셈입니다.

무엇이 좋은가?

  • 튜닝 없는 적응형 스텝: 최근 두 번의 기울기와 이동량만으로 곡률을 추정해 LR을 자동 조절합니다(일종의 1D 뉴턴 혹은 Barzilai–Borwein형 스텝).
  • 평평/가파른 구간 구분: (g^t-g^{t-1}) 가 크면(곡률 큼) 스텝이 줄고, 작으면(평탄) 스텝이 커집니다.

한계와 주의

  • 분모 (g^t-g^{t-1}) 가 작거나 부호가 뒤섞이면 불안정해질 수 있어 클리핑/감쇠가 필요합니다.
  • 다변수 비선형(딥넷)에서는 배치 노이즈비정상 곡률 때문에 이 단순 근사는 잘 흔들립니다. 그래서 실무는 Adam/RMSProp, 혹은 진짜 준-뉴턴(L-BFGS) 등을 더 선호합니다. 그래도 이 유도는 “왜 뉴턴류가 ‘기울기 변화/이동량’으로 스텝을 정하는가”를 직관적으로 보여 줍니다.

요약하면, 이 페이지는 두 번의 기울기만으로 좌표별 곡률을 추정해 최적 학습률을 근사하는 방법을, 이차 가정 하에 엄밀히 전개한 것입니다.

a와 b로 식을 정리한 뒤에 다시 다음 업데이트에서 최적의 learning rate를 활용해 업데이트합니다. 

Decay 방식도 다양하다.

최저점에 다가갈 때는 낮은 Learning rate가 효과적이므로 다양한 방식으로 Learning rate를 줄인다. 

 

이전 Learning rate의 변화량을 통해 Adaptive하게 변화를 주는 방법도 있다. 

 

평균과 표준 편차를 이용해 normalization을 진행한다.

더보기

핵심만 정확히 정리합니다. 세 방법 모두 활성값을 표준화(정규화)한 뒤 (\gamma,\beta)로 재스케일·시프트한다는 점은 같습니다. 차이는 평균·분산을 어디 축(axes)에서 계산하느냐 입니다.

무엇을 어디서 정규화하나?

  • Batch Normalization (BN)
    각 **특징/채널별로 배치 차원(그리고 CNN에선 공간 위치까지)**를 평균·분산으로 표준화:
    (\displaystyle \hat z_{l,i}=\alpha_{l,i}\frac{z_{l,i}-\mu_{l,i}}{\sqrt{\sigma^2_{l,i}+\varepsilon}}+\beta_{l,i}),
    (\mu_{l,i},\sigma^2_{l,i})는 미니배치에서 계산. 학습 시 배치 통계를 쓰고, 추론 시엔 **러닝 평균(EMA)**을 사용합니다.
  • Layer Normalization (LN)
    한 샘플 안에서, 해당 레이어의 모든 노드(특징) 축으로 평균·분산을 계산:
    (\displaystyle \hat z_{l,i}=\alpha_{l,i}\frac{z_{l,i}-\mu_l}{\sqrt{\sigma^2_l+\varepsilon}}+\beta_{l,i}),
    (\mu_l,\sigma^2_l)는 그 샘플의 레이어 전체 노드 평균·분산. 배치 크기와 무관, 학습/추론 모두 동일하게 동작.
  • Instance Normalization (IN)
    샘플·채널별로(즉 “인스턴스”마다, 그리고 채널마다) 공간 축을 평균·분산으로 표준화. 스타일 변환 등에서 영상의 콘트라스트/밝기 등 인스턴스별 통계 제거에 효과적. 슬라이드는 LN과 함께 소개됩니다.

한눈에 비교

구분 평균·분산을 내는 축 배치 의존성 학습/추론 동작 주 용도/장점 주의점
BN (FC) 배치 축, 노드별 · (CNN) 배치×공간, 채널별 있음 학습: 배치 통계 / 추론: EMA 학습 안정·고속, 큰 배치에서 강력 작은 배치에서 불안정, 분산훈련 시 SyncBN 필요
LN 샘플 내 전체 특징축 (토큰/채널 등) 없음 동일 RNN/Transformer 표준, 배치=1도 안정 CNN 분류에선 BN보다 성능 낮을 때 있음
IN 샘플·채널별(공간만 평균) 없음 동일 스타일 변환/저수준 비전에 유리(스타일 통계 제거) 분류·검출 등 내용 정보 필요한 과제엔 불리할 수 있음

왜 이렇게 나뉘었나? (직관)

  • BN은 배치 통계로 표준화내부 공변량 변화를 줄이고 큰 LR 사용을 가능하게 합니다. 하지만 배치 크기에 강하게 의존합니다.
  • LN은 샘플 내부 정규화라 배치 크기와 무관해, 시퀀스/Transformer에서 사실상 표준입니다. (학습·추론 시 동일 동작)
  • IN은 샘플의 스타일 통계를 제거하므로, 스타일 전이/이미지 생성에서 품질을 끌어올립니다.

실전 선택 가이드

  • Transformers/RNNs/배치 작을 때LayerNorm(또는 RMSNorm 등 변형).
  • CNN 분류(충분한 배치)BatchNorm 기본, 소배치·분산환경에선 GroupNorm(참고)이나 LN 대안 고려.
  • 스타일 변환/저수준 비전InstanceNorm 우선 검토.

참고: 슬라이드 레퍼런스—BN(Ioffe & Szegedy, 2015), LN(Ba et al., 2016), IN(Ulyanov et al., 2017)—가 함께 수록되어 있습니다.

필요하시면, 입력 텐서 모양별로 어떤 축을 평균·분산할지(예: ([N,C,H,W])에서 BN은 (N,H,W), LN은 (C,H,W), IN은 (H,W))를 코드 스니펫로도 정리해 드리겠습니다.

 

아래 예시 하나로 “어떤 축에서 평균·분산을 내는지”를 감으로 잡게 하겠습니다. 공통 규칙은 같아요:
정규화 = ((x-\mu)/\sqrt{\sigma^2+\varepsilon}) 후에 (\gamma,\beta)로 재스케일·시프트.
차이는 (\mu,\sigma^2)를 어느 축에서 구하느냐입니다.


1) 공통 텐서 모양(CNN 예시)

입력 (X)의 모양을 ([N,C,H,W]=[2,2,2,2])로 두겠습니다.

  • 배치 (N=2) (샘플 A, B)
  • 채널 (C=2) (ch0, ch1)
  • 공간 (H=W=2)

값을 작게 정합니다.

  • 샘플 A
    • ch0: (\begin{bmatrix}1&2\3&4\end{bmatrix})
    • ch1: (\begin{bmatrix}9&10\11&12\end{bmatrix})
  • 샘플 B
    • ch0: (\begin{bmatrix}5&6\7&8\end{bmatrix})
    • ch1: (\begin{bmatrix}13&14\15&16\end{bmatrix})

2) BatchNorm (BN) — 배치×공간에서, 채널별

  • 통계((\mu,\sigma))는 채널마다 배치와 공간을 모두 합쳐 계산합니다.
    • ch0의 모든 값: (1,2,3,4,5,6,7,8) → (\mu_{BN}^{(ch0)}=4.5), (\sigma^2\approx5.25).
    • ch1도 동일 패턴 → (\mu_{BN}^{(ch1)}=12.5), (\sigma^2\approx5.25).
  • 정규화 예: 샘플 A, ch0, (0,0)=1
    [
    \hat{x}=\frac{1-4.5}{\sqrt{5.25}}\approx\frac{-3.5}{2.291}\approx-1.53
    ]
  • 포인트
    • 배치 크기에 의존: 학습 시 미니배치 통계, 추론 시 러닝 평균 사용.
    • (\gamma,\beta)는 채널당(모양 C).

3) LayerNorm (LN) — 한 샘플 내부의 모든 특징 축에서

  • 통계는 샘플별로, 그 샘플의 (C,H,W) 전체에서 계산합니다.
    • 샘플 A의 모든 값: (1,2,3,4,9,10,11,12)
      (\mu_{LN}^{(A)}=6.5), (\sigma^2\approx17.25).
  • 정규화 예: 샘플 A, ch0, (0,0)=1
    [
    \hat{x}=\frac{1-6.5}{\sqrt{17.25}}\approx\frac{-5.5}{4.153}\approx-1.32
    ]
  • 포인트
    • 배치와 무관: 학습/추론 모두 같은 연산.
    • (\gamma,\beta)는 보통 정규화한 축과 같은 모양(예: ([C,H,W]) 또는 시퀀스라면 마지막 숨김차원).

4) InstanceNorm (IN) — 샘플·채널별로, 공간만

  • 통계는 샘플마다/채널마다, 그 채널의 (H,W) 공간 축만 사용합니다.
    • 샘플 A, ch0: 값 (1,2,3,4) → (\mu^{(A,ch0)}=2.5,\ \sigma^2=1.25).
  • 정규화 예: 샘플 A, ch0, (0,0)=1
    [
    \hat{x}=\frac{1-2.5}{\sqrt{1.25}}\approx\frac{-1.5}{1.118}\approx-1.34
    ]
  • 포인트
    • 배치 비의존, 채널별 스타일(밝기/대비) 제거에 유리(스타일 변환).
    • (\gamma,\beta)는 채널당(모양 C).

5) 한눈에 축 비교 (CNN: ([N,C,H,W]))

방법 평균·분산 계산 축 배치 의존 (\gamma,\beta) 모양 주 용도
BN (N,H,W) (채널별) 있음(학습 통계/추론 EMA) (C) 큰 배치의 CNN 분류·검출
LN (C,H,W) (샘플별) 없음 정규화 축과 동일 Transformer/RNN, 작은 배치
IN (H,W) (샘플·채널별) 없음 (C) 스타일 변환/저수준 비전

MLP/Transformer의 ([N, L, D]) 텐서에서는
• BN: 보통 ([N]) 축(배치)에서 특징별(D) 통계,
• LN: 샘플·토큰별로 D축 통계,
• IN: 잘 쓰지 않습니다(대신 LN/RMSNorm이 표준).


기억용 요약 문구

  • BN: “배치로 평균을 잡아 채널별로 맞춘다.”
  • LN: “샘플 내부 전체를 한 번에 정규화한다.”
  • IN: “샘플·채널별공간만 정규화한다(스타일 제거).”

필요하시면 위 숫자 예시로 세 방법의 결과 텐서를 나란히 출력하는 PyTorch 스니펫도 바로 만들어 드리겠습니다.

 

 

오버 피팅 - 학습이 과하게 되어서 학습 데이터만 맞출 수 있음

언더 피팅 - 학습이 잘 되지 않아서 패턴 찾는 것에 실패 함 

더보기

요점만 뽑아 깔끔히 정리합니다.

Bias–Variance Trade-off란?

  • Bias(편향): 모델이 과하게 단순해 체계적으로 빗나가는 정도(언더피팅 경향).
  • Variance(분산): 학습 데이터가 바뀔 때 예측이 요동치는 정도(오버피팅 경향).
  • 일반화 오차(평균제곱오차)는 대략
    (\mathbb{E}[(y-\hat f(x))^2] \approx \underbrace{\text{Bias}^2}{\text{단순해서 놓침}} + \underbrace{\text{Variance}}{\text{복잡해서 요동}} + \text{Noise}).
  • 슬라이드 메시지: 단순·저분산 가설 ↔ 일반화 유리, 복잡·저편향 가설 ↔ 학습데이터 적합(둘의 균형을 잡아야 함).

왜 ‘가장 단순한 가설’을 말하나? (Ockham’s Razor)

  • 필요 이상으로 가정(복수성)을 늘리지 말라”(Ockham).
  • 충분한 표현력을 해치지 않는 범위에서 기본 요소를 최대한 단순하게”(Einstein).
  • 실무 해석: 훈련 데이터를 설명하는 가설들 중 ‘가장 단순한 것’을 우선 선택 → 과적합 위험을 줄이고 재현·해석 가능성↑.

어떻게 균형을 잡나? (정규화와 모델 선택)

  • 정규화(Reg.): 비용 = 경험손실 + (\lambda)·복잡도. L2/L1, 드롭아웃, 조기종료 등으로 효과적 자유도를 줄여 분산을 낮춤. (\lambda)는 검증으로 선택.
  • MDL 관점: “가설(모델) + 오류를 부호화하는 총 비트 수”가 최소인 모델이 바람직. 간결한 설명을 선호하는 원리와 같다.
  • 교차검증: 다항 회귀라면 차수 ↑ → 훈련오차↓, 검증오차는 어느 지점에서 최솟값을 가짐(그 지점이 편향–분산 균형).

작은 직관 예

  • 데이터가 10개일 때
    • 1차(직선): Bias↑(곡선 구조를 못 잡음), Variance↓ → 훈련/검증 모두 적절.
    • 12차 다항식: Bias↓(훈련 완벽 적합), Variance↑(검증에서 급락).
      적합도는 비슷하지만 더 단순한 모델을 선택(또는 복잡 모델 + 더 강한 정규화).

연구자용 주의점(현대 딥러닝)

  • 용량(파라미터 수)만이 단순성의 전부는 아님: 가중치 노름, 마진, 평탄한 최소점 등 효과적 복잡도가 일반화에 더 직접적입니다.
  • Double Descent 현상처럼 매우 큰 모델이 오히려 일반화가 좋아지는 경우도 있어, 단순성 원칙 + 검증 기반 선택을 함께 쓰는 것이 안전합니다.

정리: “데이터를 설명할 수 있을 만큼만 복잡하고, 그 이상은 단순하게.”
정규화·교차검증·모델 선택으로 Bias–Variance 균형점을 찾는 것이 핵심입니다.

 

 

 

Regularization - 규제 항을 통해 오버 피팅을 막음 

weight decay도 진행

 

Over fitting을 피하기 위해 Early Stopping도 있다.

특정 Loss에 도달하거나 Evaluation에서 높은 점수를 받았을 때 이루어 진다. 

 

Drop는 학습시에 하라미터를 p 확률로 0으로 만들어서 노이즈에 강건하고, weight가 줄어들며 어샘플 효과가 있고, 다른 유닛들과 다른 역할을 배우는 등 효과가 있다. 

큰 모델에는 필수적이라고 하는데 LLM에서는 사용하지 않는다고 했던 것 같다. 

 

하이퍼 파라미터에는 Learning rate, Momentum, Mini-batch size and schedule, Weight decay, Dropout, Mum of epoch, 모델 구조 등이 있다.

 

Cross validation set은 파이퍼파라미터 튜닝(최적화)를 위해 존재하며 오버피팅, 언더피팅 경향을 알 수 있다. 

Summary

Deep Learning Fundamentals II

1) 강의 목적

  • 성능 향상을 위한 핵심 기법(활성함수, 손실, 최적화, 정규화, 정규화/규제, 하이퍼파라미터)을 이해하고 실제 DNN 설계·튜닝에 적용한다.

2) 활성 함수(Activation)

  • 기본형: Linear, Sigmoid, Tanh, ReLU, Softplus, Softmax(다중분류 출력).
  • 변형: Leaky-ReLU/PReLU, ELU, GELU(연속·매끄러운 ReLU 대안).
  • 실전 포인트
    • 은닉층 기본값: ReLU/Leaky-ReLU(일반), GELU(Transformer류).
    • Sigmoid/Tanh는 포화 구간에서 기울기 소실에 주의(출력층에 주로 사용).

3) 목적 함수(Objective)

  • 회귀: MSE.
  • 이진/다중 분류: Sigmoid-CE, Softmax-CE.
  • 재구성/표현학습: L2/L1 재구성 오차(AE),
  • 거리 보존 임베딩: Sammon stress.
    → 과제·라벨 구조에 맞춰 손실을 고른다(확률·평균·카운트·거리 등).

4) 가중치 갱신 스케줄

  • Batch GD: 에폭마다 한 번 업데이트(병렬화 용이, 지역해 정체 가능).
  • SGD(Online): 샘플마다 갱신(노이즈↑, 미니마 근처에서 요동).
  • Mini-Batch SGD: 실무 표준(누적 후 배치 단위로 갱신).
  • 체크: 배치 크기, 셔플, 누적/동기화 전략.

5) 모멘텀 & 네스테로프

  • Momentum: (\Delta w_t=\alpha\Delta w_{t-1}-\eta\nabla E(w_t)).
  • Nesterov(“look-ahead”): 모멘텀 위치에서 기울기 평가해 수렴 가속.
  • 권장: (\alpha\approx0.9)부터 탐색(Adam 사용 시 내부 모멘텀 포함).

6) 학습률(Optimal/Decay/Adaptive)

  • 이상적 갱신: 뉴턴법 (,w_{t+1}=w_t-H^{-1}\nabla E,) (헤시안 근사 비용 큼).
  • 감쇠 스케줄: Polynomial/Exponential/Step decay.
  • Adaptive
    • AdaGrad: 누적 제곱그라디언트로 좌표별 (\eta) 축소(희소 특성에 유리).
    • RMSProp: 지수 이동평균으로 과도 축소 방지.
    • Adam: 1차·2차 모멘트 추정+바이어스 보정(실무 기본).

7) 정규화(Normalization)

  • BatchNorm(BN): 배치 통계로 정규화(+학습 가능한 (\alpha,\beta)).
  • LayerNorm(LN): 레이어 차원 통계(시퀀스/Transformer에 적합).
  • InstanceNorm(IN): 채널별 정규화(스타일 변환 등).
    → 내부 공변량 변화 감소, 깊은 네트워크의 안정·수렴속도 향상.

8) 규제(Regularization)

  • 개념: COST = 경험오차 + (\lambda)·복잡도(오컴의 면도날/MDL 철학).
  • Weight Decay
    • L2: (E+\tfrac{\lambda}{2}\sum w_i^2) → (w\leftarrow w-\eta\nabla E-\eta\lambda w).
    • L1: 희소성 유도((\mathrm{sgn}(w)) 항).
    • 베이지안 관점: 가우시안 사전 (P(w)=\mathcal{N}(0,\lambda^{-1}I))의 MAP.
  • Early Stopping: 검증 성능 악화 시 중단(간단·효과적).
  • Dropout/Dropconnect: 학습 시 임의 비활성화(앙상블·노이즈 내성 효과).

9) 하이퍼파라미터 & 검증

  • 핵심 튜닝 항목: (\eta)(스케줄), 모멘텀/Adam((\alpha,\beta)), 배치 크기, (\lambda)(WD), Dropout (p), 에폭/ES, 아키텍처(층/노드/연결).
  • 검증 체계: Train/Valid/Test 분리, 교차검증으로 일반화 오차 추정.
  • 탐색 전략: 핸드튜닝 → 그리드/랜덤 → 베이지안 최적화, PBT, AutoML.

10) 실전 “기본 세트”(시작점)

  • 분류(Transformer/현대 DNN): GELU(or ReLU) · Adam(β=(0.9,0.999)) · Cosine/Step decay · WD 사용(BN/LN 함께) · Dropout은 불균형/과적합 시 점진 도입.
  • 회귀/재구성: MSE/MAE(+Huber), BN/LN, WD, LR decay.
  • 루틴: (1) 미니배치/셔플 → (2) LR warm-up→decay → (3) ES/WD/Dropout으로 과적합 제어 → (4) 최종 모델은 검증 선택.

11) 한 페이지 체크리스트

  • 활성함수/출력층-손실 매칭 확인 → 배치/스케줄 선택 → 모멘텀/Adam 계수 설정 → LR 스케줄(감쇠/어댑티브) → 정규화(BN/LN/IN) 위치와 모드 → 규제(WD/ES/Dropout) → 검증 분할/튜닝 전략 → 로그·재현성(시드/버전) 고정.

이 요약은 슬라이드 Activation→Objective→Update→Momentum→LR→Normalization→Regularization→Hyperparameters의 흐름을 따라 의사결정 포인트만 뽑아 재배치했습니다. 필요하시면 이 내용을 연구실 표준 레시피 문서/체크리스트 PDF로 변환해 드리겠습니다.

Medical References

  1. None
    DOI: file-B32tuuTaNjFLoTCxZWrzrQ
728x90