概率分布的熵归一化(Entropy Normalization)
?PaperWeekly 原創(chuàng) ·?作者 | 蘇劍林
單位 | 追一科技
研究方向 | NLP、神經(jīng)網(wǎng)絡(luò)
在上一篇文章《從熵不變性看 Attention 的 Scale 操作》中,我們從熵不變性的角度推導(dǎo)了一個(gè)新的 Attention Scale,并且實(shí)驗(yàn)顯示具有熵不變性的新 Scale 確實(shí)能使得 Attention 的外推性能更好。這時(shí)候筆者就有一個(gè)很自然的疑問:
有沒有類似 L2 Normalization 之類的操作,可以直接對(duì)概率分布進(jìn)行變換,使得保持原始分布主要特性的同時(shí),讓它的熵為指定值?
筆者帶著疑問搜索了一番,發(fā)現(xiàn)沒有類似的研究,于是自己嘗試推導(dǎo)了一下,算是得到了一個(gè)基本滿意的結(jié)果,暫稱為“熵歸一化(Entropy Normalization)”,記錄在此,供有需要的讀者參考。
冪次變換
首先,假設(shè) 元分布 ,它的熵定義為:
由于 ,所以 ,因此 ,當(dāng)某個(gè) 為 1、其余 為 0 時(shí)(one hot),取得最小值 0;此外,也可以證明當(dāng)所有 等于 時(shí), 取得最大值 ,所以 的取值范圍是 。
所以,我們首先要找一種分布的變換,它能夠保持分布的主要信息,并且有能力將分布的熵從 0 到 進(jìn)行變換。這里選擇的是冪次變換:
選擇冪次變換的原因之一,是它保持了分布的單調(diào)性,即如果 ,那么也有 ,個(gè)人認(rèn)為這是分布需要保持的重要性質(zhì)之一。此外,當(dāng)各個(gè) 都非零并且兩兩不相等時(shí),冪次變化確實(shí)有能力將熵從 進(jìn)行變化。不失一般性,我們假設(shè) ,顯然當(dāng) 時(shí),,此時(shí)熵為最大值 ,當(dāng) 時(shí),有:
也就是此時(shí)為 one hot 分布 ,對(duì)應(yīng)的熵為最小值 0。其實(shí)還可以進(jìn)一步求導(dǎo)證明熵關(guān)于 是單調(diào)遞減的,因此當(dāng) 從 0 到 遞增時(shí),熵從 到 0 遞減變化。
迭代求解
確定冪次變換確實(shí)是一種可用的變換后,我們就需要進(jìn)入求解流程了,即對(duì)于任意給定的 ,我們需要找到正確的 ,使得對(duì)應(yīng)的熵為指定值 。
首先我們寫出:
最右端結(jié)果的復(fù)雜性讓我們相信應(yīng)該不存在解析解,所以只能尋求迭代求解算法了。
我們求它在 處的展開(主要利用 ??‰:
那么:
根據(jù)該結(jié)果,我們從 出發(fā),反復(fù)利用上式進(jìn)行迭代,就可以求出最終的分布:
這其實(shí)就是求解非線性方程的牛頓法了。在實(shí)驗(yàn)時(shí)發(fā)現(xiàn),迭代 3~4 次,就可以取得不錯(cuò)的收斂效果,如果實(shí)際使用時(shí)只是為了大致地控制一下熵的范圍,那么迭代 1~2 次即可。
Numpy 的參考代碼:
1p?=?np.random.random(100)2p?/=?p.sum()??#?模擬分布3gamma?=?14H_f?=?np.log(30)??#?希望達(dá)到的熵56for?i?in?range(10):7????H?=?-(p?*?np.log(p)).sum()8????gamma?=?1?+?(H_f?-?H)?/?(H**2?-?(p?*?np.log(p)**2).sum())9????p?=?p**gamma 10????p?/=?p.sum()應(yīng)用設(shè)想
本文主要是覺得“熵歸一化”這個(gè)概念比較有意思,所以嘗試進(jìn)行了推導(dǎo)。但具體有什么比較好的應(yīng)用例子,筆者也還沒想清楚。
熵越小,意味著概率越集中在幾個(gè)位置上,換句話說就是其他位置的概率越接近于零,因此某種程度上來說,熵是概率分布的稀疏程度的一種度量,如果我們希望得到比較稀疏的預(yù)測(cè)結(jié)果,那么就可以通過熵歸一化進(jìn)行控制。另一方面,分布越稀疏,也意味著模型越有可能梯度消失,因此反過來也可以通過熵歸一化來控制熵不要那么小,從而緩解梯度消失問題。
說到稀疏性,就不免想起 Sparsemax [1] 以及筆者自己構(gòu)思的 Sparse Softmax 等工作,其中 Sparsemax 是將熵視為懲罰項(xiàng)來得到的稀疏性,而 Sparse Softmax 則是通過直接截?cái)喽氲南∈栊?#xff0c;兩者皆在某些場(chǎng)景下有更好的解釋性或者更好的效果,那么直接通過熵歸一化帶來的稀疏性有沒有效果呢?這可能也是一個(gè)值得探究的問題。
另外,在自回歸模型的隨機(jī)采樣中,我們經(jīng)常用 top-、top- 截?cái)?#xff0c;這種截?cái)啾举|(zhì)上也是在降低分布的熵,所以相應(yīng)地,我們也可以通過熵歸一化來使得每步采樣的分布熵一致,用以取代 top-、top- 采樣,這也是一種可能的應(yīng)用。
使用熵歸一化的主要問題是“究竟歸一化到哪個(gè)值”沒有明確的標(biāo)準(zhǔn),筆者目前也沒有比較好的思路,暫時(shí)只能想到通過觀察已有的實(shí)驗(yàn)結(jié)果來調(diào)參,但終歸不是一個(gè)理想的答案。
文末小結(jié)
本文引入了熵歸一化(Entropy Normalization)的概念,通過直接的變換使得分布的熵可以為指定值,并構(gòu)思了一些潛在應(yīng)用。
參考文獻(xiàn)
[1] https://arxiv.org/abs/1602.02068
更多閱讀
#投 稿?通 道#
?讓你的文字被更多人看到?
如何才能讓更多的優(yōu)質(zhì)內(nèi)容以更短路徑到達(dá)讀者群體,縮短讀者尋找優(yōu)質(zhì)內(nèi)容的成本呢?答案就是:你不認(rèn)識(shí)的人。
總有一些你不認(rèn)識(shí)的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學(xué)者和學(xué)術(shù)靈感相互碰撞,迸發(fā)出更多的可能性。?
PaperWeekly 鼓勵(lì)高校實(shí)驗(yàn)室或個(gè)人,在我們的平臺(tái)上分享各類優(yōu)質(zhì)內(nèi)容,可以是最新論文解讀,也可以是學(xué)術(shù)熱點(diǎn)剖析、科研心得或競(jìng)賽經(jīng)驗(yàn)講解等。我們的目的只有一個(gè),讓知識(shí)真正流動(dòng)起來。
📝?稿件基本要求:
? 文章確系個(gè)人原創(chuàng)作品,未曾在公開渠道發(fā)表,如為其他平臺(tái)已發(fā)表或待發(fā)表的文章,請(qǐng)明確標(biāo)注?
? 稿件建議以?markdown?格式撰寫,文中配圖以附件形式發(fā)送,要求圖片清晰,無版權(quán)問題
? PaperWeekly 尊重原作者署名權(quán),并將為每篇被采納的原創(chuàng)首發(fā)稿件,提供業(yè)內(nèi)具有競(jìng)爭(zhēng)力稿酬,具體依據(jù)文章閱讀量和文章質(zhì)量階梯制結(jié)算
📬?投稿通道:
? 投稿郵箱:hr@paperweekly.site?
? 來稿請(qǐng)備注即時(shí)聯(lián)系方式(微信),以便我們?cè)诟寮x用的第一時(shí)間聯(lián)系作者
? 您也可以直接添加小編微信(pwbot02)快速投稿,備注:姓名-投稿
△長(zhǎng)按添加PaperWeekly小編
🔍
現(xiàn)在,在「知乎」也能找到我們了
進(jìn)入知乎首頁搜索「PaperWeekly」
點(diǎn)擊「關(guān)注」訂閱我們的專欄吧
·
與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的概率分布的熵归一化(Entropy Normalization)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虹吸马桶的艾斯弯用什么工具能穿过?
- 下一篇: 给新公司取名字大全?