用三張圖理解深度學習的工作原理
用三張圖理解深度學習的工作原理
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深度學習的工作原理深度學習
- 自我學習與理解:keras框架下的深度學習(三)迴歸問題Keras框架深度學習
- 深入理解深度學習深度學習
- 深度學習淺層理解深度學習
- 一張圖看懂AI、機器學習和深度學習的區別AI機器學習深度學習
- 一張圖瞭解深度學習的前世今生——資訊圖深度學習
- 三張圖理解JavaScript原型鏈JavaScript原型
- C#中的深度學習(三):理解神經網路結構C#深度學習神經網路
- 深入理解JS中的物件(三):class 的工作原理JS物件
- 讓 PM 全面理解深度學習深度學習
- Webpack學習-工作原理(上)Web
- Webpack學習-工作原理(下)Web
- 如何理解雅克比矩陣在深度學習中的應用?矩陣深度學習
- 用於HPC和深度學習工作負載的容器技術深度學習負載
- 深度學習及深度強化學習應用深度學習強化學習
- 深度學習新星:GAN的基本原理、應用和走向深度學習
- 【深度學習】深度學習:技術原理、迭代路徑與侷限深度學習
- 樸素貝葉斯深度解碼:從原理到深度學習應用深度學習
- 理解 HTTPS 的工作原理HTTP
- 深度學習 SSD的理解和細節分析深度學習
- 零基礎入門深度學習工作原理?看本文就對了!深度學習
- 一張圖揭祕Google眼鏡工作原理Go
- 一張圖揭祕谷歌眼鏡工作原理谷歌
- “深度學習三巨頭”來了倆,Hinton、LeCun預言深度學習的未來深度學習LeCun
- 深度理解C# 的執行原理C#
- 理解Transformer [資料探勘深度學習]ORM深度學習
- Servlet 工作原理解析Servlet
- 深度學習已成功應用於這三大領域深度學習
- [譯] 深度學習能力的三個等級深度學習
- 三大框架的工作原理框架
- 深度學習(三)之LSTM寫詩深度學習
- 用一個實際例子理解Dockervolume工作原理Docker
- 一文帶你理解深度學習的侷限性深度學習
- 【深度學習】深度解讀:深度學習在IoT大資料和流分析中的應用深度學習大資料
- 深度學習的應用與實踐深度學習
- 深度學習在OC中的應用深度學習
- 深入理解學習Git工作流Git
- 乾貨:HashMap的工作原理解析HashMap