成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AI從業者需要應用的10種深度學習方法

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

在過去十年中,人們對機器學習的興趣激增。幾乎每天,我們都可以在各種各樣的計算機科學課程、行業會議、華爾街日報等等看到有關機器學習的討論。在所有關于機器學習的討論中,許多人把機器學習能做的事情和他們希望機器學習做的事情混為一談。從根本上講,機器學習是使用算法從原始數據中提取信息,并在某種類型的模型中表示這些信息。我們使用這個模型來推斷還沒有建模的其他數據。

神經網絡是機器學習的一種模型,它們至少有50年歷史了。神經網絡的基本單元是節點(node),基本上是受哺乳動物大腦中的生物神經元啟發。神經元之間的連接也以生物的大腦為模型,這些連接隨著時間的推移而發展的方式是為“訓練”。

在20世紀80年代中期和90年代初期,許多重要的模型架構進步都是在神經網絡中進行的。然而,為了獲得良好性能所需的時間和數據越來越多,這極大的降低了研究人員的興趣。在21世紀初期,計算能力呈指數級增長,研究人員看到了計算機技術的“寒武紀爆發”。作為該領域的一個重要競爭者——深度學習,因為計算能力的爆炸式增長,贏得了許多重要的機器學習競賽。截至目前,這種趨勢仍然沒有減退;今天,我們看到機器學習的每個角落都提到了深度學習。

最近,我開始閱讀有關該深度學習的學術論文。根據我的研究,以下是一些對該領域的發展產生巨大影響的出版物:

  • 紐約大學基于梯度的學習應用于文檔識別(1998),它將卷積神經網絡引入機器學習世界。
  • 多倫多大學的DeepBoltzmann Machines(2009),它為Boltzmann機器提供了一種新的學習算法,包含許多隱藏變量層。
  • 斯坦福和谷歌使用大規模無監督學習構建高級功能(2012),解決了僅使用未標記數據構建高級,類特定功能檢測器的問題。
  • Berkeley的DeCAF-一種用于通用視覺識別的深度卷積激活功能(2013),它發布了DeCAF,這是一種深度卷積激活功能的開源實現,以及所有相關的網絡參數,使視覺研究人員能夠進行深度實驗跨越一系列視覺概念學習范例的表示。
  • DeepMind使用Deep ReinforcementLearning(2016)播放Atari,它提供了***個深度學習模型,可以使用強化學習直接從高維感覺輸入成功學習控制策略。

通過研究和學習論文,我學到了很多關于深度學習的豐富知識。在這里,我想分享AI工程師可以應用于機器學習問題的10種強大的深度學習方法。但首先,讓我們來定義深度學習是什么。深度學習對于許多人來說是一個挑戰,因為它的形式在過去十年中逐漸發生了改變。為了向各位更好的說明深層學習的地位,下圖說明了人工智能,機器學習和深度學習之間關系的概念。

AI從業者需要應用的10種深度學習方法

人工智能領域很廣泛,并且已經存在了很長時間。深度學習是機器學習領域的一個子集,而機器學習只是人工智能的一個子領域。將深度學習網絡與之前的前饋多層網絡進行區分:

  • 深度學習比以前的網絡更多的神經元;
  • 深度學習中有更復雜的連接層的方式;
  • “寒武紀爆炸”的提供的計算能力;
  • 深度學習可以自動進行特征提取。

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

深度學習可以被定義為具有大量參數和層數的神經網絡:

  • 無人監督的預訓練網絡;
  • 卷積神經網絡;
  • 循環神經網絡;
  • 遞歸神經網絡。

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

1-反向傳播

Back-prop反向傳播只是一種簡單計算函數的偏導數的方法,它具有函數組合的形式(如神經網絡中)。當你使用基于梯度的方法解決***化問題(梯度下降只是其中之一)時,你希望在每次迭代時計算函數漸變,這個時候它便可以發揮作用。

AI從業者需要應用的10種深度學習方法

對于神經網絡,其目標函數具有組合的形式。你如何計算梯度?有兩種常見的方法可以做到:(i)分析微分法。如果你知道函數的形式,你只需使用鏈式規則(基本微積分)計算導數。(ii)有限差分的近似微分。該方法在計算上是昂貴的,因為評估函數的數量是O(N),其中N是參數的數量。與解析微分相比,這種方法的計算成本是昂貴的。在調試時,通常使用有限差分驗證反向傳播的執行效果。

2-隨機梯度下降

