Tensorflow에는 CIFAR-10 분류에 대한 예제 자습서가 있습니다. 자습서에서 배치 전체의 평균 교차 엔트로피 손실이 최소화됩니다.
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')
cifar10.py , 267 행을 참조하십시오 .
대신 배치 전체의 합계를 최소화하지 않는 이유는 무엇입니까? 차이가 있습니까? 이것이 백프로 프 계산에 어떻게 영향을 미치는지 이해하지 못합니다.