知物由學 | AI與黑產的攻守之道,詳解攻擊類文字影像的檢測

網易易盾發表於2022-09-19

導讀:隨著 OCR 系統識別能力的提升,專業對抗 OCR 的黑產也越來越多,這個過程中 AI 如何抵禦黑產攻擊類的文字影像?本文透過分相似性特徵訓練的常見演算法,並選擇了其中一些有代表性的工作進行介紹,希望能給讀者一些思路與方法。


文|鄧芮 網易易盾高階計算機視覺演算法工程師


背景



在網際網路資訊中,文字是重要的資訊媒介,透過傳遞微信、電話號碼等資訊,黑產能夠完成對廣告、色情等引流。為了阻斷這些垃圾資訊的傳播,在內容安全稽核領域,OCR 文字識別系統是重要的一環,它透過對影像中文字內容進行自動識別,發現異常的文字,攔截過濾有害內容。


隨著 OCR 系統識別能力的提升,專業對抗 OCR 的黑產也越來越多,典型的黑產會透過拆字、加遮擋、扭曲等方式,破壞影像特徵,從而達到模型難以自動識別的目的。一旦他們造出來當前系統難以識別的文字,就會批次生成,進行刷量傳播,在這個過程中,為了躲避系統追擊,還常常伴隨著惡意變種。另外我們也發現,同一種對抗攻擊型別,會跨時間、跨客戶的反覆出現。


那麼我們要如何來解決這個問題呢?考慮已有的方案,一個是更強的 OCR 識別系統,另一個是相似圖片識別。前者的問題在於如果文字特徵被嚴重破壞,OCR 系統就失去了識別的基礎,也難以召回。而後者常用於影像整體的相似性識別,包括影像中人物、文字、背景等,當文字區域佔比較小,背景更換時(如更換了不同的美女帥哥背景),整體影像相似度識別往往容易失效。




圖片



近期出現的一種攻擊案例(攻擊強度越來越大)




網易易盾演算法團隊在經過深入的問題分析和技術實踐後,建立了一套以文字特徵分析為核心的新一代垃圾影像識別服務,並線上上成功落地。這套服務包含圖中文字屬性分析、顯著性區域特徵提取、特徵相似性比對分析等模組,對相似型別的變種(遮擋、壓縮、旋轉、背景變換等)具有良好的魯棒性,結合易盾多因子識別能力,做到了垃圾圖片的精準治理。上圖中的垃圾圖片變化多端,新服務經過少量樣本迭代,對新型變種的機器召回率可達 95%+







演算法分享




相似性學習本質上是一個對比學習任務,透過模型學習一些不變形特徵,將圖片資訊壓縮到一個高維的特徵空間。主要的學習方法有兩類,自監督學習(Self-Supervised Learning )和度量學習(Deep Metric Learning)。前者的優勢是能夠利用大量的無標籤資料,零標註成本,但是隻能學”自己“,對變種的拒絕率高。而度量學習會學習一類物體的相似度,在影像檢索領域有廣泛應用,但是物體的類別需要人工進行標註,標註速度慢且成本較高。下面對兩類方法分別進行介紹。




 Moco 系列 



Moco[1] 是一種流行的自監督學習演算法,目標是透過自身的對比來學習一個泛化性強的預訓練特徵


在 MoCo 之前,一種常見對比學習框架如下圖(a)所示,是一種 end-to-end 的框架,這個框架相對簡單,將一個樣本的兩種增強,一個作為 query,一個作為 key,都用同一個 encoder 進行編碼,然後用 constrative loss 進行學習。然而在實際使用時,這種框架通常收斂較慢,同時由於 batchsize 受限於顯示卡的視訊記憶體,最終收斂的效果也相對較差。


於是有了改進版本下圖(b),這種方式維護了一個很大的 memory-bank 作為訓練的負樣本,memory-bank 儲存了一系列之前 iteration 編碼好的特徵,透過取樣可以直接用來做對比,同時 memory-bank 中的樣本是不進行梯度傳播的。memory-bank 的出現提高了對比學習的收斂速度和收斂效果,以至於在後期很多論文中都有使用這個模組。


而 MoCo 與前兩種方法的差異,在於提出了動量編碼器(momentum encoder)和一個動態的字典佇列,如圖(c)所示。key 特徵透過動量編碼器後儲存到一個字典佇列中,而動量編碼器是一個單獨的編碼器,它透過動量更新保持了特徵的一致性,也就是相較於 memory-bank 的方法,MoCo 中動態字典特徵更穩定和具有一致性,效果也會更好,實驗中也證明了這一點,同等佇列尺寸下,MoCo 比 memory bank 效果好 2.6% 以上




圖片




 SwAV 



SwAV[2],全稱 Swapping Assignments between multiple Views of the same image,即透過交換不同檢視中的標籤分配來完成自監督式學習,是獨立於 MoCo 和 SimCLR[3] 這種基於 pairwise 對比的一種新穎的自監督學習方式。結合文章中提出的 MultiCrop 的資料增強方式,達到了當時最好的結果。




