본문 바로가기

IT/Paper

[Deep Learning] Understanding the difficulty of training deep feedforward neural networks

이번 포스팅은 Xavier Glorot, Yoshua Bengio의 Understanding the difficulty of training deep feedforward neural networks을 번역합니다.


의역하는 부분이 있기 때문에, 읽어보시고 내용이 이상하다 싶으면 언제든지 말씀해주시면 감사하겠습니다.


1. Abstract


2006년 이전에는 Deep neural network이 성공적으로 훈련되지 않은 것으로 보였습니다. 그 이후, 몇몇의 알고리즘은 심층적이지 않은 구조에 비해서 심층적인 구조가 더 뛰어나다는 실험적인 결과와 함께 Deep neural network을 성공적으로 훈련하는 것을 보였습니다. 이러한 모든 실험 결과는 새로운 초기화나, 교육 메카니즘을 통해서 얻어졌습니다. 여기서 우리의 목적은 왜 Random Initialization을 사용한 표준 Gradient-descent 알고리즘이 Deep neural network에서 약한 성능을 내는지 이해하는 것이고, 이러한 더 나은 결과물을 이해하는 것입니다. 이를 통해서 향후 더 나은 알고리즘을 설계할 수 있을 겁니다. 우리는 첫째로 비선형 활성 함수의 영향에 대해서 관찰하였습니다. 우리는 random initialization을 적용한 logistic sigmode 활성화 함수는 평균값 때문에 Deep network에는 적합하지 않다는 것을 발견하였습니다. 이러한 random initialization을 적용한 logistic sigmode 활성화 함수는 상위 계층의 layer를 포화(saturation)하게 만듭니다. 놀랍게도 우리는 포화된 노드(unit)이 스스로 천천히 포화상태에서 벗어날 수 있고, 우리가 neural network를 훈련할 때 때때로 볼 수 있는 평지(plateaus)에 대해서 설명할 수 있게 되었습니다. 우리는 상위 계층의 layer를 덜 포화(saturation)시키는 새로운 비선형성을 찾았으며 이것은 종종 유익할 것입니다. 마지막으로 우리는 훈련하는 과정에서 각 레이어와 관련된 자코비안의 특이 값이 1에서 더 멀어질 때, 훈련하는 것은 더 어려워 질 것이라는 아이디어와 함께, 레이어별로 어떻게 활성화(activations)와 그래디언트(gradients)가 다른지 연구했습니다. 이러한 고려들을 토대로 우리는 상당히 빠른 수렴을 가져오는 새로운 초기화 도식(initialization scheme)을 제안합니다.


2. Deep Neural Networks


딮러닝(Deep learning)은 추출한 특징을 이용하여 특징 계층을 학습하는 것을 목표로 합니다. 이 추출한 특징이란 낮은 수준의 특징(feature)들의 합성을 통해서 만들어진 높은 수준의 계층으로 부터 추출한 것입니다. 이것은 많은 hidden layer를 가지고 있는 인공 신경망(neural network)을 포함한 넓은 배열의 deep architecture의 학습 방법(Vincent et al., 2008)과 많은 level의 숨겨진 변수를 갖는 그래픽 모델(Hinton et al., 2006)과 그 외 다른 것들(Zhu et al., 2009; Weston et al., 2008)등을 포함합니다. 최근 이들에게 많은 주목이 쏟아졌는데(Bengio, 2009) 그 이유는 인간의 인지와 생물학으로부터 받은 영감으로 부터 발전된 이론을 그들이 매우 어필하였고, 이것이 vision처리 분야 (Ranzato et al., 2007; Larochelle et al.,2007; Vincent et al., 2008)와 NLP(natural language processing)분야(Collobert & Weston, 2008; Mnih & Hinton, 2009)에서의 실증적인 성공을 보여주었기 때문입니다. 이론적인 결과는 Bengio(2009)에 의해 리뷰되고 논의되었습니다. 이에 따르면 복잡한 기능들을 학습하는 것은 고수준의 추상화를 표현 할 수 있어야 한다고 이야기하였으며, 이를 위한 한 가지 방법이 deep architecture이 필요할 것이다라는 것이었습니다.


최근 대부분의 deep architecture를 사용한 실험 결과들은 deep supervised neural networks로 전환될 수 있는 모델로부터 얻어졌습니다. 하지만 초기화나 학습 스키마는 고전적인 feedforware neural network와는 달랐습니다(Rumelhart et al., 1986). 왜 이러한 새로운 알고리즘은 표준random initialization과 gradient기반의 optimization를 이용한 표준 지도학습에 비해서 훨씬 더 잘 작동하는 것일까요? 대답의 일부로써 최근 비지도 사전학습의 효과에 대한 분석(Erhan et al., 2009)에서 찾을 수 있을 겁니다. 해당 결과에서는 최적화 절차에서 파라미터 초기화를 더 잘하는 일종의 regularizer 역활을 한다는 것을 보여줍니다. 이것은 local minimum은 더 나은 generalization과 연관이 있다는 것과 명백하게 일치하는 것입니다. 그러나 초기연구(Bengio et al., 2007)은 순수한 지도학습을 보였으나, 탐욕스러운  layer-wise 방법은 더 나은 결과를 가져다주곤 했습니다. 그래서 여기서는 비지도 사전학습이나 반-표준 지도학습을 deep architecture가져오는 것에 초점을 두는 대신 우리는 고전적이지만 깊고, 좋은 다중 인공 신경망이 잘못 될 수 있는 것에 대해 분석하는 것에 초점을 둡니다.


