CNN中的卷积计算详解:从基础原理到PyTorch实现
创作时间:
作者:
@小白创作中心
CNN中的卷积计算详解:从基础原理到PyTorch实现
引用
1
来源
1.
https://www.cnblogs.com/bbbdata/articles/18274890
卷积神经网络(CNN)是深度学习中非常重要的一种神经网络结构,广泛应用于图像识别、自然语言处理等领域。其中,卷积计算是CNN中最基本的计算,它是卷积层最重要的组成部分。本文将详细讲解CNN中的卷积计算过程,包括基础卷积计算、多通道卷积计算以及PyTorch中的卷积计算实现。
一、CNN的基础卷积计算
卷积层是卷积神经网络中最基础的层,基础卷积的计算就是通过一个卷积核对输入进行卷积计算。
1.1. 一个例子了解CNN的卷积计算是什么
要了解什么是CNN的卷积基础计算,直接通过一个例子来算一算,就一清二楚。一个卷积计算结果示例如下:
下面详细讲讲上面的卷积结果的具体计算过程:卷积层中的卷积核就是一个矩阵,直观来看它就是一个窗口,卷积窗口一般为正方形,即长宽一致,卷积运算通过从左到右,从上往下移动卷积核窗口,将窗口覆盖的每一小块输入进行加权,作为输出。
1.2. 卷积层的生物意义
卷积核在生物上的意义就相当于动物的眼睛(接受器),卷积核的大小就相当于眼睛的视野范围(接受野),卷积核的权重就相当于眼睛每一处的接收权重。由于视野有限,所以需要通过逐步移动来查看所有内容,其中眼睛移动的步幅就是卷积的步幅。
二、卷积的拓展:多输入通道与多输出通道
2.1. 多输入通道卷积
卷积计算支持多通道的输入,当输入为k个通道的时,卷积核为3维矩阵,第3维与输入通道保持一致。
2.2. 多输出通道卷积
卷积计算也支持多通道输出,需要输出多少个通道,就使用多少个卷积核就可以了。
三、卷积的实现
3.1. PyTorch实现卷积计算-例子
PyTorch中使用torch.nn.Conv2d
函数来实现卷积的计算。以上述卷积为例,在PyTorch中可以如下实现:
import torch
X = torch.tensor([[[[1,3,1,2],[2,6,8,5],[4,2,1,0]]]], dtype=torch.float32) # 输入数据
c = torch.nn.Conv2d(1, 1, kernel_size=(2,2),bias = False) # 初始化卷积类
c.weight.data =torch.tensor([[[[1,2],[2,0]]]], dtype=torch.float32) # 设置权重
out = c(X) # 对输入进行卷积计算
#-------------打印结果-----------------------
print('输入数据:',X)
print('卷积核:',c.weight.data)
print('卷积结果:',out)
运行结果如下:
3.2. Conv2d函数的使用方法
Conv2d
函数的完整入参如下:
torch.nn.Conv2d(in_channels
,out_channels
,kernel_size
,stride = 1
,padding = 0
,dilation = 1
,groups = 1
,bias = True
,padding_mode = 'zeros'
,device = None
,dtype = None)
各个参数的解释如下:
in_channels (int) :图象的通道数,也就是决定卷积核的通道数
out_channels (int) :卷积输出的通道数,也就是用多少个卷积核
kernel_size (int/tuple):卷积核的大小,输入5指5*5的卷积核,输入(3,4)指3*4的卷积核
stride (int/tuple):卷积核的步距
padding(int/tuple/str):边缘填充的象素数,5指上下左右都补充5个象素,(3,4)代表上下补充3象素,左右补3象素
padding_mode (str) :象素填充的方式,可选择项- 'zeros', 'reflect', 'replicate','circular'
dilation(int/tuple):"扩张卷积"的专用参数-扩张率,控制kernel各点之间的间隔数量
groups(int):Number of blocked connections from input channels to output channels. Default: 1
bias(bool):是否对卷积结果添加偏置
*详细可进一步查看《Conv2d的官方说明》
热门推荐
橙子何时最诱人?了解橙子成熟季节的秘密,让味蕾与大自然同步起舞!
胆汁浓缩怎么办?喝水能排出吗?
胆囊息肉饮食上怎么调理
概率论基础:事件关系与概率定义
韩国最火10大男团,防弹少年团、SEVENTEEN、BIGBANG上榜
2025单招志愿录取规则详解
出自《论语》的惊艳名字!
汽车发动机多久清洗一次?千万不要听信4S乱洗,否则可能适得其反
牡丹花开花时间与花期特点
从追梦明星到外卖小哥,谁在诱骗中国人踏上缅北的深渊?
杀神回归?《疾速追杀》系列将推续集剧集,约翰·威克是否复活引热议
泰迪犬饮食禁忌:这些食物千万不能喂!
河南平顶山深度游攻略:热门景点、玩法推荐及实用出行指南
宝珠茉莉怎么养才能开花多?照着这6点做,非常简单
八字不合的八字分析及其具体表现 解读八字不合的八字特征与影响
如何设置股票筛选条件
东北路小学:40年培养400余位职业球员,青训标兵面临新挑战
惯性传感器的工作原理
路由器对数据包的处理过程分析笔记
探索费米悖论:宇宙中生命为何如此稀少?
春节期间监狱是否允许服刑人员拨打亲情电话?
宁德市哪个区县市最富?宁德市各区县市经济实力排名
投影机表面清洁说明 投影机幕布清洗小妙招
如何正确理解“预期股息率”?
汉密尔顿(HAMA)焦虑量表测试评分标准
人工智能培训机会如何提高就业竞争力
鸣潮五星角色鉴心攻略:机制详解与实战技巧
小组协作分工指南:从角色责任到工具应用的全方位解析
个人所得税app下载退税怎么操作 个人所得税退税流程
父亲在家庭教育中的作用和影响