神经网络的成本函数是非凸的吗?


36

神经网络的成本函数为,据称它是非凸的。我不太明白为什么会这样,因为我发现它与逻辑回归的成本函数非常相似,对吗?Ĵw ^b

如果是非凸的,因此二阶导数Ĵw ^<0,是吗?

更新

感谢下面的答案以及@gung的评论,我明白了,如果根本没有隐藏的图层,它就是凸的,就像逻辑回归一样。但是,如果存在隐藏层,则通过置换隐藏层中的节点以及后续连接中的权重,我们可以对导致相同损失的权重采用多种解决方案。

现在有更多问题,

1)有多个局部最小值,其中一些应该具有相同的值,因为它们与某些节点和权重置换相对应,对吗?

2)如果根本不会置换节点和权重,那么它是凸的,对吗?最小值将是全局最小值。如果是这样,则1)的答案是,所有这些局部最小值将具有相同的值,对吗?


它是非凸的,因为可以有多个局部最小值。
gung-恢复莫妮卡

2
取决于神经网络。具有线性激活函数和平方损失的神经网络将产生凸优化(如果我的记忆也适合具有固定方差的径向基函数网络)。然而,神经网络通常与非线性激活函数(即S型)一起使用,因此优化变得非凸。
Cagdas Ozgenc 2015年

@gung,我明白你的意思,现在我还有其他问题,请参阅我的更新:-)
鳄梨

5
此时(2年后),将您的问题回滚到以前的版本,接受下面的答案之一,并提出一个与之相关的新的后续问题可能会更好。
gung-恢复莫妮卡

1
@gung,是的,您是对的,但是现在我不确定我之前提出的答案的某些方面。好吧,由于我在下面的答案中留下了一些新的评论,因此我将等待一段时间,看看是否有必要提出新的评论。
鳄梨

Answers:


25

神经网络的成本函数通常既不是凸面也不是凹面。这意味着所有二阶偏导数(Hessian)的矩阵既不是正半定的,也不是负半定的。由于二阶导数是一个矩阵,因此两者可能都不是一个。