우리는 학습 중간에 각 레이어들의 activation들(히든 레이어의 activation이 포화가 되는지에 대해서)과 gradients을 실험적으로 모니터링하였고, 이를 분석하였습니다. 그 후 우리는 activation function의 선택(아마도 포화하는데에 영향을 줄 것이다라는 아이디어)과 초기화 방법(비지도 사전학습은 초기화에 의한 특정한 형태이며 이런 특정한 형태는 극단적인 효과를 나타내게 됩니다.)에 대해서 평가하였습니다.


3. Experimental Setting and Datasets



이 섹션에서 소개한 새로운 데이터 세트를 생성하는 코드는 다음 사이트에서 확인 할 수 있습니다

: http://www.iro.umontreal.ca/~lisa/twiki/bin/view.cgi/Public/DeepGradientsAISTATS2010.


3-1. Online Learning on an Infinite Dataset :

        Shapeset - 3 X 2


최근 deep architecture(Figure 7 in Bengio(2009))를 사용한 결과는 큰 학습 세트나, 온라인 학습을 진행할 때, 비지도 학습을 통해 초기화를 하게 되면 학습에 있어 학습의 수가 늘어나도 실질적인 성능 향상이 일어난다는 것을 보였습니다. 온라인 학습은 작은 표본의 정규화에 대한 효과보다 최적화의 문제에 대해서 초점을 맞추기 때문에 매우 흥미롭습니다. 그래서 우리는 온라인 학습 시나리오를 테스트하기 위해 필요한 많은 예제를 샘플링할 수 있는(Larochelle et al. (2007) and Larochelle et al. (2009))결과에 영감을 받은 합성된 이미지 데이터 셋트를 실험에 포함하기로 했습니다.


우리는 이러한 데이터 셋을 Shapeset - 3 X 2 데이터 셋트라고 부르며 예제이미지는 Figure 1(top)과 같습니다. Shapeset - 3 X 2은 1개 혹은 2개의 2차원 객체를 포함하고 있는 이미지입니다. 이 객체는 3가지 모양의 카테고리(삼각형, 평행사변형, 타원)에서 추출하고, random shape parameters(상대 길이/각도), 배율, 회전, 변환 및 그레이 스케일에 따라 배치됩니다.


이미 우리는 이미지에 존재하는 하나의 모양에 대해서 인식하는 것은 너무나 쉽다는 것을 알고 있습니다. 그래서 우리는 제한 조건을 가진 두 개의 객체로 이미지를 샘플링하기로 결정하였습니다. 두 번째 객체가 숨겨지는 것을 막기 위해서 영역의 50% 이상, 첫 번재 객체와 겹치지 않게 하였습니다. 업무는 전경과 배경의 모양이 겹쳤을 때, 그것을 구분하지 않고, 객체의 현재 상태(삼각형 + 타원, 평행사변형+ 평행사변형, 삼각형 만 등등)를 예측하는 것입니다. 따라서 9개의 구성 클래스를 정의했습니다.


해당 작업은 회전, 변환, 크기, 조정, 객체 색상, 가려짐 및 모양의 상대적 위치에 대한 불변성을 발견해야하므로 상당히 어렵습니다. 병행하여 우리는 객체의 현재 상태를 예측할 수 있는 가변성의 요소를 추출하는 것이 필요합니다.


이미지의 사이즈는 랜덤이지만 deep x dense network를 효율적으로 사용하기 위해 32 x 32의 이미지 크기로 고정 시켰습니다.



Figure 1 : Top : Shapeset-3x2 이미지는 64 x 64의 해상도를 가진다. 예제에서는 32x32의 해상도를 사용했으며, 학습자는 객체의 현재

                                   상태(평행사변형, 삼각형, 타원형 기타 등등)를 예측하려고 노력합니다.  1개 혹은 2개의 이미지가 존재할 수 있기 때문에, 9가지

  의 분류가 가능합니다.

  Bottom : 전체 해상도의 small-ImageNet 이미지




3-2. Finite Datasets


MNIST 숫자 데이터 셋(LeCun et al., 1998a) 은 50,000개의 학습 데이터와, 10,000의 유효성 검사를 위한 이미지(하이퍼-파라미터 선택 용) 그리고 10,000의 테스트 이미지가 있다. 각각의 이미지는 0~9까지의 손글씨로 쓰여진 숫자를 객체로 가지고 있고, 28 x 28의 크기의 그레이 스케일의 이미지입니다.


