淘新聞

FAIR實驗室開源的 fastText 資料庫,現在可以在小型設備上跑起來啦

雷鋒網消息,近日 FAIR 實驗室在官方博客中指出,目前 fastText 資料庫已經能夠在智慧手機及小型電腦上使用,而且記憶體只需要幾百千位元組,充分增強了 fastText 的延展性。

為實現這一目的,FAIR 實驗室需要盡可能減少 fastText 模型在運轉時所消耗的記憶體。Facebook 的 FAISS 團隊與 fastText 團隊進行合作,發佈論文《FastText.zip: Compressing Text Classification Models》(FastText.zip:壓縮文本分類模型),能夠克服模型遷移到小型存放裝置存在的挑戰。

Facebook 團隊一直努力在提升精度的同時盡可能地減少計算的複雜度,讓實際應用在使用的過程中變得更加靈活方便。而在機器學習拓展的過程中,團隊所面臨的問題在於,需要涉及一個通用庫來解決文本分類問題。因此,fastText 應運而生,針對文本表達和分類説明建立量化的解決方案。

FAIR 實驗室去年開源了資料庫 fastText,雷鋒網此前也做過覆蓋。

FAIR fastText 的具體實現原理過程有兩篇相關論文闡述,分別是《Bag of Tricks for Efficient Text Classification》(高效的文本分類技巧)和《Enriching Word Vectors with Subword Information》(使用子字資訊豐富詞彙向量)。當時開源的資料庫對記憶體要求較高,動輒數 GB,因此主要支持筆記型電腦及 X86 用戶。

對於有大量類別的資料集,fastText 採用了分層分類器,將不同的類別整合進樹形結構中。並且結合線性及多類別的對數模型,能夠大量減少訓練的時間,也減少了訓練的複雜度。利用類別不均衡的客觀事實,研究人員採用 Huffman 演算法建立用於表徵類別的樹形結構。並且根據樹形出現的頻率高低,深度也有所不同,這樣一來也提升了計算效率。

FAIR 實驗室採用低維度向量對文本進行表徵。高向量自然能提升準確性,但所耗費的訓練時間和計算量也較多。研究顯示,如果有正確的表徵與足夠龐大的語料庫,那麼即便是低維度向量也可以得到最優的結果。在編碼期間,向量的大小會通過常規獲得低維向量的優化方法來獲得。團隊通過「bag-of-words」(詞袋)提取特徵和線性分類器以訓練模型。因為詞袋並不能識別句子中的單詞順序,所總結的高頻單詞特徵並不能與低頻率單詞共用,導致低頻單詞的準確率也要稍低。「n-gram」模型能夠解決詞序問題,但也會增加訓練的複雜度、時間和相應的費用。fastText 部分採用了「n-gram」,通過選擇主題詞前後的詞數以平衡訓練時間與準確度的關係。

結果顯示,fastText 比起目前非常流行的 word2vec 以及最先進的形態詞表征方式有著更好的表現,且相容多種語言。除準確度外,fastText 也有著更快的速度,比起目前表現最好的神經網路,它的運行速度快 1000 到 10000 倍。這是使用低級線性模型和標準功能(如二進位)的結果。

而相容小型設備後,相信 fastText 能在未來服務更多的使用者,雷鋒網也將持續關注。

相關論文:

FastText.zip: Compressing Text Classification Models

Bag of Tricks for Efficient Text Classification

via 

facebook