C.W.K.
Stream
Lesson 05 of 07 · published

Regularization 과 Reshape

~9 min · layers

Level 0Keras 도제
0 XP0/97 lessons0/20 achievements
0/120 XP to next level120 XP to go0% complete

Regularization — 일부러 학습에 핸디캡

용량 충분한 model 은 학습셋을 그냥 외워버려. Regularization layer 는 통제된 어려움을 주입해서 — 안 통하는 lookup table 말고 일반화되는 패턴을 배우도록 망을 강제해.

  • Dropout(0.3)학습 시에만 unit 30% 를 random 으로 0 으로; eval 시엔 자동으로 no-op. 0.2~0.5 가 흔한 시작점이고 validation curve 보고 튜닝. 너무 높으면 underfit, 너무 낮으면 overfit.
  • SpatialDropout1D / SpatialDropout2D — 흩어진 원소 말고 feature map 통째로 drop. conv layer 에 더 나아 — 옆 픽셀끼리 너무 상관돼서 일반 dropout 은 정보를 거의 못 지우거든.

Reshape — data 안 옮기고 축만 옮기기

Reshape 계열은 tensor 를 *어떻게 보느냐*만 바꿔, 내용은 그대로:

  • Flatten() — batch 축 뒤를 다 1D 로 접음. conv stack → Dense 의 고전적 다리.
  • Reshape(target_shape) — 자유 reshape; 원소 개수는 유지돼야 해.
  • Permute(dims) — 축 순서 재배열, e.g. channels-first ↔ channels-last.

Merge — multi-branch model 이 합류하는 곳

Functional API 로 짠 병렬 branch 는 다시 합칠 layer 가 필요해. Concatenate 는 축 따라 feature 를 쌓고 (branch 가 정체성 유지), Add 는 element-wise 합 (residual connection 의 기반), Multiply / Average 는 이름 그대로. merge layer 는 네가 짤 모든 비선형 architecture 의 이음새야.

Code

병렬 branch 를 합치는 merge layer·python
# Merge two branches
layers.Concatenate()([branch_a, branch_b])  # Concatenate along axis
layers.Add()([branch_a, branch_b])          # Element-wise addition
layers.Multiply()([branch_a, branch_b])     # Element-wise multiplication
layers.Average()([branch_a, branch_b])      # Element-wise average

External links

Exercise

overfit 하는 (training accuracy 가 validation 보다 한참 높은) CNN 잡아. Flatten 후 Dropout(0.5) 추가하고 재학습, dropout 유/무 두 curve 그려서 비교. 그 다음 작은 2-branch Functional model 짜 — Dense 경로 둘을 한 번은 Add, 한 번은 Concatenate 로 합쳐서 merged 출력 shape 가 어떻게 다른지 봐. 적절한 rate 랑 merge 는 추측 아니라 data 에 달렸다는 걸 확인.
Hint
Add 면 merged shape 가 각 branch 와 같고, Concatenate 면 합치는 축이 branch 폭의 합. 적절한 dropout rate 는 val accuracy 안 깎으면서 train/val 격차 메우는 값.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.