CNN 的训练大致流程

  卷积神经网络的训练流程大致可分为以下几步:

  • 使用随机值初始化所有的过滤器中的权重和参数(filter)
  • 网络以训练图像作为输入,经过前向传播过程(forward progagation)(卷积,ReLU, 池化,以及在全连接层的前向传播过程), 最终得到对应于每个类的概率值.
    • 因为第一步中过滤器的权重和参数是随机设置的,所以这里得到的概率也应是随机的.
  • 计算输出层的总误差
  • 使用反向传播计算误差在网络中各个权重上的梯度,使用梯度下降法更新所有过滤器的值 / 权重使得输出误差最小
    • 权重根据他们对误差的贡献做更新
    • 如果输出的总误差减小,那么意味着网络已经通过调整他的权重学会了区分特定的图片.
    • 诸如过滤器的个数,过滤器的大小和网络的结构等参数,已经在第一步之前就已经确定并且在训练过程中不再更改,只有过滤器的值和网络的权重是不断更新的.
  • 对于在训练集中的所有图片重复执行 2 - 4 步.