中文站

知物由学 | 增量学习助力内容风控

一、背景和动机

近年来,以神经网络为代表的人工智能技术取得了空前的发展。然而,当前的深度学习往往遵循构建静态数据集,在此基础上进行模型设计和训练范式,这与人类在学习生涯中不断积累和学习新知识的过程有很大差别。

在现实任务的场景中,由于隐私、数据存储或者算力限制等问题,无法充分保存旧的样本,例如,在个人设备上部署的人工智能系统,同时受到隐私保护、计算能力和存储空间的约束,无论是保存旧数据,还是积累新数据都不可行。在内容风控业务中,黑产为了绕过图像鉴别系统,新的图片形式和攻击样例不断出现。在出现新的类别或者新的任务的情况下,增量学习赋予人工智能模型动态更新的能力,在保留旧知识的前提下,适应新的领域,学习新的知识,掌握新的能力,应对黑灰产接连不断的挑战。


实际上,在开放世界场景中,尤其是互联网世界中,新的数据和知识源源不断涌现。增量学习期望提升当前的人工智能系统,使其以与人类更加相近的方式,调整和学习新的知识,适应动态变化的世界。

现有的神经网络模型在增量学习新知识时,往往会遭遇“灾难性遗忘”(Catastrophic Forgetting)。在学习新任务之后,模型在旧任务上性能灾难性下降。这个问题背后隐藏着一个基本矛盾:稳定性-可塑性困境(stability-plasticity dilemma)。可塑性代表调整、整合新知识的能力,稳定性则代表着保留旧知识的能力。如何提高模型的可塑性同时兼顾稳定性,在学习新知识的过程中保持原有的知识,在两者之间取得平衡,是增量学习需要解决的问题。

二、思路和方法

为了避免灾难性遗忘,寻求模型的可塑性-稳定性平衡,研究者进行了诸多尝试,依据历史任务信息保留的方式,可以分为三个类别:回放(Replay)、正则化约束(Regularization)、参数隔离(Parameter Isolation)。

(1)基于回放的方式:通过保留一部分历史数据或者高层表征,在学习新任务的过程中,回放旧的任务数据,减少模型遗忘。

(2)基于正则化的方式:这一类方法对模型在新的任务上的优化方向加以约束,减少灾难性遗忘,包括以旧模型为目标添加蒸馏损失、对重要的模型参数进行优化约束、对参数的梯度方向进行投影等等。

(3)基于参数隔离的方法:在新任务上扩大旧的模型,对新旧模型的参数进行不同程度的隔离,减少灾难性遗忘。

一个不同方法的分类树总结如下:


三、代表性的方法

3.1 回放

在增量学习中,一个突出的前提是不能使用旧任务数据,基于回放的方式放松了这一约束,允许将部分旧数据存储在缓存中,以供新任务学习时使用。此时,缓存的大小、存储数据的选择、数据的存储形式、新旧数据的混合方式都是重要的影响要素。

3.1.1 Incremental Classifer and Representation Learning (iCaRL), 

iCaRL(2017 CVPR) 是较早的结合了回放和蒸馏损失的类增量学习方案。

01存储旧的数据: iCaRL使用了固定大小的存储空间,选择和存储旧任务的代表性样本(exemplars)。在训练时,iCaRL混合缓存中的旧数据和新类别数据构建训练集。

02针对旧模型施加蒸馏损失:iCaLR的损失函数由分类损失函数和蒸馏损失函数两部分组成。蒸馏损失的思路时,当新的数据到来时,使用新模型去蒸馏旧模型的预测结果,强迫模型复现旧模型的预测结果,从而对参数更新进行约束,减少遗忘。

3.1.2 Average-GEM

A-GEM结合了回放和正则化的方法,对模型在新任务下的优化梯度进行投影。以缓存数据以依据,保证模型在所有旧任务上平均损失不增加。具体来说,梯度投影表示如下:


其中,g代表依据新数据mini-batch得到的优化梯度,g_{ref}代表依据缓存数据采样得到的mini-batch的优化梯度。

3.2 正则化

既然在更新模型时我们不能使用历史数据,基于正则化的方法在优化新任务的过程中施加一定的约束,从而尽可能少地遗忘旧任务。一个简单的想法是,对于旧的任务,模型中一部分参数是重要的,不应当调整,而不重要的参数可以调整以适应新的任务。因此我们可以评估参数的重要性,然后施加差异化的约束。除了直接从参数角度施加约束,我们也可以利用数据施加正则化,例如上文提到的对旧模型施加蒸馏损失,利用数据来隐式决定正则化约束的内部细节。

3.2.1 Elastic Weight Consolidation (EWC)

EWC在贝叶斯框架内以参数不确定性评估模型的重要性,参数重要性的形式化如下:


可以看出,EWC在数据集基础上,评估参数对损失函数的影响。直观来看,就是训练结束后,参数梯度的平方和。实际上,在训练结束后,模型收敛后的参数梯度时比较小的。

3.3 参数隔离

参数隔离的想法比较粗暴,既然改变旧任务的参数会影响旧任务的性能,我们就不动旧任务的参数,增量扩大模型,将新旧任务的参数进行隔离。这种方式可以保证旧任务的性能没有损失。

3.3.1 PackNet

PackNet (2018 CVPR) 是一种对新旧任务参数进行硬隔离的办法。每次新任务到来时,PackNet增量使用一部分模型空间,通过剪枝的方法保留冗余的模型空间,为下次任务留下余量。对于一个新任务,训练过程分两步,第一步,模型首先固定旧任务参数,使用整个模型训练当前任务,完成后利用剪枝去除一部分非重要参数。第二步,模型在剩下的参数空间中进行重新训练。PackNet为每个任务分配一部分参数空间,限制了任务个数。


四、前景和展望

相较于普通的神经网络训练范式,增量学习方法关注模型的更新和扩展,致力于提供低成本的模型扩展方法,帮助人工智能模型在变化的世界中不断发展,走向真正的通用人工智能。在风控业务中,网易易盾利用人工智能技术构筑内容安全防线,对有害内容进行有效拦截。为了绕过这道防线,各种图片变种也会接二连三的出现。在广告拦截或者实人认证中,易盾时时刻刻都在风控攻防的前线。增量学习赋予模型增量迭代、动态学习的能力,在风控场景具有天然优势和用武之地。网易易盾在模型迭代中不断完善安全防线,为内容安全保驾护航。

五、引用
[1] A continual learning survey: Defying forgetting in classification tasks
[2] Online Continual Learning in Image Classication: An Empirical Survey
[3] iCaRL: Incremental Classifier and Representation Learning, CVPR 2017
[4] Efficient Lifelong Learning With A-Gem, ICLR 2018
[5] PackNet: Adding Multiple Tasks to a Single Network by Iterative Pruning, CVPR 2018