自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

人工智能是如何識別一張黃圖的?

企業(yè)動態(tài)

   前言

  本文嘗試用通俗的語言為大家介紹人工智能是如何實現(xiàn)“黃圖”的識別的,全文沒有復雜的公式和晦澀的術語,適合初級技術人員和有強烈好奇心的讀者。如果有興趣對文章內(nèi)提及的一些人工智能的基礎概念(神經(jīng)網(wǎng)絡,梯度下降,卷積等)深入研究,網(wǎng)上資料已經(jīng)很多了,可以自行查閱。(注意:由于演示需要,本文可能包含一些尺度較大的圖片。)

  色情作為人類最基本欲望的體現(xiàn)之一,一直伴隨著人類社會的發(fā)展而以不同形式展現(xiàn)著?;ヂ?lián)網(wǎng)時代的到來也給色情的表現(xiàn)形式帶來了巨大的機會,有文章說互聯(lián)網(wǎng)上的流量有50%都是與色情相關的,我不能證實這個數(shù)據(jù)的真實性,不過讀者可以在日常生活中自行體會。

  當然今天我們不討論色情產(chǎn)業(yè)的合理性,只專注于從技術角度研究如何鑒別互聯(lián)網(wǎng)上的這些數(shù)字內(nèi)容。接下來我結(jié)合網(wǎng)易信息安全部門的實踐經(jīng)驗來解釋如何做到這件事。

  鑒黃的歷史

  在計算機的“遠古時代”,其實也就是十幾年前吧,我們識別黃圖的做法簡單粗暴:人工審核。別小看了這個方法,其實針對當時的網(wǎng)絡環(huán)境(帶寬小,產(chǎn)品少,圖片數(shù)據(jù)也少),效果還是很不錯的。一天幾萬的圖片量,安排幾個人肉眼盯著看,發(fā)現(xiàn)有不良的圖片人工刪掉就好了。

  后來,互聯(lián)網(wǎng)產(chǎn)品普及率高了,網(wǎng)絡數(shù)據(jù)量暴增,一個產(chǎn)品一天出現(xiàn)幾百萬的圖片量也是很正常的情況,這個時候想要靠堆人力去完成審核幾乎不可能了。(再說,有多少產(chǎn)品可以支撐得起幾百上千審核人員的成本呢)。幸好相應的計算機視覺技術也有進步了,我們用膚色識別算法過濾掉一些沒那么多“黃色”內(nèi)容的圖片,剩下的再進入到人工審核,可以大大節(jié)約審核量。據(jù)統(tǒng)計,經(jīng)過機器膚色識別過濾后大約只有20%的圖片還需要人工審核。

  等到移動互聯(lián)網(wǎng)普及,各種類型的網(wǎng)絡數(shù)據(jù)量暴增,人工審核連20%的數(shù)據(jù)量也無法承受了,加上視頻、直播等業(yè)務和數(shù)據(jù)的爆發(fā)式增長,我們迫切需要一個更加有效的方案來解決審核的問題。很自然的,我們也緊跟人工智能的技術熱潮開始研發(fā)機器學習的鑒黃系統(tǒng),并且取得了顯著成果。

  人工智能鑒黃原理

  辨別一張圖是不是黃圖,從機器學習的角度看,本質(zhì)上是一個分類問題:給定一張圖片,讓機器判斷是不是“黃圖”。我們要做的就是研發(fā)一個“分類器”,它能根據(jù)輸入的圖片計算出該圖片屬于“黃圖”類別的概率,然后再根據(jù)這個概率值輸出一個“是”或者“否”的結(jié)果。眾所周知,電腦擅長的是數(shù)學運算,所以我們要把這個“分類器”先抽象成某種數(shù)學模型,這樣才有可能用電腦來運算。

  為了方便理解,我們把數(shù)學模型定義為:y=f(x)。即給定圖片x,我們要找到一個函數(shù)f,通過計算f(x)可以得到這個圖片的黃圖概率y。很簡單吧!理論上這個數(shù)學模型可以解決所有的分類問題。好了,那這個看似簡單的工作到底應該怎么實現(xiàn)呢?我們按下面的步驟慢慢來:

  第一步:給出定義。既然你要教機器分類,自然要有明確的分類標準,如果標準都沒有,那機器計算出來的值就沒有意義了。很自然的,我們先把露點的圖片歸類到黃圖,再明確一點,就是男性露下體,女性露乳房或者下體的圖。不過,多年的實踐經(jīng)驗告訴我們只根據(jù)是否漏點來判斷圖片類別是遠遠不夠的。比如這張圖:

  【介于圖片尺度問題,無法公開,大家可以想象一張裸體XXOO但不露點的側(cè)身圖】

  (圖1: 沒露點的色情)

  它并沒有露點,但是很明顯不能認為它是一個正常圖片。(不考慮政策監(jiān)管因素,僅從學術研究的角度講,也應該把這個圖片歸類到黃圖的一種)。反之,也并不是所有露點的圖片都是黃圖,比如圖2:

  

[[198847]]

 

  (圖2 :特殊但合理)

  然而,意識到這些僅僅是定義工作的開始,在真實世界的數(shù)據(jù)形態(tài)和政策法規(guī)的約束下,更多的圖片需要被分類,比如圖3、圖4等等:

  (圖3: 此處想象一張低俗但不漏點的圖片)

  

[[198848]]

 

  (圖4 :泳裝)

  通過上面的例子是為了讓大家明白,僅靠“黃圖”這樣一個籠統(tǒng)的定義是無法滿足實際情況的。我們得把一個“二分類問題”演進成更加復雜的“多分類問題”,并且盡量把定義和標準清晰化,這顯然是一個龐大和繁雜的工作。我們組建了專門的運營團隊對數(shù)據(jù)和政策法規(guī)進行研究,根據(jù)實際情況積累了許多的分類定義和標準。

  第二步:收集樣本。有了定義之后,我們就要根據(jù)定義來收集樣本數(shù)據(jù)。幸好我們之前多年的審核工作積累了大量的圖片數(shù)據(jù),其中有很多經(jīng)過了人工審核確認是黃圖的,所以我們從里面篩選出部分圖片作為訓練的數(shù)據(jù)。由于定義的分類數(shù)量非常多,我們不得不開發(fā)專門的分類標簽系統(tǒng)并組建額外的人工標注團隊,把訓練數(shù)據(jù)做進一步的篩選。訓練數(shù)據(jù)的質(zhì)量好壞對效果的影響非常大,所以我們必須很有耐心地投入到訓練數(shù)據(jù)準備的工作中。這個工作消耗了大量的時間和人力成本,并且還一直在持續(xù)進行中。由于都是違禁的圖片,為了避免二次傳播,我們也難以像ImageNet一樣通過眾包的形式來完成。

  第三步:訓練模型?;氐揭婚_始的數(shù)學模型y=f(x),訓練模型的目的就是為了得到f。我們通過前面的兩步得到了標注好的圖片樣本集,把標注的結(jié)果定義為y*,圖片為x,現(xiàn)在我們要想辦法找到一個f,可以對樣本集中所有的圖片計算得到的y跟y*最接近,也就是得到使|y- y*|的值最小的f。我們可以把|y- y*|定義為損失函數(shù)。如何找一個函數(shù)的最小值在數(shù)學界已經(jīng)有成熟的算法。一般采用梯度下降法去尋找合適的f。

  雖然所有圖片數(shù)據(jù)在電腦看來也都是0和1的二進制數(shù)據(jù),比如下圖就是前面圖1的二進制形態(tài)的片段。但是直接拿這些0和1的數(shù)據(jù)計算,容易導致運算量過大,圖片特征提取的效率和準確度都難以保證。

  

 

  (圖5 :圖片的二進制值)

  如何高效地提取出特征數(shù)據(jù)來代表圖片x是很關鍵的一步。技術上稱之為特征提取。幸好許多前輩科學家已經(jīng)做了大量的研究,近些年來,基于深度學習的神經(jīng)網(wǎng)絡模型在各種圖像識別的比賽中獲得了突破性的進展。所以我們選用了CNN(卷積神經(jīng)網(wǎng)絡)、GoogLeNet、ResNet(殘差網(wǎng)絡)三種深度網(wǎng)絡模型結(jié)構(gòu)作為研究的基礎。通過這些模型,我們就可以更加高效地把圖片數(shù)據(jù)轉(zhuǎn)變成了可以運算的數(shù)學模型,使我們可以更快更好地得到f。

  當然實際情況下f是一個非常復雜的函數(shù),為了簡化運算,我們把f拆分成了fn(fn-1(fn-2(f…(f2(f0))…)),每一個f可以理解為神經(jīng)網(wǎng)絡的一層,n個f就是n層,這種層層遞進的關系就是算法名稱中“深度”的由來。理論上我們可以搭建任意深度(層次)的神經(jīng)網(wǎng)絡模型。把f拆分之后,我們用倒推的辦法就能得到每一層的f。

  我們以圖4為例,經(jīng)過不同層次的f運算得到的結(jié)果,如下圖6:

  

 

  (圖6: 不同網(wǎng)絡層次特征結(jié)果)

  每一個層次的f可能會得到許多特征結(jié)果,有一些是模型對應特征的響應(對應圖中有高亮的部分),有一些沒有響應(圖中黑色部分)。最終經(jīng)過所有層級的f運算所得結(jié)果經(jīng)過Sigmoid函數(shù)映射到0-1之間,得到的就是y值了。y越接近1,那么它命中類別的概率就越大。演化到多分類的問題上,y就是一個多維度的數(shù),理論上每個維度都可以得到一個0-1之前的值,我們按照一定算法選擇某一個維度的y作為結(jié)果輸出即可(一般按照y值大的)。

  第四步:驗證。經(jīng)過前面3步運算我們得到了f。(其實是n層神經(jīng)網(wǎng)絡的參數(shù),也就是所謂的“黃圖”模型)。f的可視化結(jié)果可以參看圖7(以GoogLeNet為例),圖7展示了10個224*224的RGB圖片作為輸入,在第二個卷積層的時候就需要64*3*3*64=36864個f的參數(shù)。當然這個是在計算一個非常簡單的圖示情況下的數(shù)據(jù)量,實際情況的輸入數(shù)據(jù)和網(wǎng)絡深度都要遠遠大于圖片所展示的。我們常說的算法調(diào)參,就是指調(diào)整這些f的上萬甚至上百萬個參數(shù)。

  

 

  (圖7 :神經(jīng)網(wǎng)絡結(jié)構(gòu)模型)

  接下來我們需要有一個驗證的圖片集來測試f的效果。由于f是根據(jù)訓練集生成的,那么直接用訓練集不足以反映它在真實環(huán)境下的效果。得益于我們大量的歷史樣本數(shù)據(jù)集,我們專門挑選一些圖片作為驗證使用。通過一個自動化的測試平臺不停地對迭代出來的f做驗證。在準確率達到更優(yōu)的程度之后再更新上線。

  人工智能鑒黃現(xiàn)狀

  我們經(jīng)過不斷迭代,得到了越來越精準的f(模型),在驗證圖集上也達到了99.8%以上的準確率。那么,我們就可以高枕無憂了么?恐怕還不行。

  首先我們考慮真實世界里的場景:雖然互聯(lián)網(wǎng)產(chǎn)品類型多樣,但產(chǎn)品里面黃圖的比例往往很小,一般都是萬里挑一甚至是十萬分之一的級別(明目張膽玩情色的產(chǎn)品在中國活不久)。我們假設10k張圖像中有1張是黃圖,我們的系統(tǒng)準確率為99.9%,即1k張圖像會判錯一張,那么我們計算偽陽性率(False Positive Rate),即判斷為違禁圖像集合中正常樣本的比例為:

  

 

  即11張判定為黃圖的結(jié)果里面竟有10張是誤判!不過用戶也不用過分擔心,統(tǒng)計為誤判的圖像,多數(shù)情況屬于一些邊界的情況,實際使用效果會更好。

  其次,深度學習的模型會有一些奇怪的行為表現(xiàn),比如相關論文([1] Goodfellow, Ian J., Jonathon Shlens, and Christian Szegedy. "Explaining and harnessing adversarial examples." arXiv preprint arXiv:1412.6572 (2014).)里面描述的情況(圖8)

  

 

  (圖8)

  一張原本能被正確識別的大熊貓圖像,在添加人眼幾乎不可辨認的微小變化之后,竟然以99.3%的置信度被判別為長臂猿。

  是神經(jīng)網(wǎng)絡結(jié)構(gòu)有問題嗎?不是,這個實驗是基于獲得ILSVRC競賽冠軍的GoogLeNet網(wǎng)絡進行的。

  是訓練數(shù)據(jù)的問題嗎?也不是,網(wǎng)絡是基于目前最大的物體識別分類數(shù)據(jù)集ImageNet訓練的。

  也就是說,對于一個卷積神經(jīng)網(wǎng)絡,出現(xiàn)難以解釋的正常圖像誤判是普遍現(xiàn)象。即便是在實際應用或比賽中取得滿意效果和優(yōu)異成績的算法,也會犯反人類直覺的“低級”錯誤。

  基于以上的原因,在真實的場景下,我們往往采取機器審核+人工審核的方式來做到雙重保險。

  結(jié)語

  以上通過盡量簡單的描述說明了網(wǎng)易云安全(易盾)反垃圾系統(tǒng)在識別黃圖這個工作中所作的努力和成果。但是也提到了許多的挑戰(zhàn),比如反人類直覺的低級誤判問題,對于邊界條件的圖片識別準確率問題等。技術的進步是無止境的,網(wǎng)易云安全(易盾)實驗室的算法工程師們也一直在努力。目前,網(wǎng)易云安全(易盾)已經(jīng)面向企業(yè)市場,我們每天會為中國的互聯(lián)網(wǎng)過濾1億條左右的有害信息。除了智能鑒黃,網(wǎng)易云安全(易盾)同時開放有廣告過濾、暴恐識別、謠言檢測等內(nèi)容安全服務,驗證碼、營銷反作弊、應用加固等業(yè)務安全服務,以及DDoS 防護、SSL 證書管理等網(wǎng)絡安全服務。

責任編輯:Jane 來源: 中國網(wǎng)
相關推薦

2018-05-18 18:09:44

人工智能

2017-11-30 10:51:57

英特爾人工智能

2022-03-18 21:29:37

人工智能AI

2021-02-07 09:01:10

Java并發(fā)編程

2022-07-12 10:06:08

人工智能AI

2020-08-31 15:15:20

人工智能算法AI

2015-10-29 15:09:32

信息圖數(shù)據(jù)

2015-09-23 10:04:03

開放數(shù)據(jù)

2022-05-12 09:00:00

人工智能面部識別智能監(jiān)控

2023-05-05 14:02:59

人工智能聊天機器人

2022-08-21 11:56:45

Google虛擬環(huán)境開發(fā)者

2022-12-01 07:03:22

語音識別人工智能技術

2022-06-02 11:39:15

邊緣人工智能機器學習

2017-06-28 09:03:31

2022-06-26 23:41:40

人工智能機器算法

2023-05-06 12:12:28

2018-08-29 10:50:29

區(qū)塊鏈人工智能AI

2013-12-16 10:59:52

WiFi上鎖WiFi被盜

2019-09-25 08:20:58

人工智能自動駕駛5G

2020-12-18 13:22:33

人工智能算法
點贊
收藏

51CTO技術棧公眾號