利用深度學習技術能否實現真正的「智能」?如何理解深度學習?

談金論經


  1. 深度學習的原理
  2. 深度學習的優勢
  3. 深度學習的侷限性
  4. 為什麼不能實現真正的智能

深度學習的原理

深度學習中最重要的一個概念叫做人工神經網絡。人工神經網絡是一種模仿生物神經網絡行為特徵,進行分佈式並行信息處理的算法數學模型。這種網絡通過調整內部大量節點(神經元)之間相互連接的權重,從而達到處理信息的目的。

如上圖所示的是一個"神經元"的基本結構,也叫做感知器.它接受多個輸入(x1,x2,x3...),產生一個輸出(output),好比神經末梢感受各種外部環境的變化,最後產生電信號。

而當多個神經元互相連接起來過後,就產生了以下的結構.

上圖中,底層感知器接收外部輸入,做出判斷以後,再發出信號,作為上層感知器的輸入,直至得到最後的結果。(注意:感知器的輸出依然只有一個,但是可以發送給多個目標。)

當網絡層數不斷加深的時候,也就成了我們目前所說的深度神經網絡.除此之外,還有其他結構的神經網絡,例如CNN與RNN,感興趣的可以關注我頭條號瞭解,在這裡不做過多贅述.

而深度學習的過程就是將未經處理的數據(圖像,聲音信息或者文字信息)輸入至輸出層的“輸入單元”;輸入信息經過一定的映射輸出至輸出層的“輸出節點”,檢測誤差然後通過優化算法來調整神經元之間的鏈接權重來改善,大量重複的優化過程。映射的方法根據用戶定義,比如說,輸入的圖畫中有貓咪,輸入的聲音片段中有“hello”。

深度學習是一種通過多層神經網絡對信息進行抽取和表示,並實現分類、檢測等複雜任務的算法架構。深度神經網絡作為深度學習算法的核心組成部分,在輸入與輸出層之間包含有多層隱藏層,使得算法可以完成複雜的分類關係。

所以,深度學習最後學習出來的是一種可以擬合事物間關係的映射,相當於一種算法黑箱,不是真正的智能.

深度學習的優勢

這裡既然要講優勢,那肯定得有對比的對象,所以我們在這裡對比傳統的機器學習算法,來介紹一下深度學習的優勢.

遠遠超越傳統機器學習方法的表現

在目前的語音識別與合成、自然語言處理、計算機視覺以及遊戲競技等方面,深度學習實現的準確度已經遠遠超過傳統機器學習方法的精確度。在許多任務中,經典機器學習甚至無法競爭。例如,下圖顯示了ImageNet數據集上不同方法的圖像分類準確性,藍色表示經典機器學習方法,紫色表示深度卷積神經網絡(CNN)方法。

數據量增大對於準確率提升效果明顯

與傳統機器學習算法相比,深度網絡可以使用更多的數據進行更好地擴展。很多時候,通過深層網絡來使用更多的數據會使準確率不斷的進行提升,直到某一個瓶頸,需要進一步改良算法才能繼續提升. 而我們在使用經典的機器學習算法時,增加訓練數據量這種簡單快速的提升正確率方法甚至幾乎沒有效果,並且我們通常需要使用更復雜的方法來提高準確性。

不再需要繁瑣的特徵工程

經典的機器算法通常需要人工進行復雜的特徵工程工作。首先在數據集上執行深度探索性數據分析,然後做一個簡單的降低維數的處理。最後,必須仔細選擇最佳功能以傳遞給機器學習算法。噹噹我們使用深度網絡時,完全不需要這樣做,因為只需將數據直接傳遞到網絡,通常就可以實現良好的性能。這消除了整個過程的繁瑣複雜且非常具有挑戰性的特徵工程階段。

可重新遷移訓練,且易於轉換

與傳統的機器學習算法相比,深度學習技術可以更容易地適應不同的領域和應用。首先,遷移學習使得預先訓練的深度網絡適用於同一領域內的不同應用程序是有效的。

其次,如果我們一旦瞭解了語音識別領域的一些基礎的深度學習理論,那麼學習如何將深度網絡應用於自然語言處理過程中將是一件不太具有挑戰性的工作,因為他們之間的基礎知識非常相似。而經典的機器學習算法來說,在不同的領域和應用的知識庫是基本上完全不同的,所以很難將算法進行跨領域應用.

