❶ 深度學習和機器學習的區別是什麼
1、機器學習是一種實現人工智慧的方法,深度學習是一種實現機器學習的技術。
2、深度學習本來並不是一種獨立的學習方法,其本身也會用到有監督和無監督的學習方法來訓練深度神經網路。但由於近幾年該領域發展迅猛,一些特有的學習手段相繼被提出(如殘差網路),因此越來越多的人將其單獨看作一種學習的方法。
3、機器學習最基本的做法,是使用演算法來解析數據、從中學習,然後對真實世界中的事件做出決策和預測。與傳統的為解決特定任務、硬編碼的軟體程序不同,機器學習是用大量的數據來「訓練」,通過各種演算法從數據中學習如何完成任務。
拓展資料:
1、機器學習直接來源於早期的人工智慧領域,傳統的演算法包括決策樹、聚類、貝葉斯分類、支持向量機、EM、Adaboost等等。從學習方法上來分,機器學習演算法可以分為監督學習(如分類問題)、無監督學習(如聚類問題)、半監督學習、集成學習、深度學習和強化學習。傳統的機器學習演算法在指紋識別、基於Haar的人臉檢測、基於HoG特徵的物體檢測等領域的應用基本達到了商業化的要求或者特定場景的商業化水平,但每前進一步都異常艱難,直到深度學習演算法的出現。
2、最初的深度學習是利用深度神經網路來解決特徵表達的一種學習過程。深度神經網路本身並不是一個全新的概念,可大致理解為包含多個隱含層的神經網路結構。為了提高深層神經網路的訓練效果,人們對神經元的連接方法和激活函數等方面做出相應的調整。其實有不少想法早年間也曾有過,但由於當時訓練數據量不足、計算能力落後,因此最終的效果不盡如人意。深度學習摧枯拉朽般地實現了各種任務,使得似乎所有的機器輔助功能都變為可能。無人駕駛汽車,預防性醫療保健,甚至是更好的電影推薦,都近在眼前,或者即將實現。
❷ 什麼是深度學習與機器視覺
深度學習框架,尤其是基於人工神經網路的框架可以追溯到1980年福島邦彥提出的新認知機[2],而人工神經網路的歷史更為久遠。1989年,燕樂存(Yann LeCun)等人開始將1974年提出的標准反向傳播演算法[3]應用於深度神經網路,這一網路被用於手寫郵政編碼識別。盡管演算法可以成功執行,但計算代價非常巨大,神經網路的訓練時間達到了3天,因而無法投入實際使用[4]。許多因素導致了這一緩慢的訓練過程,其中一種是由於爾根·施密德胡伯(Jürgen Schmidhuber)的學生賽普·霍克賴特(Sepp Hochreiter)於1991年提出的梯度消失問題[5][6]。與此同時,神經網路也受到了其他更加簡單模型的挑戰,支持向量機等模型在20世紀90年代到21世紀初成為更加流行的機器學習演算法。
「深度學習」這一概念從2007年前後開始受到關注。當時,傑弗里·辛頓(Geoffrey Hinton)和魯斯蘭·薩拉赫丁諾夫(Ruslan Salakhutdinov)提出了一種在前饋神經網路中進行有效訓練的演算法。這一演算法將網路中的每一層視為無監督的受限玻爾茲曼機,再使用有監督的反向傳播演算法進行調優[7]。在此之前的1992年,在更為普遍的情形下,施密德胡伯也曾在遞歸神經網路上提出一種類似的訓練方法,並在實驗中證明這一訓練方法能夠有效提高有監督學習的執行速度[8][9].
自深度學習出現以來,它已成為很多領域,尤其是在計算機視覺和語音識別中,成為各種領先系統的一部分。在通用的用於檢驗的數據集,例如語音識別中的TIMIT和圖像識別中的ImageNet, Cifar10上的實驗證明,深度學習能夠提高識別的精度。
硬體的進步也是深度學習重新獲得關注的重要因素。高性能圖形處理器的出現極大地提高了數值和矩陣運算的速度,使得機器學習演算法的運行時間得到了顯著的縮短[10][11]。
基本概念[編輯]
深度學習的基礎是機器學習中的分散表示(distributed representation)。分散表示假定觀測值是由不同因子相互作用生成。在此基礎上,深度學習進一步假定這一相互作用的過程可分為多個層次,代表對觀測值的多層抽象。不同的層數和層的規模可用於不同程度的抽象[1]。
深度學習運用了這分層次抽象的思想,更高層次的概念從低層次的概念學習得到。這一分層結構常常使用貪婪演算法逐層構建而成,並從中選取有助於機器學習的更有效的特徵[1].
不少深度學習演算法都以無監督學習的形式出現,因而這些演算法能被應用於其他演算法無法企及的無標簽數據,這一類數據比有標簽數據更豐富,也更容易獲得。這一點也為深度學習贏得了重要的優勢[1]。
人工神經網路下的深度學習[編輯]
一部分最成功的深度學習方法涉及到對人工神經網路的運用。人工神經網路受到了1959年由諾貝爾獎得主大衛·休伯爾(David H. Hubel)和托斯坦·威澤爾(Torsten Wiesel)提出的理論啟發。休伯爾和威澤爾發現,在大腦的初級視覺皮層中存在兩種細胞:簡單細胞和復雜細胞,這兩種細胞承擔不同層次的視覺感知功能。受此啟發,許多神經網路模型也被設計為不同節點之間的分層模型[12]。
福島邦彥提出的新認知機引入了使用無監督學習訓練的卷積神經網路。燕樂存將有監督的反向傳播演算法應用於這一架構[13]。事實上,從反向傳播演算法自20世紀70年代提出以來,不少研究者都曾試圖將其應用於訓練有監督的深度神經網路,但最初的嘗試大都失敗。賽普·霍克賴特(Sepp Hochreiter)在其博士論文中將失敗的原因歸結為梯度消失,這一現象同時在深度前饋神經網路和遞歸神經網路中出現,後者的訓練過程類似深度網路。在分層訓練的過程中,本應用於修正模型參數的誤差隨著層數的增加指數遞減,這導致了模型訓練的效率低下[14][15]。
為了解決這一問題,研究者們提出了一些不同的方法。於爾根·施密德胡伯(Jürgen Schmidhuber)於1992年提出多層級網路,利用無監督學習訓練深度神經網路的每一層,再使用反向傳播演算法進行調優。在這一模型中,神經網路中的每一層都代表觀測變數的一種壓縮表示,這一表示也被傳遞到下一層網路[8]。
另一種方法是賽普·霍克賴特和於爾根·施密德胡伯提出的長短期記憶神經網路(long short term memory,LSTM)[16]。2009年,在ICDAR 2009舉辦的連筆手寫識別競賽中,在沒有任何先驗知識的情況下,深度多維長短期記憶神經網路取得了其中三場比賽的勝利[17][18]。
斯文·貝克提出了在訓練時只依賴梯度符號的神經抽象金字塔模型,用以解決圖像重建和人臉定位的問題[19]。
其他方法同樣採用了無監督預訓練來構建神經網路,用以發現有效的特徵,此後再採用有監督的反向傳播以區分有標簽數據。辛頓等人於2006年提出的深度模型提出了使用多層隱變數學習高層表示的方法。這一方法使用斯摩棱斯基於1986年提出的受限玻爾茲曼機[20]對每一個包含高層特徵的層進行建模。模型保證了數據的對數似然下界隨著層數的提升而遞增。當足夠多的層數被學習完畢,這一深層結構成為一個生成模型,可以通過自上而下的采樣重構整個數據集[21]。辛頓聲稱這一模型在高維結構化數據上能夠有效低提取特徵[22]。
吳恩達和傑夫·迪恩(Jeff Dean)領導的谷歌大腦(英語:Google Brain)團隊創建了一個僅通過YouTube視頻學習高層概念(例如貓)的神經網路[23] [24]。
其他方法依賴了現代電子計算機的強大計算能力,尤其是GPU。2010年,在於爾根·施密德胡伯位於瑞士人工智慧實驗室IDSIA的研究組中,丹·奇雷尚(Dan Ciresan)和他的同事展示了利用GPU直接執行反向傳播演算法而忽視梯度消失問題的存在。這一方法在燕樂存等人給出的手寫識別MNIST數據集上戰勝了已有的其他方法[10]。
截止2011年,前饋神經網路深度學習中最新的方法是交替使用卷積層(convolutional layers)和最大值池化層(max-pooling layers)並加入單純的分類層作為頂端。訓練過程也無需引入無監督的預訓練[25][26]。從2011年起,這一方法的GPU實現[25]多次贏得了各類模式識別競賽的勝利,包括IJCNN 2011交通標志識別競賽[27]和其他比賽。
這些深度學習演算法也是最先在某些識別任務上達到和人類表現具備同等競爭力的演算法[28]。
深度學習結構[編輯]
深度神經網路是一種具備至少一個隱層的神經網路。與淺層神經網路類似,深度神經網路也能夠為復雜非線性系統提供建模,但多出的層次為模型提供了更高的抽象層次,因而提高了模型的能力。深度神經網路通常都是前饋神經網路,但也有語言建模等方面的研究將其拓展到遞歸神經網路[29]。卷積深度神經網路(Covolutional Neuron Networks, CNN)在計算機視覺領域得到了成功的應用[30]。此後,卷積神經網路也作為聽覺模型被使用在自動語音識別領域,較以往的方法獲得了更優的結果[31]。
深度神經網路[編輯]
深度神經網路(deep neuron networks, DNN)是一種判別模型,可以使用反向傳播演算法進行訓練。權重更新可以使用下式進行隨機梯度下降求解:
其中,為學習率,為代價函數。這一函數的選擇與學習的類型(例如監督學習、無監督學習、增強學習)以及激活函數相關。例如,為了在一個多分類問題上進行監督學習,通常的選擇是使用Softmax函數作為激活函數,而使用交叉熵作為代價函數。Softmax函數定義為,其中代表類別的概率,而和分別代表對單元和的輸入。交叉熵定義為,其中代表輸出單元的目標概率,代表應用了激活函數後對單元的概率輸出[32]。
深度神經網路的問題[編輯]
與其他神經網路模型類似,如果僅僅是簡單地訓練,深度神經網路可能會存在很多問題。常見的兩類問題是過擬合和過長的運算時間。
深度神經網路很容易產生過擬合現象,因為增加的抽象層使得模型能夠對訓練數據中較為罕見的依賴關系進行建模。對此,權重遞減(正規化)或者稀疏(-正規化)等方法可以利用在訓練過程中以減小過擬合現象[33]。另一種較晚用於深度神經網路訓練的正規化方法是丟棄法("dropout" regularization),即在訓練中隨機丟棄一部分隱層單元來避免對較為罕見的依賴進行建模[34]。
反向傳播演算法和梯度下降法由於其實現簡單,與其他方法相比能夠收斂到更好的局部最優值而成為神經網路訓練的通行方法。但是,這些方法的計算代價很高,尤其是在訓練深度神經網路時,因為深度神經網路的規模(即層數和每層的節點數)、學習率、初始權重等眾多參數都需要考慮。掃描所有參數由於時間代價的原因並不可行,因而小批量訓練(mini-batching),即將多個訓練樣本組合進行訓練而不是每次只使用一個樣本進行訓練,被用於加速模型訓練[35]。而最顯著地速度提升來自GPU,因為矩陣和向量計算非常適合使用GPU實現。但使用大規模集群進行深度神經網路訓練仍然存在困難,因而深度神經網路在訓練並行化方面仍有提升的空間。
深度信念網路[編輯]
一個包含完全連接可見層和隱層的受限玻爾茲曼機(RBM)。注意到可見層單元和隱層單元內部彼此不相連。
深度信念網路(deep belief networks,DBN)是一種包含多層隱單元的概率生成模型,可被視為多層簡單學習模型組合而成的復合模型[36]。
深度信念網路可以作為深度神經網路的預訓練部分,並為網路提供初始權重,再使用反向傳播或者其他判定演算法作為調優的手段。這在訓練數據較為缺乏時很有價值,因為不恰當的初始化權重會顯著影響最終模型的性能,而預訓練獲得的權重在權值空間中比隨機權重更接近最優的權重。這不僅提升了模型的性能,也加快了調優階段的收斂速度[37]。
深度信念網路中的每一層都是典型的受限玻爾茲曼機(restricted Boltzmann machine,RBM),可以使用高效的無監督逐層訓練方法進行訓練。受限玻爾茲曼機是一種無向的基於能量的生成模型,包含一個輸入層和一個隱層。圖中對的邊僅在輸入層和隱層之間存在,而輸入層節點內部和隱層節點內部則不存在邊。單層RBM的訓練方法最初由傑弗里·辛頓在訓練「專家乘積」中提出,被稱為對比分歧(contrast divergence, CD)。對比分歧提供了一種對最大似然的近似,被理想地用於學習受限玻爾茲曼機的權重[35]。當單層RBM被訓練完畢後,另一層RBM可被堆疊在已經訓練完成的RBM上,形成一個多層模型。每次堆疊時,原有的多層網路輸入層被初始化為訓練樣本,權重為先前訓練得到的權重,該網路的輸出作為新增RBM的輸入,新的RBM重復先前的單層訓練過程,整個過程可以持續進行,直到達到某個期望中的終止條件[38]。
盡管對比分歧對最大似然的近似十分粗略(對比分歧並不在任何函數的梯度方向上),但經驗結果證實該方法是訓練深度結構的一種有效的方法[35]。
卷積神經網路[編輯]
主條目:卷積神經網路
卷積神經網路(convolutional neuron networks,CNN)由一個或多個卷積層和頂端的全連通層(對應經典的神經網路)組成,同時也包括關聯權重和池化層(pooling layer)。這一結構使得卷積神經網路能夠利用輸入數據的二維結構。與其他深度學習結構相比,卷積神經網路在圖像和語音識別方面能夠給出更優的結果。這一模型也可以使用反向傳播演算法進行訓練。相比較其他深度、前饋神經網路,卷積神經網路需要估計的參數更少,使之成為一種頗具吸引力的深度學習結構[39]。
卷積深度信念網路[編輯]
卷積深度信念網路(convolutional deep belief networks,CDBN)是深度學習領域較新的分支。在結構上,卷積深度信念網路與卷積神經網路在結構上相似。因此,與卷積神經網路類似,卷積深度信念網路也具備利用圖像二維結構的能力,與此同時,卷積深度信念網路也擁有深度信念網路的預訓練優勢。卷積深度信念網路提供了一種能被用於信號和圖像處理任務的通用結構,也能夠使用類似深度信念網路的訓練方法進行訓練[40]。
結果[編輯]
語音識別[編輯]
下表中的結果展示了深度學習在通行的TIMIT數據集上的結果。TIMIT包含630人的語音數據,這些人持八種常見的美式英語口音,每人閱讀10句話。這一數據在深度學習發展之初常被用於驗證深度學習結構[41]。TIMIT數據集較小,使得研究者可以在其上實驗不同的模型配置。
方法
聲音誤差率 (PER, %)
隨機初始化RNN 26.1
貝葉斯三音子GMM-HMM 25.6
單音子重復初始化DNN 23.4
單音子DBN-DNN 22.4
帶BMMI訓練的三音子GMM-HMM 21.7
共享池上的單音子DBN-DNN 20.7
卷積DNN 20.0
圖像分類[編輯]
圖像分類領域中一個公認的評判數據集是MNIST數據集。MNIST由手寫阿拉伯數字組成,包含60,000個訓練樣本和10,000個測試樣本。與TIMIT類似,它的數據規模較小,因而能夠很容易地在不同的模型配置下測試。Yann LeCun的網站給出了多種方法得到的實驗結果[42]。截至2012年,最好的判別結果由Ciresan等人在當年給出,這一結果的錯誤率達到了0.23%[43]。
深度學習與神經科學[編輯]
計算機領域中的深度學習與20世紀90年代由認知神經科學研究者提出的大腦發育理論(尤其是皮層發育理論)密切相關[44]。對這一理論最容易理解的是傑弗里·艾爾曼(Jeffrey Elman)於1996年出版的專著《對天賦的再思考》(Rethinking Innateness)[45](參見斯拉格和約翰遜[46]以及奎茲和賽傑諾維斯基[47]的表述)。由於這些理論給出了實際的神經計算模型,因而它們是純計算驅動的深度學習模型的技術先驅。這些理論指出,大腦中的神經元組成了不同的層次,這些層次相互連接,形成一個過濾體系。在這些層次中,每層神經元在其所處的環境中獲取一部分信息,經過處理後向更深的層級傳遞。這與後來的單純與計算相關的深度神經網路模型相似。這一過程的結果是一個與環境相協調的自組織的堆棧式的轉換器。正如1995年在《紐約時報》上刊登的那樣,「……嬰兒的大腦似乎受到所謂『營養因素』的影響而進行著自我組織……大腦的不同區域依次相連,不同層次的腦組織依照一定的先後順序發育成熟,直至整個大腦發育成熟。」[48]
深度結構在人類認知演化和發展中的重要性也在認知神經學家的關注之中。發育時間的改變被認為是人類和其他靈長類動物之間智力發展差異的一個方面[49]。在靈長類中,人類的大腦在出生後的很長時間都具備可塑性,但其他靈長類動物的大腦則在出生時就幾乎完全定型。因而,人類在大腦發育最具可塑性的階段能夠接觸到更加復雜的外部場景,這可能幫助人類的大腦進行調節以適應快速變化的環境,而不是像其他動物的大腦那樣更多地受到遺傳結構的限制。這樣的發育時間差異也在大腦皮層的發育時間和大腦早期自組織中從刺激環境中獲取信息的改變得到體現。當然,伴隨著這一可塑性的是更長的兒童期,在此期間人需要依靠撫養者和社會群體的支持和訓練。因而這一理論也揭示了人類演化中文化和意識共同進化的現象[50]。
公眾視野中的深度學習[編輯]
深度學習常常被看作是通向真正人工智慧的重要一步[51],因而許多機構對深度學習的實際應用抱有濃厚的興趣。2013年12月,Facebook宣布僱用燕樂存為其新建的人工智慧實驗室的主管,這一實驗室將在加州、倫敦和紐約設立分支機構,幫助Facebook研究利用深度學習演算法進行類似自動標記照片中用戶姓名這樣的任務[52]。
2013年3月,傑弗里·辛頓和他的兩位研究生亞歷克斯·克里澤夫斯基和伊利婭·蘇特斯科娃被谷歌公司僱用,以提升現有的機器學習產品並協助處理谷歌日益增長的數據。谷歌同時並購了辛頓創辦的公司DNNresearch[53]。
批評[編輯]
對深度學習的主要批評是許多方法缺乏理論支撐。大多數深度結構僅僅是梯度下降的某些變式。盡管梯度下降已經被充分地研究,但理論涉及的其他演算法,例如對比分歧演算法,並沒有獲得充分的研究,其收斂性等問題仍不明確。深度學習方法常常被視為黑盒,大多數的結論確認都由經驗而非理論來確定。
也有學者認為,深度學習應當被視為通向真正人工智慧的一條途徑,而不是一種包羅萬象的解決方案。盡管深度學習的能力很強,但和真正的人工智慧相比,仍然缺乏諸多重要的能力。理論心理學家加里·馬庫斯(Gary Marcus)指出:
就現實而言,深度學習只是建造智能機器這一更大挑戰中的一部分。這些技術缺乏表達因果關系的手段……缺乏進行邏輯推理的方法,而且遠沒有具備集成抽象知識,例如物品屬性、代表和典型用途的信息。最為強大的人工智慧系統,例如IBM的人工智慧系統沃森,僅僅把深度學習作為一個包含從貝葉斯推理和演繹推理等技術的復雜技術集合中的組成部分[54]。