神經網絡是一套特定的算法,是機器學習中的一類模型,神經網絡本身就是一般泛函數的逼近,它能夠理解大腦是如何工作,能夠了解受神經元和自適應連接啟發的并行計算風格,通過使用受大腦啟發的新穎學習算法來解決實際問題等。
為什么我們需要機器學習?
機器學習可以解決人類不能直接用編程來應對的復雜難題,因此,我們喂給機器學習算法大量的數據,以期得到想要的答案。
我們來看看這兩個例子:
編寫解決問題的程序是非常困難的,比如在雜亂的場景中,在新的照明條件下從新的角度來識別三維物體。我們不知道要如何通過代碼來解決這個問題,因為這個識別過程在大腦中完成情況對我們來說還是未解之謎。 即使我們知道該怎么做,要編寫的程序可能會非常復雜。
再比如,編寫一個程序來預測信用卡交易欺詐發生的概率也是很難的,這可能也不存在任何簡單而可靠的規則。因為欺詐是一個動態的目標,但程序需要不斷變化。我們需要做的是結合大量的弱項規則來進行欺詐預測。
再者是機器學習方法。我們并不需要為每個特定的任務手動編寫程序,而是收集大量的例子,為給定的輸入指定正確的輸出。然后,機器學習算法拿這些例子,并產生一個程序來完成這項工作。
學習算法產生的程序可能與典型的手寫程序看起來非常不同。它可能包含數百萬的數字。如果方法得當,該計劃將適用于新案例以及我們訓練的案例。如果數據改變,程序也可以通過對新數據進行訓練來改變。你應該注意到,現在大量的計算比支付某人編寫任務特定的程序來的更廉價。
鑒于此,機器學習能夠很好地解決一些任務,包括:
模式識別:真實場景中的對象,面部識別或面部表情,口語等;
異常情況識別:信用卡交易的異常順序,核電廠傳感器讀數的異常模式等;
預測:未來的股票價格或貨幣匯率,一個人會喜歡的電影等。
什么是神經網絡?
神經網絡是一般機器學習中的一類模型,它是一套特定的算法,受到生物神經網絡的啟發,徹底改變了機器學習的領域。目前所謂的深度神經網絡的出現就已經證明它能夠工作得非常好。
神經網絡本身就是一般泛函數的逼近,這就是為什么它們幾乎可以應用于任何機器學習問題,因為所有的機器學習都是學習從輸入到輸出空間的復雜映射。
以下是說服你學習神經計算的三個理由:
能夠理解大腦是如何工作的:這是非常大且復雜的問題,并且是個令人絞盡腦汁去思考的問題,因此我們需要使用計算機來模擬。
能夠了解受神經元和自適應連接啟發的并行計算風格:這是一種與順序計算非常不同的風格。
通過使用受大腦啟發的新穎學習算法來解決實際問題:即使這不是大腦實際工作的方式,但這樣的學習算法也是非常有用的。
在這篇文章中,我想分享八種神經網絡架構,這是每一位從事機器學習的研究人員都應該熟悉的。
一般來說,這些體系結構可以分為以下三類:
1 - 前饋神經網絡
這是在實際應用中最常見的一種神經網絡類型。第一層是輸入,最后一層是輸出。如果有多個隱藏層,我們稱之為“深度”神經網絡。它們計算出一系列改變案例之間相似性的轉換。各層后緊接著的非線性函數用于各層神經元的激活。
2 - 循環神經網絡
在神經網絡結構的連接圖中決定了循環的方向。這意味著你有時可以按照箭頭回到你開始的地方。循環神經網絡的結構更接近生物的實際情況,其結構有很復雜的動態過程,這使得這種神經網絡有時候難以訓練。但是,目前已經有大量有趣的研究已經找到一些有效的方式來訓練循環神經網絡結構。
循環神經網絡是一種非常自然地模擬連續數據的方式,類似每個時間片都具有一個隱藏層的深層神經網絡。除了能在每個時間片上獲得輸入并使用相同的權重進行訓練外,循環神經網絡還能長時間地記住隱藏狀態的信息。但目前還很難訓練循環神經網絡來使用這些隱藏的狀態信息。
3 - 對稱連接網絡
對稱連接網絡是一種類似循環神經網絡結構的神經網絡,但是其單元之間的連接是對稱的(它們在兩個方向上具有相同的權重)。對稱連接網絡的結構比循環神經網絡更容易分析,因為其遵循能量函數。
沒有隱藏單元的對稱連接網絡被稱為“Hopfield網絡”。有隱藏單元的對稱連接網絡被稱為“Boltzmann機”。
1. 感知器
感知器作為第一代神經網絡,還只是單個神經元的計算模型。它們在二十世紀六十年代初被 Frank Rosenblatt 推廣。1969年,Minsky和Papert出版了一本名為“感知器”的書,分析了這種神經網絡模型可以做什么,并提到了它的局限性。許多人認為這些局限性限制了所有的神經網絡模型。然而,目前感知器的學習過程仍然被廣泛應用于具有包含數百萬特征的巨大特征向量任務。
在統計與模式識別的標準樣例中,我們首先將原始輸入向量轉換為特征的激活向量。然后,基于常識的手寫程序,我們為其定義特征。接下來,我們學習如何對每個特征激活向量進行加權計算以獲得單個標量值。
如果這個數值高于某個閾值,我們認為輸入向量是屬于目標類的一個正樣本。標準的感知器體系結構遵循前饋神經網絡模型,這意味著輸入被饋送到神經元,被處理,并產生輸出。
在下圖中,可以看到網絡自下而上讀取:輸入從底部輸入,輸出從頂部輸出:
然而,感知器確實有局限性。如果你遵循手動選擇特征的原則,并且使用了足夠多的特征,則幾乎可以做任何事情。對于二進制輸入向量,我們可以為每個指數級的二進制向量分別設置一個特征單元,因此我們可以對二進制輸入向量進行任何可能的區分。但是一旦確定了手工編碼的特征,感知器所能學習的東西將會受到很多的限制。
這個結論對于感知器是毀滅性的,因為整個模式識別的重點是識別模式。Minsky and Papert 研究組提出的“群體不變定理”說明,一部分感知器的學習,如果轉換形成一個群體,那么感知器將無法學習。為了處理這種轉換,感知器需要使用多個特征單元來識別信息子模式的轉換。所以模式識別的棘手部分必須由手工編碼的特征檢測器來解決,而不是學習過程。
沒有隱藏單元的網絡是非常受限的,因為它們只能學習輸入到輸出的映射。由于網絡結構仍然是線性的,更多的線性單位層不會幫助也無法改善這個問題。固定輸出的非線性也是不夠的。因此,我們需要多層自適應非線性隱藏單元。
但是我們要如何訓練這樣的網絡呢?
我們需要一種能夠適應所有層權重的有效方式,而不僅僅是最后一層。這很難,因為學習隱藏單元的權重等同于學習特征,但沒有人能直接告訴我們隱藏單元應該做什么。
2. 卷積神經網絡
機器學習研究已經廣泛地集中在目標檢測問題上。在很多情況下識別目標是很困難的,如下:
分割:真實的場景與其他對象混雜在一起。很難判斷哪些作品是同一個對象的一部分。對象的部分也可以隱藏在其他對象的后面。
光照:像素的強度由照明和目標物共同決定。
變形:目標物可以以各種非仿射方式變形。例如,手寫的形狀可以是一個大的循環,也可以是一個尖頭。
可用性:對象類通常由它們的使用方式來定義。例如,椅子是為了能夠坐在上面而設計的,因此它們具有各種各樣的物理形狀。
角度:標準學習方法無法應對由視角變化而導致的圖像變化,即輸入維度(像素)之間的信息跳躍。
設想有一個醫療數據庫,病人的年齡是輸入維度是權重的編碼。如果要用機器學習方法,我們首先要消除這個維度跳躍。
復制特征的方法是目前神經網絡解決目標檢測問題的主要方法。它使用具有不同位置的相同特征,來為檢測器提供許多不同副本。它也可以在規模和方向上進行復制,但這是棘手和昂貴的。復制時使用幾種不同的特征類型,每種都有自己的復制映射圖,但是會大大減少了學習時可用參數的數量。
復制也允許以各種方式來表示每個圖像塊。
那么復制這些特征檢測器是如何實現的呢?
等效激活:神經網絡對復制的特征,具有翻譯平移不變形。神經元的激活函數對特征復制的效果也是一樣的 。
不變的知識:如果一個特征訓練期間在某些位置是有用的,那么在測試期間該特征的檢測器將在所有位置都可用。
1998年,Yann LeCun和他的同事開發了一種名為LeNet的手寫數字識別器。它在具有許多隱藏層的前饋網絡中使用反向傳播,在每層中復制許多單元的映射,并對附近復制單元的輸出進行池化操作,即使重疊也能夠同時處理幾個字符。這是一種用聰明的方式訓練出得完整系統,而不僅僅是一個識別器。后來人們正式地稱之為“卷積神經網絡”。
有趣的是,這種神經網絡模型被用來讀取北美地區約10%的支票。
卷積神經網絡可用于從手寫數字到3D對象的所有與物體識別有關的工作。但是,從網絡下載的彩色照片中識別真實的物體通常要比識別手寫的數字復雜得多。對于三維場景的二維圖像,有1000多個類別(1000 vs 10個),百倍像素值(256×256彩色圖 vs 28×28灰度圖),場景聚類需要應用圖像分割技術,并得到每張圖像中的多個目標。相同類型的卷積神經網絡會起作用嗎?
ILSVRC-2012 ImageNet競賽,這是一個包含大約120萬張高分辨率訓練圖像的數據集。測試圖像將不會顯示初始的注釋 (沒有分割或標簽),算法將產生指定圖像中存在對象的標簽。一些最優秀的計算機視覺方法是由來自牛津,INRIA,XRCE等研究團隊提出的。通常,計算機視覺系統使用復雜的多層次網絡系統,在訓練開始階段會通過優化幾個參數來進行手動調整。
2012年競賽的獲勝者Alex Krizhevsky(NIPS 2012) 繼承了Yann LeCun的模型結構,開創性地提出一種非常深的卷積神經網絡類型。其架構包括7個隱藏層,不包括一些最大池化層。網絡結構由卷積層組成,而最后兩層是全連接層。
在每個隱藏層中,激活函數使用修正線性單位函數。模型的訓練比logistic units更快,特征表征更具有表現力。
除此之外,當附近的單位有更強的激活性時,模型還使用競爭性的正則化策略來抑制隱藏層激活。當圖像強度變化時,這種策略將有助于模型對于特征的學習。還有一些訓練技巧能夠顯著提高神經網絡的泛化能力:
在 256 x 256 圖像上隨機截取 224 x 224 大小的圖像以獲取更多數據并使用圖像的左右反射進行訓練。在測試階段,結合來自10個不同的圖像塊:四個 224 x 224 的圖像角塊加上中央的 224 x 224 圖像塊再加上這5個圖像的反射塊。
使用“Dropout”來調整全連接層(包含大部分模型參數)的權重。Dropout意味著對于每個訓練樣本來說,一層網絡中的一半隱藏單元會被隨機移除,這使得該層隱藏單位不再依賴其他層的隱藏單元。
就硬件要求而言,AlexNet卷積神經網絡在2個 Nvidia GTX 580 GPU (超過1000個快速小內核) 上得到了非常高效的實現。 GPU非常適合矩陣乘法,并且具有非常高的內存帶寬。 這使得AlexNet模型可以在一周內訓練網絡,并能夠在測試階段快速地結合10個圖像塊的結果。
如果我們可以足夠快地更新網絡狀態,那么就可以在很多內核上傳播一個網絡。隨著內核越來越便宜,數據集越來越大,相比傳統計算機視覺系統,大型神經網絡模型的性能將提高得更快。
3. 循環神經網絡
為了理解循環神經網絡模型,我們需要對序列建模進行簡要概述。當將機器學習應用于序列時,我們經常希望將輸入序列轉換為不同域中的輸出序列。例如,將一系列的聲壓轉換成一系列的單詞。
當沒有單獨的目標序列時,我們可以通過嘗試預測輸入序列中的下一項來獲得學習的信號。目標的輸出序列是提前一步的輸入序列,這似乎比嘗試預測圖像中其他像素的一個像素或圖像其余部分的一個像素來的更自然。
預測序列中的下一個術語模糊了有監督學習和無監督學習之間的區別。它使用專為監督學習而設計的方法,但它不需要單獨的學習信號。
無記憶模型是這個任務的標準方法。具體而言,自回歸模型可以從先前固定數量的術語中使用“延遲抽頭”來預測序列下一項;而前饋神經網絡是使用一層或多層非線性隱藏單元的廣義自回歸模型。
但是,如果我們給生成模型一些隱藏的狀態,而這個隱藏的狀態又有一個內部的動態,我們就會得到一個更有趣的模型:它可以長時間地將信息存儲在隱藏狀態。
如果動態是帶噪聲的,那么從隱藏狀態產生輸出的方式也是帶噪聲的,我們永遠無法知道它的確切的隱藏狀態。我們能夠做的是推斷隱藏狀態矢量空間的概率分布。這種推斷只適用于兩種隱藏狀態模型。
循環神經網絡是非常強大的,因為它們結合了兩個屬性:
1) 分布式隱藏狀態:允許網絡有效地存儲大量有關過去的信息;
2) 非線性動態:允許模型能夠以復雜的方式更新隱藏狀態。
有了足夠的神經元和時間,循環神經網絡能夠計算任何通過計算機可以計算出來的東西。
那么循環神經網絡可以展現出什么樣的行為呢?
它們可以擺動,可以定點吸引,還可以表現出混亂,而且它們還可以通過學習來實現大量的小程序,每個小程序能夠捕獲一小塊知識并且并行運行,相互作用來產生非常復雜的效果。
然而,循環神經網絡的計算能力使得這種網絡結構很難訓練,因為會有梯度爆炸或消失的問題。當我們通過多層次的反向傳播時,如果權重很小,梯度將呈指數縮小。如果權重很大,梯度會呈指數增長。
典型的前饋神經網絡可以應付這些梯度的指數效應,因為它們只有一些隱藏層。另一方面,在訓練長序列的循環神經網絡時,梯度很容易爆炸或消失。即使是具有良好的初始權重的網絡模型,也很難檢測到當前目標輸出對來自多個時間步驟輸入的依賴,因此循環神經網絡難以處理遠程依賴性。
基本上,有以下四種有效的方法來學習循環神經網絡:
長短期記憶塊:使循環神經網絡脫離長時間記憶值依賴的小模塊。
Hessian Free Optimization:通過使用優化器來處理消失梯度問題,該優化器可以檢測具有微小梯度和更小曲率的方向。
回聲狀態網絡:初始化輸入 -》隱藏層和隱藏層 -》隱藏層和輸出 -》隱藏連接,可以通過輸入選擇性地驅動該振蕩器,以便讓隱藏狀態具有巨大的弱耦合振蕩器。
良好的動態初始化:像回聲狀態網絡一樣初始化,然后使用動量來學習所有的連接。
4. 長短期記憶網絡
Hochreiter & Schmidhuber (1997) 通過構建長短期記憶網絡,解決了循環神經網絡長時間記憶)(如數百步時間步驟內)的獲取問題。他們使用具有乘法相互作用的邏輯和線性單元來設計存儲器單元。
每當“寫入”門打開時,信息就會進入單元。信息保持在單元中,只要其“保持”門打開。 信息可以通過打開“讀取”門來從單元中讀取。
閱讀草書手寫是循環神經網絡處理一個常見任務。 輸入是筆尖的 (x,y,p) 坐標序列,其中p表示筆是向上還是向下。輸出是一個字符序列。 Graves & Schmidhuber (2009) 表明,帶有長短期記憶的循環神經網絡是目前處理草書閱讀的最佳神經網絡系統。 簡而言之,他們使用一系列小圖像作為輸入而不是筆坐標。
5. Hopfield網絡
具有非線性單元的周期性神經網絡通常難以分析。它們可以以許多不同的方式呈現:由穩定到穩定的狀態,中間有振蕩,或者遵循不可預測的混沌軌跡。一個Hopfield網絡由二元門限單元組成,它們之間有連續的連接。
1982年,Hopfield認識到,如果連接是對稱的,就是一種全能量函數。整個網絡的每個二進制“配置”都具有能量;而二進制閾值決策規則是導致網絡是根據這個能量函數的最小值而定的。
利用這種類型進行計算的一種便捷方式是,使用記憶作為神經網絡的能量最小值,使用能量最小值來表示可訪問內容的內存。一個項目可以通過只知道其部分內容信息來訪問。這對硬件的損損傷是巨大的。
每當我們對配置進行一次記憶,我們就希望創造一個新的能量最小值。但是,如果在中間位置附近有兩個最小值呢?
這受限于Hopfield網絡的容量。那么我們如何增加Hopfield網絡的容量呢?物理學家喜歡用他們已經知道的數學知識來解釋大腦是如何工作的。在物理學期刊上有許多對Hopfield網絡及其存儲容量方面進行研究的論文。
最終,Elizabeth Gardner發現存在一個更好的存儲規則,就是使用權重的全部容量。它是通過多次循環訓練集,而非一次性存儲向量。并利用感知器的收斂過程來訓練每個單元,使其具有正確的狀態,并給定該向量中所有其他單元的狀態。統計學家稱這種技術為“偽可能性”。
Hopfield網絡還有另一個計算角色,我們用它來構建感官的輸入解釋?!拜斎搿庇每梢姷膯卧硎荆敖忉尅庇秒[藏單元的狀態表示,解釋的好壞情況用能量表示。
6. 玻爾茲曼機網絡
玻爾茲曼機是一種隨機性的循環神經網絡。它可以被看作是Hopfield網絡的隨機生成產物。它是第一個能夠學習內部表示的神經網絡之一,能夠表示和解決困難的組合問題。
作為機器學習算法的一種,玻爾茲曼機的學習目標是通過玻爾茲曼機分配給訓練集中的二進制向量來最大化概率的乘積。這相當于最大化玻爾茲曼機分配給訓練向量的對數概率之和。也就是說,如果我們做了如下的事情,我們可以得到N個訓練樣本的最大化概率:
1) 讓網絡在沒有外部輸入的情況下,處于不同時間的穩定分布狀態;
2) 每次采用可見的向量。
2012年,Salakhutdinov 和 Hinton 提出了玻爾茲曼機高效的小批量學習程序。
正相階段,首先將隱藏概率初始化為0.5,將數據向量固定在可見單元上,然后將所有隱藏單元進行并行更新,使用平均場更新策略直到最終收斂。在網絡收斂之后,記錄每個連接單元對的PiPj值,并在最小批量中對所有數據進行平均化。
負相階段:首先保留一組“幻想粒子”。每個粒子的值都是全局配置,然后依次更新每個幻想粒子中的所有單位,重復數次。對于每一個連接單位對,平均化所有“幻想粒子”的SiSj值。
對于普通的玻爾茲曼機而言,單元的隨機更新是需要連續進行的。有一種特殊的體系結構允許波爾茲曼機交替地并行更新 (層內沒有連接,沒有跳層連接的結構)。這是高效的一種結構。
這種小批量程序使玻爾茲曼機器的更新更加并行化,也就是所謂的深玻爾茲曼機,而一個普通的玻爾茲曼機會有很多缺失的連接。
2014年,Salakhutdinov 和 Hinton 為他們的模型提出了另一個更新形式,稱之為受限玻爾茲曼機。他們限制了玻爾茲曼機的連通性使得模型的推理和學習過程變得更容易 (隱藏單元只有一層,而隱藏單元之間沒有連接)。在玻爾茲曼機中,當可見單元被固定時,只需要一步就能達到熱平衡。
另一種有效的小批量玻爾茲曼機的學習程序是這樣的:
對于正相階段,首先在可見單元上固定一個數據向量,然后計算所有可見和隱藏單元對的 《ViHj》 的準確值。對于每個連接的單元對,平均化小批量中所有數據的 《ViHj》 值。
對于負相階段,也要保留一組“幻想粒子”。然后通過交替式并行更新策略來更新每個幻想粒子,重復數次。對于每個連接的單位對,平均化所有幻想粒子的 《ViHj》 值。
7. 深度置信網絡
?
反向傳播被認為是人工神經網絡中的一種標準方法,用于在處理完一批數據后,計算出每個神經元對誤差的貢獻值。
但是,反向傳播存在一些問題。首先,它需要帶標記的訓練數據,但幾乎所有的數據都是沒有標簽的。其次,學習時間的范圍不夠理想,這意味著隱藏層數量多的網絡反向傳播過程將變得很慢。第三,它可能會陷入局部最優值而無法達到全局最優狀態。所以對于深度神經網絡來說,這些是遠遠不夠的。
為了克服反向傳播的限制,研究人員已經考慮使用無監督的學習方法,它將有助于保證使用梯度方法來調整權重的效率和簡單性,還可以用它來對感知輸入的結構進行建模。特別是,權重的調整可以使得生成模型產生的感知輸入的概率最大化。
問題在于,我們應該學習什么樣的生成模型?可以建立像玻爾茲曼機器一樣的能量模型嗎?還是由理想化的神經元組成的因果模型?或者兩者混合?
置信網絡是一種由隨機變量組成的有向無環圖網絡模型。使用置信網絡,我們可以觀察到一些變量,我們想要解決2個問題:
1) 推理問題:推斷未觀測變量的狀態;
2) 學習問題:調整變量之間的交互作用,使網絡更有可能產生訓練數據。
早期的圖模型使用專家來定義圖模型的結構和條件概率。那時,圖模型是稀疏連接的,所以研究人員最初的研究重點是做出正確的推論,而不是學習。
對于神經網絡來說,學習是重心,手寫知識并不是最優的做法,因為知識可以通過學習訓練數據得到。神經網絡的目的不在于那些便于推理的可解釋性或稀疏連接性。目前,深度置信網絡可以來解決這些問題。
由隨機的二元神經元組成的生成神經網絡有兩種類型:
1)基于能量的網絡模型,利用對稱連接形式來連接二元隨機神經元,得到玻爾茲曼機;
2)基于因果關系的網絡模型,其中我們連接一個有向無環圖中的二進制隨機神經元得到Sigmoid型的深度置信網絡。
不過,這兩種類型都超出了本文闡述的范圍。
8. 深度自動編碼器
最后,我們來討論深度自編碼器。對于非線性降維,深度自編碼器看起來是一種非常好的方式,主要是因為,它們提供了兩種靈活的映射方式。訓練樣本的學習時間是線性的(或更好的形式)。最終的編碼模型也相當緊湊和快速。
然而,使用反向傳播來優化深度自編碼器是非常困難的。在初始權重較小的情況下,反向傳播過程中梯度將消失。優化辦法就是,要么使用無監督的逐層預訓練,要么像回聲狀態網絡那樣小心地初始權重。
對于預訓練任務,實際上有三種不同類型的淺自動編碼器:
用玻爾茲曼機作為自編碼器:當我們用對比發散來訓練一個玻爾茲曼機時,它試圖進行數據重建。它就像個自編碼器一樣,但是它通過使用隱藏層中的二進制激活來強化正則化過程。當運用最大可能性策略訓練后,玻爾茲曼機則不像自編碼器。我們可以用一堆淺自編碼器來替換用于預訓練的玻爾茲曼機堆棧;然而,如果淺自編碼器通過懲罰平方權重項而被正則化,那么預訓練就不是有效的。
去噪自編碼器:通過將其許多分量設置為0 (如dropout,但是用于輸入),將噪聲添加到輸入向量。它們仍然需要重建這些組分,因此它們必須提取到輸入之間相關性的特征。如果我們使用自編碼器堆棧的話,那么預訓練將會與玻爾茲曼機預訓練一樣好或者更好。評估預訓練的過程也將更簡單,因為我們可以很容易地計算目標函數的值。但是它缺乏的是使用玻爾茲曼機所能獲得的好的變分邊界,但這只是理論上的興趣。
壓縮自動編碼器:另一種正則化自編碼器的方法是嘗試使隱藏單元的激活對輸入盡可能不敏感,但是自編碼器不能忽視這些投入,因為他們必須重建這些輸入。我們通過懲罰每個隱藏層的激活相對于輸入的平方梯度來達到這個目的。在訓練開始前,壓縮自編碼器工作得很好,而這種性質只傾向于那些對輸入變化敏感的小部分隱藏單元。
簡而言之,現在有很多不同的方法能夠對特征進行逐層預訓練。對于沒有大量標記樣本的數據集而言,預訓練模型將有助于模型后續的判別式學習。對于非常大的標記數據集,使用無監督預訓練對監督學習中使用的權重進行初始化并不是必須的,即使對于深度網絡也是如此。預訓練是初始化深網權重的第一個好方法,但是現在還有其他方法。但是,如果我們把網絡變得更大,我們將需要再次進行預訓練!
神經網絡是有史以來最棒的編程范例之一。在傳統的編程方法中,我們告訴計算機做什么,將大問題分解成精確定義的小問題,這樣計算機可以輕松地執行。相比之下,在神經網絡中,我們不告訴計算機如何解決問題,而讓神經網絡能夠從觀測數據中學習,找出手頭問題的解決辦法。
今天,深度神經網絡和深度學習技術在計算機視覺,語音識別和自然語言處理等許多重要問題上取得了出色的表現,它們正在被Google,微軟和Facebook等公司大規模部署。
評論
查看更多