13歲少年的傑作:從網上收集垃圾帖子的機器學習系統 DeepSPADE
作者簡介:坦梅·巴克希(Tanmay Bakshi)年僅13歲,是演算法及認知開發員、年輕作者和TEDx演講者。他將在洛杉磯召開的開源峰會上發表主題演講,題為「開源賦予的靈感――技術和人工智慧的現在與未來」。他還將在技術討論會(BoF)上探討DeepSPADE。
本文作者Tanmay Bakshi討論了DeepSPADE,該系統可用於區分公共社區論壇上的垃圾帖子和非垃圾帖子。
這篇博文介紹了本人構建的一個深度學習系統,名為DeepSPADE(又叫DeepSmokey),並介紹了它如何被用來打造更好的互聯網社區。
首先介紹一下DeepSPADE是什麼、它有何用途?
DeepSPADE的全稱是「深度垃圾內容檢測」,基本想法是,機器學習執行自然語言分類任務,以區分公共社區論壇上的垃圾帖子和非垃圾帖子。
Stack Exchange(SE)就是這樣一個網站,該網路下面設有超過169個不同的網路論壇,涵蓋從編程、人工智慧、個人理財到Linux的各種主題!
Stack Overflow(SO)是SE的一個社區論壇,專門介紹編程,它是世界上最受編程人員歡迎的論壇網站。自上線以來的七年間提出的問題超過1450萬個,其中650萬個問題已回答,由此可見它到底有多受歡迎。
然而,與任何公共網站一樣,Stack Overflow充斥著垃圾內容。雖然這個社區的大多數成員對於分享知識或者尋求他人的幫助真正感興趣,但是有些人試圖往網站亂灌垃圾內容。實際上,SO上每天平均新增30多個垃圾帖子。
為了解決這個問題,一群名為Charcoal SE的程序員設計和開發了SmokeDetector系統。SmokeDetector使用大量的正則表達式(RegEx),根據內容試圖找出垃圾信息。
我是機器學習的大力支持者,一發現他們將正則表達式用於垃圾內容分類後,立即喊道:「為何不用深度學習?!」這個想法受到了Charcoal社區的歡迎;實際上,他們之前沒有採用深度學習的原因是,他們當中誰也沒有搞過機器學習。我加入了Charcoal社區,開始開發DeepSPADE,幫助實現他們的使命。
DeepSPADE模型
DeepSPADE結合使用卷積神經網路(CNN)和門控循環單元(GRU)來運行這項分類任務。它用來實際了解被提供的自然語言的詞向量(word-vector)是在實際的模型訓練開始之前訓練的word2vec vector。然而,在模型訓練期間,向量經過微調以實現最佳性能。
神經網路(NN)用Keras來設計,使用Tensorflow(TF)後端(相比Theano,TF提供了相當大的性能優勢),圖1顯示了模型本身很長的示意圖:
正如你所見,我設計的這個模型很深。事實上,該模型不光很深,還是個平行模型。
不妨先從很多人會有的一個問題入手:為什麼要使用CNN和GRU?何不僅僅使用那些層的其中之一?
答案在於這兩層的實際工作機理的底層。下面不妨細解:
CNN了解沒有時間限制的數據中的模式。這意味著CNN並不以任何特定的順序查看自然語言,它只是如同查看任何一組數據那樣,沒有順序地查看自然語言。要是有一個非常特定的詞,我們又知道它幾乎總是與垃圾內容或非垃圾內容有關,這大有幫助。
GRU或通常意義上的遞歸神經網路(RNN)了解按時間序列加以明確排列的數據模式。這意味著RNN了解詞的順序,這有所幫助,因為一些詞基於使用方式會傳達全然不同的概念。
實際上,為了解釋這個組合為何如此強大,不妨看一下DeepScale系統針對16000個測試行的準確性的下列「演變過程」:
65%-卷積神經網路的基準準確性
69%-更深的卷積神經網路
75%-引入了更高數量和質量的數據
79%-對模型作了小幅改進
85%-隨CNN模型一併引入了LSTM(無並行機制)
89%-更大的嵌入尺寸(embedding size)、更深的CNN和LSTM
96%-使用GRU而不是LSTM,更多的Dropout正則化,更多的池化(Pooling)和更大的嵌入尺寸
98.76%-使用並行模型和更大的嵌入尺寸
答案再次在於CNN本身是如何工作的:它有很強大的過濾掉噪音、查看某些內容信號的能力,另外,性能(訓練/推理時間)比RNN高得多。
所以,一開始3個Conv1D + Dropout + MaxPool組充當過濾器。它們創建數據的諸多表示形式,每個組描述的數據有不同的角度。它們還在保留信號的同時竭力減小數據的大小。
之後,那些組的結果分為兩個不同的部分:
它進入Conv1D + Flatten + Dense。
它進入一組3 GRU + Dropout,然後進入Flatten + Dense。
為什麼使用並行機制?因為兩個網路都試圖找到不同類型的數據。GRU查找有序數據,而CNN查找「通常的」數據。
一旦收集到兩個神經網路的意見,這些意見就串連起來,並通過另一個Dense層來饋送,Dense層了解模式和關係,清楚每個神經網路的結果或意見何時來得更重要。它進行這種動態加權,並饋入到另一個Dense層,從而給出模型的輸出。
最後,該系統現在可以添加到SmokeDetector,其自動加權系統可以開始整合深度學習的結果!
此外,該系統完全在Linux伺服器上加以訓練、測試和使用!當然,Linux對於這類軟體而言是個了不起的平台,那是由於實際上沒有硬體方面的限制,又由於大多數優秀的開發軟體主要在Linux上得到支持(Tensorflow、Theano、MXNet、Chainer和CUDA等)。
與大家一樣,我也喜歡開源軟體。雖然這個項目目前還不是開源項目,但所有人很快會迎來驚喜!
點擊展開全文


