2016-01-25 19 views

cevap

8

Ağırlık maliyeti/azalması terimi, TensorFlow'daki iyileştiricilerin bir parçası değildir.

ağırlıklar L2 kaybı ile maliyet işlevine ilave ceza ekleyerek, ancak, dahil etmek kolaydır:

C = <your initial cost function> 
l2_loss = tf.add_n([tf.nn.l2_loss(v) for v in tf.trainable_variables()]) 
C = C + lambda * l2_loss 

tf.nn.l2_loss(v)link sadece 0.5 * tf.reduce_sum(v * v) ve tek tek ağırlıklar için gradyanlar eşit olacaktır Bağlantılı denkleminize eşdeğer olan lambda * w'a.

+0

Çok teşekkürler. Ben de bu bölümü Theano'da uyguladım, işe yaradı.Ama bunu tensorflowda denediğimde, hala beklenen sonucu alamıyorum. aralarındaki fark nedir? Lütfen kontrol edin: http://stackoverflow.com/questions/35488019/whats-different-about-momentum-gradient-update-in-tensorflow-and-theano-like-th –

+0

Diğer iş parçacığında yanıtlandı. –

+0

, aynı zamanda tf.trainable_variables() olduklarından, bu kayıpta önyargı içermemeye dikkat edin. – gizzmole

İlgili konular