Rethinking the inception architecture for computer vision的 paper 相关知识

这一篇论文很不错,也很有价值;它重新思考了googLeNet的网络结构--Inception architecture,在此基础上提出了新的改进方法;
文章的一个主导目的就是:充分有效地利用computation;

 

第一部分: 文章提出了四个principles:

原则1:设计网络的时候需要避免 representational bottlenecks; 什么意思呢? 文章中说: 层与层之间进行 information 传递时,要避免这个过程中的数据的extreme compression,也就是说,数据的 scale 不能减小的太快;(数据从输入到输出大致是减少的,这个变化过程一定要gently,而不是快速的,    一定是慢慢的变少。。。。。。)       当数据的维数extreme下降的时候,就相当于引入了 representational bottelneck.

原则2:没有怎么看明白什么意思啊?复制过来。Higher dimensional representations are easier to process locally within a network. Increasing the activations per tile in a convolutional network allows for more

disentangled features. The resulting networks will train faster.  (可以结合 figure7 下面的注释, 我感觉: 在高维表示时,对于局部的特征更容易处理,意思就是local 卷积,用1*1啦, 或3*3, 别用太大的)

原则3: spatial aggregation can be done over lower dimensional embedding without much or any loss in representational power.    直接翻译真的不会翻译啊

原则4: 应该均衡网络的宽度与深度;

 

第二部分:网络的改进方法:

基于以上原则,开始对网络进行改进了。

1. 把大的卷积层分解为小的卷积层,提高计算效率:

第一种:可以把一个5*5的卷积卷积层分解成两个 3*3 的卷积层。       一个细节就是:把底层的 filters 为m 时, 上层的filters 为 n 时,这时两层的小的卷积层的每一个filters 为多少呢? 细节2: 当原来的 激活函数为线性激活函数时,现在变为两层的激活函数如何选择?(文中说明了全部使用 relu 激活函数会好一些)

image

2. 非对称分解:

把一个 n*n 的卷积层分解为两个 1*N 和 N*1 的卷积层;         (文中说了这种分解在网络的开始几层效果垃圾, but is gives very good result on medium grid-sizes)

 

image

 

3.  auxiliary classifiers 分类器的真正作用

文章都过实验发现 辅助分类器的真正作用为:regularizer。  意思就是吧,这个辅助分类器并不会加快网络的训练,不会加快 low-level 特征的 evlove , 它只会在最后的时候提高了一点 performance. 文章还说了,如果加上 batch-mormalized 效果更好一些,这也说明了 batch-normalized 也算一种 regularizer吧。

 

4. 有效的 grid-size 的reduction 的方法 ,即减少 feature map 的size 的方法:

文中出发点:1 ,避免 representational bottleneck ,其实我理解的就是避免 data的 dimension 急剧下降,一定也慢慢的来,别太快了;   2, 提高计算效率; 

    下图中的两种方法不满足条件:(左边不满足条件1, 右边不满足条件2)

image

 

    下图的方法为论文中提出来的:

image

 

5. Label smoothing Regularization 方法:

这里要涉及到了一些计算过程,用语言说明一下:网络采用softmax分类器以及交叉熵函数作为loss函数时,对于类别 K 的最上层的导数等于:网络实际输出的 类别 K 的后验概率 - 真实的类别 K的后验概率;     而真实的类别 K的后验概率 要么为1,要么为0. 这个容易出一个问题: 1,过拟合,为什么呢?这样会使促使 网络去学习 的实际输出的 类别 K 的后验概率为 1 或0 ,it is not guaranteed to generalize; 2, 这个也限制了导数的变化, 因为吧, 容易上层数为0 啊。。( 自己推导好好理解一下)

所以呢,文中提出了一个方法:  真实的类别 K的后验概率别这个confident (要么为1 要么为0,不好,虽然后验概率就是这样的),  然后引入了:

image

其中的u(k)是自己引入的, 文章用了均匀分布; 另外文章也建议了使用训练样本中的 k 的分布来表示 u(k), 其实吧,训练样本中的每一个类别的样本可能差不多相同吧,所以呢,用均匀分布也挺合适的;

 

第三部分: Inception V-2网络;

image

 

 

第四部分:训练方法:

