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

    超實用總結:AI實踐者需要用到的10個深度學習方法

     horsedoc 2017-12-06

    大數據文摘作品

    編譯:小魚、肖依月、高寧、Aileen


    在過去十年里,大眾對機器學習的興趣與日俱增。幾乎每天都可以在計算機科學程序、行業會議和華爾街日報上看到機器學習的身影。在所有關于機器學習的討論中,很多都將“機器學習的作用”和“人類希望機器學習能夠做什么”這兩個觀念混為一談。從根本上說,機器學習是使用算法從原始數據中提取信息,并用某種模型進行表示,然后對于一些我們尚未建模的數據,使用模型來進行推斷。


    神經網絡是機器學習模型的一種,而且已經存在了至少50年了。神經網絡的基本單元是節點,源于哺乳動物大腦中的生物神經元。神經元之間的聯系也是基本生物大腦建立的,這些聯系隨著時間的推移不斷進化(即“訓練”)。


    在二十世紀八十年代中期和九十年代初期,神經網絡有了許多重要的發展。然而,為了獲得較好結果需要大量的時間和數據,這減緩了神經網絡發展的速度,也降低了當時人們的關注度。在二十一世紀初,計算能力呈指數級增長,業界認為計算技術的發展比“寒武紀爆炸”都來的迅猛。在計算能力爆炸式增長的十年中,作為神經網絡領域的一個重要角色,深度學習出現了,贏得了許多重要的機器學習競賽。2017年,深度學習的熱度仍然不減。今天,在機器學習的出現的地方都可以看到深度學習的身影。


    最近,我已經開始閱讀關于深度學習的學術論文。根據我的個人研究,下列出版內容對這個領域的發展產生了巨大的影響:


    • NYU在1998年發表的文章《基于梯度學習的文檔識別》(Gradient-Based Learning Applied to Document Recognition)中,介紹了卷積神經網絡在機器學習中的應用。

    • Toronto在2009年發表的文章《深度波茲曼機器》(Deep Boltzmann Machines)中,提出了一種新的算法,波茲曼機器中有眾多層中包含隱藏變量。

    • Stanford和Google在2012年聯合發表的文章《使用大規模非監督學習構建高層特征》(Building High-Level Features Using Large-Scale Unsupervised Learning)中,解決了僅利用未標記的數據構建高級、特定類的特征檢測器的問題。

    • Berkeley在2013年發表的文章《用于一般視覺識別的深層卷積激活特征》(DeCAF?—?A Deep Convolutional Activation Feature for Generic Visual Recognition)中,發布了名為DeCAF的算法,是深度卷積激活特征實現的一個開源方法,使用相關的網絡參數,視覺研究人員能夠利用一系列視覺概念學習范例進行深度表征實驗。

    • DeepMind在2016年發表的文章《用深度強化學習玩Atari》(Playing Atari with Deep Reinforcement Learning)中,提出了第一個可以成功地通過強化學習直接從高維感官輸入中學習控制策略的深度學習模型 。


      通過研究和學習,關于深度學習相關知識我收獲頗豐。在這里,我想分享AI工程師用于解決機器學習問題的10個強大的深度學習方法。但首先,我們需要定義什么是深度學習。 定義深度學習是很多人面臨的一個挑戰,因為它的形式在過去的十年中已經慢慢地發生了改變。為了在視覺上定義深度學習,下圖展示了人工智能AI,機器學習和深度學習之間的關系。


      人工智能領域廣泛且存在時間較長。深度學習是機器學習領域的一個子集,而機器學習是AI領域的一個子集。一般將深度學習網絡與“典型”前饋多層網絡從如下方面進行區分:


      • 深度學習比前饋網絡有更多的神經元

      • 深度學習中層之間的連接方式比前饋網絡更復雜

      • 訓練深度學習需要有像“寒武紀大爆發”式的計算能力

      • 深度學習可以自動提取特征


      上述 “更多的神經元”,是指近年來神經元的數量不斷增加,深度學習就可以表示更為復雜的模型。層也從多層網絡中每一層的完全連接,進化成卷積神經網絡中神經元片段的局部連接,以及與遞歸神經網絡中的同一神經元的循環連接(與前一層的連接除外)。


      在四種基本網絡架構中,深度學習可以被定義為具有大量參數和層數的神經網絡:


      • 無監督預訓練網絡(Unsupervised Pre-trained Networks)

      • 卷積神經網絡(Convolutional Neural Networks)

      • 循環神經網絡(Recurrent Neural Networks)

      • 遞歸神經網絡(Recursive Neural Networks)


      在這篇文章中,我主要關注后三種網絡架構。卷積神經網絡基本上是一個使用共享權重擴展空間的標準神經網絡。CNN通過在內部卷積來識別圖像,它可以看到圖像上識別對象的邊緣。遞歸神經網絡基本上是一個使用時間延伸擴展空間的標準神經網絡,它提取進入下一時間步的邊沿,而不是在同一時間進入下一層。RNN進行序列識別,例如語音或文本信號,因其內部具有循環,意味著在RNN網絡中存在短時記憶。遞歸神經網絡更類似于分層網絡,其中輸入序列實際上與時間無關,但輸入必須以樹狀方式分層處理。以下10種方法適用于上述所有的網絡架構。


      1—反向傳播(Back-Propagation)


      反向傳播是一種簡單計算函數的偏導數(或梯度)的方法,它的形式是函數組合(如神經網絡)。當你使用基于梯度的方法求解最優化問題(梯度下降只是其中之一)時,你想在每次迭代中計算函數梯度。



      對于一個神經網絡,其目標函數是組合形式。如何計算梯度?有2種常規方法:(i)分析微分法。函數形式已知,你只需要用鏈式法則(基本微積分)計算導數。(ii)有限差分近似微分。這種方法計算成本昂貴,因為評估函數的數量是O(N),其中N是參數的個數。與解析微分相比,這種方法花費代價更大。然而在調試時,通常使用有限差分驗證反向傳播的執行效果。


      2—隨機梯度下降法(Stochasitc Gradient Descent)


      理解梯度下降的一種直觀的方式是,想象一條源于山頂的河流的路徑。梯度下降的目標正是河流努力實現的目標—即從山頂流到最底點(在山麓處)。


      現在,如果山的地形是這樣一種形狀,即河流在到達最終目的地(山麓的最低點)之前不會停留,這也是我們所希望的理想情況。在機器學習中,是指從初始點(山頂)開始,我們已經找到了全局最小值(或最優值)的方案。然而,可能由于地形性質,導致河流路徑出現若干的坑洼,會迫使河流困住和停滯。在機器學習方面,這種坑洼被稱為局部最優解,這是我們不想要的情況。當然有很多方法可以解決局部最優解問題,這里我不打算進一步討論。



      因此,由于地形的性質(或機器學習中函數的性質),梯度下降很容易卡在局部最小值。但是,當你找到一個特殊的山地形狀(像一個碗,在機器學習的術語中稱為凸函數),那么算法始終能夠找到最優值。你可以將想象的這條河流可視化。在機器學習中,這些特殊的地形(也稱為凸函數)總是需要優化。另外,你從山頂開始(即函數的初始值)的位置不同,最終你到達山底的路徑也完全不同。同樣,根據河流的流淌速度(即梯度下降算法的學習速率或步長),你可能會以不同的方式到達目的地。你是否會陷入或避免一個坑(局部最小),都會被這兩個標準影響。


      3—學習速率衰減(Learning Rate Decay)



      調整學習速率來進行隨機梯度下降中的過程優化,可以提高性能并減少訓練時間。有時這被稱為學習速率退火或自適應學習速率。隨著時間的推移而降低學習速率是訓練過程中最簡單也是最常用的自適應學習速率技術。在訓練初期使用較大的學習速率值,可以對學習速率進行大幅調整;在訓練后期,降低學習速率,使模型以一個較小的速率進行權重的更新。這種技術在早期可以快速學習獲得一些較好的權重,并在后期對權重進行微調。


      兩個流行和簡單的學習速率衰減方法如下:


      • 在每個環節逐步降低學習速率

      • 在特定時期進行標記,使用大幅下降來降低學習速率


      4-Dropout


      擁有大量參數的深度神經網絡是非常強大的機器學習系統。然而,在這樣的網絡中過度擬合是一個很嚴重的問題。并且大型網絡的運行速度很慢,使得在測試階段,通過結合多個不同的大型神經網絡的預測來解決過擬合問題是很困難的。Dropout技術可以用來解決這個問題。



      其關鍵的思想是,在訓練過程中隨機地從神經網絡中刪除單元(以及相應的連接),進而防止單元間的過度適應。在訓練過程中,在指數級的不同“稀疏”網絡中剔除樣本。在測試階段,很容易通過使用有較小權重的單解開網絡(untwinednetwork),將這些稀疏網絡的預測取平均進而逼近結果。這能有效地避免過擬合,并且相比其它的正則化方法能得到更大的性能提升。中,Dropout技術已經被證明在計算機視覺、語音識別、文本分類和計算生物學等領域的監督學習任務中能提升神經網絡的性能,并在多個基準測試數據集中達到頂尖結果。


      5-最大池化


      最大池化是一種基于樣本的離散化方法。目標是對輸入表征(圖像、隱藏層的輸出矩陣等)進行下采樣,降低維度并且允許對包括在子區域中的特征進行假設。



      通過提供表征的抽象形式,這種方法在某種程度上有助于解決過擬合。同樣,它也通過減少學習參數的數量和提供基本的內部表征的轉換不變性來減少計算量。最大池化是通過將最大過濾器應用于通常不重疊的初始表征子區域來完成的。


      6-批量歸一化(Batch Normalization)


      當然,包括深度網絡在內的神經網絡需要仔細調整權重初始化和學習參數。批量歸一化能使這個過程更簡單。


      權重問題:

      • 無論哪種權重初始化,比如:隨機或按經驗選擇,這些權重值都和學習權重差別很大。考慮一個小批量的數據集,在最初時,對于所需的特征激活可能會有很多異常值。

      • 深度神經網絡本身就具有病態性,即初始層的微小變動就會導致下一層的巨大變化。


      在反向傳播過程中,這些現象會導致梯度的偏移,這意味著在學習權重以產生所需輸出之前,梯度必須補償異常值。而這將導致需要額外的時間才能收斂。



      批量歸一化使這些梯度從離散到正常值,并在小批量范圍內(通過歸一化)向共同目標流動。


      學習率問題:

      通常來說,學習率保持較低,使得只有一小部分的梯度用來校正權重,原因是異常激活的梯度不應該影響已經學習好的權重。通過批量歸一化,這些異常值激活的可能性會被降低,從而可以使用更大的學習率加速學習過程。


      7-長短期記憶(Long short-Term Memory)


      長短期記憶網絡(LSTM network)的神經元和其他遞歸神經網絡(recurrent neural network)中常用神經元在以下三個方面有所不同:


      • 它對神經元的輸入有決定權;

      • 它對上一個時間步中計算內容的存儲有決定權;

      • 它對將輸出傳遞到下一個時間步的時間有決定權。


      LSTM的強大在于它能只基于當前的輸入就決定以上所有的值。請看下方的圖表:



      當前時間標記處的輸入信號x(t)決定了上述所有3個點。輸入門(input gate)決定了第1點,遺忘門(forget gate)決定了第2點,輸出門(output gate)決定了第3點。只依賴輸入就能完成所有這三項決定。這受到了大腦工作機制的啟發,大腦可以基于輸入來處理突然的上下文切換。


      8-Skip-gram


      詞嵌入模型的目標是為每個詞匯項學習一個高維密集表征,其中嵌入向量之間的相似性顯示了相應詞語之間的語義或句法相似性。Skip-gram是一種學習詞嵌入算法的模型。


      skip-gram 模型(和很多其它詞嵌入模型)背后的主要思想是:如果兩個詞匯項有相似的上下文,則它們是相似的。


      換種說法,假設你有一個句子,比如“cats are mammals“,如果用”dogs“替換”cats“,該句子仍然是有意義的。因此在這個例子中,”dogs“和”cats“有相似的上下文(即”are mammals“)。


      基于上述假設,我們可以考慮一個上下文的窗口(一個包含K個連續項的窗口)。那么你應該跳過其中一個詞,試著學習一個除了跳過的這個詞以外,還可以預測跳過的詞的神經網絡。因此,如果兩個詞在大語料庫中反復共享相似的上下文,那么這些詞的嵌入向量將具有相似的向量。


      9-連續詞袋模型(Continuous Bag of Words)


      在自然語言處理中,我們希望學習將文檔中的每一個單詞表示為一個數值向量,使得出現在相似上下文中的單詞有非常相似或相近的向量。在連續詞袋模型中,我們的目標是能利用圍繞一個特定單詞的上下文,預測這個特定單詞。


      我們通過在一個大的語料庫中抽取大量的句子來做到這一點,每次看到一個單詞時,我們同時抽取它的上下文。然后我們將上下文單詞輸入到一個神經網絡,并預測在這個上下文中心的單詞。


      當我們有成千上萬個這樣的上下文詞匯和中心詞時,我們就有了一個神經網絡數據集的實例。我們訓練這個神經網絡,在經過編碼的隱藏層的最終輸出中,我們得到了表示特定單詞的嵌入式表達。當我們對大量的句子進行訓練時也能發現,類似語境中的單詞恰巧得到相似的向量。


      10-遷移學習(Transfer Learning)


      讓我們考慮圖像到底是如何流經卷積神經網絡的。假設你有一張圖像,對其應用卷積,并得到像素的組合作為輸出。假設這些輸出是邊緣,再次應用卷積,那么現在輸出將是邊或線的組合。然后再次應用卷積,此時的輸出將是線的組合,以此類推……你可以把它看作是在每一層尋找一個特定的模式。神經網絡的最后一層往往會變得非常特異化。如果你基于ImageNet進行訓練,那么神經網絡的最后一層大概就是在尋找兒童、狗或者飛機等整體圖案。再往后倒退幾層,你可能會看到網絡在尋找眼睛、耳朵、嘴巴或者輪子等組成部件。


      深度卷積神經網絡中的每一層都逐步建立起越來越高層次的特征表征,最后幾層往往是專門針對模型輸入端的任何數據。另一方面,前面的層則更為通用,是在一個大類圖片中有找到許多簡單的模式。


      遷移學習就是當你在一個數據集上訓練CNN時,切掉最后一層,在不同的數據集上重新訓練模型的最后一層。直觀地說,你正在重新訓練模型以識別不同的高級特征。因此,訓練時間會減少很多,所以當你沒有足夠的數據或者訓練需要太多的資源時,遷移學習是一個有用的工具。


      這篇文章簡單介紹了深度學習的一些方法,如果你想要了解更多、更深層次的東西,建議你繼續閱讀以下資料:


      Andrew Beam’s “Deep Learning 101” (深度學習基本) : 

      http://beamandrew./deeplearning/2017/02/23/deep_learning_101_part1.html


      Andrey Kurenkov’s “A Brief History of Neural Nets and Deep Learning”(神經網絡和深度學習簡史):

      http://www./writing/a-brief-history-of-neural-nets-and-deep-learning/


      Adit Deshpande’s “A Beginner’s Guide to Understanding Convolutional Neural Networks”(理解卷積神經網絡的入門指南):

      https://adeshpande3./adeshpande3./A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/


      Chris Olah’s “Understanding LSTM Networks”(了解長短期記憶LSTM神經網絡):

      http://colah./posts/2015-08-Understanding-LSTMs/


      Algobean’s “Artificial Neural Networks”(人工神經網絡):

      https:///2016/03/13/how-do-computers-recognise-handwriting-using-artificial-neural-networks/


      Andrej Karpathy’s “The Unreasonable Effectiveness of Recurrent Neural Networks”(遞歸神經網絡的神奇有效性):

      http://karpathy./2015/05/21/rnn-effectiveness/


      深度學習是非常注重技術實踐的。本文中對每一個新想法都沒有太多具體的解釋,對于大多數新想法都附帶了實驗結果來證明它們能夠運作。學習深度學習就像玩樂高,掌握樂高和掌握其他藝術一樣具有挑戰性,但是入門樂高可是相對容易很多的。


      原文鏈接:https:///the-10-deep-learning-methods-ai-practitioners-need-to-apply-885259f402c1


      好課推薦

      使用Keras快速構造深度學習模型實戰

      Q:如果我已經在使用TensorFlow,為什么還要關心Keras?


      A:Keras提供了一個更簡單,更快速的方法來構建和訓練TensorFlow中的模型,而且性能沒有成本,因為模型仍然由同一個TensorFlow引擎運行。

      所以如果你關心自己的時間和生產力,那你應該關心Keras。

               

      —Keras作者Fran?ois Chollet



      志愿者介紹

      回復志愿者”加入我們

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

        0條評論

        發表

        請遵守用戶 評論公約

        類似文章 更多

        主站蜘蛛池模板: 无码高潮少妇毛多水多水免费| 久久久久久久久久久免费精品| 国产尤物精品自在拍视频首页| 日韩欧美不卡一卡二卡3卡四卡2021免费 | 午夜福利高清在线观看| 亚洲精品无码久久千人斩| 欧美乱妇高清无乱码免费| jizzjizz少妇亚洲水多| 秋霞鲁丝片成人无码| 国产精品女视频一区二区| 久久月本道色综合久久| 国产精品国产精品国产专区不卡| 亚洲一区二区精品另类| 亚洲男女内射在线播放| 国产伦码精品一区二区| 无码欧亚熟妇人妻AV在线外遇| 精品无码国产污污污免费| 强开少妇嫩苞又嫩又紧九色| 午夜免费福利小电影| 亚洲AV永久无码精品秋霞电影影院| 国内精品久久久久影院网站| 激情97综合亚洲色婷婷五| 色欲国产精品一区成人精品| 国产AV激情久久无码天堂| 国产小受被做到哭咬床单GV| 亚洲欧洲自拍拍偷午夜色无码| 最新国产麻豆AⅤ精品无码 | 日韩精品无码区免费专区| 国产香蕉一区二区三区在线视频| 公天天吃我奶躁我的在线观看| 在线天堂最新版资源| 国产熟睡乱子伦视频在线播放| 亚洲国产成人久久久网站| 国产成人欧美日本在线观看| 国产精品自拍午夜福利| 色8激情欧美成人久久综合电影| 又粗又紧又湿又爽的视频| 国产999久久高清免费观看| 又大又硬又爽18禁免费看| 精品国产一区二区三区2021 | 亚洲香蕉网久久综合影视|