CIFAR-10 (Krizhevsky & Hinton, 2009)는 레이블링 처리가 된, 50,000개의 학습데이터(우리는 이 중에서 10,000개를 유효성 이미지로 추출하였습니다.)를 포함하고 있는 작은 데이터 세트입니다. CIFAR-10은 이미지의 주 대상에 해당되는 10개의 클래스(airplane, automobile, bird, cat, deer, dog, frog, horse, ship, or truck)가 있습니다. 이 클래스들은 균형을 이루고 있고, 각 이미지는 칼라 색상에 32 x 32픽셀이므로 입력 벡터는 32 x 32 x 3인 3072의 실수 값을 갖는 벡터 값이 됩니다.


Small-ImageNet은 http://www.image-net.org에서 고해상도 및 대형 세트로 계산 된 37x37 그레이 스캐일 이미지 데이터의 집합으로 Wordnet 명사 계층으로 레이블링이 되어있습니다.



3-3. Experimental Setting



우리는 1~5개의 히든 레이어를 가진 피드 포워드 인공 신경망을 최적화했습니다. 이 인공 신경망은 레이어 당 1,000개의 숨겨진 유닛을 가지고 있으며, 출력 레이어는 softmax logistic regression을 사용했습니다.


비용 함수는 다음과 같이 negative log-likelihood 를 사용했습니다. 여기서 (x,y)는 (입력 이미지, 대상 클래스)쌍입니다. 인공 신경망은 10개의 mini-batches 크기를 갖는 stochastic back-propagation을 사용하여 최적화 되었습니다.


즉,   의 평균 g를 10개의 연속 트레이닝 쌍 (x,y)에 대해 계산하고, 방향으로 파라미터 θ를 업데이트하는데 사용되었습니다. 학습 속도 는 많은 수의 업데이트(500백만) 후에 유효성 설정 오류를 기반으로 최적화 된 하이퍼 매개 변수입니다.



우리는 히든 레이어에 비선형 활성화 함수의 유형을 변경하였습니다 :

sigmoid hyperbolic tangent , 새롭게 제안된 활성화 함수인 softsign (Bergstra et al., 2009)

softsign은 범위가 -1에서 1이라는 점에서 hyperbolic tangent와 유사하지만 꼬리는 지수가 아닌 이차 다항식입니다. 즉, 점금선은 훨씬 더 느리게 접근합니다.

비교함에 있어서 우리는 각 모델들에서 별도로 최고의 hyper-parameter들을 찾습니다.(learning rate와 깊이) 최고 깊이는 Shapeset-3 × 2의 경우 Sigmoid를 제외하고는 항상 5였으며, Sigmoid는 4였습니다.


우리는 biases를 0으로 초기화하고 각 레이어의 가중치 를 일반적으로 사용되는 휴리스틱 방법으로 초기화 하였습니다.



여기서 는 구간 (-a, a)의 균일 분포이고, n은 이전 계층의 크기 (W의 열 수)입니다.


3. Effect of Activation Functions and Saturation During Training


우리가 피하기를 원하고 활성화의 진화로 알려지길 바라는 2가지는 activation function이 과도하게 포화되서 그레디언트가 전파되지 않는 것과, 지나치게 선형적인 유닛이어서 흥미로운 것을 계산하지 않는다는 것입니다.



3-1 Experiments with the Sigmoid


sigmoid의 비선형성은 이미 none-zero mean으로 인해서 Hessian에서 특이값을 발생하는 것 때문에(LeCun et al., 1998b) 학습을 저하시키는 요소로 알려져있다. 이번 섹션에서 우리는 이 sigmoid 함수가 deep feedforward networks에서 보여주는 다른 증상을 볼 것 입니다.


우리는 학습하는 동안 activation의 진화를 보면서 포화의 가능성이 있는지 연구하길 원합니다. 그래서 이번장에 있는 figure들은 Shapeset-3x2 데이터를 이용한 결과를 보여줍니다. 그러나 다른 데이터셋들에서도 비슷한 결과들이 관찰됩니다. Figure 2는 sigmoid activation function을 사용할 때, 학습하는 동안 각각의 deep architecture 내부의 히든 레이어의 activation값의 변화 추이를 보여줍니다. 레이어1은 첫번째 히든레이어의 출력을 나타내고, 그 외에 4개의 히든 레이어가 있습니다. 그래프는 평균과 각각의 activation의 표준편차(standard deviations)을 보여줍니다. 이러한 히스토그램에 따르는 통계는 학습하는 동안 각기 다른 시간에 있는 activation값들의 고정된 300개의 테스트 예제 샘플을 계산하여 계산되어졌습니다.



Figure 2 : 지도학습을 하는 동안 deep architecture의 각기 다른 히든레이어의 activation 값(sigmoid의 출력값)의 평균과 표준편차(standart diviation)(vertical bars). 최상위 히든 레이어는 빠르게 0으로 포화합니다(모든 학습이 느려집니다). epoch가 100인 근방에서 천천히 포화도가 저하됩니다.


