2017-05-19 4 views
0

사람들은 일반적으로 변수 및 매개 변수에 대해 초기 값을 어떻게 선택합니까? 우리가 작동 할 때까지 땜질 만합니까?tensorflow에서 옵티 마이저의 변수 및 매개 변수에 대한 초기 값 선택

나는 tensorflow 시작하기 자습서를 따라 선형 모델을 학습 할 수있었습니다. 그러나 변수 W, b에 대한 시작 값은 근거 진리에 상당히 가깝다는 것을 알았습니다.

접지 진리 값을 훨씬 더 멀리 만들기 위해 데이터를 변경할 때 그라디언트 디센트 최적화 알고리즘이 W, b에 대해 NaN 값을 제공합니다.

그러나 일반적으로 모델의 변수의 초기 값을 추측 할 수 있다고 생각하지 않습니다. 임의의 출발점을 선택하고 내가 원하는 곳으로 갈 수 있어야하는 것 같습니다.

내 매개 변수의 선택이 좋지 않을 수도 있다고 생각했습니다. 그러나, 나는 이것을 조절하는 방법이 확실하지 않다. 기본값은 0.01이고, 0.001에서 100까지의 값을 시도했습니다.

일반 기계 학습 도서에서 모델 변수에 대한 최적화 매개 변수 선택 및 초기 값에 대한 논의가 있습니까? 정말로 나는 자원을 찾고 있습니다.

감사합니다.

답변

0

길쌈 신경망의 유명한 초기화의 일부 :

Glorot 일반은 : 또한 자비에르했다. stddev = sqrt (2/(fan_in + fan_out))로 0을 중심으로하는 정규 분포. 여기서 fan_in은 가중치 텐서의 입력 단위 수이고 fan_out은 가중치 텐서의 출력 단위 수입니다.

http://jmlr.org/proceedings/papers/v9/glorot10a/glorot10a.pdf

Lecun 유니폼 : 내 균일 한 분포 [-limit, 한계] 한계 SQRT이고 (3/fan_in) fan_in는 중량 텐서의 입력 유닛의 수이다.

http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf

그는 보통 : fan_in는 중량 텐서의 입력 유닛의 개수 STDDEV = SQRT (2/fan_in)로 0을 중심으로 정규 분포 잘린다. 이 이니셜과 함께

http://arxiv.org/abs/1502.01852

, 하나는 속도, 운동량 및 기타 하이퍼 파라미터 학습을 검색해야합니다.

관련 문제