Как тензор потока может оптимизировать потери элементов партии индивидуально вместо оптимизации потерь партии?
При оптимизации потерь для каждой партии общим способом является суммирование или получение среднего значения всех потерь элементов партии в качествепотеря партии, а затем оптимизировать эту потерю партии.В моем случае я хотел бы оптимизировать потери каждого элемента в отдельности, а не сводить их вместе как потерю партии.
Например, в следующих кодах.
losses = tf.nn.nce_loss(<my batch inputs here>)
loss = tf.reduce_mean(losses)
optim = tf.nn.GradientDesentOptimizor(learning_rate = 0.01).minimize(loss)
Как можно пропустить loss = tf.reduce_mean(losses)
и минимизировать тензор losses
напрямую?(Таким образом, мини-партия фактически сводится к ситуации, когда размер партии равен 1.)
У меня есть потери, чтобы минимизировать потери напрямую, как:
optim = tf.nn.GradientDesentOptimizor(learning_rate = 0.01).minimize(losses) # instead of loss
Я не уверенкак будет работать минимизирование.Когда я использую его для запуска в сеансе, потери имеют тенденцию увеличиваться до нан.
Так можно ли достичь указанной цели в тензорном потоке?