視覺與跨模態對齊
大型語言模型的語言學基礎 W10視覺
第 10 週

視覺與跨模態對齊

Multimodal II: Vision, Cross-modal Alignment & Reference
模擬所用的數值與模型輸出皆為教學示意;引用的實驗數字另註出處。圖中的圖片皆以幾何圖形繪成,僅代表「一張含有該物件的圖」。

上週討論的是模型學著如何聽。本週討論的是模型學著如何看,並且把看到的東西和詞連起來。孩子學「貓」這個詞時,可能一邊看著貓、一邊聽大人說話,也可能透過繪本與互動來學。許多圖文模型的訓練則仰賴大量圖片與文字配對,不一定有這樣的共同注意與互動現場。兩者的差別,正是本週要追問的事。我們從圖片如何變成詞元談起,經過 CLIP 的對比學習與 LLaVA 的視覺指令微調,再走到手勢、動作與手語:在這些地方,「看」本身就是語言的一部分。

本週問題

圖文對齊學到的是指涉關係,還是只是共現統計?

10.1總覽:多模態 LLM 如何連起圖像與語言

先理解模型收到了什麼、如何處理,再問:它的回答究竟根據什麼?

什麼是多模態?為什麼語言模型需要看圖?

我們平常接收的訊息不只有文字。看菜單時,會同時讀品名、看照片與價格;聽人說「拿那個給我」時,還會看他的手指向哪裡。模態(modality)就是訊息呈現的形式,例如文字、影像、聲音與影片。多模態大型語言模型(multimodal large language model,MLLM)則是能把文字與其他形式的訊息一起處理的模型。例如,我們上傳一張捷運路線圖,問它「從台大到目的地要在哪裡轉車?」它必須讀懂問題,也必須從圖中找出站名、路線與轉乘關係。

只有文字的 LLM 可以根據文字描述回答問題,卻無法直接取得一張新照片裡的細節。多模態模型多了一條接收影像等訊息的管道,讓回答可以根據眼前的資料。這裡的「看」是方便理解的說法:模型實際處理的是像素轉成的數值表示,和人類觀看、注意及理解情境的過程不能直接畫上等號。

常見名稱主要工作要注意的差別
文字 LLM根據文字產生文字,例如摘要與問答只能依賴提供的文字及訓練中學到的知識
視覺語言模型(VLM)連結影像與文字,例如圖文檢索、圖說或看圖問答這是較廣的名稱;CLIP 能比較圖文相似度,本身不會產生對話
多模態 LLM(MLLM)結合大型語言模型與非文字輸入,依指令產生回答LLaVA 是視覺語言型 MLLM;不同模型支援的模態不同,名稱用法也可能重疊
多模態生成系統依文字或其他輸入產生圖片、語音、影片等內容能看圖回答,不代表也能畫圖;輸入能力與輸出能力要分別確認

從一張圖片到一句回答,中間發生什麼事?

以本週的 LLaVA 類架構為例,可以先記住四個步驟。這是一種常見做法,不是所有多模態模型都採用同一套設計。

  1. 把影像整理成可處理的單位。先縮放圖片,或把高解析度圖片切成多個區塊,再轉成一串向量。向量是用一組數字表示圖片特徵的方法;不是先把整張圖翻譯成一篇中文圖說。
  2. 把視覺特徵接到語言模型。透過投影層等連接元件,把視覺向量轉成語言模型能接收的表示。這些「視覺詞元」沒有一一對應的中文字,也不保證一個詞元就代表一個物件。
  3. 把圖片與問題一起考慮。問「招牌寫什麼」和問「這家店有沒有無障礙入口」,需要的線索不同。模型透過注意力等機制,結合問題、視覺表示與前文;但仍可能忽略重要細節。
  4. 逐步產生回答。語言模型根據這些條件,一次預測下一個文字詞元。回答同時受到影像證據和既有語言知識影響,因此流暢不代表正確。
同一張圖,可以問不同層次的問題

假設照片中有一張放著杯子的桌子。「圖中有什麼?」偏向物件辨識;「紅杯在藍杯哪一側?」需要空間關係;「哪個杯子是我的?」則需要照片以外的背景資訊。如果沒有告訴模型杯子的主人,合理的回答應該是「無法只從照片判斷」,而不是猜一個。

模型怎麼學會結合不同模態?

可以把常見訓練工作分成三類。第一類是學表示與對齊:利用圖文配對資料,學習哪些視覺特徵和哪些文字描述相關;CLIP 用對比學習拉近配對圖文的表示。第二類是學會使用連接元件:以既有視覺編碼器與 LLM 為基礎,訓練投影層,讓語言模型能利用視覺資訊。簡單說,原本負責「看圖」的鏡頭只會輸出數字編碼,而大腦(語言模型 LLM)只看得懂文字。所以中間要訓練一個投影層(轉譯器)。第三類是學會依指令回答:以圖片、問題和示範答案進行指令微調,學習描述、比較、問答等任務。各模型可能合併這些步驟,也可能更新不同的元件;10.5 節會以 LLaVA 的兩階段訓練具體說明。

所謂「原生多模態」,通常強調在整體訓練過程中就納入多種模態,而不只是把獨立工具串接起來。但這個名稱不代表模型內部一定沒有編碼器、投影層或其他連接元件。對未完整公開的商用模型,應分開描述已知的輸入輸出能力與尚未公開的架構,不能只從產品名稱推定細節。

影像之外:聲音與影片多了哪些問題?

聲音包含隨時間變化的訊號,除了說了什麼,還可能包含語調、停頓與背景聲。影片則多了連續畫面及事件順序,還常要結合聲音。若只抽取少數影格,兩格之間的短暫動作可能完全漏掉;若把影格順序打亂,就可能把「拿起杯子」誤認成「放下杯子」。因此,多模態處理不只要把不同資料放在一起,還要保留空間、時間和彼此對應的關係。

回到本週的語言學問題:對齊與指涉

工程上的跨模態對齊,是讓不同形式的表示建立可用的對應,例如一張貓的照片與「貓」這個詞彼此接近。它不保證模型已經知道某個情境中的「這隻貓」是哪一隻,也不等同於安全領域所說的價值或行為對齊。本週會從這個差別出發:詞指向世界,圖也指向世界;把詞和圖對齊,距離理解現場的指涉還有哪些問題?

指涉(reference):語言表達式與它所談論的世界中事物之間的關係。Ogden 與 Richards(1923)的語意三角把它畫成三個角:符號、概念、指涉物;符號與指涉物之間只有虛線,必須經過概念才連得上。Peirce 則把符號依「如何連上對象」分成三類:象似符(icon)靠相像,例如照片與圖畫;指示符(index)靠實際的連結,例如煙之於火、手指之於所指;象徵符(symbol)靠約定,例如「貓」這個字。Peirce 特別指出,照片兩者兼具:它像被拍的東西,也是光線從那個東西反射進鏡頭的物理痕跡。

