卷积神经网络(二)- 深度卷积网络:实例研究

2023-11-13

本次学习笔记主要记录学习深度学习时的各种记录,包括吴恩达老师视频学习、花书。作者能力有限,如有错误等,望联系修改,非常感谢!


第一版       2022-07-16        初稿

一、为什么要进行实例研究(Why look at case studies?)

提纲:
经典网络:
1.LeNet-5
2.AlexNet
3.VGG
ResNet
Inception

二、经典网络(Classic networks)

在这里插入图片描述
LeNet-5识别手写数字:针对灰度图片训练
输入图片32x32x1,使用6个5x5过滤器,s=1;然后平均池化操作,然后卷积,接着池化;最后全连接层有400个节点,每个节点有120个神经元,再接着全连接层,得84个特征,根据其加上softmax函数得到输出。之前LeNet-5用到的是另一种分类器。

此网络还有一种模式:即一个或多个卷积层后跟一个池化层。

过去人们常用sigmoid函数和tanh函数,而非ReLu函数。
论文链接:https://ieeexplore.ieee.org/abstract/document/726791
在这里插入图片描述
AlexNet:
input:227x227x3的图片
第一层:96个11x11的过滤器,步幅4
池化层:3x3的过滤器构建最大池化层,步幅为2
第三层:5x5卷积
最大池化
same卷积
same卷积
same卷积
最大池化层
池化层为6x6x256=9216,展开9216个单元
两个全连接层FC
最后softmax函数输出识别的结果。

AlexNet和LeNet相似,但LeNet需6万个参数,AlexNet需6000万个参数。
AlexNet更出色原因:
1.能处理包含大量隐藏单元的基本构造模块;
2.使用了ReLu激活函数。
AlexNet在两个GPU上进行训练

经典的AlexNet还有一种层叫“局部响应归一化层(Local Response Normalization,LRN)”,
基本思想是:假如有网络的一块13x13x256,LRN做的是选取一个位置,得到256个数字,并进行归一化。
动机是:对于此图像的每个位置来说,可能并不需要太多的高激活神经元。但被发现LRN好像起不到太大的作用。
在这里插入图片描述
VGG网络没有那么多超参数,是一种需要构建卷积层的简单网络。
输入为224x224x64:;
1.64个3x3,步幅1的过滤器构建卷积层,padding为same卷积中的参数,卷积2次;
2.2x2,步幅2的过滤器构建最大池化层;
3.多层卷积池化后,得到7x7x512的特征图进行全连接操作,然后进行softmax激活。

16指的是包含16个卷积层和全连接层,包含1.38亿个参数。

三、残差网络(Residual Networks-ResNets)

在这里插入图片描述
跳跃连接:可以从某一层网络层获取激活,然后迅速反馈给另外一层,甚至是神经网络的更深层。

ResNets是由残差块(Residual block)构建的,残差块是两层神经网络,在L层进行激活,得到a[l+1],从L层进行激活,首先线性激活,由a[l]计算出z[l+1],然后通过ReLu非线性激活函数得到a[l+1]=g(z[l+1]),依次计算。

残差网络中有一点变化,将a[l]直接向后,拷贝到神经网络的深层,最后操作变为a[l+2]=g(z[l+2]+a[l])。
在这里插入图片描述
没跳跃前为普通网络(Plain network)
如图左,普通神经网络,现实中往往先好,然后再坏;而理论应该一直好。
如图右,ResNet中,即使网络再深,训练表现不错。

四、残差网络为什么有用(Why ResNets work?)

在这里插入图片描述
训练ResNets,假设一大型神经网络,输入x,输出a[l],如图上,再添加两层,如图下。假设整个网络使用Relu函数,激活值大于等于0。
假设w和b为0,z便没有了。a[l+2]=a[l]

不仅要保持网络的效率,还要提升它的效率。ResNets使用了很多same卷积,使得a[l]维度和z[l+2]的维度相等。输入输出维度不同时,增加W,维度为256x128,维度便相同了,网络通过学习能得到合适的W。
在这里插入图片描述
如图Plain,有多个卷积层,最后输出一个softmax。

如图ResNets,只需在Plain中添加跳跃连接,便成为ResNets。

五、网络中的网络以及1x1卷积(Network in Network and 1x1 convolutions)

