最小熵原理系列:詞向量的維度應該怎麼選擇?

©PaperWeekly 原創 · 做者|蘇劍林
微信

單位|追一科技網絡

研究方向|NLP、神經網絡svg

隨着 NLP 的發展,像 Word2Vec、Glove 這樣的詞向量模型,正逐漸地被基於 Transformer 的 BERT 等模型代替,不過經典始終是經典,詞向量模型依然在很多場景發光發熱,而且仍有很多值得咱們去研究的地方。本文咱們來關心一個詞向量模型可能有的疑惑:詞向量的維度大概多少纔夠?函數

先說結論,筆者給出的估算結果是:學習

更簡約的話能夠直接記 ,其中 N 是詞表大小,n 就是詞向量維度, 是天然對數。當 n 超過這個閾值時,就說明模型有足夠的容量容納這 N 個詞語(固然 n 越大過擬合風險也越大)。ui

這樣一來,當 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] ,但答案依舊不是筆者想要的。spa

爲何這樣說呢?很顯然,這個問題的最標準答案應該是靠反覆實驗來肯定最優維度,因此不能期望理論分析給出至關精確的答案。3d

咱們平時用到的詞向量維度,通常有 6四、100、12八、25六、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 的交流羣裏。

相關文章
相關標籤/搜索