天天看點

Facebook的新AI「Rosetta」會識别表情包,還會删帖丨論文

這些表情包,都見過吧?

平時鬥圖、發朋友圈、發微網誌、知乎抖機靈最離不開它們了。

不過,表情包上的那些網絡金句都是.jpg或者.gif的圖檔格式,無法被搜尋、無法被計算機監測,字太小不清晰的時候還會讓視力不好的同學看不清楚。

總之,圖檔版的文字有種種不友善的地方。

是以Facebook幹脆出了一個能識别表情包的AI,名叫Rosetta,看看你們發的消息裡配的表情包都是些啥。

Facebook的新AI「Rosetta」會識别表情包,還會删帖丨論文

Facebook官方部落格給到的例子是一個西班牙語的企鵝表情包。

雖然圖上的西班牙文看不太懂,不過可以腦補一下,表情包上本來隻有白色加粗大字,Rosetta用藍色框選出表情包上的文字,然後識别出來,文字上面那一行是它的識别結果。

當然,不止表情包,還有各類其他圖檔。如果發小黃圖或者其他什麼不友善的圖檔被Rosetta發現,它就會啟動删帖大法。

Rosetta模型

Rosetta如何識别圖檔上的文字呢?

不是普通的OCR,而是用Faster R-CNN識别出有字的區域後,再進行文字識别。

具體步驟如下:

 ●  訓練一個可以将圖像表示為卷積特征映射的CNN;

 ●  訓練一個區域提議網絡(region proposal network,RPN),将圖檔分為寬5高7共35個小特征圖作為輸入,RPN找到一些看起來有文字的目标區輸出;

 ●  從每個區域特征圖中提取資訊,用分類器識别,之後按提案置信度排序,選擇最靠譜的提案。

Facebook的新AI「Rosetta」會識别表情包,還會删帖丨論文

上面這張圖則表明了兩步模型結構:

第一步是用Faster R-CNN檢測字元;

第二步是用有CTC(Connectionist Temporal Classification)損失的ResNet-18完全卷積模型來進行文字識别。

上面兩個模型獨立訓練。

而在訓練中,Facebook用上了Caffe2支援的、最近開源的Detectron framework。

另外他們還用上了LSTM來提高模型準确性。

Facebook的新AI「Rosetta」會識别表情包,還會删帖丨論文

△ 最終的文本識别模型結構

有特殊的訓練技巧

考慮到低學習率會讓模型欠拟合,而高學習率會導緻模型發散,Facebook調整了訓練程式:

一是先隻用比較短的單詞來訓練,最多隻有五六個字母,之後從少到多,用更長的單詞來訓練,逐漸增強單詞的長度;

二是從低學習率開始,保證模型不會發散,之後再逐漸提高學習率,保證模型穩定。確定穩定之後再降低學習率。

Facebook的新AI「Rosetta」會識别表情包,還會删帖丨論文

“我們不要手動搞資料集!”

由于Rosetta并不是一個純英文識别AI,它需要學的語言種類太多,單單訓練英文識别都要大量資料,何況Facebook的全球使用者來自各國,會使用各種不同的語言了。

于是,Facebook除了用人類手工标注的資料之外,還找了一些機器生成的資料集,也就是,找一個AI資料民工,強行給一些無辜的圖檔加字。

這個AI資料民工來自牛津大學VGG實驗室2016年發表在CVPR上的論文《 Synthetic Data for Text Localisation in Natural Images》,可以給正常的自然景物照片上,添加一些蛇精病一樣的文字。

Facebook的新AI「Rosetta」會識别表情包,還會删帖丨論文

這樣,批量生産的帶字圖檔就自帶了标注,一個AI生産資料,喂給另一個AI來訓練,自給自足。如果以後的模型都用AI生産的資料來喂養的話,估計幾十年後不少模型的賣點就變成了:

“人類标注,手動調參,純天然原生态,古早味模型。”

不僅能認表情包

除了識别表情包和删帖,Rosetta還可以用來實作照片搜尋、識别菜單、輔助視力障礙者認知圖檔等功能,而且這些功能并不僅僅适用于英文,連阿拉伯語都可以識别。

隻不過,阿拉伯語是從右往左寫的,是以Facebook在處理阿拉伯語的時候多加了一道從左往右翻過來的步驟。

原文釋出時間為:2018-09-12

本文作者:關注前沿科技

本文來自雲栖社群合作夥伴“

量子位

”,了解相關資訊可以關注“

”。

繼續閱讀