吴恩达神经网络和深度学习-学习笔记-37-inception网络

inception层

inception层的基本思想是:不需要人为决定使用哪个过滤器、是否使用池化,而是由网络自行决定这些参数。你可以给网络添加这些参数的所有可能值,然后把这些输出连接起来,让网络学习自己需要什么样的参数、采用哪些过滤器组合。
inception层的作用是代替人工来确定卷积层中的过滤器类型,或者是否需要创建卷积层或池化层。虽然网络架构因此变得更复杂,但网络表现但非常好。
在这里插入图片描述
对于不同的选择均输出一个数据立方,用same padding的方法保持维度于输入一致,再将所有的选择的输出stack up堆叠起来。
由28×28×192变为28×28×256。

瓶颈层

inception层有一个计算成本(computational cost)的问题。

下面我们将注意力放到5×5的过滤器上:
在这里插入图片描述
直接这样来,要进行120M的运算。
在这里插入图片描述
我们在中间引入一个瓶颈层(bottleneck layer),瓶颈层也是网络最小的部分。
我们先缩小网格表示,然后在扩大它。
这样计算的计算次数为12.4M,远小于直接的120M。

inception层和瓶颈层小结

如果你在构建神经网络的时候,不想决定过滤器的类型、是否使用池化,inception网络就是最好的选择。
我们可以应用各种类型的过滤器,只需要把输出堆叠起来。
通过使用1×1卷积来构建瓶颈层,可以大大降低计算成本。事实证明,只要合理构建瓶颈层,就既可以显著缩小表示层规模,又不会降低网络性能。

inception module(模块)

在这里插入图片描述
对于卷积操作,有这里三种备选项:1×1卷积过滤器、3×3卷积过滤器、5×5卷积过滤器。
对于1×1过滤器,直接计算即可。对于3×3过滤器和5×5过滤器,中间采用1×1过滤器实现瓶颈层,以减小运算量。

对于池化操作,选用MaxPooling。为了减小池化选项所占据的通道数,后面跟上1×1卷积来减小nc

最后将卷积和池化选项的结果堆叠在一起。

inception network(inception 网络)

图中的图例:

  • 绿色:输入输出矩阵
  • 蓝色:卷积层
  • 红色:最大池化层
    在这里插入图片描述
    这是一篇论文中关于inception网络的图片。
    图中有很多重复的模块是inception模块,除此之外还有单独的maxpooling来修改W和H。

而实际的网络还有一些分支:
在这里插入图片描述
这些分支与网络最后的全连接层相似,都用了Softmax来预测输出结果的标签。
这些分支确保了,即使是隐藏单元和中间层,也参与了特征计算,它们也能预测图片的分类。
它在inception网络中,起到一种调整的作用,并且能防止网络发生过拟合。

有一个inception网络是Google的GooLeNet

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值