"순수한"그래디언트 디센트 또는 좀 더 정교한 기술로 훈련 할 수있는 3 개의 숨겨진 레이어가있는 신경망이 있습니다. 나는 또한 나의 문제에서 기세에 기반한 최적화 방법 (adam, adadelta, momentum)이 훨씬 더 잘 작동한다는 것을 알아 냈다.tensorflow에서 특정 레이어의 운동량을 비활성화하는 방법은 무엇입니까?
흥미로운 부분입니다. 설계 상으로는 NN의 첫 번째 계층에서 모멘텀을 비활성화하고자합니다. 즉, 두 번째 및 세 번째 레이어에서 Adam으로 가중치를 업데이트하지만 첫 번째 레이어에서 간단한 그래디언트 디센트를 사용하고 싶습니다.
물론 내 자신의 최적화 도구를 쓸 수 있습니다. 즉, tf.gradients(loss, tf.trainable_variables())
으로 그라디언트를 계산 한 다음 나 자신의 기세를 속이십시오. 그러나 모든 레이어에서 특별한 옵티 마이저 매개 변수를 사용하는 옵션을 갖는 것이 좋습니다. 그런 일을하는 방법에 대해 누구라도 들었습니까?
네트워크에서 레이어를 어떻게 정의합니까? 난''W_1 = tf.Variable 생각 – sygi
특별한 아무것도 ( tf.truncated_normal ([HIDDEN_0_SIZE, HIDDEN_1_SIZE]을 STDDEV = 1/np.sqrt (HIDDEN_0_SIZE)) NAME = 'W') B_1 = TF .Variable (tf.zeros ([HIDDEN_1_SIZE), 이름 = 'B') = hidden_1 tf.matmul (activation_0_drop, W_1) + B_1 activation_1 = tf.nn.relu (hidden_1 이름 = '활성화') activation_1_drop = tf.nn.dropout (activation_1, keep_prob)'''markdown이 모든 새로운 행을 삭제하는 이유는 모르겠다. ( – iezepov
게시물을 편집하면 새로운 행은 주석과 함께 작동하지 않는다. 거기에 :) – sygi