2016-01-25 6 views

risposta

8

Il termine per il peso costo/decadimento non fa parte degli ottimizzatori in tensorflow.

È facile comprendere, tuttavia, aggiungendo la penalità supplementare per la funzione di costo con la perdita L2 sui pesi:

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 è semplicemente 0.5 * tf.reduce_sum(v * v) ei gradienti di singoli pesi saranno uguali a lambda * w, che dovrebbe essere equivalente all'equazione collegata.

+0

Grazie mille. Ho anche implementato questa parte in Theano, ha funzionato. Ma quando provo questo in tensorflow, non è ancora possibile ottenere il risultato previsto. cosa c'è di diverso tra loro? Per favore controlla: http://stackoverflow.com/questions/35488019/whats-different-about-momentum-gradient-update-in-tensorflow-and-theano-like-th –

+0

Risposta nell'altra discussione. –

+0

fai attenzione a non includere pregiudizi in questa perdita poiché sono anche tf.trainable_variables() – gizzmole