想象梯度下降的直觀方式是想象一條源自山頂的河流的路徑。梯度下降的目標正是河流努力實現的目標,即從山頂流到***點。

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

AI從業者需要應用的10種深度學習方法

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

3-學習速率衰減

AI從業者需要應用的10種深度學習方法

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

兩種流行且易于使用的學習率衰減如下:

  • 在每個環節逐漸降低學習率。
  • 在特定時期使用大幅下降來降低學習速率。

4-Dropout

具有大量參數的深度神經網絡是非常強大的機器學習系統。然而,過度擬合是這種網絡中的嚴重問題。大型網絡使用起來也很慢,因此在測試時將許多不同的大型神經網絡的預測結合起來很難處理過度擬合。Dropout就是一種解決此問題的技術。

AI從業者需要應用的10種深度學習方法

關鍵思想是在訓練期間從神經網絡中隨機刪除單元及其連接,這可以防止單元間的過度適應。在訓練期間,從指數數量的不同“稀疏”網絡中抽取樣本。在測試時,通過簡單地使用具有較小權重的單解開網絡(untwinednetwork),很容易近似平均所有這些稀疏網絡以達到預測的效果。這顯著減少了過度擬合,并且比其他正則化方法表現的更好。Dropout已被證明可以改善神經網絡在計算機視覺,語音識別,文檔分類和計算生物學等領域的監督學習任務的性能,并在許多基準數據集上獲得***進的結果。

5-***池化

***池化是基于樣本的離散化過程。目的是對輸入表示(圖像、隱藏層輸出矩陣等)進行下采樣,通過降低其維數并允許對包含在子區域中的特征進行合并。

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

6-批量歸一化

當然,包括深度網絡在內的神經網絡需要仔細調整權重初始化和學習參數。批量歸一化有助于讓中國過程更簡單一點。

權重問題:

  • 無論那種權重的初始化,隨機還是憑經驗選擇,它們都和學習權重差別很大。考慮一個小批量數據集,在最初的時期,在特征激活時都會有許多異常值。
  • 深度神經網絡本身脆弱的,即初始層的微小擾動都會導致后面層很大的變化。

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

AI從業者需要應用的10種深度學習方法

批量歸一化將這些梯度從離散規則化為正常值,并在小批量的范圍內朝向共同目標(通過歸一化它們)流動。

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

7-長短期記憶:

LSTM網絡具有以下三個方面,使其與遞歸神經網絡中的常規神經元區分開來:

  • 它可以控制何時讓輸入進入神經元。
  • 它可以控制何時記住上一個時間步驟中計算的內容。
  • 它可以控制何時將輸出傳遞給下一個時間戳。

LSTM的優點在于它根據當前輸入本身決定所有這些,如下圖所示:

AI從業者需要應用的10種深度學習方法

當前時間戳處的輸入信號x(t)決定所有上述3個點。輸入門決定點1.遺忘門在點2上做出決定,輸出門在點3上做出決定。輸入門能單獨能夠做出這三個決定。這受到了我們的大腦是如何工作的啟發,并且可以處理突然的上下文切換。

8-Skip-gram:

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

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

AI從業者需要應用的10種深度學習方法

換句話說,假設你有一句話,比如“貓是哺乳動物”。如果你使用術語“狗”而不是“貓”,句子仍然是一個有意義的句子。因此在該示例中,“狗”和“貓”可以共享相同的背景(即“是哺乳動物”)。

基于上述假設,你可以考慮一個上下文窗口(一個包含k個連續術語的窗口)。然后你應該跳過其中一個單詞,并嘗試學習除了跳過的一個術語之外的所有術語并預測跳過的術語的神經網絡。因此如果兩個單詞在大型語料庫中重復地共享相似的上下文,那些這些術語的嵌入向量將具有相似的向量。

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

在自然語言處理問題中,我們希望學習將文檔中的每個單詞表示為數字向量,使得出現在相似上下文中的單詞具有彼此接近的向量。在連續詞袋模型中,目標是能夠使用圍繞特定單詞的上下文并預測特定單詞。

AI從業者需要應用的10種深度學習方法

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

當我們有數千個這樣的上下文單詞和中心單詞時,我們就有一個神經網絡數據集的實例。我們訓練神經網絡,在經過編碼的隱藏層的輸出表示特定單詞的嵌入。碰巧的是,當我們在大量句子上訓練時,類似上下文中的單詞會得到類似的向量。

10-遷移學習:

