【轉(zhuǎn)載】深度學(xué)習(xí):正則化方法

https://blog.csdn.net/liujiandu101/article/details/55103831


正則化是機(jī)器學(xué)習(xí)中非常重要并且非常有效的減少泛華誤差的技術(shù)类茂,特別是在深度學(xué)習(xí)模型中,由于其模型參數(shù)非常多非常容易產(chǎn)生過(guò)擬合血筑。因此研究者也提出很多有效的技術(shù)防止過(guò)擬合,比較常用的技術(shù)包括:

參數(shù)添加約束裙士,例如L1蒿辙、L2范數(shù)等

訓(xùn)練集合擴(kuò)充院峡,例如添加噪聲、數(shù)據(jù)變換等

Dropout

該文主要介紹深度學(xué)習(xí)中比較常見(jiàn)幾類(lèi)正則化方法以及常用參數(shù)選擇疤估,并試圖解釋其原理灾常。

正則化技術(shù)

參數(shù)懲罰

通過(guò)對(duì)模型參數(shù)添加懲罰參數(shù)來(lái)限制模型能力,常用的就是在損失函數(shù)基礎(chǔ)上添加范數(shù)約束铃拇。

通常情況下钞瀑,深度學(xué)習(xí)中只對(duì)仿射參數(shù)添加約束,對(duì)偏置項(xiàng)不加約束慷荔。主要原因是偏置項(xiàng)一般需要較少的數(shù)據(jù)就能精確的擬合雕什。如果添加約束常常會(huì)導(dǎo)致欠擬合。

L2正則

參數(shù)約束添加L2范數(shù)懲罰項(xiàng)显晶,該技術(shù)也稱(chēng)之為Weight Decay贷岸、嶺回歸、Tikhonov regularization等磷雇。

通過(guò)最優(yōu)化技術(shù)偿警,例如梯度相關(guān)方法可以很快推導(dǎo)出,參數(shù)優(yōu)化公式為

其中為學(xué)習(xí)率唯笙,相對(duì)于正常的梯度優(yōu)化公式户敬,對(duì)參數(shù)乘上一個(gè)縮減因子落剪。

假設(shè)J是一個(gè)二次優(yōu)化問(wèn)題時(shí),模型參數(shù)可以進(jìn)一步表示為尿庐,即相當(dāng)于在原來(lái)的參數(shù)上添加了一個(gè)控制因子,其中是參數(shù)Hessian矩陣的特征值呢堰。由此可見(jiàn)?

1. 當(dāng)時(shí)抄瑟,懲罰因子作用比較小。?

2. 當(dāng)時(shí)枉疼,對(duì)應(yīng)的參數(shù)會(huì)縮減至0

L1正則

對(duì)模型參數(shù)添加L1范數(shù)約束皮假,即

如果通過(guò)梯度方法進(jìn)行求解時(shí),參數(shù)梯度為

特殊情況下骂维,對(duì)于二次優(yōu)化問(wèn)題惹资,并且假設(shè)對(duì)應(yīng)的Hessian矩陣是對(duì)角矩陣,可以推導(dǎo)出參數(shù)遞推公式為航闺,從中可以看出?

當(dāng)時(shí)褪测,對(duì)應(yīng)的參數(shù)會(huì)縮減到0,這也是和L2正則不同地方潦刃。?

對(duì)比L2優(yōu)化方法侮措,L2不會(huì)直接將參數(shù)縮減為0,而是一個(gè)非常接近于0的值乖杠。

L2 VS L1

主要區(qū)別如下:

通過(guò)上面的分析分扎,L1相對(duì)于L2能夠產(chǎn)生更加稀疏的模型,即當(dāng)L1正則在參數(shù)w比較小的情況下胧洒,能夠直接縮減至0.因此可以起到特征選擇的作用畏吓,該技術(shù)也稱(chēng)之為 LASSO

如果從概率角度進(jìn)行分析,很多范數(shù)約束相當(dāng)于對(duì)參數(shù)添加先驗(yàn)分布卫漫,其中L2范數(shù)相當(dāng)于參數(shù)服從高斯先驗(yàn)分布菲饼;L1范數(shù)相當(dāng)于拉普拉斯分布。

