上一篇博文是入門使用級(jí)別,但對(duì)于面試來說則不夠,畢竟領(lǐng)導(dǎo)一問三不知必定over,其基本原理還是要搞清楚,因而有此博文。paper在此
成都創(chuàng)新互聯(lián)公司自2013年起,先為鐘山等服務(wù)建站,鐘山等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為鐘山企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。0,緒論
考慮緊致特征以減少存儲(chǔ)空間,提出在PQ(?product quantization,也是笛卡爾乘積)基礎(chǔ)之上存儲(chǔ)詞向量。文本分類可用于垃圾過濾。fastTEXT基于n-gram特征,降維,以及更快的softmax分類器,一些關(guān)鍵部分,特征剪枝,量化,hash,再訓(xùn)練使得文本分類模型很?。ㄒ话阈∮?00kB)而并沒有明顯的犧牲acc和速度。由于不受純二進(jìn)制代碼的約束,采用了更傳統(tǒng)的編碼方式,即采用矢量的幅度/方向參數(shù)化。因此,只需要編碼/壓縮一個(gè)酉d維向量,這很好地符合上述LSH和PQ方法。
1,方法
在文本分類中,線性分類器依舊是有競(jìng)爭(zhēng)力的,而且訓(xùn)練更快。在線性文本分類中最有效的trick是使用一個(gè)低等級(jí)的約束減少計(jì)算負(fù)擔(dān),同時(shí)在不同類別之間共享信息。這在更大輸出空間中更有效,尤其是一些類別訓(xùn)練樣本較少時(shí)。本文中,一個(gè)類似的模型,取N個(gè)document的softmax loss的最小值,
xn是one-hot向量的bag,yn是第n個(gè)document的label,在大的詞典和大的輸出空間中,矩陣A,B是大的,可占據(jù)GB內(nèi)存,因此我們的目的就是減少此內(nèi)存。
PQ 是一個(gè)在壓縮域(compressed-domain)近似近鄰檢索中流行的方法。一個(gè)隱式的定義:
一個(gè)d維度的向量x近似為:,那么PQ在壓縮域估計(jì)內(nèi)積為:
存儲(chǔ)空間更依賴于詞典大小,詞典可能很大,而有很大部分的詞典是無用的,或者多余的,直接減少高頻詞并不能令人滿意,比如高頻詞“the” 和“is”. 發(fā)現(xiàn)哪個(gè)詞或n-gram必須保留是特征選擇的問題。hash也可進(jìn)一步減少內(nèi)存。
分類器中的B也經(jīng)過壓縮??傊@篇paper就是介紹的一個(gè)壓縮技術(shù)PQ,而模型還是線性模型,激活函數(shù)可以是softmax,還可以是hierarchical softmax,也就是哈夫曼樹:一個(gè)帶權(quán)的路徑長(zhǎng)度最短的二叉樹,也叫最優(yōu)二叉樹。
下圖右邊即是哈夫曼樹,其權(quán)值為數(shù)值與深度的乘積和,13*1+7*2+2*3+5*3=48,此值小于左邊的
右邊字母的分類可以表示為:D-0,B-10,C-110,A-111,是多個(gè)二分類綜合在一起的。
其中的二分類由sigmoid來做,
3,壓縮實(shí)例:參考博文
依舊以博文中的dbpedia數(shù)據(jù)為例:
#訓(xùn)練
fasttext supervised -input dbpedia.train -output train_out -dim 10 -lr 0.1 -wordNgrams 2 -minCount 1 -bucket 10000000 -epoch 5 -thread 4
#壓縮
fasttext quantize -output train_out -input dbpedia.train -qnorm -retrain -epoch 1 -cutoff 100000
#測(cè)試原模型
fasttext test train_out.bin dbpedia.test
#測(cè)試壓縮模型
fasttext test train_out.ftz dbpedia.test
關(guān)注本專欄獲取更多。?
愿我們終有重逢之時(shí),而你還記得我們?cè)?jīng)討論的話題你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