배치 정규화는 신경망 훈련 과정에서 내부 공변량 이동을 완화하고 훈련 속도를 높이기 위해 제안된 기술이다. 각 층의 입력 분포 변화를 줄여 기울기 소실/폭주 문제를 완화하고, 더 높은 학습률 사용, 정규화 효과, 초기화 및 학습률에 대한 강인함 증가 등의 이점을 제공한다. 배치 정규화는 각 층의 입력 평균과 분산을 고정하는 정규화 단계를 거치며, 훈련 시 미니 배치로 제한되어 계산된다. 훈련된 모델은 추론 단계에서 모집단 통계를 사용하여 결정론적인 출력을 생성한다. 배치 정규화의 효과에 대한 이론적 분석은 내부 공변량 이동 감소 효과에 대한 반론, 손실 함수의 매끄러움 증가, 기울기 폭주 문제 완화, 가중치 분리 등을 포함한다. 특히 최소 제곱 문제와 반공간 학습 문제, 신경망에 적용했을 때 선형 수렴을 달성할 수 있다는 이론적 근거가 제시되었다.
더 읽어볼만한 페이지
인공지능 - 구글 구글은 래리 페이지와 세르게이 브린이 개발한 웹 검색 엔진에서 출발하여 검색 기술 혁신을 통해 유튜브, 안드로이드 등 다양한 서비스를 제공하는 세계적인 기술 기업으로 성장했지만, 개인정보보호 및 독점 논란에도 직면하고 있다.
인공지능 - 친절한 인공지능 친절한 인공지능은 사용자에게 친절하고 공감적인 방식으로 상호 작용하며 긍정적이고 효과적인 사용자 경험을 제공하는 것을 목표로 하는 인공지능 기술의 한 분야이다.
배치 정규화
개요
유형
인공신경망 기술
목표
신경망의 훈련 속도 및 안정성 향상
핵심 원리
각 레이어의 입력을 재중심화 및 재조정
개발자
Sergey Ioffe, Christian Szegedy
발표 년도
2015년
참고 문헌
[1] [2] [3]
2. 내부 공변량 변화 (Internal Covariate Shift)
신경망 학습 과정에서 각 층의 입력 분포가 변하는 현상을 내부 공변량 변화(Internal Covariate Shift)라고 한다. 이는 매개변수 초기화 및 입력 데이터의 무작위성 때문에 발생하며, 훈련 과정에서 내부 계층 입력 분포에 영향을 준다.[1] 실험적으로는 훈련 중 내부 계층 입력의 평균과 분산 변화로 관찰된다.
배치 정규화는 이러한 내부 공변량 변화를 완화하기 위해 처음 제안되었다.[1]
2. 1. 내부 공변량 변화의 문제점
신경망의 각 계층은 해당 분포를 가진 입력을 가지며, 이는 매개변수 초기화의 무작위성과 입력 데이터의 무작위성에 의해 훈련 과정에서 영향을 받는다. 훈련 중 내부 계층의 입력 분포에 영향을 미치는 이러한 무작위성의 원천을 '''내부 공변량 이동'''이라고 한다.[1] 훈련 단계에서 이전 계층의 매개변수가 변경됨에 따라 현재 계층의 입력 분포도 변경되어, 현재 계층은 새로운 분포에 지속적으로 다시 적응해야 한다. 이 문제는 얕은 은닉층의 작은 변화가 네트워크 내에서 전파되면서 증폭되어 더 깊은 은닉층에서 상당한 변화를 초래하기 때문에 특히 심층 네트워크에서 심각하다.[1]
2. 2. 배치 정규화의 초기 제안
신경망의 각 계층은 해당 분포를 가진 입력을 가지며, 이는 매개변수 초기화의 무작위성과 입력 데이터의 무작위성에 의해 훈련 과정에서 영향을 받는다. 훈련 중 내부 계층의 입력 분포에 영향을 미치는 이러한 무작위성의 원천을 '''내부 공변량 이동'''이라고 한다. 명확하고 정확한 정의가 없는 것으로 보이지만, 실험에서 관찰된 현상은 훈련 중 내부 계층의 입력에 대한 평균과 분산의 변화이다.
배치 정규화는 처음에 내부 공변량 이동을 완화하기 위해 제안되었다.[1] 네트워크 훈련 단계에서 이전 계층의 매개변수가 변경됨에 따라 현재 계층의 입력 분포도 이에 따라 변경되어, 현재 계층은 새로운 분포에 지속적으로 재조정해야 한다. 이 문제는 얕은 은닉층의 작은 변화가 네트워크 내에서 전파되면서 증폭되어 더 깊은 은닉층에서 상당한 이동을 초래하기 때문에 특히 심층 네트워크에서 심각하다. 따라서 이러한 원치 않는 이동을 줄여 훈련 속도를 높이고 더 신뢰할 수 있는 모델을 생성하기 위해 배치 정규화 방법이 제안되었다.
내부 공변량 이동 감소 외에도, 배치 정규화는 많은 다른 이점을 제공하는 것으로 여겨진다. 이 추가적인 연산을 통해 네트워크는 소실되거나 폭발하는 기울기 없이 더 높은 학습률을 사용할 수 있다. 또한 배치 정규화는 네트워크가 일반화 속성을 개선하는 정규화 효과를 가지는 것으로 보이며, 따라서 드롭아웃을 사용하여 과적합을 완화할 필요가 없다. 배치 정규화를 사용하면 네트워크가 서로 다른 초기화 방식과 학습률에 더 강해지는 것도 관찰되었다.
3. 배치 정규화의 절차
배치 정규화는 신경망 각 층의 입력 평균과 분산을 고정하는 정규화 단계를 거친다. 이상적으로는 전체 훈련 세트에 대해 정규화를 수행해야 하지만, 확률적 최적화 방법과 함께 사용하기에는 전역 정보를 사용하는 것이 비실용적이다. 따라서 정규화는 훈련 과정에서 각 미니 배치로 제한된다.
''d''차원 입력을 갖는 네트워크 층에서, 와 같이 입력 각 차원을 개별적으로 정규화한다.
:, 여기서 , 이고, 및 는 차원별 평균 및 표준 편차이다.
은 수치적 안정성을 위해 분모에 추가되는 작은 상수이다. 결과로 나오는 정규화된 활성화 는 을 고려하지 않으면 평균이 0이고 분산이 1이다. 네트워크 표현력 복원을 위해 다음 변환 단계를 수행한다.
:,
여기서 매개변수 및 는 후속 최적화 과정에서 학습된다.
형식적으로 배치 정규화를 구현하는 연산은 배치 정규화 변환 이다. BN 변환 의 출력은 다른 네트워크 층으로 전달되는 반면, 정규화된 출력 는 현재 층 내부에 유지된다.
3. 1. 정규화 (Transformation)
신경망에서 배치 정규화는 각 층의 입력 평균과 분산을 고정하는 정규화 단계를 통해 이루어진다. 이상적으로는 전체 훈련 세트에 대해 정규화를 수행해야 하지만, 이 단계를 확률적 최적화 방법과 함께 사용하기에는 전역 정보를 사용하는 것이 비실용적이다. 따라서 정규화는 훈련 과정에서 각 미니 배치로 제한된다.
전체 훈련 세트에서 크기가 ''m''인 미니 배치를 ''B''로 나타낼 때, ''B''의 경험적 평균과 분산은 다음과 같이 나타낼 수 있다.
: 및 .
''d''차원 입력을 갖는 네트워크 층의 경우, 와 같이 입력의 각 차원은 개별적으로 정규화된다(즉, 재중심화 및 재조정).
:, 여기서 및 이고, 및 는 차원별 평균 및 표준 편차이다.
은 수치적 안정성을 위해 분모에 추가되는 임의로 작은 상수이다. 결과로 나타나는 정규화된 활성화 는 을 고려하지 않으면 평균이 0이고 분산이 1이다. 네트워크의 표현력을 복원하기 위해 다음과 같은 변환 단계가 수행된다.
:,
여기서 매개변수 및 는 후속 최적화 과정에서 학습된다.
형식적으로 배치 정규화를 구현하는 연산은 배치 정규화 변환 이다. BN 변환 의 출력은 다른 네트워크 층으로 전달되는 반면, 정규화된 출력 는 현재 층 내부에 유지된다.
3. 2. 역전파 (Backpropagation)
설명된 배치 정규화(BN) 변환은 미분 가능한 연산이며, 다양한 매개변수에 대한 손실 ''l''의 기울기는 연쇄 법칙을 사용하여 직접 계산할 수 있다.
구체적으로, 는 활성화 함수의 선택에 따라 달라지며, 다른 매개변수에 대한 기울기는 의 함수로 표현될 수 있다.
,
, ,
, ,
그리고 .
3. 3. 추론 (Inference)
훈련 단계에서 정규화는 미니 배치를 사용하여 효율적이고 안정적인 훈련을 돕는다. 그러나 추론 단계에서는 이러한 방식이 더 이상 유용하지 않다. 대신, 추론 단계에서는 입력에 따라 출력이 결정론적(deterministic)으로 달라질 수 있도록 모집단 통계를 사용하여 계산한다. 모집단 평균 과 분산 은 다음과 같이 계산된다.
:, and .
따라서 모집단 통계는 미니 배치를 완벽하게 나타낸다.
추론 단계의 배치 정규화(BN) 변환은 다음과 같다.
:,
여기서 는 대신 다음 레이어로 전달된다. 이 변환에서 매개변수가 고정되어 있으므로, 배치 정규화 절차는 본질적으로 활성화에 선형 변환을 적용하는 것이다.
4. 배치 정규화의 이론적 분석
배치 정규화는 뛰어난 성능으로 널리 사용되고 있지만, 그 작동 원리에 대한 이론적 분석은 아직 완전하지 않다. 초기에는 배치 정규화가 내부 공변량 이동(internal covariate shift)을 줄여 성능을 향상시킨다는 주장이 제기되었으나[1], 최근 연구들은 이 주장에 대한 반론을 제시하고 있다.[2]
VGG-16 네트워크[5]를 이용한 실험에서, 배치 정규화 적용 여부와 훈련 중 노이즈 추가 여부에 따른 성능을 비교했다. 그 결과, 노이즈를 추가하여 의도적으로 공변량 이동을 발생시킨 경우에도 배치 정규화를 적용한 모델과 유사한 성능을 보였으며, 세 그룹 모두 배치 정규화를 적용하지 않은 모델보다 우수한 성능을 나타냈다. 이는 공변량 이동 감소가 배치 정규화의 성능 향상의 주된 원인이 아닐 수 있음을 시사한다.[2]
또한, 배치 정규화를 사용하면 배치 내 데이터들이 독립적이고 동일하게 분포된(iid) 변수가 아니게 되어 훈련 과정에 어려움을 초래할 수 있다는 주장도 있다.[6]
4. 1. 내부 공변량 변화 감소 효과에 대한 반론
배치 정규화는 원래 내부 공변량 변화를 줄이기 위해 제안되었지만,[1] 최근 연구는 이에 대한 반론을 제시한다.[2] 한 실험에서 VGG-16 네트워크[5]를 세 가지 방식으로 훈련했다. 즉, 배치 정규화를 사용하지 않은 표준 방식, 배치 정규화를 사용한 방식, 그리고 훈련 중 각 계층에 노이즈를 추가하여 배치 정규화를 사용한 방식이다. 노이즈를 추가한 모델은 명시적으로 공변량 변화를 일으켰음에도 불구하고 배치 정규화를 사용한 모델과 비슷한 정확도를 보였으며, 두 모델 모두 표준 모델보다 성능이 좋았다. 이는 공변량 변화가 배치 정규화의 성능 향상 원인이 아님을 시사한다.[2]
배치 정규화를 사용하면 배치 내 항목들이 더 이상 독립적이고 동일하게 분포된(iid) 변수가 아니게 되어 훈련에 어려움을 초래할 수 있다는 주장도 있다.[6]
내부 공변량 변화 감소 가설을 검증하기 위해 내부 공변량 변화를 정량적으로 측정하는 실험이 수행되었다. 내부 공변량 변화는 이전 계층의 업데이트에 대한 현재 계층 매개변수의 조정을 의미하며, 손실 기울기 간의 상관 관계를 통해 측정되었다. 표준 VGG 네트워크,[5] 배치 정규화 VGG 네트워크, 25층 딥 선형 네트워크(DLN), 배치 정규화 DLN 네트워크에 대해 기울기 상관 관계를 계산한 결과, 표준 VGG 및 DLN 모델이 배치 정규화를 적용한 모델보다 더 높은 기울기 상관 관계를 보였다. 이는 배치 정규화가 내부 공변량 변화를 줄이지 않는다는 것을 보여준다.
4. 2. 매끄러움 (Smoothness)
배치 정규화는 경험적으로 성능이 뛰어나 널리 쓰이지만, 작동 원리는 아직 완전히 밝혀지지 않았다. 초기에는 내부 공변량 이동을 줄여 성능을 향상시킨다고 알려졌으나, 최근 연구에서 이 주장은 반박되었다.[2] 한 실험에서 VGG-16 네트워크[5]를 표준(배치 정규화 없음), 배치 정규화, 훈련 중 노이즈 추가(공변량 이동 유도)의 세 가지 방식으로 훈련했다. 노이즈를 추가했음에도 불구하고 배치 정규화를 사용한 모델과 비슷한 정확도를 보였으며, 세 모델 모두 표준 모델보다 성능이 좋았다. 이는 공변량 이동 감소가 배치 정규화의 성능 향상 원인이 아님을 보여준다.[2]
배치 정규화를 사용하면 배치 내 항목들이 더 이상 독립적이고 동일하게 분포된 (iid) 변수가 아니게 되어 훈련에 어려움을 겪을 수 있다.[6] 다른 설명에 따르면, 배치 정규화는 매개변수 공간과 기울기를 더 매끄럽게 만들어 개선을 가져오며, 이는 더 작은 립시츠 상수로 표현된다.[2]
배치 정규화 계층의 유무를 제외하고 동일한 두 네트워크를 비교하면, 손실 함수는 각각 과 로 나타낼 수 있다. 배치 정규화된 네트워크의 기울기 크기 는 다음과 같은 경계를 갖는다:
.
기울기 크기는 손실의 립시츠성을 나타내므로, 이 관계는 배치 정규화된 네트워크가 상대적으로 더 큰 립시츠성을 가질 수 있음을 의미한다. 기울기 가 활성화 와 상관관계가 있을 때 경계가 더 좁아지며, 의 스케일링은 분산이 클 때 중요하다.
기울기 방향에서 활성화에 대한 손실 헤시안의 2차 형태는 다음과 같이 제한된다:
.
의 스케일링은 손실 헤시안이 미니 배치 분산에 탄력적임을 나타내고, 오른쪽의 두 번째 항은 헤시안과 내적이 음수가 아닐 때 더 부드러워짐을 의미한다. 손실이 국부적으로 볼록하면 헤시안은 양의 준정부호가 되고, 내적은 가 손실의 최솟값을 향하면 양수가 된다. 따라서 기울기가 배치 정규화 계층을 사용하면 더 예측 가능해진다.
정규화된 활성화와 관련된 손실에 대한 경계를 네트워크 가중치와 관련된 손실에 대한 경계로 변환하면 다음과 같다:
, 여기서 이고 이다.
배치 정규화는 더 부드러운 환경을 제공하는 것 외에도 더 나은 초기화를 가능하게 한다:
5. 선형 수렴 (Linear convergence)
배치 정규화(Batch normalization)를 적용한 최적화 문제는 선형 수렴(Linear convergence) 속도를 보인다는 이론적 분석 결과가 있다.
5. 1. 최소 제곱 문제 (Least-square problem)
재매개변수화 해석을 통해 배치 정규화를 일반 최소 제곱 문제에 적용하면 기울기 하강에서 선형 수렴 속도를 달성할 수 있으며, 이는 하위 선형 수렴만 있는 일반 기울기 하강보다 빠르다는 것을 증명할 수 있다.[7]
일반 최소 제곱 문제를 최소화하는 목표는 다음과 같다.
:min_{\tilde{w}\in R^d}f_{OLS}(\tilde{w})=min_{\tilde{w}\in R^d}(E_{x,y}[(y-x^T\tilde{w})^2])=min_{\tilde{w}\in R^d}(2u^T\tilde{w}+\tilde{w}^TS\tilde{w}), 여기서 u=E[-yx] 및 S = E[x x^T] 이다.
\tilde{w}=\gamma\frac{w}{||w||_s} 이므로, 목표는 다음과 같이 된다.
반공간 학습 문제는 가장 단순한 형태의 신경망인 퍼셉트론 훈련을 의미한다.[1] 이 경우 최적화 문제는 다음과 같다.
:min_{\tilde{w}\in R^d}f_{LH}(\tilde{w})=E_{y,x}[\phi(z^T\tilde{w})], 여기서 z=-yx이고 \phi는 임의의 손실 함수이다.
\phi가 무한히 미분 가능하고 유계 도함수를 갖는다고 가정한다. 목적 함수 f_{LH}가 \zeta-매끄럽다고 가정하고, 해 \alpha^* = argmin_{\alpha}||\triangledown f(\alpha w)||^2가 존재하며 -\infty < \alpha^* < \infty와 같이 유계라고 가정한다. 또한 z는 다변량 정규 확률 변수라고 가정한다. 가우시안 가정을 통해 모든 임계점이 손실 함수 \phi의 선택에 관계없이 동일한 선상에 놓여 있음을 보일 수 있다.[1] 구체적으로, f_{LH}의 기울기는 다음과 같이 나타낼 수 있다.
:\triangledown_{\tilde{w}}f_{LH}(\tilde{w})=c_1(\tilde{w})u+c_2(\tilde{w})S\tilde{w}, 여기서 c_1(\tilde{w})=E_z[\phi^{(1)}(z^T\tilde{w})]-E_z[\phi^{(2)}(z^T\tilde{w})](u^T\tilde{w}), c_2(\tilde{w})=E_z[\phi^{(2)}(z^T\tilde{w})]이며 \phi^{(i)}는 \phi의 i번째 도함수이다.
기울기를 0으로 설정하면 유계 임계점 \tilde{w}_*는 \tilde{w}_* = g_*S^{-1}u로 표현될 수 있으며, 여기서 g_*는 \tilde{w}_*와 \phi에 따라 달라진다. 이 전역적 속성을 길이-방향 분리와 결합하여 이 최적화 문제가 선형적으로 수렴함을 증명할 수 있다.[1]
먼저, 배치 정규화를 사용한 경사 하강법의 변형인 정규화된 매개변수 경사 하강법(GDNP)은 가중치의 방향과 길이를 별도로 업데이트하도록 min_{w\in R^d\backslash\{0\},\gamma\in R}f_{LH}(w,\gamma)의 목적 함수에 대해 설계되었다. GDNP의 중지 기준은 다음과 같다.[1]
이 두 부등식을 결합하면 \tilde{w}_{T_d}에 대한 기울기에 대한 경계를 얻을 수 있다.
:||\triangledown_\tilde{w}f(\tilde{w}_{T_d})||^2\le \bigg(1-\frac{\mu}{L}\bigg)^{2T_d}\Phi^2(\rho(w_0)-\rho^*)+\frac{2^{-T_s}\zeta|b_t^{(0)}-a_t^{(0)}|}{\mu^2}, 따라서 알고리즘은 선형적으로 수렴하도록 보장된다.
이 증명은 가우시안 입력을 가정하고 있지만, 실험에서 GDNP가 이러한 제약 없이 최적화를 가속화할 수 있음이 또한 나타났다.[1]
5. 3. 신경망 (Neural networks)
1개의 은닉층과 m개의 은닉 유닛을 가진 다층 퍼셉트론(MLP)을 입력 x\in R^d에서 스칼라 출력으로 매핑하는 것을 고려하면 다음과 같다.
각 은닉 유닛의 매개변수가 선형적으로 수렴하므로, 전체 최적화 문제는 선형 수렴 속도를 갖는다.[4]
참조
[1]
논문
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
[2]
논문
How Does Batch Normalization Help Optimization?
2018-05-29
[3]
논문
A Mean Field Theory of Batch Normalization
[4]
논문
Exponential convergence rates for Batch Normalization: The power of length-direction decoupling in non-convex optimization
2018-05-27
[5]
논문
Very Deep Convolution Networks for Large Scale Image Recognition
[6]
간행물
Layer Normalization
[7]
간행물
A geometric theory for preconditioned inverse iteration III: A short and sharp convergence estimate for generalized eigenvalue problems
2003
[8]
논문
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
[9]
논문
How Does Batch Normalization Help Optimization?
2018-05-29
[10]
논문
A Mean Field Theory of Batch Normalization
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.