CNN基础模型总结

之前被问到了CNN类基础模型的一些特性,比如1X1卷积,还有经典卷积网络发展及为什么采用此结构,结果被问住了。学习过程中其实没有做过更深层次的思考,比如为什么会选择这种架构,可不可以采用其他结构来替换,只是会用一些经典模型。到最后别人问几个为什么就不知道了。基础还是要加强呀。现在先参考别人的专栏还有论文总结一下。

参考: https://www.cnblogs.com/guoyaohua/p/8534077.html  https://zhuanlan.zhihu.com/p/50754671

LeNet-5

最早的卷积网络结构,引入了卷积结构提取图像特征,同时包含池化,激活函数和全连接层结构,最早用来进行手写体数字识别,准确率达到99%

AlexNet

结构如下:

结构与LeNet比深入了很多,同时采用了relu激活函数,有效避免了梯度消失现象。堆叠卷积层,可以看到两次池化后卷积操作变多(因为尺寸逐渐变小,所以降采样采用的次数减少),同时采用Dropout来降低过拟合。

论文里是使用两个GPU跑的,所以看到网络分成了两部分,现在的话综合成 一个即可。

VGG-16

深度更深了,反复堆叠3*3卷积(小卷积)及2*2池化,论证了深度与性能关系。也有VGG-19,但是性能和VGG-16差不多。

Inception系列

Inception 系列是google提出的,VGG-16证明一般增强模型质量手段是增加模型宽度和深度,但是同时会带来过拟合和运算量的缺点,Inception系列

如下图所示。优点1. 采用不同的卷积核表示不同大小的感受野,最后拼接代表不同尺度的特征融合。2. 卷积核采用1*1,3*3和5*5,步长为1,padding=0,1,2,采用same卷积可以得到相同维度的特征。3. 到最后感受野逐渐增多,随着层数增加,3*3和5*5的卷积核数量也要增加。4.先采用1*1卷积进行降维操作,之后再进行3*3或者5*5的卷积,有利于降低计算量。其实1*1卷积还可以增加非线性及跨层连接作用,以此增加模型的信息容量。可参考1*1卷积的实现方式。但主要应该是进行降维和升维。

5.最后一层引入了全局池化,作用应该是降低参数量。 整个结构还有两个附属loss,目的是防止梯度消失,增加正则性。

Inception V2

InceptionV2采用了BN层,避免梯度消失或爆炸。同时,它采用两个3*3的卷积核代替5*5的卷积核(步长为1),因为两种方式感受野相同,但是前一种计算量小。

InceptionV3

提出n*n的卷积核是否可以用1*n和n*1的卷积核来代替。但实际并不好,对n处于12到20之间的卷积核才好一点。

另一个改进是不再使用pooling层直接作为下采样,而是采用卷积核pooling结合的策略

整体的架构比较复杂,还是要看下专门的博客讲的详细。

ResNet

因为InceptionV4引入了残差模块,所以先讲一下残差网络。

直连神经网络并不是深度越深性能越好,而是随着深度的加深,先变好,后退化。之前可以考虑多增加的层数学习成恒等形式,这样增加的深度就可以抵消了,但是恒等形式比较难学。所以引入残差模块,残差相对而言比较好学。如下图结构,之后随着网络加深,模型准确率逐渐提高。

Inception Resnet

分别在InceptionV1-V4引入了残差模块,结构如下

Xception

xception是对每一个通道进行卷积。即先通过1*1获得多通道信息,再使用3*3对每一个通道进行卷积,从而获得每一个通道的区域相关性,同时也借鉴了残差模块。结构如下:

所谓的对1*1卷积后的网络每一个通道再进行3*3卷积,如下,也减少了很多参数量。

原文地址:https://www.cnblogs.com/the-home-of-123/p/10080319.html

时间: 2024-08-30 13:49:45

CNN基础模型总结的相关文章

CNN基础及开发环境搭建(综合参考)

CNN基础及环境搭建 Author:王帅:Mail:[email protected] 目前,深度学习在解决图像分类,语音识别等问题上获得了已知的最优结果,该系列算法越来越受到学术界和工业界的重视.何为深度学习?一个直观的解释是如果一个机器学习算法在建模的过程中使用了多层的自动特征表示,则该机器学习算法可以称之为深度学习算法,也就是该机器学习算法可以自动地计算特征的特征表示.而卷积神经网络(以下简称为CNN)则是深度学习中最基础且有效的算法,CNN虽然最早由KunihikoFukushima提出

Nio学习3——基础模型:Reactor模式和多路复用

Reactor模式和NIO 本文可看成是对Doug Lea Scalable IO in Java一文的翻译. 当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作.他们都有一个共同的结构: 1. Read request 2. Decode request 3. Process service 4. Encode reply 5. Send reply 经典的网络服务的设计如下图,在每个线程中完成对数据的处理: 但这种模式在用户负载增加时,性能将下降

linux下bus、devices和platform的基础模型 【转】

转自:http://blog.chinaunix.net/uid-20672257-id-3147337.html 一.kobject的定义:kobject是Linux2.6引入的设备管理机制,在内核中由struct kobject结构表示,这个结构使所有设备在底层都具有统一的接口.kobject提供了基本的对象管理能力,是构成Linux2.6设备模型的核心结构,它与sysfs文件系统紧密联系,每个在内核中注册kobject对象都对应与sysfs文件系统中的一个目录;kobject--->sys

[您有新的未分配科技点]博弈论进阶:似乎不那么恐惧了…… (SJ定理,简单的基础模型)

这次,我们来继续学习博弈论的知识.今天我们会学习更多的基础模型,以及SJ定理的应用. 首先,我们来看博弈论在DAG上的应用.首先来看一个小例子:在一个有向无环图中,有一个棋子从某一个点开始一直向它的出点移动,双方轮流操作,无法操作者输,问是否先手必胜. 考虑一下我们之前的Nim游戏,如果我们把后继状态看成后继点的话,不难发现Nim游戏的互相转移也是一个DAG.因此,DAG上出度为0的点的sg值为0,再用上一篇博客提到的mex操作来求每个点的值就可以了(注意,这并不是一个"大"子图,不能

ThinkPHP 学习笔记 ( 三 ) 数据库操作之数据表模型和基础模型 ( Model )

//TP 恶补ing... 一.定义数据表模型 1.模型映射 要测试数据库是否正常连接,最直接的办法就是在当前控制器中实例化数据表,然后使用 dump 函数输出,查看数据库的链接状态.代码: public function testdb(){ $obj=M("User"); dump($obj); } 此时浏览器输出: object(Model)#5 (20) { ["_extModel:private"] => NULL ["db:protecte

卷积神经网络(CNN)基础介绍

本文是对卷积神经网络的基础进行介绍,主要内容包含卷积神经网络概念.卷积神经网络结构.卷积神经网络求解.卷积神经网络LeNet-5结构分析.卷积神经网络注意事项. 一.卷积神经网络概念 上世纪60年代.Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念.到80年代.Fukushima在感受野概念的基础之上提出了神经认知机的概念,能够看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成很多子模式(特征),然后进入分层递阶式相连的特征平面进行处理,它试图将视觉系统模型化,使其

Nio学习3——基础模型:多路复用模型

Reactor模式和NIO 本文可看成是对Doug Lea Scalable IO in Java一文的翻译. 当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作.他们都有一个共同的结构: 1. Read request 2. Decode request 3. Process service 4. Encode reply 5. Send reply 经典的网络服务的设计例如以下图,在每一个线程中完毕对数据的处理: 但这样的模式在用户负载添加时,性

CNN基础知识

CNN - Convolutional Neural Networks 是近些年在机器视觉领域很火的默许部分,最先由Yan Lecun提出. 如果想学细节 可看Li Feifei CS231n课程 如何工作? 给一张图片,每个圆负责处理图片的一部分. 这些圆就组成了一个filter. filter可以识别图片中是否存在指定的pattern,以及在哪个区域存在. 下图中有4个filter,同一种颜色的filter的不同点负责图片不同的区域. 神经元利用convolution的技术查找pattern

Language Modeling with Gated Convolutional Networks(句子建模之门控CNN)--模型简介篇

最近忙着实验室的项目,一直没有时间做仿真,所以就先写一下之前看的一篇文章,总结一下吧.这次要说的是Gated CNN,这也是第一次将门限控制引入到CNN中的文章,感觉十分有新意,效果也很棒.下面我们来看一下,文章的主要贡献包括: 提出一种新的门控机制 缓解梯度传播,降低梯度弥散等现象 相比LSTM,模型更加简单,收敛速度更快 模型的结构图如下所示: 首先我们可以通过堆叠CNN来标识长文本,提取更高层.更抽象的特征,而且相比LSTM而言,我们需要的op更少(CNN需要O(N/k)个op,而LSTM