JavaRush /Java Blog /Random-TW /深度學習、人工智慧和機器學習傻瓜式:透過範例進行解釋

深度學習、人工智慧和機器學習傻瓜式:透過範例進行解釋

在 Random-TW 群組發布
您想在同事的陪伴下展現您的才智,還是想在當前技術話題的對話中讓您的朋友驚嘆不已?在對話中提及「人工智慧」或「機器學習」就完成了。 深度學習、人工智慧和機器學習傻瓜式:透過範例進行解釋 - 1「人工智慧」這個詞現在已經被廣泛聽到。程式設計師想要學習人工智慧。領導者希望在他們的服務中實施人工智慧。但在實踐中,即使是專業人士也並不總是理解「人工智慧」是什麼。本文旨在幫助您理解術語「人工智慧」和「機器學習」。您還將了解最受歡迎的機器學習類型深度學習的工作原理。而且,重要的是,這些說明是用易於理解的語言編寫的。這裡的數學不會太難理解。

基本

理解深度學習的第一步是理解關鍵術語之間的差異。
深度學習、人工智慧和機器學習傻瓜式:透過範例進行解釋 - 2
圖:數據奈米

人工智慧與機器學習

人工智慧(AI 或 AI agnl.)是一種透過電腦複製人類思考過程的嘗試。當人工智慧領域的研究剛開始時,科學家試圖在一定條件下嚴格複製人類智慧的行為,即磨礪其解決某些問題。例如讓機器可以玩遊戲。他們制定了計算機器必須遵循的許多規則。計算機有一個可能的操作列表,它根據開發階段設定的規則和限製做出決策。
機器學習(英文為ML或ML)是指機器透過處理大量資訊而不是明確定義的規則來學習的能力。
機器學習允許計算機自行學習。這種類型的學習利用了現代計算技術,可以輕鬆處理大量數據。

監督學習與無監督學習

監督學習使用由輸入和預期輸出組成的標記資料集。當您使用監督學習訓練人工智慧時,您提供資料作為輸入並指定輸出應該是什麼。如果AI產生的結果與預期不同,那麼AI必須修正其計算。只要人工智慧出錯,這個過程就會在資料數組上重複多次。監督學習的一個例子是預測天氣的人工智慧。它學習使用歷史數據預測天氣。輸入資料是壓力、濕度和風速,結果我們應該得到溫度。 無監督學習是一項使用非結構化資料訓練人工智慧的任務。當您使用無監督學習來訓練人工智慧時,您可以使人工智慧對資料進行邏輯分類。使用無監督機器學習的人工智慧的一個例子是在線商店中客戶行為的機器人預測器。它無需使用預先已知的輸入和輸出即可學習。相反,它必須對輸入資料本身進行分類。該演算法應該識別並告訴您哪種類型的用戶更喜歡哪種產品。

機器學習的工作原理

因此,深度學習是機器學習的方法之一。它允許您根據給定的輸入資料預測結果。要訓練人工智慧,您可以使用上述兩種選項:監督學習和無監督學習。我們將使用一個清晰的範例來了解深度學習的工作原理:假設我們需要開發一項用於預測航空旅行價格的服務。我們將使用監督方法來訓練我們的演算法。我們希望我們的航空旅行價格預測服務能夠根據以下輸入資料來預測價格(為了方便演示,我們不考慮回程航班):
  • 出發機場;
  • 到達機場;
  • 計劃出發日期;
  • 航空公司。
神經網路 讓我們來看看人工智慧的大腦。與生物體的情況一樣,我們的預測器的「頭部」有神經元。在圖中,它們以圓圈的形式呈現。神經元相互連結。
深度學習、人工智慧和機器學習傻瓜式:透過範例進行解釋 - 3
在影像中,神經元被組合成三組層:
  • 輸入層;
  • 隱藏層1(隱藏層1)和隱藏層2(隱藏層2);
  • 輸出層。
