TowardsDataScience 博客中文翻译 2016~2018(二百四十七)

原文:TowardsDataScience Blog

协议:CC BY-NC-SA 4.0

回顾:Inception-v4——从 GoogLeNet 发展而来,与 ResNet Idea(图像分类)合并

原文:https://towardsdatascience.com/review-inception-v4-evolved-from-googlenet-merged-with-resnet-idea-image-classification-5e8c339d18bc?source=collection_archive---------5-----------------------

在这个故事中,谷歌的Inception-v4【1】被评论。从 GoogLeNet / Inception-v1 演化而来的 Inception-v4,比 Inception-v3 有一个更统一的简化架构和更多的 Inception 模块。****

从下图中,我们可以看到从 v1 到 v4 的 top-1 精度。而且 Inception-v4 比 ResNet 好。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top-1 Accuracy against Number of Operations (Size is the number of parameters)

**有剩余连接的初始网络,**微软 ResNet 提出的一个想法,优于同样昂贵的没有剩余连接的初始网络。

利用 1 个初始 v4 和 3 个残差网络的集成,在 ILSVRC 分类任务中可以实现 3.08%的误差。这是一篇 2017 AAAI 的论文,在我写这篇文章的时候有超过 1000 次引用。(曾植和 @中)

涵盖哪些内容

  1. 从 Inception-v1 到 Inception-v3 的简要概述
  2. 盗梦空间-v4
  3. 盗梦空间-ResNet-v1
  4. 盗梦空间-ResNet-v2
  5. 与最先进方法的比较

1.从初始版本 1 到初始版本 3 的简要概述

在开始谈论 Inception-v4 之前,让我们先回顾一下从 v1 到 v3。

1.1.Inception-v1/Google net[2]:Inception 模块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception Module (Left), Inception Module with Dimensionality Reduction (Right)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Overall Architecture

Inception 模块在 Inception-v1 / GoogLeNet 中首次引入。输入同时通过 1×1、3×3 和 5×5 conv 以及最大池并连接在一起作为输出。因此,我们不需要考虑每一层应该使用哪种过滤器尺寸。

(我对《盗梦空间》的详细回顾-v1 / GoogLeNet )

1.2.Inception-v2 / BN-Inception [3]:批量规范化

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Batch Normalization (BN)

批量规范化(BN) 在 Inception-v2 / BN-Inception 中引入。ReLU 被用作激活函数来解决饱和问题和由此产生的消失梯度。但是这也使得输出更加不规则。随着时间的推移,X 的分布保持固定是有利的,因为当网络变得更深时,小的变化将被放大。可以使用更高的学习率。

此外, 5×5 conv 被两个 3×3 conv取代,用于在保持感受野大小的同时降低参数。

(我对 Inception-v2 / BN-Inception 的详细回顾)

1.3。Inception-v3 [4]:因式分解

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3×3 conv becomes 1×3 and 3×1 convs (Left), 7×7 conv becomes 1×7 and 7×1 convs (Right)

如上图卷积层引入因子分解进一步降维,减少过拟合问题。例如:

通过使用 3×3 滤波器,参数数量= 3×3=9 通过使用 3×1 和 1×3 滤波器,参数数量= 3×1+1×3=6
参数数量减少 33%

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Conventional downsizing (Top Left), Efficient Grid Size Reduction (Bottom Left), Detailed Architecture of Efficient Grid Size Reduction (Right)

并且还引入了高效的网格尺寸缩减模块,其更便宜并且仍然是高效的网络。通过有效的网格尺寸缩减,例如图中所示, 320 个特征图conv 以步长 2 完成。通过最大汇集得到 320 张特征地图。并且这 2 组特征图被连接成 640 个特征图并且进入下一级的初始模块。

(我对 Inception-v3 的详细回顾)

2.盗梦空间-第 4 版

比 inception-v3 更统一的简化架构和更多的 Inception 模块,介绍如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception-v4: Whole Network Schema (Leftmost), Stem (2nd Left), Inception-A (Middle), Inception-B (2nd Right), Inception-C (Rightmost)

这是一个没有任何剩余连接的纯初始变体。它可以在不分割副本的情况下进行训练,使用内存优化来反向传播

我们可以看到使用了从 Inception-v1 到 Inception-v3 的技术。(也使用了批量标准化,但未在图中显示。)

3。盗梦空间-ResNet-v1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception-ResNet-v1: Whole Network Schema (Leftmost), Stem (2nd Left), Inception-A (Middle), Inception-B (2nd Right), Inception-C (Rightmost)

通过使用上述版本的 Inception-A、Inception-B 和 Inception-C,我们可以拥有 Inception-ResNet-v1。我们可以看到每个模块的左侧都有一个快捷连接。这种快捷的连接已经被一种证明,它可以帮助在 ResNet [5]中走得更深。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception-Resnet-v1 and Inception-v3

它的大约相当于《盗梦空间-v3》的计算成本。Inception-Resnet-v1 的训练速度要快得多,但最终精度比 Inception-v3 稍差。

然而,加在一起后使用的 ReLU 使得 Inception network 无法进一步深入。在论文中,作者还提到,如果过滤器的数量超过 1000,残差变体开始表现出不稳定性,并且网络在训练期间早期就“死亡”。

为了稳定训练,在将残差添加到先前的层激活之前缩小残差。一般来说,在添加到累积层激活之前,在 0.1 和 0.3 之间选择一些缩放因子来缩放残差

(也许,如果 ReLU 被用作预激活单元,就像在使用身份映射的改进 ResNet 中提到的[6],它可能会更深入。)(如有兴趣,请访问我对预激活 ResNet 的评论。)

4.盗梦空间-ResNet-v2

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception-ResNet-v2: Inception-A (Leftmost), Inception-B (Middle), Inception-C (Rightmost)

有了全网模式使用 Inception-ResNet-v1 中的那个,Stem 使用 Inception-v4 中的那个,以及以上版本的 Inception-A、Inception-B、Inception-C,我们就可以有 Inception-ResNet-v2 了。同样,在每个模块的左侧有一个快捷连接。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception-Resnet-v2 and Inception-v4

它的计算成本大约相当于《盗梦空间 4》的计算成本。与 Inception-v4 相比,Inception-ResNet-v2 的训练速度要快得多,并且达到了略好的最终精度。

然而,同样地,如果 ReLU 被用作预激活单位,它可能会更深入。(如果感兴趣,请访问我对改进的 ResNet 的评论。)

5.与最先进方法的比较

**多裁剪:**是将输入图像裁剪成多个子图像,输入网络进行分类,以提高精度。从 AlexNet,VGGNet 等开始使用。

具体来说,AlexNet 使用了 10 种作物,GoogLeNet 使用了 144 种作物。

多模型:就是将多个训练好的模型集成在一起,得到更准确的预测,就像 boosting 一样。从 LeNet,AlexNet 等开始使用。

(如果有兴趣,请访问我的 AlexNetGoogLeNet 评论。)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Single-Crop Single-Model Results

单作物单模型的情况下,Inception-v4 和 Inception-ResNet-v2 的性能最好,结果相似。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

10/12-Crop Single-Model Results

使用 10/12-Crop 单模型,Inception-v4 和 Inception-ResNet-v2 同样具有最佳性能,结果相似。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

144-Crop Single-Model Results

使用 144-Crop 单模型,Inception-v4 和 Inception-ResNet-v2 同样具有最佳性能,结果相似。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

144-Crop N-Model Results

144-Crop N-Model,Inception-v4(+Residual),即 1 个纯 Inception-v4 和 3 个 Inception-ResNet-v2 模型(N=4),性能最好。

获得 3.1%的前 5 名错误率。与 ResNet (3.57%的错误率,2015 年 ILSVRC 的冠军)和 Inception-v3 (3.58%的错误率,2015 年 ILSVRC 的亚军)相比,这已经是一个很大的相对进步。

参考

  1. 【2017 AAAI】【Inception-v4】
    Inception-v4、Inception-ResNet 以及剩余连接对学习的影响
  2. 【2015 CVPR】【谷歌网/盗梦空间-v1】
    随着回旋越走越深
  3. 【2015 ICML】【BN-Inception/Inception-v2】
    批量归一化:通过减少内部协变量移位加速深度网络训练
  4. 【2016 CVPR】【盗梦空间-v3】
    重新思考计算机视觉的盗梦空间架构
  5. 【2016 CVPR】【ResNet】
    用于图像识别的深度残差学习
  6. 【2016 ECCV】【带有身份映射的 ResNet】
    深度剩余网络中的身份映射

我的评论

  1. 回顾:Inception-v3–ILSVRC 2015 亚军(图像分类)
  2. 回顾:批量归一化(Inception-v2/BN-Inception)——ILSVRC 2015 中第二个超越人类水平的性能(图像分类)
  3. 回顾:Google net(Inception v1)——ILSVRC 2014(图像分类)获奖者
  4. 回顾:ResNet—ils vrc 2015(图像分类、定位、检测)获奖者
  5. 回顾:带有身份映射的 ResNet 已达到 1000 多个图层(图像分类)

[点评] Kaggle Corporación Favorita 杂货销售预测—第 1 部分

原文:https://towardsdatascience.com/review-kaggle-corporación-favorita-grocery-sales-forecasting-part-i-9330b7350713?source=collection_archive---------4-----------------------

回顾和事后分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Source

