深度學習影象演算法在內容安全領域的應用

LiveVideoStack_發表於2020-01-13
640?wx_fmt=jpeg

網際網路給人們生活帶來便利的同時也隱含了大量不良資訊,防範網際網路平臺有害內容傳播引起了多方面的高度關注。本次演講從技術層面分享網易易盾在內容安全領域的演算法實踐經驗,包括深度學習影象演算法在複雜場景下的效果優化方案。

 
文 / 李雨珂
整理 / LiveVideoStack
 
大家下午好,我是來自網易易盾的李雨珂,本次我分享的主題是深度學習影象演算法在內容安全領域的應用。網易易盾是國內領先的內容安全&業務安全服務提供商,我也很榮幸有機會在這裡分享易盾在人工智慧方面的實踐工作。

我個人前期主要從事電商領域會員營銷的演算法工作,主要的內容是給不同的使用者發放不同型別的優惠券,操盤好幾個億,每天都心驚膽戰。近期我主要是在易盾推動內容安全演算法優化,也包括了鑑黃、色情識別方面的工作。

640?wx_fmt=png
 
本次分享主要分為展示AI商業落地案例和分享網易易盾在長期工作過程中的演算法優化經驗兩個部分,人工智慧的概念已經火熱了至少兩年的時間,和熱度相比,商業化的落地案例還是相對有限的,很多時候是包裝成人工智慧的傳統技術手段,真正意義上的人工智慧深度學習商業化落地點集中在生物識別、互動娛樂等方面。另外在學術界,雖然人工智慧,尤其是深度學習方法已經取得了非常大的突破,但在實際工業場景使用的過程中,還是遇到了非常大的挑戰。

640?wx_fmt=png

1. 背景介紹

1.1 網際網路內容安全

640?wx_fmt=png

網際網路已經深入生活的方方面面,隨著資訊量的增加,有害資訊在網際網路的傳播速度也是非常迅速的,尤其是在網際網路社交領域。在我們接入的某些客戶中,色情內容佔比高達10%以上,更可怕的是,一些面向青少年的APP中也存在著非常多少兒不宜的內容。有害內容資訊大致包括了色情、廣告、暴恐、違禁等方面,以色情資訊為例,目前網際網路中的色情資訊已經不單是單純的、暴露的色情資訊,更多轉變成暗示類、隱晦的、打擦邊球的三俗資訊,這對內容清理來說也是增加了很大的難度。因為從事了這樣的工作,見過很多樣本,我個人覺得在公眾平臺清理資訊是非常有必要的。

640?wx_fmt=png
 
在我的印象中,近兩年來,尤其是最近幾個月,網際網路APP下架的訊息還是比較多的,這裡很大一部分原因是由於使用者上傳了有害資訊,而平臺沒有及時發現制止,使其產生了傳播的作用,進而被監管部門發現導致下架。

實際上,不單單是網際網路企業,任何有使用者上傳內容功能的企業都會面臨這一重大安全問題,在海量的資料中發現小量違規內容的確非常困難,而且有害資訊涉及的種類繁多,業務定義也非常複雜。作為內容安全的服務提供商,易盾在業務上需要做到向企業提供包括鑑黃、鑑恐等一系列違規內容的識別服務,保證企業內容不出現問題。

640?wx_fmt=png

實際上,這一問題已經引起了國家各個部門的高度重視,相關的法令也在陸續頒佈,對網際網路內容治理起到了重要指導作用,也給相關的工作提供了更確切方向。
 
1.2 人工稽核與機器稽核

640?wx_fmt=png

對於網際網路內容稽核的實施方案,最早期主要由人工完成,雖然直觀感受上普遍都會認為人工稽核的效果更靠譜,但其實純人工稽核會帶來很多的問題。首先,隨著企業業務量的增長,資料激增,人工的代價過於龐大。舉例來說,一名鑑黃師每天可以稽核4萬張圖片,在日均100萬的平臺上需要25名鑑黃師來從事人工稽核的工作,一年的投入成本可能在200萬左右,這對於中小企業來說是一個非常大的負擔。其次,根據人工稽核的實際情況會發現,人工稽核的速度並不能匹配資料產生的速度,這就會導致使用者上傳資料有一定的滯後性。又由於資料量過於龐大,人工稽核的準確度也並沒有想象中那麼高。最後,稽核的標準非常複雜,對於稽核人員的培訓難度也非常大。

640?wx_fmt=png

隨著近年來內容稽核需求的增長,易盾在技術上也做了很多的嘗試。最初易盾是通過黑白名單庫、規則系統的方式來做機器稽核,隨後逐漸增加了傳統CV方法,包括影象紋理、膚色等手段來進行協助,最終發展到基於深度學習的內容稽核方法。

