计算机视觉(CV)是AI比较热门的领域,在现实世界中具有巨大价值.
CV 旨在,给予计算机通过视觉理解世界的能力,并基于理解进行决策.
在实际应用中,CV 是的人类视觉的自动化和增强,创造了无数的场景用例.
如果AI能够思考,那么CV使得计算机能够看到、观察和理解 - IBM
CV 的应用场景覆盖了从运输到零售等领域.
运输行业的一个典型例子是特斯拉公司,其生产的电动自动驾驶汽车完全依靠计算机视觉模型驱动的摄像头.
CV 还彻底改变了零售行业,比如亚马逊 GO 计划,引入智能传感器和计算机视觉系统的免结账(checkout-free)购物,大大提升了便利性.
CV 2021 的五大趋势汇总如下:
源自:Carted Sayak Paul
趋势 1 - 资源更高效的模型
Resource-Efficient Models
1.1. 趋势原因
[1] - 最先进的模型往往是不易于在轻量设备上离线运行的,比如手机、Raspberry Pis 和其他微处理器.
[2] - 重量模型往往也具有较明显的延迟(这里表示单个模型运行前向计算的时间),并且会显著影响基础设施的成本.
[3] - 如果基于云的模型不是候选项?(成本、网络连接、隐私问题等)
1.2. 构建过程
[1] - 稀疏训练(Sparse training)
- 稀疏训练是在训练神经网络的矩阵中引入零值. 可以这样做的原因在于,并非所有维度都与其他维度进行交互的,换句话说,并不是他们都是重要的.
- 虽然性能可能会受影响,但其能够大幅度减少乘法的次数,从而减少网络训练所需的时间.
- 一种非常密切相关的技术是剪枝(pruning). 其会丢弃低于某个阈值的网络参数(还有其他条件).
[2] - 训练后推理(Post-Training Inference)
- 采用深度学习的量化技术(quantization),降低模型的数值精度(FP16、INT8),以减小模型大小.
- 采用量化感知训练(Quantization-aware Training,QAT),可以弥补由于数值精度降低而造成的信息损失.
- 剪枝+量化(Pruning + quantization)对于很多应用场景都是最好的.
[3] - 知识蒸馏(Knowledge Distillation)
- 训练一个高性能的教师(teacher)模型,然后通过训练另一个较小的学生(student)模型来提取知识,以匹配教师模型产生的标签.
1.3. 行动指南
[1] - 训练一个更大且更高性能的教师模型
[2] - 执行知识蒸馏,优先使用QAT
[3] - 对蒸馏模型进行剪枝和量化
[4] - 部署
趋势 2 - 创造性应用的生成式模型
Generative Deep Learning for Creative Applications
2.1. 趋势原因
[1] - 生成式模型已经取得了长足进步
[2] - 示例可参考 thisxdoesnotexist.com
2.2. 应用场景
[1] - 图像超分辨率(Image Super-Resolution)
[2] - 域转移( Domain Transfer)
[3] - 图像外扩(Extrapolation)
- 为图像中的 mask 区域生成新的上下文信息
- 用于图像编辑等领域,类似功能可能参考 PS.
[4] - 隐式神经表示和CLIP(Implicit Neural Representations and CLIP)
- 从字母生成图像能力(如,在纽约街头骑自行车的人)
- Github - lucidrains/deep-daze
2.3. 行动指南
[1] - 研究并实现相关工作,可以选择性的跳过几个部分
[2] - 部署一个 end-to-end 项目
[3] - 尝试进行改进,也许会发现一些新奇的东西
趋势 3 - 自监督学习
自监督学习(Self-supervised Learning)不使用任何GT标签,而是使用前置任务(pretext tasks);然后,使用大量未标注的数据集进行模型训练.
与监督学习相比:
3.1. 监督学习的利弊
[1] - 需要大量的标注数据,以提升性能
[2] - 标注数据的准备成本很高,且也可能存在偏差
[3] - 对于大规模数据,训练时间非常长
3.2. 未标注数据的学习
[1] - 使模型对于相同图片的不同视角具有不变性
[2] - 直观的说,模型学习的内容使得两个图像视觉上不同,如一只猫和一座山
[3] - 未标注数据的准备成本非常低
[4] - 在计算机视觉方面,SEER(一种自监督模型)在目标检测和语义分割方面的性能优于监督学习
3.3. 挑战
[1] - 自监督学习需要非常大的数据,以适用于真实世界的任务,如图像分类
[2] - 对比自监督学习仍然是需要非常高的计算成本的
3.4. 推荐阅读
[1] - Self-supervised learning: The dark matter of intelligence
[2] - Understanding self-supervised learning using controlled datasets with known structure
趋势 4 - Transformers 和 Self-Attention 的使用
4.1. 趋势原因
[1] - Attention 通过量化成对实体之间的关系(pairwise entity interactions),有助于网络学习对齐数据中的上下文信息
[2] - Attention 已经以多种形式出现在计算机视觉中了,如 GC Blocks, SE Networks, 但他们的收益是微乎其微的
[3] - Self-attention blocks 构成了 Transformers 的基础
4.2. 优点和缺点
优点:
[1] - 较少的归纳先验,因此可以被认为是一种适用于多不同学习任务的通用计算基础(computation primitive)
[2] - 参数有效性和性能与CNNs相当
缺点:
[1] - 预训练时,大规模数据集的重要性是至关重要的. 因为 transformer 没有和 CNNs 那样的明确定义的先验
另一个趋势是,当 self-attention 与 CNNs 相结合,构建了更强的 baselines(BoTNet)
4.3. Vision Transformers
[1] - facebookresearch/deit
[2] - google-research/vision_transformer
[3] - jeonsworld/ViT-pytorch
[4] - Image Classification with Vision Transformer (Keras)
趋势 5 - 鲁棒视觉模型
Robust Vision Models
视觉模型容易受到很多因素影响其性能.
5.1. 视觉模型面临的问题
[1] - 扰动(Perturbations)
- 深度模型对输入数据中不可察觉的变化不够鲁棒
- 比如,一个行人被预测为一条路
[2] - 形变(Corruptions)
- 深度模型会很容易锁定到高频区域,使得其容易受到常见的损坏,如模糊、对比度、缩放等
[3] - 分布外数据(Out-of-distribution (OOD) data)
两类:
- 域已经移动,但标签完整(Domain shifted but label intact)- 期望模型能够和训练时的表现一致
- 异常数据点(Anomalous data points)- 期望模型在面对异常数据点时能够以低置信度进行预测
5.2. 如何提升鲁棒性
针对以上问题,有很多技术来提升视觉模型的鲁棒性.
[1] - 扰动(Perturbations)
- 对抗训练(Adversarial training)- 类似于拜占庭容错(Byzantine fault-tolerance),其基本上是让模型能够在面临糟糕情况是自行处理
- Adversarial Examples Improve Image Recognition
[2] - 形变(Corruptions)
- 一致性正则话(Consistency regularization)- 期望模型能够对有噪声的输入具有一致性
- RandAugment, Noisy Student Training, FixMatch
[3] - 分布外数据(Out-of-distribution (OOD) data)
- 立即检测异常数据点
- Generalized ODIN: Detecting Out-of-distribution Image without Learning from Out-of-distribution Data
一个引用:
“All models are wrong, but some models that know when they are wrong, are useful.” — Balaji Lakshminarayanan (NeurIPS 2020)