※趕緊更新你的DNS簽名密鑰,否則10月11日之後無法使用互聯網
※GPU資料庫崛起
※NVMe fabrics為傳統陣列敲響喪鐘!
TAG:雲頭條 |
※5月機器學習TOP 10熱文:Google Duplex,「換臉術」、網格單元
※從華為P20 DxOMark的勝利來說AI與機器學習
※請收下這份2018學習清單:150個最好的機器學習,NLP和Python教程
※CMU教授Metin Sitti:產學雙棲的仿生機器人專家 | CCF-GAIR 2018
※Martech Focus:2018年人工智慧和機器學習將成為CMO的必需品
※庫克揭幕iOS 12,機器學習CoreML推出2.0
※DUCATI Panigale V4S VS BMW M760Li 速度機器直線對決
※CODEX團隊宣布破解《戰爭機器4》Windows 10 UWP版
※IBM稱旗下的Snap機器學習庫比TensorFlow快46倍
※純分享兩個學習資料:OpenCV-Python-機器學習-Qt相關
※《戰爭機器5》Xbox One X全模式將爭取4K 60FPS PC版可實現120FPS
※IBM全新機器學習庫SnapML:訓練提速46倍,40億樣本僅需91.5秒
※第145期-ZF刷新概念MB&F機器人呆萌登場
※Arm發布新一代GPU Mali G52和G31,加入機器學習能力
※Computex 2018重磅:NVIDIA力推Isaac,讓機器人更聰明
※ABI報告預測:汽車AR市場2022年將達到55億美元;VR手術機器人VicariousA輪融資獲得1675萬美元
※Zero to Hero:2017年機器之心AI高分概述文章全集
※2018年2月份Github上最熱門的數據科學和機器學習項目
※GitHub 熱門項目:機器學習編程 100 天
※第三屆國際機器人嘉年華,與你相約2018ChinaJoy