圖片


左:基於 pairwise 對比的自監督學習方式。右:SwAW 學習方式



SwAV 中學習的標籤來自於聚類,它維護了一個有 K 個 prototype 的向量組,這 K 個 prototype 向量可以看做是資料的中心(參考 kmeans 的中心),樣本經過 encoder 編碼後,再計算與這 K 箇中心的距離,就可以得到一個 soft 編碼,作為這個樣本的標籤。在訓練時,一個樣本透過資料增強變成兩個增強後的樣本,再經過編碼器分別獲得自己的標籤,再把自己的標籤給對方,即完成了一次交換的過程,交換後的標籤可以用 KL-Loss 來進行學習。




圖片




我們知道,模型學習的效果跟標籤質量有很大的關係,標籤質量越高,模型能學習得越好。那麼 SwAV 中是如何獲取高質量的 prototype 的呢?答案是 Online Cluster, SwAV 中的 prototype 也是不斷訓練的,始終代表著模型在當前 dataset 上的中心向量。一般來說,求 dataset 的中心向量,常規的是離線使用 Kmeans 演算法(OfflineTraining),在整個 dataset 上進行計算,這種思路走下去類似於 DeepClusterV2[4]。而 SwAV 則是使用一個佇列維護了少量樣本佇列,然後透過 Sinkhorn 演算法強制將隊裡中的樣本均勻地分配到每個中心上,這個最佳化過程可以表示為,給定一個特徵佇列 Z=[z1, z2,....zb], 將它們對映到 prototypesC=[c1, c2, ...ck],這個對映關係可以表示為一個矩陣 Q=[q1, q2,...,qb], Q 的最佳化目標是特徵和 prototype 的相似性最大,這個過程用 sinkhorn 演算法來求迭代近似解,就是下面的公式。因為特徵佇列 Z 的長度不大,通常為幾千,所以整個求解過程也很快,訓練的額外開銷相對較小。




圖片




實驗結果,SwAW 跟有監督訓練的效果已經非常接近,優於 SimCLR 類的對比方法。另外,在標籤分配的方法上,其實 SwAV 的 OnlineTraining 跟 DeepClusterV2 的 OfflineTraining 是差不多的,結果都非常好,雙雙印證了這種標籤交換方法的有效性。




圖片




 MultiSimilarity-Loss 



在深度度量學習(Deep Metric Learning)中,有一系列的 pairwise 的 Loss 被提出,如 contrastive loss,triplet loss 等,在 MultiSimilarity Loss 這篇文章中提出了一個統一的框架去解釋這些 Loss,文中稱為GPW(General Pair Weighting),將這些 Loss 統一成對 Pair 相似性進行加權的問題,在這個框架下,作者進而提出了 3 種形式的 similarity,即 self-similarity、positive-relative-similarity 和 negative-relative-similarity,其中第一種是自相似性,只與自身有關,而後兩種屬於相對相似性,與其他樣本相關。而 Multi-Similarity 就是同時考慮了這 3 種相似性的 Loss。


那麼這 3 種相似性究竟是什麼呢?用一張圖來總結。




圖片






圖片



表:不同 Loss 中包含的相似性。之前的方法都只包含部分相似性。




MultiSimilarLoss 的多種相似性不僅體現在 Loss 上,還體現在對訓練樣本的挖掘上。透過迭代去挖掘(Mining)和加權(Weighting),不斷挑選出資訊量高的 pair 進行訓練,達到了非常好的效果。Mining 的過程是根據兩個原則挑選出最優資訊量的正負樣本對。Weighting 是根據相似性賦予不同的樣本對不同的權重。




圖片




MS Loss 的最終表達形式:




圖片







總結



大規模相似性特徵的訓練離不開自監督學習,自監督學習能以較低的成本學習到一個效果優越特徵模型。但僅靠自監督學習也讓模型侷限在自我(self)的世界裡,潛在地降低模型的泛化性,反應到線上實際應用中,會存在召回率低的問題。如何解決這個問題又是另一個新的課題,目前易盾探索了一條結合主動標註和度量學習的演算法方案,逐步引導模型學習潛在的鄰近關係,並取得了一定的效果。未來易盾會持續跟進業界和學界的最新方法,為這類對抗垃圾治理提供更多的解決方案。





 參考資料 




[1] MoCo: Momentum Contrast for Unsupervised Visual Representation Learning

[2] Unsupervised Learning of Visual Features by Contrasting Cluster Assignments

[3] A Simple Framework for Contrastive Learning of Visual Representations

[4] Multi-Similarity Loss with General Pair Weightingfor Deep Metric Learning




 作者簡介 


鄧芮,網易易盾高階計算機視覺演算法工程師,負責 OCR 和音影片演算法在內容安全領域的研發和落地。


相關文章