所以,例如我有训练集是20 x 20图像或400个特征图像来识别书写数字,我想我在NN中有3层模型:输入层包含400个神经元;一个隐藏层包含25个神经元,输出层包含10个神经元。 我阅读了neural network and deep learning中的第1章。
在最后一部分“一个简单的手写数字分类网络”(你可以用ctrl-f搜索),它说“隐藏层中的神经元检测下面的图像是否存在”。 那么,它是否想说隐藏层中的神经元是否存在于图像中? 我认为它们是有价值的像素。如果我错了,如何从输入层中的神经元创建图像?
答案 0 :(得分:0)
我确定您已经听过隐藏图层"提取更高阶功能的声明"从输入功能。简而言之,这就是他们通过"检查"这些输入功能之间的关系。
为了更深入地了解这个问题,让我们使用逻辑回归。
Logistic回归是一种类似的学习算法,但没有隐藏层。在逻辑回归中(假设二进制分类为了方便),您采用输入特征矩阵和权重矩阵乘积的S形函数,根据网络预测的确定性输出0到1之间的值。
所以它需要输入矩阵乘以权重矩阵并应用sigmoid函数,答案是输出层。 (即sigmoid(input_matrix * weight_matrix)= output)
嗯,在ANN中,隐藏层基本上位于上面的sigmoid函数和输出层之间。它需要返回sigmoid函数,然后将该函数乘以该层中神经元集的另一个权重矩阵。这是针对每层神经元完成的。
因此,对于具有一个隐藏层的网络,它是 - sigmoid(sigmoid(input_matrix * weight_matrix1)* weight_matrix2)
现在看起来似乎并没有那么大的差异,但它在反向传播过程中确实派上用场,因为我们能够确定每个神经元对我们的损失函数的各自贡献,以及因此,相应地调整所有权重矩阵,一直回到输入层的权重。这为更复杂的功能建模提供了更复杂的工具。
基本上,隐藏层不会做任何与输入层不同的事情。他们只是接收一些矩阵,将它乘以另一个矩阵然后计算sigmoid函数。容易Peasy。