모델: 고급 방법
ㅁ 고급 방법
1. Layer Normalization
ㅇ 정의:
– 입력 데이터의 각 샘플별로 feature 차원에 대해 평균과 분산을 계산하여 정규화하는 기법.
ㅇ 특징:
– 배치 크기에 의존하지 않음.
– RNN, Transformer 등 시퀀스 모델에 효과적.
– Batch Normalization 대비 작은 배치에서도 안정적.
ㅇ 적합한 경우:
– 배치 크기가 매우 작거나 1인 경우.
– 시퀀스 처리 모델, 온라인 학습.
ㅇ 시험 함정:
– Batch Normalization과 혼동하여 배치 차원에 대해 정규화한다고 잘못 선택하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “배치 크기에 영향받지 않고 각 샘플의 feature 차원에 대해 정규화한다.”
– X: “배치 전체 평균을 사용하여 정규화한다.”
1.1 하위 주요 기술 없음
================================
2. Group Normalization
ㅇ 정의:
– 채널을 여러 그룹으로 나누어 각 그룹 내에서 평균과 분산을 계산하여 정규화하는 방법.
ㅇ 특징:
– 배치 크기와 무관하게 동작.
– 채널 수가 많은 CNN에서 효과적.
ㅇ 적합한 경우:
– 작은 배치 크기의 CNN 학습.
– 메모리 제약이 있는 환경.
ㅇ 시험 함정:
– Layer Normalization과 혼동하여 모든 채널을 하나의 그룹으로 처리한다고 잘못 이해하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “채널을 그룹으로 나누어 그룹별로 정규화한다.”
– X: “배치 전체 채널 평균으로 정규화한다.”
2.1 하위 주요 기술 없음
================================
3. DropConnect
ㅇ 정의:
– 학습 시 연결 가중치의 일부를 무작위로 0으로 만드는 규제 기법.
ㅇ 특징:
– Dropout이 뉴런 출력을 무작위로 제거하는 것과 달리, 가중치 자체를 제거.
– 네트워크의 표현력을 제한하여 과적합 방지.
ㅇ 적합한 경우:
– 완전연결층에서 과적합이 심한 경우.
– 모델 경량화 필요 시.
ㅇ 시험 함정:
– Dropout과 혼동하여 활성화 출력을 제거한다고 잘못 답하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “연결 가중치 일부를 무작위로 0으로 만든다.”
– X: “뉴런의 출력을 무작위로 0으로 만든다.”
3.1 하위 주요 기술 없음
================================
4. DropBlock
ㅇ 정의:
– CNN에서 feature map 상의 연속된 영역(block)을 무작위로 제거하는 규제 기법.
ㅇ 특징:
– 공간적으로 연속된 특징을 제거하여 일반화 성능 향상.
– Dropout 대비 CNN에 특화.
ㅇ 적합한 경우:
– CNN 기반 모델에서 과적합 방지.
– 이미지 인식, 객체 탐지 등.
ㅇ 시험 함정:
– Dropout처럼 개별 픽셀 단위로 제거한다고 오해하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “feature map의 연속된 영역을 무작위로 제거한다.”
– X: “각 픽셀을 독립적으로 제거한다.”
4.1 하위 주요 기술 없음
================================
5. Weight Normalization
ㅇ 정의:
– 가중치를 크기(norm)와 방향(direction)으로 분리하여 학습하는 정규화 기법.
ㅇ 특징:
– 학습 속도 향상.
– Batch Normalization 없이도 안정적 학습 가능.
– 가중치 재매개변수화(reparameterization) 방식.
ㅇ 적합한 경우:
– RNN, 강화학습 등 Batch Normalization 적용이 어려운 경우.
ㅇ 시험 함정:
– Weight Decay와 혼동하여 가중치 크기를 줄이는 규제라고만 이해하는 경우.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “가중치를 크기와 방향으로 분리하여 학습한다.”
– X: “가중치 크기를 점진적으로 0으로 만든다.”
5.1 하위 주요 기술 없음
ㅁ 추가 학습 내용
Layer Normalization은 입력의 feature 차원 기준으로 평균 μ와 분산 σ를 계산하여 (x – μ) / sqrt(σ² + ε) 형태로 정규화한다. Group Normalization은 채널을 여러 그룹으로 나누고 각 그룹별로 평균과 분산을 계산하여 정규화한다.
Dropout은 뉴런의 출력 값을 확률적으로 0으로 만드는 기법이고, DropConnect는 가중치 자체를 확률적으로 0으로 만드는 기법이다. DropBlock은 일정 크기의 연속된 영역(block)을 드롭하는 방식으로, block 크기와 드롭 비율이 모델 성능에 큰 영향을 주므로 하이퍼파라미터 튜닝이 중요하다.
Weight Normalization은 가중치를 g * (v / ||v||) 형태로 재매개변수화하여 최적화 경로를 변경하고 수렴 속도를 높인다.
이러한 정규화 및 규제 기법들은 Batch Normalization이 작은 배치 크기에서 성능이 저하되거나 RNN에 적용하기 어려운 등의 한계를 극복하기 위해 등장했다는 맥락을 이해하는 것이 중요하다.