我個人主要經歷了第三階段,也就是深度學習階段的技術探索,在深度學習發展之前,機器通過純影象的方法進行稽核其實是非常困難的。
 
1.3 機器稽核面臨的挑戰

640?wx_fmt=png

在具體介紹解決方法之前,還是應該先提一下使用深度學習技術進行機器稽核的難點,主要分為前期海量資料資源要求和後期投入、運營維護兩個階段。前期面臨的問題主要是由於深度學習比較依賴資料,而違禁資料相對而言資料量比較少,收集難度大,覆蓋型別有限。而後期模型上線之後會存在樣本攻防問題,這也是所有服務都避免不了的,對抗成本需要投入大量的人力和物理。

1.4 前期資料壁壘

640?wx_fmt=png

上圖羅列了一些導致前期資料壁壘的問題,關於前期資料積累方面,之前某個客戶的平臺中出現了一些割腕的圖片,由於資料所佔的比例相對較小,外部資料收集的難度也較大,後來團隊又去找了資料服務商,而服務商其實也沒有類似的資料可以提供,樣本的匱乏給團隊在機器稽核方面帶來了很大的困難,因為深度學習方法還是要以資料作為基礎來進行學習的。
 
1.5 後期樣本攻防

640?wx_fmt=png

攻防對抗是安全領域常見的一個問題,眾所周知深度學習方法本身就存在樣本對抗的問題,一張原本能夠識別出來的圖加入微小的改動,模型就可能識別錯誤或者識別成其他類別。使用者發現特徵明顯的違規圖片能夠被自動識別後,就會對圖片進行一系列的篡改,導致系統無法識別。以廣告為例,左邊是特徵較明顯的廣告圖,右邊是使用者對影象防禦系統進行攻擊的圖片。
 
1.6 深度學習採用的技術

640?wx_fmt=png

帶著上述這些困難,團隊進行了深度學習在這一領域落地的初步探索。具體方法上團隊採用的基本技術手段是深度學習中最常見的影象分類網路和目標檢測網路,影象分類網路是對影象整體提取特徵後進行分類,目標檢測在提取特徵後對影象位置和類別打上標籤。在實際解決問題的過程中,對於不同的違禁內容往往會使用不同模型和服務進行處理。

為了宣傳,人們往往將深度學習和人腦智慧聯絡在一起,我個人本身是做神經科學出身,實際上兩者確實是有一些相似之處,例如視覺系統也有V1-V2-V4-MT的層級結構,感受野RF和卷積核也有一定的相似之處,但是這種聯絡相對來說是比較弱的,神經科學家往往不會同意這種對應關係。尤其是目標檢測、語義分割等方法,工程設計感還是非常強的。所以嚴格意義上來說,深度學習方法雖然有效,但離真正意義上的大腦智慧還是有很大差距的,直觀上來說很重要的一點是深度學習方法非常依賴資料,推理能力是有限的,要學會區分貓和狗需要讀取大量的資料,但人腦其實並不需要看這麼多的樣本就可以對事物有較好的區分。由此可以看出深度學習和人腦工作方式並沒有那麼相似,也不是直接借鑑,但在工程應用領域是非常好用的。
 
2. 初期探索

640?wx_fmt=png
本頁PPT圖片來源為:https://github.com/hoya012/deep_learning_object_detection

在初期的工作過程中,演算法工程師往往會陷入一個陷阱,由於近幾年來深度學習的發展太快,各種各樣的網路層出不窮,在公開資料集上也有許多令人震驚的效果,因此演算法工程師太多關注方法本身,並在有限的業務資料上進行調參。因此在工作過程中會發現方法上的優勢其實非常有限,公開資料集上有優勢的方法不一定適用於實際業務資料集。造成這樣結果的原因在我看來有兩點:

1. 開源方法往往以公開資料集進行測試,公開資料訓練的例子是真實世界中的一個子集。

2. 演算法本身不具備很強的推理能力,本身還是更依賴資料。

640?wx_fmt=png

在這樣的工作模式下,演算法線上上主要會出現大量不可解釋的誤判和特徵不明顯、較模糊的樣例不能召回的漏判問題。上圖右邊就是一張具有代表性的誤判圖,線上上還有更多各種各樣的誤判。
 
3. 優化過程

3.1 演算法優化過程梳理

640?wx_fmt=png