为了使这类似于单变量函数,人们可以说,所述成本函数既不形状像的图也不等的曲线图- X 2。非凸,非凹函数的另一个示例是R上的sin x 。最显着的差异之一是± x 2仅具有一个极值,而罪恶具有无限多个最大值和最小值。X2-X2X[R±X2

这与我们的神经网络有什么关系?例如,如您在此图片中所见,成本函数也具有多个局部最大值和最小值。Ĵw ^b

具有多个最小值的事实也可以很好地解释。在每个层中,使用分配了不同参数的多个节点可以使成本函数变小。除了参数值外,这些节点是相同的。因此,您可以将同一层中的第一个节点的参数与同一层中的第二个节点的参数交换,并考虑后续层中的此更改。您最终会得到一组不同的参数,但是无法区分cost函数的值(基本上,您只是将一个节点移到了另一个位置,但所有输入/输出都相同)。Ĵ


好的,我理解您所做的排列说明,我认为这是有道理的,但是现在我想知道这是解释神经网络为何非凸的真实答案吗?
鳄梨

1
“真正的”是什么意思?
罗兰

我的意思是,这是应该如何解释的,而不仅仅是类推。
牛油果

4
@loganecolss您是正确的,这不是成本函数不凸的唯一原因,而是最明显的原因之一。依赖于网络和训练集,可能会有其他原因导致多个最小值。但最重要的是:不论其他影响如何,仅凭渗透就会产生非凸性。
罗兰

1
抱歉,我不明白最后一段。但是我也误解了为什么我在这里提到max(0,x)。无论如何-我认为显示某种模式(多个局部最小值)的正确方法是以某种方式证明了这一点。ps如果Hessian是不确定的,它什么也没说-拟凸函数可以具有不确定的Hessian,但它仍然是单峰的。
bruziuz

17

如果您置换隐藏层中的神经元并对相邻层的权重进行相同的置换,则损失不会改变。因此,如果存在一个非零的全局最小值作为权重的函数,那么它就不是唯一的,因为权重的排列给出了另一个最小值。因此,函数不是凸的。


5

目标函数是否为凸函数取决于网络的细节。如果存在多个局部最小值,则询问它们是否相等。通常,答案是否定的,但是找到具有良好泛化性能的局部最小值的机会似乎随着网络规模的增加而增加。

本文有趣:

Choromanska等。(2015)。多层网络的损耗面

http://arxiv.org/pdf/1412.0233v3.pdf

从介绍:

  • 对于大型网络,大多数局部最小值是等效的,并在测试集上产生相似的性能。

  • 对于小型网络,找到“不良”(高值)局部最小值的可能性不为零,并且随着网络规模的增加而迅速降低。

  • 努力寻找训练集上的全局最小值(而不是许多本地最佳集之一)在实践中没有用,并且可能导致过度拟合。

他们还引用了一些论文,这些文章描述了在训练大型网络时,鞍点比本地极小问题要大得多。


4

有关更新的一些答案:

  1. 是的,通常会有多个局部最小值。(如果只有一个,则称为全局最小值。)局部最小值不必具有相同的值。通常,可能没有共享相同值的局部最小值。

  2. 不,除非是单层网络,否则它不是凸面的。在一般的多层情况下,后续层的参数(权重和激活参数)可以是先前层中参数的高度递归函数。通常,由某些递归结构引入的决策变量相乘往往会破坏凸性。另一个很好的例子是时间序列分析中的MA(q)模型。

ÿXÿ-Xβ


1
“单层网络”就是“ softmax”或逻辑回归的样子,对吗?
牛油果

所谓“置换节点和权重”,我的意思是“交换”,这就是我从上述两个旧答案中得到的,并且据我所知,通过在隐藏层中 “交换”节点和权重,我们可能最终会得到理论上输出相同,这就是为什么我们可能会有多个最小值。您是说这个解释不正确?
牛油果

您有正确的想法,但想法不尽相同。对于网络中,损失可能不一定是二项式损失,激活功能不一定是S形,等等
的Mustafa小号尔萨

是的,我认为这是不正确的。即使您确实使用了这些术语,即使您获得了相同的性能,这也没有定义任何问题的凸性或非凸性。如果对于固定损失函数(损失中各项的任何置换),目标函数在模型参数中是凸的,而要进行优化的可行区域是凸且封闭的,则优化问题是凸的。
Mustafa S Eisa

我知道,因此,如果它是“单层”,则可能不是“ softmax”。
鳄梨

2

如果问题是凸的或拟凸的,则将有一个全局最小值。

关于在构建神经网络期间凸出的“构建基块”(计算机科学版)

我认为其中有几个可以提及:

  1. max(0,x)-凸且递增

  2. log-sum-exp-每个参数凸和递增

  3. y = Ax是仿射的,因此在(A)中是凸的,可能增加或减少。y = Ax是仿射的,因此在(x)中是凸的,可能增加或减少。

不幸的是,它在(A,x)中不是凸的,因为它看起来像是不确定的二次形式。

  1. 常用数学离散卷积(用“通常”表示,用重复信号定义)Y = h * X看起来它是h或变量X的仿射函数。因此它是变量h或变量X的凸函数。关于两个变量-我不这么认为,因为当h和X为标量时,卷积将减少为不确定的二次形式。

  2. max(f,g)-如果f和g是凸的,则max(f,g)也是凸的。

如果将一个函数替换为另一个函数并创建合成,则对于y = h(g(x),q(x))仍在凸空间中,但是h应该是凸的,并且每个参数都应增加(不减少)。 ...

为什么神经网络不是凸的:

  1. 我认为卷积Y = h * X不一定是h的增加。因此,如果您不对内核使用任何额外的假设,那么在应用卷积后,您将立即退出凸优化。因此,构图并非一帆风顺

  2. 如果如上所述考虑耦合参数,则卷积和矩阵乘法也不是凸的。因此,矩阵乘法确实存在一个问题:它是参数(A,x)中的非凸运算

  3. y = Ax在(A,x)中可以是拟凸的,但还应考虑其他假设。

如果您不同意或有其他考虑,请告诉我。这个问题对我来说也很有趣。

ps max-pooling-通过选择max进行下采样看起来像是对具有仿射预组合(拉动需要的块)的elementwise max操作进行了一些修改,并且对我来说看起来是凸的。

关于其他问题

  1. 不,逻辑回归不是凸凹的,而是对数凹的。这意味着在应用对数后,您将在解释变量中具有凹函数。因此,这里的最大对数似然技巧很棒。

  2. 如果不是只有一个全局最小值。关于局部最小值之间的关系无话可说。或者至少您不能使用凸优化及其扩展,因为这方面的数学深深地基于全局低估器。

也许您对此感到困惑。因为创建此类架构的人实际上只是做“某事”,而他们却收到“某事”。不幸的是,因为我们没有完美的机制来解决非凸优化问题(通常)。

但是神经网络旁边还有其他更简单的东西-无法像非线性最小二乘法一样解决-https://youtu.be/l1X4tOoIHYo ? t = 2992(EE263,L8,50:10)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.