關于深度學習學習理論的一些思考

最近幾天戚宦,學習理論的東西一致困擾著我忌怎,查閱一番資料仔細思考之后憔足,寫作此文,方便以后查閱酪耕。參考的鏈接主要有:1.The hard thing about deep learning , 2. Model Theory of Deep Learning:Why does it works so well?,3.Non-convex Cost Funtions of Neural network,4.Non-convex Functions

TBBT鎮(zhèn)樓

什么是學習理論导梆?

??我們可能常常聽說這樣一句話:深度學習,甚至神經網絡是個黑箱,我們并不知道里面發(fā)生了什么看尼。這句話是沒有錯的递鹉,但是有很多人并沒有完全明白這句話的含義。說它是個黑箱藏斩,很大程度上是因為梳虽,我們在深度學習上缺乏相應的學習理論。

??那么什么是學習理論灾茁?學習理論就是泛化性能的理論保證窜觉。更具體一點說,什么樣的模型才叫好模型北专?泛化性能強的模型禀挫!那么相應的,什么樣的模型才叫有用的模型拓颓?答案也很簡單:具有泛化性能的模型语婴。想象一下,我們拿到了一個訓練數據集 D 驶睦,然后我們把里面的數據全部都背下來了砰左,這一下訓練損失0,但是泛化性能也是0了场航,沒有用的模型缠导。

??所以哇,我們的學習理論想要保證的就是我們的模型能夠具有一定的泛化性能溉痢,那么這個問題就是轉換成了learnable problem僻造。那么怎么保證泛化性能呢?接下來將會介紹這方面的內容孩饼。

傳統(tǒng)的機器學習的學習理論

傳統(tǒng)機器學習學習理論

??傳統(tǒng)的機器學習在證明學習理論的時候走的是這樣一個心路歷程:我們想要的是有用的模型髓削,有用的模型轉換成機器學習的語言就是①泛化性能不能跑的太偏,即泛化誤差得有個上界镀娶。②我們的訓練過程得是提高泛化性能的過程立膛。經過研究哇,我們發(fā)現(xiàn)我們定義的模型和最終的泛化性能之間確實存在著一種關聯(lián)梯码,直觀來講就是我們的模型越復雜宝泵,泛化性能就會下降,越簡單忍些,泛化性能就會提高鲁猩。那么我們該怎么定義這個模型的復雜度呢?我們使用VC維來定義(當然還有 Rademacher complexity罢坝,在這里不介紹了廓握,我也不會)搅窿,簡單說一下VC維度:VC維就是你的模型能夠shatter的數據樣本的最大個數。那么什么叫shatter?就是說我們把每個樣本當成高維度空間中的一個點隙券,模型看做是高維空間中的一條二分類的直線男应,如果我們的通過模型能夠把樣本所有可能的標簽組合都取到,我們就認為這個模型shattered 這個數據集了娱仔,而這個數據集的維度就叫做VC維度沐飘。(思考:我們可以看出VC維度考慮到了數據的可分性和模型的復雜度兩個因素),我們就用這個維度來表示模型的復雜度牲迫,并且利用這個維度我們能夠給出前面提到的兩個要求:①泛化性能的上界②證明訓練損失減少的過程(ERM)就是泛化性能提高的過程耐朴。具體的證明過程可以參考CS229上給出的證明,這里就不寫了盹憎。下面給出vc維的一個例子筛峭。以二維線性模型為例,如下圖陪每,我們要求的是線性模型能夠shatter的數據點的個數影晓。一個數據點肯定沒問題,兩個數據點就存在四種標簽組合(0,0),(0,1),(1,0),(1,1)檩禾。同樣我們的線性模型仍然能夠很好的完成任務可以以不同的劃分方式取到所有可能的組合挂签。三個數據點的有八種組合,如圖所示盼产,也是能夠完全取到所有的組合饵婆。再增加到4個我們就發(fā)現(xiàn)不行啦,總有些組合是沒有辦法得到的辆飘。

VC維度例子

深度學習的學習理論

