05.15 關於深度學習的這些“地雷”可別再“踩”了

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

關於深度學習的這些“地雷”可別再“踩”了

“AI”作為術語似乎隨處可見。在日常生活中,你會聽到開發者說他們想學人工智能,你還會聽到高管們說他們希望在他們的工作中實現人工智能。但多數情況下,這些人都不是很明白什麼是人工智能。

所以我們特意摘錄了這篇文章。希望通過這篇文章,你會對AI和ML有基本的瞭解。當然,你還將明白什麼是深度學習,以及最流行的ML類型。

(為了便於人們的理解,本篇內容不含高等數學。)

前提

理解深度學習的第一步是抓住重要術語之間的區別。

1.人工智能與機器學習

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

在人工智能研究初期,研究人員就試圖在計算機上覆制人類的智慧,以完成特定的任務。比如玩遊戲,研究人員給計算機制定規則。讓計算機有一份具體的、可行的行動清單,並通過清單作出進一步的判斷。

而機器學習指機器使用大數據集而不是通過編碼進行學習的能力。讓計算機自己學習是利用了現代計算機的處理能力。現代計算機可以很容易地處理大數據集。

2.監督學習與非監督學習

監督學習多與具有輸入和預期輸出的標記數據集相關聯。當你用監督學習訓練人工智能時,你需要給它一個輸入值,並明確它輸出值的範圍。如果AI產生的輸出超出了範圍,它將調整並重新計算。這個過程是在數據集上迭代完成的,直到AI不再“犯”錯誤。

有監督學習的常見例子是人工智能下的天氣預報,它學習歷史數據預測天氣。訓練數據有輸入(壓力、溼度、風速)和輸出(溫度)。

無監督學習是使用沒有指定結構的數據集進行機器學習。當你使用無監督學習訓練人工智能時,你需要讓人工智能對數據進行分類。

無監督學習的常見例子是對電子商務網站的行為預測。無監督學習不會通過使用帶有標籤的輸入和輸出數據集來學習。相反,它將創建自己的輸入數據分類。它會告訴你哪種用戶有可能購買那種產品。

目前深度學習是如何工作的?

我們將通過建立一個假設來了解深度學習是如何工作的。以對機票價格估算為例。我們用監督學習的方法來訓練它。

我們希望我們的“人工智能”使用以下輸入來預測價格(為了簡單起見,我們不包括回程機票):

  • 出發地機場

  • 目的地機場

  • 起飛日期

  • 航空公司

  • 神經網絡

1.先讓我們瞭解一下我們人工智能的核心

和動物一樣,我們的AI“大腦”也有神經元的。它們由圓圈代表。這些神經元是相互連接的。

關於深度學習的這些“地雷”可別再“踩”了

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

  • 輸入層

  • 隱藏層

  • 輸出層

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

隱藏層開始對我們的輸入內容進行數學計算。(創建神經網絡的挑戰之一是隱藏層的數量以及每一層的神經元數量。)要知道,“深“在深度學習中,指的不止一個隱藏層。

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

關於深度學習的這些“地雷”可別再“踩”了

那麼它是如何計算價格預測的呢?這便是深度學習的魔力了。

每一個連接的神經元之間都有重量。這個權重決定了輸入值的重要性。(初始權值是隨機設置的。)

在預測機票價格時,起飛日期是一個非常重要的因素。因此,起飛日期神經元連接的將也是一個很重要的因素。

關於深度學習的這些“地雷”可別再“踩”了

每個神經元都有一個激活函數。這些函數沒有數學的推理,將很難理解。簡單地說,它是對神經元輸出的“標準化”。一旦一組輸入數據通過了神經網絡的所有層,它就會通過輸出層返回輸出數據。沒什麼複雜的對吧?

2.神經網絡訓練

訓練人工智能是深度學習中最難的部分。你需要一個大數據集,需要一個大數額計算能力。

對於我們的“人工智能機票預計器”,我們需要找到原有的機票價格數據。而且,受制於機場數量和起飛日期,我們可能需要一份非常龐大的清單。

為了訓練人工智能,我們需要給它輸入來自我們的數據集,並比較它的輸出和輸出的數據集。在初期,由於人工智能仍未經過訓練,它出錯率很高。

我們檢查整個數據集,然後創建一個函數。這個函數將幫助我們判斷AI的出錯率。(這個函數通常稱為成本函數。)當我們的AI輸出與數據集輸出相同時,我們希望成本函數為零。

3.怎樣才能降低成本?

常見的方法是改變神經元之間的重量,直到成本降低。但這個方法不夠有效。我們建議使用一種稱為梯度下降的技術。

這個函數可以使用函數的最小值。在上面的例子中,我們正在尋找成本函數的最小值。

關於深度學習的這些“地雷”可別再“踩”了

它的工作原理是在每次數據集迭代後改變重量,通過計算成本函數在某一組權重下的導數(或梯度),進而確定函數最小值的方向。

為了讓成本函數最小化,你需要使用多次迭代數據集。這也是為什麼你需要大量的計算能力。

我在哪裡能學到更多?

還有許多其他類型的神經網絡:如卷積神經網絡和遞歸神經網絡。如果你想學習深度學習的具體技術,你可以報一門網課。

總結

深度學習是採用神經網絡對人類智力進行模擬。

在一個神經網絡中有三種類型的神經元:輸入層、隱藏層和輸出層。

神經元之間的聯繫與權重有關,這也決定了輸入值的重要性。

神經元對數據應用有激活功能。

要訓練一個神經網絡,你需要一個大的數據集。

迭代數據集並比較輸出將產生一個成本函數。成本函數將幫助我們進一步瞭解“AI”。

通過數據集的每一次迭代,利用梯度下降調整神經元間的權重,從而降低成本函數的值。


分享到:


相關文章: