pytorch-卷积神经网络

目录

  • 1、卷积
  • [2. 卷积神经网络](#2. 卷积神经网络)
    • [2.1 卷积层](#2.1 卷积层)
    • [2.2 padding](#2.2 padding)
    • [2.3 多kernel](#2.3 多kernel)
    • [2.4 特征学习](#2.4 特征学习)
  • [3. pytorch实现卷积层](#3. pytorch实现卷积层)
    • [3.1 nn.Conv2d](#3.1 nn.Conv2d)
    • [3.2 F.conv2d](#3.2 F.conv2d)

1、卷积

为了减少网络的复杂度,增加一个滑动的矩阵小窗口,比如minist数据集输入是28x28=784,也就是说除输入层外,其他层的每个节点与上层都有784条权重连线,而增加一个3x3的滑动窗口后,连线就变成了9,这样大大减少了参数量。这里使用了信号中的卷积运算,即对应元素相乘再累加,因此3x3的滑动窗口被称为卷积核,进行的运行叫卷积运算。

上图是爱因斯坦头像,如果使用全连接,那么参数量是 1 0 12 10^{12} 1012,而使用10x10的卷积运算后,参数量降到了100M。

2. 卷积神经网络

2.1 卷积层

使用卷积核进行卷积运算的层称之为卷积层

如下图:使用一个3x3的卷积核,先在x方向上移动,再在y方向上移动,每次移动一格,进行卷积运算,计算出对应元素的值,最后得到新的feature map

2.2 padding

从上边动图发现,经过卷积后,feature map比之前小了,原来5x5变成了3x3,那么怎么保证原大小输出呢?

如下图所示:分别在x和y方向上各增加一行,权值为0,这样再做卷积运算就可以输出原大小了。

Input_channels:比如RGB三个通道

Kernel_channels:几种核,比如blur、sharpen等操作得核

Kernel_size:几×几的核,比如:3x3 5x5

Stride:步长,卷积核每层移动几个,1,2

Padding:0, 1, 1

2.3 多kernel

下图中有两个kernel,k1和k2,input channel是3,因此每个kernel有3个相同的Window与之对应,也就是说input channel与kernel的window数必须一致,multi-k:16,3,3,3,中的数字分别表示有16个kernel,每个kernel有3个window与input channel对应,window大小是3x3。而下图实际有2个kernel,kernel维度表示为2,3,3,3

最后输出feature map是3x3是怎么来的呢?input 每个通道元素与对应window元素相乘累加后得到一个值,再把3个通道的值相加就得到了output的一个值。

2.4 特征学习

下图表示了特征学习的一个过程:conv1提取了低级特征,比如:汽车的颜色;conv2提取了中级别的特征,比如:轮廓;conv3提取了高级别的特征,比如:汽车的灯、轮子,最后是全连接层,输出分类。

3. pytorch实现卷积层

3.1 nn.Conv2d

nn.Conv2d是一个类,实例化为layer,调用layer.forward完成一次前向计算,得到输出out

也可以使用out=layer(x)实际上调用的是__call__函数,与执行.forward不同的时,__call__函数中封装了一些hooks函数,会先执行hooks,然后再执行forward,建议使用这种方法。

3.2 F.conv2d

与nn.Conv2d不同的是F.conv2d是函数方法

相关推荐
wangxin2083 分钟前
同一只股票三个 AI 写出三种段位:CoordClaw 多智能体如何产出投研级股评
人工智能·多智能体·团队协作·管理学·组织管理·coordclaw·ai数字社会
程序员cxuan3 分钟前
Codex 接入 DeepSeek-V4-Flash,丝滑的一批
人工智能·后端·程序员
大鱼>3 分钟前
DSPy:LLM程序自动编译与提示词优化
开发语言·人工智能·python·深度学习
AI科技星4 分钟前
全域光速运动理论体系 (GAQ-UFT)——范式重构、核心方程与传统物理的本质分野
人工智能·线性代数·机器学习·重构·数据挖掘·回归·ai科技星
2401_843253708 分钟前
金融智能:AI如何重构银行业未来
人工智能·python·金融
一路向北North13 分钟前
Spring AI(9) :解决百炼平台兼容性问题
java·人工智能·spring
叫我Paul就好14 分钟前
RAG 入门到精通 - 生成的优化
人工智能·软件工程·rag
星核0penstarry19 分钟前
Solon AI v4.0.4 技术分析:Java Agent 框架的兼容性突破与选型考量 基于 OSCHINA 2026-07-30 报道及公开技术资料整理
java·开发语言·人工智能
杨先生哦27 分钟前
【2026热端攻防系列 11/12】前端AI风控攻防实战:验证码缺陷、人机验证绕过、智能爬虫对抗与企业智能风控加固方案
前端·人工智能·笔记·爬虫·安全
IT_陈寒29 分钟前
Redis这个内存杀手坑惨了我,排查三小时发现是过期策略搞的鬼
前端·人工智能·后端