为什么随着隐藏神经元数量的增加,单层隐藏网络对不良初始化的鲁棒性更强?

人工智能 神经网络 优化
2021-11-07 00:51:00

简而言之:我想了解为什么当使用大量隐藏神经元时,一个隐藏层神经网络会更可靠地收敛到一个好的最小值。下面对我的实验进行更详细的解释:

我正在研究一个简单的类似 2D XOR 的分类示例,以更好地理解神经网络初始化的影响。这是数据和所需决策边界的可视化: 在此处输入图像描述

每个 blob 包含 5000 个数据点。解决这个问题的最小复杂度神经网络是具有 2 个隐藏神经元的单隐藏层网络。由于此架构具有解决此问题的最少参数数量(使用 NN),我天真地认为这也是最容易优化的。然而,这种情况并非如此。

我发现通过随机初始化,这个架构大约有一半的时间收敛,收敛取决于权重的符号。具体来说,我观察到以下行为:

w1 = [[1,-1],[-1,1]], w2 = [1,1] --> converges
w1 = [[1,1],[1,1]],   w2 = [1,-1] --> converges
w1 = [[1,1],[1,1]],   w2 = [1,1] --> finds only linear separation
w1 = [[1,-1],[-1,1]], w2 = [1,-1] --> finds only linear separation

这对我来说很有意义。在后两种情况下,优化陷入次优局部最小值。然而,当隐藏神经元的数量增加到大于 2 的值时,网络对初始化产生了鲁棒性,并开始可靠地收敛于 w1 和 w2 的随机值。你仍然可以找到病态的例子,但是对于 4 个隐藏的神经元,通过网络的一条“路径”具有非病态权重的机会更大。但是发生在网络的其余部分,它只是没有使用吗?

有没有人更好地理解这种稳健性来自哪里,或者可以提供一些讨论这个问题的文献?

更多信息:这发生在我调查过的所有训练设置/架构配置中。例如,activations=Relu,final_activation=sigmoid,Optimizer=Adam,learning_rate=0.1,cost_function=cross_entropy,两个层都使用了偏差。

2个回答

你抓住了一点答案。

在后两种情况下,优化陷入次优局部最小值。

当您只有 2 个维度时,存在局部最小值。当你有更多维度时,这个最小值变得越来越难以达到,因为它的可能性降低了。直观地说,与只有 2 个维度相比,您可以通过更多维度进行改进。

问题仍然存在,即使有 1000 个神经元,您也可以找到一组特定的权重,这是局部最小值。然而,它变得如此不可能。

当我问这个问题时,我可能已经触及了一个更大问题的表面。与此同时,我阅读了 Lottery Hypothesis 论文:https ://arxiv.org/pdf/1803.03635.pdf

基本上,如果您对网络进行过度参数化,您更有可能找到一个表现良好的随机初始化:一张中奖彩票。上面的论文表明,您实际上可以在训练后修剪掉网络中不需要的部分。但是,您最初需要对网络进行过度参数化,以增加随机抽样中奖彩票配置的机会。

我相信我上面的问题中的案例是一个最小的例子。