看看,参考文献很好;

 

第五部分:如何处理 small object的分类问题?

由于 object 比较小,所以呢, 像素少, 分辨率低,怎么办?

文中呢,通过试验说明了在计算力相同的情况下,不同的分辨率的输入的效果其实差不多的。

所以呢,当输入的分辨率低时,适当地调节网络的前几层,来保证 computational cost 相同 ,这样的话,最终的 perpormance 其实没有多大的差别的;

 

第六部分:对比实验:

这一部分对比了其它的实验结果, 注意:Inception-V3.

 

 

参考文献:Szegedy C, Vanhoucke V, Ioffe S, et al. Rethinking the inception architecture for computer vision[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2818-2826.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Inception 架构是一种用于计算机视觉的神经网络架构,它通过使用不同尺寸的卷积核来捕捉图像中的不同级别特征。近年来,研究者们对 Inception 架构进行了重新思考,提出了许多改进版本,如 Inception-v2 和 Inception-v3。这些改进版本通过更深层次的网络结构、更高效的卷积层、更强大的正则化方法等来增强模型的性能。 ### 回答2: "重新思考计算机视觉中的Inception架构"是指对计算机视觉中的Inception架构进行反思和重新设计的过程。 在计算机视觉中,深度学习网络被广泛应用于图像分类、物体检测和语义分割等任务。Inception架构是一种流行的深度学习架构之一,它的特点是使用了一系列不同尺寸的卷积核和Inception模块,以提取不同尺度下的图像特征。 然而,随着计算机视觉任务的不断发展和挑战的出现,人们开始重新思考和改进Inception架构。对Inception架构的重新思考主要包括以下几个方面: 首先,针对Inception架构中的参数数量过多和计算复杂度高的问题,人们提出了一些改进方法。例如,通过降低Inception模块中卷积核的维度和参数数量,可以减少计算量,提高网络的训练和推理效率。 其次,人们提出了一些新的模块和网络结构,以解决Inception架构在某些任务上的性能限制。例如,ResNet和DenseNet等网络结构通过引入残差连接和稠密连接,解决了深度网络中的梯度消失和信息丢失问题。 此外,人们还关注如何将Inception架构与其他架构进行融合,以进一步提升计算机视觉任务的性能。例如,人们将Inception架构与注意力机制相结合,以提高目标检测和图像分割的准确性。 总之,"重新思考计算机视觉中的Inception架构"是一个不断演进的过程。通过反思和优化Inception架构,人们可以提高计算机视觉任务的性能、准确性和效率,推动计算机视觉领域的发展。 ### 回答3: 重新思考计算机视觉中的初始架构(rethinking the inception architecture for computer vision)是指对计算机视觉模型中的初始网络架构进行重新思考和改进。 计算机视觉是人工智能领域中的一个重要分支,它致力于让计算机能够像人一样理解和处理图像和视频。而计算机视觉模型的架构对于模型的性能和效果具有很大的影响。 Inception架构是一种经典的计算机视觉模型架构,最早由谷歌在2014年提出。它通过使用多尺度的卷积层和并行结构来提高模型的性能和效果。然而,随着技术的发展和需求的变化,原始的Inception架构可能存在一些限制和缺陷。 重新思考Inception架构意味着我们需要针对当前的计算机视觉任务和要求,重新设计和改进Inception架构。有几个方面可以考虑: 首先,我们可以通过引入更先进的卷积技术和结构来改善模型的性能。例如,可以使用Dilated Convolution(空洞卷积)来增加感受野,或者使用Depthwise Separable Convolution(分离卷积)来减少参数量和计算量。 其次,我们可以将其他经典和有效的架构和思想与Inception架构相结合,以进一步提升性能。例如,可以引入残差连接(Residual Connection)来加快训练速度和提高模型的泛化能力。 此外,我们还可以针对具体的计算机视觉任务,对Inception架构进行特定的优化。例如,对于目标检测任务,可以加入适应性池化层(Adaptive Pooling Layer)来获得更好的位置和尺度信息。 总之,重新思考Inception架构是一个不断改进和优化计算机视觉模型的过程。通过结合新的技术、思想和任务需求,我们可以进一步提高计算机视觉模型的性能和效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值