卷积神经网络(3)—-经典网络

卷积神经网络(3)—-经典网络

卷积层要提升表达能力,主要依靠增加输出通道数,副作用是计算量增大和过拟合。

一、历史过程:

卷积神经网络(3)----经典网络

二、经典网络

1、LeNet:两层卷积+池化,两层全连接

卷积神经网络(3)----经典网络

卷积神经网络(3)----经典网络

 

2、AlexNet:5个卷积层、5个池化层、3个全连接层【大约5000万个参数】,最后一个全连接层输出到一个1000维的softmax层,产生一个1000类的分类。

优点:

卷积神经网络(3)----经典网络

采用了非线性激活函数relu替代了sigmoid,SGD的收敛速度会比sigmoid/tanh快很多。

卷积神经网络(3)----经典网络

 

3、VGG是加强版的AlexNet:

13个卷积层【5段卷积层(2+2+3+3+3),5个池化层】、3个全连接层【两个全连接图像特征,1层全连接分类特征】,但其增强了卷积层的功能。即AlexNet采用了8层卷积层(如以下配置A层),但VGG采用了16层和19层(如以下配置的C、D、E层)。

卷积神经网络(3)----经典网络

 

卷积神经网络(3)----经典网络

 

4、GoogleNet(Inception结构):

https://blog.csdn.net/transMaple/article/details/78439710

以上的网络主要是纵向延伸,GoogleNet考虑了横向延伸。

主要围绕深度和宽度来实现的:

深度:层数更深,采用了22层,为了避免梯度消失,GoogleNet在不同深度处增加了两个损失函数来避免反向传播时梯度消失的现象。

宽度:增加了多种大小的卷积核,如1*1,3*3,5*5。采用了降维的Inception模型,在3*3、5*5卷积前,和最大池化后都分布加上了1*1的卷积核,起到了降低特征映射厚度的作用。

整个网络:

卷积神经网络(3)----经典网络

 绿色框内就是Inception结构,如下图模型。

在传统的转换网络中,每个层从前一层提取信息,以便将输入数据变换成更有用的表示。然而,每个层类型提取不同种类的信息。5×5卷积核的输出告诉我们与3×3卷积核的输出不同的东西,这告诉我们与最大池内核的输出不同,等等。在任何给定的层面,我们如何知道什么转换提供了最有用的信息?
为什么不让模型选择?
于是Inception将1×1, 3×3, 5×5, max-pool结合起来,让网络选择,最后通过一个聚合操作合并(在输出通道数这个维度上聚合)

卷积神经网络(3)----经典网络

这种模块的意义是,你可能不清楚用一个小的感受野效果好还是大的感受野效果好,可以把这些放一起来评判

关键点:
– 横向扩展
– 使用了1×1的filter,可以很方便的改变卷积结果的层数(1×1的filter也被称为bottleneck),性价比高,很小的计算量能增加一层特征变换和非线性化。

 GooleNet分三种:Inception V1(22层)、Inception V2、Inception V3

  1. Inception V1的最大特点是控制了计算量和参数量的同时,获得很好的分类性能。【参数量降低,但准确率上升】
  • 降低参数量的目的有两点:

第一,参数越多模型越庞大,需提供学习的数据量更大。

第二,参数越多,耗费的计算资源更大。

  • 参数少效果好的原因:

一、模型层数深、表达能力更强。

二、去除了最后的全连接层,全局平均池化层(即将图片尺寸变为 1 × 1)来取代它。【全连接层具有大部分的参数且会引起过拟合,采用全局平均池化层采用了NIN思想。】

三、Inception V1中的Inception Module提高了参数的利用率。Inception Module如大网络中的一个小网络,其结构可反复堆叠在一起形成大网络。Inception V1比NIN增加了分支网络,NIN则主要是级联的卷积层和MLPConv层。

  1. Inception V2:采用了两个3*3的卷积代替5*5的大卷积,还提出了BN(批标准化)方法。
  2. Inception V3:将一个较大的二维卷积拆成两个较小的一维卷积,如7*7卷积拆成1*7卷积和7*1卷积。

 

5、残差网络:ResNets

采用了 跳远连接。即a【l+2】= g(Z【l+2】 + a【l】),a【l】作为a【l+2】的残差,g为激活函数。

起作用的原因是:假如Z【l+2】=0,则a【l+2】=a【l】。有时候神经网络深度过大,则

卷积神经网络(3)----经典网络

卷积神经网络(3)----经典网络

 

转载于:https://www.cnblogs.com/Lee-yl/p/10015541.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101298.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux查看端口占用情况的几种方式「建议收藏」

    Linux查看端口占用情况的几种方式「建议收藏」概述测试环境为Centos7.9,本文简单给出了几种检测端口的例子。一、查看本机端口占用1、netstat#安装netstatyum-yinstallnet-tools#检测端口占用netstat-npl|grep”端口”2、lsof#安装lsofyum-yinstalllsof#检测端口占用lsof-i:端口号二、查看对方端口是否开放1、nc(netcat)#安装ncyum-yinstallnc#查看对方端口是否开放nc-vz对

    2022年7月27日
    7
  • idea中添加tomcat_怎么查看Tomcat位置

    idea中添加tomcat_怎么查看Tomcat位置一、为IDEA添加Tomcat:添加全局的Tomcat:File–>Setting–>Build,Execution,Deployment–>ApplicationServers–>+–>TomcatServer–>选择要添加的服务器–>Ok为单个项目添加:AddConfiguration…[Run–>EditConfiguration…]–>+–>TomcatSer

    2022年10月18日
    3
  • vue中的横向排列_vue + ElementUI 的横向表格代码「建议收藏」

    vue中的横向排列_vue + ElementUI 的横向表格代码「建议收藏」{{tableData[index*2-2].key}}{{tableData[index*2-2].value}}{{tableData[index*2-1]!==undefined?tableData[index*2-1].key:‘‘}}{{tableData[index*2-1]!==undefined?tableData[index*2-1].value:‘‘}}…

    2022年8月11日
    54
  • Python:画出笛卡尔心形曲线

    Python:画出笛卡尔心形曲线极坐标方程:ρ=a(1−sin⁡θ)\rho=a(1-\sin\theta)ρ=a(1−sinθ)极坐标画图:%matplotlibinlineimportmatplotlib.pyplotaspltimportnumpyasnptheta=np.linspace(0.0,2*np.pi,1000)a=5rho=a*(1-np.sin…

    2022年10月16日
    2
  • it创业怎么起步_典型it项目有哪些

    it创业怎么起步_典型it项目有哪些之前是一个想法,现在已经进入创业阶段,所以这个系列的标题,改了。众筹的事在今天也停止了。7-9号会在深圳龙岗布吉参加一个风投对接的活动,今晚(6号)会出发。因为:在深圳会呆几天,而且这个会估计有很多内

    2022年8月5日
    6
  • ATM(异步传输模式)是什么?

    ATM(异步传输模式)是什么?异步传输模式(ATM)也称为信元中继(在固定大小的信元中传输数据),通过光纤或双绞线电缆(高速交换)在OSI模型的数据链路层(第2层)运行基于ITU-T宽带综合业务数字网络(B-ISDN)标准的网络技术,该标准是电信业开发的自动取款机可以同时传输各种流量:语音、视频和数据,速度高达每秒155兆比特。它将语音和视频数据转换成数据包,并通过相同的介质传输大数据包数据。自动取款机和TCP。由于两个端点之间使用固定通道路由协议路由,所以/IP是不同的。实时低延迟应用程序,如VoIP和视频,在ATM网络上..

    2022年9月21日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号