久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    大神親傳:26條深度學習的金科玉律!

     昵稱27299644 2015-09-23


    出處:csdn

    8月初的蒙特利爾深度學習暑期班,由Yoshua Bengio、 Leon Bottou等大神組成的講師團奉獻了10天精彩的講座,劍橋大學自然語言處理與信息檢索研究組副研究員Marek Rei參加了本次課程,在本文中,他精煉地總結了學到的26個有代表性的知識點,包括分布式表示,tricks的技巧,對抗樣本的訓練,Neural Machine Translation,以及Theano、Nvidia Digits等,非常具有參考價值。

    八月初,我有幸有機會參加了蒙特利爾深度學習暑期學校的課程,由最知名的神經網絡研究人員組成的為期10天的講座。在此期間,我學到了很多,用一篇博客也說不完。我不會用60個小時的時間來講解神經網絡知識的價值,而會以段落的方式來總結我學到的一些有趣的知識點。

    在撰寫本文時,暑期學校網站仍可以訪問,并附有全部的演示文稿。所有的資料和插圖都是來自原作者。暑期學校的講座已經錄制成了視頻,它們也可能會被上傳到網站上。

    好了,我們開始吧。

    1、分布式表示(distributed representations)的需要

    在Yoshua Bengio開始的講座上,他說“這是我重點講述的幻燈片”。下圖就是這張幻燈片:

    假設你有一個分類器,需要分類人們是男性還是女性,佩戴眼鏡還是不佩戴眼鏡,高還是矮。如果采用非分布式表示,你就在處理2*2*2=8類人。為訓練精準度高的分類器,你需要為這8類收集足夠的訓練數據。但是,如果采用分布式表示,每一個屬性都會在其他不同維度中有所展現。這意味著即使分類器沒有碰到佩戴眼鏡的高個子,它也能成功地識別他們,因為它學會了從其他樣本中單獨學習識別性別,佩戴眼鏡與否和身高。

    2、局部最小在高維度不是問題

    Yoshua Bengio的團隊通過實驗發現,優化高維度神經網絡參數時,就沒有局部最小。相反,在某些維度上存在鞍點,它們是局部最小的,但不是全局最小。這意味著,在這些點訓練會減慢許多,直到網絡知道如何離開這些點,但是我們愿意等足夠長的時間的話,網絡總會找到方法的。

    下圖展示了在網絡訓練過程中,兩種狀態的震動情況:靠近鞍點和離開鞍點。

    給定一個指定的維度,小概率p表示點是局部最小的可能性,但不是此維度上全局最小。在1000維度空間里的點不是局部最小的概率就會是,這是一個非常小的值。但是,在某些維度里,這個點是局部最小的概率實際上比較高。而且當我們同時得到多維度下的最小值時,訓練可能會停住直到找到正確的方向。

    另外,當損失函數接近全局最小時,概率p會增加。這意味著,如果我們找到了真正的局部最小,那么它將非常接近全局最小,這種差異是無關緊要的。

    3、導函數,導函數,導函數

    Leon Bottou列出了一些有用的表格,關于激活函數,損失函數,和它們相應的導函數。我將它們先放在這里以便后續使用。

    更新:根據評論指出,斜率公式中的最小最大函數應該調換。

    4、權重初始化策略

    目前在神經網絡中建議使用的權重初始化策略是將值歸一化到范圍[-b,b],b為:

    由Hugo Larochelle推薦,Glorot和Bengio發布(2010)。

    5、神經網絡訓練技巧

    Hugo Larochelle給出的一些實用建議:

    • 歸一化實值數據。減去平均值,再除以標準差。

    • 降低訓練過程中的學習率。

    • 更新使用小批量數據,梯度會更穩定。

    • 使用動量,通過停滯期。

    6、梯度檢測

    如果你手動實現了反向傳播算法但是它不起作用,那么有99%的可能是梯度計算中存在Bug。那么就用梯度檢測來定位問題。主要思想是運用梯度的定義:如果我們稍微增加某個權重值,模型的誤差將會改變多少。

    這里有更詳細的解釋:Gradient checking and advanced optimization。

    7、動作跟蹤

    人體動作跟蹤可以達到非常高的精準度。下圖是來自Graham Taylor等人(2010)發表的論文Dynamical Binary Latent Variable Models for 3D Human Pose Tracking中的例子。該方法使用的是條件受限的玻爾茲曼機。

    8、使用語法還是不使用語法?(即“需要考慮語法嗎?”)

    Chris Manning和Richard Socher已經投入了大量的精力來開發組合模型,它將神經嵌入與更多傳統的分析方法組合起來。這在Recursive Neural Tensor Network這篇論文中達到了極致,它使用加法和乘法的互動將詞義與語法解析樹組合。

    然后,該模型被Paragraph向量(Le和Mikolov,2014)打敗了(以相當大的差距),Paragraph向量對語句結構和語法完全不了解。Chris Manning將這個結果稱作“創造‘好的’組合向量的一次失敗”。

    然而,最近越來越多的使用語法解析樹的工作成果改變了那一結果。Irsoy和Cardie(NIPS,2014)在多維度上使用更深層的網絡成功地打敗了Paragraph向量。最后,Tai等人(ACL,2015)將LSTM網絡與語法解析樹結合,進一步改進了結果。

    這些模型在斯坦福5類情感數據集上結果的精準度如下:

    從目前來看,使用語法解析樹的模型比簡單方法更勝一籌。我很好奇下一個不基于語法的方法何時出現,它又將會如何推動這場比賽。畢竟,許多神經模型的目標不是丟棄底層的語法,而是隱式的將它捕獲在同一個網絡中。

    9、分布式與分配式

    Chris Manning本人澄清了這兩個詞之間的區別。

    分布式:在若干個元素中的連續激活水平。比如密集詞匯嵌入,而不是1-hot向量。

    分配式:表示的是使用上下文。word2vec是分配式的,當我們使用詞匯的上下文來建模語義時,基于計數的詞匯向量也是分配式的。

    10、依賴狀態分析

    Penn Treebank中的依賴分析器比較:

    Parser

    Unlabelled Accuracy

    Labelled Acccuracy

    Speed (sent/s)

    MaltParser

    89.8

    87.2

    469

    MSTParser

    91.4

    88.1

    10

    TurboParser

    92.3

    89.6

    8

    Stanford Neural Dependency Parser

    92.0

    89.7

    654

    Google

    94.3

    92.4

    最后一個結果是從谷歌“提取出所有stops”得到的,將海量數據源來訓練斯坦福神經語法解析器。

    11、Theano

    我之前對Theano有所了解,但是我在暑期學校學習到了更多。而且它實在是太棒了。

    由于Theano起源自蒙特利爾,直接請教Theano的開發者會很有用。

    關于它大多數的信息都可以在網上找到,以交互式Python教程的形式。

    12Nvidia Digits

    英偉達有一個叫做Digits的工具包,它可以訓練并可視化復雜的神經網絡模型而不需要寫任何代碼。并且他們正在出售DevBox,這是一款定制機器,可以運行Digits和其他深度學習軟件(Theano,Caffe等)。它有4塊Titan X GPU,目前售價15,000美元。

    13、Fuel

    Fuel是一款管理數據集迭代的工具,它可以將數據集切分成若干小部分,進行shuffle操作,執行多種預處理步驟等。對于一些建立好的數據集有預置的功能,比如MNIST,CIFAR-10和谷歌的10億詞匯語料庫。它主要是與Blocks結合使用,Blocks是使用Theano簡化網絡結構的工具。

    14、多模型語言學規律

    記得“國王-男性+女性=女王”嗎?事實上圖片也能這么處理(Kiros等人,2015)。

    15、泰勒級數逼近

    當我們在點處,向移動時,那么我們可以通過計算導函數來估計函數在新位置的值,我們將使用泰勒級數逼近:

    同樣地,當我們將參數更新到時,我們可以估計損失函數:

    其中g是對θ的導數,H是對θ的二階Hessian導數。

    這是二階泰勒逼近,但是我們可以通過采用更高階導數來增加準確性

    16、計算強度

    Adam Coates 提出了一種分析GPU上矩陣操作速度的策略。這是一個簡化的模型,可以顯示花在讀取內存或者進行計算的時間。假設你可以同時計算這兩個值,那么我們就可以知道那一部分耗費時間更多。

    假設我們將矩陣和一個向量相乘:

    如果M=1024,N=512,那么我們需要讀取和存儲的字節數是:

    4 bytes ×(1024×512+512+1024)=2.1e6 bytes

    計算次數是:

    2×1024×512=1e6 FLOPs

    如果我們有塊6TFLOP/s的GPU,帶寬300GB/s的內存,那么運行總時間是:

    max{2.1e6 bytes /(300e9 bytes/s),1e6 FLOPs/(6e12 FLOP/s)}=max{7μs,0.16μs}

    這意味著處理過程的瓶頸在于從內存中復制或向內存中寫入消耗的7μs,而且使用更快的GPU也不會提升速度了。你可能會猜到,在進行矩陣-矩陣操作時,當矩陣/向量變大時,這一情況會有所好轉。

    Adam同樣給出了計算操作強度的算法:

    強度= (#算術操作)/(#字節加載或存儲數)

    在之前的場景中,強度是這樣的:

    強度= (1e6 FLOPs)/(2.1e6 bytes)= 0.5FLOPs/bytes

    低強度意味著系統受內存大小的牽制,高強度意味著受GPU速度的牽制。這可以被可視化,由此來決定應該改進哪個方面來提升整體系統速度,并且可以觀察最佳點的位置。

    17、小批量

    繼續說說計算強度,增加網絡強度的一種方式(受計算而不是內存限制)是,將數據分成小批量。這可以避免一些內存操作,GPU也擅長并行處理大矩陣計算。

    然而,增加批次的大小的話可能會對訓練算法有影響,并且合并需要更多時間。重要的是要找到一個很好的平衡點,以在最短的時間內獲得最好的效果。

    18、對抗樣本的訓練

    據最近信息顯示,神經網絡很容易被對抗樣本戲弄。在下面的案例中,左邊的圖片被正確分類成金魚。但是,如果我們加入中間圖片的噪音模式,得到了右邊這張圖片,分類器認為這是一張雛菊的圖片。圖片來自于Andrej Karpathy的博客 “Breaking Linear Classifiers on ImageNet”,你可以從那了解更多。

    噪音模式并不是隨機選擇的,而是為了戲弄網絡通過精心計算得到的。但是問題依然存在:右邊的圖像顯然是一張金魚而不是雛菊。

    顯然,像集成模型,多掃視后投票和無監督預訓練的策略都不能解決這個漏洞。使用高度正則化會有所幫助,但會影響判斷不含噪聲圖像的準確性。

    Ian Goodfellow提出了訓練這些對抗樣本的理念。它們可以自動的生成并添加到訓練集中。下面的結果表明,除了對對抗樣本有所幫助之外,這也提高了原始樣本上的準確性。

    最后,我們可以通過懲罰原始預測分布與對抗樣本上的預測分布之間的KL發散來進一步改善結果。這將優化網絡使之更具魯棒性,并能夠對相似(對抗的)圖像預測相似類分布。

    19、萬事萬物皆為語言建模

    Phil Blunsom 提出,幾乎所有的NLP都可以構建成語言模型。我們可以通過這種方式實現,將輸出與輸入連接,并嘗試預測整個序列的概率。

    翻譯:

    P(Les chiens aiment les os || Dogs love bones)

    問答:

    P(What do dogs love? || bones .)

    對話:

    P(How are you? || Fine thanks. And you?)

    后兩個必須建立在對世界已知事物了解的基礎上。第二部分甚至可以不是詞語,也可以是一些標簽或者結構化輸出,比如依賴關系。

    20、SMT開頭難

    當Frederick Jelinek 和他在IBM的團隊在1988年提交了關于統計機器翻譯第一批之一的論文時,他們的到了如下的匿名評審:

    正如作者提到的,早在1949年Weaver就肯定了統計(信息論)方法進行機器翻譯的有效性。而在1950年被普遍認為是錯誤的(參見Hutchins, MT – Past, Present, Future, Ellis Horwood, 1986, p. 30ff 和參考文獻)。計算機的暴力解決并不是科學。該論文已經超出了COLING的范圍。

    21、神經機器翻譯(Neural Machine Translation)現狀

    顯然,一個非常簡單的神經網絡模型可以產生出奇好的結果。下圖是Phil Blunsom的一張幻燈片,將中文翻譯成英文的例子:

    在這個模型中,漢字向量簡單地相加在一起形成一個語句向量。解碼器包含一個條件性語言模型,將語句向量和兩個最近生成的英語單詞中的向量結合,然后生成譯文中下一個單詞。

    然而,神經模型仍然沒有將傳統機器翻譯系統性能發揮到極致。但是它們已經相當接近了。Sutskever等人(2014)在“Sequence to Sequence Learning with Neural Networks”中的結果:

    Model

    BLEU score

    Baseline

    33.30

    Best WMT’14 result

    37.0

    Scoring with 5 LSTMs

    36.5

    Oracle(upper bound)

    ~45

    更新:@stanfordnlp指出,最近一些結果表明,神經模型確實會將傳統機器翻譯系統性能發揮到極致。查看這篇論文“Effective Approaches to Attention-based Neural Machine Translation”(Luong等人,2015)

    22、偉大人物的分類例子

    Richard Socher演示了偉大人物圖像分類例子,你可以自己上傳圖像來訓練。我訓練了一個可以識別愛迪生和愛因斯坦(不能找到足夠的特斯拉個人相片)的分類器。每個類有5張樣本圖片,對每個類測試輸出圖像。似乎效果不錯。

    23、優化梯度更新

    Mark Schmidt給出了兩份關于在不同情況下數值優化的報告。

    確定性梯度方法中,我們在整個數據集上計算了梯度,然后更新它。迭代成本與數據集大小呈線性關系。

    隨機梯度方法中,我們在一個數據點上計算了梯度,然后更新它。迭代成本與數據集大小無關。

    隨機梯度下降中的每次迭代要快許多,但是它通常需要更多的迭代來訓練網絡,如下圖所示:

    為了達到這兩者最好效果,我們可以用批量處理。確切的說,我們可以對數據集先進行隨機梯度下降,為快速達到右邊的部分,然后開始增加批大小。梯度誤差隨著批大小的增加而減少,然而最終迭代成本大小還是會取決于數據集大小。

    隨機平均梯度(SAG)可以避免這樣的情況,每次迭代只有1個梯度,從而得到線性收斂速度。不幸的是,這對于大型神經網絡是不可行的,因為它們需要記住每一個數據點的梯度更新,這就會耗費大量內存。隨機方差降低梯度(SVRG)可以減少這種內存耗費的情況,并且每次迭代(加上偶然全部通過)只需要兩次梯度計算。

    Mark表示,他的一位學生實現了各種優化方法(AdaGrad,momentum,SAG等)。當問及在黑盒神經網絡系統中他會使用什么方法時,這位學生給出了兩種方法:Streaming SVRG(Frostig等人,2015),和一種他們還沒發布的方法。

    24、Theano分析

    如果你將“profile=true”賦值給THEANO_FLAGS,它將會分析你的程序,然后顯示花在每個操作上的時間。對尋找性能瓶頸很有幫助。

    25、對抗性網絡框架

    繼Ian Goodfellow關于對抗性樣本的演講之后,Yoshua Bengio 談到了用兩個系統相互競爭的案例。

    系統D是一套判別性系統,它的目的是分類真實數據和人工生成的數據。

    系統G是一套生成系統,它試圖生成可以讓系統D錯誤分類成真實數據的數據。

    當我們訓練一個系統時,另外一個系統也要相應的變的更好。在實驗中這的確有效,不過步長必須保持十分小,以便于系統D可以更上G的速度。下面是“Deep Generative Image Models using a Laplacian Pyramid of Adversarial Networks”中的一些例子——這個模型的一個更高級版本,它試圖生成教堂的圖片。

    26arXiv.org編號

    arXiv編號包含著論文提交的年份和月份,后面跟著序列號,比如論文1508.03854表示編號3854的論文在2015年8月份提交。很高興知道這個。

    原文鏈接:26 THINGS I LEARNED IN THE DEEP LEARNING SUMMER SCHOOL(譯者/劉翔宇 審校/趙屹華、朱正貴、李子健 責編/仲浩)

    關于譯者: 劉翔宇,中通軟開發工程師,關注機器學習、神經網絡、模式識別。

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 色天天天综合网色天天| 艳女性享受在线观看| 国产欧美日韩亚洲一区二区三区| 毛片无遮挡高清免费| 国产欧美日韩一区二区三区| 野外做受三级视频| 色综合久久久久综合体桃花网| 国产999精品2卡3卡4卡| JAPANESE国产在线观看播放| 亚洲大尺度无码专区尤物| 少妇午夜啪爽嗷嗷叫视频| 无码精品久久久久久人妻中字| 国产毛1卡2卡3卡4卡免费观看| 69久久夜色精品国产69| 美女被强奷到抽搐的动态图| 亚洲熟女综合色一区二区三区| 亚洲男女羞羞无遮挡久久丫| 亚洲综合欧美色五月俺也去| 色爱综合激情五月激情| 国产精品免费久久久久影院 | 中文字幕乱码一区二区免费| 亚洲av男人电影天堂热app| 国产XXXX色视频在线观看| 97人妻碰碰视频免费上线| 国产黑色丝袜在线观看下| 中文字幕av无码免费一区| 国产99视频精品免视看9| 又湿又紧又大又爽A视频男| 精品无人区无码乱码毛片国产| 成人精品天堂一区二区三区| 在线精品国产中文字幕| 无码H黄肉3D动漫在线观看| 欧美成人免费做真爱| 色窝窝免费播放视频在线| 亚洲精品成人片在线播放| 精品999日本久久久影院| 中文字幕人妻无码一夲道| 亚洲AV永久无码精品一区二区国产 | 国精无码欧精品亚洲一区| 国产一区二区三区导航| 成人AV无码一区二区三区|