一个卷积神经网络包括卷积层,池化层和全连接层(fully connected layer)
在统计神经网络有多少层时,通常只统计具有权重和参数的层,因为池化层没有权重和参数,所以我们把一个Conv(卷积层)和一个POOL(池化层)共同作为一个卷积,两者组成神经网络Layer(层)的一部分。
当将下图的POOL2平整化为一个大小为400的一维向量时,再利用这400个单元构建下一层(含有120个单元),
就得到第一个全连接层FC3,这400个单元和120个单元紧密相连,它在120*400的维度上具有一个权重矩阵W[3],
然后输出120个维度,对这120个单元再添加一个全连接层(84个单元),标记为FC4,
用这84个单元填充一个softmax单元,例如识别手写的0~9,则softmax就会有10个输出。
Convolutional Neural Network(卷积神经网络)
随着神经网络的加深,激活值不断变小(下降太快也会影响网络性能)
可见输入层和池化层都没有参数,许多参数都存在于神经网络的全连接层,
和只用全连接层相比,卷积层的优势在于参数共享和稀疏连接。
参数共享:即用相同的过滤器来检测图片上不同的区域。(自己的理解)
稀疏连接:即每次过滤器检测时都不会受到检测区域之外的像素值的影响。(自己的理解)
神经网络可以用这两种机制来减少参数,以便于我们用更小的训练集来训练它,从而预防过度拟合。
Eg:猫咪检测器:
x表示一张图片,y^是二进制标记或某个重要标记。
卷积层和全连接层有不同的参数和偏差b。
训练神经网络,要用的就是梯度下降法或其他算法,例如含冲量的梯度下降,含RMSProp或其它因子的梯度下降。
来优化神经网络中的所有参数,以减少代价函数J(等于神经网络对整个训练集的预测的损失总和)的值。