우리는 마지막 히든 레이어의 모든 sigmoid의 activation값은 그들의 작은 포화값인 0으로 빠르게 이동합니다. 하지만 반대로 다른 레이어의 평균 activation값은 0.5이상이고, 출력 레이어에서 입력 레이어로 갈 수록 이 값은 감소합니다. 우리는 sigmoid activation function을 사용한다면 이러한 종류의 포화가 더 깊은 인공신경망에서는 더 오래 지속될 수 있음을 발견했습니다. 5개의 레이어를 갖는 모델에서는 학습을 하면서 해당 포화를 갖는 지역을 절대 벗어날 수 없었습니다. 놀랍게도 4개의 중간계층의 히든레이어는 이러한 포화 지역을 벗어날 수 있었습니다. 최상위 히든 레이어가 포화값을 벗어나는 동안 입력 레이어는 포화되면서 안정을 찾기 시작했습니다.


우리는 이러한 동작이 random initialization과 출력값이 0이된 히든레이어가 포화된 simoid함수와 일치한다는 점이 혼합되서 발생한다고 가정합니다. sigmoid function을 사용한 deep networks를 사용하되, 초기화를 비지도 사전학습으로 한 신경망은 이러한 포화 동작을 겪지 않습니다.(e.g. from RBMs) 제안된 설명은 비지도 사전학습을 통해 얻은 변환과는 다르게 무작위로 초기화된 하위 레이어의로 이루어진 신경망이 초기에 계산한 변환값들은 분류작업을 하는데 있어서 유용하지 않다는 가설에 기반합니다. logistic layer의 출력값인

는 처음에는 입력 이미지로 부터 영향을 받은 최상위 히든레이어의 활성값 h보다 (아주 빠르게 학습된) biases b에 더 의존을 할 것입니다. 왜냐면 h는 y를 예측하지 못하는 방식으로 변할 것이기 때문에, 아마 h와는 다르고, 조금 더 우세한 변수인 x와 지배적으로 상관관계가 있을 것입니다. 따라서 오차 기울기는 W를 0으로 바꾸는 경향이 있으며, 이것은 h를 0으로 변환시키면 달성 될 수 있습니다. hyperbolic tangent나 softsign같은 symmetric activation function 같은 경우엔 더 좋은데 왜냐면 이럴 경우에는 gradients가 뒤로 흐를 수 있기 때문입니다. 그러나 sigmoid의 출력을 0으로 밀게 되면 그것을 포화지역으로 데려가게 됩니다. 그것은 gradients가 뒤로 흐르지 못하게 막고, 하위 레이어가 유용한 특징을 학습하지 못하게 만듭니다. 결국 천천히, 더 낮은 레이어는 보다 유용한 피쳐로 이동하고, 그 위로 숨겨진 레이어는 포화 지역으로 이동합니다. 그러나 그 이후에 해당 신경망이 solution으로 이동한다 하더라도 Figure 11에서 볼 수 있듯이 네트워크는 품질이 좋지 않게 됩니다.(eneralization 관점에서) 이것은 Figure 11에서 볼 수 있듯이 symmetric activation function들에서 발견할 수 있는 솔루션입니다.



3-2. Experiments with the Hyperbolic tangent


위에서 이야기한것과 같이 hyperbolic tangent를 activation function으로 사용한 인공 신경망은 0을 중심으로 대칭적(symmetry)이기 때문에 최상위의 히든 레이어의 포화문제를 겪지 않습니다. 하지만 우리의 표준 가중치 초기화인




를 사용하게 되면, Figure 3에서 보여주는 것과 같이 레이어1에서부터 순차적으로 발생하는 포화현상을 확인 할 수 있습니다. 왜 이러한 일이 일어나는지 이해하는 것이 우리에게 남겨졌습니다.




Figure 3 : (위 이미지)학습하는 동안, activation function을 hyperbolic tangent사용한 인공신경망의 activation 값의 분포에 대한 백분위점수와(마커) 표준편차(실선). 우리는 첫번째 히든레이어가 먼저 포화되고 두번째가 포화되는 형태를 볼 수 있습니다.(아래 이미지) 학습하는 동안, softsign을 activation function으로 사용한 인공신경망의 activation값의 분포에 대한 백분위점수(마커)와 표준편차(실선). 여기서 다른 레이어들은 더 적게 포화되고 함게 결합합니다.


3.3 Experiments with the Softsign



softsign 은 hyperbolic tangent와 유사하지만 부드러운 점근선(지수항이 아닌 다항식으로 인해서) 때문에 포화의 관점에서 다르게 동작 할 수 있습니다. 그림 3에서 볼 수 있듯이, hyperbolic tangent와 같이 포화가 하나의 레이어에서 다른 레이어로 발생하지 않는 다는 것을 알 수 있습니다. softsign은 처음에는 빠르고, 조금 지나면 느려집니다. 그리고 모든 레이어는 큰 가중치값으로 이동합니다.


