AI: 정규화 및 규제 – Weight Normalization

ㅁ 정규화 및 규제

ㅇ 정의:
신경망 학습 시 가중치 벡터를 크기와 방향으로 분리하여 학습하는 기법으로, 학습 안정성과 수렴 속도를 높이는 정규화 방법.

ㅇ 특징:
– 가중치 w를 ||v||와 방향 g로 분리하여 파라미터를 재구성.
– Batch Normalization과 달리 배치 통계에 의존하지 않음.
– 학습 초기 단계에서 최적화 경로를 안정화.
– RNN, GAN 등 배치 크기 변화에 민감한 모델에서도 적용 가능.

ㅇ 적합한 경우:
– 배치 크기가 작아 Batch Normalization 효과가 떨어지는 경우.
– 온라인 학습이나 실시간 추론 환경.
– 내부 공변량 변화(Internal Covariate Shift)를 줄이고 싶은 경우.

ㅇ 시험 함정:
– Batch Normalization과 혼동: BN은 배치 통계 사용, Weight Normalization은 파라미터 재파라미터화.
– Dropout, L2 정규화와 목적 혼동: Weight Normalization은 규제보다 학습 안정화 목적.
– 데이터 정규화(Data Normalization)와 다름.

ㅇ 시험 대비 “패턴 보기” 예시:
O: “Weight Normalization은 가중치 벡터를 크기와 방향으로 분리하여 학습을 안정화한다.”
X: “Weight Normalization은 배치 평균과 분산을 이용해 정규화한다.”
X: “Weight Normalization은 드롭아웃처럼 과적합을 방지하는 규제 기법이다.”

ㅁ 추가 학습 내용

Weight Normalization의 수식과 변수 의미
w = (g / ||v||) * v
여기서 w는 실제 신경망에서 사용되는 가중치 벡터, v는 학습 가능한 방향 벡터, g는 학습 가능한 스칼라 크기 파라미터, ||v||는 v의 L2 노름을 의미한다. 이 방식은 가중치를 크기와 방향으로 분리하여 학습한다.

Batch Normalization, Layer Normalization, Instance Normalization과의 차이점 및 장단점 비교
Batch Normalization은 배치 차원에 대해 평균과 분산을 계산하여 정규화하므로 배치 크기에 의존적이며, 학습 시와 추론 시 동작이 다르다. Layer Normalization은 한 샘플의 모든 뉴런에 대해 평균과 분산을 계산하여 배치 크기와 무관하게 작동하며, 순환 신경망 등에서 효과적이다. Instance Normalization은 각 샘플의 각 채널별로 정규화하여 스타일 변환 등에서 유리하다. Weight Normalization은 데이터 분포 정규화가 아니라 파라미터의 재파라미터화를 통해 학습을 안정화하며, 배치 크기와 무관하다.

Weight Normalization이 학습 속도에 미치는 영향과 성능 향상 사례
Weight Normalization은 경사하강법의 탐색 경로를 단순화하여 학습 초기 수렴 속도를 높이고, 일부 모델에서 일반화 성능을 향상시킨 사례가 보고되었다. 특히 RNN, GAN 등에서 학습 안정성과 속도 개선이 관찰되었다.

PyTorch, TensorFlow에서의 구현 방법과 API 예시
PyTorch에서는 torch.nn.utils.weight_norm 함수를 사용하여 레이어에 적용할 수 있다. 예: torch.nn.utils.weight_norm(nn.Linear(in_features, out_features)). TensorFlow에서는 tf.keras.layers.Layer를 상속하여 커스텀 레이어로 구현하거나, tf.contrib.layers.weight_norm(구버전) 또는 Addons의 weight normalization 기능을 사용할 수 있다.

Weight Normalization이 안정성을 높이는 이유
파라미터 공간을 크기와 방향으로 분리하여 재구성함으로써, 경사하강법이 크기와 방향을 독립적으로 최적화하게 하여 불필요한 상호작용을 줄이고, 학습 경로를 더 안정적으로 만든다.

학습 후 추론 시 Weight Normalization의 동작 방식과 추가 연산 여부
추론 시에는 학습된 g와 v로부터 w를 계산하여 고정된 가중치를 사용하므로, 추가적인 정규화 연산이 필요하지 않으며, 일반적인 가중치 적용과 동일한 연산만 수행된다.

답글 남기기

Your email address will not be published. Required fields are marked *.

*
*