深度學習的侷限性

我在此僅說說我理解的深度學習的侷限性,不一定完整.我覺得深度學習的侷限性主要有以下幾點:

  1. 訓練需要大量的數據

  2. 決策上對數據過度依賴

  3. 可遷移性差

  4. 可理解性差

訓練需要大量數據

深度學習算法需要大量的數據做訓練,比如說如果你想從圖片中準確的識別出是否包含“貓咪”,那麼你需要事先用成千上萬張圖片來訓練它。訓練的數據量越大,模型的準確性越高。如今大公司之間為了不惜一切代價的爭奪數據,甚至願意免費提供服務以換取數據。其原因正是因為擁有越多的數據,就擁有越高的算法準確性和越有效的服務,從而可以吸引更多的用戶,然後在競爭中形成良性循環。

對於深度學習算法來說,缺乏一個“下定義”的過程,即一個從特殊到一般的提煉過程,好的效果必須依託於成千上萬甚至更多的訓練樣本之上。

決策上對數據過度依賴

深度學習對於數據的過度依賴也會帶來一些使用安全性上的問題。Marcus說過:“深度學習非常善於對特定領域的絕大多數現象作出判斷,另一方面它也會被愚弄。” 這便涉及到對抗樣本對於深度學習算法的攻擊。通過對交通標誌進行一些很小的塗改,深度學習算法就會將停止與限速的交通標記判斷錯誤,還有可能無法區分沙堆與肉色針織物。

可遷移性差

深度學習非常擅長建立輸入與輸出之間的映射關係,卻不擅長總結髮現其中的內在物理聯繫。通過大量的訓練,深度學習算法可以打敗最好的人類超級瑪麗玩家,然而這並不代表人工智能對於遊戲有著和人一樣的領悟能力,當一個棒球砸向馬里奧時,遊戲玩家都知道通過跳起來躲避,而人工智能只知道傻傻往前跑,直到被棒球砸中後背。通過反覆的試錯實驗,它能夠保證最後的勝率,但是稍微升級以下游戲或改變版本,人工智能卻必須從頭學起,由此可見深度學習對於環境依賴性太強,環境稍一改變,算法就失效了,又得重新訓練.

可理解性差

依據規則而寫的程序給出的執行結果,可以從源代碼中追蹤到每一個if else。而深度學習的算法類似於一個黑箱,其內部執行過程完全不被人所理解。深度學習算法在成千上萬個節點之間建立映射,並給出輸入與輸出之間的關係, 但是這種關係卻無法被人所理解。即使是開發出此算法的親生工程師也常常會對結果困惑不解。當深度學習應用於容錯率較高的系統時,這個缺點看起來似乎無關緊要。但是想象一下,如果是應用於法庭判決嫌疑人的命運,或者醫療中決定對患者的處理之類的領域之中,任何微小的錯誤都會導致不可逆轉的致命結果。

為什麼不能實現真正的智能

深度學習最大的一個侷限是把數據中最常遇見的內容作為真理,把統計學上較稀少的東西看作假的。深度學習的公正性並非來自其自身,而是人類篩選和準備的數據。深度學習無法解釋其自身決策,除了「我(深度學習)讀到最多的是「某觀點是正確的」,因此它應該是正確的」。深度學習將會學習並模仿最具缺陷的邏輯,包括一些比較極端的行為。甚至孩童可以自己明白電影中那個傢伙是壞人,但是深度學習做不到,除非人類首先明確教導它。深度學習中有些東西很酷,比如帶有反向傳播的梯度下降、自定義深度學習硬件,但這些大多是統計學和幾何學方面的內容的,很可能在未來的人工智能時代不會出現.

最後,歡迎大家關注我的頭條號,會有大量深度學習相關資源不間斷放送.


深度學習中文社區


全面智能也只是相對人的需求來說吧。可能以後無人駕駛之類的能夠實現,再比如智能做飯之類。說到底只是方便自己。只要努力,夠懶,總有一天會實現這些。深度學習,然後用於智能。那也是很長遠的事。人,不可能受控於智能,依賴可以,受控於智能就太危言聳聽了。


分享到:


相關文章: