Data-centric vs Model-centric 的个人拙见
# Data-centric vs Model-centric 的个人拙见
该篇文章大概记录了我在 Datawhale 的“实际工作中数据和模型的价值"的相关分享。题图是我最近很喜欢的彩虹合唱团的歌《醉鬼的敬酒曲》,分享给大家。
数据和模型是深度学习两条支柱,都是应该被关注的。但目前业界对数据的关注程度不够,所以今天我想分享有关 Data-centric 的一些个人理解,包括三个不成熟的观点。
# 1、样本生而不等
深度学习时代数据为王,但是数据其实生而不等。如今有各种注意力机制,这些注意力建模了特征图上的不同坐标、不同通道以及特征间的重要性,并学出对应的权重,我将这类注意力想要统称为特征注意力。我认为数据注意力也是同样重要的,使用数据训练模型的过程中,如果平等地去处理每个样本,是非常粗粒度的处理方式,而数据本身存在非常多的问题,介绍几个学界里定义的任务:
主动学习是一种降低标注代价的算法,它建模了哪些数据是更加值得去标注的,相同的样本数量,利用主动学习算法标注的样本子集训出的模型性能更好。
标签带噪学习适用于标签有错误的情况,常用的做法是给予样本不同的权重,分类任务里面我们找到了错误标签,它的权重就为0,但在检测分割里面,我们要更细粒度地考虑这个权重的获取
自步学习的理念是,不同的训练阶段要喂给模型不同的数据。例如和人类学习一样,在刚开始训练时我们应当学简单的数据,渐渐加大学习样本的难度,让学习过程变得更加平滑一些。
上述三个学术问题其实都可以看作是获得一个样本的权重来表示其重要性。所以我们除了用扩展样本维度的手段来近似现实之外(从时序上扩展到视频数据,从空间上扩展到 3D 数据),我们至少还应该建模每个样本的权重来体现其生而不等的特性。
# 2、Data-centric 的进步会倒逼 Model-centric 的进步
Transformer 其实是将图像数据建模为类似于NLP序列输入的方式取得了一定的成功,让我们看到了CV 和 NLP 两个大领域大一统的可能性。但是往本质上去想,他其实是对图像的输入做了另一个方面的解构。图像输入其实是有人的倾向性在里面的,这种输入形式源自于我们很久之前对颜色通道的定义,然后就用这种形式存储在了计算机中。那么这个定义是否有利于机器学习的应用呢,我们是否可以信息量更丰富的方式呢?
除了对样本做别样的解构,自然的,可以想到对标签做独特的解构。首先思考一个问题,人为设定的标签的设置是好的吗?我认为这其实带有人对目标任务的直觉和偏好在里面。个人有一个不太准确的观点,数据驱动任务(虽然有时候是先有任务再去收集数据),我们收集来的数据可以帮助我们学习不同的模型。但是我们收集数据的过程目前还是原始且符合直觉的,例如类别标注驱动图像分类,目标框标注驱动目标检测,我们是否可以用类别标注驱动目标检测(弱监督),是否可以用颜色标注来驱动表示学习(自监督),我认为对于数据的理解会推动模型的进步。
另外一方面,我们对于目前的样本输入和标签体系应该提出质疑,应该努力提升它们的信息量。知识蒸馏为什么能够成功呢,我觉得软标签给出了类别分布,从信息论的角度软标签含有更为丰富的信息量。但是正常人去标注一个类别是给不出精确的标签分布的,我们一般不会说一张图像有百分之多少的可能性像一只猫,另外百分之多少的可能性像一只老虎,对于人类来讲估计一个可以量化的标签分布是比较难的,但是即使有噪声,我们是否可以尝试类似的任务呢。所以我认为我们需要对标签体系也需要进行适当的质疑,我们对分类任务是否只需要一个硬标签,对于检测任务我们是不是只用一个框,用几个中心点或者显著性能不能做检测任务呢,我们使用怎样的标签能够使得我们获得更大的信息量。
这里有一个不太恰当的比喻:大部分的鲸鱼的歌声频率大约在17~18赫兹,这个频率太低了,人的耳朵是无法听见的,但我们就可以说这部分人类没有能力接收到的歌声没有信息量吗?我们如今的样本和标签都是非常直觉的处理方式,我们可以尝试一些不符合视觉的解读方式来,得益于深度学习模型拥有足够大的模型容量,辅以多样化的设计,我觉得有很大的几率可以开辟一个新的潮流。
# 3、Data-Centric 相关竞赛
业界应该关注 Data-centric 的竞赛,将关注点置于数据的相关操作。我们可以固定模型以及超参数,让选手对数据做对应的调整,最后选手上交的策略可以分为三部分(欢迎补充):
样本的增强策略:例如对低光照亮度增强,样本去噪,图像增广
标签的增强策略:例如从硬标签到软标签,纠正错误标签
对每个样本给定独有的动态变化的学习权重:例如在学习过程中其学习权重可以自适应的变化
最后再举个例子,以自动驾驶为代表的真实场景拥有大量的长尾数据,学术界倾向于用算法去解决这样的问题,定义类似 Open-set 这样的学术设置,期望对于没见过的类别也可以做到比较好。而工业界倾向于加数据,例如用大量的车大量的众包标注去搜集数据集,去做高精地图以及完善数据搜集、提高数据质量的自动化流程等等 ROI 高的工作。我认为两个方向都没错,大家都在致力于去解决问题。模型和数据永远是深度学习的两条腿,现如今模型容量已经足够大,大到对于某些任务,模型参数大到有能力记住所有的输入参数。所以我们应当要提升数据的信息量,更好地近似和逼近现实。并且数据理解是有很大复用性的,这种领域知识可以迁移,
此外,今后对于规模数据的存储及共享的解决方案,例如面向AI的云原生数据库(如Milvus)以及联邦学习等会带来很好的创业和发展机会,这是 MLOps 的基础设施,也是深度学习落地非常大的助力。
以上就是我的一些不太成熟的想法,我认为 Data-centric 相关的工作是非常重要的,欢迎有兴趣的同学一起讨论,如有纰漏请大家指正,提前感谢各位的不吝赐教。
# 4、参考资料
- 样本生而不等——聊聊那些对训练数据加权的方法 (opens new window)
- MLOps: From Model-centric to Data-centric AI (opens new window)
- 斯坦福2021秋:实用机器学习 (opens new window)
- 关于主动学习、标签分布学习、偏标记学习:可以关注东南大学耿新老师以及南航黄圣君老师的相关工作
- 02
- README 美化05-20
- 03
- 常见 Tricks 代码片段05-12