最小熵原理系列:词向量的维度应该怎么选择?
?PaperWeekly 原創 ·?作者|蘇劍林
單位|追一科技
研究方向|NLP、神經網絡
隨著 NLP 的發展,像 Word2Vec、Glove 這樣的詞向量模型,正逐漸地被基于 Transformer 的 BERT 等模型代替,不過經典始終是經典,詞向量模型依然在不少場景發光發熱,并且仍有不少值得我們去研究的地方。本文我們來關心一個詞向量模型可能有的疑惑:詞向量的維度大概多少才夠?
先說結論,筆者給出的估算結果是:
更簡約的話可以直接記 ,其中 N 是詞表大小,n 就是詞向量維度, 是自然對數。當 n 超過這個閾值時,就說明模型有足夠的容量容納這 N 個詞語(當然 n 越大過擬合風險也越大)。
這樣一來,當 N=100000 時,得到的 n 大約是 96,所以對于 10 萬個詞的詞向量模型來說,維度選擇 96 就足夠了;如果要容納 500 萬個詞,那么 n 大概就是 128。
背景
之所以想起這個問題,是因為昨天在 Arxiv 上刷到了論文 Word2vec Skip-gram Dimensionality Selection via Sequential Normalized Maximum Likelihood?[1]?,遺憾的是,從這篇論文中筆者并沒有找到想要的答案。順帶搜索了一下,發現也有類似文獻研究同樣的問題,比如 On the Dimensionality of Word Embedding?[2]?,但答案依舊不是筆者想要的。
為什么這樣說呢?很顯然,這個問題的最標準答案應該是靠反復實驗來確定最優維度,所以不能指望理論分析給出相當精確的答案。
我們平時用到的詞向量維度,一般有 64、100、128、256、300 等,不同的維度之間效果差別其實也沒多少,所以筆者只希望能從最簡潔直觀的方式推導一下一般詞向量模型所需要的維度量級,比如幾十或者幾百,不應該出現太過復雜的分析。
由于沒有找到比較滿意的現有結果,因此筆者從最小熵原理角度分析了一下,得到了一個接近自己心中所想的答案。
分析
本文要分析是基于 Skip Gram 思想的詞向量模型,多數詞向量模型其實都是它的變種,至于 CBOW 類的模型,在以往的實驗里,它的表現其實跟 Skip Gram 差不多(尤其是數據量較大時),因此可以認為 Skip Gram 的分析結果應該是通用的。
2.1 最小熵
我們的出發點是信息熵,我們知道,熵是不確定性的度量(參考“熵”不起:從熵、最大熵原理到最大熵模型(一)[3] ),語言本身具有一定的不確定性,而我們在用向量編碼詞語時,編碼結果應該要等于甚至小于這種不確定性,才能保證這種編碼是有效的、能充分保留原來語言的信息。所以,我們要消除不確定性,也就是要最小熵。
要注意的是,詞向量是基于 Skip Gram 模型的,所以我們要計算的不是詞平均熵,而是整個 Skip Gram 模型的平均熵,假設詞對 的頻率是 ,那么可以估算它的熵為:
不同的詞向量訓練目標也有所差異,有些是在擬合聯合概率 ,有些是在擬合條件概率 ,但這差別不大,前面說了,本文只是想得到一個概數。所以這里統一假設詞向量模型為:
其中 代表兩套不同的詞向量(中心詞向量、上下文詞向量), 代表詞 而 代表詞 。這時候它的信息熵是:
2.2 采樣近似
為了近似計算上式,我們將求和用采樣近似,比如:
這里的 N 是詞表大小。同理:
所以我們有近似:
2.3 分布假設
觀察已有的詞向量模型,我們可以發現每個維度的數值有正有負,絕對值大小一般也比較均勻。在此,我們不妨假設每個元素的絕對值大概為 1,那么每個詞向量的模長大致就為 (n 是詞向量的維度,也就是我們要估算的目標,如果覺得這個近似不夠準確,也可以自行調整)。
并且進一步假設所有的詞向量均勻分布在半徑為 的 n 維超球面上,那么 , 是它們的夾角,所以:
現在 相當于 n 維空間中任意兩個向量的夾角,我們在 n 維空間下兩個隨機向量的夾角分布 [4] 中就求出了它的分布為:
既然概率密度函數都確定了,那么對于給定的 N 和 n,近似式(8)是完全可以數值計算出來的,而由 便可以解出對應的 n。
2.4 結果對比
首先我們數值計算出
的一些結果:
那么比如 n=64,N=100000,就有 。讀者可能會覺得奇怪,當 n=128,N=100000時,H 不就是負數了?離散熵怎么可能是負數?
事實上,這是因為我們在前面的推導過程中,使用了采樣近似和精確積分相結合的方式,當空間維數 n 足夠大時,就算你采樣幾十萬個樣本也不一定能準確估計一些統計量,所以采樣近似這一步帶來了誤差。
不過這倒是給我們另外一個確定n的思路:當出現 H < 0 時,說明 N 個樣本已經無法對統計量做很好地估計了,那么反過來說就是此時的n維空間要容納 N 個樣本是“綽綽有余”的。
因此,我們可以用 H < 0 簡單確定一個邊界,而不需要去估算 。(或者從另外一個角度想: 一定是大于 0 的,因此 H < 0 是 的充分條件。)
最后,我們看到 關于 n 大概是線性的,,因此 ,讓它小于 0 我們可以解出公式(1)了。
小結
本文從最小熵原理的思想出發分析了詞向量的維度選擇問題,最終給出了一個近似的估算公式,計算結果表明該估算公式與我們以往的煉丹經驗是相符的。
參考文獻
[1] https://arxiv.org/abs/2008.07720
[2] https://arxiv.org/abs/1812.04224
[3] https://kexue.fm/archives/3534
[4] https://kexue.fm/archives/7076
更多閱讀
#投 稿?通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
?????投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的最小熵原理系列:词向量的维度应该怎么选择?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么样换硬盘分区 如何更改硬盘大小分区
- 下一篇: 三星笔记本怎么读u盘启动不了怎么办啊 三