또한 학습이 끝난 후에 activation의 값의 히스토그램이 hyperbolic tangent와는 아주 상이하다는 것을 Figure 4를 통해서 확인할 수 있습니다. hyperbolic tangent는 대부분 극한(점근선 -1과 1) 또는 0 부근에서 활성화 분포의 양상을 나타내지만, softsign 네트워크는 무릎 둘레에서 활성화 모드를 갖는다(선형 지역 0 주위와 평평한 지역 -1과 1사이) 이러한 지역은 부분적인 비선형성이 있지만 gradient가 잘 흐를 수 있는 지역입니다.




Figure 4. 학습이 끝난 다음에 정규화되어 히스토그램으로 표현된 Activation값으로 같은 레이어의 단위들(units)과 300개의 테스트 예제에 대해서 평균을 계산합니다. (상단 이미지). activation function은 hyperbolic tangent이고, 우리는 낮은 레이어의 중요한 포화를 볼 수 있습니다. (하단 이미지) activation function은 softsign이며, 우리는 단위들(units)가 포화되지는 않지만 비선형인 (-0.6, -0.8)그리고 (0.6, 0.8) 주변에 분포하고 있는 많은 활성화 값들을 볼 수 있습니다.


4. Studying Gradients and their Propagation


4.1 Effect of the Cost Function



우리는 로지스틱 회귀 또는 조건부 대수 우도 비용함수(softmax 출력과 겹합된 logP(y|x))가 feed forward환경 네트워크를 훈련하기 위해 전통적으로 사용 된 2차 비용보다 훨씬 더 잘 작동한다는 것을 발견했다.(Rumelhart et al., 1986). 이것은 새로운 것이 아니지만(Solla et al. 1988) 우리는 여기서 강조하는 것이 중요하다는 것을 발견했다. 우리는 훈련하는 특징(parameter의 함수로써)에서 발견된 plateaus가 대수 우도 함수에 덜 존재 함을 발견 했다. Figure 5는 hyperbolic tangent unit들을 사용할 때, 이중 인공 신경망에서(한개의 숨겨진 계층)  2개의 가중치를 갖는 함수로써 학습을 시킬 때 생기는 특징을 표현한 것이다.  또한 임의의 입력과 대상 신호는 분명히 2차 비용을 가진 더 심한 평원이 있을 겁니다.


4.2 Gradients at initialization


4.2.1 Theoretical Considerations and a New Normalized Initialization



우리는 각 레이어의 input biases에 대한 cost function의 등가적인 gradient나 back-propargated gradients를 연구합니다. Bradley (2009)는 초기화 직후 back-propagated gradients는 출력레이어에서 입력레이어로 이동하는 양이 더 작아졌음을 발견했습니다. 그는 각 레이어가 linear activation으로 구성된 인공 신경망을 연구했는데, 우리가 뒤로 신경망을 학습 시킬때마다 back-propagated gradients의 분산은 감소한다는 것을 발견하였습니다. 우리는 linear 지역을 연구하는 것을 통해 시작할 것입니다.





Figure 5 : 2개의 레이어를 갖는 인공신경망의 2개의 가중치(각 레이어들 중에서)의 함수로써, Cross entropy (위의 검은색 면) 그리고 2차 비용(바닥의 빨간색 면). 첫번째 레이어의 W1과 두번째 레이어의 W2,



조밀한 인공신경망을 위해 x가 0에서 단위 미분값을 1로 갖는() symmetric activation function F를 사용합니다. 만약 우리가  레이어 의 avtivation vector로 를 사용하고, 레이어 에서 activation function의 argument vector를 를 사용한다면, 다음과 같은 정의를 얻을 수 있다.





이러한 수식으로부터 우리는 다음을 유도할 수 있다.





분산는 각각 입력값에 관련되어서 표현될 것이며, 출력값과 가중치 초기화는 임의성을 갖습니다.  선형적인 지역에서 가중치는 개별적으로 초기화가 되며, 입력 특징에 대한 분산은 같다라는 가설을 고려해야합니다.( )  그러면 는 레이어의 크기를 네트워크 입력으로 말할 수 있습니다.





우리는 레이어 의 모든 가중치의 모든 공유된 스칼라 분산에 대해서라고 씁니다. 그런 다음 레이어가 있는 경우





forward-propagation 관점으로 정보의 흐름을 보기 위해서 다음과 같이 식을 표현합니다.




back-propagation 관점에서는 이렇게 표현될 수 있습니다.






위 두 식은 다음과 같이 표현될 수 있습니다.



위 식의 절충안으로 우리는 다음과 같이 제안합니다.



모든 레이어가 동일한 너비를 가질 때, 두 조건이 충족되는 것을 유의하셔야 합니다. 가중치에 대해서도 동일한 초기화가 있는 경우에 다음과 같은 흥미로운 속성을 얻을 수 있습니다.



weight의 gradient분산은 모든 레이어에서 같지만 deep neural network를 고려할 때, back-propagated gadient의 분산은 여전히 사라지거나 폭발할 수 있습니다. recurrent neural network를 연구할 때, 이러한 지난 문제들이 증가됬는지 유의하셔야합니다. 왜냐면 시간을 지나갈 때는 그것이 아주 깊은 neural network라고 볼 수 있기 때문입니다.


