Tensorflow优化器:损失总和与平均值

时间:2017-04-06 09:17:19

标签: tensorflow

我想知道Tensorflow优化器(特别是AdamOptimizer)在将损失函数定义为总和或平均值/平均值时是否有偏好?

一般来说,我的假设是使用均值是首选,因为损失不依赖于小批量的大小。因此,更容易找到适用于任何批量大小的学习率。

然而,Tensorflow定义了例如l2_loss内部为:

output = sum(t ** 2) / 2

这是否意味着优化器已在内部考虑批量大小,即,他们预计损失会随批量大小线性变化?另外,从优化的角度来看,获得一半L2规范的动机是什么?

1 个答案:

答案 0 :(得分:3)

那么l2_loss实际上是一个正则化损失函数。我们在主要的损失函数中添加它,以防止参数过度拟合。我们通常将l2损失除以2,以便在采用渐变时更容易。

在任何优化器中,我们采用w.r.t批量大小的平均损失。