神经网络的交叉熵成本函数是凸的吗?

机器算法验证 神经网络 凸的
2022-03-25 00:16:23

我的老师证明了交叉熵的二阶导数总是正的,因此使用交叉熵的神经网络的成本函数是凸的。这是真的?我对此很困惑,因为我一直都知道 ANN 的成本函数是非凸的。谁能证实这一点?十分感谢! http://z0rch.com/2014/06/05/cross-entropy-cost-function

3个回答

指数族的交叉熵总是凸的。因此,对于具有输入的多层神经网络x, 权重w, 和输出y, 和损失函数L

y2L

是凸的。然而,

w2L

由于iamonaboat描述的原因,中间层的参数不会是凸的。

@ngiann 所说的,非正式地说,如果您排列隐藏层中的神经元并对相邻层的权重进行相同的排列,那么损失不会改变。

因此,如果有一个非零全局最小值作为权重的函数,那么它就不可能是唯一的,因为权重的排列给出了另一个全局最小值。因此函数不是凸的。

所有二阶偏导数的矩阵(Hessian)既不是半正定的,也不是半负定的。由于二阶导数是矩阵,因此它可能既不是一个也不是另一个。

你猜对了,交叉熵问题的 ANN 优化问题是非凸的。注意:我们谈论的是在隐藏层具有非线性激活函数的神经网络。此外,非线性有可能在目标函数的优化中引入局部最小值。如果您不使用非线性激活函数,那么您的 ANN 正在实现线性函数,问题将变得凸出。

因此,ANN 的交叉熵的优化之所以是非凸的,是因为 ANN 的底层参数化。如果你使用线性神经网络,你可以让它凸(它本质上看起来像逻辑回归,这是一个凸问题)。