📗강의노트/핸즈온 머신러닝

[핸즈온 머신러닝] 제 11장 정리

728x90
반응형

11장. 심층 신경망 훈련

< Keyword >

Vanishing Gradient : backpropagation이 진행됨에 따라, 그레디언트가 점점 작아지는 경우(0에 가까워짐, 반대의 경우는 Gradient Exploding)

Xavier initialization : 평균이 0이고 표준편차 σ=2ninputs+noutputs

ELU : ELUα(z)=α(exp(z)1) if z가 0보다 작을 때 / ELUα(z)=z if z가 0보다 크거나 같을 때

z가 0이하여도 그레디언트가 0이 아니라 죽은 뉴런을 만들지 않는다. 하지만 ReLU보다 계산할 때와 테스트 시에 느리다.

Batch Normalization : Gradient Vanishing & Exploding을 해결하기 위해 나왔다. 활성화 함수를 지나기 전에 추가되는데, 입력 데이터의 평균을 0으로 만들고 정규화한 다음, 각 층에서 두 개의 새로운 파라미터로 결괏값의 스케일을 조정하고 이동시킨다.

(1) μB=1mBΣmBi=1x(i)

(2) σ2B=1mBΣmBi=1(x(i)μB)2

(3) x̂ (i)=x(i)μBσ2B+ε

(4) z(i)=Υx̂ (i)+β

μB : 미니배치 B에 대해 평가하여 관측한 평균 

σB : 미니배치에 대해 평가하여 관측한 표준편차

 
mB
 : 미니배치에 있는 샘플 수

 x̂ (i) : 미니배치 B에 대해 평가하여 관측한 평균

 Υ : 층의 스케일 파라미터

 β : 층의 이동(편향) 파라미터

 ε : 분모가 0이 됨을 막는 smoothing term

 z(i) : BN연산의 출, 즉 입력의 스케일을 조정하고 이동시킨 것. 

테스트할 때는, 전체 훈련 세트의 평균과 표준편차를 대신 사용한다. 그리고 BN은 규제와 같은 역항르 하여 다른 규제 기법의 필요성을 줄여준다.( 그래도 규제는 부수효과이기에 Dropout을 같이 쓰는 것을 추천 ) 


Transfer Learning

: 기존이 비슷한 유형의 문제를 처리한 신경망이 있을 때, 그 신경망의 하위층을 재사용하는 것. 훈련 속도를 높여주고, 필요한 훈련 데이터도 훨씬 적다. 


Momentum Optimization  

: 이전 그레디언트가 얼마였는지를 상당히 중요하게 생각한다. 속도가 아니라 가속도를 이용하는 것.

 (1) mβm+ηθJ(θ)

(2) θθm

모멘텀 최적화(Momentum Optimization)가 경사 하강법(GradientDescent)보다 더 빠르게 평평한 지역을 탈출하게 도와준다.


Nesterov Accelerated Gradient(NAG) : 기본 모멘텀 최적화보다 거의 항상 빠르다. 현재 위치가 아니라 모멘텀 방향으로 조금 앞서서 비용 함수의 그레디언트를 계산하는 것.

(1) mβm+ηθJ(θβm)

(2) θθm


AdaGrad : 가장 가파른 차원을 따라 그레디언트 벡터의 스케일을 감소시킨다.

(1) ss+θJ(θ)θJ(θ)

(2) θθηθJ(θ)s+ε

경사가 완만한 차원보다 가파른 차원에 대해 더 빠르게 감소한다. (이를 Adaptive learning rate 라고 한다.) si+ε로 나눠지기 때문에 차원별로 학습률이 다르게 감소된다. 그레디언트가 클수록 si가 커져 가파른 차원에서 학습률이 빠르게 감소되어 속도가 느려지고 완만한 차원에서 진행이 빨라지는 효과를 보인다.


RMSProp : 가장 최근 반복에서 비롯된 그레디언트만 누적함으로써 빠르게 느려져서 전역 최적점(Global optimum)에 수렴하지 못하는 문제를 해결했다.

(1) sβs+(1β)θJ(θ)θJ(θ)

(2) θθηθJ(θ)s+ε

보통 β=0.9


Adam : adaptive moment estimation을 의미한다. Momentum Optimization + RMSProp의 결과이다.

(1) mβ1m+(1β1)θJ(θ)

(2) sβ2s+(1β2)θJ(θ)θJ(θ)

(3) m̂ m1βT1

(4) ŝ s1βT2

(5) θθηm̂ ŝ +ε

앞의 β는 지수 감소 합이라면 여기서는 β=β11β1 (1β1)을 곱한 지수 감소 평균을 따른다.


Learning rate Scheduling : 높은 학습률로 시작해서 학습 속도가 느려질 때, 학습률을 낮춘다면 최적의 고정 학습률보다 좋은 솔루션에 더 빨리 도달할 수 있다.


조기 종료(Early Stopping) : 검증 세트의 성능이 떨어지기 시작할 때 훈련을 중지시킨다.


L1, L2 규제 : 신경망의 연결 가중치에 제약을 가할 수 있다.


Dropout: 훈련 스텝에서 일정한 비율의 신경망을 완전히 무시하고 학습하는 것이다. 일부가 제거된 상태에서 가능한 한 나머지 신경망들이 유용해지도록 학습이 된다. 그리고 테스트시에는 모든 신경망들을 사용하여 성능을 증진시키는 방법이다.


Max-norm regularization : 입력의 연결 가중치 w ||w||2r이 되도록 한다. 일반적으로 매 훈련 스텝이 끝나고 ||w||2를 계산한 다음 w wwr||w||2


데이터 증식(Data Augmentation) : 인공적으로 기존 데이터에서 새로운 데이터를 만들어내어 훈련 세트의 크기를 늘려서 과대적합을 줄이는 규제 방법중 하나이다. 예를 들어, 이미지의 위치, 각도, 크기, 대칭, 명도,등을 다르게하고 생성하여 사용하는 것이다.


728x90
반응형