JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

機器學習的幾種主要方式

機器並非只用一種方式學習。本文帶你認識三大類學習方式——從帶標籤的例子裡學、在原始資料中找規律、靠試錯與獎勵來學——每一類都配一個具體例子,並坦誠地說明它們各自適合什麼場景。

「學習」不是一件事

你已經知道讓 人工智慧 區別於普通軟體的那一大步:不是由人把每一條規則寫死,而是讓程式透過「看資料」來變好。這就是機器學習。但「看資料」其實藏著一個真問題——*到底看的是什麼,又在努力把哪件事做得更好?* 這個問題的答案把機器學習分成三大類,你聽說過的幾乎每個系統都屬於其中之一(或把幾類拼在一起)。

這三大類是監督學習無監督學習強化學習。最乾淨的區分辦法,是問機器得到的是哪種回饋。監督學習對每個例子都拿到一個*正確答案*;無監督學習*完全沒有答案*——只有原始資料;強化學習則為自己行動的後果*偶爾*拿到獎勵。僅這一個區別——回饋長什麼樣——就承擔了絕大部分判斷工作。

監督學習:從有答案的例子裡學

監督學習是最常見、也最容易想像的一類。你給機器許多例子,每個例子都附帶正確答案。每個例子有特徵(它能看到的輸入)和一個標籤(你希望它給出的答案)。機器的全部工作,就是找到一個模型——一條規則——把特徵映射到標籤,好到足以應付它從沒見過的例子。

以垃圾郵件過濾器為例。你收集成千上萬封郵件,每封都已由人標好是*垃圾*還是*非垃圾*。特徵可能是出現了哪些詞、誰發的、含多少連結;標籤就是「垃圾/非垃圾」這個判定。過濾器研究這些有答案的例子,學出一條規則,再把規則用到全新的郵件上。我們期待的是[[generalization|泛化]]——從舊郵件學到的規律,對明天的郵件依然管用。

監督學習撐起了實用 AI 中的一大塊:辨識詐騙、辨識手寫、在掃描影像上標出腫瘤、預測明日的需求。它最大的長處同時也是它最大的代價——它需要有標籤的答案,而這些答案得有人(往往是真人)去造出來。一個只是把例子*背下來*、卻沒學到真正規律的模型,叫做[[overfitting|過擬合]];它在學過的資料上看著很聰明,一碰到新東西就崩。

# supervised: every example carries its own answer
train on:
  ("win a free prize, click here", spam)
  ("lunch at noon?",            not_spam)
  ("verify your account now!!!", spam)

learn rule:  features  ->  label

new email -> rule -> guess: spam / not_spam
監督學習的樣子:一對對的(輸入,正確答案),再為新輸入學出一條規則。

無監督學習:沒有答案也能找出結構

無監督學習乾脆把答案表整個拿掉。你交給機器一堆沒有標籤的資料,問一個更柔和的問題:*這裡頭藏著什麼結構?* 沒有「正確」的輸出可對照——只有待浮現的規律。這讓它不如監督學習那樣齊整,卻正好契合一種常見情形:你有大量資料,卻幾乎沒有標籤。

最經典的例子是給顧客分群。一家店有每個人買了什麼的記錄,但沒人把他們歸成「類型」。像 k 均值 這樣的聚類方法,會審視整個資料集,把行為相似的顧客捆在一起——這邊是淘便宜的,那邊是週末囤貨的——而它從沒被告知這些群體的存在。是機器*提出*了這些分組;之後由人來看,再判斷它們是否真有意義。

除了聚類,無監督的思路還驅動著推薦、異常偵測(一筆與眾不同的交易可能是詐騙),以及把資料壓縮到只剩精華。這裡有個值得點明的麻煩:沒有答案表,你就沒法簡單地衡量「準確率」。要判斷發現的結構是否*有用*,得靠人的眼睛和領域常識——機器能分組,卻沒法告訴你這些組有沒有價值。

強化學習:靠試錯與獎勵來學

強化學習最不像課堂,最像訓狗或學騎車。這裡沒有一疊有答案的例子。取而代之的是:一個智能體在環境中行動,時不時收到一個獎勵——一個數字,告訴它*剛才做得不錯*或*剛才做砸了*。在一次次嘗試中,它調整自己的策略(選擇行動的方式),以求長遠拿到更多獎勵。

最有名的例子是下棋。要學會圍棋,系統會在一個「行動—觀察」迴圈裡下海量對局:它落子,棋盤隨之變化,直到最末才知道自己是贏是輸。就憑這點稀薄又滯後的信號,它一點點摸索出高水平的下法。DeepMind 的 AlphaGo 大體就是這樣達到了擊敗人類頂尖棋手的水平——這是貨真價實的里程碑,不是炒作。

強化學習在這種地方大放異彩:決策隨時間一步步展開、回饋又很稀少——遊戲、機器人控制、調度資料中心散熱、微調推薦。它也是三者中最「餓」、最難伺候的——可能需要上百萬次嘗試,這在模擬器裡沒問題,在真實世界裡卻很危險;而一個設計糟糕的獎勵,會教出恰恰相反的本領。「讓那個數字往上走」並不等於「做我真正想要的事」。

界線模糊之處——以及學習仍然做不到的事

在真實系統裡,這三大類自由地混搭。今天聊天機器人背後的大語言模型,先是靠在海量文字裡預測下一個詞來訓練——一種*自監督*的巧招,從原始資料本身裡變出標籤——之後再用「來自人類偏好的強化學習」來打磨。所以當你遇到一個光鮮的現代 AI,它通常不是某一種純方法,而是把好幾種疊在一起的配方。這三大類是字母表,不是整部文學。

也要留意這三者的共同點——以及它們的盡頭。它們無一例外都是從過去學習,並賭未來與過去相像;只要世界變得夠遠,再聰明的模型也會出錯。它們沒有一個是人類意義上「理解」的;垃圾郵件過濾器根本不知道電子郵件*是什麼*。而不論一個系統屬於哪一類,它依舊是[[narrow-ai|窄 AI]]——在受訓的那一小片上出類拔萃,出了那片就一片空白。AlphaGo 能輾壓圍棋冠軍,卻連跳棋的規則都說不上來。

請抓住核心觀念,而不是那幾個名詞:當一台機器的行為因經驗而變好,它就在學習;而那*種類*的經驗——有答案的例子、無標籤的資料、還是有獎勵的行動——決定了它屬於哪一類。帶著這個問題走進下一篇指南,我們將正面端詳今天的 AI 究竟能做什麼、不能做什麼,把真實的進展與那些喘著粗氣的承諾區分開來。