우리가 eq.1에서 사용한 표준 초기화는 다음의 속성으로 인해 분산을 증가시킵니다.




여기서 n은 레이어의 크기입니다(모든 레이어가 동일한 크기라고 가정했을 때). 이것은 back-propagated gradient의 분산이 레이어에 의존 및 감소되게 만듭니다.


그래서 정규화 요소는 계층을 통한 곱셈 효과 때문에 deep network를 초기화할 때 중요합니다. 그리고 우리는 activation variances와 back-propagated gradients variance가 네트워크에서 위아래로 움직일 수 있는 안전한 초기화 절차를 제안합니다.우리는 이것을 정규화된 초기화라고 부릅니다.





4.2.2 Gradient Propagation Study


이론적인 아이디어를 경험적으로 검증하기 위해서 두가지 다른 초기화 방법을 사용할 때, activation값, weight gradients와 back-propagated gradients의 정규화 된 히스토그램을 그렸습니다. Figure6, 7, 8에 표시된 결과는 Shapeset-3X2에 대한 실험에서 나온 것이지만, 질적으로 다른 데이터 셋에서 얻어진 결과와 매우 유사합니다.



우리는 레이어 i와 관련된 Jacobian 행렬의 특이값을 모니터링 했습니다. :



연속적인 레이어가 같은 차원을 가지고 있을 때, 평균 singular value는 ~ 구간으로 맵핑된 아주 작은 volumes의 평균량과 일치합니다. ~ 로 변하는 평균 activation variance의 비율도 마찬가지입니다. 우리가 제안한 정규화된 초기화에서 이 비율은 0.8 근처이지만 표준 초기화 방법을 사용했을 때는, 0.5로 떨어집니다.
 

Figure 6. hyperbolic tangent activation을 사용한 activation value를 정규화한 히스토그램. 표준 초기화 방법(상단 이미지)과 정규화된 초기화 방법(하단 이미지). 상단 이미지에서 0-peak는 상위 레이어에서 증가한다.



4.3 Back-propagated Gradients During Learning



이러한 신경망에서의 동적인 학습은 복잡하다. 그래서 우리는 이것을 분석하고 추적하기 위해서 더 나은 툴을 개발하고 싶어합니다. 특히, 우리는 우리의 이론적인 분석에서 간단한 variance 계산을 사용할 수 없습니다. 왜냐하면 weights value가 더 이상 activation value와 독립적이지 않으며, 선형성에 대한 가설이 위반되었기 때문입니다.


Bradely(2009)에 처음으로 언급된 것과 같이 우리가 Figure7에서 볼 수 있듯이  표준 초기화 이후에 진행되는 학습 초기에 back-propagated graident의 분산이 아래로 전파됨에 따라 더 작아지는 것을 확인 할 수 있습니다. 하지만 우리는 이러한 경향이 학습하는 동안 아주 빠르게 바뀐다는 것을 확인할 수 있었습니다. 우리의 정규화된 초기화 방법을 사용한다면, 우리는 그러한 back-propagated gradients가 감소하는 것을 볼 필요가 없을 것입니다.(하단 Figure 7)




Figure 7 :  hyper-bolic tangent activation을 사용한 정규화된 Back-propagated gradients 히스토그램. 표준 포기화(상단 이미지)와 정규화된 표준화(하단 이미지)를 비교하였다. 상단 이미지에서 x축이 0인 값에서 peak값이 상위 레이어로 갈 수록 작아지고 있다.