在这里插入图片描述
过滤器为1x1,使用32个。对6x6用途不大,但对6x6x32的卷积效果更好,其计算左图中32个数字和过滤器中32个数字的元素积之和,然后应用ReLu非线性函数。输出为6x6x过滤器数量。
在这里插入图片描述
input:28x28x192,使用卷积层,32个1x1x192的过滤器,压缩了通道数。
NIN就是给神经网络添加了一个非线性函数,从而减少或保持输入层中的通道数量不变。

六、谷歌Inception网络简介(Inception network motivation)

在这里插入图片描述
构建卷积层时,要决定过滤器大小,或加不加池化层。而Inception的作用是帮助你做决定。

若为1x1卷层,输出结果为28x28x64;使用3x3;使用5x5;使用池化,为匹配维度加入padding。
在这里插入图片描述
1.第一个架构(只有右半部分)32个5x5过滤器,5x5x192 乘以 28x28x32,约为1.2亿。

2.另一个架构输入28x28x192,输出为28x28x32。使用1x1卷积把输入值从192个通道减少到16个通道,然后对较小的层使用5x5。中间层称为瓶颈层(bottleneck lag)。

接下来看看计算成本:
28x28x16层的计算成本为28x28x16x192约为240万。
第二个卷积层,28x28x32 乘以 5x5x16 约为1000万。
计算成本即为两层之和。与第一个架构比较,成本下降到了原本的十分之一。

七、Inception网络(Inception network)

在这里插入图片描述
Inception模块会将之前层的激活或者输出作为它的输入,然后先通过一个1x1的层,再通过一个5x5的层。还有其他等类似操作。

为了最后将输出连接起来,使用same类型的padding来池化,进行最大池化时,输出将是和输入层一样,实际上加上一个1x1的卷积层,通道将缩小。

最后组合在一起,得到28x28x256。
在这里插入图片描述
如图有多个Inception模块,有些输入中多加个池化层修改高和宽的维度。

论文中除了如上所述的Inception模块中的,还多了一个全连接层,最后softmax输出。可看成是其一个细节,确保了即便是隐藏单元和中间层也参与了特征计算,并防止了过拟合。

Inception Network 被称为GoogleLeNet,向LeNet致敬。

八、使用开源的实现方案(Using open-source implementations)

很多神经网络复杂细致难以复制,参数调整的细节问题。通过github找源码。

九、迁移学习(Transfer Learning)

在这里插入图片描述
假设构建一个猫咪检测器,现在判断猫是Tigger还是Mity还是都不是。

当包含上述猫的图片较少时,训练集会很小,可以从网上下载一些神经网络开源的实现,代码权重都下载下来。例如:ImageNet数据集有1000个不同类别,会有一个softmax激活。可以去掉softmax层,创建自己的softmax层,用来输出三类。可以把所有层看作是冻结的,只需训练和自己softmax层相关的参数。会有trainableParameter=0的参数,不训练这些参数,会有freeze=1的参数。
第二种技巧,由于前面的层都冻结了,可把输入图像X映射到softmax前一层,计算特征或激活值,然后存到硬盘,然后在此之上训练softmax分类器,存到硬盘优点是不需要每次遍历训练集。

若有较多猫图,1.应冻结更少的层,训练后边的层,建立自己的分类器。2.同样可以取后边几层权重,用作初始化,然后梯度下降。3.可直接去掉后几层,换成自己的隐藏单元和softmax输出层。数据越多,冻结层就越少。

若有大量猫图,用开源的网络和权重用作初始化训练,softmax改为自己的。

十、数据增强(Data augmentation)

在这里插入图片描述
1.首先最简单的方法是垂直镜像对称(Mirroring)。
2.接着是随机裁剪(random cropping)。
3.还可用旋转,剪切,扭曲变形引入局部弯曲…
在这里插入图片描述
彩色转换,给R、G、B三个通道加上不同的失真值。实践中可根据某种概率分布来决定。

对RGB有不同的采样方式,1.影响颜色失真的算法PCA,若图中红蓝多,绿色少,PCA颜色增强算法对红蓝增减很多,绿色变化相对少。
在这里插入图片描述
可能有存好的数据在硬盘上,有小数据集可以做任何事情,数据集够用了。
若有较大的训练集,可能用CPU线程,不停从硬盘读数据,可用CPU线程实现变形失真。与此同时,CPU线程持续加载数据,然后实现失真变形,从而构建批数据,数据持续输出到其他线程或进程,开始训练,可在CPU或GPU上训练。