有些資料進入輸入層。在我們的例子中,輸入層有四個神經元:出發機場、抵達機場、出發日期、航空公司。輸入層將資料傳遞到第一個隱藏層。隱藏層根據接收到的輸入資料執行數學計算。建構神經網路時的主要問題之一是隱藏層數量和每層神經元數量的選擇。
「深度學習」一詞中的「深度」一詞表示存在多個隱藏層。
輸出層將結果資訊回傳給我們。在我們的例子中,是航班的預期價格。
深度學習、人工智慧和機器學習傻瓜式:透過範例進行解釋 - 4
到目前為止,我們錯過了最有趣的事:預期價格到底是如何計算的?這就是深度學習的魔力開始的地方。神經元之間的每個連結都被分配一定的權重(係數)。此權重決定了輸入值的重要性。初始權重是隨機設定的。在預測航空旅行費用時,出發日期對價格影響最大。因此,「出發日期」神經元的連結具有更大的權重。
Deep Learning, искусственный интеллект и машинное обучение для чайников: объяснение на примере  - 5
每個神經元都有一個附加的活化函數。如果沒有數學知識,很難理解這個函數是什麼。因此,讓我們進行一些簡化:激活函數的目的是「標準化」神經元的輸出。資料集經過神經網路的所有層後,透過輸出層傳回結果。到目前為止一切都清楚了,對吧?

神經網路訓練

訓練神經網路是深度學習中最困難的部分!為什麼?因為你需要大量的數據。因為你需要更多的運算能力。對於我們的項目,我們需要尋找歷史機票資料。此外,對於出發地和目的地機場、出發日期和不同航空公司的所有可能組合。我們需要大量的票價數據。我們必須將集合中的輸入資料提供給神經網路的輸入,並檢查它們是否與我們已有的結果相符。如果人工智慧得到的結果與預期不同,這意味著它還沒有經過足夠的訓練。一旦我們透過神經網路運行了全部數據,我們就可以建立一個函數來指示人工智慧的結果與資料集中的實際結果有多麼不同。這樣的函數稱為成本函數。在我們竭盡全力爭取的理想情況下,我們的成本函數的值等於零。這意味著神經網路選擇的成本結果與我們資料集中門票的實際成本沒有差異。

我們怎樣才能減少成本函數的值呢?

我們改變神經元之間連結的權重。這可以隨機完成,但這種方法效率不高。相反,我們將使用一種稱為梯度下降的方法。
梯度下降是一種允許我們找到函數最小值的方法。在我們的例子中,我們正在尋找成本函數的最小值。
該演算法的工作原理是在處理資料集的每次新迭代後逐漸增加權重。透過計算某些權重集的成本函數的導數(或梯度),我們可以看到最小值在哪個方向。
Deep Learning, искусственный интеллект и машинное обучение для чайников: объяснение на примере  - 6
圖中:初始權重-初始權重,全域成本最小值-成本函數的全域最小值。 為了最小化成本函數,我們必須對資料集進行多次計算。這就是為什麼您需要大量運算能力。使用梯度下降法自動更新權重。這就是深度學習的魔力!一旦我們訓練了人工智慧航班價格預測服務,我們就可以安全地使用它來預測現實中的價格。

讓我們總結一下...

  • 深度學習使用神經網路來模擬智能。
  • 神經網路中存在三種類型的神經元:輸入層、隱藏層、輸出層。
  • 神經元之間的每個連接都有自己的權重,顯示該輸入的重要性。
  • 神經元使用活化函數來「標準化」神經元的輸出。
  • 要訓練神經網絡,您需要大量數據。
  • 如果我們使用神經網路處理資料數組並將輸出資料與實際資料進行比較,我們將得到一個成本函數,該函數顯示人工智慧的錯誤程度。
  • 每次資料處理後,使用梯度下降法調整神經元之間的權重,以實現成本函數的降低。
連結至原文
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION