(图片付费下载自视觉中国)
作者 | 路一直都在
来源 | 知乎专栏
Abstract
本文提出了一种新的自适应连接神经网络(ACNet),从两个方面对传统的卷积神经网络(CNNs)进行了改进。首先,ACNet通过自适应地确定特征节点之间的连接状态,在处理内部特征表示时可以灵活地切换全局推理和局部推理。从这个角度来说,现有的很多CNN模型,经典的多层感知器MLP以及最近(2017)提出的NLN(Non-local Neural Networks),都是ACNet的特殊形式。其次,ACNet还能够处理非欧几里德数据( non-Euclidean data,关于非欧几里得数据,下文会有解释)。实验证明,ACNet不仅在分类、检测、分割任务上都有SOTA表现,而且还可以克服传统MLP和CNN的一些缺点。

Intorduction

在神经网络的发展过程中,有两大类代表类型:第一种是传统的多层感知器(MLP),由输入层,输出层和隐层构成。通过BP算法,使得网络能有拟合复杂数据的能力。但是MLP有很大的缺陷,在隐层中的每个神经元节点权重不共享,因此MLP的网络参数往往数量庞大,在训练阶段容易过拟合。而且,MLP难以表示二维数据的空间结构。

一个简单的MLP模型

随着深度学习的发展,CNN卷积神经网络出现了,CNN能够实现权重共享,局部特征提取,在MLP的基础上实现了很大的提升,但是卷积仍然有两个固有的缺点,一方面,卷积只能在相邻像素点之间进行特征提取,神经网络各层内部的卷积运算不具备全局推理的能力,因此,如果有两个目标具有相似的外观,对于卷积来说,很难分辨。如下图所示,对于具有相似外观特征的椅子和沙发,只基于局部的特征,很容易得到错误的结论;另一方面,卷积无法处理非欧几里得数据,因为卷积依赖的是有相邻的像素点,这种无序的,散乱的数据形式,对卷积是一个挑战。
为了解决CNNs中的局部性问题,最近提出的非局部网络(Non Local NN)将全局依赖关系强加给所有特征节点,但是作者认为,完全的非局部网络,有时适得其反,会造成退化,如下图所示,如果只基于局部推理,dog很容易被识别,但是加上全局推理后,反而被错分为sheep了,随后作者也在实验部分证明,随着网络非局部性的增加,ImageNet-1k分类任务中的训练和验证精度都会降低。作者认为这种下降是由于过度全局化造成的。
通过以上的实验结果,作者认为,局部信息和全局信息需要共同考虑,即从图像感知和像素感知的角度来共同考虑全局和局部推理。因此,怎样保持一个局部和全局的平衡,既不过度局部化又不过度全局化是最大的挑战。本文提出了ACNet,一个简单通用的自适应连接网络,在MLP,CNNs上取长补短,自适应的捕捉全局和局部的关系依赖。ACNet首先定义了一个基本单元node。如下图所示,node可以是一张图片中的一个像素点;可以是一段音频中的采样;可以是一个图结构中的一个节点等等。

给定输入数据,ACNet自适应地训练搜索每个节点的最优连接,连接关系和连接之间的关系可以用下式表示:

在ACNet中,要有一个这样的意识,不同节点是自适应连接的,因此,有些节点可能是自己推测的,有些节点可能与它的邻域有关,而其他节点则具有全局视野。从这方面讲,如下图所示,ACNet可以看做是MLP,CNNs等的综合。通过学习不同类型连接的重要性程度来搜索最优连接是有差异的,可以通过反向传播来优化。

实验证明,ACNet在ImageNet-1K上top-1error比ResNet更低

ACNet与ResNet在ImageNet-1K实验对比

Background Knowledge

  • non-Euclidean data(非欧几里得数据)