??這個標題起的不好啦辐,深度學習哪里有什么學習理論。只有前幾年Yoshua Bengio提出的和validation set有關的學習理論蜈项。

??講道理,深度學習和機器學習是同根同源的续挟,但是我們發(fā)現(xiàn)深度學習的表現(xiàn)是出乎我們意料之外的紧卒,在學習理論上尤其是顛覆三觀。具體的表征如下:

??1.說好的模型越復雜诗祸,泛化性能越差呢跑芳??直颅?熟悉深度學習的童鞋都知道博个,深度學習的網絡參數可以是非常大的,那么不是會造成嚴重的過擬合問題嗎功偿?傳統(tǒng)的機器學習的學習理論在這里或許還可以再掙扎一下說盆佣,不對哇,我們的理論沒問題哇!你參數增多了共耍,但是數據量也變大啦呀虑灰,我們的VC維可是從數據和模型兩個角度上考慮的,么有足夠多的數據你還是會嚴重的過擬合痹兜!對于這種爭辯穆咐,我只想說一句:不對!現(xiàn)在深度學習的模型有些參數數量已經達到了幾百萬個甚至幾億個(比如說BERT)字旭,這什么意思对湃?參數比數據都多,這個時候顯然是沒有足夠多的數據集可以用來訓練這個的遗淳,按照VC維度的理解拍柒,這個時候泛化性能應該已經涼涼了,但是結果呢洲脂?斤儿??深度學習的泛化性能超級好哇恐锦。(猜想:模型記憶下來的數據太多啦往果,我們用的測試數據集不夠優(yōu)秀,測不出來我們沒訓練出來的數據一铅。換句話說測試集就是個假測試集實際上已經在訓練的時候見過差不多的了陕贮。)

??2.說好的Bias-Variance tradeoff 呢?潘飘?tradeoff怎么不見啦肮之?我們都知道在深度學習里的一些防止過擬合的手段,比如說dropout 和各種normalization 有些時候甚至不存在tradeoff這種此消彼長的關系存在卜录,bias和variance居然同時減少戈擒。這是為啥?艰毒?筐高??

bias variance tradeoff

思考和總結

1 non-convex optimization

??在查學習理論的過程中丑瞧,遇到了這么一個概念叫:non-convex 函數柑土,中文可以叫非凸函數。結論是這樣的绊汹,深度學習的損失函數都是非凸函數稽屏,而傳統(tǒng)的機器學習的損失函數大多數都是凸函數。非凸函數是什么概念呢西乖,就是說損失函數存在多個local minima(局部最優(yōu))狐榔,而凸函數只有一個全局最優(yōu)(global minima)坛增。換種說法,同樣用梯度下降的方法荒叼,非凸函數可能會掉進局部最優(yōu)的坑里爬不出來轿偎,凸函數則只要收斂一定是全局最優(yōu)。

??首先這個性質是成立的被廓,簡單證明可以這樣想坏晦,我們只要存在任何的隱藏層(hidden layer),在訓練完了之后嫁乘,我們只需要交換一些參數的位置昆婿,就可以得到同樣的結果。這看起來很白癡蜓斧,但是在空間上仓蛆,這個交換位置可以連坐標軸都發(fā)生交換了的翻天覆地的大變化。但是得到的結果是一樣的挎春,都是我們認為的最優(yōu)看疙,那么這個最優(yōu)就不是全局最優(yōu)了(至少不是唯一的),也就是只能當做局部最優(yōu)來看直奋,深度學習(包含隱藏層)的網絡的損失函數是非凸函數能庆。

??其次這個性質決定了我們在深度學習中采用的一些技術的思路和方向。比如隨機梯度下降脚线,隨機初始化(防止掉到同一個坑里出不來了)等等搁胆。

??最后說一下,非凸函數的優(yōu)化是一個很難的問題邮绿。具體點說渠旁,尋找非凸函數的全局最優(yōu)這是一個NP問題,什么叫NP問題船逮?就是多項式時間內無法完成的問題(但是在多項式時間內可以驗證一個解顾腊,這不重要)?什么叫多項式時間內無法完成挖胃?就是我們求解全局最優(yōu)的過程所需要的時間隨著數據量的增大投慈,是指數增長的。這是我們無法接受的冠骄。所以我們在解決深度學習的問題時,并不會去找全局最優(yōu)加袋,而是找到一個比較優(yōu)秀的局部最優(yōu)我們就滿足啦凛辣。

