卷积神经网络网络篇

10大深度学习框架

深度学习算法有多种多样化的模型组成,这是由于神经网络在构建一个完整的端到端的模型时所提供的灵活性。

计算机视觉任务的类型

1.定义:通过创建人工模型来由人类执行的视觉任务。其本质是人类的感知与观察是一个过程,它可在人工系统中被理解和实现。

2.计算机视觉任务的主要类型:

1)物体识别/分类:在物体识别中,给出一张原始图像,你的任务就是识别出该图像属于哪个类别。

2)分类+定位:如果图像中只有一个物体,你的任务是找到该物体在图像中的位置,一个更专业的称为是定位。

3)物体检测:在物体检测中,你的任务是找到图像中多个位置的各自位置,这些物体可能属于同一类型,或者各自不同。

4)图像分割:图像分割是一个稍微复杂的任务,其目标是将每一个像素映射到正确的分类。

以上的特征如下如所示:
特征所示

高级框架

一、AleNet

首个深度学习框架,AleNet是一个简单的框架,卷积层和池化层层层叠加,最上层是全连接层,这是一个非常简单的架构。

资料查询:

1) 论文:ImageNet Classification with Deep Convolutional Neural Networks

2)链接:https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

3)代码实现:https://gist.github.com/JBed/c2fb3ce8ed299f197eff

二、VGG Net

网络特点是:金字塔型,与图像的最近底层比较宽,而顶层很深。
网络架构:Vgg网络架构
VGG 包含池化层之后的卷积层,池化层负责使层变窄。他们在论文中提出多个此类网络,不同之处在于架构深度的变化。

VGG Net网络的优势:
  • 适合在特定任务上进行基准测试
  • VGG 的预训练网络可以在互联网上进行查询,免费获得,被用到各种应用。
VGG 网络缺陷:

-从开始进行训练,过程缓慢,在性能较好的GPU上进行训练,也需要一周的时间才能完成。

资料查询:

1)论文:Very Deep Convolutional Networks for Large-Scale Image Recognition

2)链接:https://arxiv.org/abs/1409.1556

3)代码实现:https://github.com/fchollet/keras/blob/master/keras/applications/vgg16.py

三、GooleNet

GooleNer(或 Inception 网络)是谷歌研究者设计的一种架构。GoogleNet 是 ImageNet 2014 的冠军,是当时最强大的模型。深度进一步增加,共有22层,VGG Net有19层。

特点:

单层出现了多种[特征抽取器(feature extractor)],这间接的改善了网络的性能,因为该网络在训练过程中,有多个选项可以选择,来解决该任务。他可以选择输入进行卷积,也可以直接将其池化。

最终架构包括堆叠在一起的多个 inception 模块。GoogleNet 的训练过程也有稍许不同,即最上层有自己的输出层。这一细微差别帮助模型更快地进行卷积,因为模型内存在联合训练和层本身的并行训练。

GooleNet 的优势

1)GoogleNet训练速度比VGG快。

2)预训练GooleNet 的规模比VGG小,VGG规模大于500MB,而GooleNet的大小只有96MB。

GoogleNet 本身没有短期劣势,但是该架构的进一步改变使模型性能更佳。其中一个变化是 Xception 网络,它增加了 inception 模块的发散极限(我们可以从上图中看到 GoogleNet 中有 4 个 inception 模块)。现在从理论上讲,该架构是无限的(因此又叫极限 inception!)。

资料查询:

1)论文:Rethinking the Inception Architecture for Computer Vision

2)链接:https://arxiv.org/abs/1512.00567

3)代码实现:https://github.com/fchollet/keras/blob/master/keras/applications/inception_v3.py

四、ResNet

ResNet(残差网络)包括后续残差模块,是建立ResNet框架的基础。
网络框架:ResNet网络框架
一个残差模块有两个选择:完成输入端的一系列函数,或者跳过此步骤。

类似于 GoogleNet,这些残差模块一个接一个地堆叠,组成了完整的端到端网络。

ResNet 引入的新技术有:

-使用标准的 SGD,而非适应性学习技术。它联通一个合理的初始化函数(保持训练的完整性)做到的这一点。
-输入预处理的变化,输入首先被区分到图像块中,然后输送到网络中。

ResNet 主要的优势:

甚至数千的残差层都能被用于创造一个新网络,然后训练。这不同于平常的序列网络,增加层数量时表现会下降。

资料查询:

1)论文:Deep Residual Learning for Image Recognition

2)链接:https://arxiv.org/abs/1512.03385

3)代码实现:https://github.com/fchollet/keras/blob/master/keras/applications/resnet50.py

五、ResNeXt

当前解决目标识别问题的最先进技术。它建立在inception 和resnet的概念上,并带来改进的新构架。

框架图:

ResNeXt框架

资料查询:

1)论文:Aggregated Residual Transformations for Deep Neural Networks

2)链接:https://arxiv.org/pdf/1611.05431.pdf

3)代码实现:https://github.com/titu1994/Keras-ResNeXt

六RCNN(基于区域的CNN)

基于区域的CNN架构据说是所有深度学习架构中对目标检测问题最有影响的架构,为了解决问题,RCNN尝试在图像所有物体上画出边界框,然后识别图像中的物体。工作原理如下图所示:
RCNN架构图
Faster RCNN架构图:Faster RCNN

资料查询:

1)论文:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

2)链接:https://arxiv.org/abs/1506.01497

3)代码实现:https://github.com/yhenon/keras-frcnn

七、YOLO(Yon Only Look once)

YoLo 是当前深度学习领域解决图像检测问题最先进的实时系统。YOLO首先将图像划分为规定的边界框,然后对所有的边界框进行并行运行识别算法。来确定类别之后,yolo继续智能地合并这些边界框,在物体周围形成→最优边界框。

资料查询:

1)论文:You Only Look Once: Unified, Real-Time Object Detection

2)链接:https://pjreddie.com/media/files/papers/yolo.pdf

3)代码实现:https://github.com/allanzelener/YAD2K

八、SqueeNet

SqueeNet架构是在移动平台这样的第宽带场景中极其强大的一种架构,这种架构只占用4.9M的空间,而Inception架构大小为100M,这种差距有一种名为Fire Module的特殊结构构成。

架构图:


资料查询:

1)论文:SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND <0.5MB MODEL SIZE

2)链接:https://arxiv.org/abs/1602.07360

3)代码实现:https://github.com/rcmalli/keras-squeezenet

九、SegNet

SegNet 是一个用于解决图像分割问题的深度学习架构。它包含处理层(编码器)序列,之后是对应的解码器序列,用于分类像素。下图是 SegNet 解析图:

SegNet 的一个主要特征是在编码器网络的池化指标与解码器网络的池化指标连接时,分割图像保留高频细节。简言之,直接进行信息迁移,而非卷积它们。在处理图像分割问题时,SgeNet 是最好的模型之一。

资料查询:

1)论文:SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation

2)链接:https://arxiv.org/abs/1511.00561

3)代码实现:https://github.com/imlab-uiip/keras-segnet

十、GAN

GAN 是神经网络架构中完全不同的类别。GAN 中,一种神经网络用于生成全新的、训练集中未曾有过的图像,但却足够真实。如下GAN 工作原理的解析图。

资料查询:

1)论文:Generative Adversarial Networks

2)链接:https://arxiv.org/abs/1406.2661

3)代码实现:https://github.com/bstriner/keras-adversarial

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值