考慮下圖像是如何通過卷積神經網絡的。假設你有一個圖像,你應用卷積,你得到像素組合作為輸出。如果碰到了邊緣,則再次應用卷積,所以現在輸出是邊或線的組合。然后再次應用卷積,此時的輸出將是線的組合,依此類推。你可以將其視為每個層尋找特定模式。神經網絡的***一層往往變得非常專業。如果你正在使用ImageNet,那么你的網絡***一層將尋找兒童或狗或飛機或其他什么。再后退幾層你可能會看到網絡正在尋找眼睛或耳朵或嘴或輪子。

AI從業者需要應用的10種深度學習方法

深度CNN中的每個層逐漸建立了更高和更高級別的特征表征。***幾層往往專注于你輸入模型的任何數據。另一方面,早期的圖層更通用,是在更大類的圖片中找到很多簡單的模式。

遷移學習是指你在一個數據集上訓練CNN,切斷***一層,在其他不同的數據集上重新訓練模型的***一層。直觀地說,你正在重新訓練模型以識別不同的更高級別的功能。因此,模型訓練的時間會大大減少,因此當你沒有足夠的數據或者訓練所需的太多資源時,遷移學習是一種有用的工具。

本文僅顯示這些方法的一般概述。我建議閱讀以下文章以獲得更詳細的解釋:

Andrew Beam的“深度學習101”;

資源鏈接:
http://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html

安德烈庫林科夫的“神經網絡與深度學習簡史”;

資源鏈接:
http://www.andreykurenkov.com/writing/a-brief-history-of-neural-nets-and-deep-learning/

Adit Deshpande的“理解卷積神經網絡的初學者指南”;

資源鏈接:

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

克里斯奧拉的“理解LSTM網絡”;

資源鏈接:
http://colah.github.io/posts/2015-08-Understanding-LSTMs/

Algobean的“人工神經網絡”;

資源鏈接:
https://algobeans.com/2016/03/13/how-do-computers-recognise-handwriting-using-artificial-neural-networks/

Andrej Karpathy的“回歸神經網絡的不合理有效性”;

資源鏈接:
http://karpathy.github.io/2015/05/21/rnn-effectiveness/

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

責任編輯:未麗燕 來源: 云棲社區
相關推薦

2017-11-24 14:32:29

反向傳播遷移學習人工智能

2017-03-21 10:44:00

AI深度學習

2010-12-01 11:44:56

IT從業者

2020-07-15 07:42:12

人工智能

2017-08-12 08:56:40

深度學習計算機視覺架構

2020-03-04 14:16:45

安全從業者甲方乙方

2018-02-25 05:23:11

區塊鏈求職招聘

2015-06-24 14:29:07

PaaSPaaS困境

2015-07-07 16:08:10

智者傳道互聯網從業者

2017-11-20 13:46:10

AI深度學習方法

2011-06-13 20:44:06

SEO

2017-02-15 20:05:28

網絡安全工具信息安全

2010-11-24 10:59:40

跳槽

2014-07-28 09:47:16

游戲游戲收入游戲從業

2018-11-19 07:10:04

安全從業者網絡安全信息安全

2017-12-01 17:35:02

2009-01-12 14:47:57

經濟 互聯網

2013-04-11 14:58:22

2025-03-14 09:00:00

Akamai云計算安全
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本午夜免费福利视频 | 亚洲精品视频免费 | 亚洲精久久久 | 国产精品欧美精品日韩精品 | 夜夜爽99久久国产综合精品女不卡 | 亚洲一区 | 狠狠操电影 | 国产1区在线 | 精品国产乱码久久久久久88av | 国产精品久久国产精品 | 国产精品99久久久久久宅男 | 91麻豆精品国产91久久久更新资源速度超快 | 欧美成人黄色小说 | 成人精品一区二区 | 日本免费小视频 | 日本高清精品 | 欧美一区二区三区在线观看视频 | 亚洲视频在线一区 | 国产午夜精品理论片a大结局 | 国产在线观| 99在线免费观看视频 | 国产精品久久久久久久久久三级 | 欧美亚洲国产精品 | 精品视频一区二区 | av中文字幕在线播放 | 九九热免费在线观看 | 久久久精品一区 | 日韩在线视频一区 | 欧美大片一区二区 | 91成人午夜性a一级毛片 | 91色啪| 日本在线免费观看 | 99热.com| 福利二区| 欧美电影免费网站 | 久久久视 | 中文在线一区 | 亚洲精品久久久一区二区三区 | 久草日韩| 日日操视频 | 99精品国产一区二区青青牛奶 |