参考cs231n与这位的博文https://www.zhihu.com/people/will-55-30/posts?page=1 非常感谢!
每个⚪就是一个神经元
全连接层:神经元与其前后两层的神经元是完全成对连接的,但在同一个全连接层内的神经元之间没有连接
第一个网络有4+2个神经元(输入层不算),34+42个权重值,4+2个偏置,供26个可学习参数
从另一个角度可以把神经元们看作一个函数族,任何复杂的连续函数都可以由这样的函数族来近似。当层的数量和尺寸增加时,网络的容量上升了,即神经元们可以合作表达许多复杂函数。用于分类问题的话决策边界也会更复杂。但太复杂了就会导致过拟合(网络对数据中的噪声有很强的拟合能力)
但是用一些方法(L2正则化,dropout,输入噪音等)来防止过拟合比减少神经元数目要好。
因为小网络更难使用梯度下降等局部方法来训练,虽然小型网络的损失函数的局部极小值更少也比较容易收敛到这些局部极小值,但这些最小值一般都很差,损失值反而高。相反大网络拥有更多局部极小值,这些极小值表现好,损失小。而且对于随机初始化参数好坏的依赖也会小很多。
全连接层向前传播
x也可以不是一个单独的列向量,可以是一个批量的训练数据(每个输入样本就是x中的一列),这样所有的样本将会被并行化的高效计算出来。
全连接层的前向传播一般就是先进行一个矩阵乘法,然后加上偏置并运用激活函数。
卷积神经网络
之前讨论的那种Wx称为Fully connected layer,它把原来32323的图像拉伸为3072*1,然后Wx后的结果中的每一项都与原图像的所有项相关。