這三類可以用日常看得到的符號來對照。

類型怎麼連上對象例子
象似符(icon)長得像手機通訊錄裡的相片、廁所門口的男女圖示。一眼就認得,是因為外形像那個東西。
指示符(index)實際連在一起,或有因果窗外冒黑煙,就知道那裡失火了:煙是火燒出來的,不是畫成火的樣子。夜市裡指著攤位說「我要買那個」,手指連向那盒章魚燒。泥地上的腳印,是剛剛有人踩過留下的痕跡。
象徵符(symbol)大家約定英文字 CAT、紅燈代表停。字形和顏色本身,與貓或煞車沒有必然的關聯。
為什麼特別提到照片

一張貓的照片同時是兩種符號。它是象似符,因為畫面上就是一隻貓的輪廓。它也是指示符,因為那是真實世界的光線射進鏡頭、留在感光元件上的物理痕跡,就像泥地上的腳印。

CLIP 或多模態模型學習「貓的照片」和「貓這個字」時,做的是把這兩種符號配在一起。光線照在真貓身上、再留下這張照片的指示關係,是相機完成的。模型自己沒有站在一隻貓面前,也沒有伸手指過它。

圖 10.1誰連上了哪一條邊互動

點選一種學習者,看它在詞、概念、照片與真實事物之間,學到了哪幾條連結。實線表示有直接的學習訊號,虛線表示只能間接推得。

這張圖先把本週的結論藏在結構裡:CLIP 對齊的是兩種符號,一邊是象徵符(詞),一邊是象似兼指示的符號(照片)。照片和世界之間的那條邊,是相機替模型完成的;詞和照片之間的那條邊,是網路上「圖與說明文字一起出現」的統計替模型完成的。模型自己從來沒有站在一隻貓面前。

年代代表做法圖與文如何相遇本講義
2015 年前後卷積網路抽特徵,再接循環網路產生圖說(Show and Tell)圖是條件,文字是輸出 
2020–2021視覺 Transformer(ViT);CLIP、ALIGN 以對比學習對齊圖文圖與文映到同一個向量空間10.2、10.3
2023LLaVA 展示視覺編碼器接上 LLM 的做法;GPT-4V 提供看圖對話能力LLaVA 將視覺特徵轉成 LLM 可接收的向量;GPT-4V 詳細架構未公開10.5
2024 起原生多模態模型(GPT-4o、Gemini);能以座標「指出」物件的模型(Molmo)從描述走向指出10.6
2026手語到文字的大規模翻譯模型進入消費性產品(SL2T)視覺訊號本身就是語言10.7
大型語言模型的語言學基礎 W10視覺

10.2把圖切成詞元:視覺 Transformer

先把圖切成一樣大的格子,再當成一串詞送進去。

想像一下,如果我們要教一隻非常聰明、讀過全世界圖書的機器人「看懂」這個世界,最難的其實不是叫它背單字,而是它從來沒有真正踩在泥地上、看過真正的夕陽,也沒摸過軟軟的貓咪。這正是我們在視覺與跨模態對齊裡要探討的核心問題:機器人眼中的「看見」,跟我們人類的「理解」到底是不是同一回事?

視覺 Transformer(Vision Transformer, ViT):電腦本來只看得懂一格一格的數字(像素),它才不管什麼是「貓的耳朵」或「腳踏車的輪胎」。Dosovitskiy et al.(2021)把一張圖切成同樣大小的方塊(patch)。每一塊的像素先攤成一長串數字,再乘上同一個矩陣,得到一個向量;向量上另加一個位置向量,記下這塊在第幾格。這些向量排成一列,送進 Transformer,作法就和一串文字詞元一樣。方塊仍是格子,不是語言裡的詞,也不會剛好沿著物件的邊界切。論文標題把這件事說得很直接:An Image is Worth 16×16 Words,一張圖值 16 × 16 個詞。

N =(H/P)·(W/P)  xi = E · vec(patchi)+ pi

左邊算有幾塊:H、W 是圖的高和寬,P 是方塊的邊長,單位都是像素。高能切幾格,乘上寬能切幾格,就是詞元數 N。右邊是每一塊怎麼變成向量:像素攤平後乘上投影矩陣 E,再加上第 i 格的位置向量。CLIP 的 ViT-L/14 用 224 像素的圖、邊長 14 的方塊,得到 16 × 16 = 256 個詞元。LLaVA-1.5 把圖放大到 336 像素,就變成 24 × 24 = 576 個。注意力要讓每一塊都能看到其他每一塊,所以這一部分的計算量跟著詞元數的平方走。高和寬都變成兩倍、方塊大小不變時,詞元數變成四倍,兩兩比較大約變成十六倍。十六倍指的是注意力裡的比較次數;整個模型還有其他步驟,總運算量和實際耗時不會自動變成十六倍。

圖 10.2一張圖是多少個詞元互動

調整解析度與方塊大小。左圖是原圖與切塊的格線,右圖是每一塊取平均色之後的樣子,用來示意切塊粒度;實際 ViT 的投影會處理區塊內各像素,不是只保留平均色;下方是攤平後的詞元序列。

解析度
方塊
Python
import numpy as np

