什么是深度學(xué)習(xí)?有什么優(yōu)點(diǎn)和缺點(diǎn)?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
人工智能(AI)是一門科學(xué),機(jī)器學(xué)習(xí)(ML)是目前最主流的人工智能實(shí)現(xiàn)方法,而深度學(xué)習(xí)(DL)則是機(jī)器學(xué)習(xí)(ML)的一個(gè)分支,也是當(dāng)下最流行的機(jī)器學(xué)習(xí)(ML)的一種。
深度學(xué)習(xí)在機(jī)器學(xué)習(xí)領(lǐng)域是一個(gè)很熱的概念,經(jīng)過媒體和大V等炒作,這個(gè)概念變得近乎有些神話的感覺,下面讓我來慢慢揭開深度學(xué)習(xí)的神秘面紗。^_^
深度學(xué)習(xí)(DeepLearning)的概念由Hinton等人于2006年提出?;谏疃戎眯啪W(wǎng)絡(luò)(DBN)提出非監(jiān)督貪心逐層訓(xùn)練算法,為解決深層結(jié)構(gòu)相關(guān)的優(yōu)化難題帶來希望,隨后提出多層自動(dòng)編碼器深層結(jié)構(gòu)。此外Lecun等人提出的卷積神經(jīng)網(wǎng)絡(luò)是第一個(gè)真正多層結(jié)構(gòu)學(xué)習(xí)算法,它利用空間相對(duì)關(guān)系減少參數(shù)數(shù)目以提高訓(xùn)練性能。
那么究竟什么是深度學(xué)習(xí)呢?深度學(xué)習(xí)(DL)是機(jī)器學(xué)習(xí)中一種基于對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法,是一種能夠模擬出人腦的神經(jīng)結(jié)構(gòu)的機(jī)器學(xué)習(xí)方法。深度學(xué)習(xí)的概念源于人工神經(jīng)網(wǎng)絡(luò)的研究。而人工神經(jīng)網(wǎng)絡(luò)ANN(ArTIficial Neural Network)是從信息處理角度對(duì)人腦神經(jīng)元網(wǎng)絡(luò)進(jìn)行抽象,建立某種簡(jiǎn)單模型,按不同的連接方式組成不同的網(wǎng)絡(luò),簡(jiǎn)稱為神經(jīng)網(wǎng)絡(luò)或類神經(jīng)網(wǎng)絡(luò)。因此,深度學(xué)習(xí)又叫深層神經(jīng)網(wǎng)絡(luò)DNN(Deep Neural Networks),是從之前的人工神經(jīng)網(wǎng)絡(luò)ANN模型發(fā)展而來的。
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)研究中的一個(gè)新領(lǐng)域,其動(dòng)機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機(jī)制來解釋數(shù)據(jù),比如圖像,聲音和文本等。深度學(xué)習(xí),能讓計(jì)算機(jī)具有人一樣的智慧,其發(fā)展前景必定是無限的。
同機(jī)器學(xué)習(xí)方法一樣,深度機(jī)器學(xué)習(xí)方法也有監(jiān)督學(xué)習(xí)與無監(jiān)督學(xué)習(xí)之分.不同的學(xué)習(xí)框架下建立的學(xué)習(xí)模型很是不同.例如,卷積神經(jīng)網(wǎng)絡(luò)(ConvoluTIonalneural networks,簡(jiǎn)稱CNNs)就是一種深度的監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型,而深度置信網(wǎng)(DeepBelief Nets,簡(jiǎn)稱DBNs)就是一種無監(jiān)督學(xué)習(xí)下的機(jī)器學(xué)習(xí)模型。
深度學(xué)習(xí)所涉及的技術(shù)主要有:線性代數(shù)、概率和信息論、欠擬合、過擬合、正則化、最大似然估計(jì)和貝葉斯統(tǒng)計(jì)、隨機(jī)梯度下降、監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)、深度前饋網(wǎng)絡(luò)、代價(jià)函數(shù)和反向傳播、正則化、稀疏編碼和dropout、自適應(yīng)學(xué)習(xí)算法、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)、深度神經(jīng)網(wǎng)絡(luò)和深度堆疊網(wǎng)絡(luò)、LSTM長(zhǎng)短時(shí)記憶、主成分分析、正則自動(dòng)編碼器、表征學(xué)習(xí)、蒙特卡洛、受限波茲曼機(jī)、深度置信網(wǎng)絡(luò)、softmax回歸、決策樹和聚類算法、KNN和SVM、生成對(duì)抗網(wǎng)絡(luò)和有向生成網(wǎng)絡(luò)、機(jī)器視覺和圖像識(shí)別、自然語言處理、語音識(shí)別和機(jī)器翻譯、有限馬爾科夫、動(dòng)態(tài)規(guī)劃、梯度策略算法和增強(qiáng)學(xué)習(xí)(Q-learning)等等。
討論深度學(xué)習(xí),肯定會(huì)講到“深度(Depth)”一詞,“深度”即層數(shù)。從一個(gè)輸入中產(chǎn)生一個(gè)輸出所涉及的計(jì)算可以通過一個(gè)流向圖(flowgraph)來表示:流向圖是一種能夠表示計(jì)算的圖,在這種圖中每一個(gè)節(jié)點(diǎn)表示一個(gè)基本的計(jì)算以及一個(gè)計(jì)算的值,計(jì)算的結(jié)果被應(yīng)用到這個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)的值??紤]這樣一個(gè)計(jì)算集合,它可以被允許在每一個(gè)節(jié)點(diǎn)和可能的圖結(jié)構(gòu)中,并定義了一個(gè)函數(shù)族。輸入節(jié)點(diǎn)沒有父節(jié)點(diǎn),輸出節(jié)點(diǎn)沒有子節(jié)點(diǎn)。這種流向圖的一個(gè)特別屬性是深度(depth):從一個(gè)輸入到一個(gè)輸出的最長(zhǎng)路徑的長(zhǎng)度。
深度超過8層的神經(jīng)網(wǎng)絡(luò)才叫深度學(xué)習(xí)。含多個(gè)隱層的多層學(xué)習(xí)模型是深度學(xué)習(xí)的架構(gòu)。深度學(xué)習(xí)可以通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。
深度學(xué)習(xí)的”深度“是指從”輸入層“到”輸出層“所經(jīng)歷層次的數(shù)目,即”隱藏層“的層數(shù),層數(shù)越多,深度也越深。所以越是復(fù)雜的選擇問題,越需要深度的層次多。除了層數(shù)多外,每層”神經(jīng)元“-黃色小圓圈的數(shù)目也要多。例如,AlphaGo的策略網(wǎng)絡(luò)是13層,每一層的神經(jīng)元數(shù)量為192個(gè)。
深度學(xué)習(xí)可通過學(xué)習(xí)一種深層非線性網(wǎng)絡(luò)結(jié)構(gòu),實(shí)現(xiàn)復(fù)雜函數(shù)逼近,表征輸入數(shù)據(jù)分布式表示,并展現(xiàn)了強(qiáng)大的從少數(shù)樣本集中學(xué)習(xí)數(shù)據(jù)集本質(zhì)特征的能力。多層的好處是可以用較少的參數(shù)表示復(fù)雜的函數(shù)。
深度學(xué)習(xí)的實(shí)質(zhì),是通過構(gòu)建具有很多隱層的機(jī)器學(xué)習(xí)模型和海量的訓(xùn)練數(shù)據(jù),來學(xué)習(xí)更有用的特征,從而最終提升分類或預(yù)測(cè)的準(zhǔn)確性。因此,“深度模型”是手段,“特征學(xué)習(xí)”是目的。深度學(xué)習(xí)強(qiáng)調(diào)了模型結(jié)構(gòu)的深度,突出了特征學(xué)習(xí)的重要性,通過逐層特征變換,將樣本在原空間的特征表示變換到一個(gè)新特征空間,從而使分類或預(yù)測(cè)更加容易。與人工規(guī)則構(gòu)造特征的方法相比,利用大數(shù)據(jù)來學(xué)習(xí)特征,更能夠刻畫數(shù)據(jù)的豐富內(nèi)在信息。
深度學(xué)習(xí)的訓(xùn)練過程:1)自下上升非監(jiān)督學(xué)習(xí),從底層開始,一層一層的往頂層訓(xùn)練。采用無標(biāo)定數(shù)據(jù)(有標(biāo)定數(shù)據(jù)也可)分層訓(xùn)練各層參數(shù),這是一個(gè)無監(jiān)督訓(xùn)練過程,是和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)區(qū)別最大的部分,這個(gè)過程可以看作是feature learning過程。
2)自頂向下的監(jiān)督學(xué)習(xí),通過帶標(biāo)簽的數(shù)據(jù)去訓(xùn)練,誤差自頂向下傳輸,對(duì)網(wǎng)絡(luò)進(jìn)行微調(diào)?;诘谝徊降玫降母鲗訁?shù)進(jìn)一步fine-tune整個(gè)多層模型的參數(shù),這一個(gè)有監(jiān)督訓(xùn)練過程。
深度學(xué)習(xí)的第一步不是隨機(jī)初始化,而是通過學(xué)習(xí)輸入數(shù)據(jù)的結(jié)構(gòu)得到的,因而這個(gè)初值更接近全局最優(yōu),從而能夠取得更好的效果。所以深度學(xué)習(xí)效果好很大程度上歸功于第一步的feature learning過程。
對(duì)深度學(xué)習(xí)而言,訓(xùn)練集就是用來求解神經(jīng)網(wǎng)絡(luò)的權(quán)重的,最后形成模型;而測(cè)試集,就是用來驗(yàn)證模型的準(zhǔn)確度的。
深度學(xué)習(xí)領(lǐng)域研究包含:優(yōu)化(OpTImizaTIon),泛化(Generalization),表達(dá)(Representation)以及應(yīng)用(Applications)。除了應(yīng)用(Applications)之外每個(gè)部分又可以分成實(shí)踐和理論兩個(gè)方面。
根據(jù)解決問題、應(yīng)用領(lǐng)域等不同,深度學(xué)習(xí)有許多不同實(shí)現(xiàn)形式:卷積神經(jīng)網(wǎng)絡(luò)(ConvolutionalNeural Networks)、深度置信網(wǎng)絡(luò)(DeepBelief Networks)、受限玻爾茲曼機(jī)(RestrictedBoltzmann Machines)、深度玻爾茲曼機(jī)(Deep BoltzmannMachines)、遞歸自動(dòng)編碼器(RecursiveAutoencoders)、深度表達(dá)(DeepRepresentation)等。
深度學(xué)習(xí)的優(yōu)點(diǎn):深度學(xué)習(xí)提出了一種讓計(jì)算機(jī)自動(dòng)學(xué)習(xí)出模式特征的方法,并將特征學(xué)習(xí)融入到了建立模型的過程中,從而減少了人為設(shè)計(jì)特征造成的不完備性。而目前以深度學(xué)習(xí)為核心的某些機(jī)器學(xué)習(xí)應(yīng)用,在滿足特定條件的應(yīng)用場(chǎng)景下,已經(jīng)達(dá)到了超越現(xiàn)有算法的識(shí)別或分類性能。
深度學(xué)習(xí)的缺點(diǎn):只能提供有限數(shù)據(jù)量的應(yīng)用場(chǎng)景下,深度學(xué)習(xí)算法不能夠?qū)?shù)據(jù)的規(guī)律進(jìn)行無偏差的估計(jì)。為了達(dá)到很好的精度,需要大數(shù)據(jù)支撐。由于深度學(xué)習(xí)中圖模型的復(fù)雜化導(dǎo)致算法的時(shí)間復(fù)雜度急劇提升,為了保證算法的實(shí)時(shí)性,需要更高的并行編程技巧和更多更好的硬件支持。因此,只有一些經(jīng)濟(jì)實(shí)力比較強(qiáng)大的科研機(jī)構(gòu)或企業(yè),才能夠用深度學(xué)習(xí)來做一些前沿而實(shí)用的應(yīng)用。
深度學(xué)習(xí)成功應(yīng)用于計(jì)算機(jī)視覺、語音識(shí)別、記憶網(wǎng)絡(luò)、自然語言處理等其他領(lǐng)域。
深度學(xué)習(xí)是關(guān)于自動(dòng)學(xué)習(xí)需要建模的數(shù)據(jù)潛在分布的多層表達(dá)的復(fù)雜算法。深度學(xué)習(xí)算法自動(dòng)的提取分類需要的低層次或者高層次特征??傊疃葘W(xué)習(xí)是用多層次的分析和計(jì)算手段,得到結(jié)果的一種方法。
結(jié)語目前深度學(xué)習(xí)的發(fā)展引起其他它領(lǐng)域的革命。深度學(xué)習(xí)的火熱得益于各行各業(yè)豐富的大數(shù)據(jù)發(fā)展和計(jì)算機(jī)計(jì)算能力的提升,同時(shí)也要?dú)w功于過去經(jīng)驗(yàn)。今后深度學(xué)習(xí)將繼續(xù)解決各種識(shí)別(Recognition)和演繹(Ability to Act)方面的相關(guān)問題。當(dāng)然,機(jī)器學(xué)習(xí)本身也不是完美的,也不是解決世間任何機(jī)器學(xué)習(xí)問題的利器,深度學(xué)習(xí)目前仍有大量工作需要研究,不應(yīng)該被放大到一個(gè)無所不能的程度。