2021-02-18

NLP任務(wù)中-layer-norm比BatchNorm好在哪里

這就要理解為什么LN單獨(dú)對(duì)一個(gè)樣本的所有單詞做縮放可以起到效果

為啥BN在NLP中效果差BN的使用場景,不適合RNN這種動(dòng)態(tài)文本模型,有一個(gè)原因是因?yàn)閎atch中的長度不一致,導(dǎo)致有的靠后面的特征的均值和方差不能估算。這個(gè)問題其實(shí)不是個(gè)大問題,可以緩解。我們可以在數(shù)據(jù)處理的時(shí)候,使句子長度相近的在一個(gè)batch,就可以了。所以這不是為啥NLP不用BN的核心原因。

BN在NLP中的應(yīng)用。BN是對(duì)每個(gè)特征在batch_size上求的均值和方差。比如說身高,比如說體重等等。這些特征都有明確的含義。但是我們想象一下,如果BN應(yīng)用到NLP任務(wù)中,對(duì)應(yīng)的是對(duì)什么做處理?

是對(duì)每一個(gè)單詞!也就是說,我現(xiàn)在的每一個(gè)單詞是對(duì)應(yīng)到了NLP中的每一個(gè)特征。

也就是默認(rèn)了在同一個(gè)位置的單詞對(duì)應(yīng)的是同一種特征,比如:“我/愛/中國/共產(chǎn)黨”和“今天/天氣/真/不錯(cuò)”? 如果使用BN,代表著認(rèn)為“我”和“今天”是對(duì)應(yīng)的同一個(gè)維度特征,這樣才可以去做BN.

這樣做BN不會(huì)有效果的,每個(gè)單詞表達(dá)的特征是不一樣的,所以按照位置對(duì)單詞特征進(jìn)行縮放,是違背直覺的。

layner-norm的特點(diǎn)

layner-norm的特點(diǎn)是什么?layner-norm做的是針對(duì)每一個(gè)樣本,做特征的縮放。換句話講,保留了

N維度,在C/H/W維度上做縮放。也就是,它認(rèn)為“我/愛/中國/共產(chǎn)黨“這四個(gè)詞在同一個(gè)特征之下,所以基于此而做歸一化。

這樣做,和BN的區(qū)別在于,一句話中的每個(gè)單詞都可以歸到一個(gè)名字叫做“語義信息”的一個(gè)特征中,也就是說,layner-norm也是在對(duì)同一個(gè)特征下的元素做歸一化,只不過這里不再是對(duì)應(yīng)N(或者說batch?size),而是對(duì)應(yīng)的文本長度。

上面這個(gè)解釋,有一個(gè)細(xì)節(jié)點(diǎn),就是,為什么每個(gè)單詞都可以歸到”語義信息”這個(gè)特征中。可以這么

想,如果讓你表達(dá)一個(gè)句子的語義信息,你怎么做?最簡單的方法就是詞語向量的加權(quán)求和來表示句子向量

上面這個(gè)方法就是出于每個(gè)單詞都是語義信息的一部分這個(gè)insight.

在下圖中 N 表示樣本軸, C 表示通道軸, F 是每個(gè)通道的特征數(shù)量。BN如右側(cè)所示,它是取不同樣本的同一個(gè)通道的特征做歸一化;LN則是如左側(cè)所示,它取的是同一個(gè)樣本的不同通道做歸一化。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容