신경망에서 좋은 초기 가중치는 무엇입니까?


68

방금 범위에서 신경망의 초기 가중치를 선택하는 것이 좋습니다 . 여기서 는 주어진 뉴런에 대한 입력 수. 세트가 정규화되었다고 가정합니다-평균 0, 분산 1 (이 문제가 중요하지 않은 경우).d(1d,1d)d

이것이 왜 좋은 생각입니까?


참조 내 석사 논문, 81 페이지를 초기화 기법을 통해 개요.
Martin Thoma 17시

답변:


47

나는 당신이 로지스틱 뉴런을 사용하고 있으며, 당신은 기울기 하강 / 역 전파에 의해 훈련한다고 가정합니다.

로지스틱 기능은 큰 포지티브 또는 네거티브 입력의 경우 거의 평평합니다. 의 입력에서 도함수 는 약 이지만, 에서 도함수는 약 입니다. 이는 로지스틱 뉴런의 입력이 경우 주어진 훈련 신호에 대해 입력이 경우 에 비해 뉴런이 약 배 느리게 학습 됨을 의미합니다 .1 / 10 (10) 1 / 22000 10 2200 221/10101/220001022002

뉴런이 빠르게 학습하기를 원할 경우 (예를 들어, 교차 엔트로피 손실 함수와 같은) 큰 훈련 신호를 생성하거나 미분이 커지기를 원합니다. 도함수를 크게하려면 초기 가중치를 설정하여 범위의 입력을 자주 얻습니다 .[4,4]

