위키득계정 ↗
기술

층 정규화

층 정규화기술
영문명
Layer normalization
통계 계산 범위
입력별로 지정한 특징 축
기본 변환
평균을 빼고 표준편차로 나눔
추가 매개변수
배율 γ와 이동 β
층 정규화는 신경망의 한 입력 안에서 지정한 특징들의 평균과 분산을 계산해 활성값을 변환하는 방법이다. 배치에 들어 있는 다른 입력들과 통계를 섞는 대신 각 입력을 독립적으로 처리한다. Layer normalization 또는 레이어 정규화라고 한다.

기본 계산

k개 특징의 평균 μ와 분산 v를 각각 합/k, 편차 제곱합/k로 계산한다. 기본 정규화는 z=(x-μ)/√(v+ε)다. ε는 양수 안정화 상수다. 필요하면 성분별 학습 배율 γ와 이동 β를 적용해 y=γz+β로 출력한다.

숫자로 보기

특징이 (2,4,6)이면 평균은 4, 분산은 8/3이다. 계산을 간단히 하려고 ε=1/3으로 두면 분모는 √3이고 결과는 (-2/√3,0,2/√3)이다. 이 ε는 설명용이다. 결과의 평균은 0이지만 분산은 8/9로 정확히 1이 아니다.

입력끼리 섞이지 않기

위 입력 옆에 (100,100,100)인 다른 입력이 배치에 추가되어도, 특징 축만 정규화하는 첫 입력의 계산은 바뀌지 않는다. 두 번째 입력의 편차는 모두 0이므로 정규화된 값도 모두 0이다. 이후 β를 더하도록 설정했다면 최종 출력은 β가 된다.

축과 출력의 의미

배치·시간·특징 형태의 자료에서 마지막 특징 축만 계산하면 각 시간 위치를 따로 정규화한다. 시간축까지 포함하면 통계 범위가 달라진다. 또한 학습된 γ와 β를 적용한 최종 출력의 평균과 분산까지 항상 0과 1이라고 말할 수는 없다.

관련 문서

인공 신경망 / 분산 / 활성화 함수 / 드롭아웃 / ReLU / Adam (최적화)