AI: 정규화 및 규제
ㅁ 정규화 및 규제
1. Layer Normalization
ㅇ 정의:
– 각 샘플의 특성(feature) 차원에 대해 평균과 분산을 계산하여 정규화하는 기법.
– 배치 크기에 의존하지 않고 동작.
ㅇ 특징:
– RNN, Transformer와 같이 시퀀스 길이나 배치 크기가 변하는 모델에서 안정적.
– 배치 정규화(Batch Norm) 대비 작은 배치에서도 효과적.
ㅇ 적합한 경우:
– 배치 크기가 매우 작거나 1인 경우.
– 온라인 학습이나 시퀀스 모델.
ㅇ 시험 함정:
– Batch Norm과 달리 배치 차원이 아닌 feature 차원에 대해 정규화함.
– 학습/추론 시 동작 방식이 동일함.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “Layer Normalization은 각 샘플의 feature 차원에 대해 정규화한다.”
– (X) “Layer Normalization은 배치 차원에 대해 정규화한다.”
================================
2. Group Normalization
ㅇ 정의:
– 채널을 여러 그룹으로 나누고 각 그룹 내에서 평균과 분산을 계산하여 정규화.
ㅇ 특징:
– 배치 크기에 영향을 받지 않음.
– 그룹의 개수에 따라 Layer Norm(그룹=1) 또는 Instance Norm(그룹=채널 수)과 유사.
ㅇ 적합한 경우:
– 작은 배치 크기에서 CNN 모델 학습.
– 메모리 제약이 있는 환경.
ㅇ 시험 함정:
– 그룹 개수 설정에 따라 성능이 크게 달라짐.
– Batch Norm과 혼동하기 쉬움.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “Group Normalization은 채널을 그룹으로 나누어 정규화한다.”
– (X) “Group Normalization은 항상 채널 전체를 한 번에 정규화한다.”
================================
3. DropConnect
ㅇ 정의:
– 학습 시 가중치(weight) 일부를 확률적으로 0으로 만드는 규제 기법.
ㅇ 특징:
– Dropout이 뉴런의 출력을 무작위로 제거하는 것과 달리, 가중치 자체를 무작위로 제거.
– 과적합 방지 효과.
ㅇ 적합한 경우:
– 완전연결층에서 규제가 필요한 경우.
– 모델 파라미터 수가 많아 과적합 위험이 큰 경우.
ㅇ 시험 함정:
– Dropout과 혼동하기 쉬움.
– 추론 시에는 모든 가중치를 사용하지만 학습 시 스케일 조정 필요.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “DropConnect는 학습 시 일부 가중치를 0으로 만든다.”
– (X) “DropConnect는 뉴런의 출력을 0으로 만든다.”
================================
4. DropBlock
ㅇ 정의:
– CNN에서 feature map 상의 연속적인 영역(block)을 무작위로 0으로 만드는 규제 기법.
ㅇ 특징:
– 공간적으로 연속된 정보 제거로 일반화 성능 향상.
– Dropout 대비 CNN에서 더 효과적.
ㅇ 적합한 경우:
– CNN 모델에서 과적합 방지.
– 이미지 데이터 학습.
ㅇ 시험 함정:
– Dropout처럼 개별 픽셀 단위로 제거하지 않음.
– block 크기와 비율 설정이 성능에 영향.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “DropBlock은 feature map의 연속 영역을 무작위로 제거한다.”
– (X) “DropBlock은 개별 뉴런 출력을 독립적으로 제거한다.”
================================
5. Weight Normalization
ㅇ 정의:
– 가중치를 방향 벡터와 크기 스칼라로 분해하여 크기와 방향을 분리 학습하는 정규화 기법.
ㅇ 특징:
– 학습 속도 향상.
– Batch Norm 없이도 안정적인 학습 가능.
ㅇ 적합한 경우:
– RNN, 강화학습 등 Batch Norm 적용이 어려운 경우.
– 분산 학습 환경.
ㅇ 시험 함정:
– L2 정규화와 혼동하기 쉬움.
– 가중치 크기와 방향을 분리한다는 점이 핵심.
ㅇ 시험 대비 “패턴 보기” 예시:
– (O) “Weight Normalization은 가중치를 크기와 방향으로 분해한다.”
– (X) “Weight Normalization은 가중치를 L2로 정규화한다.”
ㅁ 추가 학습 내용
Layer Normalization과 Group Normalization은 모두 배치 크기에 의존성을 줄이는 정규화 기법이지만, 적용 차원과 방식에서 차이가 있다. Layer Normalization은 한 샘플의 모든 뉴런 활성값에 대해 정규화를 수행하고, Group Normalization은 채널을 여러 그룹으로 나누어 각 그룹별로 정규화를 수행한다.
Dropout은 뉴런의 출력을 확률적으로 제거하는 방식이고, DropConnect는 뉴런 간 연결 가중치를 확률적으로 제거하는 방식이다. DropBlock은 CNN 전용 규제 기법으로, 연속된 영역의 활성값을 제거하여 공간적 상관관계를 고려한 규제를 수행한다.
Weight Normalization은 Batch Normalization의 대체 기술로, 가중치를 크기와 방향으로 분리하여 학습 안정성을 높인다. 특히 RNN과 같이 배치 기반 통계 계산이 어려운 구조에서 효과적이다.
시험 대비를 위해 각 정규화 기법의 수식 형태, 학습 시와 추론 시의 동작 차이, 하이퍼파라미터(그룹 수, block 크기, 드롭 확률 등)가 모델 성능에 미치는 영향, 그리고 원 논문에서 제시된 성능 향상 사례를 숙지하는 것이 중요하다.