深度學習的工作原理

李文哲發表於2019-04-07
深度學習的工作原理

圖片來源: Datanami


人工智慧(AI)機器學習(ML)是目前最熱門的話題。

術語“AI”每天無處不在。經常聽到有抱負的開發者說他們想要學習人工智慧。還聽到高管們說他們希望在他們的服務中實施AI。但很多時候,很多人都不明白AI是什麼。

閱讀完本文後,您將瞭解AI和ML的基礎知識。更重要的是,您將瞭解最受歡迎的ML型別深度學習是如何工作的。

背景

瞭解深度學習如何運作的第一步是掌握重要術語之間的差異。

人工智慧與機器學習

人工智慧是人類智慧在計算機中的複製。

當AI研究首次開始時,研究人員正試圖複製人類智慧以執行特定任務 - 比如玩遊戲。

他們介紹了計算機需要尊重的大量規則。計算機有一個特定的可能操作列表,並根據這些規則做出決策。

機器學習是指機器使用大型資料集而不是硬編碼規則進行學習的能力。

ML允許計算機自己學習。這種型別的學習利用了現代計算機的處理能力,可以輕鬆處理大型資料集。

監督學習與無監督學習

監督學習涉及使用具有輸入和預期輸出的標記資料集。

當您使用監督學習訓練AI時,您可以給它一個輸入並告訴它預期的輸出。

如果AI生成的輸出錯誤,則會重新調整其計算結果。這個過程在資料集上迭代完成,直到AI不再犯錯誤為止。

監督學習的一個例子是天氣預測AI。它學會使用歷史資料預測天氣。該訓練資料具有輸入(壓力,溼度,風速)和輸出(溫度)。

無監督學習是使用沒有指定結構的資料集進行機器學習的任務。

當您使用無監督學習訓練AI時,您可以讓AI對資料進行邏輯分類。

無監督學習的一個例子是電子商務網站的行為預測AI。它不會通過使用標記的輸入和輸出資料集來學習。

相反,它將建立自己的輸入資料分類。它會告訴您哪種使用者最有可能購買不同的產品。

現在,深度學習如何運作?

您現在已準備好了解深度學習是什麼以及它是如何工作的。

深度學習是一種機器學習方法。它允許我們在給定一組輸入的情況下訓練AI來預測輸出。有監督和無監督學習都可以用來訓練AI。

我們將通過建立假設的機票價格估算服務來了解深度學習的工作原理。我們將使用有監督的學習方法對其進行訓練。

我們希望我們的機票價格估算器使用以下輸入預測價格(為簡單起見,我們不包括退票):

  • 起源機場
  • 目的地機場
  • 出發日期
  • 航空公司

神經網路

讓我們看看人工智慧的大腦內部。

像動物一樣,我們的估算器AI的大腦有神經元。它們由圓圈表示。這些神經元是相互連線的。

深度學習的工作原理

圖片來源: CS231n


神經元被分為三種不同型別的層:

  • 輸入層
  • 隱藏層
  • 輸出層

輸入層接收輸入資料。在我們的例子中,我們在輸入層有四個神經元:Origin機場,目的地機場,出發日期和航空公司。輸入層將輸入傳遞給第一個隱藏層。

隱藏圖層上我們投入的數學計算。建立神經網路的挑戰之一是決定隱藏層的數量,以及每層的神經元數量。

深度學習中的“ 深層 ”是指具有多個隱藏層。

在輸出層返回的輸出資料。在我們的例子中,它給了我們價格預測。

深度學習的工作原理

那麼它如何計算價格預測呢?

這就是深度學習的魔力所在。

神經元之間的每個連線與權重相關聯。這個權重決定了輸入值的重要性。初始權重是隨機設定的。

在預測機票價格時,出發日期是較重的因素之一。因此,出發日期神經元連線將具有很大的權重。

深度學習的工作原理

圖片來源:CodeProject


每個神經元都有一個啟用功能。沒有數學推理,這些函式很難理解。

簡而言之,其目的之一是“標準化”神經元的輸出。

一旦輸入資料集通過神經網路的所有層,它就會通過輸出層返回輸出資料。

沒什麼複雜的吧?

訓練神經網路

培訓AI是深度學習中最難的部分。為什麼?

  1. 您需要一個大型資料集。
  2. 您需要大量的計算能力。


對於我們的機票價格估算器,我們需要查詢機票價格的歷史資料。由於大量可能的機場和出發日期組合,我們需要一個非常大的票價列表。

為了訓練AI,我們需要從資料集中提供輸入,並將其輸出與資料集的輸出進行比較。由於人工智慧尚未經過培訓,其產出將是錯誤的。

一旦我們完成整個資料集,我們就可以建立一個函式,向我們展示AI輸出與實際輸出的錯誤。此功能稱為成本函式。

理想情況下,我們希望我們的成本函式為零。那時我們的AI輸出與資料集輸出相同。

我們如何降低成本函式?

我們改變神經元之間的權重。我們可以隨機更改它們直到我們的成本函式很低,但這不是很有效。

相反,我們將使用一種名為Gradient Descent的技術。

Gradient Descent是一種允許我們找到函式最小值的技術。在我們的例子中,我們正在尋找最低成本函式。

它的工作原理是在每次資料集迭代後以小增量改變權重。通過計算成本函式在某一組權重下的導數(或梯度),我們能夠看出最小值的方向。

深度學習的工作原理

圖片來源:Sebastian Raschka


要最小化成本函式,您需要多次遍歷資料集。這就是您需要大量計算能力的原因。

使用梯度下降更新權重是自動完成的。這就是深度學習的魔力!

一旦我們訓練了我們的機票價格估算器AI,我們就可以用它來預測未來的價格。

綜上所述…

  • 深度學習使用神經網路來模仿動物智力。
  • 神經網路中有三種型別的神經元層:輸入 層,隱藏層和輸出層。
  • 神經元之間的連線與權重相關聯,決定了輸入值的重要性。
  • 神經元對資料應用啟用函式以“標準化”來自神經元的輸出。
  • 要訓練神經網路,您需要一個大型資料集。
  • 迭代資料集並比較輸出將產生一個成本函式,表示AI從實際輸出中脫離了多少。
  • 在通過資料集的每次迭代之後,使用梯度下降來調整神經元之間的權重以降低成本函式。


相關文章