范數(shù)約束-約束優(yōu)化問(wèn)題

從另外一個(gè)角度可以將范數(shù)約束看出帶有參數(shù)的約束優(yōu)化問(wèn)題汛兜。帶有參數(shù)懲罰的優(yōu)化目標(biāo)為

帶約束的最優(yōu)問(wèn)題巴粪,可以表示為

通過(guò)KKT條件進(jìn)行求解時(shí),對(duì)應(yīng)的拉格朗日函數(shù)為

從約束優(yōu)化問(wèn)題也可以進(jìn)一步看出粥谬,L1相對(duì)于L2能產(chǎn)生更稀疏的解肛根。?


從圖中可以看出,L1最優(yōu)解常常出現(xiàn)在定點(diǎn)處漏策,此時(shí)某些維度上的值肯定為0.

數(shù)據(jù)集合擴(kuò)充

防止過(guò)擬合最有效的方法是增加訓(xùn)練集合派哲,訓(xùn)練集合越大過(guò)擬合概率越小。數(shù)據(jù)集合擴(kuò)充是一個(gè)省時(shí)有效的方法掺喻,但是在不同領(lǐng)域方法不太通用芭届。?

1. 在目標(biāo)識(shí)別領(lǐng)域常用的方法是將圖片進(jìn)行旋轉(zhuǎn)储矩、縮放等(圖片變換的前提是通過(guò)變換不能改變圖片所屬類(lèi)別,例如手寫(xiě)數(shù)字識(shí)別褂乍,類(lèi)別6和9進(jìn)行旋轉(zhuǎn)后容易改變類(lèi)目)?

2. 語(yǔ)音識(shí)別中對(duì)輸入數(shù)據(jù)添加隨機(jī)噪聲?

3. NLP中常用思路是進(jìn)行近義詞替換?

4. 噪聲注入持隧,可以對(duì)輸入添加噪聲,也可以對(duì)隱藏層或者輸出層添加噪聲逃片。例如對(duì)于softmax 分類(lèi)問(wèn)題可以通過(guò) Label Smoothing技術(shù)添加噪聲屡拨,對(duì)于類(lèi)目0-1添加噪聲,則對(duì)應(yīng)概率變成

Dropout

Dropout是一類(lèi)通用并且計(jì)算簡(jiǎn)潔的正則化方法褥实,在2014年被提出后廣泛的使用呀狼。?

簡(jiǎn)單的說(shuō),Dropout在訓(xùn)練過(guò)程中损离,隨機(jī)的丟棄一部分輸入哥艇,此時(shí)丟棄部分對(duì)應(yīng)的參數(shù)不會(huì)更新。相當(dāng)于Dropout是一個(gè)集成方法僻澎,將所有子網(wǎng)絡(luò)結(jié)果進(jìn)行合并貌踏,通過(guò)隨機(jī)丟棄輸入可以得到各種子網(wǎng)絡(luò)。例如?


例如上圖怎棱,通過(guò)不同的輸入屏蔽相當(dāng)于學(xué)習(xí)到所有子網(wǎng)絡(luò)結(jié)構(gòu)哩俭。

因此前向傳播過(guò)程變成如下形式:?


相當(dāng)于每層輸入多了一個(gè)屏蔽向量來(lái)控制該層有哪些輸入會(huì)被屏蔽掉。

經(jīng)驗(yàn):原始輸入每一個(gè)節(jié)點(diǎn)選擇概率0.8拳恋,隱藏層選擇概率為0.5

Dropout預(yù)測(cè)策略

既然Dropout過(guò)程類(lèi)似于集成方法凡资,預(yù)測(cè)時(shí)需要將所有相關(guān)模型進(jìn)行求平均,對(duì)于Dropout而言谬运,然而遍歷所有屏蔽變量不是可能的事情隙赁,因此需要一些策略進(jìn)行預(yù)測(cè)。?

1. 隨機(jī)選擇10-20個(gè)屏蔽向量就可以得到一個(gè)較好的解梆暖。?

