關於社群網站辨識肉照這件事情…(笑)

過年時間朋友在網路上拜年的情形十分普遍,這時候有些朋友都會發些比較『激情』的照片來拜年(是說你到底交了那些朋友?!)。可是往往照片一貼出來沒多久就不見了。這時候除了懊悔沒有先下載之餘,有沒有覺得社群網站之類的網路服務對這種事情的反應速度也太快了?到底他們哪來這麼多人手處理呢?

實際上現在並不是單純靠人力在處理。因為使用社群網站的人數實在太多了,根本請不了那麼多真人看。所以現在都是使用機器學習演算法先行過濾。早期使用的是辨識照片中皮膚顏色的像素比例,不過想也知道這很不靠譜。因為肉色比例高也不代表是真的有過激場面,另外就是黑人的皮膚顏色也不太合適。

所以到了後來,使用的機器學習演算法就得越用越進階了。 到了這三年深度學習(Deep Learning)開始流行起來,就有不少人拿來建構這種辨識肉照的模型。比方說 Yahoo 開源了他們的 NSFW 演算法,又或者 Facebook 也在研究去辨識直播中有沒有色情暴力

深度學習其實這個概念很早就有了,其實就是類神經網路。不過這個模型有一個缺點,就是模型本身是個黑箱,人類無法理解這個模型裡面到底為什麼會可以把肉照辨識出來。直到 2014 年左右,一種叫做 Deconvolutional Networks 的方法被開發出來,這種方法可以把類神經網路裡面的神經元權重視覺化抽出來看。下面這個就是一個例子,可以看到身體的激情重點部位都被類神經網路學習到了。 這張圖片是引用自稱是 NSFW enthusiast 的 Ryan Compton 的文章(笑)。

如果現在的演算法已經那麼聰明,那麼是不是以後就乾淨純潔好棒棒再也沒有煩惱了呢?事實上這種用在影像類的類神經網路有缺點。有人發現有種現象就是有些圖片會很高機率被模型給誤認。他們把這種圖片樣本叫做對抗樣本(Adversarial Examples),這也差不多是 2014 年的事情。

根據深度學習大師 Ian Goodfellow 的說法,這些對抗樣本其實很容易被製作出來。為了證明這一點,他就拿了一張熊貓的照片然後在上面添加一些人眼不太容易辨識的訊號,成功的騙過了類神經網路的模型,一張信心度 57.7% 的貓熊圖片誤認為是長臂猿。

所以只要用相同的方式對於要放出來的圖片進行加工,就可以騙過這些類神經網路模型。沒有突然覺得成年人的世界又可以喘息一下了呢?(笑)

不過深度學習模型也不都全然都是對成年人的限制就是了。日本人可真的是開發了不少的應用呢。像是女優圖像檢索服務從女優臉部照片辨識胸部大小、又或者利用音頻推測影片的高潮場景…細節就請各位去看一下原文了。

後記&善意提醒:要製作對抗樣本添加的訊號不是隨便加的喔,是要順著類神經網路權重的方式特別設計過的,所以請不要隨便自己用 photoshop 之類加雜訊就想騙過社群網站的模型。

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.