暴露出上文提到的問題,團隊開始對演算法的優化過程做梳理,做了以下一系列的工作。首先要做的就是定義業務標準,對每一個細分類都需要有明確的描述,標註作出判斷時有明確依據。另外需要明確問題出現的重要程度,從全域性角度考慮,放棄一些零碎的偶發樣例,集中精力解決某一型別的問題。以廣告為例,上圖左邊圖片內容包括女性圖片和聯絡方式的色情推廣類廣告,我們稱之為美女廣告,上圖右邊圖片包含開發票、代刷粉、辦假證、貸款、網路兼職等具有明顯的、推廣第三方資源的引流資訊,我們稱之為垃圾廣告。

3.2 測試標準

640?wx_fmt=png

在源頭的標準定義之後,下一步就需要建立更能表達線上效果的測試集和測試標準,測試並不單單是在做演算法demo時選取一大批資料分為訓練和測試,在測試集上取得好的效果之後就拿來使用,這是遠遠不夠的。上圖中列舉了五種測試型別,第一種是比較基本的基礎測試集,大概十萬級別到百萬級別的資料,會對演算法效果有一個基準的認知;第二種是線上資料,把線上千萬級別的資料拉取到本地進行測試,由於線上資料的嫌疑量比較低,通過測試檢視召回資料就可以評估出應用到線上的誤判情況;第三種是特定型別集,這部分結合高頻出現的型別進行固定測試,對漏判進行評估;第四種是在兩個版本釋出之間運營收集的一些歷史反饋做效果提升的評估;第五種是預發測試,模擬上線情況減少突發問題。

3.3 資料層面

640?wx_fmt=png
該頁圖片來源為:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&doc=exercises/ex8/ex8.html

關於資料方面,易盾在演算法維護過程中,已經通過建立線上資料閉環流程來進行資料層面的優化,資料通過模型後會帶著分數迴流到標註系統,但大規模標註非常消耗成本,因此並不會全部都進行標註。在這其中易盾更關注兩類資料,一類是模型已經判斷的比較好的資料,也就是圖中右上角的資料,這部分模型具有很明顯的特徵,拿回之後再扔進模型訓練,其實會提高模型的整體分數。而且在服務透出的時候會分為確定型別和嫌疑型別兩個級別,確定型別的精準度大概在99%以上(色情模型最新資料)以上,機器可以對這部分資料做直接的處理(攔截、刪除),嫌疑型別的精準度大概在80%以上(色情模型最新資料)以上,對於這部分型別團隊還是希望通過人工做二次稽核,如果真的有問題再做進一步處理。線上上應用的過程中,確定嫌疑的比例大概在2:1到3:1左右,確定型別的比例還是佔大多數,這也得益於模型會不斷迴流確定型別資料來加強模型。

放在邊界的資料點類似於在考試中拿不準的題目,將其彙總作為習題集,集中對模型進行更好的訓練,這樣可以使模型對邊界訓練的更好,能夠提升解釋性和確定性。

3.4 漏判優化

640?wx_fmt=png

在漏判優化方面網易易盾也做了許多的嘗試,主要由上圖提到的五點:資料迴流擴充正樣本、定向收集資料、目標檢測輔助、FPN + ATTENTION和其他技術輔助,通過這些技術將易盾整個識別服務包裝起來。

640?wx_fmt=png

模型層優化網易易盾嘗試了特徵金字塔和注意力機制,特徵金字塔更多是用在檢測網路中,通過底層的基礎資訊和上層的語義資訊相融合,能夠解決一些尺度的問題和緩解小目標檢出的問題,這在實際應用中是比較有效的。注意力機制主要是用在分類階段,能夠對特定區域做加權操作,提高其中的關注度,能夠協助把模糊資訊確定化。這兩種方法也是在模型層優化階段的常用的。

3.5 多技術手段輔助

640?wx_fmt=png

網易易盾的深度學習影象演算法對外透出是廣告服務,但實際上這背後結合了大量的技術手段,對外界來說只看到一張圖片上傳之後判定是否為廣告,但在其內部其實經歷了非常多的步驟。
 
3.6 OCR輔助

640?wx_fmt=png

雖然市面上有很多的OCR產品,但網易易盾還是投入了大量的精力去自研匹配內容安全場景的OCR技術,主要解決了傾斜、倒立、仿射變換和豎排以及特殊字型、排版和手寫體方面的問題,雖然這些內容在通用場景中不太常見,但在內容安全領域這些內容是非常多的,用通用OCR技術去處理這些圖片往往起不到特別好的效果。
 
3.7 圖片庫輔助

640?wx_fmt=png