*部分内容参考以下文章,侵删
https://link.zhihu.com/?target=https%3A//blog.csdn.net/imsuhxz/article/details/91361977
数据类型可以分为两大类,分别是:欧几里德结构数据(Euclidean Structure Data) 以及 非欧几里德结构数据(Non-Euclidean Structure Data)
欧几里得数据,最重要的特点就是排列整齐,如下图所示,一个像素看做一个节点的话,每个节点都是排列整齐,有序组合。这种排列方式有利于卷积的操作,能够很好的提取特征,而且不同的数据样本之间,可以根据这种整齐的排列方式,轻松计算距离,最直接的办法就是利用欧式距离。

欧几里得数据结构

n维空间的欧氏距离公式

非欧几里德数据,最大的特点就是排列不整齐,对于数据中的某个节点,很难定义或找到相邻节点,因为相邻节点的位置,数量都是随机的。由于这种随机和不确定性,使得卷积操作变得困难,而且难以定义出欧氏距离。最常见的非欧几里德数据有图(Graph)和流形数据,如下图所示:

图结构

流形数据

ACNet(Adaptive-Connected Neural Networks)

本章节首先介绍一下ACNet的公式表示,然后说明一下ACNet跟MLP,CNNs之间的关系,最后介绍一下ACNet的训练测试和实现细节。
  1. ACNet的公式表示(以图像处理为例)
假定x为输入图片数据,那么最终的输出可以用下式表示:

其中,yi表示第i层的输出节点,j是所有可能与i层节点相关的节点,前文说过,与一个节点有关的节点来自三个方面:来自第i层的节点,i层节点的相邻节点,任意层的节点({the i-th node itself}, {the neighborhood N(i) of the i-th node},{all possible nodes}),这正好对应三种推理模式:自转换,局部推理,全局推理。

在每一种模式前,都对应一个权重,如上式中的α,β,γ,分别对应每一种模式的重要程度。在本文中,作者强制定义α+β+γ=1,自然每个权重的范围就在[0,1],那么以α为例,可以用下式表示:
这里特别说一下第三项,j的节点来自任意层,这就等价于一个全连接了,算力上的消耗肯定比较大,而且参数很多,可能有过拟合的风险。为了解决这个问题,作者在论文中提出,三式中的x在喂入公式进行计算之前,首先通过平均池化进行降采样。最后得到的y通过激活函数进行激活,激活函数的组合形式为BN+ReLU。
2. ACNet与CNNs的关系
假定输入x以tensor表示为(C,H,W),则Xi表示其中的一个像素点,yi表示一个像素点的输出,那么一个3x3的卷积可以表示为:
其中,
  • 省略了非线性激活函数f,它不影响公式的推导过程。
  • i, j ∈ [1, H × W]
  • S表示一个节点的八个相邻节点的集合,S = {i -W -1, i-W, i-W + 1,i, i + 1, i + W-1,i+W , i + W + 1}
  • 这跟ACNet的式二是一样的
3. ACNet与MLP的关系
MLP的公式表示与上文相似,不同的是,节点的集合不是局限在八个,而是不同节点之间的线性组合,S = {1, 2, 3, . . . , H × W}
综上,ACNet可以看作是CNN和MLP的纯数据驱动组合,充分挖掘了这两个模型的优势。让我们再看一下ACNet的公式,如果置α=0,β=1,γ=0,ACNet就是普通卷积的表现形式;同理如果α=0,β=0,γ=1,ACNet就是MLP的表现形式。
更为重要的是,ACNet通过学习α,β,γ的值,实现模型的动态切换,这种模式允许我们构建一个更丰富的层次结构,自适应地组合全局和本地信息。
4. ACNet对非欧几里得数据的处理
在背景知识中提到,所谓的非欧几里德数据主要有两种,Graph图结构和流形结构。非欧几里德数据是没有非结构化的,不是常规意义的排列整齐。比如,在欧几里德数据中,节点i的相邻节点可以表示为N(i) = {i-W-1, . . . , i + W + 1},分别表示{upper left, ..., low right },但是在非欧几里德数据中,没有这种结构化的表示,而且每个节点的相邻节点数量是不固定的,因此,这样的结构就无法很好的直接利用上述公式。对于Vij来说,在欧几里德数据中,每个值是不同的,而在非欧几里德数据中,数据是共享的,因此会削弱数据的表达能力。为了解决这些问题,对于非结构化的数据,提出了下列公式:
其中,U,V,W是在j中所有的节点间共享的,这与1x1卷积思想有些类似。
5. Training & Inference
设Θ为网络参数集合(如卷积和全连接权重),Φ是一组控制参数,控制网络体系结构。
在ACNet中,参数可以表示为:
Φ = {λα, λβ, λγ}
损失函数可以表示为:L(Θ, Φ),Θ 和Φ可以通过BP联合训练优化

