Tensorflow có một ví dụ hướng dẫn về phân loại CIFAR-10 . Trong hướng dẫn, tổn thất entropy chéo trung bình trên toàn lô được giảm thiểu.
def loss(logits, labels):
"""Add L2Loss to all the trainable variables.
Add summary for for "Loss" and "Loss/avg".
Args:
logits: Logits from inference().
labels: Labels from distorted_inputs or inputs(). 1-D tensor
of shape [batch_size]
Returns:
Loss tensor of type float.
"""
# Calculate the average cross entropy loss across the batch.
labels = tf.cast(labels, tf.int64)
cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(
logits, labels, name='cross_entropy_per_example')
cross_entropy_mean = tf.reduce_mean(cross_entropy, name='cross_entropy')
tf.add_to_collection('losses', cross_entropy_mean)
# The total loss is defined as the cross entropy loss plus all of the weight
# decay terms (L2 loss).
return tf.add_n(tf.get_collection('losses'), name='total_loss')
Xem cifar10.py , dòng 267.
Tại sao nó không giảm thiểu số tiền trong toàn bộ đợt thay thế? Liệu nó có làm cho một sự khác biệt? Tôi không hiểu làm thế nào điều này sẽ ảnh hưởng đến tính toán backprop.