-
1 # 賣女裝衣服的司機
-
2 # 深度學習中文社群
深度學習的原理深度學習的優勢深度學習的侷限性為什麼不能實現真正的智慧深度學習的原理
深度學習中最重要的一個概念叫做人工神經網路。人工神經網路是一種模仿生物神經網路行為特徵,進行分散式並行資訊處理的演算法數學模型。這種網路透過調整內部大量節點(神經元)之間相互連線的權重,從而達到處理資訊的目的。
如上圖所示的是一個"神經元"的基本結構,也叫做感知器.它接受多個輸入(x1,x2,x3...),產生一個輸出(output),好比神經末梢感受各種外部環境的變化,最後產生電訊號。
而當多個神經元互相連線起來過後,就產生了以下的結構.
上圖中,底層感知器接收外部輸入,做出判斷以後,再發出訊號,作為上層感知器的輸入,直至得到最後的結果。(注意:感知器的輸出依然只有一個,但是可以傳送給多個目標。)
而深度學習的過程就是將未經處理的資料(影象,聲音資訊或者文字資訊)輸入至輸出層的“輸入單元”;輸入資訊經過一定的對映輸出至輸出層的“輸出節點”,檢測誤差然後透過最佳化演算法來調整神經元之間的連結權重來改善,大量重複的最佳化過程。對映的方法根據使用者定義,比如說,輸入的圖畫中有貓咪,輸入的聲音片段中有“hello”。
深度學習是一種透過多層神經網路對資訊進行抽取和表示,並實現分類、檢測等複雜任務的演算法架構。深度神經網路作為深度學習演算法的核心組成部分,在輸入與輸出層之間包含有多層隱藏層,使得演算法可以完成複雜的分類關係。
所以,深度學習最後學習出來的是一種可以擬合事物間關係的對映,相當於一種演算法黑箱,不是真正的智慧.
深度學習的優勢這裡既然要講優勢,那肯定得有對比的物件,所以我們在這裡對比傳統的機器學習演算法,來介紹一下深度學習的優勢.
遠遠超越傳統機器學習方法的表現
在目前的語音識別與合成、自然語言處理、計算機視覺以及遊戲競技等方面,深度學習實現的準確度已經遠遠超過傳統機器學習方法的精確度。在許多工中,經典機器學習甚至無法競爭。例如,下圖顯示了ImageNet資料集上不同方法的影象分類準確性,藍色表示經典機器學習方法,紫色表示深度卷積神經網路(CNN)方法。
資料量增大對於準確率提升效果明顯
與傳統機器學習演算法相比,深度網路可以使用更多的資料進行更好地擴充套件。很多時候,透過深層網路來使用更多的資料會使準確率不斷的進行提升,直到某一個瓶頸,需要進一步改良演算法才能繼續提升. 而我們在使用經典的機器學習演算法時,增加訓練資料量這種簡單快速的提升正確率方法甚至幾乎沒有效果,並且我們通常需要使用更復雜的方法來提高準確性。
不再需要繁瑣的特徵工程
經典的機器演算法通常需要人工進行復雜的特徵工程工作。首先在資料集上執行深度探索性資料分析,然後做一個簡單的降低維數的處理。最後,必須仔細選擇最佳功能以傳遞給機器學習演算法。噹噹我們使用深度網路時,完全不需要這樣做,因為只需將資料直接傳遞到網路,通常就可以實現良好的效能。這消除了整個過程的繁瑣複雜且非常具有挑戰性的特徵工程階段。
可重新遷移訓練,且易於轉換
與傳統的機器學習演算法相比,深度學習技術可以更容易地適應不同的領域和應用。首先,遷移學習使得預先訓練的深度網路適用於同一領域內的不同應用程式是有效的。
其次,如果我們一旦瞭解了語音識別領域的一些基礎的深度學習理論,那麼學習如何將深度網路應用於自然語言處理過程中將是一件不太具有挑戰性的工作,因為他們之間的基礎知識非常相似。而經典的機器學習演算法來說,在不同的領域和應用的知識庫是基本上完全不同的,所以很難將演算法進行跨領域應用.
深度學習的侷限性我在此僅說說我理解的深度學習的侷限性,不一定完整.我覺得深度學習的侷限性主要有以下幾點:
訓練需要大量的資料
決策上對資料過度依賴
可遷移性差
可理解性差
訓練需要大量資料
深度學習演算法需要大量的資料做訓練,比如說如果你想從圖片中準確的識別出是否包含“貓咪”,那麼你需要事先用成千上萬張圖片來訓練它。訓練的資料量越大,模型的準確性越高。如今大公司之間為了不惜一切代價的爭奪資料,甚至願意免費提供服務以換取資料。其原因正是因為擁有越多的資料,就擁有越高的演算法準確性和越有效的服務,從而可以吸引更多的使用者,然後在競爭中形成良性迴圈。
對於深度學習演算法來說,缺乏一個“下定義”的過程,即一個從特殊到一般的提煉過程,好的效果必須依託於成千上萬甚至更多的訓練樣本之上。
決策上對資料過度依賴
深度學習對於資料的過度依賴也會帶來一些使用安全性上的問題。Marcus說過:“深度學習非常善於對特定領域的絕大多數現象作出判斷,另一方面它也會被愚弄。” 這便涉及到對抗樣本對於深度學習演算法的攻擊。透過對交通標誌進行一些很小的塗改,深度學習演算法就會將停止與限速的交通標記判斷錯誤,還有可能無法區分沙堆與肉色針織物。
可遷移性差
深度學習非常擅長建立輸入與輸出之間的對映關係,卻不擅長總結髮現其中的內在物理聯絡。透過大量的訓練,深度學習演算法可以打敗最好的人類超級瑪麗玩家,然而這並不代表人工智慧對於遊戲有著和人一樣的領悟能力,當一個棒球砸向馬里奧時,遊戲玩家都知道透過跳起來躲避,而人工智慧只知道傻傻往前跑,直到被棒球砸中後背。透過反覆的試錯實驗,它能夠保證最後的勝率,但是稍微升級以下游戲或改變版本,人工智慧卻必須從頭學起,由此可見深度學習對於環境依賴性太強,環境稍一改變,演算法就失效了,又得重新訓練.
可理解性差
依據規則而寫的程式給出的執行結果,可以從原始碼中追蹤到每一個if else。而深度學習的演算法類似於一個黑箱,其內部執行過程完全不被人所理解。深度學習演算法在成千上萬個節點之間建立對映,並給出輸入與輸出之間的關係, 但是這種關係卻無法被人所理解。即使是開發出此演算法的親生工程師也常常會對結果困惑不解。當深度學習應用於容錯率較高的系統時,這個缺點看起來似乎無關緊要。但是想象一下,如果是應用於法庭判決嫌疑人的命運,或者醫療中決定對患者的處理之類的領域之中,任何微小的錯誤都會導致不可逆轉的致命結果。
為什麼不能實現真正的智慧深度學習最大的一個侷限是把資料中最常遇見的內容作為真理,把統計學上較稀少的東西看作假的。深度學習的公正性並非來自其自身,而是人類篩選和準備的資料。深度學習無法解釋其自身決策,除了「我(深度學習)讀到最多的是「某觀點是正確的」,因此它應該是正確的」。深度學習將會學習並模仿最具缺陷的邏輯,包括一些比較極端的行為。甚至孩童可以自己明白電影中那個傢伙是壞人,但是深度學習做不到,除非人類首先明確教導它。深度學習中有些東西很酷,比如帶有反向傳播的梯度下降、自定義深度學習硬體,但這些大多是統計學和幾何學方面的內容的,很可能在未來的人工智慧時代不會出現.
回覆列表
全面智慧也只是相對人的需求來說吧。可能以後無人駕駛之類的能夠實現,再比如智慧做飯之類。說到底只是方便自己。只要努力,夠懶,總有一天會實現這些。深度學習,然後用於智慧。那也是很長遠的事。人,不可能受控於智慧,依賴可以,受控於智慧就太危言聳聽了。