神经网络复习--卷积神经网络及其扩展

文章目录

  • 卷积
  • 卷积网络反向传播
    • 已知池化层误差,反向求上一层隐藏层误差
    • 已知卷积层的误差,推导该层的W, b的梯度
  • 注意力机制
  • Transformer
  • 卷积变体

卷积

卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,每个平面由多个独立神经元组成

卷积神经网络基本组成:输入层、卷积层、池化层(降维)、全连接层、输出层

卷积运算:两个步骤1. 矩阵内积乘法(两个矩阵相同位置的元素进行乘法运算,得到一个新的矩阵),2. 将内积乘法的结果进行全加

对于实际的卷积,一方面他需要输入图像,这些图像被称为特征图像,另一方面还需要卷积核。卷积核的值是人为设定的,它是可调节的,在实际的卷积神经网路中,卷积核的值就是网络的参数。对卷积网络进行训练,就是在调节这些卷积核的参数。实际用不到太大的卷积核,常见的卷积核大小为3x3, 5x5, 1x1的
随着网络层数的加深后面一个点就能代表前面一个图像的大部分像素点,当卷积核太大,没几层就把前面全部点给覆盖了,层数不深,丢失信息更多,因此卷积核不会太大

卷积参数

  • 卷积核大小(Kernel Size):卷积和大小定义了卷积的视野。2维中常见选择3x3的像素矩阵
  • 步长(Stride) : 步长定义遍历图像时卷积核的移动的步长。虽然它的默认值通常为1,但我们可以使用值维2的步长来进行类似于MaxPooling的图像进行采样(可以对图像进行降维)
  • 填充(Padding):填充定义如何处理样本的边界。Padding的目的是保持卷积操作的输出尺寸等于输入尺寸,因为如果卷积核大于1,则不加Padding会导致卷积操作的输出尺寸小于输入尺寸,填充了为same-conv, 未填充为valid-conv, 而如果要进行填充使图像的尺寸不变则 p = ( f − 1 ) / 2 p = (f - 1) / 2 p=(f1)/2
    通过解公式 得到padding的大小
  • 输入和输出通道(Channels): 卷积层通常需要一定数量的输入通道,并计算一定数量的输出通道

假设有nxn的矩阵输入,fxf的卷积核,p的填充padding, 步长s,则输出的矩阵长为为 ( n + 2 p − f s + 1 ) ∗ ( n + 2 p − f s + 1 ) (\frac{n + 2p - f}{s} + 1)*(\frac{n + 2p - f}{s} + 1) (sn+2pf+1)(sn+2pf+1)
最终向下取整,意味着卷积核只能在输入图像内部移动,不可以移动出边缘

可训练参数的数量
在这里插入图片描述
在这里插入图片描述

池化操作通常叫做子采样或降采样,通过池化来降低卷积层输出的特征维度,池化一般通过简单的最大值、最小值或平均值操作完成。主要功能有:

  1. 抑制噪声
  2. 提升模型的尺度不变性、旋转不变性
  3. 降低模型计算量
  4. 防止过拟合

卷积网络反向传播

全连接中的w,b和神经网络中的推导一致,池化层没有w,b参数,所以不用进行w,b梯度的推导

已知池化层误差,反向求上一层隐藏层误差

在前向传播时,池化层我们会用MAX或者Average对输入层进行池化,池化的区域大小已知。现在我们反过来,要从缩小后区域的误差,还原前一层较大区域的误差。这个过程叫做upsample(上采样)。假设我们池化区域大小位2x2。第 l l l 层的第 k k k 个子矩阵 δ k l \delta_k^l δkl 为:
在这里插入图片描述
首先对其进行扩展进行还原:
在这里插入图片描述
如果是MAX,假设我们之前在前向传播时记录的最大值位置分别是左上,右下,右上,左下,则转换后的矩阵为:
在这里插入图片描述
如果是Average,则进行平均,转换后的矩阵为:
在这里插入图片描述

已知卷积层的误差,推导该层的W, b的梯度

up主讲解

  1. 求解对应 W W W 的梯度
    在这里插入图片描述
    将这层的输入与链式求导对应的上层矩阵进行对应相乘再相加得到对应位置的w的偏导矩阵

  2. 求解对应 x x x 的梯度
    在这里插入图片描述
    将这层的输入与链式求导对应的上层矩阵进行卷积(翻转180度后对应相乘相加)得到对应位置的 x x x 的偏导矩阵

总结:
α L α w = c o n v ( I n p u t X , L o s s g r a d i e n t α L α O ) \frac{\alpha L}{\alpha w} = conv (Input X, Loss gradient \frac{\alpha L}{\alpha O}) αwαL=conv(InputX,LossgradientαOαL)
       α L α x = c o n v ( L o s s g r a d i e n t α L α O , 18 0 o R O T   w ) \ \ \ \ \ \ \frac{\alpha L}{\alpha x} = conv(Lossgradient \frac{\alpha L}{\alpha O}, {180^o ROT\ w})       αxαL=conv(LossgradientαOαL,180oROT w)

卷积神经网络优缺点
优点:

  • 共享卷积核,对高维数据处理无压力
  • 无需手动选取特征,训练好权重,即得特征
  • 分类效果好

缺点:

  • 需要调参,需要大样本量,训练最好要gpu
  • 物理含义不明确

注意力机制

在这里插入图片描述

Transformer

Transformer是一个纯基于注意力机制的结构,并将自注意力机制和多头注意力机制的概念运用到模型中;
由于缺少RNN模型的时序性,Transformer引入了位置编码,在数据上而非模型中添加位置信息;
从而带来的优点:

  1. 更容易并行化,训练更下高效
  2. 在处理长序列的任务中表现优秀,可以快速捕捉长距离中的关联信息

注意力机制在判断词在句子中的重要性,我们通过注意力分数来表达某个词在句子中的重要性,分数越高,说明该词对完成该任务的重要性越大。
计算注意力分数时,我们主要参考三个因素:query、key和value

  • 查询(Query):指的是查询的范围,自主提示,即主观意识的特征向量
  • 键(Key): 指的是被比对的项,非自主提示,即物体的突出特征信息向量
  • 值(Value):则是代表物体本身的特征向量,通常和Key成对出现

注意力机制是通过Query与Key的注意力汇聚(给定一个Query,计算Query与Key的相关性,然后根据Query与Key的相关性去找到最合适的Key)实现对Value的注意力权重分配,生成最终的输出结果。
用一个比较直观的例子来说,每次登录视频网站搜索视频时,搜索的内容为query,搜索结果中显示的视频名称为key,它与任务内容相关,并可以引导我们至具体的视频内容(value)

计算注意力分数,即为计算query与key的相似度。常用的计算注意力分数的方式有两种:additive attention和scaled dot-product attention

Transformer结构
Transformer同样是encoder-decoder的结构,只不过这里的“encoder”和“decoder”是由无数个同样结构的encoder层和decoder层堆叠组成。

在进行机器翻译时,encoder解读源语句(被翻译的句子)的信息,并传输给decoder。decoder接收源语句信息后,结合当前输入(目前翻译的情况),预测下一个单词,直到生成完整的句子。
在这里插入图片描述
位置编码(Positional Encoding)

卷积变体

  1. 组卷积
    分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最后把多个GPU的结果进行融合

    在AlexNet的Group Convolution当中,特征的通道被平均分到不同组里面,最后再通过两个全连接层来融合特征,这样以来,就只能在最后时刻融合不同组之间的特征,对模型的泛化性是相当不利的。

    为了解决这个问题,ShuffleNet在每一次层叠这种Group conv层前,都进行一次channel shuffle(通道打乱),shuffle过的通道被分配到不同组当中。进行完一次group conv之后,再一次channel shuffle, 然后分到下一层组卷积当中,依次循环。
    请添加图片描述

  2. 可分离卷积
    在可分离卷积中,通常将卷积操作拆分成多个步骤
    在这里插入图片描述
    在这里插入图片描述

  3. 膨胀卷积
    在这里插入图片描述
    在这里插入图片描述

  4. 全卷积网络
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/626595.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

免费pr相册模板mogrt|手机壁纸AI绘画摄影作品照片展示模板视频素材

pr相册模板mogrt,手机壁纸、电脑桌面壁纸、AI绘画、摄影作品、照片展示模板视频素材。 Premiere Pro 2023及以上版本。 全高清(19201080)分辨率/30fps。 通用表达式(适用于所有特效语言)。 免费下载:https…

防火墙技术的演进,什么是下一代防火墙(NGFW)?

防火墙技术的演进 防火墙技术的演进经历了不同阶段,从包过滤防火墙到状态检测防火墙,再到集成多种安全功能的UTM(统一威胁管理)设备,最终发展到具备应用识别能力的NGFW(下一代防火墙)。 包过滤…

49.乐理基础-拍号的类型-单拍子、复拍子

当前写的东西,如果只是想要看懂乐谱的话,它是没什么意义的,就像我们要把 0,1,2,3,4,5。。。称为自然数,1,2,3,4,5称为正整…

鸿蒙OS开发:【Stage模型应用程序包结构】

Stage模型应用程序包结构 为了让开发者能对应用程序包在不同阶段的形态更有清晰的认知,分别对开发态、编译态、发布态的应用程序结构展开介绍。 开发态包结构 在DevEco Studio上[创建一个项目工程],并尝试创建多个不同类型的Module。根据实际工程中的…

MongoDB 推出新项目,助力企业构建生成式 AI 现代应用程序

MongoDB AI Applications Program可为组织提供战略路线图、行业专业知识及所需技术,加速从构思到大规模部署生成式 AI 应用程序 MongoDB (纳斯达克股票代码:MDB) 近日宣布推出 MongoDB AI Applications Program (MongoDB AI应用项目,简称&am…

使用VSCode生成代码、查询数据表

利用VSCode中百度生成 一、 1、输入内容:“给我生成一个student表,要求有id,createDate,userName,phone,age,sex,introduce的列信息,给我DDL与DML,5条信息都为中文信息,并且有一个userName必须等于张先生” 2、将生成的语句复制粘贴到数据库…

SpringBoot 3.2.5 + ElasticSearch 8.12.0 - SpringData 开发指南

目录 一、SpringData ElasticSearch 1.1、环境配置 1.2、创建实体类 1.3、ElasticSearchTemplate 的使用 1.3.1、创建索引库,设置映射 1.3.2、创建索引映射注意事项 1.3.3、简单的 CRUD 1.3.4、三种构建搜索条件的方式 1.3.5、NativeQuery 搜索实战 1.3.6…

Optional用法

说明:Optional和Stream一样,是Java8引入的特性,本文介绍Optional的几个实际用法。Steam流使用,参考下面这篇文章: Stream流使用 使用 1.保证值存在 // 1.保证值存在,pageNumber,pageSizeInte…

PR标题模板,视频内容要点提示文字列表模板剪辑素材

Premiere Pro的要点列表标题模板。 主要特点: 可以无限制地添加任意数量的列表项。 使用直观的控件轻松自定义列表的各个方面。只需点击几下,即可调整颜色、大小、位置等。 轻松调整颜色,享受完全的创作自由。 可以轻松调整列表项之间的间距…

mybatis-plus之数据源切换事务失效问题

为什么存在数据源切换和食物时效问题? 由于业务数据来源不同 需要配置多个数据源来进行数据的查询 编辑等操作 这一切换业务对数据的一致性要求很高那就要保证ACID啦 也就是数据的有效性 要么是成功的 要么是失败的。 数据源切换采用mybatisplus支持 多数据源配置&a…

Linux下VMamba 环境复现+环境测试

# 1. 创建自己的虚拟环境 conda create -n VMamba python3.10.13 conda activate VMamba # 2. cuda-11.8 conda install cudatoolkit11.8 -c nvidia # 3. torch torchvision torchaudio 与 官网命令一致 pip install torch2.1.1 torchvision0.16.1 torchaudio2.1.1 --index-url…

自集成式 HTTP 代理方案

前言 大部分程序员,想必都会有一个常用的抓包代理工具; 但在座的各位,可曾见过这样一款集成在 Web 应用中的代理工具? ​,时长00:45 它是明显区别于传统代理工具的,有以下特性: 零安装、零配…

解决AdaptiveAvgPool2d部署算子不支持问题

一、Pytorch中AdaptiveAvgPool2d函数详解 torch.nn.AdaptiveAvgPool2d()接受两个参数,分别为输出特征图的长和宽,其通道数前后不发生变化。如以下: self.global_avgpool nn.AdaptiveAvgPool2d(1) # 输出N*C*1*1 self.global_avgpool …

AcWing166. 数独-DFS剪枝与优化

题目 思路 思考问题:搜索顺序->考虑剪枝搜索顺序:先随意选择一个空格子,枚举该格子可填写的数字,当所有格子都填完的时候,说明可以退出了剪枝: 优化搜索顺序:随意选择一个空格子&#xff1a…

【讲解下iCloud如何高效利用】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

C++实战演练---负载均衡在线oj项目 || 编译服务模块设计

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 前言 上一篇预热文章简单说过我们的编写思路,首先要实现的是编译功能,那么在编译功能版块中&…

Java面试八股之float和double的区别

Java中float和double的区别 存储空间与精度: double:占据64位(8字节)存储空间,属于双精度浮点数。它可以提供较高的精度,通常能够精确表示大约15到17位十进制数字,适合用于需要较高精度计算或…

SSM【Spring SpringMVC Mybatis】—— Spring(二)

如果对于Spring的一些基础理论感兴趣可见👇 SSM【Spring SpringMVC Mybatis】—— Spring(一) 目录 1、Spring中bean的作用域 1.1 语法 1.2 四个作用域 2、Spring中bean的生命周期 2.1 bean的生命周期 2.2 bean的后置处理器 2.3 添加后…

upload-labs靶场通关详解(1-15)

1.pass-01 查看源代码 是js,属于前端校验 可以通过禁用js来上传文件 2.pass-02 根据提示是MIME绕过 MIME:是设定某种扩展名的文件 用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来…

OpenAI发布新品GPT-4o,电影《HER》演绎的世界真的来了!

5月14日,OpenAI宣布推出最新旗舰生成式AI模型GPT-4o,它可以实时处理音频、视觉、并对文本进行推理。可以说这是一种全新的交互模式,它完美复刻电影《Her》的世界,标志着人工智能全感知时代的到来。 GpuMall智算云 | 省钱、好用、…