[英]Optimize sparse softmax cross entropy with L2 regularization
我正在使用tf.losses.sparse_softmax_cross_entropy
作為最后一層的分類函數來訓練我的網絡,並且一切工作正常。
我現在只是在權重上添加了L2正則化,並且損失不再得到優化。 會發生什么事?
reg = tf.nn.l2_loss(w1) + tf.nn.l2_loss(w2)
loss = tf.reduce_mean(tf.losses.sparse_softmax_cross_entropy(y, logits)) + reg*beta
train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss)
給定提供的信息,很難確定答案,但這是可能的原因:
tf.nn.l2_loss
計算為元素上的總和,而交叉熵損失減少到其均值(cf tf.reduce_mean
),因此這兩個項之間存在數值不平衡。
例如,嘗試將每個L2損耗除以計算tf.size(w1)
的元素數量(例如tf.size(w1)
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.