十一、计算机视觉现状(The state of computer vision)

在这里插入图片描述
可认为大部分机器学习问题是结余少量数据和大量数据范围之间的,如语音识别、图像识别或分类、目标检测。
当有很多数据时,倾向更简单的算法和更少的手工工程。没那么多数据时,则相反。

我们的学习算法有两种知识来源:
1.被标记的数据
2.手工工程
有少量数据时,迁移学习会有很多帮助。
在这里插入图片描述
基准测试的小技巧:
1.集成,想好NN后,可独立训练几个NN,并平均输出。可能要从3-15个不同网络中运行一个图像。
集成要保持所有不同神经网络,占用了更多的计算机内存。

2.Multi-crop at test time,将数据增强应用到测试图像中,去中心的crop,再取四个角落的crop,如图会有10种不同图像的crop,叫做10-crop。
在这里插入图片描述

1


  1. 深度学习-吴恩达 ↩︎

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

卷积神经网络(二)- 深度卷积网络:实例研究 的相关文章

  • 电商数据接口API深度解析

    随着电子商务的快速发展 电商平台之间的竞争也日益激烈 为了在市场中保持领先地位 电商平台需要不断地优化用户体验 提供个性化的服务和精准的推荐 而这一切都离不开数据 电商数据接口API作为一种高效 便捷的数据交互方式 被广泛应用于电商领域 本
  • 关于burpsuite对app(移动端)进行抓包的配置

    可以使用手机模拟器 我这里以自己手机 物理机 演示配置过程 如果是使用的模拟器那么肯定和电脑是在同一局域网 如果使用物理机 那么可以通过连接同一WiFi确保在同一局域网环境下 查看电脑内网ip 192 168 1 105 注意 看的是无线局
  • 光纤知识总结

    1光纤概念 光导纤维 英语 Optical fiber 简称 光纤 是一种由玻璃或塑料制成的纤维 利用光在这些纤维中以全内 反射 原理传输的光传导工具 微细的光纤封装在塑料护套中 使得它能够弯曲而不至于断裂 通常光纤的一端的发射设备使用发光
  • 浅谈能耗系统在马来西亚连锁餐饮业的应用

    1 背景信息 Background 针对连锁餐饮业能耗高且能源管理不合理的问题 利用计算机网络技术 通讯技术 计量控制技术等信息化技术 实现能源资源分类分项计量和能源资源运行监管功能 清晰描述各分店总的用能现状 实时监测各供电回路的电压 电
  • 基于机器学习的投资组合推荐系统+源代码+文档说明+演示视频

    文章目录 源码下载地址 项目介绍 界面预览 项目备注 毕设定制 咨询 源码下载地址 源码下载地址 点击这里下载源码 项目介绍 界面预览
  • 十分钟部署清华 ChatGLM-6B,实测效果超预期(Linux版)

    前段时间 清华公布了中英双语对话模型 ChatGLM 6B 具有60亿的参数 初具问答和对话功能 最 最 最重要的是它能够支持私有化部署 大部分实验室的服务器基本上都能跑起来 因为条件特殊 实验室网络不通 那么如何进行离线部署呢 经过一上午
  • 基于成本和服务质量考虑的不确定性下,电动汽车充电网络基础设施需求预测和迭代优化的分层框架研究(Python代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Python代码 数据
  • 【CTF必看】从零开始的CTF学习路线(超详细),让你从小白进阶成大神!

    最近很多朋友在后台私信我 问应该怎么入门CTF 个人认为入门CTF之前大家应该先了解到底 什么是CTF 而你 学CTF的目的又到底是什么 其次便是最好具备相应的编程能力 若是完全不具备这些能力极有可能直接被劝退 毕竟比赛的时候动不动写个脚本
  • Web 安全漏洞之 OS 命令注入

    什么是 OS 命令注入 上周我们分享了一篇 Web 安全漏洞之 SQL 注入 其原理简单来说就是因为 SQL 是一种结构化字符串语言 攻击者利用可以随意构造语句的漏洞构造了开发者意料之外的语句 而今天要讲的 OS 命令注入其实原理和 SQL
  • 【信道估计】【MIMO】【FBMC】未来移动通信的滤波器组多载波调制方案(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码及文章
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 用通俗易懂的方式讲解:图解 Transformer 架构

    文章目录 用通俗易懂方式讲解系列 1 导语 2 正文开始 现在我们开始 编码 从宏观视角看自注意力机制 从微观视角看自注意力机制 通过矩阵运算实现自注意力机制
  • 用通俗易懂的方式讲解:内容讲解+代码案例,轻松掌握大模型应用框架 LangChain

    本文介绍了 LangChain 框架 它能够将大型语言模型与其他计算或知识来源相结合 从而实现功能更加强大的应用 接着 对LangChain的关键概念进行了详细说明 并基于该框架进行了一些案例尝试 旨在帮助读者更轻松地理解 LangChai
  • 通俗易懂,十分钟读懂DES,详解DES加密算法原理,DES攻击手段以及3DES原理

    文章目录 1 什么是DES 2 DES的基本概念 3 DES的加密流程 4 DES算法步骤详解 4 1 初始置换 Initial Permutation IP置换 4 2 加密轮次 4 3 F轮函数 4 3 1 拓展R到48位 4 3 2
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 基于java的物业管理系统设计与实现

    基于java的物业管理系统设计与实现 I 引言 A 研究背景和动机 物业管理系统是指对物业进行管理和服务的系统 该系统需要具备对物业信息 人员信息 财务信息等进行管理的能力 基于Java的物业管理系统设计与实现的研究背景和动机主要体现在以下
  • 揭秘网络世界的幕后密码——Wireshark网络协议分析软件

    在我们日常生活中 计算机和互联网已经成为不可或缺的一部分 然而 很少有人真正了解网络背后复杂的工作原理和通信协议 幸运的是 有一款强大而实用的软件 Wireshark 可以帮助我们深入了解网络世界的幕后密码 Wireshark是一款免费的网
  • 毕业设计- 基于深度学习的小样本时间序列预测算法 - Attention

    目录 前言 课题背景与意义 课题实现 一 数据集 二 设计思路 三 相关代码示例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校
  • 短信系统搭建主要因素|网页短信平台开发源码

    短信系统搭建主要因素 网页短信平台开发源码 随着移动互联网的快速发展 短信系统已成为企业和个人进行信息传递的重要工具 建立一个高效可靠的短信系统对于企业来说非常重要 下面我们将介绍一些影响短信系统搭建的主要因素 1 平台选择 在搭建短信系统
  • ESP10B 锁定连接器

    ESP10B 锁定连接器 ESP10B 电机新增内容包括双极型号标准 NEMA 尺寸 17 23 和 34 的步进电机现在包括输出扭矩范围从 61 盎司英寸到 1291 盎司英寸的双极型号 该电机配有带锁定连接器的尾缆 可轻松连接 每转可步

随机推荐

  • 一篇学会Swagger2(集成knife4j)

    目录 一 Swagger2简介 1 前言 2 Open API是什么 3 Swagger简介 3 1 特性 3 2 组件 二 knife4j 三 内容 3 1 依赖 3 2 配置类 3 3 Controller层添加注解 3 4 测试 sw
  • Apache Tomcat如何高并发处理请求

    介绍 作为常用的http协议服务器 tomcat应用非常广泛 tomcat也是遵循Servelt协议的 Servelt协议可以让服务器与真实服务逻辑代码进行解耦 各自只需要关注Servlet协议即可 对于tomcat是如何作为一个高性能的服
  • make,makefile,make install,make clean,cmake,gcc(转)

    1 gcc是GNU Compiler Collection 就是GNU编译器套件 也可以简单认为是编译器 它可以编译很多种编程语言 括C C Objective C Fortran Java等等 2 当你的程序只有一个源文件时 直接就可以用
  • Mail command failed: 502 Invalid paramenters错误

    from要配置自己qq响应的邮箱
  • vue安装了babel-polyfill ie依旧无法适配

    上一篇写到安装babel polyfill 插件来适配ie浏览器 链接如下 https blog csdn net qq 43469899 article details 102969776 有些小伙伴会发现尽管你是配好了我上一篇的那些部分
  • HightCharts双y轴+x时间轴

    公司布置完成图表 使用HightCharts显示 根据时间显示探头点数据 由于探头分为两种数据属性 一种是温度 单位 一种是湿度 单位 所以需要使用双纵轴显示 加上横轴使用date属性 需要对date进行formart 上代码 myCont
  • linux修改日期时间

    Linux机器上的时间比较复杂 有各式各样的时钟和选项等等 机器里有两个时钟 硬件时钟从根本上讲是CMOS时钟 而系统时钟是由内核维护的 1 修改硬件时钟的可以使用下面的方法 你就可以用它来随时更新你的硬件时间 命令为 hwclock ad
  • 计算机组成原理笔记

    文章目录 一 计算机的基本组成 二 总线 2 1 总线控制 三 主存储器 3 1 RAM 3 2 存储器与CPU相连 3 3 存储器校验 3 4 提高存储器访问速度 3 5 cache 四 输入输出系统 4 1 I O接口 4 2 程序中断
  • 【狂神说Java】SpringBoo

    作者简介 CSDN内容合伙人 信息安全专业在校大学生 系列专栏 添砖加瓦 狂神说JAVA系列笔记 新人博主 欢迎点赞收藏关注 会回访 个人格言 舞台再大 你不上台 永远是个观众 平台再好 你不参与 永远是局外人 能力再大 你不行动 只能看别
  • Flutter Dialog模态框使用及自定义Dialog

    自定义dialog插件 用来弹出确认取消提示框 或者自定义模态框 自定义类 import package flutter material dart class dialogUtil 通用显示确定按钮框 static showConfirm
  • UART串口协议

    通用异步收发传输器 Universal Asynchronous Receiver Transmitter 通常称作UATR 是一种异步收发传输器 将数据由串行通信与并行通信间做传输转换 作为并行输入称为串行输出的芯片 UART是一种通用串
  • Python3.8的下载与安装

    一 介绍 Python由荷兰数学和计算机科学研究学会的吉多 范罗苏姆 于1990 年代初设计 作为一门叫做ABC语言的替代品 Python提供了高效的高级数据结构 还能简单有效地面向对象编程 Python语法和动态类型 以及解释型语言的本质
  • SQL中的and、or

    在sql查询语句中长用到and和or 它们在用的时候有些需要注意的地方 不管在一项表达式中有多少个and或or 它是将前一个表达式看作一项 and与or后的所有表达式看做一项 and的前后都为真的时候才为真 取交集 or有一个为真 即为真
  • 嵌入式设备和固件中的自动漏洞检测(三):静态分析技术

    原文链接 Automatic Vulnerability Detection in Embedded Devices and Firmware Survey and Layered Taxonomies ACM Computing Surv
  • 高等数值计算方法学习笔记第4章第一部分【数值积分(数值微分)】

    高等数值计算方法学习笔记第4章第一部分 数值积分 数值微分 一 数值积分概论 1 数值求积的基本思想 牛 莱公式找不到原函数 用矩形近似 2 代数精度的概念 1 上述四个公式的代数精度 梯形 左中右矩形公式 2 利用代数精度的概念构造求积公
  • Chatgpt登陆后一直在转圈请求429错误的解决办法

    Chatgpt登陆后一直在转圈请求429错误的解决办法 如果您使用ChatGPT登陆后遇到了持续转圈或请求429错误 可能是由于请求次数过多导致的限制 为了解决这个问题 可以尝试以下几个方法 等待一段时间后再次尝试登陆 由于请求次数过多 C
  • MongoDB图形化工具的使用与java操作

    MongoDB图形化工具的使用与java操作 MongoDB Compass Community 下载 安装 使用 介绍 MongoDB概念 新建数据库 删除数据库 新建集合 删除集合 新增文档 删除文档 修改文档 查询文档 Java操作m
  • HTML5 蔡徐坤打篮球游戏 NMSL❤️❤️❤️

    此文章来自实验楼用户dancebyte在实验楼的技术分享 希望大家喜欢 使用 es6 语法及原生 javascript 实现的蔡徐坤打篮球游戏 游戏有多种难度可选择 简单 普通 困难 极限以及非人类 非人类模式请勿轻易尝试 否则可能会疯掉
  • 查询性别的时候格式化

    SELECT CYD DEPT NAME T ID T CODE T NAME T JOB CASE WHEN T SEX 0 THEN 男 WHEN T SEX 1 THEN 女 ELSE X END AS SEX T BIRTH T P
  • 卷积神经网络(二)- 深度卷积网络:实例研究

    本次学习笔记主要记录学习深度学习时的各种记录 包括吴恩达老师视频学习 花书 作者能力有限 如有错误等 望联系修改 非常感谢 卷积神经网络 二 深度卷积网络 实例研究 一 为什么要进行实例研究 Why look at case studies