简而言之:我想了解为什么当使用大量隐藏神经元时,一个隐藏层神经网络会更可靠地收敛到一个好的最小值。下面对我的实验进行更详细的解释:
我正在研究一个简单的类似 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,两个层都使用了偏差。