你以為的 AI,其實是一整個藥理分類
假設有人跟你說:「我開了一顆藥給你。」你一定會問:什麼藥?抗生素、降血壓藥還是化療藥?「藥」這個字太大,大到沒有資訊。
「AI」也是。本關的 Boss「萬能 AI 幻影」,就是聽到 AI 就以為是同一種東西,什麼問題都往 ChatGPT 丟。這一關我們把 AI 的家族譜畫出來,讓你面對一個醫療任務時,先問「這是哪一科的藥」。
同心圓:AI ⊃ ML ⊃ DL ⊃ LLM
四個詞是一層包一層的關係:
| 層級 | 白話 | 藥理類比 |
|---|---|---|
| AI(人工智慧) | 讓機器做看起來需要智慧的事,包含所有方法 | 藥物 |
| ML(machine learning,機器學習) | 從資料裡學規律,不是人一條條寫規則 | 抗生素 |
| DL(deep learning,深度學習) | 用很多層的神經網路自己學特徵 | β-lactam |
| LLM(large language model,大型語言模型) | 在大量文字上預訓練的 DL 模型,輸入輸出都是文字 | cephalosporin |
越往內層,越特化、越專門,但越內層不代表越好。Cephalosporin 不是比所有抗生素都強,只是適合某些感染。Thirunavukarasu 等人在 Nature Medicine 的綜述把 LLM 當成給臨床工作者的入門主題來介紹,它的定位是工具之一,並非全部(PMID 37460753)。
四種工具,各吃什麼、吐什麼
1. Rule-based(規則式):人寫 if-then 規則。
醫學例子很多:CHA₂DS₂-VASc 計分是照表加分、藥物交互作用警示是查對照表、用正規表示式(regular expression)抓出符合「8 位數字」的病歷號。優點是透明、可稽核、結果穩定一致;缺點是遇到沒寫過的情況就失效,也沒辦法讀懂「病人說他最近吃的那個白色小藥丸」。
2. 傳統 ML:從人先挑好的特徵(feature)學規律。
例如用年齡、肌酸酐、血紅素預測再住院風險。logistic regression、random forest、XGBoost 都在這一類。你在統計課學過的迴歸,其實就是 ML 的入門款,只是統計通常重視解釋係數,ML 通常重視預測準不準。
3. DL:多層神經網路自己從原始資料學特徵。
擅長影像、訊號、聲音。例如胸部 X 光判讀、糖尿病視網膜病變篩檢、病理切片分類。常見是「一個模型做一件事」的專科型。Esteva 等人在 Nature Medicine 的 DL 指南有清楚的概覽(PMID 30617335)。
4. LLM:吃文字、吐文字,可以用提示(prompt)切換任務。
病歷摘要、去識別化、衛教改寫都是它擅長的場景。它像通才:同一個模型什麼文字任務都能試,代價是會 hallucination(幻覺,自信地講錯)、運算成本高、輸出不容易逐項稽核。
比較表
| Rule-based | 傳統 ML | DL | LLM | |
|---|---|---|---|---|
| 主要輸入 | 任何有明確規則的資料 | 表格(欄位) | 影像、訊號、聲音 | 自由文字 |
| 需要標註資料 | 不需要 | 通常數百到數萬筆 | 通常更多 | 預訓練不用標註;fine-tune 約數百到數千筆起 |
| 模型大小 | 極小 | 小 | 中到大 | 大 |
| 可解釋性 | 最高 | 較高(可看係數或特徵重要性) | 較低 | 較低(會產生說明文字,但說明不等於真正原因) |
| 典型錯誤 | 沒寫到的情況全漏 | 特徵沒涵蓋的資訊學不到 | 對訓練分布外的資料失效 | 幻覺、遺漏、格式不穩定 |
| 運算需求 | 幾乎沒有 | 一般電腦即可 | 常需 GPU | 常需 GPU 或大量記憶體 |
上表是教學用的概括,不是定律;各格中的「約數百到數萬」屬粗略印象,各任務差異很大,實際數字【實測數據待補】。
選工具的直覺
給你一個初步的決策樹,用來暖身:
- 規則清楚、而且需要 100% 一致 → rule-based。
- 結構化表格資料 → 先試傳統 ML。
- 影像或波形 → DL。
- 自由文字、需要生成或改寫 → LLM。
接著看一個真實案例。台灣遠東聯合醫院、台科大與愛荷華大學的研究團隊,用 LoRA 微調 LLaMA-3-8B,從術前麻醉病歷判讀 ASA-PS 分級。未微調的 LLaMA-3 micro-F1 只有 0.073,微調後提高到 0.780(95% CI 0.769 到 0.792);但 XGBoost 在同一個任務是 0.815(95% CI 0.804 到 0.826),仍然較高。LoRA 模型的 macro-F1(0.316)也低於其他語言模型(0.349 到 0.372),作者解讀為對少數類別的辨別力有限。研究的優點是模型能產生讓臨床人員讀得懂的說明(PMID 42013456,J Med Internet Res 2026)。
幾點要記得:這是回溯性的研究環境結果,並非常規臨床部署;模型訓練使用的是 4 張 A100 級的 GPU,不是一般筆電。更重要的啟示是:fine-tune 把一個近乎沒用的模型變得可用,這件事成立;但「選工具」仍要看任務,而不是看哪個詞比較新。
fine-tuning 在家族譜的哪一層
很多人以為 fine-tuning 是 LLM 專屬。其實先在大量資料預訓練、再用少量專科資料微調,在 DL 是標準做法,例如拿在大量一般影像上訓練過的模型,改練成判讀 X 光。本站接下來要教的,是 LLM 這一層的 fine-tuning,為的是讓一個小模型學會「找出病歷中的 PHI 並輸出 JSON」。至於這個任務該不該用 LLM,我們在 LV09 與 LV18 會再回頭檢討。
互動:AI 工具分診台
下面這個小遊戲給你 10 個醫療任務,請拖到你認為最適合的那一欄:rule、ML、DL、LLM。送出後會附上建議答案與理由。很多題目並非只有一種答案,重點是說出理由。
規則系統(rule-based)同樣屬於 AI,但不屬於 ML:它不從資料學習,規則由人寫定。
每張卡片是一個醫療任務。替它選一種最適合的技術,全部選完按「送出」看建議答案。 有些任務「兩者皆可」,理由會說明差別;這是教學用的建議,不是唯一標準答案。
1 再住院預測(出院後 30 天內是否再入院)
2 胸部 X 光判讀
3 出院摘要生成
4 藥物交互作用警示
5 病歷 PHI 去識別化
6 ICU 敗血症早期預警
7 皮膚病灶影像分類
8 病理報告抽取成結構化欄位
9 CHA₂DS₂-VASc 計分
10 衛教文字改寫(改成國中程度、白話)
實作:10 行 scikit-learn
目的是讓你看到:傳統 ML 的輸出是一個機率數字。等到 LV07 你跑起本地 LLM,會看到輸出變成一段文字。
🍎 Mac:先確認有安裝 scikit-learn(python3 -m pip install numpy scikit-learn;建議在虛擬環境中安裝)。☁️ Colab:已預裝,免安裝。把下面程式貼進去執行:
import numpy as np
from sklearn.linear_model import LogisticRegression
rng = np.random.default_rng(42)
n = 500
X = np.column_stack([rng.normal(70, 10, n), rng.normal(1.2, 0.4, n).clip(0.5, None), rng.normal(11.5, 1.8, n)])
risk = 0.04 * (X[:, 0] - 70) + 1.5 * (X[:, 1] - 1.2) - 0.3 * (X[:, 2] - 11.5) - 0.5
y = (rng.random(n) < 1 / (1 + np.exp(-risk))).astype(int)
model = LogisticRegression(max_iter=1000).fit(X, y)
p = model.predict_proba([[82, 2.1, 9.0]])[0, 1]
print(f"readmission probability: {p:.2f}")
逐行解釋:
- 載入 numpy(處理數字陣列)。
- 載入 scikit-learn 裡的 logistic regression。
- 第 4 行建立隨機數產生器,種子固定為 42,所以大家得到相同的假資料。
- 第 5 行:500 位虛構病人。
- 第 6 行:每人三個欄位,依序是年齡、肌酸酐(mg/dL,最低截在 0.5)、血紅素(g/dL)。
- 第 7 行:我們自己設定「風險」的公式:年紀越大、肌酸酐越高、血紅素越低,風險越高。
- 第 8 行:依風險算出機率,再抽籤決定這個虛構病人有沒有再住院,標籤
y為 1 或 0。 - 第 9 行:訓練(
fit):讓模型從X與y學規律。 - 第 10 行:問模型「82 歲、肌酸酐 2.1、血紅素 9.0 的人」再住院機率多少。
- 最後一行印出來。
作者在本機以此程式實測,輸出約為 0.87;不同版本的套件可能讓小數略有差異,這個數字本身沒有臨床意義,因為資料是我們自己編的。如果看到關於 matmul 的 RuntimeWarning,在某些 Mac 與套件版本組合下可能出現,只要最後有輸出機率即可。
請特別注意:這是玩具資料。真實的預測模型需要真實資料、外部驗證、校準與臨床審查,一個合成的練習模型不能用來判斷任何真人。
本關重點
- AI ⊃ ML ⊃ DL ⊃ LLM,越內層越特化,不代表越新越好。
- 四種工具對應不同資料:規則式靠明確規則、ML 吃表格、DL 吃影像訊號、LLM 吃文字。
- 選工具先看任務與資料型態;ASA-PS 案例顯示 LoRA 讓 LLM 可用,但 XGBoost 在該任務仍較高(PMID 42013456)。
- fine-tuning 在 ML 與 DL 本來就存在,本站教的是 LLM 這一層。
- ML 輸出機率,LLM 輸出文字。下一站:文字接龍與 Token。