什麼是機器學習?

機器學習是一種電腦程式,可以學習如何在沒有明確指令的情況下執行任務。

學習目標

閱讀本文後,您將能夠:

  • 定義機器學習
  • 說明機器學習的工作原理
  • 區分機器學習模型和演算法

複製文章連結

什麼是機器學習?

機器學習是指一種無需明確指令即可學習的統計演算法。這使得它能夠根據範例進行概括來獨立完成某些任務,例如模式識別。機器學習是人工智慧 (AI) 的一部分,後者是指電腦複製人類認知活動的能力。

機器學習有廣泛的用途,包括:

  • 識別垃圾郵件
  • 偵測機器人活動
  • 在串流媒體平台和社交媒體應用程式上向使用者推薦內容
  • 提供搜尋引擎結果
  • 語音和影像識別
  • 聊天機器人和語言翻譯
  • 醫學研究

機器學習與人工智慧

機器學習和 AI 並不完全是一回事;機器學習是屬於 AI 範疇的一門學科。但並非所有 AI 都涉及機器學習,因為 AI 還可以包含一系列其他能力。

機器學習是如何運作的?

機器學習基於輸入和輸出。機器學習演算法接收資料(輸入),並使用該資料(輸入)產生結果(輸出)。機器學習模型「學習」產生什麼樣的輸出,它可以透過三種主要方法來實現:

1. 監督學習

對於最基本的機器學習程序,程式設計師會規劃一組範例輸入和正確的輸出。機器學習演算法嘗試從這些範例中進行概括,以便在單獨輸入一個輸入時,它可以產生所需的輸出。

想像一下,一位廚師擁有一個裝滿食材的廚房(輸入)和和一份菜單,菜單上有大量完成的菜餚範例(輸出)。透過以不同的方式組合食材,並將成品與菜餚範例進行比較,廚師最終可以開發出烹飪菜單上的菜餚所需的食譜。同樣,監督學習使演算法能夠學習如何在沒有程式設計指令(或配方)的情況下產生正確的結果。

2. 無監督學習

無監督學習是指向更進階的機器學習演算法提供原始資料。然後它會自行識別模式。想像一下一位廚師,他的技術足夠高超,只需查看菜單即可想出烹飪這些菜餚的食譜。

3. 強化學習

在這種學習方式中,機器學習演算法是透過回饋進行訓練的。有「好」的輸出和「不好」的輸出,並且隨著時間的推移,它會學習如何避免不好的輸出。

強化學習是一個反覆試驗的過程。想像一下,廚師一開始沒有菜單,但他們做的所有菜餚都由美食評論家評估。最終,在排除美食評論家不喜歡的所有項目後,廚師能夠列出美食評論家喜歡的菜餚清單。

什麼是機器學習模型?

演算法是一組預先程式設計的步驟;機器學習模型是將演算法套用至資料集合後所得的結果。儘管存在這種區別,字詞「機器學習模型」和「機器學習演算法」有時可以互換使用。但差異很重要:兩個機器學習模型即使使用相同的演算法,只要輸入不同的資料作為起點,就可以產生不同的結果。

什麼是深度學習?

深度學習是機器學習的一種。它使用神經網路來學習識別模式並在原始的非結構化資料中進行關聯。深度學習是無監督的,可以執行極為複雜的任務。常用於語音辨識、自動駕駛等進階應用。

什麼是神經網路?

神經網路是一種模仿人腦結構的機器學習方法。神經網路由相互連接的節點組成。這些節點分佈在至少三層:輸入層、輸出層和一個或多個隱藏層。

每層包含多個相互連接的節點。如果一個節點認為資料很重要,則會將該資料傳遞到下一個節點。

回想一下廚師在廚房裡做菜的情景:

  • 如果廚師要做蛋糕,他們可能會先檢查食品儲藏室裡的原料;這就像是神經網路的輸入層。
  • 廚師精選麵粉、雞蛋、糖和可可粉等原料。同時,不會選擇雞湯或米等原料。這就像將具有統計意義的資料傳遞到下一個節點。
  • 廚師以多種方式組合原料——混合蛋糕麵糊、製作糖霜等等。將其視為神經網路的隱藏層,節點之間相互傳遞資料。
  • 最後,主廚烘焙蛋糕、撒上糖霜並上桌;這就像輸出層。在此過程中,不相關或不正確的資料(例如不必要的成分和不正確的混合組合)被消除。

什麼是向量資料庫?

向量資料庫是一種增強機器學習的資料儲存方法。向量資料庫允許相似性搜尋和識別相關項目,而不是精確匹配查詢。以這種方式儲存資料有助於機器學習模型理解它們收到的輸入的上下文。

向量資料庫將項目儲存在具有不同維度的矩陣中,並且向量指定每個資料項目在這些維度上的位置。這使得機器學習模型能夠找到與其他資料相關的資料。例如,串流媒體平台可以將機器學習與向量資料庫配對,以便根據觀眾過去的觀看歷史記錄來確定向觀眾推薦哪些電影。

建置機器學習模型面臨哪些挑戰?

資料輸出:即使是最進階的深度學習模型也需要存取海量資料集才能獲得準確的結果。雲端儲存體是儲存這些大數據集的理想選擇,因為雲端運算幾乎可以無限擴展。然而,存取這些資料通常會產生輸出費用:雲端提供者為從儲存體傳輸資料而收取的費用。

運算能力和基礎架構:機器學習,尤其是深度學習,需要大量的運算能力。機器學習模型需要使用專門且昂貴的硬體或雲端服務,例如多個快速、GPU 驅動的伺服器。(GPU(圖形處理單元)比傳統 CPU 更強大。)

Cloudflare 如何幫助開發人員建置機器學習?

Cloudflare 提供一系列服務,讓任何人都能輕鬆使用機器學習。Cloudflare Workers AI 是一個全球 GPU 網路,開發人員可以使用它來執行產生式 AI 任務。Cloudflare Vectorize 讓開發人員能夠使用全球分散式向量資料庫。而且,Cloudflare R2 是一種不收取輸出費用的物件儲存體,使開發人員能夠在雲端中儲存大型資料集並免費傳輸該資料。深入瞭解 Cloudflare for AI