inception 订阅
《盗梦空间》是由克里斯托弗·诺兰执导,莱昂纳多·迪卡普里奥,玛丽昂·歌迪亚等主演的电影。影片剧情游走于梦境与现实之间,被定义为“发生在意识结构内的当代动作科幻片”。影片讲述由莱昂纳多·迪卡普里奥扮演的造梦师,带领约瑟夫·高登-莱维特、艾伦·佩吉扮演的特工团队,进入他人梦境,从他人的潜意识中盗取机密,并重塑他人梦境的故事。 [1] 展开全文
《盗梦空间》是由克里斯托弗·诺兰执导,莱昂纳多·迪卡普里奥,玛丽昂·歌迪亚等主演的电影。影片剧情游走于梦境与现实之间,被定义为“发生在意识结构内的当代动作科幻片”。影片讲述由莱昂纳多·迪卡普里奥扮演的造梦师,带领约瑟夫·高登-莱维特、艾伦·佩吉扮演的特工团队,进入他人梦境,从他人的潜意识中盗取机密,并重塑他人梦境的故事。 [1]
信息
制片地区
美国
主    演
莱昂纳多·迪卡普里奥,玛丽昂·歌迪亚,渡边谦,约瑟夫·高登-莱维特,艾伦·佩姬,迪利普·劳,汤姆·哈迪,希里安·墨菲,汤姆·贝伦杰,迈克尔·凯恩,皮特·波斯尔思韦特,泰勒·吉蕾,卢卡斯·哈斯,安德鲁·普利文
上映时间
2010年9月2日(中国大陆)
色    彩
彩色
制片成本
1.6亿美元
主要奖项
第83届奥斯卡奖——最佳视觉效果 第37届土星奖最佳科幻电影 第20届MTV电影奖——最惊骇表演
导    演
克里斯托弗·诺兰
其它译名
奠基、开端、全面启动、心灵犯案、潜行凶间、记忆魔方
类    型
动作,悬疑,惊悚,科幻
分    级
PG-13(美国)
出品公司
传奇影业
拍摄日期
2009年7月13日
中文名
盗梦空间
片    长
148分钟 [2]
票    房
8.3亿美元
发行公司
华纳兄弟电影公司
在线播放平台
腾讯、爱奇艺(均开通会员)
imdb编码
tt1375666
外文名
Inception
编    剧
克里斯托弗·诺兰
对白语言
英语、普通话(公映版)
出品时间
2010年
制片人
艾玛·托马斯、克里斯托弗·诺兰
拍摄地点
美国、摩洛哥、加拿大、日本、法国、英国
fseek功 能
收起全文
精华内容
下载资源
问答
  • Inception

    千次阅读 2019-03-02 14:20:55
    Inception V1 Inception V2 Inception v3 Inception v4 概述 Inception是GoogleNet中的模块,它的目的是设计一种具有优良局部拓扑结构的网络,即对输入图像并行地执行多个卷积运算或池化操作,并将所有结果拼接...

    目录

     

    概述

    Inception V1

    Inception V2

    Inception v3

    Inception v4


    概述

    Inception是GoogleNet中的模块,它的目的是设计一种具有优良局部拓扑结构的网络,即对输入图像并行地执行多个卷积运算或池化操作,并将所有结果拼接为一个非常深地特征图。因为1 \times 13 \times 35 \times 5等不同卷积地运算与池化操作可以获得输入图像的不同信息,并行处理这些运算并结合所有结果将获得更好的图像表征。

    另一方面,Inception网络是复杂的(需要大量工程工作)。它使用了大量的trick来提升性能,包括速度和准确率两方面。它的不断进化带来了多种Inception网络版本的出现。常见的版本有:

    • Inception V1
    • Inception V2和Inception V3
    • Inception V4和Inception ResNet

    每个版本都是前一个版本的迭代进化。了解Inception网络的升级可以帮助我们构建自定义分类器,优化速度和准确率。不过,一般情况下,或许较低版本的Inception模块工作效果更好。

     

    Inception V1

    图像识别任务中存在一些问题:

    • 由于信息位置的巨大差异,为卷积操作选择合适的卷积核大小就比较困难。信息分布更全局性的图像偏好较大的卷积核,信息分布比较局部的图像偏好较小的卷积核
    • 非常深的网络更容易过拟合,将梯度更新传输到整个网络是很困难的
    • 简单地堆叠较大地卷积层非常消耗计算资源

    为此,Inception模块被设计出来。Inception的思路是:在同一层级上运行具有多个尺寸的滤波器,网络本质上会变得稍微宽一些,而不是更深。

    下图是”原始“的Inception模块。它使用了3个不同大小的滤波器(1 \times 13 \times 35 \times 5)对输入执行卷积操作,此外,它还会执行最大池化。所有子层的输入最后会被级联起来,并传送至下一个Inception模块。这里写图片描述

    卷积神经网络需要耗费大量的计算资源,为了降低算力成本,作者在3 \times 35 \times 5卷积层之前添加了额外的1 \times 1卷积层,来限制输入信道的数量。尽管添加额外的卷积操作似乎是反直觉的,但是1 \times 1卷积比5 \times 5卷积要廉价很多,而且输入信道数量减少也有利于降低算力成本。需要注意的是,1 \times 1卷积在最大池化层之后,而不是之前。添加了这些额外的1 \times 1卷积之后,就构成了可实现降维的Inception模块:

    这里写图片描述

     

    使用Inception (V1)模块构建的GoogleNet:

    è¿éåå¾çæè¿°

    上图的GoogleNet结构中使用了9个线性堆叠的Inception模块。它有22层(包括池化层的话是27层)。该模型的在最后一个Inception模块使用全局平均池化。

    这是一个深层分类器,和所有的深层网络一样,它也会遇到梯度消失问题。为了阻止该网络中间梯度的小时过程,作者引入了两个辅助分类器,它们对其中两个Inception模块的输出执行softmax操作,然后在同样的标签上使用计算辅助损失。总损失即辅助损失和真实损失的加权和。在GoogleNet的论文中,两个辅助分类器的权重值是0.3.辅助损失只是用于训练,在推断过程中并不使用。

    Inception V2

    Inception v2 和 Inception v3 来自同一篇论文《Rethinking the Inception Architecture for Computer Vision》。在这篇论文中,作者积极探索拓展网络的方法,旨在通过恰当的分解卷积与积极的正则化尽可能高效地利用添加的计算。

    问题:

    • 减少特征的表征性瓶颈。直观上来说,当卷积不会大幅度改变输入维度时,神经网络可能会执行地更好。过多地减少维度可能会造成信息的损失,这也成为”表征性瓶颈“
    • 使用更优秀的因子分解方法,卷积才能在计算复杂度上更加高效

    解决方案:

    • 5 \times 5的卷积分解为两个3 \times 3的卷积运算以提升计算速度。尽管这有点违反直觉,但是5 \times 5的卷积在计算成本上是3 \times 3卷积的2.78倍。所以叠加两个3 \times 3卷积实际上在性能上会有所提升,如下图所示:
      • 前一版Inception中的5 \times 5的卷积变成了两个3 \times 3卷积的堆叠。
    • 此外,醉着将n \times n的卷积核分解为1 \times nn \times 1两个卷积。例如,一个3 \times 3的卷积首先执行一个1 \times 3的卷积,然后执行一个3 \times 1的卷积。他们还发现这种方法在成本上要比单个3 \times 3的卷积降低33%,这一结构如下图所示:
      • 次数如果n=3,则与上一张结构图一样(同样5 \times 5的卷积可以用两个3 \times 3卷积的堆叠来代替)
    • 其次,模块中的滤波器组被扩展(即变得更宽而不是更深),以解决表征性瓶颈:​​​​​​​​​​​​​​​​​​​​​

    Inception v2模块便包含了以上三中Inception模块。

     

    Inception v3

    问题:

    • 作者注意到辅助分类器直到训练过程快结束时才有较多贡献,那时准确率接近饱和。作者认为辅助分类器的功能时正则化,尤其是它们具备BatchNorm和Dropout操作时。
    • 是否能够改进Inception v2而无需大幅更改模块仍需调查

    解决方案:

    Inception v3整合了前面Inception v2中所提到的所有升级,还使用了:

    • RMSProp优化器
    • Factorized 7 \times 7卷积
    • 辅助分类器使用了BatchNorm
    • 标签平滑(添加到损失公式的一种正则项,旨在阻止网络对某一类别过分自信,即阻止过拟合)

     

    Inception v4

    nception v4 和 Inception -ResNet 在同一篇论文《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》中介绍。

    在改论文中,研究者介绍到,Inception架构可以用很低的计算成本达到很高的性能。而在传统的网络架构中引入残差连接去到了优秀的效果,其结果与Inception v3网络当时的最新版本相近。这使得人们好奇,如果将Inception架构和残差连接起来会是什么样的效果。在这篇论文中,研究者通过研究明确地证实了,结合残差连接可以显著加速Inception地训练。也有一些证据表明残差Inception网络在相近的成本下略微超过没有残差网络的Inception网络。

     

    展开全文
  • inception

    2019-02-17 21:52:02
    Inception网络(google公司)——GoogLeNet网络的综述 获得高质量模型最保险的做法就是增加模型的深度(层数)或者是其宽度(层核或者神经元数), 但是这里一般设计思路的情况下会出现如下的缺陷: 1.参数太多,...

    Inception网络(google公司)——GoogLeNet网络的综述

    获得高质量模型最保险的做法就是增加模型的深度(层数)或者是其宽度(层核或者神经元数),

    但是这里一般设计思路的情况下会出现如下的缺陷:

    1.参数太多,若训练数据集有限,容易过拟合;

    2.网络越大计算复杂度越大,难以应用;

    3.网络越深,梯度越往后穿越容易消失,难以优化模型。 


    解决上述两个缺点的根本方法是将全连接甚至一般的卷积都转化为稀疏连接。为了打破网络对称性和提高

    学习能力,传统的网络都使用了随机稀疏连接。但是,计算机软硬件对非均匀稀疏数据的计算效率很差,

    所以在AlexNet中又重新启用了全连接层,目的是为了更好地优化并行运算。现在的问题是有没有一种方法,

    既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。

    二、 Inception模块介绍

    Inception架构的主要思想是找出如何用密集成分来近似最优的局部稀疏结。

     

    (1).深度,层数更深,文章采用了22层,为了避免上述提到的梯度消失问题,

    googlenet巧妙的在不同深度处增加了两个loss来保证梯度回传消失的现象。

    (2).宽度,增加了多种核 1x1,3x3,5x5,还有直接max pooling的,

    但是如果简单的将这些应用到feature map上的话,concat起来的feature map厚度将会很大,

    所以在googlenet中为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,

    max pooling后分别加上了1x1的卷积核起到了降低feature map厚度的作用。

     

    Inception V2结构

    大尺寸的卷积核可以带来更大的感受野,也意味着更多的参数,比如5x5卷积核参数是3x3卷积核的25/9=2.78倍。

    为此,作者提出可以用2个连续的3x3卷积层(stride=1)组成的小网络来代替单个的5x5卷积层,这便是Inception V2结构,

    保持感受野范围的同时又减少了参数量,

    --------------------- 
    作者:loveliuzz 
    来源:CSDN 
    原文:https://blog.csdn.net/loveliuzz/article/details/79135583 
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • Inception网络

    万次阅读 2021-01-11 18:52:38
    Inception 网络是 CNN 分类器发展史上一个重要的里程碑。在 Inception 出现之前,大部分流行 CNN 仅仅是把卷积层堆叠得越来越多,使网络越来越深,以此希望能够得到更好的性能。 例如第一个得到广泛关注的 AlexNet...

    Inception 网络是 CNN 分类器发展史上一个重要的里程碑。在 Inception 出现之前,大部分流行 CNN 仅仅是把卷积层堆叠得越来越多,使网络越来越深,以此希望能够得到更好的性能。

    例如第一个得到广泛关注的 AlexNet,它本质上就是扩展 LeNet 的深度,并应用一些 ReLU、Dropout 等技巧。AlexNet 有 5 个卷积层和 3 个最大池化层,它可分为上下两个完全相同的分支,这两个分支在第三个卷积层和全连接层上可以相互交换信息。与 Inception 同年提出的优秀网络还有 VGG-Net,它相比于 AlexNet 有更小的卷积核和更深的层级。

    VGG-Net 的泛化性能非常好,常用于图像特征的抽取目标检测候选框生成等。VGG 最大的问题就在于参数数量,VGG-19 基本上是参数量最多的卷积网络架构。这一问题也是第一次提出 Inception 结构的 GoogLeNet 所重点关注的,它没有如同 VGG-Net 那样大量使用全连接网络,因此参数量非常小。

    GoogLeNet 最大的特点就是使用了 Inception 模块,它的目的是设计一种具有优良局部拓扑结构的网络,即对输入图像并行地执行多个卷积运算或池化操作,并将所有输出结果拼接为一个非常深的特征图。因为 1*1、3*3 或 5*5 等不同的卷积运算与池化操作可以获得输入图像的不同信息,并行处理这些运算并结合所有结果将获得更好的图像表征。

    另一方面,Inception 网络是复杂的(需要大量工程工作)。它使用大量 trick 来提升性能,包括速度和准确率两方面。它的不断进化带来了多种 Inception 网络版本的出现。常见的版本有:

    Inception v1Inception v2 和 Inception v3Inception v4 和 Inception-ResNet

    每个版本都是前一个版本的迭代进化。了解 Inception 网络的升级可以帮助我们构建自定义分类器,优化速度和准确率。此外,根据你的已有数据,或许较低版本工作效果更好。

    Inception v1

    这是 Inception 网络的第一个版本。我们来分析一下它可以解决什么问题,以及如何解决。

    在《Going deeper with convolutions》论文中,作者提出一种深度卷积神经网络 Inception,它在 ILSVRC14 中达到了当时最好的分类和检测性能。该架构的主要特点是更好地利用网络内部的计算资源,这通过一个精心制作的设计来实现,该设计允许增加网络的深度和宽度,同时保持计算预算不变。为了优化质量,架构决策基于赫布原则和多尺度处理。作者向 ILSVRC14 提交使用该架构的模型即 GoogLeNet,这是一个 22 层的深度网络,它的质量是在分类和检测领域进行了评估。

    论文:Going deeper with convolutions论文链接:https://arxiv.org/pdf/1409.4842v1.pdf

    问题:

    图像中突出部分的大小差别很大。例如,狗的图像可以是以下任意情况。每张图像中狗所占区域都是不同的。

    从左到右:狗占据图像的区域依次减小(图源:https://unsplash.com/)。

    由于信息位置的巨大差异,为卷积操作选择合适的卷积核大小就比较困难。信息分布更全局性的图像偏好较大的卷积核,信息分布比较局部的图像偏好较小的卷积核。非常深的网络更容易过拟合。将梯度更新传输到整个网络是很困难的。简单地堆叠较大的卷积层非常消耗计算资源。

    解决方案:

    为什么不在同一层级上运行具备多个尺寸的滤波器呢?网络本质上会变得稍微「宽一些」,而不是「更深」。作者因此设计了 Inception 模块。

    下图是「原始」Inception 模块。它使用 3 个不同大小的滤波器(1x1、3x3、5x5)对输入执行卷积操作,此外它还会执行最大池化。所有子层的输出最后会被级联起来,并传送至下一个 Inception 模块。

    原始 Inception 模块。(图源:https://arxiv.org/pdf/1409.4842v1.pdf)

    如前所述,深度神经网络需要耗费大量计算资源。为了降低算力成本,作者在 3x3 和 5x5 卷积层之前添加额外的 1x1 卷积层,来限制输入信道的数量。尽管添加额外的卷积操作似乎是反直觉的,但是 1x1 卷积比 5x5 卷积要廉价很多,而且输入信道数量减少也有利于降低算力成本。不过一定要注意,1x1 卷积是在最大池化层之后,而不是之前。

    实现降维的 Inception 模块。(图源:https://arxiv.org/pdf/1409.4842v1.pdf)

    利用实现降维的 Inception 模块可以构建 GoogLeNet(Inception v1),其架构如下图所示:

    GoogLeNet。橙色框是 stem,包含一些初始卷积。紫色框是辅助分类器。较宽的部分是 inception 模块。(图源:https://arxiv.org/pdf/1409.4842v1.pdf)

    GoogLeNet 有 9 个线性堆叠的 Inception 模块。它有 22 层(包括池化层的话是 27 层)。该模型在最后一个 inception 模块处使用全局平均池化。

    不用多说,这是一个深层分类器。和所有深层网络一样,它也会遇到梯度消失问题。

    为了阻止该网络中间部分梯度的「消失」过程,作者引入了两个辅助分类器(上图紫色框)。它们对其中两个 Inception 模块的输出执行 softmax 操作,然后在同样的标签上计算辅助损失。总损失即辅助损失和真实损失的加权和。该论文中对每个辅助损失使用的权重值是 0.3。

    # The total loss used by the inception net during training.total_loss = real_loss + 0.3 * aux_loss_1 + 0.3 * aux_loss_2

    辅助损失只是用于训练,在推断过程中并不使用。

    Inception v2

    Inception v2 和 Inception v3 来自同一篇论文《Rethinking the Inception Architecture for Computer Vision》,作者提出了一系列能增加准确度和减少计算复杂度的修正方法。

    在这一篇论文中,作者表示非常深的卷积网络自 2014 年以来就成为了计算机视觉领域的主流,它在各种基准测试中都获得了非常多的提升。只要有足够的标注数据,增加模型大小与计算成本可以在大多数任务中快速提升模型质量。在这篇论文中,作者积极探索扩展网络的方法,旨在通过适当的分解卷积与积极的正则化尽可能高效地利用添加的计算。他们在 ILSVRC 2012 分类任务挑战赛的验证集上证明了模型的优秀性能,使用每个推断过程有 50 亿次乘加运算的模型,作者实现了单帧评估 21.2% top-1 和 5.6% top-5 误差率,且模型的总参数还不到 250 万。

    论文:Rethinking the Inception Architecture for Computer Vision论文地址:https://arxiv.org/pdf/1512.00567v3.pdf

    以下首先介绍 Inception V2。

    问题:

    减少特征的表征性瓶颈。直观上来说,当卷积不会大幅度改变输入维度时,神经网络可能会执行地更好。过多地减少维度可能会造成信息的损失,这也称为「表征性瓶颈」。使用更优秀的因子分解方法,卷积才能在计算复杂度上更加高效。

    解决方案:

    将 5×5 的卷积分解为两个 3×3 的卷积运算以提升计算速度。尽管这有点违反直觉,但一个 5×5 的卷积在计算成本上是一个 3×3 卷积的 2.78 倍。所以叠加两个 3×3 卷积实际上在性能上会有所提升,如下图所示:

    最左侧前一版 Inception 模块中的 5×5 卷积变成了两个 3×3 卷积的堆叠。(图源:https://arxiv.org/pdf/1512.00567v3.pdf)

    此外,作者将 n*n 的卷积核尺寸分解为 1×n 和 n×1 两个卷积。例如,一个 3×3 的卷积等价于首先执行一个 1×3 的卷积再执行一个 3×1 的卷积。他们还发现这种方法在成本上要比单个 3×3 的卷积降低 33%,这一结构如下图所示:

    此处如果 n=3,则与上一张图像一致。最左侧的 5x5 卷积可被表示为两个 3x3 卷积,它们又可以被表示为 1x3 和 3x1 卷积。(图源:https://arxiv.org/pdf/1512.00567v3.pdf)

    模块中的滤波器组被扩展(即变得更宽而不是更深),以解决表征性瓶颈。如果该模块没有被拓展宽度,而是变得更深,那么维度会过多减少,造成信息损失。如下图所示:

    使 Inception 模块变得更宽。这种类型等同于前面展示的模块(图源:https://arxiv.org/pdf/1512.00567v3.pdf)

    前面三个原则用来构建三种不同类型的 Inception 模块(这里我们按引入顺序称之为模块 A、B、C,这里使用「A、B、C」作为名称只是为了清晰期间,并不是它们的正式名称)。架构如下所示:

    这里,「figure 5」是模块 A,「figure 6」是模块 B,「figure 7」是模块 C。(图源:https://arxiv.org/pdf/1512.00567v3.pdf)

    Inception v3

    问题:

    作者注意到辅助分类器直到训练过程快结束时才有较多贡献,那时准确率接近饱和。作者认为辅助分类器的功能是正则化,尤其是它们具备 BatchNorm 或 Dropout 操作时。是否能够改进 Inception v2 而无需大幅更改模块仍需要调查。

    解决方案:

    Inception Net v3 整合了前面 Inception v2 中提到的所有升级,还使用了:

    RMSProp 优化器;Factorized 7x7 卷积;辅助分类器使用了 BatchNorm;标签平滑(添加到损失公式的一种正则化项,旨在阻止网络对某一类别过分自信,即阻止过拟合)。

    Inception v4

    Inception v4 和 Inception -ResNet 在同一篇论文《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》中介绍。为清晰起见,我们分成两个部分来介绍。

    在该论文中,研究者介绍道,Inception 架构可以用很低的计算成本达到很高的性能。而在传统的网络架构中引入残差连接曾在 2015ILSVRC 挑战赛中获得当前最佳结果,其结果和 Inception-v3 网络当时的最新版本相近。这使得人们好奇,如果将 Inception 架构和残差连接结合起来会是什么效果。在这篇论文中,研究者通过实验明确地证实了,结合残差连接可以显著加速 Inception 的训练。也有一些证据表明残差 Inception 网络在相近的成本下略微超过没有残差连接的 Inception 网络。研究者还展示了多种新型残差和非残差 Inception 网络的简化架构。这些变体显著提高了在 ILSVRC2012 分类任务挑战赛上的单帧识别性能。作者进一步展示了适当的激活值缩放如何稳定非常宽的残差 Inception 网络的训练过程。通过三个残差和一个 Inception v4 的模型集成,作者在 ImageNet 分类挑战赛的测试集上取得了 3.08% 的 top-5 误差率。

    论文:Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning论文地址:https://arxiv.org/pdf/1602.07261.pdf

    问题:

    使模块更加一致。作者还注意到某些模块有不必要的复杂性。这允许我们通过添加更多一致的模块来提高性能。

    解决方案:

    Inception v4 的 stem 被修改了。这里的 stem 参考了在引入 Inception 块之前执行的初始运算集。

    图上部是 Inception-ResNet v1 的 stem。图下部是 Inception v4 和 Inception-ResNet v2 的 stem。(图源:https://arxiv.org/pdf/1602.07261.pdf)

    它们有三个主要的 Inception 模块,称为 A、B 和 C(和 Inception v2 不同,这些模块确实被命名为 A、B 和 C)。它们看起来和 Inception v2(或 v3)变体非常相似。

    (左起)在 Inception v4 中使用的 Inception 模块 A、B、C。注意它们和 Inception v2(或 v3)模块的相似性。(图源:https://arxiv.org/pdf/1602.07261.pdf)

    Inception v4 引入了专用的「缩减块」(reduction block),它被用于改变网格的宽度和高度。早期的版本并没有明确使用缩减块,但也实现了其功能。

    缩减块 A(从 35x35 到 17x17 的尺寸缩减)和缩减块 B(从 17x17 到 8x8 的尺寸缩减)。这里参考了论文中的相同超参数设置(V,I,k)。(图源:https://arxiv.org/pdf/1602.07261.pdf)

    Inception-ResNet v1 和 v2

    受 ResNet 的优越性能启发,研究者提出了一种混合 inception 模块。Inception ResNet 有两个子版本:v1 和 v2。在我们分析其显著特征之前,先看看这两个子版本之间的微小差异。

    Inception-ResNet v1 的计算成本和 Inception v3 的接近。Inception-ResNetv2 的计算成本和 Inception v4 的接近。它们有不同的 stem,正如 Inception v4 部分所展示的。两个子版本都有相同的模块 A、B、C 和缩减块结构。唯一的不同在于超参数设置。在这一部分,我们将聚焦于结构,并参考论文中的相同超参数设置(图像是关于 Inception-ResNet v1 的)。

    问题:

    引入残差连接,它将 inception 模块的卷积运算输出添加到输入上。

    解决方案:

    为了使残差加运算可行,卷积之后的输入和输出必须有相同的维度。因此,我们在初始卷积之后使用 1x1 卷积来匹配深度(深度在卷积之后会增加)。

    (左起)Inception ResNet 中的 Inception 模块 A、B、C。注意池化层被残差连接所替代,并在残差加运算之前有额外的 1x1 卷积。(图源:https://arxiv.org/pdf/1602.07261.pdf)

    主要 inception 模块的池化运算由残差连接替代。然而,你仍然可以在缩减块中找到这些运算。缩减块 A 和 Inception v4 中的缩减块相同。

    (左起)缩减块 A(从 35x35 到 17x17 的尺寸缩减)和缩减块 B(从 17x17 到 8x8 的尺寸缩减)。这里参考了论文中的相同超参数设置(V,I,K)。(图源:https://arxiv.org/pdf/1602.07261.pdf)

    如果卷积核的数量超过 1000,则网络架构更深层的残差单元将导致网络崩溃。因此,为了增加稳定性,作者通过 0.1 到 0.3 的比例缩放残差激活值。

    激活值通过一个常数进行比例缩放,以防止网络崩溃。(图源:https://arxiv.org/pdf/1602.07261.pdf)

    原始论文并没有在求和之后使用批归一化,以在单个 GPU 上训练模型(在单个 GPU 上拟合整个模型)。研究发现 Inception-ResNet 模型可以在更少的 epoch 内达到更高的准确率。Inception v4 和 Inception-ResNet 的网络完整架构如下图所示:

    图上部是 Inception v4 的架构。图下部是 Inception-ResNet 的架构。(图源:https://arxiv.org/pdf/1602.07261.pdf)

    转自:机器之心Pro

    展开全文
  • inception字体

    2019-10-22 23:49:39
    inception字体是一款用于创意设计方面的字体
  • inception demo

    2016-07-06 15:55:22
    inception demo
  • Inception安装包

    2019-04-30 14:40:54
    Inception是集审核、执行、回滚于一体的一个自动化运维系统,它可以对提交的所有语句的语法分析,如果语法有问题,都会将相应的错误信息返回给审核者。 还提供SQL语句的执行功能,可执行的语句类型包括常用的DML及...
  • inception5h

    2018-08-13 15:15:20
    图像识别模型 tensorflow_inception_graph.pb
  • Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning_v1
  • Inception in CNN

    2018-05-07 22:35:47
    inception

    之前也写过GoogLeNet的笔记,但那个时候对Inception有些似懂非懂,这周重新看了一遍,觉得有了新的体会,特地重新写一篇博客与它再续前缘。

    本文属于论文笔记性质,特此声明。

    Network in Network

    GoogLeNet提出之时,说到其实idea是来自NIN,NIN就是Network in Network了。

    NIN有两个特性,是它对CNN的贡献:

    • MLP代替GLM
    • Global Average Pooling

    mlpconv

    普通的卷积可以看做是比较特殊的GLM,GLM就是广义线性模型。那么MLP是指,在做卷积操作的时候,把线性操作变为多层感知机。

    这个idea的理论基础是多层感知机的抽象能力更强。假如我们把从图像中抽取出来的特征称作是这个图像的隐含概念(只是一个名称罢了,不要过度追究),那么如果隐含概念是线性可分的,那么,GLM抽取出来的特征没有问题,抽象表达能力刚刚好。但是假如隐含概念并不是线性可分的,那么就悲剧了,在只使用GLM的情况下,不得不过度的使用filter来表现这个隐含概念的各个方面,然后在下一层卷积的时候重新将这些概念组合,形成更加抽象的概念。

    所以,基于如上,可以认为,在抽特征的时候直接做了非线性变换,可以有效的对图像特征进行更好的抽象。

    从而,Linear convolution layer就变成了Mlpconv layer。

    值得一提的是,Mlpconv相当于在正常的卷积层后面,再添加一个1×1的卷积层。

    Global Average Pooling

    Global Average Pooling的做法是将全连接层去掉。

    全连接层的存在有两个缺点:

    • 全连接层是传统的神经网络形式,使用了全连接层以为着卷积层只是作为特征提取器来提取图像的特征,而全连接层是不可解释的,从而CNN也不可解释了
    • 全连接层中的参数往往占据CNN整个网络参数的一大部分,从而使用全连接层容易导致过拟合。

    而Global Average Pooling则是在最后一层,将卷积层设为与类别数目一致,然后全局pooling,从而输出类别个数个结果。

    使用了mlpconv和Global Average Pooling之后,网络结构如下:

    Inception

    读google的论文,你立马会感到一股工程的气息扑面而来。像此时的春风一样,凌厉中透着暖意。所谓凌厉,就是它能把一个idea给用到节省内存和计算量上来,太偏实现了,所谓暖意,就是真的灰常有效果。

    自2012年AlexNet做出突破以来,直到GoogLeNet出来之前,大家的主流的效果突破大致是网络更深,网络更宽。但是纯粹的增大网络有两个缺点——过拟合和计算量的增加。

    解决这两个问题的方法当然就是增加网络深度和宽度的同时减少参数,为了减少参数,那么自然全连接就需要变成稀疏连接,但是在实现上,全连接变成稀疏连接后实际计算量并不会有质的提升,因为大部分硬件是针对密集矩阵计算优化的,稀疏矩阵虽然数据量少,但是所耗的时间却是很难缺少。

    所以需要一种方法,既能达到稀疏的减少参数的效果,又能利用硬件中密集矩阵优化的东风。Inception就是在这样的情况下应运而生。

    第一步,将卷积分块,所谓的分块就是其实就是将卷积核分组,既然是分组索性就让卷积和不一样吧,索性使用了1×1,3×3,5×5的卷积核,又因为pooling也是CNN成功的原因之一,所以把pooling也算到了里面,然后将结果在拼起来。这就是最naive版本的Inception。

    对于这个Inception,有两点需要注意:

    • 层级越高,所对应的原始图片的视野就越大,同样大小的卷积核就越难捕捉到特征,因而层级越高,卷积核的数目就应该增加。
    • 1×1,3×3,5×5 只是随意想出来的,不是必须这样。

    这个naive版的Inception,还有一个问题,因为所有的卷积核都在上一层的所有输出上来做,那5×5的卷积核所需的计算量就太大了。因而,可以采用NIN中的方法对上一层的输出进行Merge。这样就衍生出了真正可用的Inception。

    这个结构利用了NIN结构中非线性变换的强大表达能力。

    同时,正如上一篇博客决策森林和卷积神经网络二道归一中的隐式数据路由,计算量也大大减少,因为四个分支之间是不需要做计算的。

    再同时,还具有不同的视野尺度,因为不同尺寸的卷积核和pooling是在一起使用的。

    旁白赞曰:其谋略不可为不远,其心机不可谓不深啊。

    之前心中一直有个疑问,那就是max-pooling之后的feature_map不是应该长宽都减半了么,那怎么与conv的输出拼接。后来才想到,是自己被theano中的实现误导了,theano的实现是自动就缩小了,但stride为1的时候,max_pooling的输出还可以是长宽不变。

    GoogLeNet的模型参数详细如下:

    结构如下:

    需要注意的是,为了避免梯度消失,网络额外增加了2个辅助的softmax用于向前传导梯度。文章中说这两个辅助的分类器的loss应该加一个衰减系数,实际测试的时候,这两个额外的softmax会被去掉。

    Inception-V2

    Google的论文还有一个特点,那就是把一个idea发挥到极致,不挖干净绝不罢手。所以第二版的更接近实现的Inception又出现了。Inception-V2这就是文献[3]的主要内容。

    Rethinking这篇论文中提出了一些CNN调参的经验型规则,暂列如下:

    • 避免特征表征的瓶颈。特征表征就是指图像在CNN某层的激活值,特征表征的大小在CNN中应该是缓慢的减小的。
    • 高维的特征更容易处理,在高维特征上训练更快,更容易收敛
    • 低维嵌入空间上进行空间汇聚,损失并不是很大。这个的解释是相邻的神经单元之间具有很强的相关性,信息具有冗余。
    • 平衡的网络的深度和宽度。宽度和深度适宜的话可以让网络应用到分布式上时具有比较平衡的computational budget。

    Smaller convolutions

    简而言之,就是将尺寸比较大的卷积,变成一系列3×3的卷积的叠加,这样既具有相同的视野,还具有更少的参数。

    这样可能会有两个问题,
    - 会不会降低表达能力?
    - 3×3的卷积做了之后还需要再加激活函数么?(使用ReLU总是比没有要好)

    实验表明,这样做不会导致性能的损失。

    个人觉得,用大视野一定会比小视野要好么? 叠加的小视野还具有NIN的效果。所以,平分秋色我觉得还不能说是因为某个原因。

    于是Inception就可以进化了,变成了

    Asymmetric Convoluitons

    使用3×3的已经很小了,那么更小的2×2呢?2×2虽然能使得参数进一步降低,但是不如另一种方式更加有效,那就是Asymmetric方式,即使用1×3和3×1两种来代替3×3. 如下图所示:

    使用2个2×2的话能节省11%的计算量,而使用这种方式则可以节省33%。

    于是,Inception再次进化。

    注意:实践证明,这种模式的Inception在前几层使用并不会导致好的效果,在feature_map的大小比较中等的时候使用会比较好

    Auxiliary Classifiers

    在GoogLeNet中,使用了多余的在底层的分类器,直觉上可以认为这样做可以使底层能够在梯度下降中学的比较充分,但在实践中发现两条:

    • 多余的分类器在训练开始的时候并不能起到作用,在训练快结束的时候,使用它可以有所提升
    • 最底层的那个多余的分类器去掉以后也不会有损失。
    • 以为多余的分类器起到的是梯度传播下去的重要作用,但通过实验认为实际上起到的是regularizer的作用,因为在多余的分类器前添加dropout或者batch normalization后效果更佳。

    Grid Size Reduction

    Grid就是图像在某一层的激活值,即feature_map,一般情况下,如果想让图像缩小,可以有如下两种方式:

    右图是正常的缩小,但计算量很大。左图先pooling会导致特征表征遇到瓶颈,违反上面所说的第一个规则,为了同时达到不违反规则且降低计算量的作用,将网络改为下图:

    使用两个并行化的模块可以降低计算量。

    V2-Inception

    经过上述各种Inception的进化,从而得到改进版的GoogLeNet,如下:

    图中的Figure 4是指没有进化的Inception,Figure 5是指smaller conv版的Inception,Figure 6是指Asymmetric版的Inception。

    Label Smoothing

    除了上述的模型结构的改进以外,Rethinking那篇论文还改进了目标函数。

    原来的目标函数,在单类情况下,如果某一类概率接近1,其他的概率接近0,那么会导致交叉熵取log后变得很大很大。从而导致两个问题:

    • 过拟合
    • 导致样本属于某个类别的概率非常的大,模型太过于自信自己的判断。

    所以,使用了一种平滑方法,可以使得类别概率之间的差别没有那么大,

    用一个均匀分布做平滑,从而导致目标函数变为:

    该项改动可以提升0.2%。

    Rethinking 那篇论文里还有关于低分辨率的输入的图像的处理,在此不赘述了。

    参考文献

    [1]. Lin M, Chen Q, Yan S. Network in network[J]. arXiv preprint arXiv:1312.4400, 2013.

    [2]. Szegedy C, Liu W, Jia Y, et al. Going deeper with convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 1-9.

    [3]. Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the Inception Architecture for Computer Vision[J]. arXiv preprint arXiv:1512.00567, 2015.

                        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
                            </div>**重点内容**
    
    展开全文
  • inception.rar

    2020-03-28 15:10:01
    inception_resnet_v2.caffemodel 和 prototxt inception_resnet_v2.caffemodel 和 prototxt inception_resnet_v2.caffemodel 和 prototxt inception_resnet_v2.caffemodel 和 prototxt inception_resnet_v2....
  • Inception笔记

    2021-04-12 15:16:21
    目录1. Inception-v11.1 为什么提出Inception... Inception-v33.1 问题3.2 解决方法4. Inception-v4 1. Inception-v1 论文链接:Going deeper with convolutions 1.1 为什么提出Inception 一般来说,提升网络性能最保险
  • inception 系列

    2020-01-03 11:15:08
    inception 系列
  • 论文笔记:Inception-V4, Inception-ResNet

    千次阅读 2016-06-17 12:36:44
    inception
  •  Inception v2模型  一方面了加入了BN层,减少了Internal Covariate Shift(内部neuron的数据分布发生变化),使每一层的输出都规范化到一个N(0, 1)的高斯;   另外一方面学习VGG用2个3x3的conv替代inception...
  • Inception 初探

    千次阅读 2019-08-03 15:01:27
    1,安装 下载组件 wget clone ... unzip inception-master.zip cd inception-master 安装基础组件 yum install bison -y yum install cmake -y yum install cmake n...
  • Inception模块

    千次阅读 2020-11-11 21:29:30
    Inception网络或Inception层的作用是代替人工来确定卷积层中的卷积核类型,或者是否需要创建卷积层和池化层,可以代替你来做决定,虽然网络架构比较复杂,但网络表现却非常好。下图是Inception网络的核心:网络自行...
  • Inception V2 & Inception V3

    2020-06-15 17:37:47
    Paper : Rethinking the Inception Architecture for Computer Vision Code : torchvision 摘要 Inception 在缩小参数规模的道路上越走越远,之前遇到的卷积核大多是方形卷积核的,而这篇论文尝试使用长宽不同的...
  • Inception家族

    2019-12-04 15:42:27
    本文简要介绍了 Inception 家族的主要成员,包括 Inception v1、Inception v2 和 Inception v3、Inception v4 和 Inception-ResNet。它们的计算效率与参数效率在所有卷积架构中都是顶尖的,且根据 CS231n 中所介绍的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,917
精华内容 2,766
热门标签
关键字:

inception