知物由學 | 增量學習助力內容風控

網易易盾發表於2022-02-15

01 背景和動機


近年來,以神經網路為代表的人工智慧技術取得了空前的發展。然而,當前的深度學習往往遵循構建靜態資料集,在此基礎上進行模型設計和訓練正規化,這與人類在學習生涯中不斷積累和學習新知識的過程有很大差別。


在現實任務的場景中,由於隱私、資料儲存或者算力限制等問題,無法充分儲存舊的樣本,例如,在個人裝置上部署的人工智慧系統,同時受到隱私保護、計算能力和儲存空間的約束,無論是儲存舊資料,還是積累新資料都不可行。在內容風控業務中,黑產為了繞過影像鑑別系統,新的圖片形式和攻擊樣例不斷出現。在出現新的類別或者新的任務的情況下,增量學習賦予人工智慧模型動態更新的能力,在保留舊知識的前提下,適應新的領域,學習新的知識,掌握新的能力,應對黑灰產接連不斷的挑戰。


圖片


實際上,在開放世界場景中,尤其是網際網路世界中,新的資料和知識源源不斷湧現。增量學習期望提升當前的人工智慧系統,使其以與人類更加相近的方式,調整和學習新的知識,適應動態變化的世界。


現有的神經網路模型在增量學習新知識時,往往會遭遇“災難性遺忘”(Catastrophic Forgetting)。在學習新任務之後,模型在舊任務上效能災難性下降。這個問題背後隱藏著一個基本矛盾:穩定性-可塑性困境(stability-plasticity dilemma)。可塑性代表調整、整合新知識的能力,穩定性則代表著保留舊知識的能力。如何提高模型的可塑性同時兼顧穩定性,在學習新知識的過程中保持原有的知識,在兩者之間取得平衡,是增量學習需要解決的問題。


02 思路和方法


為了避免災難性遺忘,尋求模型的可塑性-穩定性平衡,研究者進行了諸多嘗試,依據歷史任務資訊保留的方式,可以分為三個類別:回放(Replay)、正則化約束(Regularization)、引數隔離(Parameter Isolation)。


01

  基於回放的方式:透過保留一部分歷史資料或者高層表徵,在學習新任務的過程中,回放舊的任務資料,減少模型遺忘。

02

基於正則化的方式:這一類方法對模型在新的任務上的最佳化方向加以約束,減少災難性遺忘,包括以舊模型為目標新增蒸餾損失、對重要的模型引數進行最佳化約束、對引數的梯度方向進行投影等等。

03

基於引數隔離的方法:在新任務上擴大舊的模型,對新舊模型的引數進行不同程度的隔離,減少災難性遺忘。


一個不同方法的分類樹總結如下:


圖片


03 代表性的方法


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為每個任務分配一部分引數空間,限制了任務個數。


圖片


04 前景和展望


相較於普通的神經網路訓練正規化,增量學習方法關注模型的更新和擴充套件,致力於提供低成本的模型擴充套件方法,幫助人工智慧模型在變化的世界中不斷髮展,走向真正的通用人工智慧。在風控業務中,網易易盾利用人工智慧技術構築內容安全防線,對有害內容進行有效攔截。為了繞過這道防線,各種圖片變種也會接二連三的出現。在廣告攔截或者實人認證中,易盾時時刻刻都在風控攻防的前線。增量學習賦予模型增量迭代、動態學習的能力,在風控場景具有天然優勢和用武之地。網易易盾在模型迭代中不斷完善安全防線,為內容安全保駕護航。


引用:


[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



相關文章