최적화·연습 문제

Column Dropout (Feature Drop)

문제 설명PROBLEM

preview

Column (Feature) Dropout

Dropout(78)원소별 랜덤 제거. 대신 특성(열) 전체를 통째로 끄는 변형도 있습니다:

yij=xij1p1[mj=1]y_{ij} = \frac{x_{ij}}{1-p} \cdot \mathbb{1}[m_j = 1]

여기서 마스크 mmfeature index 당 하나. 즉 X[:, j] 가 전부 살거나 전부 0.

어디에 쓰이나

  • Variable dropout-v1 (이미지에서 Spatial Dropout 의 테이블 버전)
  • 특정 feature에 과의존하는 걸 방지
  • CNN의 channel-wise dropout-v1, Transformer 의 attention head dropout-v1 등으로 일반화

과제

함수 column_dropout-v1(X, p, seed, training) 을 완성하세요.

  • X shape (N, D).
  • training=TrueD 개의 Bernoulli mask → X * mask / (1-p) 브로드캐스팅.
  • training=FalseX 그대로.

테스트 케이스

#이름검증
1training=False → 그대로
2열 전체가 통째로 0 또는 x/(1-p)
3시드 재현성
4shape 유지
5p=0 → 그대로
개념 노트와 실수 포인트

최적화 (옵티마이저)

  • GD/SGD/모멘텀/Adam. ⚠️ 학습률: 너무 크면 발산, 너무 작으면 느림.
  • 파라미터 -= lr * gradient. 모멘텀/Adam 은 과거 기울기 활용.