2. 采用幾何平均然后在歸一化的思路伞访。

因此只要估計(jì)出,2012年Hinton給出一種估計(jì)方法轰驳,可以只需要一遍前向傳播計(jì)算最終估計(jì)值厚掷,模型參數(shù)乘上其對(duì)應(yīng)輸入單元被包含的概率。該方法也被稱(chēng)為“Weight scaling inference rule”?

3. 由于隱藏層節(jié)點(diǎn)drop的概率常選取0.5级解,因此模型權(quán)重常常除2即可冒黑;也可以在訓(xùn)練階段將模型參數(shù)乘上2

dropout預(yù)測(cè)實(shí)例

假設(shè)對(duì)于多分類(lèi)問(wèn)題,采用softmax進(jìn)行多分類(lèi)勤哗,假設(shè)只有一個(gè)隱藏層抡爹,輸入變量為v,輸入的屏蔽變量為 d芒划,d元素選取概率為1/2.?

則有?

d*v 代表對(duì)應(yīng)元素相乘冬竟,根據(jù)幾何平均欧穴,需要估計(jì)?

每一步推導(dǎo)基本上都是公式代入的過(guò)程,仔細(xì)一點(diǎn)看懂沒(méi)問(wèn)題泵殴。?

最后一步需要遍歷所有的屏蔽向量d涮帘,然而完全遍歷并且累加后可以得到2^n-1,在除以2^n袋狞,最后得到1/2.?

簡(jiǎn)單以二維舉例焚辅,則d可以選擇的范圍包括(0,0)(0,1)(1,0)(1,1)則每一維度都累加了2次,除以4可以得到1/2

DROPOUT的優(yōu)點(diǎn)

相比于weight decay苟鸯、范數(shù)約束等,該策略更有效

計(jì)算復(fù)雜度低棚点,實(shí)現(xiàn)簡(jiǎn)單而且可以用于其他非深度學(xué)習(xí)模型

但是當(dāng)訓(xùn)練數(shù)據(jù)較少時(shí)早处,效果不好

dropout訓(xùn)練過(guò)程中的隨機(jī)過(guò)程不是充分也不是必要條件,可以構(gòu)造不變的屏蔽參數(shù)瘫析,也能夠得到足夠好的解砌梆。

其他

半監(jiān)督學(xué)習(xí)

通過(guò)參數(shù)共享的方法,通過(guò)共享P(x)和P(y|x)的底層參數(shù)能有效解決過(guò)擬合贬循。

多任務(wù)學(xué)習(xí)

多任務(wù)學(xué)習(xí)通過(guò)多個(gè)任務(wù)之間的樣本采樣來(lái)達(dá)到減少泛化誤差咸包。?

多任務(wù)學(xué)習(xí)可以將多個(gè)相關(guān)任務(wù)同時(shí)學(xué)習(xí),并且共享某些參數(shù)杖虾。多任務(wù)可以包括有監(jiān)督和無(wú)監(jiān)督學(xué)習(xí)烂瘫。?

對(duì)于深度學(xué)習(xí)而言,可以共享底層隱藏層自然支持多任務(wù)學(xué)習(xí)奇适。

提前停止(Early Stopping)

在模型訓(xùn)練過(guò)程中經(jīng)常出現(xiàn)隨著不斷迭代坟比,訓(xùn)練誤差不斷減少,但是驗(yàn)證誤差減少后開(kāi)始增長(zhǎng)嚷往。?

提前停止(Early Stopping)的策略是:在驗(yàn)證誤差不在提升后葛账,提前結(jié)束訓(xùn)練;而不是一直等待驗(yàn)證誤差到最小值皮仁。

提前停止策略使用起來(lái)非常方便籍琳,不需要改變?cè)袚p失函數(shù),簡(jiǎn)單而且執(zhí)行效率高贷祈。

但是它需要一個(gè)額外的空間來(lái)備份一份參數(shù)

提前停止策略可以和其他正則化策略一起使用趋急。

