2016-09-11 7 views
0

나는 '전문가에 대한 깊은 MNIST'라는 TensorFlow 튜토리얼 here을 통해 갈거야 (난 '전문가'매우 느슨하게 단어를 해석 희망!) 나는 회선을 설정하는 방법에 대해 논의 부분에 갈거야길쌈 신경 네트워크를 만들 때 TensorFlow에서 난수로 구성된 패치를 만드는 이유는 무엇입니까?

컨벌루션 뉴럴 네트워크 (Convolutional Neural Network). 요컨대

, 그들은 중량에 대한 함수를 생성 : 단지 절단 정규 분포의 값을 출력한다

def weight_variable(shape): 
    initial = tf.truncated_normal(shape, stddev=0.1) 
    return tf.Variable(initial) 

한다. 내 마음 속에서, 나는 이것을 단지 난수의 행렬 (ok, tensor)로 본다. - 왜 임의 값으로 구성 패치를 만드는 스마트

W_conv1 = weight_variable([5, 5, 1, 32]) 

내 질문은 이것이다 :

실제로 패치를 만들려면, 그들은이를 사용할 수 있습니까? 이미 존재하는 패치의 거대한 집합을 선택하는 것이 낫지 않겠는가? 어쩌면 Sobol 패치와 그 외의 많은 것들이 있습니까?

내가 완전히 잘못 되었나요?

답변

1

필자가 제안하는 것은 일반적으로 성공에 사용되는 다양한 사용 가능한 이미지 처리 패치를 기반으로 초기 초기 무게 매개 변수를 초기화하는 것입니다.

초기화는 이러한 심층 신경 구조에서 큰 연구 영역입니다. 심층 학습에 사용되는 일반적인 초기화 전략은 이러한 모델과 관련된 다양한 문제를 방지하기 위해 고안되었습니다.

몇몇 문제

은 : SGD 주로 발생할 그래디언트 폭발

(아담 등 최근 업데이트 대책 [이어야 텍스트 분류 작업] 부재는 rmsprop 등) 문제 구배를 의미 값은 활성화 함수의 활성 영역을 넘어서 멀리 더 멀리 밀려 나가고 이로 인해 어떤 훈련도 방지됩니다.

비선형 성으로 인해 출력이 0에 가까운 값으로 스쿼시되어서 그래디언트 값이 0에 가까워진 레이어 이후의 모든 레이어에있는 가중치에서 업데이트가 발생하지 않도록하는 사라지는 그라디언트 .

각종 초기화 전략 포함

무게 초기화 약 01 정상 데이터는 가장에 의해 설명

이제는 언급하고있는 특정 Sobol 패치의 세부 사항이나 언급 한 대부분의 내용을 잘 모릅니다. 그러나 심 신경 네트워크 초기화 기술에 필요한 사양을 준수 할 수 있다면 초기화에 사용할 수 있습니다.

관련 문제