「週末篇」快速瞭解深度學習的工作原理


「週末篇」快速瞭解深度學習的工作原理


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

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

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

背景

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

人工智能與機器學習

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


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

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

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


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

監督學習與無監督學習

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


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

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

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

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


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

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

相反,它將創建自己的輸入數據分類。它會告訴您哪種用戶最有可能購買不同的產品。

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

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

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

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

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

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

神經網絡

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

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


「週末篇」快速瞭解深度學習的工作原理


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

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

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

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

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

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


「週末篇」快速瞭解深度學習的工作原理


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

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

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

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


「週末篇」快速瞭解深度學習的工作原理


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

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

一旦輸入數據集通過神經網絡的所有層,它就會通過輸出層返回輸出數據。

沒什麼複雜的吧?

訓練神經網絡

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

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


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

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

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

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

我們如何降低成本函數?

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

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

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

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


「週末篇」快速瞭解深度學習的工作原理


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

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

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

綜上所述…

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

自然語言處理 (Natural Language Processing,NLP) 是計算機科學領域與人工智能領域中的一個重要方向。它研究能夠實現人與計算機之間用自然語言進行有效通信的各種理論和方法。

目前市面上非常缺乏自然語言處理方面的人才,對應的薪水也要高於其他崗位1倍以上,甚至更高。有2,3年經驗的人才要價50-60萬年薪是很正常的一件事情!


分享到:


相關文章: