添加隐藏层会大大降低神经网络的性能
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】:如果隐藏层权重是随机且固定的,那么它们所做的就是扭曲信号。
训练多层网络很困难。它们中的绝大多数只有一个隐藏层,除了卷积网络和最近关于深度信念网络的一些工作。
【讨论】:
以上是关于添加隐藏层会大大降低神经网络的性能的主要内容,如果未能解决你的问题,请参考以下文章