当前位置: 首页 > news >正文

深度学习13(经典卷积网络结构+卷积网络结构优化)

        简单看一下卷积网络发展历史

LeNet-5解析

        激活层默认不画网络图当中,这个网络结构当时使用的是sigmoid和Tanh函数,还没有出现Relu函数。将卷积、激活、池化视作一层,即使池化没有参数。

        下面从计算角度分析一下

输入层input输入32 * 32 * 3

        32 × 32:图像的高度和宽度

        3:RGB三个颜色通道

卷积层Conv1

输入(接收):32 * 32 * 3

参数:

        卷积核大小:5*5

        卷积核数量:6

        步长:1

输出:28 * 28 * 6

池化层Pool1

输入(接收):28 * 28 * 6

参数:

        卷积核大小:2 * 2

        步长:1

输出:14 * 14 * 6

卷积层Conv2

输入(接收):14 * 14 * 6

参数:

        卷积核大小:5*5

        卷积核数量:16

        步长:1

输出:10 * 10 * 16

池化层Pool2

输入(接收):10 * 10 * 16

参数:

        卷积核大小:2 * 2

        步长:2

输出:5 * 5 * 16

全连接层FC3神经元个数:120
全连接层FC4神经元个数:84
输出层output

使用softmax激活函数

AlexNet介绍

2012年,Alex Krizhevsky、llya Sutskever在多伦多大学Geoff Hinton的实验室设计出了一个深层的卷积神经网络AlexNet,夺得了2012年ImageNetLSVRC的冠军,且准确率远超第二名(其错误率为15.3%,第二名为26.2%),引起了很大的轰动。AlexNet可以说是具有历史意义的一个网络结构。

总参数量:60M=6000万,5层卷积+3层全连接
使用了非线性激活函数:ReLU
防止过拟合的方法:Dropout,数据扩充(Dataaugmentation)
批标准化层的使用

GoogleNet简单了解

        GoogleNet,2014年比赛冠军的model,这个model证明了一件事:用更多的卷积,更深的层次可以得到更好的结构。(当然,它并没有证明浅的层次不能达到这样的效果)。

        其使用了多层Inception结构,使得参数较少,当时面对500万的参数量计算也能较快。

结构优化:Inception 结构

        首先我们要说一下在Networkin Network中引入的1x1卷积结构的相关作用

1x1卷积

        从图中,看到1x1卷积的过程,那么这里先假设只有3个1x1Fiter,那么最终结果还56x56x3。但是每一个Flter的三个参数的作用。看作是对三个通道进行了线性组合,我们甚至可以把这几个Fllter可以看成就是一个简单的神经元结构,每个神经元参数数量与前面的通道数量相等。

特点

1、多个1x1的卷积核级联加上配合激活函数,将feature map由多通道的线性组合变为非线性组合。(信息整合),提高特征抽象能力(MultilayerPerceptron,缩写MLR,就是一个多层神经网络)
2、
1x1的卷积核操作还可以实现卷积核通道数的降维和升维,实现参数的减小化

Inception层

        目的:由于数据量太大,减少计算开销。可以代替人手工去确定到底使用1x1,3x3,5x5还是是否需要max_pooling层,由网络自动去寻找适合的结构,节省计算。

        这里从28x28x192 --->28x28x256,没有选择使用256个1x1的卷积核一步到位,而是使用多种卷积核合并计算。

特点:使用多种卷积核进行运算合并结果
1、使每一个卷积/池化最终结果的长、宽大小一致
2、特殊的池化层,需要增加padding,步长为1来使得输出大小一致,并且选择32的通道数
3、最终结果28x28x256,使用更少的参数,达到跟AlexNet或者VGG同样类似的输出结果

        还有一个更直观的例子:

        上面的参数:5x5x32x192=153600
下面的参数:192x16+5x5x16x32=3072+12800=15872

        所以上面的结构会需要大量的计算,我们把这种改进的结构称之为网络的“瓶颈",网络缩小后扩大。

        结尾

        事实上,在过去很多年,许多机构或者学者都发布了各种各样的网络,其实去了解设计网络最好的办法就是去研究现有的网络结构或者论文。大多数网络设计出来是为了Image Net的比赛(解决ImageNet中的1000类图像分类或定位问题),后来大家在各个业务上进行使用。

        而对于神经网络的优化目的最重要的一点是:参数数量变少减少计算量。

http://www.dtcms.com/a/273126.html

相关文章:

  • J1939协议
  • 个体户核定多地暂停,将不再享受核定征收?
  • 人工智能-基础篇-29-什么是低代码平台?
  • 大数据学习6:Sqoop数据迁移工具
  • ArcGIS 打开 nc 降雨量文件
  • MinerU2将PDF转成md文件,并分拣图片
  • TB6612电机驱动
  • [注解: @ComponentScan]-原理分析
  • Cloudflare 发布容器服务公测版:边缘计算新时代来临?
  • 职坐标:嵌入式AI边缘计算实战
  • React 实现五子棋人机对战小游戏
  • FFmpeg Windows安装
  • 定位模拟的详细步骤
  • vue3使用mermaid生成图表,并可编辑
  • 数学建模:多目标规划:ε约束法、 理想点法
  • 【大模型推理论文阅读】Enhancing Latent Computation in Transformerswith Latent Tokens
  • pharokka phold--快速噬菌体注释工具
  • 深入了解 Vim 编辑器:从入门到精通
  • MySQL高级特性全面解析:约束、表关系、多表查询与事务
  • 深入剖析C++ RPC框架原理:有栈协程与分布式系统设计
  • 技术学习_检索增强生成(RAG)
  • QT数据交互全解析:JSON处理与HTTP通信
  • 云原生技术与应用-Docker高级管理--Dockerfile镜像制作
  • 西部数据WD授权代理商-深圳同袍存储科技有限公司
  • 医学+AI!湖北中医药大学信息工程学院与和鲸科技签约101数智领航计划
  • Web后端开发工程师AI协作指南
  • 龙迅#LT7911E适用于TPYE-C/DP/EDP转MIPIDSI/LVDS应用功能,支持DSC 分辨率缩放,分辨率高达4K60HZ!
  • 寒武纪MLU370编程陷阱:float32精度丢失的硬件级解决方案——混合精度训练中的定点数补偿算法设计
  • Linux指令与权限
  • uniapp滚动组件, HuimayunScroll:高性能移动端滚动组件的设计与实现