def patchify(img, p=14):
    """把 (H, W, 3) 的圖切成 (N, p*p*3) 的方塊序列:N = (H/p) * (W/p)"""
    H, W, C = img.shape
    assert H % p == 0 and W % p == 0, "解析度必須能被方塊邊長整除"
    x = img.reshape(H // p, p, W // p, p, C)        # 切出格子
    x = x.transpose(0, 2, 1, 3, 4)                   # (列, 欄, p, p, C)
    return x.reshape(-1, p * p * C)                  # 由左上角一排一排攤平

rng = np.random.default_rng(0)
img = rng.random((336, 336, 3))
patches = patchify(img, p=14)
E = rng.normal(0, 0.02, (14 * 14 * 3, 1024))       # 投影矩陣:588 維 → 1024 維
pos = rng.normal(0, 0.02, (patches.shape[0], 1024))  # 位置向量
tokens = patches @ E + pos
print(patches.shape, tokens.shape)   # (576, 588) (576, 1024):LLaVA-1.5 的 576 個視覺詞元
語言學視角

第 3 週我們討論過,詞元化是一種切分理論,而且常常切錯地方。圖片的切分更加粗暴:它不管物件的邊界,只是等距的棋盤格。一隻貓的耳朵可能被切成兩半,分屬兩個詞元。語言的切分至少還有語素、詞、韻律單位可以參照;圖片沒有公認的「視覺語素」。完形心理學提醒我們,人看圖時先看到的是整體與輪廓,而不是格子。ViT 的作法反過來:先給格子,再期待注意力把格子拼回物件。它之所以可行,靠的是龐大的資料,而不是對視覺單位的理論。

大型語言模型的語言學基礎 W10視覺

10.3CLIP:用對比學習把圖與文對齊

不教模型「這是貓」,只教它「這張圖配的是這句話,不是那些話」。

對比式語言—圖像預訓練(Contrastive Language–Image Pre-training, CLIP):Radford et al.(2021)從網路蒐集約四億組圖片與文字說明,訓練一個圖片編碼器與一個文字編碼器,把兩者映到同一個向量空間。每一批 N 組配對中,對角線上的 N 個是正確配對,其餘 N2 − N 個都是錯的;訓練目標是讓正確配對的餘弦相似度高於所有錯誤配對。CLIP 的批次大小是 32,768,也就是說,每一張圖都要在三萬多句話裡認出自己的那一句。

L = − 1/2N Σi [ log exp(sii/τ)/Σj exp(sij/τ) + log exp(sii/τ)/Σj exp(sji/τ) ]

兩個對數項分別是「由圖找文」與「由文找圖」的交叉熵,sij 是第 i 張圖與第 j 句話的餘弦相似度。溫度 τ 是學出來的參數:CLIP 訓練到最後,1/τ 達到上限 100。這意味著模型實際看到的相似度差距很小(常在 0.1 左右),卻被放大成十倍的邏輯值差距。

圖 10.3對角線上的配對互動

五張圖、五句話,矩陣中的數字是餘弦相似度(示意)。切換「訓練前/訓練後」,並調整溫度:顏色代表每一列經過 softmax 之後的機率,也就是「這張圖配這句話」的把握。點選一列,看這張圖的損失。

訓練完成後,CLIP 不必再訓練就能分類:把每個類別寫成一句話,例如「a photo of a cat」,看哪一句和圖最接近。這種零樣本分類在 ImageNet 上達到 76.2% 的正確率,與用 128 萬張標註圖片訓練的 ResNet-50 相當。提示句的寫法會影響結果:只寫類別名稱,不如寫成「一張……的照片」;把幾十種寫法平均起來,效果更好。分類變成了一種措辭的問題。

Python
import numpy as np

def clip_loss(img_emb, txt_emb, tau=0.01):
    """對稱的 InfoNCE:第 i 張圖配第 i 句話"""
    I = img_emb / np.linalg.norm(img_emb, axis=1, keepdims=True)
    T = txt_emb / np.linalg.norm(txt_emb, axis=1, keepdims=True)
    logits = I @ T.T / tau                                  # (N, N) 相似度矩陣
    def ce(z):                                              # 每一列對「對角線」的交叉熵
        z = z - z.max(axis=1, keepdims=True)
        logp = z - np.log(np.exp(z).sum(axis=1, keepdims=True))
        return -np.mean(np.diag(logp))
    return (ce(logits) + ce(logits.T)) / 2                  # 由圖找文 + 由文找圖

# 用真實的 CLIP 做零樣本分類(transformers 套件)
from transformers import CLIPModel, CLIPProcessor
from PIL import Image
model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
proc = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
labels = ["cat", "dog", "bicycle", "apple", "umbrella"]
prompts = [f"a photo of a {c}" for c in labels]            # OpenAI CLIP 只以英語訓練
inputs = proc(text=prompts, images=Image.open("cat.jpg"), return_tensors="pt", padding=True)
probs = model(**inputs).logits_per_image.softmax(dim=1)     # logits 已乘上 1/τ = 100
print(dict(zip(labels, probs[0].tolist())))
# 華語提示可改用 Chinese-CLIP:ChineseCLIPModel 與 "OFA-Sys/chinese-clip-vit-base-patch16"
語言學視角

CLIP 的訓練目標是一種分布假說:意義相近的圖與文,出現在相似的配對裡。不同的是,第 4 週的分布假說只看詞與詞的共現,CLIP 把共現擴展到了詞與圖。這讓它擁有文字模型沒有的東西:同一個向量空間裡,「貓」與貓的照片彼此靠近。但這是指涉嗎?Harnad(1990)的符號紮根問題問的是:符號的意義能不能只靠其他符號來定義?CLIP 給了一個有趣的中間答案:它把一種符號紮根在另一種符號上。照片比詞更「靠近」世界,卻仍然不是世界。

大型語言模型的語言學基礎 W10視覺

10.4共現還是指涉:對齊的四道裂縫

如果模型真的懂「狗追貓」,它就該分得出「貓追狗」。

組合性(compositionality):整體的意義由部分的意義及其組合方式決定(Frege 原則)。「狗追貓」與「貓追狗」用的字完全相同,意義的差別全在組合方式。Thrush et al.(2022)的 Winoground 正是用這種成對的例子測試圖文模型:每一題有兩張圖、兩句話,兩句話的詞完全相同、只差順序。模型必須同時做到兩件事:給每張圖選對句子(文字分數),給每句話選對圖(圖片分數);兩者都對,才算通過(群組分數)。

圖 10.4同樣的字,不同的組合互動

選一組題目與一種編碼器。「詞袋編碼器」只數有哪些字、哪些物件;「結構編碼器」另外記下誰對誰做了什麼、什麼屬性屬於誰。矩陣中是兩張圖與兩句話的相似度(示意),綠框是正確配對。

真實的結果相當難看。Winoground 共 400 題,人類的群組分數約 85.5%;CLIP(ViT-B/32)的群組分數只有約 8%,低於隨機猜測的 16.7%(Thrush et al., 2022)。Yuksekgonul et al.(2023)進一步發現,多數圖文模型的行為接近詞袋:把句子的詞序打亂,檢索的結果幾乎不變。原因在訓練目標本身。在一批隨機抽出的配對裡,要把「一隻狗在追貓」和三萬句別的話分開,只要認出「狗」和「貓」就夠了,幾乎從不需要分辨誰追誰。對比學習只學到區分當前對手所需的特徵;對手裡沒有「貓追狗」,模型就沒有理由學會語序。他們的補救方法是刻意加入打亂詞序的困難負例(NegCLIP)。

裂縫現象出處指向哪一種解釋
組合分不出「狗追貓」與「貓追狗」,屬性與物件綁錯Thrush et al. 2022;Yuksekgonul et al. 2023共現:詞袋就足以應付訓練目標
字形在蘋果上貼一張寫著「iPod」的紙條,CLIP 就把它認成 iPodGoh et al. 2021共現:網路圖片中的文字常與說明文字重複
鴻溝圖與文的向量分處空間中兩個互不重疊的錐形區域Liang et al. 2022對齊是相對的:配對靠近,兩種模態並未融合
低階視覺數不清兩個圓是否重疊、兩條線交叉幾次Rahmanzadehgervi et al. 2024模型認得「是什麼」,卻不一定看得見「在哪裡」
圖 10.5模態鴻溝互動

把高維向量投影到平面(示意)。藍點是圖片,紅點是文字,灰線連起正確配對。切換三種狀態,看鴻溝從哪裡來、平移之後會怎樣。

語言學視角

Bender 與 Koller(2020)的「章魚思想實驗」主張:只看語言形式的模型,學不到意義,因為意義是形式與形式之外某物的關係。圖文模型似乎回應了這個挑戰:它看到了形式之外的東西。但本節的四道裂縫顯示,它看到的仍是另一種形式,學到的仍是兩種形式之間的共現。另一方面,Huh et al.(2024)的「柏拉圖表示假說」指出,規模越大的視覺模型與語言模型,內部表示的幾何結構越相似,彷彿各自從不同的影子,逼近同一個世界的結構。若此說成立,共現統計累積到夠多,或許會趨近某種結構上的指涉。這正是本週問題最有爭議之處。

大型語言模型的語言學基礎 W10視覺

10.5LLaVA:讓語言模型看圖說話

把圖翻譯成語言模型的「詞」,再用一點指令資料教它怎麼談論圖。

視覺指令微調(visual instruction tuning):Liu et al.(2023)的 LLaVA 由三部分組成:CLIP 的視覺編碼器(ViT-L/14)、一個投影矩陣,以及語言模型 Vicuna。視覺編碼器輸出的每一個方塊向量,經投影矩陣轉成與詞嵌入同樣維度的向量,接在文字詞元前面,一起送進語言模型。這些「視覺詞元」是連續向量,不是字典中的詞;投影層必須經過訓練,才能讓語言模型有效利用它們。

Hv = W · Zv  輸入 =[Hv ; Hq]  p(Xa ∣ Xv, Xq)= Πi pθ(xi ∣ Hv, Hq, x<i)

圖 10.6哪些部分在學互動

切換訓練階段,看哪些元件凍結、哪些元件被更新,以及這一階段用了什麼資料。點選任一元件看細節。訓練資料量依原始 LLaVA(Liu et al., 2023);圖中的 336 像素與 576 個詞元則採 LLaVA-1.5 的設定,兩個版本請分開看。

LLaVA 最耐人尋味的地方在第二階段的資料。15.8 萬筆指令資料,是由只讀文字的 GPT-4 寫成的:研究者把 COCO 圖片的人工圖說與物件框座標,以文字形式交給 GPT-4,請它想像對話、寫出詳細描述與推理問答。換言之,教模型看圖說話的教材,出自一個從沒看過那些圖的模型之手。後續的 LLaVA-1.5 把投影改為兩層的多層感知器、解析度提高到 336 像素,每張圖因此占 576 個詞元。後來的多模態模型也發展出更整合的訓練方式,例如 GPT-4o 與 Gemini 系列。各版本支援的輸入與輸出不同;「原生多模態」不代表已公開完整架構,也不能據此斷定內部沒有連接元件。

物件幻覺(object hallucination):模型描述或確認圖中並不存在的物件。Li et al.(2023)的 POPE 用最簡單的問法測試:「圖中有沒有 X?」關鍵在不存在的 X 怎麼挑:隨機挑、挑整個資料集中最常見的物件,或是挑最常與圖中物件一起出現的物件。三種挑法中,最後一種最容易讓模型說「有」。

圖 10.7圖中有沒有叉子互動

圖中實際有的物件是餐桌、盤子、杯子與一個蘋果。選一種挑選不存在物件的方式,看模型回答「有」的機率(示意)。趨勢依 POPE 的結果:隨機、熱門、對抗三種設定,正確率依序下降。

怎麼判斷模型是真的根據圖片回答?

不要只問「說得像不像」,還要檢查回答是否對得上圖片。我們可以用同一張圖設計四種小測試:

例如,請模型讀取臺灣小吃店的菜單時,可以分別檢查品名、價格、小字與手寫加註,避免只看整體描述是否合理。若要評估繁體中文或臺灣手語,就需要相應語言和情境的測試資料;英語測驗的高分不能直接代表這些能力。課堂上的少量例子適合找出問題,不能當成模型整體正確率。

使用上的界線

圖片也可能含有錯誤文字或要求模型忽略原指令的內容。讀到圖上的字,不代表應該照著做。實際使用時,也要留意照片中的人臉、學號與私人訊息;需要精確判斷的數字、醫療或安全資訊,仍應另行查證。

Python
import numpy as np
rng = np.random.default_rng(0)

Z_v = rng.normal(size=(576, 1024))     # CLIP ViT-L/14-336 輸出:576 個方塊向量,每個 1024 維
d_model = 4096                          # 語言模型(7B 規模)的詞嵌入維度

# LLaVA:一個線性投影;LLaVA-1.5:兩層 MLP(GELU)
W1 = rng.normal(0, 0.02, (1024, d_model))
W2 = rng.normal(0, 0.02, (d_model, d_model))
gelu = lambda x: 0.5 * x * (1 + np.tanh(0.7978845608 * (x + 0.044715 * x ** 3)))
H_v = gelu(Z_v @ W1) @ W2               # (576, 4096):「視覺詞元」

H_q = rng.normal(size=(12, d_model))    # 指令「圖中有沒有叉子?」的詞嵌入(示意)
seq = np.concatenate([H_v, H_q])        # 視覺詞元接在文字前面
print(seq.shape)                        # (588, 4096):一張圖就占了整段輸入的九成以上
語言學視角

物件幻覺是本週問題最直接的證據之一:模型說「有叉子」,依據的不是這張圖,而是「盤子旁邊通常有叉子」的共現知識。認知語言學稱這類知識為框架(frame;Fillmore, 1982)或腳本:說到「餐廳」,侍者、菜單、帳單都會被一起喚起。人也會依框架補完知覺,所以目擊證詞會出錯;但人通常分得清「我看到」與「我猜」。英語與華語用副詞或句式表達這個區別(「應該有」「看起來有」),有些語言則把它語法化為示證範疇(evidentiality),例如土耳其語以不同的動詞後綴區分親眼所見與推論所得。一個好的圖文模型,或許需要的正是示證的能力:說出它的話是從圖中看來的,還是從框架猜來的。

大型語言模型的語言學基礎 W10視覺

10.6手勢與動作:會動的指涉

說「那個」的時候,意思一半在嘴裡,一半在手上。

伴語手勢(co-speech gesture):說話時自然伴隨的手部與身體動作。McNeill(1992)主張手勢與言語是同一個思考過程的兩面,並把伴語手勢分成四類:圖象手勢(比出物體的形狀或動作,例如說「這麼大」時張開雙手)、隱喻手勢(把抽象概念當成物體來比,例如雙手捧著「一個想法」)、指示手勢(指向人、物、地點,甚至指向空中一個代表過去的位置)、節拍手勢(隨著語句重音上下擺動)。Kendon(2004)則描述了手勢的時間結構:準備、筆劃(stroke)、保持、收回;筆劃通常與意義相關的那個詞同時或稍早出現。

圖 10.8從手勢到手語互動

McNeill 把 Kendon 的觀察整理成一條連續體。點選任一點,看它和口語的關係、約定化的程度,以及是否具備語言的性質。越往右,越不依賴口語,也越像一套語言。

機器看手勢,第一步通常是姿勢估計:在每一格影像中找出身體的關鍵點。Google 的 MediaPipe Holistic 為每一格輸出身體 33 個點、每隻手 21 個點、臉部 478 個點的座標。手勢於是變成一串座標的時間序列,和上週的語音特徵一樣,可以切成格、送進編碼器。影片模型則更直接:每秒抽幾格畫面,每一格照 10.2 節切成方塊。代價是詞元數暴增:一分鐘的影片,每秒抽一格、每格 256 個詞元,就有一萬五千多個詞元。動作是在時間中展開的事件,模型卻常只看到稀疏的幾張快照。

多模態指涉消解:聽者結合話語與手勢,找出說話者所指的對象。「那個」本身幾乎不帶內容,它的指涉完全仰賴語境;指向的手勢縮小了範圍,「紅色的」又排除了一部分。Molmo(Deitke et al., 2025)把這件事反過來交給模型:它的訓練資料中有大量「指出某物」的標註,模型因此能以文字輸出座標,例如 <point x="61.5" y="40.2">,等於學會了用文字比出指示手勢。

圖 10.9這個,還是那個互動

拖動滑桿改變手指的方向,再選擇說話者說了什麼。右側是聽者對每個物件的判斷:手勢依角度給分,詞語依是否相符給分,兩者相乘後正規化(示意)。

Python
import numpy as np

objects = {               # 名稱:(方位角,單位為度;類別;顏色)
    "紅杯": (-30, "杯子", "紅"), "藍杯": (-8, "杯子", "藍"),
    "紅書": (6, "書", "紅"),     "綠蘋果": (28, "蘋果", "綠"),
}

def resolve(point_deg, noun=None, color=None, sigma=12.0, eps=0.05):
    """手勢給角度上的似然,詞語給是否相符的似然;兩者相乘後正規化"""
    names = list(objects)
    ang = np.array([objects[n][0] for n in names], float)
    g = np.exp(-0.5 * ((ang - point_deg) / sigma) ** 2)          # 指示:越接近手指方向越可能
    w = np.array([(noun in (None, objects[n][1])) and (color in (None, objects[n][2]))
                  for n in names], float)
    w = np.where(w > 0, 1.0, eps)                                 # 象徵:不相符的大幅降權
    post = g * w
    return dict(zip(names, np.round(post / post.sum(), 3)))

print(resolve(-8))                      # 只說「那個」:藍杯與紅書都有可能
print(resolve(-8, color="紅"))          # 「那個紅色的」:手勢偏藍杯,詞語卻排除它
語言學視角

指示詞(「這」「那」「這裡」「那時」)是語言中最依賴情境的一類詞,語用學稱之為直指(deixis)。發展心理學的研究一再顯示,嬰兒在說出第一個詞之前就會用手指指物,而早期的指物手勢能預測之後的詞彙發展(Tomasello, 2008;Colonnesi et al., 2010)。換句話說,人類的指涉起於指示符,象徵符是後來才接上去的。圖文模型的學習順序正好相反:它先有數億個象徵符,再從共現中推敲它們與圖的關係;直到 Molmo 這類模型,才有了「指出」的能力。下週談具身 AI 時,我們會再回到這個順序的問題。

大型語言模型的語言學基礎 W10視覺

10.7手語 AI:看得見的語言

手語不是手勢,也不是比手畫腳的口語;它是用手、臉與空間寫成的完整語言。

手語(sign language):聾人社群自然發展出的視覺—手勢語言,有自己的音韻、構詞、句法與語用。手語不是世界通用的:美國手語(ASL)與英國手語互不相通;台灣手語與日本手語、韓國手語同屬一個語族,與中國手語則屬不同系統,這與台灣聾教育始於日治時期的臺南、臺北盲啞學校有關。台灣手語在南北之間也有詞彙差異。2019 年施行的《國家語言發展法》將台灣手語列為國家語言之一。手語也不是口語的逐字轉換:依照華語語序逐字打出的「文法手語」,與聾人自然使用的台灣手語是兩回事。

手語音韻:Stokoe(1960)首先指出,ASL 的詞可以拆成少數幾個不具意義、卻能區別意義的參數,就像口語的詞可以拆成音位。今天通常列出五項:手形、位置、移動、掌向,以及臉部表情、眉毛、頭部動作等非手部標記。只差一個參數的兩個詞,構成手語的最小對比。這個發現奠定了手語語言學,也讓「手語是語言」成為可以用語言學方法檢驗的主張。

圖 10.10手語的五個參數互動

點選一個參數,看它在身上的位置、一組最小對比的例子,以及機器要靠哪些關鍵點才捉得到它。例子取自 ASL 教科書的常見例證;台灣手語有同類型的對比,具體的詞請查《台灣手語線上辭典》。

任務輸入 → 輸出代表資料與前幾週的連結
孤立手語辨識一個詞的影片 → 詞的標籤WLASL(Li et al., 2020),約兩千個 ASL 詞影像分類
連續手語辨識一句話的影片 → gloss 序列RWTH-PHOENIX-Weather 2014T(德國手語氣象播報)CTC 對齊(9.4 節)
手語翻譯影片 → 口語的文字How2Sign(約 80 小時);YouTube-ASL(約 1,000 小時,2,500 多位手語者)序列到序列、語音翻譯
手語生成文字 → 虛擬人物的手語動畫多為研究原型語音合成(9.8 節)

gloss:以口語的詞為每個手語詞貼上標籤,例如以大寫的 GIVE 代表 ASL 中「給」的手語詞。gloss 方便標註與檢索,卻不是手語的書寫系統:它只記下雙手打出的詞彙,臉部的文法標記、空間中建立的指涉位置、動詞移動的方向,大多不見了。早期的手語翻譯多採「影片 → gloss → 文字」兩段式,近年則傾向不經 gloss,直接由影片或關鍵點翻成文字。

圖 10.11經過 gloss,丟了什麼互動

一句示意的手語句子,以樂譜般的多條軌道呈現:雙手、空間、眉毛、頭部同時進行。切換三種表示,看哪些軌道被保留。句子結構為教學示意,不代表台灣手語的實際語序。

2026 年 8 月,Google DeepMind 發表手語到文字的翻譯模型 SL2T,隨 Pixel 11 手機推出,先支援 ASL 到英語。它有幾個設計值得從語言學的角度細讀。第一,它不看影片,只看關鍵點:手機上的 MediaPipe Holistic 先把畫面轉成身體、雙手與臉部的座標,只有座標送上伺服器,原始影像隨即捨棄。這既是隱私的考量,也等於替模型選定了一套「語音學特徵」。第二,它不經 gloss,直接由關鍵點序列輸出文字,理由正是 gloss 會漏掉非手部標記與空間結構。第三,它以五十多種手語、超過十萬小時的資料聯合訓練,其中約四分之一是 ASL;團隊發現,多語聯合訓練勝過單一語言的模型。

更有意思的是它公開的錯誤類型:罕見詞與快速的指拼(把 prey 譯成 grey)、被動結構、類標記(classifier)的描繪(用手形在空間中「演出」物體的形狀與移動),以及缺乏上下文時的時態。這幾乎就是一份手語語言學的難點清單:指拼是借自口語書寫系統的層次,類標記是手語最依賴空間與象似性的構式,而手語的時態常由語境或時間副詞決定,不像英語標在動詞上。此外,左撇子手語者(約一成)、單手持機時的單手打法,以及「沒人在打手語時卻輸出文字」的幻覺,都是工程上要處理的問題;最後一項,和上週 Whisper 在靜音中「聽見」字幕套語如出一轍。研究團隊在 FLEURS-ASL 測試集上報告 70 的 BLEURT 分數;相比之下,Tanzer(2024)建立這份測試集時發現,當時的前沿多模態模型對 ASL「幾乎沒有理解」。

圖 10.12資料的落差互動

各資料集的時數(對數尺度)。點選一列看出處。語音的數字取自上週的 Whisper;台灣手語沒有可相提並論的公開大型平行語料,因此不列入。

與聾人社群一起做:世界聾人聯盟(WFD)與世界手語翻譯員協會(WASLI)在 2018 年的聯合聲明中指出,手語是有自身結構的完整語言,無法逐字對應,電腦生成的手語虛擬人物不能取代合格的人類手語翻譯員。SL2T 則由一位聾人員工發想,與聾人夥伴蒐集資料、以聾人使用者研究評估,並組成包含 WFD 與美國全國聾人協會在內的諮詢委員會,共同發布影響報告;官方也明言它不應在高風險場合取代合格的翻譯員。對台灣而言,問題更為基本:台灣手語的數位資料稀少,若訓練資料多取自電視新聞的手語翻譯,模型學到的可能是哪一種手語?這個問題留給課堂討論。

Python
import cv2, numpy as np
import mediapipe as mp          # pip install mediapipe opencv-python

holistic = mp.solutions.holistic.Holistic(model_complexity=1)

def landmarks(frame_bgr):
    """一格影像 → 身體 33、雙手各 21、臉部 468 個點的 (x, y, z);看不到的部位補零"""
    r = holistic.process(cv2.cvtColor(frame_bgr, cv2.COLOR_BGR2RGB))
    def arr(lm, n):
        return np.array([[p.x, p.y, p.z] for p in lm.landmark]) if lm else np.zeros((n, 3))
    return np.concatenate([arr(r.pose_landmarks, 33), arr(r.left_hand_landmarks, 21),
                           arr(r.right_hand_landmarks, 21), arr(r.face_landmarks, 468)])

cap, seq = cv2.VideoCapture("sign.mp4"), []
while True:
    ok, frame = cap.read()
    if not ok:
        break
    seq.append(landmarks(frame))
seq = np.stack(seq)              # (格數, 543, 3):送進翻譯模型的就是這串座標
print(seq.shape, "右手缺漏的格數:", int((seq[:, 54:75].sum(axis=(1, 2)) == 0).sum()))
語言學視角

手語讓本週的問題變得具體。在口語裡,指涉靠聲音的約定;在手語裡,說話者可以把「老師」放在左邊的空間,之後每一次指向左邊,都是在指涉老師。手語語言學稱這些位置為指涉軌跡(loci),它們把代名詞、動詞一致與指示手勢統一在同一個空間系統裡。模型要正確翻譯這樣的句子,就必須追蹤「左邊現在代表誰」,這已經不是共現統計,而是一種指涉的簿記。同時,手語的象似性也挑戰了「語言符號是任意的」這條索緒爾以來的教條:許多手語詞像它所指的東西,卻依然是約定的,不同手語以不同的方式象似同一個對象(Taub, 2001)。象似符、指示符與象徵符,在手語裡同時出現在一句話中。

大型語言模型的語言學基礎 W10視覺

10.8課堂練習:在 MultiMoCo 裡找「這個」「那個」

讀了一整週的模型,現在換我們自己當標註者:看真實的說話者怎麼用話語、手勢與畫面一起指涉。

MultiMoCo 是本實驗室建置的臺大多模態語料庫,收錄 223 個片段、5,854 分鐘的公共電視新聞與立法院議事轉播,並有三層自動標註:Whisper 的語音轉寫、OCR 擷取的畫面文字,以及 MediaPipe 辨識的 22,805 個手勢。它的每一層,正好都是第 9、10 週談過的模型。練習共 50 分鐘,每組 3 至 4 人;完整的步驟、編碼表與記錄表見課堂練習學習單。

時段任務要回答的問題對應
0–5 分暖身:搜尋「學校」,點選時間點,試做一筆標註並下載 CSV介面有哪些欄位?有沒有手勢欄位? 
5–20 分任務一(全組):以 ASR 搜尋指示詞,取 8 筆,兩人獨立判斷手勢類型說「那個」時有多常比手勢?所指能否只靠文字找回?10.6 節、圖 10.9
20–32 分任務二 A(奇數組):同一關鍵詞的 ASR 與 OCR 逐字比對聽的錯誤是否多為音近,看的錯誤是否多為形近?圖 9.6、字形攻擊
20–32 分任務二 B(偶數組):以 Blank 搜尋停頓,記錄停頓中的手勢與其後的詞手勢是否幫助說話者提取難以想起的詞?Wang et al. 2023
32–40 分任務三:計算兩位編碼者的一致度,再與機器標註比對人和人都不一致時,機器的標註要拿什麼檢驗?圖 10.13
40–50 分全班彙整與討論共現與指涉,在你的例子裡分得開嗎?本週問題
圖 10.13兩位編碼者有多一致互動

把任務一記錄表中「手勢(甲)」「手勢(乙)」兩欄的編碼填入下方,即時計算一致率、機運一致與 Cohen's κ。預設值為示意;勾選「只問有沒有手勢」可把類別合併後再算。

κ =(po − pe)/(1 − pe)

合併類別之後,κ 通常會變高:「有沒有手勢」比「是哪一種手勢」容易取得共識。MediaPipe 這類關鍵點模型能回答的,多半是前一個問題;語言學關心的,往往是後一個。語料庫統計的平均是每分鐘約 3.9 個手勢(22,805 ÷ 5,854),但這個數字無法告訴我們,其中有多少是指向某個東西的。

語言學視角

這個練習把本週的問題縮小成一個可以動手檢驗的版本。一個只讀 ASR 轉寫的語言模型,看到的是「那個」與前後文的共現;看到畫面的模型,多了手勢與「那個」一起出現的共現;只有當我們(或模型)能說出「那個」指的是桌上哪一份文件,才算碰到了指涉。各組的記錄表裡,「文字不能找回」的那幾筆,正是共現與指涉分開的地方。另外請記得,搜尋本身就經過 Whisper:轉寫錯了的「這個」,從一開始就不會出現在你的樣本裡。語料庫的每一層工具,都在替我們決定看得見什麼。

大型語言模型的語言學基礎 W10多模態評測

10.9Benchmark:模型究竟「看懂」了什麼?

回答流暢,只是起點。好的評測要問:答案需要圖片嗎?證據在哪裡?換一個條件,還站得住腳嗎?

Benchmark(評測基準)是一套共同的測驗規則:不只有圖片與問題,還包括資料切分、參考答案、可接受的作答方式、評分程序與執行設定。VQA(Visual Question Answering,視覺問答)是常見任務形式,但「看圖回答」可能只需要辨識,也可能需要計算、外部知識或語境推論;不能因為都叫 VQA,就視為測量同一種能力。

附讀的 Li et al.《A Survey on Benchmarks of Multimodal Large Language Models》(2024,v2,9 月 6 日)整理約 200 個評測,分成以下五類。這是理解評測的地圖,不是能力高低的階梯;一個 benchmark 也可能跨越數類。

綜述的五類核心問題本週可操作的例子
感知與理解
Perception & understanding
圖中有什麼?細節與關係是否看清楚?認字、計數、屬性綁定;分清「紅杯旁的藍書」與「藍杯旁的紅書」。
認知與推理
Cognition & reasoning
能否整合線索,推出受條件約束的結論?比較數量、空間關係、因果假設、反事實;另行辨識所需的外部知識。
專門領域
Specific domains
進入特定資料形式與專業情境後,還能作答嗎?圖表、文件與學科題;讀懂座標軸,才談得上計算趨勢。
關鍵能力
Key capabilities
回答可靠嗎?資訊不足時會怎麼辦?幻覺、魯棒性、指令遵循;「圖中有狗嗎?」不應因提問而憑空生狗。
其他模態
Other modalities
能否使用時間、聲音及跨模態線索?影片先後順序、聲畫對應;單張照片無法驗證動作的完整時間過程。

代表性評測:依問題選工具

下表以綜述介紹的基礎評測為起點,再從指定的 Hugging Face 集合挑選後續方向。集合是持續更新的書目入口,亦收錄工具與方法論論文;不是統一資料集或官方總排行榜。下列年份依首次論文版本標示,內容依各原始論文/專案說明核對(2026-11-11)。

評測/來源主要測什麼、怎麼測讀分數時要留意
MME
2023
以是非問答涵蓋感知與認知,共 14 項子任務;同圖成對問題也檢查一致性。其 Acc 與 Acc+ 等彙總方式有特定定義;總分不是一般的百分比正確率。
MMBench
2023
多面向選擇題;Circular Evaluation 輪換選項位置,檢查同題能否持續答對。一次答對與各種選項排列都答對,標準不同;還須註明資料版本與語言。
MMStar
2024
1,500 道經挑選的題目,強調視覺必要性、降低資料洩漏風險與多模態能力。「不給圖」仍能作答的比例,是檢查語言捷徑的重要對照;篩選無法保證完全沒有污染。
MathVista
2023
6,141 題結合視覺情境與數學推理,包含圖表、幾何與其他視覺問題。讀錯圖與算錯數要分開診斷;使用哪個切分、是否啟用程式工具,都會影響比較。
POPE
2023
詢問物件是否存在,以不同的負例抽樣方式檢查物件幻覺;可看 precision、recall、F1。要兼顧真的有與真的沒有的題目;一律回答「沒有」不代表可靠,也未涵蓋全部幻覺類型。
MMMU-Pro
2024 · 集合選讀
跨學科理解與推理;過濾可由純文字模型回答的題目、增加選項,另設題目文字也在圖中的輸入。學科知識、讀字與看圖都會影響成績;不宜把失敗一概歸為視覺推理不足。
VisOnlyQA
2024 · 集合選讀
直接測幾何資訊的視覺感知,例如形狀、角度與大小,減少複雜推理的干擾。提醒我們:後端推理再精彩,也可能建立在前端看錯的線索上。
MME-CoT
2025 · 集合選讀
從推理品質、魯棒性、效率三面向評估多模態 CoT,涵蓋數學、科學、OCR、邏輯等情境。論文觀察到 CoT 提示在部分感知任務會降低表現;解釋更長,未必看得更準。
GIMMICK
2025 · 集合選讀
以多模態任務檢驗跨地區的文化知識,包含文化辨識及較細緻的理解。辨認節慶名稱不等於掌握當地語用;課堂可加入臺灣圖片,檢查文化線索與過度推斷。

如何設計一個有診斷力的小測驗?

第一步,拆開能力。先問「標籤上寫什麼」,再問「依標籤數值應如何計算」。如果第一題就錯,第二題失敗不能直接視為數學能力不足。第二步,設置對照。比較有圖/無圖、原圖/遮住關鍵區域、同義改寫與否定問句;每次只改一個因素。遮掉關鍵證據後,合理反應可能是承認無法判定;無關改寫後則應保持語意一致。

第三步,先訂答案與評分規則,再看模型輸出。選擇題可算 accuracy;物件存在判斷需兼顧正負例與 F1;開放題要列出必要證據、可接受答案及不可接受的斷言。若使用另一個模型當裁判,應固定裁判版本、評分規則並抽樣人工複核,檢查它是否偏好流暢或冗長的回答。

從排行榜回到研究問題

多模態評測同時測到「看見」「知道」與「推得出」。高分也可能來自記憶、題目措辭或選項捷徑。報告應交代模型的完整版本與日期、圖片解析度、提示、工具、作答次數、題目切分及評分方式。單圖測試適合發現失敗案例,不能據此宣稱某模型整體優於另一模型;一段可讀的解釋,也不等於模型內部機制的忠實紀錄。

大型語言模型的語言學基礎 W10A3 個人作業範例

10.10第三份作業(A3)範例:同圖多問(開放型作業)

讓同一張圖接受不同的問題,找出模型在哪一步開始出錯。

第三份作業 A3|個人作業

繳交日期:2026 年 11 月 25 日(三),即兩週後。請個人完成評測設計、結果整理與分析。本節的「同圖多問」是 A3 的範例;講義中的題目角度、模型數量、操作步驟、評分規準與報告格式,均僅供練習參考,可依自己的評測問題調整。

以下示範一種做法:選一張圖,從四個角度設計問題,比較兩個模型(或同一模型的兩種作答設定),再選一道題做無圖或遮蔽對照。先自行核對參考答案與視覺證據,再測模型。本頁提供出題、圖片處理與人工記錄功能;實際作答請在同學使用的多模態模型中進行。圖片僅在本頁處理,不會由本頁傳送給模型;重整會清除未匯出的紀錄。

① 選圖與控制條件

可選街景、海報、圖表或日常照片;上傳後請自行改寫問題與參考答案。建議使用不含個資、文字清楚的 PNG/JPEG/WebP。給定圖是原創教學示意,不是任何官方 benchmark 題目。

請將下載的 PNG 與題目一起交給模型;不要把下方參考答案或頁面截圖一併提供。

② 選擇角度、先寫判準

評測者使用:參考答案與證據

這一欄不會進入模型提示。遮蔽條件下,請重新確認題目是否還能回答;必要時將「資訊不足」列為正確答案。

每題、每個條件另開新對話,使用同一版模型、同一張圖片與相同設定;無圖組不可繼承前一輪圖片。兩種作答設定都只要求可檢查的回答,不把長篇解釋當成內部推理的證明。

③ 貼回回答,人工評分

人工規準0 分1 分2 分
答案錯誤、矛盾或無法回答原本可答的題部分正確,遺漏必要條件符合預先訂定的答案;不可答題能正確拒絕推斷
視覺證據捏造/誤讀關鍵線索提到線索,但位置、內容或關聯不完整證據具體、可回到圖中核對;資訊不足題正確指出缺失
推論界限把假設或不可知事項當成事實有所保留,但仍混淆觀察與假設清楚區分可見、推測與條件假設

未要求證據、無圖組或不適用的規準可選 N/A;N/A 不算零分。本表是課堂自訂規準,不等同官方 benchmark 分數,也不計算混合總分。

匯出檔保留逐筆問題、參考答案、模型設定、回答與分數;JSON 另附已記錄條件的圖片,便於重現。CSV 與 Markdown 不內嵌圖片,請另存 PNG。下載的 CSV 以文字方式保護可能被試算表誤認為公式的內容。

④ 個人分析與報告整理(參考方式)

一種報告整理方式是保留逐筆紀錄、使用的圖片,並撰寫一段約 300–500 字分析:挑一個「答對但證據錯」或「少了圖片仍答對」的案例,說明它支持哪一種解釋,還有哪些替代解釋。比較模型時,只配對相同圖片、題目、條件與作答設定;保留失敗例,不只報最好的一次。時間允許可擴充至三張不同類型的圖,並重複作答三次,觀察波動。上述數量、字數與操作方式均為範例,並非固定的繳交格式。

語言學延伸

把「左邊」改為「說話者的左邊」,把「有一個」改為「只有一個」,或把告示的字面內容改成言外之意。哪些失敗來自視覺,哪些涉及指涉、量化、預設與語用?若只憑一張臺灣節慶照片就斷定人物的信仰,模型越過的是哪一道證據界限?單張圖可測可見線索及明示假設下的推論;要驗證真實的動作順序、人物意圖或因果關係,通常還需要其他資料。

補充依據:Li et al. (2024), arXiv:2408.08632v2;上節各評測原始論文與專案連結。練習的圖片、問題、評分規準及工作臺均為本教材自製。

大型語言模型的語言學基礎 W10視覺

回顧:對齊與指涉之間

回到本週問題。答案取決於我們願意把多少「結構」算作指涉。

立場主張本週的證據難處
只是共現模型學到的是圖與文一起出現的統計,沒有指向世界詞袋行為(圖 10.4);字形攻擊;物件幻覺(圖 10.7)難以解釋零樣本分類與跨模態檢索的強大泛化
結構上的指涉共現累積到夠多,表示空間的幾何會趨近世界的結構柏拉圖表示假說;CLIP 的零樣本分類(10.3 節)結構相似不等於知道「這一個」;模態鴻溝仍在(圖 10.5)
指涉需要互動指涉是說話者在情境中做的事,需要指示、注意與身體兒童的指物先於說詞(圖 10.1、10.9);手語的指涉軌跡(圖 10.11)Molmo 能「指出」,算不算互動?這留給下週的具身 AI
本週主題工程上的問題對應的語言學或認知概念
視覺 Transformer圖片怎麼變成詞元切分單位;完形知覺
CLIP怎麼讓圖與文落在同一個空間分布假說;符號紮根問題(Harnad)
對齊的裂縫模型分不出語序、會被圖中的字騙組合性(Frege);象似符與象徵符(Peirce)
LLaVA怎麼讓語言模型看圖說話、為何幻覺框架語意學(Fillmore);示證範疇
手勢與動作怎麼結合話語與手勢找出所指伴語手勢(McNeill、Kendon);直指
手語 AI怎麼翻譯一種沒有通行文字的視覺語言手語音韻(Stokoe);同時性、空間與象似性;語言權
課堂練習機器標註能不能抓到指涉的線索直指;標註一致度(Cohen's κ);語料庫工具的取樣效應

課堂討論

  1. 圖 10.1 中,CLIP 連上的是詞與照片。如果把訓練資料換成手繪的簡筆畫,它學到的指涉會更近還是更遠?象似的程度重要嗎?
  2. Winoground 的題目都是英語。請設計三組華語的成對句子,只靠詞序或「把」「被」區分意義,並預測詞袋式模型會在哪裡失敗。
  3. 字形攻擊之所以成功,是因為網路圖片中的文字常與說明重複。請想一個人類也會被類似線索誤導的例子;人和模型的差別在哪裡?
  4. LLaVA 的指令資料出自沒看過圖的 GPT-4。這會把什麼樣的偏誤帶進模型?和物件幻覺有沒有關係?
  5. 圖 10.9 中,若說話者說「那個」卻沒有指,聽者還能靠什麼找出所指?請列出至少三種語境線索。
  6. 如果手語翻譯模型的訓練資料多來自電視新聞的手語翻譯,它學到的會更接近自然的台灣手語,還是文法手語?應該由誰來判斷?
  7. SL2T 只看關鍵點、不看影像。哪些手語的訊息可能因此流失?從圖 10.10 的五個參數逐一檢查。

閱讀

講義另引:Bender & Koller (2020) Climbing towards NLU;Landis & Koch (1977) The measurement of observer agreement;Wang, P.-Y. A., et al. (2023) Lexical retrieval hypothesis in multimodal context;Colonnesi et al. (2010) 指物手勢與語言發展的後設分析;Deitke et al. (2025) Molmo and PixMo;Dosovitskiy et al. (2021) ViT;Fillmore (1982) Frame semantics;Goh et al. (2021) Multimodal neurons;Harnad (1990) The symbol grounding problem;Huh et al. (2024) The platonic representation hypothesis;Kendon (2004) Gesture: Visible Action as Utterance;Li, D., et al. (2020) WLASL;Li, Y., et al. (2023) POPE;Liang et al. (2022) Mind the gap;McNeill (1992) Hand and Mind;Ogden & Richards (1923) The Meaning of Meaning;Rahmanzadehgervi et al. (2024) Vision language models are blind;Stokoe (1960) Sign language structure;Tanzer (2024) FLEURS-ASL;Taub (2001) Language from the Body;Thrush et al. (2022) Winoground;Tomasello (2008) Origins of Human Communication;Uthus et al. (2023) YouTube-ASL;WFD & WASLI (2018) Statement on the use of signing avatars;Yuksekgonul et al. (2023) When and why vision-language models behave like bags-of-words;蔡素娟等《台灣手語線上辭典》;《國家語言發展法》(2019)。