如何将卷积神经网络中的全连接层变成卷积层

本文解析了全连接层如何等效于特定条件下的卷积运算,阐述了卷积层代替全连接层的优势,特别是在保持图像空间结构方面的作用,介绍了全卷积神经网络(FCN)的概念及其在图像分割等任务中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

全连接层实际就是卷积核大小为上层特征大小的卷积运算,一个卷积核卷积后的结果为一个节点,就对应全连接层的一个神经元。
假设: 最后一个卷积层的输出为7×7×512,连接此卷积层的全连接层为1×1×4096(相当于全连接网络有4096个神经元)。
相当于一个全链接网络的输入层有7×7×512个输入神经元,下一层有4096个神经元。
如果将这个全连接层转化为卷积层:
1.共需要4096组滤波器
2.每组滤波器含有512个卷积核
3.每个卷积核的大小为7×7
4.则输出为1×1×4096

由于每个滤波核的大小和上一层的feature map大小一样,所有feature map上的cell不共享权重,而全连接网络就不是共享权重的,保证了转换后的卷积层的运算结果和全连接层是一样的。
如果: 后面再连接一个1×1×2048的全连接层(相当于全连接网络有4096个神经元)。
则其对应的转换后的卷积层的参数为:
1.共有2048组滤波器
2.每组滤波器含有4096个卷积核
3.每个卷积核的大小为1×1
4.则输出为1×1×2048
拓展:
全连接层的坏处就在于其会破坏图像的空间结构,因此人们便开始用卷积层来“代替”全连接层,通常采用1×1的卷积核,这种不包含全连接的CNN成为全卷积神经网络(FCN),FCN最初是用于图像分割任务,之后开始在计算机视觉领域的各种问题上得到应用,事实上,Faster R-CNN中用来生成候选窗口的CNN就是一个FCN。FCN的特点就在于输入和输出都是二维的图像,并且输入和输出具有相对应的空间结构,在这种情况下,我们可以将FCN的输出看作是一张热度图,用热度来指示待检测的目标的位置和覆盖的区域。在目标所处的区域内显示较高的热度,而在背景区域显示较低的热度,这也可以看成是对图像上的每一个像素点都进行了分类,这个点是否位于待检测的目标上。

原文链接:caffe学习笔记31-理解全连接层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值