Experiments

  • 在ImageNet-1K上的表现
  • 可视化
ACNet在ImageNet上训练生成具有不同类型推理的节点的可视化。用黄色绘制的一个节点表示它是来自前一层的全局推理的输出(即,它连接到前一层的所有节点),而相对的黑色节点表示来自前一层的局部推理的输出。

Conclusion

本文提出了一个概念上通用且功能强大的网络-ACNet,它可以通过学习不同模型的参数,动态切换通用数据(即欧几里德数据和非欧几里德数据)的全局和局部推理。其次,ACNet是第一个既能继承MLP和CNN的优点,又能克服它们在各种计算机视觉和机器学习任务上的缺点的网络。
原文链接:
https://zhuanlan.zhihu.com/p/84205427
(*本文为 AI科技大本营转载文章,转载请联系原作者)

精彩推荐

2019 中国大数据技术大会(BDTC)历经十一载,再度火热来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。【早鸟票】【特惠学生票】限时抢购,扫码了解详情!

推荐阅读

  • 快手王华彦:端上视觉技术的极致效率及其短视频应用实践 | AI ProCon 2019

  • 中文预训练ALBERT模型来了:小模型登顶GLUE,Base版模型小10倍、速度快1倍

  • 100多次竞赛后,他研发了一个几乎可以解决所有机器学习问题的框架

  • 伯克利人工智能研究院开源深度学习数据压缩方法Bit-Swap,性能创新高

  • NLP被英语统治?打破成见,英语不应是「自然语言」同义词

  • TensorFlow2.0正式版发布,极简安装TF2.0(CPU&GPU)教程

  • 肖仰华:知识图谱构建的三要素、三原则和九大策略 | AI ProCon 2019

  • AI落地遭“卡脖子”困境:为什么说联邦学习是解决良方?

  • 限时早鸟票 | 2019 中国大数据技术大会(BDTC)超豪华盛宴抢先看!

你点的每个“在看”,我都认真当成了喜欢

