我使用MatConvNet测试三类分类问题的前馈网络。
我的输入数据有5个功能,网络拓扑结构如下:
*隐藏层:1个节点,5个权重& 1偏见 激活功能:sigmoid
*输出层:3个节点,每个节点有1个权重& 1偏见 激活功能:sigmoid / softmax + loss
问题是这样的,无论我如何改变网络的拓扑结构,就像网络有隐藏层一样,它总是为任何输入返回相同的标签。此外,一旦我添加了隐藏层,网络总是在3个时期内收敛。here is how it converged with hidden layer
然而,如果网络没有任何隐藏层,网络可以“正常”运行(给出不同的标签)。
我试过了:
*规范化输入数据
*减去平均值
*更改为不同的激活功能,sigmoid / softmax
但它们都不起作用......
所以任何人都知道这个问题有什么问题吗? 感谢。