新手必看:深度學習是什麼?它的工作原理是什麼?
本文為 AI 研習社編譯的技術博客,原標題 :
What is Deep Learning and how does it work? The easy guide for everyone
作者 | Alexandre Gonfalonieri
翻譯 | M惠M、孫大力
校對 | 醬番梨 整理 | 菠蘿妹
原文鏈接:
https://towardsdatascience.com/what-is-deep-learning-and-how-does-it-work-the-easy-guide-for-everyone-3fd7b65dbd55
我們都熟悉「人工智慧」這個詞。但你最近可能聽說過「機器學習」 ( Machine Learning )和「深度學習」 ( Deep Learning ) 等其他術語,它們有時會與人工智慧 ( AI ) 互換使用。因此,人工智慧、機器學習和深度學習之間的區別可能非常不清楚。
關於這個主題的文章通常都有很多的高等數學、代碼,或者是其他令人困惑的高層次,以致於無法觸及。
通過本文,您將了解AI和機器學習的基礎知識。此外,您將了解最流行的機器學習類型深度學習是如何工作的。
定義在深入學習深度學習的原理之前,我們必須先解釋下重要術語之間的差異。
人工智慧vs機器學習
人工智慧是計算機科學的一個分支,研究計算機中智能行為的模擬。
每當一台機器根據一組預先定義的解決問題的規則來完成任務時,這種行為就被稱為人工智慧。
開發人員引入了大量計算機需要遵守的規則。計算機內部存在一個可能行為的具體清單,它會根據這個清單做出決定。如今,人工智慧是一個概括性術語,涵蓋了從高級演算法到實際機器人的所有內容。
我們有四個不同層次的AI,讓我們來解釋前兩個:
弱人工智慧,也被稱為狹義人工智慧,是一種為特定的任務而設計和訓練的人工智慧系統。弱人工智慧的形式之一是虛擬個人助理,比如蘋果公司的Siri。
強人工智慧,又稱人工通用智能,是一種具有人類普遍認知能力的人工智慧系統。當計算機遇到不熟悉的任務時,它具有足夠的智能去尋找解決方案。
機器學習是指計算機使用大數據集而不是硬編碼規則來學習的能力。
機器學習允許計算機自己學習。這種學習方式利用了現代計算機的處理能力,可以輕鬆地處理大型數據集。
基本上,機器學習是人工智慧的一個子集;更為具體地說,它只是一種實現AI的技術,一種訓練演算法的模型,這種演算法使得計算機能夠學習如何做出決策。
從某種意義上來說,機器學習程序根據計算機所接觸的數據來進行自我調整。
監督式學習vs非監督式學習
監督式學習需要使用有輸入和預期輸出標記的數據集。
當你使用監督式學習訓練人工智慧時,你需要提供一個輸入並告訴它預期的輸出結果。
如果人工智慧產生的輸出結果是錯誤的,它將重新調整自己的計算。這個過程將在數據集上不斷迭代地完成,直到AI不再出錯。
監督式學習的一個例子是天氣預報人工智慧。它學會利用歷史數據來預測天氣。訓練數據包含輸入(過去天氣的壓力、濕度、風速)和輸出(過去天氣的溫度)。
我們還可以想像您正在提供一個帶有標記數據的計算機程序。例如,如果指定的任務是使用一種圖像分類演算法對男孩和女孩的圖像進行分類,那麼男孩的圖像需要帶有「男孩」標籤,女孩的圖像需要帶有「女孩」標籤。這些數據被認為是一個「訓練」數據集,直到程序能夠以可接受的速率成功地對圖像進行分類,以上的標籤才會失去作用。
它之所以被稱為監督式學習,是因為演算法從訓練數據集學習的過程就像是一位老師正在監督學習。在我們預先知道正確的分類答案的情況下,演算法對訓練數據不斷進行迭代預測,然後預測結果由「老師」進行不斷修正。當演算法達到可接受的性能水平時,學習過程才會停止。
非監督式學習是利用既不分類也不標記的信息進行機器學習,並允許演算法在沒有指導的情況下對這些信息進行操作。
當你使用非監督式學習訓練人工智慧時,你可以讓人工智慧對數據進行邏輯分類。這裡機器的任務是根據相似性、模式和差異性對未排序的信息進行分組,而不需要事先對數據進行處理。
非監督式學習的一個例子是亞馬遜等電子商務網站的行為預測AI。
它將創建自己輸入數據的分類,幫助亞馬遜識別哪種用戶最有可能購買不同的產品(交叉銷售策略)。
另一個例子是,程序可以任意地使用以下兩種演算法中的一種來完成男孩女孩的圖像分類任務。一種演算法被稱為「聚類」,它根據諸如頭髮長度、下巴大小、眼睛位置等特徵將相似的對象分到同一個組。另一種演算法被稱為「相關」,它根據自己發現的相似性創建if/then規則。換句話說,它確定了圖像之間的公共模式,並相應地對它們進行分類。
深度學習如何工作
什麼是深度學習,以及它是如何工作的。
深度學習是一種機器學習方法 , 它允許我們訓練人工智慧來預測輸出,給定一組輸入(指傳入或傳出計算機的信息)。監督學習和非監督學習都可以用來訓練人工智慧。
Andrew Ng:「與深度學習類似的是,火箭發動機是深度學習模型,燃料是我們可以提供給這些演算法的海量數據。」
我們將通過建立一個公交票價估算在線服務來了解深度學習是如何工作的。為了訓練它,我們將使用監督學習方法。
我們希望我們的巴士票價估價師使用以下信息/輸入來預測價格:
神經網路
神經網路是一組粗略模仿人類大腦,用於模式識別的演算法。神經網路這個術語來源於這些系統架構設計背後的靈感,這些系統是用於模擬生物大腦自身神經網路的基本結構,以便計算機能夠執行特定的任務。
和人類一樣, 「AI價格評估」也是由神經元(圓圈)組成的。此外,這些神經元還是相互連接的。
神經元分為三種不同類型的層次:
輸入層接收輸入數據。在我們的例子中,輸入層有四個神經元:出發站、目的地站、出發日期和巴士公司。輸入層會將輸入數據傳遞給第一個隱藏層。
隱藏層對輸入數據進行數學計算。創建神經網路的挑戰之一是決定隱藏層的數量,以及每一層中的神經元的數量。
人工神經網路的輸出層是神經元的最後一層,主要作用是為此程序產生給定的輸出,在本例中輸出結果是預測的價格值。
神經元之間的每個連接都有一個權重。這個權重表示輸入值的重要性。模型所做的就是學習每個元素對價格的貢獻有多少。這些「貢獻」是模型中的權重。一個特徵的權重越高,說明該特徵比其他特徵更為重要。
在預測公交票價時,出發日期是影響最終票價的最為重要的因素之一。因此,出發日期的神經元連接具有較大的「權重」。
每個神經元都有一個激活函數。它主要是一個根據輸入傳遞輸出的函數。
當一組輸入數據通過神經網路中的所有層時,最終通過輸出層返回輸出數據。
通過訓練改進神經網路
為了提高「AI價格評估」的精度,我們需要將其預測結果與過去的結果進行比較,為此,我們需要兩個要素:
大量的計算能力;
大量的數據。
訓練AI的過程中,重要的是給它的輸入數據集(一個數據集是一個單獨地或組合地或作為一個整體被訪問的數據集合),此外還需要對其輸出結果與數據集中的輸出結果進行對比。因為AI一直是「新的」,它的輸出結果有可能是錯誤的。
對於我們的公交票價模型,我們必須找到過去票價的歷史數據。由於有大量「公交車站」和「出發日期」的可能組合,因而我們需要一個非常大的票價清單。
一旦我們遍歷了整個數據集,就有可能創建一個函數來衡量AI輸出與實際輸出(歷史數據)之間的差異。這個函數叫做成本函數。即成本函數是一個衡量模型準確率的指標,衡量依據為此模型估計X與Y間關係的能力。
模型訓練的目標是使成本函數等於零,即當AI的輸出結果與數據集的輸出結果一致時(成本函數等於0)。
我們如何降低成本函數呢?
通過使用一種叫做梯度下降的方法。梯度衡量得是,如果你稍微改變一下輸入值,函數的輸出值會發生多大的變化。
梯度下降法是一種求函數最小值的方法。在這種情況下,目標是取得成本函數的最小值。
它通過每次數據集迭代之後優化模型的權重來訓練模型。通過計算某一權重集下代價函數的梯度,可以看出最小值的梯度方向。
為了降低成本函數值,多次遍曆數據集非常重要。這就是為什麼需要大量計算能力的原因。
一旦我們通過訓練改進了AI,我們就可以利用它根據上述四個要素來預測未來的價格。雷鋒網
你應該記住的是…人工智慧可以分為兩類,一般的和狹義的。
機器學習只是實現人工智慧的一種方式。
深度學習是機器學習的一個分支,它使用神經網路來模擬人類的智力。
神經網路中有三種類型的神經元層:輸入層、隱藏層和輸出層。
神經元之間的連接與重量有關
訓練神經網路是很重要的,大數據集是必須的。
想要繼續查看該篇文章相關鏈接和參考文獻?
長按鏈接點擊打開或點擊【新手必看:深度學習是什麼?它的工作原理是什麼?】:
https://ai.yanxishe.com/page/TextTranslation/1260
AI研習社每日更新精彩內容,觀看更多精彩內容:雷鋒網
機器學習 2019:AI 發展趨勢分析遷移學習:如何將預訓練CNN當成特徵提取器馬克!程序員必須收藏的 10 類工具&庫,助你提高效率變大神如何使用 OpenCV 編寫基於 Node.js 命令行界面和神經網路模型的圖像分類等你來譯:雷鋒網
預訓練模型及其應用用Pytorch構建一個自動解碼器(Python)3D人臉處理工具face3d使用遷移學習/數據增強方法來實現Kaggle分類&識別名人臉部


※西班牙AI研究院副院長:AI+教育的終極奧義是「個人助理」
※酷哇、中聯成立合資公司,加快部署自動駕駛環衛領域
TAG:雷鋒網 |