日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Normalization在CTR问题中的迷之效果

發(fā)布時(shí)間:2025/3/8 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Normalization在CTR问题中的迷之效果 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

最近看到一篇文章非常有意思的文章, 是關(guān)于正則化的探討, 作者發(fā)現(xiàn)在不同階段對(duì)數(shù)據(jù)進(jìn)行不同的正則化操作會(huì)有非常大的影響,在正確的位置進(jìn)行正確的正則化操作可以為模型帶來巨大的提升

一元@煉丹筆記

本文一共兩塊內(nèi)容,

第一塊介紹LayerNorm以及BatchNorm的聯(lián)系&區(qū)別;

第二塊則專注于介紹論文的內(nèi)容,該篇論文是基于實(shí)踐經(jīng)驗(yàn)的,

個(gè)人覺得非常值得一試。

  • LayerNorm 和 BatchNorm的介紹;
  • 論文的解讀
  • 關(guān)于LayerNorm & BatchNorm

    BatchNorm

    BatchNorm是對(duì)一批樣本進(jìn)行處理, 對(duì)一批樣本的每個(gè)特征分別進(jìn)行歸一化,舉個(gè)簡單的例子,加入我有一批樣本, 每個(gè)樣本有三個(gè)特征,,分別是身高,體重,年齡,那么我做歸一化的時(shí)候,就是對(duì)體重做歸一化,對(duì)身高做歸一化,對(duì)年齡做歸一化,三者之間不會(huì)有交叉影響。

    這個(gè)看起來很符合直觀的感覺,可以看做是降低每個(gè)特征量綱的影響,我們也經(jīng)常會(huì)在CTR等深度模型的MLP部分見到BatchNorm操作。

    也正因?yàn)槿绱?

    所以BatchNorm會(huì)受到Batch size的影響;

    當(dāng)Batchsize小的時(shí)候效果往往不是非常穩(wěn)定.

    LayerNorm

    LayerNorm是對(duì)一個(gè)樣本進(jìn)行處理, 對(duì)一個(gè)樣本的所有特征進(jìn)行歸一化,乍一看很沒有道理,因?yàn)槿绻麑?duì)身高體重和年齡一起求一個(gè)均值方差,都不知道這些值有什么含義,但存在一些場景卻非常有效果--NLP領(lǐng)域。

    在NLP中,N個(gè)特征都可能表示不同的詞,這個(gè)時(shí)候我們?nèi)匀徊捎肂atchNorm的話,對(duì)第一個(gè)詞進(jìn)行操作,很顯然意義就不是非常大了,因?yàn)槿魏我粋€(gè)詞都可以放在第一個(gè)位置,而且很多時(shí)候詞序?qū)τ谖覀儗?duì)于句子的影響沒那么大,而此時(shí)我們對(duì)N個(gè)詞進(jìn)行Norm等操作可以很好地反映句子的分布。(LN一般用在第三維度,[batchsize, seq_len,dims]),因?yàn)樵摼S度特征的量綱是相同的,所以并沒有太多區(qū)別。

    背景

    在非常多CTR相關(guān)的論文中,很多工作主要都Focus在模型結(jié)構(gòu)方面的優(yōu)化或者引入新的信息等,而這么做往往都忽略了模型中的一些小的模塊的作用,

    例如Normalization,在CTR相關(guān)的結(jié)構(gòu)中我們發(fā)現(xiàn),大家經(jīng)常會(huì)把BatchNorm放在最后的MLP層, 但是這么做夠嗎?

    Normalization是否發(fā)揮了最大的作用?

    是否是最優(yōu)的方案?

    本文通過大量的系統(tǒng)的實(shí)驗(yàn),給出了結(jié)論:

    沒有,還有更好的方案,

    本文通過在CTR模型的不同地方加入不同的正則化策略(BatchNorm,LayerNorm等),最終取得了非常好的效果。那究竟是怎么做的呢?

    我們繼續(xù)往下看,下面的框架很簡單,顯示作者提出模型的核心組成部分VO-LayerNorm,然后是基于此提出的新的NormDNN,最后是實(shí)驗(yàn)驗(yàn)證部分。

    Variance-Only LayerNorm

    這是一個(gè)經(jīng)驗(yàn)得出來的操作,作者在大量的實(shí)驗(yàn)中發(fā)現(xiàn),原始的LayerNorm有些復(fù)雜化了,在對(duì)其進(jìn)行不斷的精簡實(shí)驗(yàn)后,作者發(fā)現(xiàn)在CTR數(shù)據(jù)集上的效果并沒有帶來下降,反而更好了。下面我們看看這一步步精簡的操作:

    復(fù)雜版本LayerNorm

    LayerNorm在NLP任務(wù)中取得了非常好的效果,但是實(shí)踐中,Xu等人發(fā)現(xiàn)這個(gè)LayerNorm的bias和gain增加了過擬合的風(fēng)險(xiǎn),并且經(jīng)過試驗(yàn)他們發(fā)現(xiàn)簡化LayerNorm也可以取的非常不錯(cuò)的效果。

    簡化版的LayerNorm

    我們把bias以及gain同時(shí)刪除,得到精簡版的LayerNorm,

    在大量的實(shí)驗(yàn)中,我們發(fā)現(xiàn)簡化版本的LayerNorm并沒有什么性能損失,相反的還可以取的更好的效果。

    然后作者在CTR相關(guān)的數(shù)據(jù)集上又進(jìn)行了大量的實(shí)驗(yàn),發(fā)現(xiàn)對(duì)模型效果影響最大的不是re-centering等操作,反而方差帶來的影響更大,于是作者提出了新的LayerNorm。

    Variance-Only LayerNorm

    此處,作者直接除以了方差,雖然更加精簡了,但是實(shí)驗(yàn)效果卻顯示這么做在CTR數(shù)據(jù)集上卻可以取得更好的效果。

    NormDNN

    在不同的地方使用不同形式的Normalization策略會(huì)帶來什么樣的影響呢?此處作者主要探索了兩個(gè)部分, 特征Embedding部分的Normalization以及MLP部分的Normalization。在大量的實(shí)驗(yàn)之后,作者得到了一種提升最大的方案:

  • 對(duì)于數(shù)值類的特征,我們使用Variance-Only LayerNorm或者LayerNorm;
  • 對(duì)于類別特征,我們使用BatchNorm;
  • 對(duì)于MLP部分,我們使用LayerNorm;
  • 在特征Embedding層的Normalization

    在MLP處加入Normalization

    此處作者發(fā)現(xiàn)在非線性的激活函數(shù)之前加入Normalization操作的效果是比先使用激活函數(shù)再做Normalization處理要好的。

    為什么Normalization是有效的Why

    作者最后分析了一下Normalization為什么有效,并繪制了不同的Normalization對(duì)于我們均值和方差帶來的影響,從圖中以及實(shí)驗(yàn)中看來,我們發(fā)現(xiàn) Normalization有效的最大一個(gè)原因在于方差的影響而不是均值。

    同時(shí)我們發(fā)現(xiàn)很多神經(jīng)元的輸出大部分在使用Variance-Only LayerNorm之后都會(huì)被push輸出一個(gè)負(fù)數(shù)的值,然后被RELU過濾掉,這可以減少噪音帶來的影響,同樣的,我們將Normalization的導(dǎo)數(shù)表示為:

    實(shí)驗(yàn)

    特征Embedding上加入Normalization是否有效?

    從上面的實(shí)驗(yàn)中,我們發(fā)現(xiàn),在特征Embedding層加入Normalization都是有效的,而且LayerNorm以及相關(guān)的變種是效果相對(duì)穩(wěn)定以及最好的;

    Normalization對(duì)于MLP的影響

    從上面的實(shí)驗(yàn)中,我們發(fā)現(xiàn),在MLP層加入Normalization都是有效的,但是具體選用哪種Normalization需要依據(jù)不同的任務(wù)進(jìn)行選擇;

    Normalization對(duì)于Feature EMbedding & MLP的影響

    從上面的實(shí)驗(yàn)中,我們發(fā)現(xiàn),在MLP層以及特征Embedding層都加入Normalization都是比單個(gè)加入都有效的,在MLP側(cè)加入VO-LN的Normalization往往能取得更好的效果;

    Normalization對(duì)于數(shù)值以及類別特征的 EMbedding的影響

    從上面的實(shí)驗(yàn)中,我們發(fā)現(xiàn),對(duì)數(shù)值的EMbedding使用LayerNorm相關(guān)的效果更好,對(duì)數(shù)值特征使用LayerNorm相關(guān)的正則化方法,在MLP處使用VO-LN往往可以取得最好的效果.

    NormDNN 與 其他網(wǎng)絡(luò)比較

    出乎意料,在三個(gè)數(shù)據(jù)集上,我們只需要對(duì)不同層做Normalization的處理就可以取得比DeepFM,xDeepFM更好的效果;

    NormDNN: Numerical Embedding用LayerNorm相關(guān)的處理; Categorical Feature使用BatchNorm相關(guān)的處理; 在MLP部分使用VO-LN

    泛化到其他Deep相關(guān)的模型

    我們把初始化的方案應(yīng)用到更加復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)上也都取得了更好的效果;也就是說這種Normalization的方案可以擴(kuò)充到其他的所有最新網(wǎng)絡(luò)結(jié)構(gòu)上

    小結(jié)

    從上面的內(nèi)容來看,Normalization對(duì)于模型的幫助是非常大的; 對(duì)Embedding之后的特征進(jìn)行Normalization(數(shù)值Embedding處用LayerNorm相關(guān)的Normalization,Categorical部分使用BatchNorm相關(guān)的處理,MLP部分使用VO-LN)可以取得非常大的提升;非常值得一試。

    一本有仙氣的筆記,記錄了AI的不凡

    總結(jié)

    以上是生活随笔為你收集整理的Normalization在CTR问题中的迷之效果的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。