초기에 정말 놀라운 것은, 표준 초기화에서 back-propagated gradient가 작아졌을 때, gradients의 가중치의 분산은 Figure 8에서 볼 수 있듯이 레이어간에 일정하게 유지된다는 것입니다. 그러나 이건 우리의 이론적인 분석(eq. 14)에 의해 설명될 수 있습니다.  흥미롭게도 Figure9 에서 볼 수 있듯이, 표준 초기화와 정규화된 표준화에 의해 생성된 gradient의 가중치에 대한 관찰은 학습하는 동안 바뀝니다.(여기서는 tanh를 activation function으로 사용하는 신경망일 경우). 실제로 gradient는 처음에는 동일한 크기이지만, 학습이 진행됨에 따라 gradient의 크기는 서로 달라지게 됩니다.(하위 레이어에서는 gradient가 더 커짐)(특히 표준 초기화방법을 사용했을 때다른 레이어에서 다른 크기 gradients를 갖는 것은 학습을 느리게 하며 좋지 않은 상태(불량 컨디셔닝)을 초래할 수 있으므로 정규화된 초기화 기법은 표준 초기화 기법과 비교했을 때, 이러한 부분에서  강점 갖게 될 것입니다. 


마지막으로 우리는 Figure3-하단 이미지, Figure10을 통해서 softsign network가 정규화된 초기화 방법을 사용한 tanh network와 유사성을 공유한다는 것을 알 수 있습니다.


5. Error Curves and Conclusions


마지막 고려사항은 우리가 신경쓰는 것은 다른 방식을 사용한 학습의 성공이며, 이것은 test error의 진화를 보여주는 최선의 error curves를 학습과정과 점근선으로써 보여주는 것입니다. Figure 11은 Shapeset-3X2를 사용하여 온라인으로 학습한 커브를 보여주고 있습니다. Table 1은 연구된 모든 데이터셋(Shapeset-3X2, MNIST, CIFAR-10, SmallImageNet)에 대한 최종 test error를 보여줍니다. 기준선으로, 우리는 100,000개의 Shapeset 예제를 사용해서 BRF SVM 모델을 최적화하였고, 59.47%의 test error를 얻었으며, 동일한 데이터 셋트를 이용해서 5층의 깊이를 가진 hyper-bolic tangent 신경망을 정규화된 초기화 기법으로 초기화 후 학습하여 50.47%의 test error를 얻었습니다.



Figure 8 : 상단 이미지는 hyperbolic tangent를 activation function으로 사용하고, 표준 초기화 기법을 사용하여 초기화한 후에 Weight gradient를 정규화 한 히스토그램입니다. 그리고 하단 이미지는 정규화된 초기화 기법을 각각 다른 레이어에서 사용한 것입니다. 표준 초기화 방법을 사용했을 때, back-propagated gradient는 작아졌지만 weight gradients는 그러지 않았습니다.


Table 1: 5개의 히든 레이어를 사용한 deep network에서 다른 activation function과 다른 초기화 방법을 사용했을 때, 나온 테스트 에러입니다. activation function 뒤에 붙은 "N"은 정규화된 초기화 사용을 했다는 것을 의미합니다. 굵게 표시된 결과는 p = 0.005인 null hypothesis test에서 굵게 표시되지 않은 결과와 통계적으로 다릅니다.





이 결과는 activation과 초기화의 선택에 대한 효과를 보여줍니다. 참고로 우리는 잡음 감소를 위한 auto-encoders를 사용한 비지도 사전학습를 한 후에 얻은 이 초기화로 supervised fine-tuning을 위한 에러 커브를 Figure 11에 포함하였습니다. (Vincent et al., 2008). 각 네트워크에 대한 학습 비율은 검증 데이터 셋의 오휴를 최소화하기 위해 별도로 선택하였습니다. 우리는 Shapeset-3X2가 작업하기 어렵다고 말 할 수 있습니다. 우리는 학습이 진행되는동안 중요한 포화 상태를 관찰하였습니다. 이것은 정규화된 초기화나 softsign 효과가 조금 더 가시적으로 볼 수 있다는 것을 설명할 것입니다.


우리는 이 에러 커브로부터 몇가지 결론을 도출할 수 있었습니다 : 


-  sigmoid나 hyperbolic tangent와 표준 초기화 방법을 사용한 전통적인 인공 신경망은 상태가 꽤 안좋습니다. 수렴속도가 더 느리고, 확실하게 local minima에 취약합니다.


- softsign을 사용한 인공 신경망은 tanh을 사용한 네트워크보다 초기화 절차에 더 강인한 것으로 보이는데, 이것은 아마도 더 부드러운 비선형성 때문일 것입니다.


- tanh 네트워크의 경우, 제안된 정규화 초기화 방법은 꽤 유용할 수 있습니다. 아마도 레이어 간 변환이 활성화(위쪽으로 흐르는) 및 gradient(뒤로 향하는)크기를 유지하기 때문입니다.


다른 방법은 학습 중에 레이어간의 불일치를 완화 할 수 있는데, 예를 들어, 2차 정보를 이용하여 각 파라미터에 대해 학습 속도를 개별적으로 설정하는 것입니다. 예를 들어, 우리는 Hessian 대각선(LeCun et al., 1998b)나 gradient variance estimate를 사용할 수 있습니다. 이 두 가지 방법 모두 hyperbolic tangent와 표준 초기화 방법이 적용된 Shapeset-3X2에 적용되었습니다. 성능은 향상되었으나 정규화된 초기화 방법만큼의 결과에는 따라오지 못했습니다. 게다가, 우리는 정규화 된 초기화와 2차 방법을 결합하여 더 많은 이득을 얻었습니다. 추정 된 헤시안은 레이어 간의 중요한 불일치를 수정하지 않아도 단위간의 불일치에 집중할 수 있습니다.


Figure 9 : 위 그림은 학습하는 동안 hyperbolic tangent를 사용한 weights gradients의 표준편차 간격입니다. 상단 그래프는 표준 초기화 방법을, 하단 그래프는 정규화된 초기화 방법 사용하였습니다. 정규롸는 레이어 간의 weights gradient의 분산을 같은 크기로 유지할 수 있게 해줍니다.(상단 : 상위 레이어의 분산이 작음)


Figure 10 : 학습 중 정규화 된 초기화를 이용한 hyperbolic tangent에 대한 활성화 값 분포의 98 백분위 수(마커만) 및 표준 편차(마커가 있는 실선)


보고된 모든 실험에서 레이어 당 동일한 수의 단위를 사용했습니다. 그러나 레이어 수에 따라 레이어 크기가 증가(또는 감소)할 때도 동일한 결과를 얻을 수 있음을 확인했습니다.


본 연구의 다른 결론은 다음과 같습니다.


- 레이어 전반의 activation들과 gradients를 모니터링하는 것과 반복 학습하는 것은 deep network에서 학습이 어려운 것을 이해하는 것을 위한  강력한 조사 도구입니다.


- 작은 임의의weight 값으로 초기화 할때, Sigmoid activation(0 주위의 대칭성을 갖지 않는 activation function들) 피해야합니다. 왜냐면 초기에 최상위 레이어의 포화때문에 학습 능력이 매우 좋지 않기 때문입니다.


- 많은 관찰 결과 중 상당 부분은 원인이 규명이 되지 않아 deep network에서 gradient와 training dynamics를 위한 추가 조사가 필요합니다.




Figure 11 :  Shapeset-3X2을 온라인에서 학습할 때, 다양한 activation function과 초기화 방법을 사용했을 때, 나타난 테스트 에러입니다.(최종 에러율이 감소하는 대로 정렬하였습니다) activation function 이름 뒤에 N은 정규화 된 초기화를 사용했다는 것을 나타냅니다.


 

 



Figure 12 :  MNIST와 CIFAR10에 대해서 다양한 activation function과 초기화 방법을 사용해서 학습 도중에 나타난 에러 곡선입니다.(에러가 작아지는 순으로 정렬되어 있습니다.)  activation function 이름 뒤에 N은 정규화 된 초기화를 사용했다는 것을 나타냅니다.



참고


- Bengio, Y. (2009). Learning deep architectures for AI. Foundations and Trends in Machine Learning, 2, 1–127. Also published as a book. Now Publishers, 2009.


- Bengio, Y., Lamblin, P., Popovici, D., & Larochelle, H. (2007). Greedy layer-wise training of deep networks. NIPS 19 (pp. 153–160). MIT Press.


- Bengio, Y., Simard, P., & Frasconi, P. (1994). Learning long-term dependencies with gradient descent is difficult. IEEE Transactions on Neural Networks, 5, 57–166.


- Bergstra, J., Desjardins, G., Lamblin, P., & Bengio, Y. (2009). Quadratic polynomials learn better image features (Technical Report 1337). Département d’Informatique et de Recherche Opérationnelle, Université de Montréal.


- Bradley, D. (2009). Learning in modular systems. Doctoral dissertation, The Robotics Institute, Carnegie Mellon University.


- Collobert, R., & Weston, J. (2008). A unified architecture for natural language processing: Deep neural networks with multitask learning. ICML 2008.


- Erhan, D., Manzagol, P.-A., Bengio, Y., Bengio, S., & Vincent, P. (2009). The difficulty of training deep architectures and the effect of unsupervised pre-training. AISTATS’2009 (pp. 153–160).


- Hinton, G. E., Osindero, S., & Teh, Y. (2006). A fast learning algorithm for deep belief nets. Neural Computation, 18, 1527–1554.


- Krizhevsky, A., & Hinton, G. (2009). Learning multiple layers of features from tiny images (Technical Report). University of Toronto.


- Larochelle, H., Bengio, Y., Louradour, J., & Lamblin, P. (2009). Exploring strategies for training deep neural networks. The Journal of Machine Learning Research, 10, 1–40.


- Larochelle, H., Erhan, D., Courville, A., Bergstra, J., & Bengio, Y. (2007). An empirical evaluation of deep architectures on problems with many factors of variation. ICML 2007.


- LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998a). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86, 2278–2324.


- LeCun, Y., Bottou, L., Orr, G. B., & Müller, K.-R. (1998b). Efficient backprop. In Neural networks, tricks of the trade, Lecture Notes in Computer Science LNCS 1524. Springer Verlag.


- Mnih, A., & Hinton, G. E. (2009). A scalable hierarchical distributed language model. NIPS 21 (pp. 1081–1088).


- Ranzato, M., Poultney, C., Chopra, S., & LeCun, Y. (2007). Efficient learning of sparse representations with an energy-based model. NIPS 19.


- Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323, 533–536.


- Solla, S. A., Levin, E., & Fleisher, M. (1988). Accelerated learning in layered neural networks. Complex Systems, 2, 625–639.


- Vincent, P., Larochelle, H., Bengio, Y., & Manzagol, P.-A. (2008). Extracting and composing robust features with denoising autoencoders. ICML 2008.


- Weston, J., Ratle, F., & Collobert, R. (2008). Deep learning via semi-supervised embedding. ICML 2008 (pp. 1168–1175). New York, NY, USA: ACM.


- Zhu, L., Chen, Y., & Yuille, A. (2009). Unsupervised learning of probabilistic grammar-markov models for object categories. IEEE Transactions on Pattern Analysis and Machine Intelligence, 31, 114–128.