添加隐藏层会大大降低神经网络的性能

Posted

技术标签:

【中文标题】添加隐藏层会大大降低神经网络的性能【英文标题】:adding hidden layer drastically decreasing performance of neural network 【发布时间】:2011-12-10 23:08:40 【问题描述】:

我有一些单层神经网络的代码:

class network 

var outputs;
var weights;
var biases;

feedforward(inputs) 


outputFunction(number) 



输出函数是一个 sigmoid(因此返回一个介于 0 和 1 之间的数字)。输入是一个 1 和 0 的数组。

我通过添加outputs2、weights2、biases2添加了一个隐藏层,然后做:

feedforward2(inputs) 
    use weights2, biases2, etc.


feedforwad(inputs) 
   inputs = feedforward2(inputs)
   ....

我认为输出节点的输入现在是我的隐藏层的输出,因此它至少应该具有相似的性能。然而,再次训练网络后,性能急剧下降。有任何想法吗?训练还没有反向传播到隐藏层,它只是更新输出层的权重,隐藏层的权重始终保持不变。

【问题讨论】:

【参考方案1】:

如果隐藏层权重是随机且固定的,那么它们所做的就是扭曲信号。

训练多层网络很困难。它们中的绝大多数只有一个隐藏层,除了卷积网络和最近关于深度信念网络的一些工作。

【讨论】:

以上是关于添加隐藏层会大大降低神经网络的性能的主要内容,如果未能解决你的问题,请参考以下文章

深度学习模型性能及网络调参

自然语言处理,不可不知的7种神经网络

添加批量标准化会降低性能

滚动 DataGridView 似乎会大大降低性能

sql server 性能调优 资源等待之网络I/O

重磅移动网络性能揭秘(下)--网络协议及性能提升实践