卷积核1*1卷积详解

最近在学习FCN和u-net时,1*1卷积的理解比较模糊,通过这篇博客茅厕顿开,分享出来同时记录自己的路径。

引自https://www.cnblogs.com/julyedu/p/11473726.html

CNN的卷积核是单层的还是多层的?
解析:

一般而言,深度卷积网络是一层又一层的。

层的本质是特征图, 存贮输入数据或其中间表示值。一组卷积核则是联系前后两层的网络参数表达体, 训练的目标就是每个卷积核的权重参数组。描述网络模型中某层的厚度,通常用名词通道channel数或者特征图feature map数。

不过人们更习惯把作为数据输入的前层的厚度称之为通道数(比如RGB三色图层称为输入通道数为3),把作为卷积输出的后层的厚度称之为特征图数。 卷积核(filter)一般是3D多层的,除了面积参数, 比如3x3之外, 还有厚度参数H(2D的视为厚度1). 还有一个属性是卷积核的个数N。

卷积核的厚度H, 一般等于前层厚度M(输入通道数或feature map数). 特殊情况M > H。 卷积核的个数N, 一般等于后层厚度(后层feature maps数,因为相等所以也用N表示)。 卷积核通常从属于后层,为后层提供了各种查看前层特征的视角,这个视角是自动形成的。

卷积核厚度等于1时为2D卷积,对应平面点相乘然后把结果加起来,相当于点积运算; 卷积核厚度大于1时为3D卷积,每片分别平面点求卷积,然后把每片结果加起来,作为3D卷积结果;1x1卷积属于3D卷积的一个特例,有厚度无面积, 直接把每片单个点乘以权重再相加。

归纳之,卷积的意思就是把一个区域,不管是一维线段,二维方阵,还是三维长方块,全部按照卷积核的维度形状,对应逐点相乘再求和,浓缩成一个标量值也就是降到零维度,作为下一层的一个feature map的一个点的值!

可以比喻一群渔夫坐一个渔船撒网打鱼,鱼塘是多层水域,每层鱼儿不同。

船每次移位一个stride到一个地方,每个渔夫撒一网,得到收获,然后换一个距离stride再撒,如此重复直到遍历鱼塘。 A渔夫盯着鱼的品种,遍历鱼塘后该渔夫描绘了鱼塘的鱼品种分布; B渔夫盯着鱼的重量,遍历鱼塘后该渔夫描绘了鱼塘的鱼重量分布;

还有N-2个渔夫,各自兴趣各干各的; 最后得到N个特征图,描述了鱼塘的一切!

2D卷积表示渔夫的网就是带一圈浮标的渔网,只打上面一层水体的鱼; 3D卷积表示渔夫的网是多层嵌套的渔网,上中下层水体的鱼儿都跑不掉; 1x1卷积可以视为每次移位stride,甩钩钓鱼代替了撒网;

下面解释一下特殊情况的 M > H:实际上,除了输入数据的通道数比较少之外,中间层的feature map数很多,这样中间层算卷积会累死计算机(鱼塘太深,每层鱼都打,需要的鱼网太重了)。

所以很多深度卷积网络把全部通道/特征图划分一下,每个卷积核只看其中一部分(渔夫A的渔网只打捞深水段,渔夫B的渔网只打捞浅水段)。这样整个深度网络架构是横向开始分道扬镳了,到最后才又融合。

这样看来,很多网络模型的架构不完全是突发奇想,而是是被参数计算量逼得。特别是现在需要在移动设备上进行AI应用计算(也叫推断), 模型参数规模必须更小, 所以出现很多减少握手规模的卷积形式, 现在主流网络架构大都如此。

微信公众账号:七月在线实验室(会持续输出:Python、机器学习、深度学习、CV、NLP、金融风控、推荐系统实战等人工智能领域干货、面试题等,不定期免费送技术书籍及课程给大家。) 网站:http://www.julyedu.com/?utm_source=bky&utm_medium=1&utm_campaign=1&utm_content=1&utm_term=1 (随时随地刷题、免费学习人工智能课程)

在全卷积网络(Fully Convolutional Network,FCN)中,以下是对通道、卷积核、步长、扩张率和输出填充的解释: 1. 通道(Channel):在卷积神经网络中,输入和输出数据的维度可以包含多个通道。每个通道可以看作是一种特征的表示,如RGB图像有3个通道(红、绿、蓝),灰度图像只有1个通道。通道数决定了网络中特征的多样性和复杂性。 2. 卷积核(Convolutional Kernel):卷积核是一个小的滤波器,用于提取输入数据的特征。在卷积层中,每个卷积核会与输入数据进行卷积操作,通过滑动窗口在输入上移动并计算卷积运算,从而生成输出特征图。卷积核的大小决定了感受野的大小,不同的卷积核可以提取不同的特征。 3. 步长(Stride):步长是卷积操作中滑动窗口每次移动的距离。通过调整步长大小,可以控制输出特征图的尺寸。较大的步长会减小输出特征图的尺寸,同时减少计算量,但可能会导致信息丢失。 4. 扩张率(Dilation Rate):扩张率是卷积操作中卷积核内部元素之间的间隔大小。通过增加扩张率,可以扩大卷积核感受野的范围,从而更好地捕捉局部和全局特征。 5. 输出填充(Output Padding):输出填充是在卷积操作后对输出特征图进行填充的操作。填充可以在特征图的边界上添加额外的像素,以保持特征图的尺寸。输出填充通常用于调整特征图的尺寸,以便与输入或其他层的特征图进行连接或组合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值