用三張圖理解深度學習的工作原理

dicksonjyl560101發表於2018-12-17

用三張圖理解深度學習的工作原理

 

 

1 ,用三張圖理解深度學習的工作原理

現在你已經知道, 機器學習是將輸入(比如影像)對映到目標(比如標籤“貓”),這一過程是透過觀察許多輸入和目標的示例來完成的。 你還知道, 深度神經網路透過一系列簡單的資料變換(層)來實現這種輸入到目標的對映,而這些資料變換都是透過觀察示例學習到的。 下面來具體看一下這種學習過程是如何發生的。

 

神經網路中每層對輸入資料所做的具體操作儲存在該層的權重(weight)中 ,其本質是一串數字。用術語來說,每層實現的變換由其權重來引數化(parameterize,見圖 1-7)。 權重有時也被稱為該層的引數(parameter)。在這種語境下,學習的意思是為神經網路的所有層找到一組權重值,使得該網路能夠將每個示例輸入與其目標正確地一一對應。 但重點來了:一個深度神經網路可能包含數千萬個引數。找到所有引數的正確取值可能是一項非常艱鉅的任務,特別是考慮到修改某個引數值將會影響其他所有引數的行為。

圖 1-7 神經網路是由其權重來引數化

 

想要控制一件事物,首先需要能夠觀察它。 想要控制神經網路的輸出,就需要能夠衡量該輸出與預期值之間的距離。這是神經網路損失函式(loss function)的任務,該函式也叫目標函式(objective function)。損失函式的輸入是網路預測值與真實目標值(即你希望網路輸出的結果),然後計算一個距離值,衡量該網路在這個示例上的效果好壞(見圖 1-8)。

圖 1-8 損失函式用來衡量網路輸出結果的質量

 

深度學習的基本技巧是利用這個距離值作為反饋訊號來對權重值進行微調,以降低當前示例對應的損失值 (見圖 1-9)。 這種調節由最佳化器(optimizer)來完成,它實現了所謂的反向傳播(backpropagation)演算法,這是深度學習的核心演算法。 下一章中會詳細地解釋反向傳播的工作原理。

圖 1-9 將損失值作為反饋訊號來調節權重

 

一開始對神經網路的權重隨機賦值,因此網路只是實現了一系列隨機變換。其輸出結果自然也和理想值相去甚遠,相應地,損失值也很高。但隨著網路處理的示例越來越多,權重值也在向正確的方向逐步微調,損失值也逐漸降低。這就是訓練迴圈(training loop),將這種迴圈重複足夠多的次數(通常對數千個示例進行數十次迭代),得到的權重值可以使損失函式最小。具有最小損失的網路,其輸出值與目標值儘可能地接近,這就是訓練好的網路。 再次強調,這是一個簡單的機制,一旦具有足夠大的規模,將會產生魔法般的效果。

 

雖然深度學習是機器學習一個相當有年頭的分支領域,但在 21 世紀前十年才崛起。在隨後的幾年裡,它在實踐中取得了革命性進展,在視覺和聽覺等感知問題上取得了令人矚目的成果,而這些問題所涉及的技術,在人類看來是非常自然、非常直觀的,但長期以來卻一直是機器難以解決的。



2, 深度學習已經取得的進展

特別要強調的是,深度學習已經取得了以下突破,它們都是機器學習歷史上非常困難的領域:

  • 接近人類水平的影像分類

  • 接近人類水平的語音識別

  • 接近人類水平的手寫文字轉錄

  • 更好的機器翻譯

  • 更好的文字到語音轉換

  • 數字助理,比如谷歌即時(Google Now)和亞馬遜 Alexa

  • 接近人類水平的自動駕駛

  • 更好的廣告定向投放,Google、百度、必應都在使用

  • 更好的網路搜尋結果

  • 能夠回答用自然語言提出的問題

  • 在圍棋上戰勝人類

 

我們仍然在探索深度學習能力的邊界。我們已經開始將其應用於機器感知和自然語言理解之外的各種問題,比如形式推理。如果能夠成功的話,這可能預示著深度學習將能夠協助人類進行科學研究、軟體開發等活動。

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2285391/,如需轉載,請註明出處,否則將追究法律責任。

相關文章