CNN卷积神经网络在当下图像分类领域是很常用的一种神经网络,它的权值共享特性使得它在图像处理中训练的参数要比普通的神经网络训练参数少的多。
这几天自己用java实现了一下CNN的正向计算与误差反向传播,正向计算很好理解,也比较容易实现,但反向传播由于与普通的神经网络不同,实现会稍微复杂一些,看了很多博主的文章,感觉对卷积层的误差后向传递及卷积层自身weight和bias的计算有些细节没有说清楚,这里再总结一下。
定义误差
全连接层与一般的神经网络bp算法相同,此处将与单元n相关的误差项定义为 (注意此处误差的定义中有‘-’号),则更新权值时有
为单元n的输出(