版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
具有啟發(fā)性的十種深度學習方法不管是AI也好,其他學科也好,學習、研究的過程中不斷反思學科的歷史,總結(jié)學科的發(fā)展現(xiàn)狀,找出重要的理念,總能讓人能“吾道一以貫之”。軟件工程師JamesLe近期根據(jù)他研究的經(jīng)驗總結(jié)出了AI研究必須要知道的十種深度學習方法,非常具有啟發(fā)性。The10DeepLearningMethodsAIPractitionersNeedtoApply人們對機器學習的興趣在過去十年經(jīng)歷了爆炸式的發(fā)展。計算機科學項目中、業(yè)界會議中、媒體報道中,你都能夠看到機器學習的影子。但是似乎所有關(guān)于機器學習的討論中,人們常常會把AI能做什么和他們希望AI能做什么混為一談。從根本上來講,機器學習其實就是使用算法從原始數(shù)據(jù)中提取信息,并以某種類型的模型表示出來;然后我們使用這個模型來推斷我們尚未建模的其他數(shù)據(jù)。神經(jīng)網(wǎng)絡作為機器學習的一類模型,它們已經(jīng)存在了至少50年。神經(jīng)網(wǎng)絡的基本單元是節(jié)點,大致上模仿了哺乳動物大腦中的生物神經(jīng)元的節(jié)點;節(jié)點之間的鏈接(也是模仿生物大腦)隨著時間的推移(訓練)而演化。在上世紀八十年代中期和九十年代早期,許多重要的神經(jīng)網(wǎng)絡構(gòu)架都已經(jīng)做出了,不過要想獲得好的結(jié)果還需要足夠強大的計算能力和大體量的數(shù)據(jù)集,這些當時在當時很不理想,所以也導致人們對機器學習的熱情逐漸冷淡了下來。在21世紀初,計算機的計算能力呈現(xiàn)了指數(shù)級的增長——業(yè)界見證了計算機技術(shù)的“寒武紀大爆發(fā)”,這在之前幾乎是不可想象的。深度學習作為這個領域中一個重要的架構(gòu),在計算能力爆發(fā)式增長的十年中,贏得了許多重要的機器學習競賽。這個紅利的熱度直到今年仍未降溫;今天,我們看到在機器學習的每個角落里都會提到深度學習。為了更深入地了解這些,我參加了一門“深度學習”課程,并開發(fā)了一個圖像識別的神經(jīng)網(wǎng)絡以及基于循環(huán)神經(jīng)網(wǎng)絡(RNN)和長短項記憶(LSTM)的自然語言處理??梢匀ノ业腉ithub倉庫中查看這些代碼:/khanhnamle1994/deep-learning最近,我也開始閱讀一些深度學習方面的學術(shù)論文。下面這些是我收集到的幾篇對深度學習領域的發(fā)展有重大影響的幾篇論文:1、Gradient-BasedLearningAppliedtoDocumentRecognition(1998)意義:向機器學習世界引進了卷積神經(jīng)網(wǎng)絡作者:YannLeCun,LeonBottou,YoshuaBengio,andPatrickHaffner2、DeepBoltzmannMachines(2009)意義:為玻爾茲曼機提出了一種新的學習算法,其中包含許多隱藏變量層。作者:RuslanSalakhutdinov,GeoffreyHinton3、BuildingHigh-LevelFeaturesUsingLarge-ScaleUnsupervisedLearning(2012)意義:解決了僅從未標記的數(shù)據(jù)構(gòu)建高層次、特定類別的特征檢測器的問題。作者:QuocV.Le,Marc’AurelioRanzato,RajatMonga,MatthieuDevin,KaiChen,GregS.Corrado,JeffDean,AndrewY.Ng4、DeCAF?—?ADeepConvolutionalActivationFeatureforGenericVisualRecognition(2013)意義:釋放了一個深度卷積激活特征的開源實現(xiàn)——DeCAF,以及所有相關(guān)的網(wǎng)絡參數(shù),使視覺研究人員能夠深入地在一系列視覺概念學習范例中進行實驗。作者:JeffDonahue,YangqingJia,OriolVinyals,JudyHoffman,NingZhang,EricTzeng,TrevorDarrell5、PlayingAtariwithDeepReinforcementLearning(2016)意義:提供了第一個可以使用強化學習從高維感官輸入中直接學習控制策略的深度學習模型。作者:VolodymyrMnih,KorayKavukcuoglu,DavidSilver,AlexGraves,IoannisAntonoglou,DaanWierstra,MartinRiedmiller(DeepMind團隊)在這些學習和研究中,我發(fā)現(xiàn)大量非常有意思的知識點。在這里我將分享十個深度學習的方法,AI工程師可能會將這些應用到他們的機器學習問題當中。不過,首先先讓我們來定義一下什么是“深度學習”。對很多人來說,給“深度學習”下一個定義確實很有挑戰(zhàn),因為在過去的十年中,它的形式已經(jīng)慢慢地發(fā)生了很大的變化。先來在視覺上感受一下“深度學習”的地位。下圖是AI、機器學習和深度學習三個概念的一個關(guān)系圖。AI的領域要相對較廣泛,機器學習是AI的一個子領域,而深度學習是機器學習領域中的一個子集。深度學習網(wǎng)絡與“典型”的前饋多層網(wǎng)絡之間是有一些區(qū)別的,如下:深度學習網(wǎng)絡比之前的網(wǎng)絡有更多的神經(jīng)元深度學習網(wǎng)絡具有更復雜的連接層的方式深度學習網(wǎng)絡需要用強大的計算能力來訓練深度學習網(wǎng)絡能夠進行自動特征提取因此深度學習可以被定義為在以下四個基本網(wǎng)絡框架中擁有大量參數(shù)和層的神經(jīng)網(wǎng)絡:無監(jiān)督預訓練網(wǎng)絡(UnsupervisedPre-trainedNetworks)卷積神經(jīng)網(wǎng)絡(ConvolutionalNeuralNetworks)循環(huán)神經(jīng)網(wǎng)絡(RecurrentNeuralNetworks)遞歸神經(jīng)網(wǎng)絡(RecursiveNeuralNetworks)在這篇文章中,我主要對后三個框架比較感興趣。卷積神經(jīng)網(wǎng)絡基本上就是用共享權(quán)重在空間中進行擴展的標準神經(jīng)網(wǎng)絡。設計CNN主要是為了通過內(nèi)部卷積來識別圖片,內(nèi)部卷積可以看到待識別物體的邊。循環(huán)神經(jīng)網(wǎng)絡基本上是在時間上進行擴展的標準神經(jīng)網(wǎng)絡,因為邊進入下一個時間步,而不是在同一時間步進入下一個層。設計RNN主要是為了識別序列,例如語音信號或者文本。它里面的循環(huán)意味著網(wǎng)絡中存在短暫的記憶。遞歸神經(jīng)網(wǎng)絡更類似于分層網(wǎng)絡,其中輸入序列沒有真正的時間面,而是輸入必須以樹狀方式分層處理。以下10種方法可以應用于所有這些體系結(jié)構(gòu)。1、反向傳播反向傳播是“誤差反向傳播”的簡稱,它是一種計算函數(shù)(在神經(jīng)網(wǎng)絡中以函數(shù)形式存在)偏微分的方法。當你要用一個基于梯度的方法來解決一個最優(yōu)問題時(注意梯度下降只是解決這類問題的一種方法),你希望在每一次迭代中計算函數(shù)梯度。對于神經(jīng)網(wǎng)絡而言,目標函數(shù)具有合成的形式。那么如何計算梯度呢?一般情況下有兩種常見的方法:微分分析法。當你知道這個函數(shù)的形式時,你只需要用鏈式法則計算導數(shù)即可;用有限差分方法來近似微分。這種方法的計算量很大,因為函數(shù)評估的數(shù)量是O(N),其中N是參數(shù)的數(shù)量。與微分分析法相比,這是比較昂貴的。不過,有限差分通常在調(diào)試時驗證后端實現(xiàn)。2、隨機梯度下降一個直觀理解梯度下降的方法是去想象一條溯源山頂?shù)暮恿?。這條河流會沿著山勢梯度的方向流向山麓下的最低點。如果讓人來走,可能就不一樣了,你可能會先隨便選一個方向,然后沿著這個方向的梯度向下走;過一會兒再隨機換一個方向向下走;最后你發(fā)現(xiàn)自己差不多也到了谷底了。數(shù)學化的理解就是:隨機梯度下降主要用來求解類似于如下求和形式的優(yōu)化問題:梯度下降法:當n很大時,每次迭代計算所有的梯度會非常耗時。隨機梯度下降的想法就是每次在Deltaf_i中隨機選取一個計算代替上面的Deltaf_i,以這個隨機選取的方向作為下降的方向。這樣的方法反而比梯度下降能夠更快地到達(局部)最優(yōu)解。3、學習率衰減在訓練模型的時候,通常會遇到這種情況:我們平衡模型的訓練速度和損失(loss)后選擇了相對合適的學習率(learningrate),但是訓練集的損失下降到一定的程度后就不在下降了,比如trainingloss一直在0.7和0.9之間來回震蕩,不能進一步下降。如下圖所示:遇到這種情況通??梢酝ㄟ^適當降低學習率(learningrate)來實現(xiàn)。但是,降低學習率又會延長訓練所需的時間。學習率衰減(learningratedecay)就是一種可以平衡這兩者之間矛盾的解決方案。學習率衰減的基本思想是:學習率隨著訓練的進行逐漸衰減。學習率衰減基本有兩種實現(xiàn)方法:線性衰減。例如:每過5個epochs學習率減半;指數(shù)衰減。例如:每過5個epochs將學習率乘以0.1。4、dropout在當前的大規(guī)模神經(jīng)網(wǎng)絡中有兩個缺點:費時;容易過擬合Dropout可以很好地解決這個問題。Dropout說的簡單一點就是在前向傳導的時候,讓某個神經(jīng)元的激活值以一定的概率p停止工作,示意圖如下:每次做完dropout,相當于從原始的網(wǎng)絡中找到一個更瘦的網(wǎng)絡。Hinton在其論文中做了這樣的類比,無性繁殖可以保留大段的優(yōu)秀基因,而有性繁殖則將基因隨機拆了又拆,破壞了大段基因的聯(lián)合適應性;但是自然選擇了有性繁殖,物競天擇,適者生存,可見有性繁殖的強大。dropout也能達到同樣的效果,它強迫一個神經(jīng)單元,和隨機挑選出來的其他神經(jīng)單元共同工作,消除減弱了神經(jīng)元節(jié)點間的聯(lián)合適應性,增強了泛化能力。5、maxpooling池化(Pooling)是卷積神經(jīng)網(wǎng)絡中另一個重要的概念,它實際上是一種形式的向下采樣。有多種不同形式的非線性池化函數(shù),而其中“最大池化(Maxpooling)”是最為常見的。它是將輸入的圖像劃分為若干個矩形區(qū)域,對每個子區(qū)域輸出最大值。直覺上,這種機制能夠有效地原因在于,在發(fā)現(xiàn)一個特征之后,它的精確位置遠不及它和其他特征的相對位置的關(guān)系重要。池化層會不斷地減小數(shù)據(jù)的空間大小,因此參數(shù)的數(shù)量和計算量也會下降,這在一定程度上也控制了過擬合。通常來說,CNN的卷積層之間都會周期性地插入池化層。6、批標準化包括深度網(wǎng)絡在內(nèi)的神經(jīng)網(wǎng)絡需要仔細調(diào)整權(quán)重初始化和學習參數(shù)。批標準化使這些變得輕松許多。權(quán)重問題:無論權(quán)重的初始化如何,是隨機的還是經(jīng)驗性的選擇,它們離學習權(quán)重都會很遠。考慮一個小批量,初期在所需的特征激活方面會有很多異常值。深層神經(jīng)網(wǎng)絡本身是病態(tài)的,初始層中的微小擾動都會導致后面層的非常大的變化。在反向傳播過程中,這些現(xiàn)象會導致梯度彌散。這就意味著在學習權(quán)重產(chǎn)生所需要的輸出前,必須對梯度的異常值進行補償,這將導致需要額外的時段來收斂。批量歸一化使這些梯度從分散到正常值并在小批量范圍內(nèi)流向共同目標(通過歸一化)。學習率問題:一般來說,學習率需要保持較低的值,使得只有一小部分的梯度來校正權(quán)重,原因是要使異常激活的梯度不影響已學習到的激活。通過批量標準化,可以減少這些異常激活,因此也就可以使用更高的學習率來加速學習過程。7、longshort-termmemoryLSTM網(wǎng)絡具有以下三個方面,使其與循環(huán)神經(jīng)網(wǎng)絡中的常見神經(jīng)元不同:它能夠決定何時讓輸入進入神經(jīng)元;它能夠決定何時記住上一個時間步中計算的內(nèi)容;它決定何時讓輸出傳遞到下一個時間步。LSTM的美妙之處在于它能夠根據(jù)當前的輸入本身來決定所有這些。所以你看下面的圖表:當前時間的輸入信號x(t)決定所有上述3個點。輸入門決定點1,遺忘門決定點2,輸出門決定點3。任何一條輸入都能夠采取所有這三個決定。這種設計其實是受到了我們大腦如何工作的啟發(fā),并且可以基于輸入來處理突然的上下文切換。8、skip-gram詞嵌入模型的目標是為每個詞項學習一個高維密集表示,其中嵌入向量之間的相似性顯示了相應詞之間的語義或句法相似性。Skip-gram是一個學習詞嵌入算法的模型。skip-gram模型(以及許多其他的詞語嵌入模型)背后的主要思想如下:兩個詞項相似,如果它們共享相似的上下文。換句話說,假設你有一個句子,例如“貓是哺乳動物”;如果你用“狗”而不是“貓”,這個句子還是一個有意義的句子。因此在這個例子中,“狗”和“貓”可以共享相同的上下文(即“是哺乳動物”)。基于上述假設,你可以考慮一個上下文窗口(一個包含k個連續(xù)項的窗口),然后你跳過其中一個單詞,試著去學習一個能夠得到除跳過項外的所有項的神經(jīng)網(wǎng)絡,并預測跳過的這個項。如果兩個詞在一個大語料庫中反復共享相似的語境,則這些詞的嵌入向量將具有相近的向量。9、連續(xù)詞袋在自然語言處理問題中,我們希望學習將文檔中的每個單詞表示為一個數(shù)字的向量,使得出現(xiàn)在相似的上下文中的單詞具有彼此接近的向量。在連續(xù)的單詞模型中,目標是能夠使用圍繞特定單詞的上下文并預測特定單詞。我們通過在一個大的語料庫中采取大量的句子來做到這一點,每當我們看到一個單詞時,我們就提取周圍的單詞。然后,我們將上下文單詞輸入到一個神經(jīng)網(wǎng)絡,并預測在這個上下文中間的單詞。當我們有成千上萬個這樣的上下文單詞和中間詞時,我們就有一個神經(jīng)網(wǎng)絡數(shù)據(jù)集的實例。我們訓練神經(jīng)網(wǎng)絡,最后編碼的隱藏層輸出表示了特定單詞的嵌入。恰巧,當我們對大量的句子進行訓練時,類似語境中的單詞得到相似的向量。10、遷移學習讓我們想一下如何在CNN中處理一張圖片。假設有一張圖片,你對它進行卷積處理,然后你得到的輸出是像素的組合,我們姑且稱之為“邊”吧。我們再次使用卷積,這時候你得到的輸出將是邊的組合,我們稱之為“線”。如果再次使用卷積,那么你將得到線的組合,等等。每一層都是在尋找相應的特定模式。你的神經(jīng)網(wǎng)絡最后一層一般會給出非常特定的模式。也許你在處理ImageNet,你的網(wǎng)絡最后一層可能是在找孩子、狗或飛機或別的任何東西。如果你向前兩層看,網(wǎng)絡可能是在找眼睛、耳朵、嘴巴或者輪子。深度卷積神經(jīng)網(wǎng)絡中的每一層的深入都是在構(gòu)建越來越高層次的特征表示。最后兩層會產(chǎn)生你輸入模型的數(shù)據(jù)中的特定模式。換句話說,早期的層提取的特征則廣泛得多,在提取的大量的類中有很多簡單的模式。遷移學習就是當你用一個數(shù)據(jù)集訓練CNN時,砍掉最后的一(些)層,再用另一個不同的數(shù)據(jù)集重新訓練最后一(些)層的模型。直觀地說,你在重新訓練模型來識
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東松山職業(yè)技術(shù)學院《經(jīng)濟師資格》2023-2024學年第一學期期末試卷
- 廣東水利電力職業(yè)技術(shù)學院《服裝工藝制作二》2023-2024學年第一學期期末試卷
- 廣東石油化工學院《經(jīng)濟學世界經(jīng)濟》2023-2024學年第一學期期末試卷
- 廣東汕頭幼兒師范高等??茖W?!缎畔⒎治雠c預測》2023-2024學年第一學期期末試卷
- 廣東農(nóng)工商職業(yè)技術(shù)學院《中小企業(yè)管理》2023-2024學年第一學期期末試卷
- 廣東南方職業(yè)學院《現(xiàn)代食品高新技術(shù)進展》2023-2024學年第一學期期末試卷
- 打造美麗鄉(xiāng)村-共筑人與自然和諧-鄉(xiāng)鎮(zhèn)林業(yè)站年終工作總結(jié)
- 【名師一號】2020-2021學年高中英語(北師大版)必修二-雙基限時練3
- 【9語一?!?024年合肥市瑤海區(qū)中考一模語文試題
- 【名師一號】2021年岳麓歷史必修3-雙基限時練17
- SCA自動涂膠系統(tǒng)培訓講義
- 促銷活動方案(共29頁).ppt
- 華中數(shù)控車床編程及操作
- 農(nóng)民專業(yè)合作社財務報表(三張表)
- 培訓準備工作清單
- 沉井工程檢驗批全套【精選文檔】
- 貝類增養(yǎng)殖考試資料
- 旅游專業(yè)旅游概論試題有答案
- 3、起重工、焊工、電工安全技術(shù)交底
- 水稻幼穗分化八個時期的劃分表
- 卡特彼勒生產(chǎn)體系手冊(PDF62頁)
評論
0/150
提交評論