2 pretraining+fine-tuning

??有了這些理論知識,雖然說我還沒能力在這個基礎上搞什么吧职烧,倒是解答了我一個問題扁誓。就是我們pretraining+fine-tuning 的做法為什么會比直接隨機初始化的效果好防泵?答案就是我們通過pretraining 階段已經把相應的參數帶到了一個我們比較滿意的局部最優(yōu)啦,而隨機初始化呢將會有很大的可能進入到大坑里蝗敢。所以如果我們每一層都使用比較好的pretraining 有可能會取得比較好的效果以及比較快的收斂速度(有點像layer normalization的思路捷泞,就是讓某一部分的參數或者輸入相對穩(wěn)定,有利于整個模型的收斂)寿谴。此外锁右,比較復雜的網絡使用pretraining 的效果可能更好一些,簡單的網絡局部最優(yōu)這樣的小彈坑并不多讶泰,踩進去說不定也是能夠憑本事自己爬出來的咏瑟,所以沒有必要采用pretraining 的方式。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末痪署,一起剝皮案震驚了整個濱河市码泞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狼犯,老刑警劉巖余寥,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異悯森,居然都是意外死亡宋舷,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門呐馆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肥缔,“玉大人,你說我怎么就攤上這事汹来⌒牛” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵收班,是天一觀的道長坟岔。 經常有香客問我,道長摔桦,這世上最難降的妖魔是什么社付? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮邻耕,結果婚禮上鸥咖,老公的妹妹穿的比我還像新娘。我一直安慰自己兄世,他們只是感情好啼辣,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著御滩,像睡著了一般鸥拧。 火紅的嫁衣襯著肌膚如雪党远。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天富弦,我揣著相機與錄音沟娱,去河邊找鬼。 笑死腕柜,一個胖子當著我的面吹牛济似,可吹牛的內容都是我干的。 我是一名探鬼主播媳握,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼碱屁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蛾找?” 一聲冷哼從身側響起娩脾,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎打毛,沒想到半個月后柿赊,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡幻枉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年碰声,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片熬甫。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡胰挑,死狀恐怖,靈堂內的尸體忽然破棺而出椿肩,到底是詐尸還是另有隱情瞻颂,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布郑象,位于F島的核電站贡这,受9級特大地震影響,放射性物質發(fā)生泄漏厂榛。R本人自食惡果不足惜盖矫,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望击奶。 院中可真熱鬧辈双,春花似錦、人聲如沸柜砾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至喜爷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間萄唇,已是汗流浹背檩帐。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留另萤,地道東北人湃密。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像四敞,于是被迫代替她去往敵國和親泛源。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容

  • 文章主要分為:一忿危、深度學習概念达箍;二、國內外研究現(xiàn)狀铺厨;三缎玫、深度學習模型結構;四解滓、深度學習訓練算法赃磨;五、深度學習的優(yōu)點...
    艾剪疏閱讀 21,807評論 0 58
  • 機器學習是做NLP和計算機視覺這類應用算法的基礎洼裤,雖然現(xiàn)在深度學習模型大行其道邻辉,但是懂一些傳統(tǒng)算法的原理和它們之間...
    在河之簡閱讀 20,487評論 4 65
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,745評論 25 707
  • 你值骇,愛的罌粟花 文:冰凌 凌晨的路上,我一直是尋夢的那一個 你缕减,就是夢中的那朵 開在愛情路上的罌粟花 手中的筆雷客,蘸...
    凌兒的天空閱讀 307評論 1 0
  • 美麗啟航 9月1日搅裙,是新學年開學第一天。 為了這一天裹芝,老師們暑假參加提升培訓部逮,學習新知識、迎接新挑戰(zhàn)嫂易,準備了很長時...
    河北南和劉志玉閱讀 696評論 2 3