分类、检测、分割任务均有SOTA表现,ACNet有多强?相关推荐

  1. #今日论文推荐#ECCV 2022 | 清华字节提出MGD:适用于分类/检测/分割的生成式知识蒸馏

    #今日论文推荐#ECCV 2022 | 清华&字节提出MGD:适用于分类/检测/分割的生成式知识蒸馏 知识蒸馏主要可以分为logit蒸馏和feature蒸馏.其中feature蒸馏具有更好的拓 ...

  2. ECCV 2022 | 清华字节提出MGD:适用于分类/检测/分割的生成式知识蒸馏

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 作者:美索不达米亚平原 |  已授权转载(源:知乎)编辑:CVer https://zhuanlan.zhi ...

  3. CVPR 2021 | 即插即用! CA:新注意力机制,助力分类/检测/分割涨点!

    摘要 最近关于移动网络设计的研究已经证明了通道注意(例如,挤压和激发注意)对于提升模型性能的显著效果,但是它们通常忽略位置信息,而位置信息对于生成空间选择性注意图是重要的.本文提出了一种新的移动网络注 ...

  4. 如何将深度学习模型部署到实际工程中?(分类+检测+分割)

    应用背景介绍 早在遥远的1989年,一家叫做ALVIVN的公司首次将神经网络用在汽车上,进行车道线检测和地面分割.时至今日,深度学习已经应用在自动驾驶系统的多个分支领域.首先是感知领域,常用的传感器有 ...

  5. 【视频课】言有三每天答疑,38课深度学习+超60小时分类检测分割数据算法+超15个Pytorch框架使用与实践案例助你攻略CV...

    计算机视觉中大大小小可以包括至少30个以上的方向,在基于深度学习的计算机视觉研究方向中,图像分类,图像分割,目标检测无疑是最基础最底层的任务,掌握好之后可以很快的迁移到其他方向,比如目标识别,目标跟踪 ...

  6. 分类检测分割中的损失函数和评价指标

    文章目录 一.分类 1.1 CrossEntropy Loss 1.2 带权重的交叉熵Loss 1.3 Focal Loss 二.检测 2.1 L1, L2, smooth L1, IoU loss ...

  7. 重磅!OpenMMLab 更新啦!分类/检测/分割/3D等项目全面升级

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文作者:陈恺 https://zhuanlan.zhihu.com/p/74597564 本文已由原 ...

  8. CVPR 2021 论文解读I 动态区域感知卷积,进一步提升分类/检测/分割性能|Dynamic Region-Aware Convolution

    Dynamic Region-Aware Convolution 摘要 介绍 方法 实验结果 总结 论文单位:旷视研究院 论文链接:https://arxiv.org/abs/2003.12243 作 ...

  9. CVPR 2021 论文解读Vol.6 I 动态区域感知卷积,进一步提升分类/检测/分割性能

    论文单位:旷视研究院 论文链接:https://arxiv.org/abs/2003.12243 作者:Jin Chen, Xijun Wang, Zichao Guo, Xiangyu Zhang, ...

最新文章

  1. 修改linux的时间可以使用date指令
  2. React+TypeScript练手小项目
  3. leetcode刷题之树(三)
  4. 华为V3.4-RIP命令总结
  5. Mysql 去除 特定字符后面的所有字符串
  6. Kafka参数broker.id详解
  7. Java使用线程并发库模拟弹夹装弹以及发射子弹的过程
  8. TAR命令参数详解[转]
  9. java map集合 事务控制_对象回收过程?线程池执行过程? map原理?集合类关系?synchronized 和 volatile ? 同一个类的方法事务传播控制还有作用吗?java 锁...
  10. oracle mysql 常用语句(查询表中某字段有几种类型,及每种类型有多少个数、插入多行、查询前几行)
  11. 迁移桌面程序到MS Store(8)——通过APPX下载Win32Component
  12. 2019年北航OO第二单元(多线程电梯任务)总结
  13. 网络(14)-Web站点如何防范XSS、CSRF、SQL注入攻击?
  14. 第11月第18天 RACSequence
  15. tcp和udp协议的聊天 和udp协议的时间同步机制-----编码
  16. 暴风影音xp版本_暴风影音黯然退市!怀念那些年用过的播放器
  17. 一文了解无线网桥-小白笔记
  18. 2019软件测试都学习什么?
  19. 未来量子计算机运算速度,中国科学家实现 “量子霸权”,计算速度比超级计算机快100万亿倍...
  20. 随机森林算法(Random Forest)R语言实现

热门文章

  1. FreeBSD设备驱动管理介绍(BSP: Ti AM335x)
  2. javascript运动系列第九篇——碰撞运动
  3. Java 过滤特殊字符的 正则表达式
  4. 【Android游戏开发二十五】在Android上的使用《贝赛尔曲线》!
  5. Powershell管理Active Directory 复制和拓扑
  6. 函数05 - 零基础入门学习C语言36
  7. 自动驾驶技术现状与需求分析
  8. hook NtTerminateProcess进行应用的保护
  9. [转]关于MyEclipse下的项目无法使用BASE64Encoder问题的解决办法
  10. Linux中重定向--转载