同時網易易盾會對偶爾發現卻沒有辦法被照顧到的圖片做一些處理,比如有些圖片被漏判,但又沒辦法及時更新模型去解決,因此會將其加入圖片庫中,這裡的圖片庫並不是傳統意義上的MD5庫和Hash庫,而是以深度學習為基礎,提取了全區特徵和結合傳統區域性特徵的圖片庫,在學術上稱之為同源影象檢索,加入圖片後,它的相似圖片也同樣會被召回,這大大提高了應對剪裁和塗改的能力。

3.8  優化過程小結

640?wx_fmt=png

易盾演算法的優化在我看來,最重要的兩點是問題定義和資料撈取,當然模型的選擇和調參也同樣不可忽視,但前者決定了演算法服務的下限,需要在保證服務下限的前提下通過後者抬高服務的上限。上圖右邊所示的是易盾演算法優化的閉環,這個過程同樣應用在深度學習中。
 
3.9 業務效果

640?wx_fmt=png

以上述一系列的優化邏輯為基礎,易盾通過不斷的努力還是取得了不錯的業務效果。首先在整體的業務表現上還是能夠讓運營和產品滿意的,當然也會出現一些很難處理的資料,這部分也會通過優化過程慢慢解決。另外易盾還對識別範圍做了擴充,整體的識別能力現在來看是非常完備的。正是有了之前優化的經驗,易盾能夠快速響應一些新的需求選擇最佳的模板來做一些實踐。在資料統計方面,核心模組(包括色情、涉政、廣告等)的整體漏判率控制在萬分之三以內,精度維持在97%以上,通過橫向與友商產品作比較,目前易盾產品達到這樣的指標在業界上還是比較佔優勢的。
 
3.10 進一步的工作

640?wx_fmt=png

除去上文提到的工作內容,其實還有很多可以進一步推進的工作,比如上圖提到的業務輸出精細化、模型層面精細化和模型效能優化。

640?wx_fmt=png

上圖列出了易盾在影象業務的橫向擴充方面所做的工作,比如Logo識別和旗幟識別。在另一方面,易盾也在平臺化支撐和獨立精耕細作這兩個線路上做事情,前者由於易盾自身有一些好的實踐和最佳模板,因此可以做到快速地響應需求和解決問題,對於一些對效果要求比較高的場景,易盾往往會垂直優化已有業務,定向優化模型,兩條線路存在一定衝突性,分別適用於不同的應用場景。
 
3.11 演算法架構圖

640?wx_fmt=png
紅框標註的主要是演算法中模型層優化的內容

由上圖演算法架構圖可以看出,演算法在其中只是做了很少一部分的工作,更多需要運營、工程和標註團隊協同配合,才能使演算法達到比較令人滿意的狀態。
 
3.12 演算法延伸

640?wx_fmt=png

以上提到的都是些影象方面的優化和實踐經驗,但易盾在平行的文字、圖片、視訊和音訊部分都做了相同的工作。

3.13 音訊技術

640?wx_fmt=png

音訊技術目前能夠提供的服務是聲音檢測和語言檢測,聲音檢測包括的型別有嬌喘、呻吟、ASMR和槍擊爆炸,語言檢測則可以對小語種提供識別服務,在小語種識別上易盾與人工識別做了對比發現,機器識別的準確度要高於人工識別,處理流程是將音訊分段提取頻譜特徵,把傳統的頻譜特徵扔到CNN網路中做分類工作,通過這種簡單的方式其實就可以取得很好的效果。

3.14 所獲榮譽

640?wx_fmt=png
網易易盾收穫榮譽

640?wx_fmt=png
中國人工智慧競賽A級認證
 
4. 總結

640?wx_fmt=png

最後來對本次分享內容做一個總結,首先做事情還是應該更關注問題的定義,保持全域性角度;其次是資料,關注資料的有效收集,集中精力處理有效資訊;對於成本問題就必須要提到昂貴的標註成本,所以在做標註時要有選擇的進行標註,另外成本問題還涉及到機器成本,目前只有在效能優化上有突破後才能在機器成本上做到比較好的節省;定製問題需要根據場景來決定精細化程度,通用場景對精細化程度要求並不高,對精細化程度要求比較高的場景我個人會建議進行定製化。

LiveVideoStack 秋季招聘

LiveVideoStack正在招募編輯/記者/運營,與全球頂尖多媒體技術專家和LiveVideoStack年輕的夥伴一起,推動多媒體技術生態發展。同時,也歡迎你利用業餘時間、遠端參與內容生產。瞭解崗位資訊請在BOSS直聘上搜尋“LiveVideoStack”,或通過微信“Tony_Bao_”與主編包研交流。

640?wx_fmt=png

相關文章