提前停止策略確定訓(xùn)練迭代次數(shù)后,有兩種策略來(lái)充分利用訓(xùn)練數(shù)據(jù)付燥,一是將全量訓(xùn)練數(shù)據(jù)一起訓(xùn)練一定迭代次數(shù)宣谈;二是迭代訓(xùn)練流程直到訓(xùn)練誤差小于提前停止策略的驗(yàn)證誤差。

對(duì)于二次優(yōu)化目標(biāo)和線性模型键科,提前停止策略相當(dāng)于L2正則化闻丑。

參數(shù)共享

前提假設(shè):如果兩個(gè)學(xué)習(xí)任務(wù)比較相似漩怎,我們相信兩個(gè)模型參數(shù)比較接近。因此可以加上一些約束條件嗦嗡,例如假設(shè)懲罰項(xiàng)

添加范數(shù)懲罰只是參數(shù)共享的一種策略勋锤,比較通用的策略是可以讓部分參數(shù)集合保持一致。

集成化方法(Ensemble Methods)

Bagging方法是一種通用的降低泛化誤差的方法侥祭,通過(guò)合并多個(gè)模型的結(jié)果叁执,也叫作模型平均,高級(jí)稱(chēng)呼為 集成化方法矮冬。

Bagging的策略很多谈宛,例如不同初始化方法、不同mini batch選擇方法胎署、不同的超參數(shù)選擇方法吆录。

與之對(duì)應(yīng)的集成方法是Boosting,通過(guò)改變樣本權(quán)重來(lái)訓(xùn)練不同模型琼牧。

對(duì)抗訓(xùn)練

對(duì)抗訓(xùn)練的一個(gè)主要思路是恢筝,總有些輸入變量x和x’,他們本身非常相似但是屬于不同的類(lèi)別巨坊。如果能單獨(dú)拿出來(lái)特殊對(duì)待能夠取得比較好的效果撬槽。?

主要問(wèn)題是:對(duì)抗樣本比較難搜集。

總結(jié)

正則化是模型優(yōu)化中非常重要的降低泛化誤差的手段趾撵,在深度學(xué)習(xí)中尤其如此侄柔,當(dāng)模型效果不好時(shí),除了調(diào)節(jié)優(yōu)化算法本身外鼓寺,可以嘗試L1勋拟、L2正則、數(shù)據(jù)擴(kuò)充妈候、提前停止和dropout等策略

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末敢靡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子苦银,更是在濱河造成了極大的恐慌啸胧,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件幔虏,死亡現(xiàn)場(chǎng)離奇詭異纺念,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)想括,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)陷谱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事烟逊≡埽” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵宪躯,是天一觀的道長(zhǎng)乔宿。 經(jīng)常有香客問(wèn)我,道長(zhǎng)访雪,這世上最難降的妖魔是什么详瑞? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮臣缀,結(jié)果婚禮上坝橡,老公的妹妹穿的比我還像新娘。我一直安慰自己精置,他們只是感情好驳庭,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著氯窍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蹲堂。 梳的紋絲不亂的頭發(fā)上狼讨,一...
    開(kāi)封第一講書(shū)人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音柒竞,去河邊找鬼政供。 笑死,一個(gè)胖子當(dāng)著我的面吹牛朽基,可吹牛的內(nèi)容都是我干的布隔。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼稼虎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼衅檀!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起霎俩,我...
    開(kāi)封第一講書(shū)人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哀军,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后打却,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體杉适,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年柳击,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了猿推。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡捌肴,死狀恐怖蹬叭,靈堂內(nèi)的尸體忽然破棺而出藕咏,到底是詐尸還是另有隱情,我是刑警寧澤具垫,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布侈离,位于F島的核電站,受9級(jí)特大地震影響筝蚕,放射性物質(zhì)發(fā)生泄漏卦碾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一起宽、第九天 我趴在偏房一處隱蔽的房頂上張望洲胖。 院中可真熱鬧,春花似錦坯沪、人聲如沸绿映。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)叉弦。三九已至,卻和暖如春藻糖,著一層夾襖步出監(jiān)牢的瞬間淹冰,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工巨柒, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留樱拴,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓洋满,卻偏偏與公主長(zhǎng)得像晶乔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子牺勾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容