[## Favorita 杂货销售预测公司

你能准确预测一家大型食品连锁店的销售额吗?

www.kaggle.com](https://www.kaggle.com/c/favorita-grocery-sales-forecasting)

动机和反思

自从去年 7 月将我的设备从 GTX960 4GB 升级到 GTX1070 (8GB)以来,我一直热衷于提高我的一般深度学习技能集。我在之前的两次 Kaggle 比赛中使用了 PyTorch, Instacart 购物篮分析Web 流量时间序列预测。我参加 Instacart 比赛的 DNN 模型注定要失败,因为我没有掌握如何加载大于内存大小(16GB)的数据集,而 DNN 模型拥有足够的训练数据真的很重要。不过,网络流量预测比赛更有趣。第一个位置的解决方案与我的想法非常相似。然而,我没能按时完成我的模型,最终提交的作品有严重的缺陷。我很幸运它仍然进入了前 50 名。当 Corporación Favorita 竞赛开始时,我发现数据集的大小对于 DNN 来说已经足够大了,并且很快就开始将它视为一个机会来完成我在网络流量预测竞赛中开始的工作。

[## Web 流量时间序列预测

预测维基百科页面的未来流量

www.kaggle.com](https://www.kaggle.com/c/web-traffic-time-series-forecasting#timeline)

尽管由于一次糟糕的押注,最终排名(相对)令人失望(第 20 名),但我仍然对结果感到相当满意。如果去掉不好的赌注,我的 DNN 模特会从纯银上升到第 2-5 名,这取决于我如何选择最后的组合。虽然如果我把更多的时间放在改进 GBM 模型上,我的排名可能会更好,但我已经达到了我报名参加的目的(建立我心目中的网络流量竞赛,甚至更多)。

这也是我第一次以团队形式参赛(我曾和我的学员一起工作过一次,但我没能给他腾出空间)。我们进行了许多发人深省的讨论,总的来说这是一次非常好的经历。我真的认为我们作为一个团队会取得非常好的成绩。我还没有机会重新运行我的队友的模型,去掉了不好的赌注,但根据过去的经验,他的模型应该能够推动我们进入前 3 名(我的 GBM 模型真的很烂)。

抱歉,我的介绍太长了…当谈到我喜欢的东西时,我有喋喋不休的问题。在这个第一部分中,我计划给出一个问题的概述,并在比赛结束前用我训练过的模型做一个事后分析。在下一篇文章中,我将展示一个我认为最理想的场景,但是没有足够的时间将它加入到最终提交的作品中,因为直到比赛的最后一周,我才看到这个场景。

问题描述

比赛的挑战是预测 2017/08/16 至 2017/08/31 期间每家商店每天每件商品的单位销售额。在厄瓜多尔 16 个州的 22 个不同城市有 54 家商店。有来自 33 个家族和 337 个班级的 4400 个独特的项目。评价指标为归一化加权均方根对数误差(NWRMSLE) :

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

决定评估标准实际上是真实场景中最重要的部分。你需要确保它符合你的业务目标。不幸的是,Kaggle 通常不会分享太多关于如何做出决定的信息,可能是因为涉及到商业秘密。这确实是一个非常复杂的问题,需要做出许多权衡,我们可以就此写一篇完整的独立文章。关于这个指标是否合适,本次比赛的讨论论坛有许多很好的见解。有兴趣就去那里。

这个数据集的问题

有两个主要问题:

  1. 没有库存信息。数据可能是从只记录实际销售额的 POS 系统中收集的。我们不知道某个商店某件商品零销售的原因是因为缺货还是商店一开始就不打算出售该商品。因此,我们被要求预测测试期间每种可能的(商店、商品、日期)组合的单位销售额,甚至不知道某个商品是否在展示。更糟糕的是,这 60 件全新的商品在火车时期从未在任何商店出售过。我们不知道新的商品是一次在所有商店推出,还是有更复杂的策略。基本上,它诱使人们去调查公共排行榜,并面临严重的过度拟合风险。
  2. 零销售额的(商店、商品、日期)组合缺少促销信息。这确实是一个可以解决的问题,我不明白为什么没有解决。我们在测试阶段有完整的推广信息,为什么不在培训阶段也提供呢?即使培训期间的 onpromotion 信息丢失,如果他们在测试期间将所有 onpromotion 设置为零(虽然不现实,但在数据科学中使验证集尽可能接近测试集是非常重要的),或者干脆不提供 onpromotion ,这仍然会更加公平。如果我是 Corporación Favorita 的数据科学家,我会坚持推迟建模,等待更多数据的到来,直到我们至少可以创建一个包含完整 onpromotion 信息的验证集。

当然,该数据集的其他方面也可以改进,例如提供促销的类型和力度、商店中商品的货架位置,但它们大多是锦上添花。上述两个问题实际上阻碍了该数据集的实际应用。

错误的赌注(哪里出错了)

正如我们在比赛结束后了解到的那样,很多人试图恢复宣传信息。我的队友也想出了一个聪明的方法来恢复信息,基于对商店经常对某些商品有非常相似的促销时间表的理解。因此,他开发了一种算法,如果我们忽略促销未知的条目,找到(1)总是或(2)大部分具有相同促销时间表的商店和日期的子组,并根据该模式猜测未知。它不涉及任何排行榜调查,但除了使用公共排行榜,没有其他方法来验证其效果。

我感到不舒服的是,预测的分布从原始模型变化到用来自模式(1)和(2)的恢复的 onpromotion 训练的模型是如此的戏剧性,所以我决定为 2017 年和 2016 年的数据训练仅来自模式(1)的恢复的 onpromotion 的模型。我保留了 2015 年和 2014 年的数据,因为它们在促销中包含了更多的 NA。而且我把用恢复的 onpromotion 训练的模型和用全未知的 onpromotion 训练的用 0 (50/50 的比例)混合。(这就是为什么我在比赛结束后很快就发现了问题所在。我只是去掉了整体中有问题的 50%,瞧,个人得分提高了。)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

An example distribution of predicted unit_sales

这个最终的 50/50 设置给了我 0.001~0.002 的公开分数提升,但 0.002+的私下分数下降。我的队友全押了,看起来跌幅更大。这就是使用公开分数进行验证的危险。我们对这个高风险的赌注感到放心,但没有做足够的对冲。甚至 50/50 的比例也是以完全任意和主观的方式设定的,因为除了公开的分数之外,我们没有办法验证它。

我们还利用所有空闲的提交时间来探索排行榜上的新项目。我们想从公开得分中了解哪些商店在接下来的 5 天里有这些新商品的非零销售额(公开拆分)。我的队友建立了预测这些新项目的模型。不幸的是,最终我们最好预测所有新项目都为零。我不确定移除已恢复的 onpromotion 是否有帮助,但无论如何,分数差异小于 0.001。

数据集公式

从 2014 年到 2017 年的数据用于训练我的模型。我只包括了每年选定的月份,这样我可以避免对 2016 年地震的影响建模,也避免太多的磁盘序列化。如果我的电脑有 32gb 以上的内存,我会使用更多的数据。

我在这次比赛中主要使用了三个不同的验证阶段:

  1. 2017/07/26–2017/08/10:这个应该是最准确的。所有的训练数据都是在这些日期之前收集的,就像测试周期一样。当验证期和测试期非常接近时(假设年度模式不是很强),序列的内部动态应该更相似。我大量使用这个验证阶段来调整超参数和集合权重。在我发布的公共内核中,训练和验证数据之间有一点重叠。消除这种重叠似乎使其更加稳健。
  2. 2016/08/17–2016/09/01:这与 2016 年的考期大致相同(工作日分布相同)。这是为了近似盲训练,所以我可以在训练中使用 2017/07/26–2017/08/10。我使用 ReduceLROnPlateau 来安排学习速度,所以验证集是必不可少的。当然,我可以找到一个预定义的学习时间表,并进行实际的盲人训练,但我发现这太费时间了。
  3. 2016/09/07–2016/09/22:和第二个原因一样,但是有了这个我就不用把 2016 年的同期考期扔掉了。我发现这个不够稳定,在比赛中就停止使用了。

对于所有的 DNN 模型,我使用(1) 过去的 56 天 (2) 大致相同的前一年的 56 天和(3) 前一年的 56 天之后的 16 天来预测接下来的 16 天。为了节省时间,我使用了各种过滤器来减小数据集的大小:

  1. 保持(商店、物品)在过去 14 天内的销售额,或在与上一年测试期大致相同的 16 天内有销售额。
  2. 保持(商店,项目)在过去 28 天内的销售额。
  3. 保持(商店,项目)在过去 56 天内的销售额。

我预测所有丢弃的(商店,商品)组合为零。我曾计划探索移除这些过滤器,但一直推迟。我的队友在比赛的最后一周提醒了我这一点,我检查了验证预测,看看这些模型是否能比预测那些最近没有销售的(商店,商品)的零做得更好。模特们实际上表现明显更好!我本打算把这些简单的分数收益留在桌面上!

当时我没有太多时间,所以我很快使用 2017/07/26 验证训练了一组模型,并移除了过滤器,还使用 2016/09/07 和 56 天过滤器选取了之前训练的模型,因为这是当时唯一使用 56 天过滤器训练的设置。被一些模型丢弃的(商店、物品)将仅由在最终集合中没有被丢弃的模型来预测。这解释了我们将在下一节看到的奇怪的模型设置。

最终模型设置

我不会进入模型的细节。它们将在后面的部分中介绍。我在最后的合奏中使用了 4 个版本的设置:

  1. v4: 2017/07/26 + (14 天非零|去年非零)
  2. v7: 2016/09/06 + 56 天非零值
  3. v11: 2016/08/17 + 28 天非零
  4. 版本 12: 2017/07/26(无过滤器)

DNN 模型和 GBM 模型使用 13:3 的重量比在对数尺度上平均。(从交叉验证中获得的比率。)

如果…会怎样

以下是我的组合在没有恢复的宣传的情况下的表现:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Google Spreadsheet Link

comp_filter表示该设置的预测仅用于那些被所有其他设置丢弃的(商店、商品)组合。请注意,所有模型都是在比赛结束前训练的,内部集合权重保持不变,除了使用恢复的 onpromotion 训练的所有模型的权重(它们被设置为零)。我只是改变了不同场景的模型混合在一起的方式。

一些分析:

  1. 如上所述,对新项目的预测不起作用。
  2. 单独 v12 设置的车型可以达到 0.513 的私分。然而,我认为我没有必要用 v12 设置训练 DNN 模型,因为预测所有零序列的销售不是序列模型的强项。在这种情况下,表格特性应该工作得很好。所以我从 v12 中提取了 LGBM 模型,并用它们来补偿滤波器。
  3. 对于 14、28 和 56 个连续的零,预测零在公开拆分中比在私有拆分中效果更好。但是我已经从交叉验证中知道了,所以这对我来说并不奇怪。注意 v11 车型是如何从 *(0.514 私,0.503 公)*到 *(0.512 私,0.507 公)*28 天滤镜被 v12_lgb 车型补偿的。这说明了为什么我们不能相信分时比赛中的公共排行榜
  4. 在意识到我应该抛弃非零过滤器之前,我正计划提交 v4 和 v11 合奏。我选择了 v7,因为我只有时间重新训练一个验证设置,当我担心时,v7 在我面前爆炸了。幸运的是,我们有一个 v7 车型的较低重量的最终提交,否则我们会比第 20 名更糟。坚持使用 v4 和 v11 就可以了。

理想的环境

如果我有时间,我会使用这些理想的设置:

  1. v12_lgb : 2017/07/26。仅用于预测在过去 56 天内没有任何销售的(商店,商品)。
  2. v13 : 2017/07/26 + 56 天滤镜。用于超参数调谐。
  3. v14 : 2016/08/17+ 56 天滤镜。我预计它会比 v13 做得好一点。

我们可以通过取出 v13v14 中的 56 天过滤器来移除 v12_lgb 。它实际上可能会做得更好一点。但是我认为不值得增加训练时间。

我正在根据这些设置训练一些模型,我们将在下一篇文章中看到它们的表现。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Source

分时竞赛中的一个大问题

值得一提的是,私人排行榜中的分数分布比我预想的还要密集。我预计会有更多的变化,因为在以后的日子里不确定性会更高。一个可能的解释是,我们在后来的日子里都没有很好地预测销售,所以我们最终的结果是一样的。

这就是这种分时段比赛的问题。在现实世界中,我们可能更关心前 5 天的预测,而不是后 11 天的预测,因为我们可以在 5 天后再次调整我们的预测。这个竞争是如何设置的意味着我们只关心后面的 11 天,这只有在销售数据需要 5 天才能使用的情况下才是合理的。我认为更好的方法是像网络流量时间序列预测Zillow 的家庭价值预测这样的两阶段设置。发布一个专用于私人排行榜的训练数据集。

未完待续…

这个第一部分没有涵盖大多数人关心的内容——模型结构、特征、超参数、集成技术等。相反,它侧重于我发现在数据科学过程中更重要的东西——分析和制定数据集,并描述了导致我最终到达那里的我的思维过程。

事实上,你可以用 LGBM 型号通过一些功能工程达到第一的位置。如果你只是想看一个顶级解决方案,你可以看看内核。就我个人而言,我对一个可以在以后的项目中使用并且几乎不需要特性工程的工作 DNN 框架感到满意,尽管它可能会被精心制作的 GBM 模型超越。

我将分享用理想设置训练的模型的分数,也许在下一部分描述一下我的模型。最终我希望我能找到时间来提取我的代码的一个更干净更简单的版本,并在 Github 上开源。

[## [点评] Kaggle Corporación Favorita 杂货销售预测—第二部分

赛后模型和模型描述

medium.com](https://medium.com/@ceshine/review-kaggle-corporaci%C3%B3n-favorita-grocery-sales-forecasting-part-ii-680cca7f9bc5)

复习:MobileNetV1 —深度方向可分离卷积(轻型模型)

原文:https://towardsdatascience.com/review-mobilenetv1-depthwise-separable-convolution-light-weight-model-a382df364b69?source=collection_archive---------1-----------------------

在这个故事中,回顾了来自谷歌的 MobileNetV1深度方向可分离卷积用于降低模型大小和复杂度。它对移动和嵌入式视觉应用特别有用。

  • 更小的模型尺寸:参数数量更少
  • 更小的复杂度:更少的乘法和加法(多重加法)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

When MobileNets Applied to Real Life

引入两个参数使得 MobileNet 可以很容易地调整:宽度乘数α分辨率乘数ρ 。而这是我写这篇论文的时候发表在arXiv 2017【1】的论文,引用600 多篇。(曾植和 @中)

上面的对象检测示例是 MobileNet,它实际上是令人惊讶的,因为它可以在同时检测到如此大量的对象时达到大约 25 fps。

涵盖哪些内容

  1. 深度方向可分离卷积
  2. 全网架构
  3. 较薄型号的宽度乘数α
  4. 简化表示的分辨率乘数ρ
  5. 与最先进方法的比较

1。深度方向可分离卷积

深度方向可分离卷积是一个深度方向卷积,后面跟着一个点方向卷积,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  1. 深度方向卷积通道方向 DK×DK 空间卷积。假设在上图中,我们有 5 个通道,那么我们将有 5 个 DK×DK 空间卷积。
  2. 逐点卷积实际上是改变尺寸的 1×1 卷积

通过以上操作,操作成本为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Depthwise Separable Convolution Cost: Depthwise Convolution Cost (Left), Pointwise Convolution Cost (Right)

其中 M:输入通道数,N:输出通道数,DK:内核大小,DF:特征映射大小。

对于标准卷积,它是:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Standard Convolution Cost

因此,计算量减少为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Depthwise Separable Convolution Cost / Standard Convolution Cost

当 DK×DK 为 3×3 时,计算量可减少 8 至 9 倍,但精度仅略有降低。

2。全网架构

以下是 MobileNet 架构:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Whole Network Architecture for MobileNet

请注意,批次归一化(BN)和 ReLU 在每次卷积后应用:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Standard Convolution (Left), Depthwise separable convolution (Right) With BN and ReLU

对于 ImageNet 数据集,If 标准卷积与深度方向可分离卷积:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Standard Convolution vs Depthwise Separable Convolution (ImageNet dataset)

MobileNet 只损失了 1%的精度,但乘法和参数却大大减少了。

3。更薄型号的宽度乘数α

引入宽度乘数α控制通道数或通道深度,使 M 变为αM,深度方向可分卷积代价变为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Depthwise Separable Convolution Cost with Width Multiplier α

其中α在 0 到 1 之间,典型设置为 1、0.75、0.5 和 0.25。当α=1 时,它是基线 MobileNet。并且计算成本和参数数量可以减少大约α倍。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Different Values of Width Multiplier α

精度从α=1 平滑下降到 0.5,直到α=0.25,这太小。

4。简化表示的分辨率乘数ρ

引入分辨率乘数ρ以控制网络的输入图像分辨率,用分辨率乘数ρ,成本变成:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Depthwise Separable Convolution Cost with Both Width Multiplier α and Resolution Multiplier ρ

其中ρ在 0 到 1 之间。输入分辨率为 224、192、160 和 128。当ρ=1 时,为基线 MobileNet。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Different Values of Resolution Multiplier ρ

分辨率从 224 到 128 时,精确度会平稳下降。

5。与最先进方法的比较

**当使用 1.0 MobileNet-224 时,它的性能优于 GoogLeNet(ils vrc 2014 的冠军)和 VGGNet(ils vrc 2014 的亚军)**而 multi-adds 和参数却少得多:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ImageNet Dataset

**当使用更小的网络(0.50 MobileNet-160)时,它的性能优于 Squeezenet 和 Alex net(2012 年 ILSVRC 的获奖者)**而 multi-adds 和参数则少得多:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ImageNet Dataset

它与 Inception-v3(ils vrc 2015 的亚军)也有竞争力,而 multi-adds 和参数要少得多:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Stanford Dogs Dataset

许多其他数据集也被尝试来证明 MobileNet 的有效性:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

GPS Localization Via Photos

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Face Attribute Classification

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Microsoft COCO Object Detection Dataset

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MobileNet SSD

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Face Recognition

总之,利用深度方向可分离卷积,使用 MobileNet 可以获得与最先进方法类似的性能,但网络要小得多。

的确,还有很多我上面没有提到的应用,比如通过照片进行 GPS 定位,人脸属性分类和人脸识别。希望我能在未来的日子里报道它们。😃

参考

  1. 【2017 arXiv】【MobileNetV1】
    MobileNets:面向移动视觉应用的高效卷积神经网络

我的评论

Inception-v3 BatchNorm GoogLeNet VGGNet AlexNet

Deeplearning.ai 课程回顾

原文:https://towardsdatascience.com/review-of-deeplearning-ai-courses-aed1328e4ffe?source=collection_archive---------2-----------------------

最近在 Coursera 上完成了吴恩达deeplearning.ai 专精的最后一门课程,想分享一下自己上这套课程的想法和体会。我发现 Arvind N 对前三门课程的评论在决定参加第一门课程时非常有用,所以我希望,也许这也能对其他人有用。

TL;博士;医生

选修这五门课很有教育意义。内容结构良好,对于至少对矩阵代数有一点了解的每个人来说都很容易理解。需要一些编写 Python 代码的经验。总体来说,编程作业设计得很好。除了它们有益的特性之外,研究它们也是非常令人愉快的。最后,在我看来,进行这种专业化是让你开始深度学习的各种主题的一种奇妙方式。在参加完这些课程后,你应该知道你想进一步专攻深度学习的哪个领域。

背景

我必须承认,在选修这些课程之前,我对神经网络(NN)持怀疑态度。我来自传统的机器学习(ML),我不认为一种黑盒方法,如将一些功能(神经元)切换在一起,我无法单独训练和评估,可能会胜过一个经过微调和良好评估的模型。深度学习(DL)和人工智能(AI)成为如此热门的词汇,这一事实让我更加怀疑。

尽管如此,我还是不时地从我认真对待的人那里听说 DL。尤其是他在苏黎士Apache Spark meetup上由 Shoaib Burq 所做的一次演讲,是一次思想转变。所以去年我决定去看看,在所有的喧嚣背后到底是什么。首先,我从看一些视频、读博客和做一些教程开始。不幸的是,这助长了我的假设,即它背后的数学对我来说可能有点太高级了。我非常喜欢数学的实用方面,但是当谈到为了推导而推导或抽象理论时,我绝对不喜欢。

当我第一次听说 deeplearning.ai 专业化时,我真的很兴奋。在之前的课程中,我体验到 Coursera 是一个非常适合我学习方式的平台。从他的第一个大型开放式在线课程(MOOC)的视频中,我知道吴恩达是一个伟大的 ML 领域的讲师。但是我从来没有做过那门课的作业,因为八度。读到实际课程的作业现在是用 Python (我的主要编程语言)编写的,最终让我相信,这一系列课程可能是以结构化方式进入 DL 领域的一个好机会。但是首先,我没有足够的时间做课程作业。

这种情况发生了变化,去年年中,我遭遇了一场健康问题(并不严重,但无论如何都很麻烦)。当我感觉好一点的时候,我决定最终报名参加第一个课程。通常情况下,我只参加我想学的主题的特定课程,看完内容后尽快完成作业。但这一次,我决定彻底地、一步一步地、一门一门地做。我希望,关于认知挑战性话题的工作可以帮助我尽快康复。做编程作业是一个受欢迎的机会,可以让你重新回到编程和在电脑上正常工作的状态。事实上,在最初的几个星期里,我只能坐在显示器前很短很有限的时间。所以我必须打印出作业,在一张纸上解决,然后在提交给评分员之前输入缺失的代码。此外,一个积极的,意想不到的副作用在开始时发生了。在前三门课程中有可选的视频,安德鲁采访 DL 的英雄(辛顿,本吉奥,卡帕西等)。这些视频不仅信息量大,而且很有激励性,至少对我来说是这样——尤其是和伊恩·古德菲勒一起的那个。

期待什么

在专业层面上,当你对这个话题相当陌生时,你可以通过做 deeplearning.ai 专业化学到很多东西。首先,你学习神经网络的基本概念。简单序列模型中的正向传递是什么样子,什么是反向传播等等。我偶尔读到和听说过 NN 的基本构建模块。但从来没有像吴恩达[和 T7]所呈现的那样清晰和有条理。因此,我觉得这套课程是一种非常省时的学习基础知识的方式,比我之前浏览的所有教程、博客帖子和讲座都更有价值。](https://medium.com/u/592ce2a67248?source=post_page-----aed1328e4ffe--------------------------------)

顺便提一下,第一堂课很快证明了这个假设是错误的,即数学对我来说可能太深奥了。事实上,对于大多数我从上学或学习时就熟悉的概念——我没有技术硕士学位,所以不要让你被公式中一些看起来很花哨的希腊字母吓跑。有了关于如何做矩阵代数的肤浅知识,利用导数计算梯度,以及对线性回归和梯度下降算法的基本理解,你就可以开始了——Andrew 会教你剩下的。

尽管在围绕该技术的大量营销材料中另有说明,但你也在第一堂入门课中了解到,神经网络在生物模型中没有对应的内容。神经元中的信号处理与神经网络所包含的函数(线性函数和非线性函数)非常不同。

对新手非常有用的是了解 DL 项目的不同方法。是使用预先训练好的模型进行迁移学习还是采取端到端学习的方式。此外,数据扩充的概念也被提出,至少在方法论层面上。

在更高级的课程中,您将了解到图像识别(课程 4)和序列模型(课程 5)的主题。这里分别教授了卷积神经网络(CNN)递归神经网络 (RNN)的最常见变体。我认为这是这个专业的主要优势,你可以获得广泛的最先进的模型和方法。这可能不会让你成为数字图书馆的专家,但你会感觉到在这个领域的哪个部分你可以进一步专业化。

我发现对加深理解非常有用的是用 Franç ois Chollet 的书“用 Python 进行深度学习”来补充课程工作。这门技术的方法论基础不在本书的讨论范围之内,在课程讲座中有很好的阐述。另一方面,DL 项目的实践方面,在课程中有所涉及,但在作业中没有广泛实践,在书中有很好的涵盖。尤其是数据预处理部分,在课程的编程作业中肯定是缺失的。在第二次和第四次 MOOC 中,你确实得到了关于使用 DL 框架的教程( tensorflowKeras ),但是很明显,Keras 的最初创建者写的一本书将教你如何更深刻地实现 DL 模型。

你能从这五门课程中具体期待什么,以及做课程工作的一些个人经验,列在下面的部分。之后,我会以一些最后的想法来结束。

神经网络和深度学习

本课程教你神经网络的基本构建模块。您将了解逻辑回归成本函数激活以及(sochastic-&mini-batch-)梯度下降如何工作。您还可以快速了解 Python 中 numpy 的矩阵代数。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Sho ya right, it’s a cat picture & it’s >magic< Bert 😃

这门课程是一门简单的入门课程。吴恩达是一个很棒的讲师,即使是数学背景不太好的人也能很好地理解课程内容。

对于这些任务,你从一个用于二进制分类的单感知器开始,升级到一个用于相同任务的多层感知器,最后用 numpy 编码一个深度神经网络。特别是这两个图像分类作业在某种意义上是有益的,你将从中获得一个工作的猫分类器。正如你在图片上看到的,它决定了一只猫是否在图像上— 咕噜声;)

改进深度神经网络:超参数调整、正则化和优化

顾名思义,在这门课程中,你将学习如何微调你的深层神经网络。最常见的问题,如过度拟合消失/爆炸渐变在这些讲座中得到解决。你学习如何找到正确的权重初始化,使用辍学正规化正规化。当然,不同的优化算法的变体是如何工作的,以及哪一个是适合你的问题的选择。

对我来说,本课程最有用的见解是使用随机值进行超参数调整,而不是更结构化的方法。事实证明,在一个确定的空间和正确的尺度上选取随机值,比使用网格搜索更有效,你应该熟悉传统的 ML。

这门课的作业有点枯燥,我猜是因为他们要处理的内容。但是,每一个都很有启发性——尤其是关于优化方法的那一个。作为奖励,你将在课程结束时获得一份关于如何使用 tensorflow 的教程,这对后续课程中即将到来的作业非常有用。

构建机器学习项目

这绝对是一只黑天鹅。因为它的内容只有两周的学习时间,我期望在前两门入门课程和之后的高级课程之间有一个快速填充,关于 CNN 和 RNN。此外,我认为我很习惯如何构建 ML 项目。然而,事实证明,这成了对我最有价值的课程。

在本课程中,您将学习开发 DL 模型的良好实践。将你的数据分成个训练-个开发-个测试集对大多数 ML 从业者来说应该很熟悉。在开始一个项目之前,彻底决定你想要优化哪些指标。你应该量化你的模型执行领域的贝叶斯最优误差(BOE),分别是什么样的人因失误(HLE)。这是重要的一步,我之前并没有意识到这一点(通常,我将性能与基线模型进行比较——尽管如此,这也很重要)。当您必须评估模型的性能时,您可以将开发误差与该 BOE(分别为。HLE)和训练失误,当然。这样你就可以比较你的模型的可避免偏差 (BOE 对训练误差)和方差(训练对开发误差)。这两者中哪一个更大取决于你应该使用什么策略来进一步提高性能。例如,如果方差有问题,您可以尝试获取更多数据,添加正则化或尝试完全不同的方法(例如替代架构不同超参数搜索)。

您还将了解建立一个项目的不同策略以及分别在转移端对端学习的具体内容。

卷积神经网络

由于我对计算机视觉不是很感兴趣,至少在选修这门课之前,我对它的内容并没有那么高的期望。但事实证明,这成了我整个系列课程中最有启发性的一课。

在本课程中,你主要学习 CNN 以及它们如何应用于计算机视觉任务。从讲座视频中,你可以一瞥 CNN 的构建模块,以及它们如何能够转变张量。有些视频还专门介绍了残网 (ResNet)和盗梦空间架构。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Detect ANIMALS, not CARS — with YOLO

我个人觉得视频,分别是作业,关于 YOLO 算法很吸引人。基本功能在讲座中非常直观,我以前从未想过物体检测会是如此令人愉快的任务。同样具有启发性的是,有时仅仅构建一个杰出但复杂的模型是不够的。在 YOLO 的背景下,尤其是它的后继者,很明显,预测的速度也是一个需要考虑的重要指标。

所有五门课程中最有启发性的作业变成了一门,在这门课中,你在一个低层次的抽象上实现一个 CNN 架构。编写反向传播的可选部分加深了我对反向学习步骤实际上是如何工作的理解。

人脸验证上有两个作业,分别在人脸识别上。这是一个很好的举动,在关于这些主题的讲座和作业中,你开始了解 deeplearning.ai 团队成员——至少从他们的照片中,因为这些照片被用作验证的示例图像。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Neural Style Transfer — me in a neobrutalist scenery. Model as the proposed one by Gatys et. al, 2015 with an alpha/beta ratio of 10e-3

一个艺术作业是关于神经类型转移的作业。基本上你要在 tensorflow 中实现 Gatys et al .,2015 论文的架构。我也用这个模型玩了一会儿,有些精彩,但也有些相当怪异的结果。当您浏览中间记录的结果时,您可以看到您的模型如何在各个时期学习并应用样式到输入图片。有一次我觉得自己有点像弗兰肯斯坦,因为我的模型从它的源图像中学习了一个人的眼睛区域,并将其应用到输入照片上的人的脸上。所以一不小心就成了 DeepFake

序列模型

最后一条,我觉得是最难的。你学习 RNN、门控循环单元 (GRU)和长短期记忆 (LSTM)的概念,包括它们的双向实现。尽管我的最终目标是通过这种专业化来理解和使用这些类型的模型,但我发现其中的内容很难理解。这可能是因为概念的复杂性,如通过时间的反向传播,单词嵌入波束搜索。我还认为,这些重要话题的数量最好分成四部分,而不是实际的三周。

另一方面,这门课的测验和程序作业看起来很简单。您将学习如何开发 RNN,它从字符序列中学习,以产生新的、相似的内容。例如,你必须编写一个能给恐龙起名字的模型。LSTMs 在各种任务中弹出。你建立了一个以莎士比亚风格写诗的程序,给定了一个序列。在另一项任务中,你可以再次成为艺术家。你必须建立一个 LSTM,它可以在爵士音乐的语料库中学习音乐模式。然后,你可以用这个模型创作一首新的爵士乐即兴作品。我的声音听起来像这个 T1——在蒙特勒听不出什么,但至少,它听起来确实像爵士乐。这又是一个 LSTM,预先结合了一个嵌入层,它可以检测输入序列的情绪,并在句子末尾添加最合适的表情符号。是的,它瞬间改变了所有的事情

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Emojify all the things! Using Word Embeddings and LSTM

很棒的是,你在第二周不仅学到了的单词嵌入,还学到了嵌入中包含的社会偏见问题。最重要的是,你学会了如何用三步法解决这个问题:识别中和均衡。最后,一个很有启发性的是最后一个编程作业。你可以建立一个触发单词检测器,就像你在亚马逊 Echo 或谷歌 Home 设备中发现的那样,来唤醒它们。我郑重发誓,我的模型比谷歌助手更了解我——它甚至有一个更令人愉快的唤醒词;)

最后的想法

最后,我想说的是,如果你对这个主题相对较新,你可以从这个专业中受益最多。如果你已经熟悉神经网络的基础,跳过前两门课程。如果你也非常熟悉图像识别和序列模型,我建议你只学习“构建机器学习项目”的课程。

另一方面,要清楚自己是哪种学习类型。如果你是一个严格的动手型的人,这个专业可能不适合你,有最可能的课程,更适合你的需求。人们说, fast.ai 提供了更多这样的体验。此外,如果你只对没有实际应用的理论感兴趣,你可能不会对这些课程感到满意——也许在你当地的大学学习一些课程。也许你只对数字图书馆的某个特定领域感兴趣,也可能有更适合你的课程。比如说,如果你只想学习自动驾驶,在 Udacity 报名“自动驾驶汽车”nano degree 可能会更有效率。你在 deeplearning.ai 的第三个课程中学到的关于这个话题的东西,可能太肤浅,缺乏实际的执行。但是,如果你重视对方法论的全面介绍,并希望将这与 DL 各个领域的一些实践经验结合起来,我绝对可以推荐你参加 deeplearning.ai 专业化。

做这个专精大概不止是进入 DL 的第一步。我会说,每门课程都是朝着正确方向迈出的一小步,所以你最终总共走了五步。尽管如此,我很清楚这绝对不足以让我在人工智能领域继续发展。我认为它建立了对这个领域的基本理解。但是更进一步,你必须大量练习,最终阅读更多关于 DL 变体的方法论背景可能也是有用的(例如,在讲座中提到的更高级的论文中)。但是做课程作业让你以一种结构化的方式开始——这是很有价值的,尤其是在一个如此热门的领域。

如果你想了解更多关于 deeplearning.ai 专业化的信息,并听到关于它的另一个(但相当类似的)观点:我可以推荐观看 Christoph Bonitz深度学习会议上讲述他参加这一系列 MOOCs 的经历。你可以在这里观看录像。

最重要的是,我不会后悔在 CourseraCoursera上花时间做这个专业。我的大部分希望都实现了,在职业层面上我学到了很多。这也是一个很好的决定,彻底完成所有的课程,包括选修部分。我非常感谢吴恩达鼓励你阅读论文以深入挖掘特定主题。因此,你可以从 MOOC 的讲座中获得一份精选的阅读清单,我发现这非常有用。

最后,我从这种专门化中得到的关键收获是:现在我完全相信 DL 方法及其威力。它的主要优势在于拥有大量数据的可伸缩性,以及一个模型归纳类似任务的能力,这可能是传统 ML 模型所不具备的。所以,我要感谢吴恩达,整个 deeplearning.ai 团队和 Coursera 在 DL 上提供了这么有价值的内容。我非常希望,在不久的将来,这个专业可能会有第六个课程——主题是深度强化学习

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

仅供参考,我不属于 deeplearning.ai、Coursera 或其他 MOOCs 提供商。我写了我在 2017-11 至 2018-02 期间参加这些课程的个人经历。此外,这个故事并没有声称是课程内容的普遍来源(因为它们可能会随着时间的推移而发生)。但是我绝对可以推荐报名,形成自己对这个专业的看法。

点评:PolyNet——ILSVRC 2016 亚军(图像分类)

原文:https://towardsdatascience.com/review-polynet-2nd-runner-up-in-ilsvrc-2016-image-classification-8a1a941ce9ea?source=collection_archive---------10-----------------------

通过使用多感知模块,优于 Inception-ResNet-v2

在这个故事里, CUHKSenseTime波利尼特进行了回顾。介绍了一种称为多增强模块的构建模块。基于该模块组成一个极深多边形。与Inception-ResNet-v2相比,PolyNet 将单一作物的前 5 名验证误差从 4.9%降低到 4.25%,将多作物的前 5 名验证误差从 3.7%降低到 3.45%。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PolyNet, By using PolyInception module, better than Inception-ResNet-v2

结果,PolyNet(团队名称为 CU-DeepLink)在 ILSVRC 2016 分类任务中获得亚军,如下。并以 2017 CVPR 论文发表。(曾植和 @中)

ResNet(2015 年 ILSVRC 的获胜者)的 3.57%相比,PolyNet 的得票率为 3.04%,具体如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ILSVRC 2016 Classification Ranking (Team Name: CU-DeepLink, Model Name: PolyNet) http://image-net.org/challenges/LSVRC/2016/results#loc

这个相对提升大概是 14%左右,这可不是小事!!!

涵盖哪些内容

  1. 对 Inception-ResNet-v2 (IR-v2)的简要回顾
  2. 多感知模块
  3. 消融研究
  4. 结果

1。对 Inception-ResNet-v2 (IR-v2)的简要回顾

随着 ResNetGoogle net(Inception-v1)的成功,引入了Inception-ResNet-v2(IR-v2)来结合两者:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception-ResNet-v2: Stem (Leftmost), Inception-A (2nd Left), Inception-B (2nd Right), Inception-C (Rightmost)

如上图,有一个跳过连接。还有几个平行的卷积路径,这是由 GoogLeNet 发起的。并且多个 Inception-A、Inception-B 和 Inception-C 在不同的级别级联。最后,Inception-ResNet-v2(IR-v2)获得了较高的分类准确率。

初始模块可以表述为一个抽象的剩余单元,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception Module (Left), Abstract Residual Unit Denoted by F (Right)

输出变成 x + F(x ),类似于残差块。

2。多感知模块

为了提高精度,只需添加一个二阶项,便可增加一个多项式组合:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

二阶项组成多感知模块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Different Types of PolyInception Module ((a) and (b) are the same)

提出了不同类型的多感知模块:

  • (a) poly-2 :第一条路径是跳过连接或身份路径。第二条路径是一阶先启块。第三条路径是二阶项,由两个初始块组成。
  • (b) poly-2 :由于第一个 Inception F 用于一阶路径和二阶路径,第一个 Inception F 可以共享。同样通过共享参数,第二次启始 F 与第一次相同。这可以在不引入额外参数的情况下增加表示能力。
    我们也可以想象它是
    (RNN)的一种递归神经网络。在二阶路径上,来自 Inception F 的输出再次回到 Inception F 的输入。这就变成了 1+F+F
  • © mpoly-2 :如果第二个 Inception G 不与 F 共享参数,我们得到 mpoly-2。这就变成了 1+F+GF
  • (d) 2 通:这是一个一阶多叠加I+F+G

这个概念可以扩展到高阶多感知模块。我们可以有 poly-3 (1+F+F +F )mpoly-3 (1+F+GF+HGF)3 向(I+F+G+H)

3.消融研究

现在我们手里有这么多选择。但是哪些组合是最好的呢?作者尝试了许多组合来寻找最佳组合。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inception-ResNet-v2 (IR-v2, IR 5–10–5) (Top), PolyNet (Bottom)

Inception-ResNet-v2(IR-v2)表示为IR 5–10–5,这意味着它在 A 阶段有 5 个 Inception-A 模块(IR-A),在 B 阶段有 10 个 Inception-B 模块(IR-B),在 C 阶段有 5 个 Inception-C 模块(IR-C)

3.1.单一类型替换

为了加快实验速度,一个缩小版的ir3–6–3 被用作基线。对于每一次,六个多感知模块中的一个被 Inception-A、Inception-B 或 Inception-C 模块所取代,如下所示。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top-5 Accuracy vs Time (Top), Top-5 Accuracy vs #Params (Bottom), with replacement at Inception-A (Left), Inception-B (Middle), and Inception-C (Right)

从上面的数字中,我们可以发现:

  • 任何二阶多感知模块都比初始模块好。
  • 增强 Inception-B 会带来最大的收益。而 mpoly-3 似乎是最好的一个。但是 poly-3 具有竞争性的结果,而只有 mpoly-3 的 1/3 参数大小。
  • 对于其他阶段,A 和 C,3 路性能略好于 mpoly 和 poly。

3.2.混合类型替换

IR 6–12–6 用作基线。而这 12 个 Inception-B 是关注点,因为它在之前的研究中得到了最大的改进。并且只测试一种混合多输入多输出(mixed B),即 (3 路> mpoly-3 > poly-3) × 4

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top-5 Error with different Inception module at Stage B

混合 B 的 Top-5 误差最低。

3.3.最终模型

  • 阶段 A: 10 个双向多输入模块
  • B 阶段:10 份聚-3 和 2-way 的混合物(总共 20 份)
  • 阶段 C: 5 种聚-3 和 2-way 的混合物(总共 10 种)

进行了一些修改以适应 GPU 内存,在保持深度的同时降低了成本。

4.结果

4.1.一些训练细节

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Initialization by Insertion (Left), Path Dropped by Stochastic Depth (Right)

插入初始化:为了加快收敛,如上图所示,先去掉二阶初始模块,先训练交错模块。因此,在开始时训练一个较小的网络。

随机深度 :通过随机丢弃网络的某些部分,可以减少过拟合。它可以被视为一种特殊的丢失情况,即丢失一条路径上的所有神经元。

4.2.ImageNet

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Single Model Results on 1000-Class ImageNet Dataset (Left) Top-5 Accuracy (Right)

  • 非常深的 Inception-ResNet:Inception-ResNet-v2IR 20–56–20。得到 19.10%的前 1 名误差和 4.48%的前 5 名误差。
  • Verp Deep PolyNet(10–20–10 mix):得到 18.71% Top-1 误差和 4.25% Top-5 误差
  • 在多作物的情况下,非常深的 PolyNet 得到了 17.36%的 Top-1 误差和 3.45%的 Top-5 误差,这一直优于非常深的 Inception-ResNet-v2
  • 因此,二阶多感知模块确实有助于提高精度。

通过使用多模型和多尺度输入图像进行组合,PolyNet 最终获得了 3.04%的 Top-5 错误率,并在 ILSVRC 2016 分类任务上获得亚军。

由于图像分类只有一个目标,即识别图像中的单个对象,因此用于图像分类的好模型通常成为对象检测、语义分割等网络的骨干。因此,研究图像分类模型是很有价值的。我也会学习 ResNeXt。

参考

【2017 CVPR】【波利尼特】
波利尼特:在非常深的网络中对结构多样性的追求

我对图像分类的相关综述

[LeNet][AlexNet][ZFNet][VGGNet][SPPNet][PReLU-Net][Google Net/Inception-v1][BN-Inception/Inception-v2][Inception-v3][Inception-v4 [ RoR ] [ 随机深度][WRN][dense net]

点评:PSP net——ils vrc 2016(语义分割/场景解析)获奖者

原文:https://towardsdatascience.com/review-pspnet-winner-in-ilsvrc-2016-semantic-segmentation-scene-parsing-e089e5df177d?source=collection_archive---------3-----------------------

金字塔场景解析网络:金字塔池模块

T 他的时代, PSPNet(金字塔场景解析网),由 CUHKSenseTime 点评。

  • 语义分割是为了只知道已知物体的每个像素的类别标签
  • 基于语义分割的场景解析,就是知道图像内所有像素的类别标签。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Scene Parsing

通过使用金字塔池模块,结合基于不同区域的上下文聚合,PSPNet 超越了最先进的方法,如 FCNDeepLabDilatedNet 。最后,PSPNet:

  • 获得 2016 年 ImageNet 场景解析挑战赛冠军
  • 当时在 PASCAL VOC 2012 &城市景观数据集上获得第一名

并发表在 2017 CVPR 上,引用 600 余次。( Sik-Ho Tsang @中)

涵盖哪些内容

  1. 全球信息的需求
  2. 金字塔池模块
  3. 一些细节
  4. 消融研究
  5. 与最先进方法的比较

1.全球信息的需要

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

© Original FCN without Context Aggregation, (d) PSPNet with Context Aggregation

  • 不匹配关系 : FCN 根据外观预测黄色盒子里的船是“汽车”。但常识是,车很少过江。
  • 混淆类别 : FCN 预测盒子里的物体是摩天大楼的一部分,也是建筑物的一部分。应该排除这些结果,这样整个对象要么是摩天大楼,要么是建筑物,但不能两者都是。
  • 不显眼类:枕头与床单外观相似。忽略全局场景类别可能无法解析枕头。

因此,我们需要图像的一些全局信息。

2.金字塔池模块

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Pyramid Pooling Module After Feature Extraction (Colors are important in this figure!!!)

(a)和(b)

在(a)处,我们有一个输入图像。在(b)处, ResNet 使用扩张网络策略(deep lab/dilated net)进行特征提取。扩张的卷积跟随 DeepLab 。这里的特征图大小是输入图像的 1/8。

©.1。分地区平均统筹

在©,对每个特征图执行子区域平均汇集。

  • 红色:这是对每个特征图执行全局平均汇集的最粗级别,以生成单个面元输出。
  • 橙色:这是第二层,将特征图分成 2×2 子区域,然后对每个子区域进行平均池化。
  • 蓝色:这是第三层,将特征图分成 3×3 个子区域,然后对每个子区域进行平均合并。
  • 绿色:这是将特征图划分为 6×6 子区域,然后对每个子区域进行合并的最细级别。

©.2。 1×1 卷积降维

然后对每个汇集的特征图执行 1×1 卷积将上下文表示减少到原始的 1/ N (黑色)如果金字塔的级别大小是 N

  • 在本例中, N =4,因为总共有 4 个级别(红、橙、蓝、绿)。
  • 如果输入特征图的数量是 2048,那么输出特征图将是(1/4)×2048 = 512,即 512 个输出特征图。

©.3。用于上采样的双线性插值

执行双线性插值以对每个低维特征图进行上采样,使其具有与原始特征图(黑色)相同的大小。

©.4。用于上下文聚合的串联

所有不同级别的上采样特征图都与原始特征图(黑色)连接在一起。这些特征图被融合为全局先验。这是©处的金字塔池模块的结尾。

(四)

最后,随后是卷积层,以在(d)生成最终预测图。

子区域平均池的思想实际上非常类似于 SPPNet 中的空间金字塔池。1×1 卷积然后串联与exceptionMobileNetV1 使用的深度方向可分离卷积中的深度方向卷积非常相似,除了双线性插值用于使所有特征图的大小相等。

3。关于训练的一些细节

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Auxiliary Loss at the Middle

  • 辅助损耗在训练时使用。将权重α0.4 添加到辅助损失中,以平衡最终损失和辅助损失。在测试过程中,辅助损耗被放弃。这是一种用于训练非常深的网络的深度监督训练策略。这个思路类似于 GoogLeNet / Inception-v1 中的辅助分类器。
  • 使用“Poly”学习代替基本学习。

4.消融研究

ADE2K 数据集是 ImageNet 场景解析挑战赛 2016 中的数据集。这是一个更具挑战性的数据集,有多达 150 个类,1,038 个图像级标签。并且有 20K/2K/3K 图像用于训练/验证/测试。

验证集用于消融研究。

4.1.最大(Max)与平均(AVE)池化和降维(DR)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Different Approaches on ADE2K Validation Set Results

  • ResNet50-Baseline :基于 ResNet50 的 FCN,网络扩大。
  • B1’和’b 1236’:分别为面元尺寸{1×1}和{1×1,2×2,3×3,6×6}的汇集特征图。
  • 最大平均:分别为最大汇集和平均汇集操作。
  • DR’:降维。

平均池一直有更好的结果。而且用 DR 比不用 DR 好。

4.2.辅助损耗

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Different Weights for Auxiliary Loss on ADE2K Validation Set Results

α=0.4 时,性能最佳。因此,使用α=0.4。

4.3.不同深度数和多尺度(MS)测试

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Different Depth Numbers and Multi-Scale Testing on ADE2K Validation Set Results

正如我们所知,更深的模型有更好的结果。多尺度测试有助于改善结果。

4.4.数据扩充(DA)及其与其他技术的比较

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Comparison with State-of-the-art Approaches on ADE2K Validation Set Results (All are Single Scale Except the Last Row.)

  • ResNet269+DA+AL+PSP :对于单一尺度的测试,把所有的东西结合在一起,它比最先进的方法要好得多。
  • ResNet269+DA+AL+PSP+MS :同样通过多尺度测试,获得更好的效果。
  • 下面是一些例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ADE2K Examples

5。与最先进方法的比较

5.1.ADE2K—2016 年 ImageNet 场景解析挑战赛

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ADE2K Test Set

  • PSPNet 赢得了 2016 年 ImageNet 场景解析挑战赛。

5.2.帕斯卡 VOC 2012

对于 DA,有 10582/1449/1456 个图像用于训练/验证/测试。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PASCAL VOC 2012 Test Set

  • +'表示也由 MS COCO 数据集预先训练。
  • PSPNet 再次胜过所有最先进的方法,如 FCN、DeconvNet、DeepLab 和 Dilation8。
  • 下面是一些例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PASCAL VOC 2012 Examples

5.3.城市景观

它包含从 50 个城市不同季节收集的 5000 幅高质量像素级精细注释图像。有 2975/500/1525 用于培训/验证/测试。它定义了包含东西和对象的 19 个类别。此外,在比较中,为两种设置提供 20000 个粗略注释的图像,即,仅用精细数据或用精细和粗略数据两者进行训练。两者的训练都用“++”标记。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Cityscapes Test Set

  • 仅用精细数据训练,或者同时用精细和粗糙数据训练,PSPNet 也得到了最好的结果。
  • 下面是一些例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Cityscapes Examples

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Cityscapes Examples

  • 作者还上传了 Cityscapes 数据集的视频,令人印象深刻:

  • 另外两个视频例子:

https://www.youtube.com/watch?v=gdAVqJn_J2M

【https://www.youtube.com/watch?v=HYghTzmbv6Q

利用金字塔池模块,获取图像的全局信息,改善结果。

参考

【2017 CVPR】【PSPNet】
金字塔场景解析网

我对图像分类的相关综述

)(我)(们)(都)(不)(想)(要)(让)(这)(些)(人)(都)(有)(这)(些)(的)(情)(况)(,)(我)(们)(都)(不)(想)(会)(有)(什)(么)(情)(况)(,)(我)(们)(都)(不)(想)(会)(有)(什)(么)(情)(况)(,)(我)(们)(还)(没)(有)(什)(么)(情)(况)(,)(我)(们)(还)(有)(什)(么)(情)(况)(,)(我)(们)(还)(没)(有)(什)(么)(好)(的)(情)(感)(。 )(我)(们)(都)(不)(知)(道)(,)(我)(们)(都)(是)(很)(好)(的)(,)(我)(们)(都)(是)(很)(好)(的)(。

我对语义分割的相关评论

[FCN][de convnet][deep lab v1&deep lab v2][parse net][dilated net]

我对生物医学图像分割的相关综述

[ 累计视频 1 ] [ 累计视频 2 / DCAN ] [ 优网 ] [ CFS-FCN ]

综述:R-FCN-阳性敏感得分图(物体检测)

原文:https://towardsdatascience.com/review-r-fcn-positive-sensitive-score-maps-object-detection-91cd2389345c?source=collection_archive---------4-----------------------

在这个故事中,简要回顾了微软和清华大学的 R-FCN(基于区域的完全卷积网络)。通过正敏感得分图,推理时间比更快的 R-CNN 快得多,同时仍然保持竞争的准确性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

From R-CNN to R-FCN

这是一篇在我写这篇论文的时候,在 2016 NIPS 上有超过 700 次引用的论文。由于了解对象检测方法的发展可以更多地了解创新背后的原因,我希望我可以在未来的未来包括更多的对象检测方法。( Sik-Ho Tsang @中)

R-FCN Demonstration

涵盖哪些内容

  1. R-FCN 相对于 R-CNN 的优势
  2. 阳性敏感得分图& ROI 汇集
  3. 其他详情
  4. 结果

1.R-FCN 相对 R-CNN 的优势

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

R-CNN series

对于传统的区域提议网络(RPN)方法,例如 R-CNN、快速 R-CNN 和更快 R-CNN,区域提议首先由 RPN 生成。然后完成 ROI 合并,并通过全连接(FC)层进行分类和边界框回归。

ROI 合并后的流程(FC 层)不会在 ROI 之间共享,并且需要时间,这使得 RPN 方法很慢。FC 层增加了连接(参数)的数量,这也增加了复杂性。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

R-FCN

在 R-FCN,我们仍有 RPN 来获取区域提案,但与 R-CNN 系列不同的是,ROI 汇集后的 FC 层被移除。相反,所有主要的复杂性都在 ROI 汇集之前移动,以生成评分图。所有区域提案,在 ROI 汇集后,将使用同一组得分图来执行平均投票,这是一个简单计算。 **因此,在 ROI 层之后没有可学习的层,这几乎是免费的。**结果,R-FCN 甚至比具有竞争地图的更快的 R-CNN 还要快。

2.阳性敏感得分图& ROI 合并

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Positive-Sensitive Score Maps & Positive-Sensitive ROI Pooling (k=3 in this figure) (Colors are important in this diagram)

2.1 阳性敏感得分图

为了简单起见,让我们去掉 RPN。

我们有 C 类需要检测。(C+1)表示 C 个对象类加上背景类。

在正敏感分数图之前的开始处的许多卷积之后,我们执行 k (C+1)-d 卷积。对于每个类,将有 k 个特征图。这些 k 特征图代表了{左上(TL),中上(TC)、…,右下(BR)} 我们要检测的对象。

2.2 积极敏感的投资回报池

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

An Example of Positive-Sensitive ROI Pooling

当 ROI 合并时,产生大小为 k 的(C+1)个特征图,即 k (C+1)。在图中,它们以相同的面积和相同的颜色汇集在一起。执行平均投票以生成(C+1)个一维向量。最后对矢量进行 softmax。

当区域提案与以下目标不重叠时,我们将投反对票:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

When the region proposal does not overlap the object so much.

2.3 边界框回归

执行与类别无关的包围盒回归,这意味着回归在类别之间共享。

在 k (C+1)-d 卷积层,附加一个兄弟 4k -d 卷积层。在这个 4k 地图库上执行位置敏感 RoI 汇集,为每个 RoI 产生 4k -d 向量。然后通过平均投票聚合成一个 4-d 向量,表示包围盒的 {tx,ty,tw,th} (位置和大小),和 Fast R-CNN 中的一样。

3。其他细节

3.1 主干架构

从 ImageNet 预训练的 ResNet-101 的前 100 个 conv 被用于在阳性敏感分数图之前计算特征图。

3.2 培训

损失紧随快速 R-CNN :

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Lcls 是分类损失,Lreg 是边界框回归损失。

在线硬例挖掘(OHEM) 用于训练。在 N 个建议中,只有具有最高损失的顶部 B 个 ROI 被用于反向传播。

4 步交替训练在更快的 R-CNN 中同样完成,以训练 RPN 和 R-FCN。

3.3 推理

非最大抑制(NMS) 在 0.3 IoU 时执行后处理

4.结果

4.1 VOC 2007 数据集

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Study of k values

7×7 ROI 大小的 R-FCN 获得了 76.6%的 mAP,优于更快的 R-CNN。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The use of OHEM

使用 OHEM,获得了 79.5%的 mAP。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Multi-Scale Training

使用不同比例的图像进行训练,R-FCN 具有 83.6%的 mAP,这比更快的 R-CNN++的 85.6%的 mAP 稍差。但是 R-FCN 的测试时间是每张图片 0.17 秒,比更快的 R-CNN++的测试时间(3.36 秒/张图片)快多了。这是因为 ROI 合并后没有 FC 层。

而且我们可以看到训练的细节也是至关重要的,这使得 mAP 增加了这么多,从 76.6%到 83.6%的 mAP。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Different Backbones on VOC 2007

使用 ResNet-152 与使用 ResNet-101 具有相似的映射。这是由于 ResNet 网络问题。如果在 ResNet 中使用身份映射,可以超过 1000 层,不会在 152 层饱和。(如果感兴趣,也请阅读我在 ResNet 上关于身份映射的评论。)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Some Amazing Results on VOC 2007 Dataset

4.2 VOC 2012 和 MS COCO 数据集

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

VOC 2012 Dataset

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MS COCO Dataset

类似于 VOC 2007 数据集的结果, R-FCN 比更快的 R-CNN++具有竞争力但 mAP 更低。但是R-FCN 的测试时间要快得多。

对象检测方法可以分为两阶段(R-CNN 系列与 RPN)和一阶段(YOLO,SSD)方法。R-FCN 可以看作是两阶段方法中的一种快速方法。

由于了解对象检测方法的发展可以更多地了解创新背后的原因,我希望我可以在未来的未来包括更多的对象检测方法。

参考

【2016 NIPS】【R-FCN】
R-FCN:经由基于区域的完全卷积网络的物体检测

我的评论

[R-CNN][Fast R-CNN][Fast R-CNN][SPPNet][yolov 1][VGGNet][ResNet][ResNet with Identity Mapping]

点评:ResNet——2015 年国际影像分类、定位、检测奖得主

原文:https://towardsdatascience.com/review-resnet-winner-of-ilsvrc-2015-image-classification-localization-detection-e39402bfa5d8?source=collection_archive---------4-----------------------

本故事中, ResNet [1]回顾。ResNet 可以通过学习残差表示函数而不是直接学习信号表示,拥有一个非常深的网络达到 152 层

ResNet 引入了跳过连接(或快捷连接)来将来自上一层的输入适配到下一层,而不对输入进行任何修改。跳过连接使得能够有更深的网络,最终 ResNet 成为 ILSVRC 2015 在图像分类、检测和定位方面的赢家,以及 MS COCO 2015 检测和分割的赢家。这是一篇 2016 CVPR 论文,引用超过 19000 次。 ( 曾锡豪 @中)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ILSVRC 2015 Image Classification Ranking

ImageNet 是一个数据集,包含超过 1500 万张带有标签的高分辨率图像,大约有 22,000 个类别。ILSVRC 在 1000 个类别中的每个类别中使用大约 1000 个图像的 ImageNet 子集。总的来说,大约有 120 万幅训练图像、50,000 幅验证图像和 100,000 幅测试图像。

涵盖哪些内容

  1. 平面网络问题(消失/爆炸梯度)
  2. 剩余网络中的跳过/快捷连接(ResNet)
  3. ResNet 架构
  4. 瓶颈设计
  5. 消融研究
  6. 与最先进方法的比较(图像分类)
  7. 与最先进方法的比较(物体检测)

1。普通网络的问题

对于传统的深度学习网络,它们通常有 conv 层,然后是用于分类任务的全连接(FC)层,如 AlexNet、ZFNet 和 VGGNet,没有任何跳过/快捷连接,我们在这里将它们称为平面网络当平面网络较深时(层数增加),会出现消失/爆炸渐变的问题。

消失/爆炸渐变

在反向传播期间,当误差函数相对于训练的每次迭代中的当前权重的偏导数时,这具有将这些小/大数的 n 乘以 n 层网络中的“前”层的梯度的效果

当网络很深的时候,这些小数字的乘积 n 就会变成零(消失)。

当网络很深,并且这些大数相乘 n 就会变得过大(爆炸)。

我们期望更深的网络会有更准确的预测。然而,下面显示了一个例子, 20 层平面网络比 56 层平面网络具有更低的训练误差和测试误差,由于梯度消失,出现了退化问题。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Plain Networks for CIFAR-10 Dataset

2.剩余网络中的跳过/快捷连接(ResNet)

为了解决消失/爆炸渐变的问题,添加了一个跳过/快捷连接,以在几个权重层后将输入 x 添加到输出,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A Building Block of Residual Network

因此,输出 H(x)= F(x) + x权重层其实就是学习一种残差映射: F(x)=H(x)-x

即使权重层存在消失梯度,我们仍然始终有身份 x 转移回更早的层。

3.ResNet 架构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

34-layer ResNet with Skip / Shortcut Connection (Top), 34-layer Plain Network (Middle), 19-layer VGG-19 (Bottom)

上图显示了 ResNet 架构。

  1. VGG-19 2是 2014 年 ILSVRC 中最先进的方法。
  2. 34 层平面网(中间)作为 VGG-19 的深层网,即更多的 conv 层。
  3. 34 层残差网络(ResNet)(上)是普通网络,增加了 skip / shortcut 连接。

对于 ResNet,当输入尺寸小于输出尺寸时,有 3 种类型的跳过/快捷连接。

(A)快捷方式执行标识映射,并额外填充零以增加维度。因此,没有额外的参数。

(B)投影快捷方式仅用于增加维度,其他快捷方式是恒等式。需要额外的参数。

©所有快捷方式都是投影。额外的参数比(B)的多。

4。瓶颈设计

由于现在网络很深,时间复杂度很高。瓶颈设计用于降低复杂性,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The Basic Block (Left) and The Proposed Bottleneck Design (Right)

如图(右)所示, 1×1 conv 层被添加到网络的起点和终点。这是网络中的网络和 GoogLeNet (Inception-v1)中建议的技术。事实证明, 1×1 conv 可以减少连接(参数)的数量,同时不会使网络性能下降太多。(有兴趣请访问我的评论。)

通过瓶颈设计,34 层 ResNet 变成了 50 层 ResNet。还有有瓶颈设计的更深网络: **ResNet-101 和 ResNet-152。**全网整体架构如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

The overall architecture for all network

注意到 VGG-16/19 有 15.3/19.6 亿次 FLOPS。ResNet-152 的复杂度仍然低于 VGG-16/19!!!!

5.消融研究

5.1 普通网络与 ResNet

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Validation Error: 18-Layer and 34-Layer Plain Network (Left), 18-Layer and 34-Layer ResNet (right)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top-1 Error Using 10-Crop Testing

当使用平面网络时,由于消失梯度问题,18 层比 34 层好。

使用 ResNet 时,34 层优于 18 层,通过跳过连接解决了消失梯度问题。

如果对比 18 层的素网和 18 层的 ResNet,没有太大区别。这是因为对于浅层网络不存在消失梯度问题。

5.2 其他设置

批量归一化(从 Inception-v2) 用在每次 conv 之后。使用 10-作物测试。采用多尺度平均分数的全卷积形式 {224,256,384,480,640} 。 **6 个模型用于集成增强。**以上是之前深度学习框架中使用的一些技术。如果感兴趣,也请随时阅读我的评论。

6。与最先进方法的比较(图像分类)

6.1 ILSVRC

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

10-Crop Testing Results

通过比较 ResNet-34 A、B 和 C, B 略好于 A,C 略好于 B,因为引入了额外的参数,所有参数的误差率都在 7%左右。

通过将网络深度增加到 152 层,获得了 5.71%的 top-5 错误率,这比 VGG-16、GoogLeNet (Inception-v1)和 PReLU-Net 好得多。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

10-Crop Testing + Fully Conv with Multiple Scale Results

ResNet-152 通过 10 次作物测试+多次完全 Conv,可以获得 4.49%的错误率。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

10-Crop Testing + Fully Conv with Multiple Scale + 6-Model Ensemble Results

加入 6 模型集成技术,错误率为 3.57%。

6.2 CIFAR-10

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

CIFAR-10 Results

有了 skip 连接,我们可以更深入。然而,当层数从 110 层增加到 1202 层时,误差率从 6.43%增加到 7.93%,这是一个有待解决的问题。尽管如此,ResNet-1202 不存在优化困难,即它仍然可以收敛。

7。与最先进方法的比较(物体检测)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PASCAL VOC 2007/2012 mAP (%)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MS COCO mAP (%)

通过在更快的 R-CNN 中采用 ResNet-101,ResNet 获得了比 VGG-16 更好的性能。

ResNet 最终获得了 ImageNet 检测、定位、COCO 检测和 COCO 分割的第一名!!!

参考

  1. 【2016 CVPR】【ResNet】
    用于图像识别的深度残差学习
  2. 【2015 ICLR】【VGGNet】
    用于大规模图像识别的极深度卷积网络
  3. [2015 NIPS][更快的 R-CNN]
    更快的 R-CNN:通过区域提议网络实现实时目标检测
  4. 【2017 TPAMI】【更快的 R-CNN】
    更快的 R-CNN:利用区域提议网络实现实时对象检测

我的评论

  1. 回顾:更快的 R-CNN(物体检测)
  2. 回顾:批量归一化(Inception-v2/BN-Inception)——ILSVRC 2015 中第二个超越人类水平的性能(图像分类)
  3. 回顾:在 ILSVRC 2015(图像分类)中第一个超越人类水平性能的 PReLU-Net
  4. 回顾:Google net(Inception v1)——ILSVRC 2014(图像分类)获奖者
  5. 点评:VGGNet—ils vrc 2014 亚军(图像分类)、冠军(本地化)

点评:RES next——ils vrc 2016(图像分类)亚军

原文:https://towardsdatascience.com/review-resnext-1st-runner-up-of-ilsvrc-2016-image-classification-15d7f17b42ac?source=collection_archive---------2-----------------------

神经元网络,一种新的维度:基数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在这个故事里, ResNeXt,加州大学圣地亚哥分校脸书艾研究(FAIR)进行回顾。模型名称 ResNeXt 包含 NeXt。这意味着下一个尺寸,在 ResNet 之上。下一个维度称为“ 基数维度。而 ResNeXt 成为 ILSVRC 分类任务的亚军。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ILSVRC 2016 Classification Ranking http://image-net.org/challenges/LSVRC/2016/results#loc

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Residual Block in ResNet (Left), A Block of ResNeXt with Cardinality = 32 (Right)

ResNet(ils vrc 2015 中的冠军,3.57%)和 PolyNet (亚军,3.04%,队名 CU-DeepLink)相比,ResNeXt 得到了 3.03%的 Top-5 错误率,相对提高了 15%左右的较大幅度!!

这篇文章发表在 2017 CVPR 上,在我写这篇文章的时候已经被引用了 500 次。( Sik-Ho Tsang @中)

涵盖哪些内容

  1. 聚合转换
  2. 的关系 Inception-ResNet ,以及 中的分组卷积 AlexNet
  3. 完整的架构和消融研究
  4. 结果

1.聚集变换

1.1.重温简单神经元

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A Simple Neuron (Left), and the corresponding equation (Right)

我们应该知道,一个简单的神经元如上,其输出是 wi 乘以 xi 的总和。上面的操作可以被改写为拆分、转换和聚合的组合。

  • 分裂:向量 x 被切片为低维嵌入,在上图中,它是一个一维子空间 xi。
  • 变换:对低维表示进行变换,在上面,简单缩放:wixi。
  • 聚合:所有嵌入中的变换通过求和来聚合。

1.2.聚合转换

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

A Block of ResNeXt with Cardinality = 32 (Left), and Its Generic Equation (Right)

与“网络中的网络”形成对比的是,“神经元中的网络”沿着一个新的维度展开。代替在每个路径中乘以 xi 的简单神经元中的线性函数,为每个路径执行非线性函数

引入了一个新的维度 C ,称为“基数”。基数的维度控制着更复杂转换的数量

2。 与【Inception-ResNet】的关系以及 与【AlexNet】

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(a) ResNeXt Block, (b) Inception-ResNet Block, © Grouped Convolution

为了比较,上述 3 个块在每个块内具有相同的内部尺寸。

(a) ResNeXt 块(左)

  • 对于每个路径,con v1×1–con v3×3–con v1×1在每个卷积路径上完成。这是 ResNet 块中的瓶颈设计。每个路径的内部尺寸表示为d(d= 4)。路径数是基数 C ( C =32) 。如果我们把每个 Conv3×3 的尺寸加起来(即 d × C =4×32),也是 128 的尺寸。
  • 维度直接从 4 增加到 256,然后加在一起,还加了跳过连接路径。
  • Inception-ResNet 需要将维度从 4 增加到 128 再增加到 256 相比, ResNeXt 需要最小的额外工作来设计每条路径。
  • ResNet 不同,在 ResNeXt 中,一条路径上的神经元不会连接到其他路径上的神经元。

(b) 【盗梦空间】 街区(中间)

  • 这在 Inception-v4 中建议将 Inception 模块和 ResNet 模块合并。由于遗留问题,对于每个卷积路径,首先执行con v1×1–con v3×3。当加在一起时(即 4×32),Conv3×3 的尺寸为 128。
  • 然后输出以 128 的维数连接在一起。 Conv1×1 用于将尺寸从 128 恢复到 256。
  • 最后,使用跳过连接路径添加输出。
  • 主要区别在于它们有一个早期连接

©分组卷积AlexNet(右)

  • con v1×1–con v3×3–con v1×1在卷积路径上完成,实际上是 ResNet 中提出的一个瓶颈设计。Conv3×3 的尺寸为 128。
  • 然而,这里使用了 AlexNet 中建议的分组卷积。因此,Conv3×3 是更宽但连接稀疏的模块。(因为一条路径上的神经元不会连接到其他路径上的神经元,所以连接稀疏。)
  • 因此有 32 组回旋。(仅在 AlexNet 中有 2 组)
  • 则跳过连接是并行的,并添加了卷积路径。因此,卷积路径正在学习残差表示。

尽管(b)和©中的结构并不总是与 1.2 中所示方程的一般形式相同,实际上作者已经尝试了上述三种结构,他们发现结果是相同的。

最后,作者选择实现©中的结构,因为它比其他两种形式更简洁和更快。

3.完整的架构和消融研究

3.1.相似复杂度下 Cd 的烧蚀研究

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Detailed Architecture (Left), Number of Parameters for Each Block (Top Right), Different Settings to Maintain Similar Complexity (Middle Right), Ablation Study for Different Settings Under Similar Complexity (Bottom Right)

  • ResNet-50 是 ResNeXt-50 的特例,其中 C =1, d =64。
  • 为了公平比较,尝试了具有不同 C 的不同 ResNeXt 和具有与 ResNet 相似复杂度的 d 。这在上图的右中部显示。
  • 发现 ResNeXt-50 (32×4d)对 ImageNet-1K (1K 表示 1K 类)数据集获得 22.2%的 top-1 错误,而 ResNet-50 仅获得 23.9%的 top-1 错误。
  • ResNeXt-101 (32×4d)对 ImageNet 数据集获得 21.2%的 top-1 误差,而 ResNet-101 仅获得 22.0%的 top-1 误差。

3.2.基数的重要性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Ablation Study for Different Settings of 2× Complexity Models

  • ResNet-200:21.7%的前 1 名和 5.8%的前 5 名错误率。
  • ResNet-101,更宽 :仅获得 21.3%的 top-1 和 5.7%的 top-5 错误率,也就是说只做得更宽并没有太大帮助
  • ResNeXt-101 (2×64d) :仅通过使***= 2****(即 ResNeXt 块内的两条卷积路径)已经获得了明显的改善,top-1 错误率为 20.7%,top-5 错误率为 5.5%。*
  • ResNeXt-101 (64×4d) :通过使**= 64****(即 ResNeXt 块内的 64 个卷积路径)已经获得了更好的改进,具有 20.4%的 top-1 和 5.3%的 top-5 错误率。这意味着基数对于提高分类精度至关重要。**

3.2.剩余连接的重要性

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Importance of Residual Connections

如果没有剩余连接,ResNet-50 和 ResNeXt-50 的错误率都会大大增加。残留连接很重要。

4.结果

4.1.ImageNet-1K

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Single Crop Testing: ResNet/ResNeXt is 224×224 and 320×320, Inception models: 299×299

ImageNet-1K 是 22K 类 ImageNet 数据集的子集,包含 1000 个类。它也是 ILSVRC 分类任务的数据集。

  • 使用标准尺寸图像进行单作物测试,ResNeXt-101 获得 20.4%前 1 名和 5.3%前 5 名错误率,
  • 由于使用更大尺寸的图像进行单作物测试,ResNeXt-101 获得了 19.1%的前 1 名和 4.4%的前 5 名错误率,这比所有最先进的方法、 ResNet预激活 ResNetInception-v3Inception-v4Inception-ResNet-v2 都有更好的结果。

4.2.ImageNet-5K

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ImageNet-5K Results (All trained from scratch)

ImageNet-1K 经过这么多年的发展,已经有些饱和了。

ImageNet-5K 是 22K 类 ImageNet 数据集的子集,包含 5000 个类,其中也包含 ImageNet-1K 类。

  • 680 万张图片,是 ImageNet-1K 数据集的 5 倍。
  • 由于没有正式的训练/验证集,因此使用原始的 ImageNet-1K 验证集进行评估。
  • 5K 级别是超过 5K 级别的soft max。因此,当网络在 ImageNet-1K 验证数据集上预测其他 4K 类的标签时,将会出现自动错误。
  • 1K 路分类就是超过 1K 级的soft max

ResNeXt 当然得到了比上面显示的 ResNet 更好的结果。

4.3.西法尔-10 和西法尔-100

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

CIFAR-10 and CIFAR-100 Results

CIFAR-10 & CIFAR-100,两个非常著名的 10 类和 100 类数据集。

  • 左图:与 ResNet 相比,ResNeXt 在 CIFAR-10 中总是获得更好的成绩。
  • 右图:与宽 ResNet (WRN) 相比,ResNeXt-29 (16×64d)对于 CIFAR-10 和 CIFAR-100 分别获得 3.58%和 17.31%的误差。这些是当时所有最先进方法中最好的结果。

4.4.MS COCO 对象检测

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MS COCO Objection Detection Results

  • 通过将 ResNet /ResNeXt 插入更快的 R-CNN ,在相似的模型复杂度下,ResNeXt 在所有 IoU 级别的 AP@0.5 (IoU > 0.5)和 mean AP(平均预测)方面始终优于 ResNet

随着 ResNeXt 的成功,它也被 Mask R-CNN 用于实例分割。希望我以后也能报道面具 R-CNN。

参考

【2017 CVPR】【ResNeXt】
深度神经网络的聚合残差变换

我对图像分类的相关综述

[LeNet][AlexNet][ZFNet][VGGNet][SPPNet][PReLU-Net][Google Net/Inception-v1][BN-Inception/Inception-v2][Inception-v3][Inception-v4 [ RoR ] [ 随机深度][WRN][PolyNet][dense net]

我对物体检测的相关评论

[ 更快的 R-CNN

回顾:RoR—ResNet/多级 ResNet(图像分类)

原文:https://towardsdatascience.com/review-ror-resnet-of-resnet-multilevel-resnet-image-classification-cd3b0fcc19bb?source=collection_archive---------15-----------------------

残差网络的一种改进形式

在这个故事里,【残网】是短暂的回顾。ResNet 作为一种先进的深度学习方法获得成功并赢得众多的识别竞赛后,有许多研究致力于如何推广或改进 ResNet ,如预激活 ResNet 、ResNet (RiR)中的ResNet、具有随机深度(SD)的ResNet宽残差网络(WRN) 。RoR 是另一篇改进 ResNet 的论文,他们引入了一个概念,即一组 ResNet 块也可以有一个快捷连接。这使得一个网络成为多级分层 ResNet 。这是一篇 2016 年在 ResNet 之后首次出现,2017 年被接受,最近终于发表在 2018 TCSVT 上的论文,已经被引用了几十次。( Sik-Ho Tsang @中)

涵盖哪些内容

  1. RoR 概念(残差网络中的残差网络)
  2. RoR- m :级别编号m
  3. 不同版本的 RoR
  4. 结果

1。RoR 概念(残差网络的残差网络)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Original ResNet (Left), RoR (Right)

原 ResNet 如左上所示,无数的残差块级联在一起,形成了一个非常深的网络。

在残差块中,有两条路径:

  • 卷积路径执行卷积以提取特征
  • 快捷连接路径将输入信号直接传输到下一层。

利用捷径连接路径,可以减少梯度消失问题,因为误差信号可以在反向传播期间更容易地传播到早期层。

RoR 如右上方所示,提出我们也可以有跨越一组剩余区块的捷径连接。在此之上,我们还可以有跨越一组“剩余块组”的另一个级别的快捷连接。

作者认为:

  • RoR 把学习问题转移到学习剩余映射的剩余映射,比原 ResNet简单易学。
  • 并且上部块中的层也可以将信息传播到下部块中的层

2.RoR- m :级别号 m

级别编号m介绍:

  • m = 1 时,RoR 只有末级快捷方式,即原剩余网络。
  • m = 2 时,RoR 只有根级(最外层),以及末级快捷方式。
  • m = 3 时,RoR 有根级中层末级快捷方式。

对于中层快捷方式,每个快捷方式将跨越具有相同大小的特征图的剩余块。

并且也测试了 m = 4 和 5,但是在论文中没有关于它的任何细节。尽管如此,与 mm= 3 相比,结果还是不够好。

3.不同版本的 RoR

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

RoR-3 Using Original ResNet (Left), RoR-3 Using Pre-Activation ResNet or WRN (Right)

如上所示,RoR 适用于 ResNet 的不同版本。

简单来说,RoR-3 使用 Conv-BN-ReLU。前 RoR-3 使用 BN-ReLU-Conv,而 WRN 是前 RoR-3 的更宽更浅的版本。(如果有兴趣,请阅读我对原创 ResNet预激活 ResNetWRN 的评论。)

4.结果

4.1。CIFAR-10、CIFAR-100、SVHN

  • CIFAR-10 : 10 级数据集
  • CIFAR-100 : 100 级数据集
  • SVHN :街景门牌号数据集

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Test Error (%) on CIFAR-10, CIFAR-100, SVHN Dataset

  • RoR-3-164 :通过将 RoR 应用于 164 层 原始 ResNet4.86%22.47% (+SD 表示使用随机深度,以减少过拟合)分别得到 CIFAR-10 和 CIFAR-100 数据集的测试误差。(164 是模型深度。)
  • Pre-RoR-3-164+SD :通过将 RoR 替换为 预激活 ResNet4.51%21.94% 分别得到 CIFAR-10 和 CIFAR–100 数据集的测试误差。
  • RoR-3–wrn 40–4+SD:通过 预激活 ResNet 替换为更宽的 40 层wrn 40–4**4.09%**和 20.11% 得到 CIFAR-10 和 CIFAR–100 数据集的测试误差
  • RoR-3–wrn 58–4+SD:用更深的 58 层【WRN-58–4**3.77%****19.73%**分别得到了 CIFAR-10 和 CIFAR–100 数据集的测试误差。

4.2.ImageNet

ImageNet:ils vrc 中的 1000 级大规模数据集。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

10-Crop Testing of Validation Error (%) on ImageNet Dataset

RoR-3 的不同层版本始终优于 ResNet 的不同层版本。

文中有详细的烧蚀实验。如果有兴趣,请访问该文件。

使用长短跳跃连接的类似方法也已经应用于生物医学图像分割。希望我也能报道它。

参考

【2018 TCSVT】【RoR】
残差网络残差网络:多级残差网络

我对图像分类的相关综述

[LeNet][AlexNet][ZFNet][VGGNet][SPPNet][PReLU-Net][Google Net/Inception-v1][BN-Inception/Inception-v2][Inception-v3][Inception-v4

点评:sharp mask—2015 年 COCO 细分(实例细分)亚军

原文:https://towardsdatascience.com/review-sharpmask-instance-segmentation-6509f7401a61?source=collection_archive---------12-----------------------

一个细化模块,一个编码器解码器架构脸书 AI Research (FAIR)

在这个故事里, SharpMask ,由脸书 AI Research (FAIR) 进行点评。编码器解码器架构从 2016 年开始普及。通过将自顶向下传递的特征映射连接到自底向上传递的特征映射,可以进一步提高性能。

  • 对象检测:识别对象类别,并使用图像中每个已知对象的边界框定位位置。
  • 语义分割:为图像中每个已知的物体识别每个像素的物体类别。标签是类感知的。
  • 实例分割:识别图像中每个已知对象的每个像素的每个对象实例。标签是实例感知的。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Object Detection (Left), Semantic Segmentation (Middle), Instance Segmentation

SharpMask 在 MS COCO 分段挑战中获得第二名,在 MS COCO 检测挑战中获得第二名。已在 2016 ECCV 发表,引用 200 余次。( Sik-Ho Tsang @中)

  • MS COCO 的平均召回率提高了 10–20%。
  • 通过优化架构,速度比 DeepMask 提升 50%。
  • 通过使用额外的图像比例,小物体召回率提高了约 2 倍。
  • 通过将 SharpMask 应用到快速 R-CNN 上,对象检测结果也得到改善。

涵盖哪些内容

  1. 编码器解码器架构
  2. 一些细节
  3. 架构优化
  4. 结果

1。编码器解码器架构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Architectures for Instance Segmentation

(一)传统的前馈网络

  • 该网络包含一系列卷积层汇集阶段交错,减少了特征图的空间维度,随后是一个全连接层以生成对象遮罩。因此,每个像素预测都基于对象的完整视图,然而,由于多个池阶段,其输入特征分辨率较低。
  • 这种网络架构类似于深度屏蔽方法。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 深度蒙版仅粗略对齐对象边界。
  • 锐化掩模产生更清晰、像素精确的对象掩模。

(b)多尺度网络

  • 这种架构相当于从每个网络层进行独立预测,并对结果进行上采样和平均。
  • 这种网络架构类似于 FCN累积视觉 1 方法(注意:它们不是用于实例分割)。

©编码器解码器网络和(d)细化模块

  • 在自底向上通过(网络左侧)的一系列卷积之后,特征图非常小。
  • 这些特征图在自上而下的通道(网络的右侧)使用 2 倍双线性插值进行 3×3 卷积和逐渐上采样
  • 除此之外,在上采样之前,在自下而上的过程中的对应的相同大小的特征图 F连接到自上而下的过程中的掩模编码特征图 M
  • 在每次拼接之前,还要对 F 进行 3×3 卷积,以减少特征图的数量,因为直接拼接计算量很大。
  • 串联也被用于许多深度学习方法,如著名的 U-Net
  • 并且作者重构了精化模块,这导致了更有效的实现,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(a) Original (b) Refactored but equivalent model that leads to a more effcient implementation

2。一些细节

使用 ImageNet-预训练的 50 层 ResNet

两阶段训练

首先,模型被训练以使用前馈路径联合推断粗略的逐像素分割掩模和对象分数。第二,前馈路径被“冻结”并且精化模块被训练。

  • 可以获得更快的收敛。
  • 我们可以仅使用前向路径得到粗略的掩码,或者使用自下而上和自上而下的路径得到清晰的掩码。
  • 一旦前向分支已经收敛,整个网络的微调增益是最小的。

在全图推理过程中

  • 只有最有希望的位置被细化。优化了前 N 个评分建议窗口。

3.架构优化

要求降低网络的复杂性。并且发现deep mask40%的时间用于特征提取,40%用于掩膜预测,20%用于评分预测。

3.1.主干架构

  • 输入尺寸 W :减小 W 会降低步幅密度 S,从而进一步损害准确性。
  • 汇集层 P :更多的汇集层 P 导致更快的计算,但也导致特征分辨率的损失。
  • 步幅密度 S :在保持 W 不变的情况下使步幅加倍会大大降低性能
  • 深度 D
  • 特征通道 F

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Results for Various W, P, D, S, F

  • W160-P4-D39-F128: 获得速度和精度的权衡。
  • 最上面一行和最后一行分别是使用不包括时间分数预测时间的多尺度推理的深度掩码和夏普掩码(即 W160-P4-D39-F128)的定时。
  • 深度蒙版和锐度蒙版的总时间分别为每张图像 1.59 秒和 0.76 秒。这意味着深度遮罩和锐度遮罩的 FPS 分别约为 0.63 FPS 和 1.32 FPS。

3.2.头部结构

头部架构也消耗了模型的一定复杂度。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Various Head Architecture

  • (a):原始深度遮罩头部架构获取遮罩并评分。
  • (b)到(d):各种公共共享 conv 和全连接层,以获得遮罩和分数。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Results for Various Head ARchitectures

  • 选择磁头 C 是因为其简单性和时间性。

3.3.不同 Conv 的特征地图数量

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • (a)对于所有卷积,特征图的数量是相同的。
  • (b)特征图的数量沿自下而上的路径减少,沿自上而下的路径增加。
  • 和(b)具有更短的推断时间和相似的 AUC(在 10,100,1000 个建议时 ar 的平均值)。

4.结果

4.1.COCO 女士细分

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Results on MS COCO Segmentation

  • 深面具-我们的 : 深面具躯干和头部优化,比深面具好。
  • 比以前最先进的方法更好
  • SharpMaskZoom&SharpMaskZoom:带有一个或两个额外的更小的缩放比例,并实现了对小对象的 AR 的大幅提升。

4.2.2015 年可可小姐挑战赛中的物体检测和结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Results on MS COCO

顶端

中间

  • SharpMask+MPN(另一个主干称为 MultiPathNet),它在 COCO 女士分割挑战中获得第二名。

底部

  • 夏普面具+MPN,在可可小姐探测挑战中获得第二名,比离子强。

但那一刻 SharpMask 只用 VGGNet 做骨干。因此,结果是低劣的。

4.3.定性结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

SharpMask proposals with highest IoU to the ground truth on selected COCO images. Missed objects (no matching proposals with IoU > 0:5) are marked in red. The last row shows a number of failure cases.

通过逐渐上采样,早期特征图与后期特征图连接,SharpMask 优于 DeepMask

参考

【2016 ECCV】【sharp mask】
学习提炼对象片段

我的相关评论

)(我)(们)(都)(不)(想)(到)(这)(些)(人)(,)(我)(们)(都)(不)(想)(要)(到)(这)(些)(人)(,)(但)(是)(这)(些)(人)(还)(不)(想)(到)(这)(些)(人)(,)(我)(们)(还)(没)(想)(到)(这)(些)(事)(,)(我)(们)(就)(想)(到)(了)(这)(些)(人)(们)(,)(我)(们)(们)(都)(不)(想)(要)(到)(这)(些)(人)(,)(但)(我)(们)(还)(没)(想)(到)(这)(些)(事)(,)(我)(们)(还)(没)(想)(到)(这)(里)(来)(。 )(我)(们)(都)(不)(知)(道)(,)(我)(们)(还)(是)(不)(知)(道)(,)(我)(们)(还)(是)(不)(知)(道)(,)(我)(们)(还)(是)(不)(知)(道)(,)(我)(们)(还)(是)(不)(知)(道)(,)(我)(们)(还)(是)(不)(知)(道)(,)(我)(们)(还)(是)(不)(知)(道)(,)(我)(们)(还)(是)(不)(知)(道)(。

物体检测 过食R-CNN快 R-CNN快 R-CNNDeepID-NetR-FCNyolo v1SSDyolo v2/yolo 9000

语义切分
[FCN][de convnet][deeplabv 1&deeplabv 2][parse net][dilated net][PSPNet]

生物医学图像分割 cumed vision 1cumed vision 2/DCANU-NetCFS-FCN

实例分割 深度遮罩

回顾:固态硬盘—单次检测器(物体检测)

原文:https://towardsdatascience.com/review-ssd-single-shot-detector-object-detection-851a94607d11?source=collection_archive---------2-----------------------

T his time, SSD(单发探测器)回顾。通过使用 SSD,我们只需要拍摄一张照片来检测图像内的多个对象,而基于区域提议网络(RPN)的方法,如 R-CNN 系列,需要拍摄两张照片,一张用于生成区域提议,一张用于检测每个提议的对象。因此,与基于双镜头 RPN 的方法相比,SSD 要快得多。

SSD300 在 59 FPS 时实现了 74.3%的 mAP,而 SSD500 在 22 FPS 时实现了 76.9%的 mAP,其性能优于更快的 R-CNN(7 FPS 时 73.2%的 mAP)yolov 1(45 FPS 时 63.4%的 mAP)。下面是一个使用 MobileNet 进行特征提取的 SSD 示例:

SSD

从上面我们可以看到惊人的实时性能。而 SSD 是我写这个故事的时候 2016 ECCV 一篇超过 2000 引用的论文。( Sik-Ho Tsang @中)

涵盖哪些内容

  1. 多箱探测器
  2. SSD 网络架构
  3. 损失函数
  4. 默认框的比例和长宽比
  5. 培训的一些细节
  6. 结果

1.多箱探测器

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

SSD: Multiple Bounding Boxes for Localization (loc) and Confidence (conf)

  • 经过一定的卷积进行特征提取后,我们得到一个尺寸为 m × n (位置数)的特征层,具有 p 通道,如上面的 8×8 或 4×4。并且在这个m×n×p特征层上应用 3×3 conv。
  • 对于每个位置,我们得到了 k 个包围盒。这些 k 个边界框具有不同的大小和纵横比。这个概念是,也许一个垂直的长方形更适合人类,一个水平的长方形更适合汽车。
  • 对于每个边界框,我们将计算 c 类分数和相对于原始默认边界框形状的 4 个偏移量。
  • 因此,我们得到了**(c+4)kmn输出。**

这也是论文被称为“SSD:单拍多盒探测器”的原因。但以上只是 SSD 的一部分。

2. SSD 网络架构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

SSD (Top) vs YOLO (Bottom)

为了有更精确的检测,不同层的特征图也通过一个小的 3×3 卷积来进行对象检测,如上所示。

  • 比如说在 Conv4_3,尺寸是 38×38×512采用 3×3 conv。并且有 4 个边界框每个边界框将有(类+ 4)个输出。因此,在 Conv4_3,输出为 38×38×4×( c +4)。假设有 20 个对象类加上一个背景类,输出为 38×38×4×(21+4)= 144400。就包围盒的数量而言,有 38×38×4 = 5776 个包围盒。
  • 类似地,对于其他 conv 层:
  • Conv7: 19×19×6 = 2166 盒(每个位置 6 盒)
  • Conv8_2: 10×10×6 = 600 盒(每个位置 6 盒)
  • Conv9_2: 5×5×6 = 150 盒(每个位置 6 盒)
  • Conv10_2: 3×3×4 = 36 盒(每个位置 4 盒)
  • Conv11_2: 1×1×4 = 4 盒(每个位置 4 盒)

如果把它们加起来,我们总共得到了 5776+2166+600+150+36+4 =8732 箱。如果我们记得 YOLO,最后有 7×7 个位置,每个位置有 2 个边界框。YOLO 只有 7×7×2 = 98 盒。因此 SSD 有 8732 个包围盒,比 YOLO 多。

3.损失函数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

损失函数包括两项:Lconf 和 Lloc,其中 N 是匹配的默认框。匹配的默认框

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Localization Loss

Lloc 是定位损失,它是预测框(l)和地面实况框(g)参数之间的平滑 L1 损失。这些参数包括边界框的中心点(cx,cy)、宽度(w)和高度(h)的偏移量。这种损失与更快的 R-CNN 中的损失类似。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Confidence Loss

Lconf 是置信度损失,它是多个类别置信度©的软最大损失。(通过交叉验证将α设置为 1。) xij^p = {1,0},是将类别 p 的第 i 个默认框匹配到第 j 个真实框的指示器。

**4。**默认框的比例和长宽比

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Scale of Default Boxes

假设我们有 m 个特征图用于预测,我们可以计算第 k 个特征图的 Sk 。Smin 是 0.2,Smax 是 0.9。这意味着最低层的比例为 0.2,最高层的比例为 0.9。中间的所有层都是规则间隔的。

对于每个比例 sk,我们有 5 个非方形纵横比:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

5 Non-Square Bounding Boxes

对于 1:1 的纵横比,我们得到 sk ':

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1 Square Bounding Box

因此,我们总共最多可以有 6 个不同纵横比的边界框。对于只有 4 个边界框的层,ar = 1/3,省略 3。

5.训练的一些细节

5.1 硬负开采

我们没有使用所有的负面例子,而是使用每个默认框的最高置信损失对它们进行排序,并挑选出顶部的例子,这样负面和正面之间的比率最多为 3:1。

这可以导致更快的优化更稳定的训练

5.2 数据扩充

每个训练图像通过以下方式随机采样:

  • 整个原始输入图像
  • 对面片进行采样,使其与对象的重叠为 0.1、0.3、0.5、0.7 或 0.9。
  • 随机抽取补丁样本

每个采样面片的大小为【0.1,1】或原始图像大小,纵横比从 1/2 到 2 。在上述步骤之后,每个采样的小块将被调整到固定的大小,并且除了一些光度量失真【14】之外,还可能以 0.5 的概率水平翻转。

5.3 阿特鲁卷积(空洞算法/扩张卷积)

基本网络是 VGG16 ,并使用 ILSVRC 分类数据集进行预训练。 FC6 和 FC7 变为卷积层,分别为 Conv6 和 Conv7 ,如上图所示。

此外, FC6 和 FC7 使用阿特鲁卷积(又名空洞算法或扩张卷积)代替常规卷积。 pool5 由 2×2-s2 改为 3×3-s1

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Atrous convolution / Hole algorithm / Dilated convolution

正如我们所见,特征图在 Conv6 和 Conv7 处较大,使用如上所示的阿特鲁卷积可以增加感受野,同时保持参数数量相对较少。(我希望在未来的日子里,我可以回顾一下 DeepLab,以更详细地介绍这一点。)

6.结果

有两种型号:SSD300 和 SSD512。
SSD300: 300×300 输入图像,分辨率更低,速度更快。
SSD512: 512×512 输入图像,分辨率更高,更精确。让我们看看结果。

6.1 模型分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Model Analysis

  • 数据扩充至关重要,它将 mAP 从 65.5%提高到 74.3%。
  • 随着更多的默认框形状,它从 71.6%提高到 74.3%的地图。
  • 阿特鲁的情况也差不多。但是没有 atrous 的要慢 20%左右。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Multiple Output Layers at Different Resolutions

随着 conv 图层的输出越来越多,包含的边界框也越来越多。正常情况下,准确率从 62.4%提高到 74.6%。然而,conv 11 _ 2 的加入使结果变得更糟。作者认为盒子不够大,无法覆盖大型物体。

6.2 帕斯卡 VOC 2007

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Pascal VOC 2007 Dataset

如上图,SSD512 有 81.6%的 mAP。SSD300 具有 79.6%的 mAP,这已经优于 78.8%的更快的 R-CNN。

6.3 帕斯卡 VOC 2012

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Pascal VOC 2012 Dataset

SSD512 (80.0%)比更快的 R-CNN (75.9%)准确率高 4.1%。

6.4 可可女士

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

MS COCO Dataset

SSD512 在 mAP@0.5 中只比更快的 R-CNN 好 1.2%。这是因为对于较大的对象,它具有好得多的 AP (4.8%)和 AR (4.6%),但是对于小对象,它在 AP (1.3%)和 AR (2.0%)方面的改善相对较小。

更快的 R-CNN 在使用 SSD 的较小对象上更具竞争力。作者认为,这是由于基于 RPN 的方法,其中包括两个镜头。

6.5 ILSVRC DET

在 SSD300 上获得初步结果:在 val2 集合上获得 43.4%的 mAP。

6.6 小物体精度的数据扩充

为了克服第 6.4 节中提到的对小目标漏检的弱点,进行了**“缩小”操作以创建更多的小训练样本。**跨多个数据集实现了 2%-3%的 mAP 增长,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Data Augmentation for Small Object Accuracy

6.7 推理时间

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Inference Time

  • 批量大小为 1 时,SSD300 和 SSD512 分别可以获得 46 和 19 FPS。
  • 在批量大小为 8 的情况下,SSD300 和 SSD512 分别可以获得 59 和 22 FPS。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Some “Crazy” Detection Results on MS COCO Dataset

SSD300 和 SSD512 都有较高的 mAP 和较高的 FPS。因此,SSD 是需要研究的目标检测方法之一。顺便说一下,我希望将来能报道 DSSD。

参考

【2016 ECCV】【SSD】
SSD:单发多盒探测器

我的相关评论

[ R-CNN ] [ 快速 R-CNN ] [ 更快 R-CNN][yolov 1][VGGNet]

综述:随机深度(图像分类)

原文:https://towardsdatascience.com/review-stochastic-depth-image-classification-a4e225807f4a?source=collection_archive---------12-----------------------

在这个故事里,随机深度是简短回顾。随机深度,一个训练短网络的训练程序,在测试时使用深度网络。这是由困境所激发的:

使用深度模型:我们可以得到更好的预测精度,但是由于梯度消失问题,很难训练。

使用更浅的模型:我们可以更容易地训练网络,但预测精度有时不够好。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Can we?

通过使用随机深度,网络在训练过程中被缩短,即,层的子集被随机丢弃,并通过身份函数绕过它们。并且在测试/推断期间使用完整的网络。通过这种方式:

  • 培训时间大幅减少
  • 测试误差也显著改善

这是我写故事的时候在 2016 ECCV 上的一篇论文,有大约 400 次引用。( Sik-Ho Tsang @中)

涵盖哪些内容

  1. ResNet 的简要修改
  2. ResNet 带随机深度
  3. 一些结果和分析

1.原始 ResNet 的简要修订

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

One l-th Residual Block (ResBlock) in Original ResNet

ResNet 中,假设 H _ l-1 是上述 ResBlock 的输入, H _ l-1 会经过两条路径。

  • 上路径f _ l(H_l-1):conv>BN>ReLU>conv>BN
  • 下部路径 id(H_l-1):标识路径不修改输入

然后这两路的输出加在一起,然后 ReLU,变成 H _ l

通过使用相同路径,即跳过连接或快捷连接,我们可以保持输入信号,并试图避免梯度消失问题。最后,我们可以获得一个非常深的模型。

然而,这种深度模型的训练时间

此外,可能会有过度拟合问题

2.具有随机深度的 ResNet

2.1.培养

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Some ResBlocks are Dropped Randomly Based on Bernoulli Random Variable

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Linear Decay Rule

通过使用随机深度,在训练期间,对于每个小批量,每个 ResBlock 将具有“存活”概率 p _ l.

如果幸存下来,它会被保存下来。否则如上所示跳过。

用随机深度训练的网络可以被解释为不同深度的网络的隐含集合。

决定 p _ l

  • 一种是沿整个模型有 p _ l定值
  • 一个是沿着整个模型对 p _ l线性衰减规则

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如果使用线性衰减规则,较早(较深)的层有更大的机会幸存(跳过),如上例所示。

**训练时,预期网络深度比整个网络深度短。**若全网深度 L =110, p_L =0.5,则期望网络深度 E(L’)= 40。因此,训练时间要短得多。

2.2。测试

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Weighted by p_l during testing

测试期间的随机深度需要对网络进行小的修改。因为在训练期间,函数 f _ l 仅在所有更新的一小部分 p _ l 内有效,并且下一层的相应权重被校准用于该生存概率。因此,我们需要根据任何给定函数 f _ l 参与训练的预期次数 p _ l 来重新校准其输出。

3.一些结果和分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

CIFAR10, CIFAR100, ImageNet Results

3.1.西法尔-10,西法尔-100,SHVN

例如在图的左上方:

  • 恒定深度的训练损失< Training loss of Stochastic Depth
  • Test loss of constant depth (6.41%) >随机深度的测试损失(5.25%)
  • 这意味着随机深度减少了过度拟合。

使用 110 或 1202 层模型的 CIFAR-100 和 SHVN 的趋势相似。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Training Time

  • 训练时间也缩短了很多。

3.2.ImageNet

对于图右下方的 ImageNet:

  • 虽然验证误差非常接近(恒定深度为 23.06%,随机深度为 23.38%),但是训练时间缩短了 25%。
  • 如果训练时间相等,最终误差为 21.98%。

以下是每个数据集的详细结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Detailed Results for Each Dataset

3.3.分析

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Mean Gradient Magnitude

通过查看每个时期的平均梯度幅度,**随机深度始终比恒定深度具有更大的权重。**这意味着,梯度消失问题在随机深度中不太严重。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Test Error vs Survival Probability (Left), and Test Error Heatmap with P_L vs Network Depth (Right)

对于左侧的测试误差与生存概率:

  • 两种分配规则(线性衰减和均匀分配)都比恒定深度产生更好的结果。
  • 线性衰减规则始终优于均匀规则。
  • p _ L 在 0.4 到 0.8 范围内时,线性衰减法则获得竞争结果。
  • p_L= 0.2的情况下,线性衰减的随机深度仍然表现良好,同时给出训练时间减少 40%

对于右侧的热图:

  • p_L= 0.5 的较深网络更好。
  • 一个足够深的模型是随机深度显著优于基线所必需的。

除了丢弃之外,我们还可以通过使用随机深度来减少网络深度,从而减少过拟合,从而丢弃一些模块。

参考

【2016 ECCV】【随机深度】
深度随机的深度网络

我的相关评论

)(我)(们)(都)(不)(想)(到)(这)(些)(人)(,)(我)(们)(都)(不)(想)(到)(这)(些)(人)(,)(但)(是)(这)(些)(人)(还)(有)(什)(么)(情)(况)(呢)(?)(我)(们)(都)(不)(想)(到)(这)(些)(人)(了)(,)(我)(们)(还)(没)(想)(要)(到)(这)(些)(人)(,)(我)(们)(还)(没)(想)(要)(到)(这)(些)(人)(,)(我)(们)(就)(不)(能)(想)(到)(这)(些)(事)(,)(我)(们)(还)(没)(想)(到)(这)(里)(来)(。

回顾:Trimps-Soushen——2016 年 ILSVRC(图像分类)获奖者

原文:https://towardsdatascience.com/review-trimps-soushen-winner-in-ilsvrc-2016-image-classification-dfbc423111dd?source=collection_archive---------8-----------------------

深度特征融合的良好实践:第一个获得 3%以下的错误率(当人类性能只能获得 5%时)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Trimps Is Active at Different Technology Aspects http://news.sina.com.cn/c/2017-09-17/doc-ifykynia7850053.shtml

In this story, the approach by the winner, Trimps-Soushen, in ILSVRC 2016 classification task, is reviewed. Trimps stands for The Third Research Institute of Ministry of Public Security, or in chinese 公安部三所. In brief, Trimps is the research institute for advancing the technologies for public security in China, which was launched in 1978 at Shanghai. Soushen should be the team name under Trimps, in chinese 搜神. It means god of search, where Sou (搜) means search and Shen (神) means god. (Sik-Ho Tsang @ Medium)

Trimps-Soushen 在 2016 年赢得了多项比赛:

  • 物体定位:第一名,7.71%误差
  • 物体分类:第一名,2.99%误差
  • 物体检测:第三名,61.82%地图
  • 场景分类:第三名,误差 10.3%
  • 视频目标检测:第三名,70.97%地图

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ILSVRC 2016 Classification Ranking http://image-net.org/challenges/LSVRC/2016/results#loc

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ILSVRC Classification Results from 2011 to 2016

虽然 Trimps-Soushen 在多个识别任务上拥有最先进的成果,但Trimps-Soushen没有新的创新技术或新颖性。可能因为这个原因,他们没有发表任何关于它的论文或技术报告。

相反,他们只在 2016 年 ECCV 的 ImageNet 和 COCO 联合研讨会上分享了他们的成果。他们有一些关于数据集的有趣事实。

涵盖哪些内容

  1. 使用不同模型的集成(图像分类)
  2. 基于前 20 名准确度的一些发现(图像分类)
  3. 区域融合(图像定位)
  4. 用于其他任务的多模型融合(场景分类/对象检测/从视频中检测对象)

1.使用不同模型的集成

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ImageNet Classification Errors for Top-10 Difficult Categories

Trimps-Soushen 使用了来自 Inception-v3Inception-v4Inception-ResNet-v2预激活 ResNet-200Wide ResNet(WRN-68–2)的预训练模型进行分类,并找出了如上的前 10 个困难类别。

  • 获得了不同的结果,这意味着没有模型在所有类别中占主导地位。每个模型都擅长对某些类别进行分类,但也擅长对某些类别进行分类。
  • 模型的多样性可以用来提高精确度。

在培训期间,Trimps-Soushen 只是进行了多规模扩增和大迷你批量。在测试期间,多尺度+翻转与密集融合一起使用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ImageNet Top-5 Error Rate Results

  • 5 个最佳模型的验证误差为 3.52%-4.65%。
  • 通过组合这 5 个模型( Inception-ResNet-v2 具有更高的权重),获得了 2.92%的验证误差。
  • 获得了 2.99%的测试误差,这是第一个在 3%误差率下获得的测试误差。

2.基于前 20 名准确度的一些发现

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Top-k Accuracy

Top- k 精度如上图所示。当 k =20 时,获得 99.27%的精度。误差率小于 1%。

为什么使用 Top-20 精度仍有误差?

Trimp-Soushen 非常详细地分析了这些 1%的误差图像!!!

他们从验证集中手动分析了 1458 个错误图像。大致得到 7 类误差如下:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

7 Error Categories

2.1.标签可能有误

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Label May Wrong (Maybe it is really a sleeping bag for Hello Kitty? lol)

地面真相是睡袋,但显然,它是一个铅笔盒!!!!

这是因为地面真相在 ImageNet 数据集中是手动标注的。由于 ImageNet 是一个包含超过 1500 万个带标签的高分辨率图像的数据集,约有 22,000 个类别,并且 1000 个类别的 ImageNet 数据集的子集用于竞争,因此可能会有一些错误的标签。

在 1458 幅错误图像中,有 211 幅是“标签可能错误”,约占 15.16%。

2.2.多个对象(> 5)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Multiple Objects (>5) (Which is the main object?)

上图包含多个对象(> 5)。实际上,这种图像不适合于 ILSVRC 分类任务。因为在 ILSVRC 分类任务中,对于每幅图像应该只识别一个类别。

在 1458 幅错误图像中有 118 幅是“多物体(> 5)”,约占 8.09%。

2.3.不明显的主要对象

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Non-Obvious Main Object (Please find the paper towel in the image, lol !!)

由于在分类任务中应该只识别一个类别,所以上面的图像在图像中没有一个明显的主要对象。可以是船,也可以是码头。但事实是纸巾。

在 1458 幅错误图像中,有 355 幅是“非明显主目标”,约占 24.35%。

2.4.混淆标签

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Confusing Label (Maybe there is no sunscreen inside, lol.)

事实是防晒霜。这一次,标签似乎是正确的,因为纸箱上说的 SPF30。但任务将变成理解纸箱上文字的含义,这与基于形状和颜色识别物体的最初目标相去甚远。

1458 幅错误图像中有 206 幅是“混淆标签”,约占 14.13%。

2.5.细粒度标签

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Fine-Grained Label

事实是正确的。牛肝菌和臭牛肝菌都是真菌的种类。事实上,这种类型的标签甚至很难被人类识别。

1458 幅错误图像中有 258 幅是“细粒度标签”,约占 17.70%。

网络可以改善这个范畴。

2.6.明显错误

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Obvious Wrong

事实是正确的。即使使用前 20 名预测,网络也无法预测它。

1458 幅错误图像中有 234 幅“明显错误”,约占 16.05%。

网络可以改善这个范畴。

2.7.部分对象

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Partial Object

图像可能只包含对象的一部分,这很难识别。如果把多张桌椅拉远一点,看起来像个餐厅,可能图像会更好。

在 1458 幅错误图像中,有 66 幅是“部分目标”,约占 4.53%。

所以精度很难提高 1%。

3.区域融合(图像定位)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Region Fusion for Image Localization

为了定位图像中的前 5 个预测标签,使用了使用多个模型的更快的 R-CNN 架构。多个模型用于通过快速 R-CNN 中的区域提案网络(RPN)生成区域提案。然后基于前 5 个分类预测标签,执行定位预测。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Image Localization Top-5 Validation Error Results

  • 以前最先进的方法 : 得到 8.51%到 9.27% 的误差。
  • 集成所有:将所有方法融合在一起,得到 7.58% 误差。
  • 除了一个模型之外的集合:仅获得 7.75%到 7.93%的误差。

因此,模型之间差异是重要的,并有助于预测精度的大幅度提高。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ILSVRC Localization Top-5 Test Error Results from 2012 to 2016

4。用于其他任务的多模型融合(场景分类/对象检测/从视频中检测对象)

4.1.场景分类

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Multi-Scale & Multi-Model Fusion for Scene Classification

通过连接结果而不是在网络末端将结果相加,使用改进的多尺度方法。

除了使用相同模型使用多尺度输入进行预测之外,通过连接结果并通过 FC 和 softmax 使用两个训练模型(我相信使用相同的模型网络)。验证误差为 10.80%。

采用 7×2 模型,验证误差为 10.39%,检验误差为 10.42%。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Scene Classification Top-5 Test Error Results

使用外部数据集 Places2 的模型也用于预训练,获得了 10.3%的 top-5 测试误差,在场景分类中获得第三名。

4.2.目标检测

类似于图像定位,更快的 R-CNN 架构用于多模型融合。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Object Detection mAP Results

获得了 61.82%的 mAP。

4.3.视频中的目标检测

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Object Detection from Video mAP Results

光流引导的运动预测也用于减少假阴性检测。获得了 70.97%的 mAP。

由于模型的多样性,模型融合是有效的。通过模型融合,Trimps-Soushen 胜过 ResNeXtPolyNet ,获得图像分类第一名。模型融合也被成功地应用到其他任务中。这意味着除了网络架构的创新优化或新颖设计,其他技术东西如多模型融合也可以帮助提高准确性很多

另一方面,如果 Trimps-Soushen 使用ResNeXtpoly net进行模型融合,也许可以进一步减小的误差,因为 ResNeXtPolyNet 比用于模型融合的那些模型获得更高的精度。

参考

【2016 ECCV】【Trimps-Soushen】(仅幻灯片)
深度特征融合的良好实践

我对图像分类的相关综述

[LeNet][AlexNet][ZFNet][VGGNet][SPPNet][PReLU-Net][Google Net/Inception-v1][BN-Inception/Inception-v2][Inception-v3][Inception-v4 [ RoR ] [ 随机深度 ] [ WRN ] [ 波利尼西亚][ResNeXt][dense net]

我对物体检测的相关评论

[ 更快的 R-CNN

综述:U-Net(生物医学图像分割)

原文:https://towardsdatascience.com/review-u-net-biomedical-image-segmentation-d02bf06ca760?source=collection_archive---------4-----------------------

在这个故事中, U-Net 进行了回顾。U-Net 是生物医学图像分割中著名的全卷积网络(FCN)之一,在我写这个故事的时候已经发表在 2015 MICCAI 上,引用超过 3000 次。( Sik-Ho Tsang @中)

在生物医学图像注释领域,我们总是需要获得相关知识的专家来注释每幅图像。而且他们也消耗大量的时间来注释如果注释过程变得自动化,可以减少人力和降低成本。或者可以作为辅助角色减少人为错误

你可能会问:“读生物医学图像分割是不是太狭隘了?”

然而,我们可以学习它的技术,并将其应用于不同的行业。比方说,质量控制/自动检测/施工/制造过程中的自动机器人,或者我们可能想到的任何其他东西。这些活动包括定量诊断。如果我们能使它自动化,就能以更高的精度节省成本。

在这篇论文中,他们分割/注释了电子显微镜(EM)图像。他们还对网络进行了一点点修改,以分割/注释 2015 年 ISBI 的牙齿 x 光图像。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

EM Images

涵盖哪些内容

A.EM 图像分割

  1. U-Net 网络体系结构
  2. 重叠平铺策略
  3. 用于数据扩充的弹性变形
  4. 触摸物体的分离
  5. 结果

B.牙科 X 射线图像分割

  1. 对 U-Net 的一些修改
  2. 结果

A.1. U-Net 网络架构

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

U-Net

U-net 架构如上图。它由收缩路径和膨胀路径组成。

收缩路径

  • 连续完成两次 3×3 Conv2×2 最大汇集。这有助于提取更高级的要素,但也会减小要素地图的大小。

扩展路径

  • 连续进行 2×2 上 conv两次 3×3 Conv 来恢复分割图的大小。然而,上述过程减少了“哪里”,尽管它增加了“什么”。这意味着,我们可以获得高级功能,但我们也失去了本地化信息。
  • 因此,在每个上 conv 之后,我们还有具有相同级别的特征图(灰色箭头)的串联。这有助于给出从收缩路径到膨胀路径的定位信息。
  • 最后, 1×1 conv 将特征图大小从 64 映射到 2,因为输出的特征图只有 2 类,细胞和膜。

A.2 .重叠平铺策略

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Overlap Tile Strategy

由于使用了无填充卷积,输出大小小于输入大小。使用重叠瓦片策略,而不是在网络之前缩小尺寸和在网络之后上采样。由此,整个图像被逐部分预测,如上图所示。使用蓝色区域预测图像中的黄色区域。在图像边界,通过镜像外推图像。

A.3 .用于数据扩充的弹性变形

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Elastic Deformation

由于训练集只能由专家进行注释,因此训练集很小。为了增加训练集的大小,通过随机变形输入图像和输出分割图来进行数据扩充。

A.4 .触摸物体的分离

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Segmentation Map (Left) and Weight Map (Right)

由于接触物体彼此靠近放置,它们很容易被网络合并,为了分离它们,对网络的输出应用权重图。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

为了如上计算权重图,d1(x)是到位置 x 处最近的单元边界的距离,d2(x)是到第二最近的单元边界的距离。因此,在边界处,重量比图中高得多。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

因此,交叉熵函数在每个位置被权重图惩罚。这有助于迫使网络学习接触细胞之间的小分离边界。

A.5 .结果

A.5.1. ISBI 2012 年奥运会

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Some Difficult Parts in EM Images

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

U-Net has the Rank 1 Result at that moment

  • 扭曲错误:惩罚拓扑不一致的分段度量。
  • Rand Error :两个聚类或分割之间相似性的度量。
  • 像素误差:标准像素误差。
  • 培训时间:10 小时
  • 测试速度:每张图片大约 1 秒

A.5.2. PhC-U373 和 DIC-HeLa 数据集

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

PhC-U373 and DIC-HeLa Datasets

U-Net 获得了这两个数据集的最高 IoU。

b . 1 . U-Net 的一些修改

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Dental X-Ray Image with 7 classes

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

U-Net for Dental X-Ray Images

这次使用 4×4 上 conv1×1 Conv 来绘制 64 到 7 的特征图,因为每个位置的输出有 7 个等级。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Zero padding instead of mirroring at the image boundary

在重叠平铺策略中,使用零填充代替图像边界处的镜像。因为镜像对牙齿没有任何意义。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Loss function at multiple levels

使用 softmax loss 的低分辨率特征图有附加损失层,以引导深层直接学习分割类。

B.2 .结果

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Some Visualization Results

我也复习过 累计视野 1累计视野 2 。如果感兴趣,请随时访问。

参考

我的相关评论

[ 累积视频 1 ] [ 累积视频 2 ] [ FCN ] [ 解除网络

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值