transformer 為什麼使用 layer normalization,而不是其他的歸一化方法?

時間 2021-05-06 06:38:28

1樓:Leo

在@佳雨 同學回答的基礎上,加一些個人直觀的理解。

「Normalization目的就是讓分布穩定下來(降低各維度資料的方差),使用不同的norm方式即選擇損失的資訊維度不同「。

CV使用BN是認為不同卷積核feature map(channel維)之間的差異性很重要,LN會損失channel的差異性,對於batch內的不同樣本,同一卷積核提取特徵的目的性是一致的,所以使用BN僅是為了進一步保證同乙個卷積核在不同樣本上提取特徵的穩定性。

而NLP使用LN是認為batch內不同樣本同一位置token之間的差異性更重要(個人理解:就算同一樣本不同token之間的差異性也很重要),而embedding維,網路對於不同token提取的特徵目的性是一致的,使用LN是為了進一步保證在不同token上提取的穩定性。

2樓:

簡要的回答一下為啥NLP問題裡用Layer normalization,而不是在CV裡更常用的Batch normalization吧。

先一句話描述BN和LN的差異:

BN是對batch的維度去做歸一化,也就是針對不同樣本的同一特徵做操作。

LN是對hidden的維度去做歸一化,也就是針對單個樣本的不同特徵做操作。

那為啥NLP裡為啥不用BN做歸一化呢?我覺得有兩個原因:

也就是很多人提到的NLP裡面,每個樣本(比如句子)序列的長度是不一樣的,所以不好搞成batch的形式。

就算強行把每個序列的長度弄成一樣,那麼就有batch這個維度了。如果我對兩個句子(我愛吃炸雞,今天很開心)每乙個詞去做歸一化,那麼比如我和今,愛和天是分別對應同乙個特徵維度,這樣明顯是不make sense的。

3樓:佳雨

說簡單點,其實深度學習裡的正則化方法就是 "通過把一部分不重要的複雜資訊損失掉,以此來降低擬合難度以及過擬合的風險,從而加速了模型的收斂"。Normalization目的就是讓分布穩定下來(降低各維度資料的方差)。

不同正則化方法的區別只是操作的資訊維度不同,即選擇損失資訊的維度不同。

在CV中常常使用BN,它是在NHW維度進行了歸一化,而Channel維度的資訊原封不動,因為可以認為在CV應用場景中,資料在不同channel中的資訊很重要,如果對其進行歸一化將會損失不同channel的差異資訊。

而NLP中不同batch樣本的資訊關聯性不大,而且由於不同的句子長度不同,強行歸一化會損失不同樣本間的差異資訊,所以就沒在batch維度進行歸一化,而是選擇LN,只考慮的句子內部維度的歸一化。 可以認為NLP應用場景中乙個樣本內部維度間是有關聯的,所以在資訊歸一化時,對樣本內部差異資訊進行一些損失,反而能降低方差。

總結一下:選擇什麼樣的歸一化方式,取決於你關注資料的哪部分資訊。如果某個維度資訊的差異性很重要,需要被擬合,那就別在那個維度進行歸一化。

4樓:zy ye

LayerNorm是對隱層狀態維度進行歸一化,而batch norm是對樣本batch size維度進行歸一化。在NLP任務中由於不像影象任務中batch size是固定的,通常是變化的,所以batch norm的方差會更大一些。而layer norm可以緩解該問題。

5樓:data

個人理解不僅是transformer 一切序列相關的且序列之間長短大小有比較大差異的問題建模應該都是用layer norm的形式而不是batch norm;我個人的猜測是因為bn是按樣本批量歸一化如果樣本之間長度差異較大反而會影響歸一化效果所以做層歸一化更好純屬個人猜測未必正確哈~

愛情為什麼使人痛苦?

趙小刀 就跟貧窮的根源不只是因為個人能力的不足,還跟家庭背景和經濟剝削有關。情感的痛苦也可能不只是一兩個人的原因,它是一種社會現象,是現代性的產物。那麼除了心理層面之外,我們還需要乙個社會學的解釋,建議去看看 愛,為什麼痛 這本書。這裡提乙個概念 社會關係的經濟化。現代愛情是被市場化 經濟化的。我們...

為什麼 PlayStation 控制器按鈕使用 圖形而不是字母或數字?

茶先生 這是乙個擬物化設計思路。我們先來看一下大雄的試卷 可以看到日本人在判定正確的時候會畫乙個圓圈。所以Sony手柄上的圓圈代表確定,叉代表取消。但是到了美國就不一樣了,拿i 765檔案給大家示意一下。美中國人選定了乙個選項時會在方框裡打叉,而不是挑鉤,所以叉對他們而言是確定。所以美區的PS手柄叉...

為什麼在夢中打人使不上勁?

狗滴嘟 l我們的夢往往是天馬行空的,在夢裡,我們的行為常常不受約束。人類有一套自我保護機制,為了防止我們在現實中作出奇怪,或者危險的事兒,在我們進入睡眠狀態的時候,大腦就關掉了肢體動作的這一功能,暫時進入 癱瘓 的狀態。這時候我們的四肢就是想動而不能動,但我們的大腦並沒有閒著,當我們在夢裡打架,或者...