당신이주는 초기 무게는 작동하거나 작동하지 않을 수 있습니다. 입력이 정규화되는 방법에 따라 다릅니다. 입력 정규화 경우 평균 갖도록 과 표준 편차 의 후 임의의 액수 에 가중치 유니폼 조건 은 와 독립적으로 평균 과 분산 을 갖습니다 . 이외의 합계를 얻을 확률 은 작습니다. 즉 , 를 증가 시키면 뉴런이 포화 상태가되어 학습하지 못하게됩니다.1 ( 101d01(1d,1d)0 차원[-4,4](D)13d[4,4]d

정규화되지 않은 입력의 경우 이러한 가중치는 채도를 피하는 데 효과적이지 않을 수 있습니다.


1
따라서 기본적으로 항상 데이터 정규화를 고려해야합니다. 이제는 의미가 있습니다. 표준 편차가 1/3이되는 이유와 입력 합이 <-4,4> 범위를 벗어나는 확률이 얼마나 작은 지 설명 할 수 있습니까?
elmes

1
와 가 독립적 인 경우 와 인 경우 분산의 몇 가지 기본 속성이 있습니다. 및 독립적이며, 평균이 , 후 . Y Var ( X + Y ) = Var ( X ) + Var ( Y ) X Y 0 Var ( X * Y ) = Var ( X ) * Var ( Y )XYVar(X+Y)=Var(X)+Var(Y)XY0Var(XY)=Var(X)Var(Y)
Douglas Zare

1
체비 쇼프 부등식을 사용하여 랜덤 변수가 평균과 표준 편차 이상일 확률을 추정 할 수 있습니다 . 실제로 이것은 예리하지는 않지만 정확한 결과는 분포에 따라 다릅니다. 12
Douglas Zare

그건 그렇고, 나는 잘못 계산했다. 분산은 이므로 표준 편차는 입니다. 1313
Douglas Zare

1
"물류 함수는 양의 양 또는 음의 큰 입력에 대해 거의 비슷합니다. 입력의 파생물 ..."관련 주제가 로지스틱 회귀 의 비용 함수 의 파생물이 아니어야합니까 ? 비용 함수의 미분에 대한 입력은 가중치 및 신호의 크기에 관계없이 물류 함수에 의해 이미 (0,1)로 스케일링됩니까?
Moobie

28

[1]은 다음과 같은 질문을 다룹니다.

먼저 백 프로그래밍 할 때 대칭을 끊기 위해 가중치를 0으로 설정하지 않아야합니다.

Biase는 일반적으로 0으로 초기화 될 수 있지만 가중치는 동일한 레이어의 숨겨진 단위 사이의 대칭을 깨뜨리기 위해 신중하게 초기화해야합니다. 다른 출력 장치가 다른 그래디언트 신호를 수신하기 때문에,이 대칭 파괴 문제는 (출력 장치에 대한) 출력 가중치와 관련이 없으므로 0으로 설정할 수도 있습니다.

몇 가지 초기화 전략 :

  • [2]와 [3]은 팬인의 제곱근의 역으로 ​​스케일링을 권장합니다
  • Glorot and Bengio (2010)와 딥 러닝 자습서는 팬인과 팬 아웃의 조합을 사용합니다.
    • 쌍곡 탄젠트 단위의 경우 : r = √를 사용 하여 Uniform (-r, r)을 샘플링합니다. (fan-in은 장치의 입력 수입니다).r=6fan-in+fan-out
    • S 자형 단위의 경우 : r = 4 √ 인 유니폼 (-r, r)을 샘플링합니다. (fan-in은 장치의 입력 수입니다).r=46fan-in+fan-out
  • RBM의 경우 0.1 또는 0.01 정도의 작은 표준 편차를 가진 0 평균 가우시안이 가중치를 초기화하는 데 효과적입니다 (Hinton, 2010).
  • 직교 랜덤 매트릭스 초기화, 즉 초기화 매트릭스 W = np.random.randn(ndim, ndim); u, s, v = np.linalg.svd(W)로 사용 u합니다.

또한 감독되지 않은 사전 교육은 일부 상황에서 도움이 될 수 있습니다.

중요한 선택은 매개 변수를 초기화하기 위해 비 감독 사전 훈련 (및 비 감독 기능 학습 알고리즘)을 사용해야하는지 여부입니다. 대부분의 환경에서 우리는 감독되지 않은 사전 훈련을 돕고 아프게하는 경우는 거의 없지만, 추가 훈련 시간과 추가 하이퍼 파라미터를 의미합니다.

일부 ANN 라이브러리에는 Lasagne 와 같은 흥미로운 목록이 있습니다 .

Constant([val]) Initialize weights with constant value.
Normal([std, mean]) Sample initial weights from the Gaussian distribution.
Uniform([range, std, mean]) Sample initial weights from the uniform distribution.
Glorot(initializer[, gain, c01b])   Glorot weight initialization.
GlorotNormal([gain, c01b])  Glorot with weights sampled from the Normal distribution.
GlorotUniform([gain, c01b]) Glorot with weights sampled from the Uniform distribution.
He(initializer[, gain, c01b])   He weight initialization.
HeNormal([gain, c01b])  He initializer with weights sampled from the Normal distribution.
HeUniform([gain, c01b]) He initializer with weights sampled from the Uniform distribution.
Orthogonal([gain])  Intialize weights as Orthogonal matrix.
Sparse([sparsity, std]) Initialize weights as sparse matrix.

[1] 요슈아 벤 지오. " 심층 아키텍처의 그라디언트 기반 교육에 대한 실제 권장 사항. "신경망 : 무역의 비법. Springer Berlin Heidelberg, 2012. 437-478.

[2] LeCun, Y., Bottou, L., Orr, GB 및 Muller, K. (1998a). 효율적인 백프로 프. 신경망에서 무역의 비법 .

[3] Glorot, Xavier 및 Yoshua Bengio. " 심층 피드 포워드 신경망 훈련의 어려움 이해하기 ." 인공 지능 및 통계에 관한 국제 회의. 2010.


2
이 유용한 참조를 추가 할 I`d : 1) 정류기에 깊은 탐구 : ImageNet 분류에 인간 수준의 성능을 능가 - 활성화 인식 크기 조정의 중요성에 대해 arxiv.org/abs/1502.01852 의 비선형 역학 2) 정확한 솔루션을 딥 선형 신경망에서 학습 arxiv.org/abs/1312.6120- 직교 정규 행렬은 가우스 잡음보다 훨씬 낫습니다
old-ufo

1
한 편집자는 시그 모이 드의 초기화와 쌍곡 탄젠트가 원본 용지와 일치하도록 전환해야한다고 제안합니다.
gung

2
이 편집 내용을 유지하겠습니까, Frank? 그렇지 않은 경우 롤백 할 수 있습니다.
gung

뭔가 빠졌을 것입니다. Glorot and Bengio (2010) 논문에서 로지스틱 시그 모이 드 활성화 기능을 사용할 때 수식 16 값의 4 배를 사용하는 것이 좋겠다고 말합니까? 수학 식 16은 수학 식 12를 사용하고 균일 분포의 분산을 따르지만, 수학 식 16은 0에서 단위 도함수를 갖는 대칭 활성화를 가정하여 도출된다. 또한 로지스틱 S 자형으로이 제안 된 초기화를 테스트조차하지 않습니다. 그들은 tanh와 softsign으로 만 테스트합니다.
Tommy L

10

<xi>=0
<xi2>=1

문제는 가중치를 가장 잘 선택하는 방법입니다. 아이디어는 최적화 과정이 의미있는 솔루션으로 수렴하는 데 도움이되는 분포에 따라 가중치의 값을 무작위로 선택하는 것입니다.

y=g(a)
a=i=0dwixi
<a>=i=0d<wixi>=i=0d<wi><xi>=0
<a2>=(i=0dwixi)(i=0dwixi)=i=0d<wi2><xi2>=σ2d
<wiwj>=δij

<xi2>=10

σααα

이는 레이어를 추가 할 때 단위가 빠르게 포화되는 심층 신경망에 특히 해당됩니다. 그 질문에 관한 많은 논문이 있습니다. 좋은 시작점은 glorot and bengio의 "심층 피드 포워드 신경망 훈련의 어려움 이해"
jpmuc

10

그럼 그냥 업데이트로 정류기에 깊은 탐구 : 그는 등에 의해 인간 수준의 성능 N ImageNet 분류를 능가 초기화 구체적으로 초기화를 도입 하여 NN의 입력의 수입니다. 나는이 초기화가 많은 최근 작품 (ReLU와 함께)에서 사용되는 것을 보았습니다. 실제로는 이것이 언급 한 (-1 / n, 1 / n)보다 훨씬 빠르게 오류율을 줄이기 시작하는 방법을 보여줍니다. 자세한 설명은 논문을 참조하십시오. 그러나 수렴 속도는 다음과 같습니다. w = U([0,n]) * sqrt(2.0/n)n22 층 대형 모델의 수렴


와! 나를 위해 상당한 개선.
Thomas W

그러나 많은 수의 입력에는 적합하지 않습니다 ... MNIST에서는 실패합니다.
토마스 W

He- 초기화는 (P) ReLU를 위해 특별히 설계되었으며 대칭이 아님 (Xavier- 초기화의 가정 중 하나)을 설명합니다. 문맥에서이 그래프에 속지 마십시오!
Mr Tsjolder

5

이는 순방향 및 역방향 데이터가 네트워크를 통해 잘 전달 될 수 있도록 가중치를 초기화하려는 것입니다. 즉, 네트워크를 진행할 때 활성화가 지속적으로 줄어들거나 커지는 것을 원하지 않습니다.

이 이미지는 네트워크를 통해 MNIST를 한 번 통과 한 후 3 가지 다른 초기화 전략에서 5 레이어 ReLU 다중 계층 Perceptron의 활성화를 보여줍니다.

다른 초기화 전략을 사용하는 ReLU MLP의 활성화

세 경우 모두 가중치는 표준 편차에 의해 결정되는 중심이 0 인 정규 분포에서 도출됩니다. 초기 가중치가 너무 작 으면 (표준 편차가 작음) 활성화가 질식되고, 너무 크면 활성화가 폭발 함을 알 수 있습니다. 중간 값, 즉 대략적인 값은 가중치를 설정하여 활성화 및 그라디언트 업데이트의 분산이 네트워크를 통과 할 때와 거의 동일하게 유지되도록 찾을 수 있습니다.

더 자세한 가중치 초기화에 대한 블로그 게시물을 작성 했지만 기본 아이디어는 다음과 같습니다.

x(i)iniw(i)(i+1)ff(s)1

Var(x(i+1))=niVar(x(i))Var(w(i))

Var(x(i+1))=Var(x(i))

Var(w(i))=1ni.

우리가 을 표시하면Lxj(i)Δj(i)

Var(Δ(i))=ni+1Var(Δ(i+1))Var(w(i)).

ni=ni+1

Var(w(i))=2ni+ni+1.

N(0,σ)σ=2ni+ni+1U(a,a)a=6ni+ni+1Var(U(a,a))=a2/3

tanhReLUf(s)=ReLU(s)

Var(w(i))=2ni.

3

μB=1mi=1Mxi   and   σB2=1mi=1m(xiμB)2x^i=xiμBσB2+ϵ   and   BN(xi)=γx^i+β
xiBN(xi)x^iγβ

γβx^ixixix^iβγ훈련 중. 따라서 배치 정규화는 학습을 안정화시킵니다.

결과적으로 Batch Normalization은 훨씬 높은 학습 속도를 사용하여 더 빠른 교육가능하게 하며 잘못된 초기화 문제를 완화합니다. BN은 또한 네트워크가 포화 모드에 걸리지 않도록하여 포화 비선형 성을 사용할 수있게합니다. 요약하면 배치 정규화는 정규화 된 활성화를 네트워크에 도입하는 차별화 가능한 변환입니다. 실제로, BN 층은 완전히 연결된 층 직후에 삽입 될 수있다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.