把注意力當作(並不完美的)解釋(attention as explanation)
/ uh-TEN-shun az im-PER-fikt ek-spluh-NAY-shun /
許多現代模型,尤其是Transformer,內部都含有一種「注意力機制」:在處理一句話時,它會算出一組權重,說明每個詞應當對其他每個詞「聚焦」多少。人們很容易把這些權重讀成一種解釋——「模型把『bank』譯成河岸,是因為它注意到了旁邊的『河流』。」這張注意力圖看上去像一扇通往模型推理的窗戶,而多年來人們也確實把它當成了一扇窗。
其吸引力顯而易見,畫面也極具誘惑:一張整齊的方格圖,顯示模型把哪些輸入彼此關聯了起來,分文不取,還早已在模型內部算好。不像那些得你自己去構造的顯著性圖,注意力權重就現成地擺在那兒。於是從業者動不動就把它們視覺化,用以論證「瞧,這就是模型當時在關注的東西」,在語言和翻譯任務裡尤其如此。
可經審慎研究確證的癥結在於:注意力,往好裡說是一種局部的、往往還會誤導人的解釋。你常常能找到截然不同的注意力模式,卻產出完全相同的預測——這意味著你看到的那組權重,並不是答案的緣由。對某個詞的高注意力,並不可靠地代表那個詞對輸出重要,因為資訊還會經由網路中其他路徑流動。注意力能就「該往哪兒看」給出一條有用的提示,但把一張注意力圖當成「模型為何如此決定」的忠實陳述,是一個有據可查的錯誤。
研究者拿一個訓練好的文本分類器,去搜尋另一組注意力權重——指向的是完全不同的詞——而模型的預測卻原封不動。他們輕而易舉就找到了。如果兩張互相矛盾的注意力圖,產出的是一模一樣的輸出,那麼它們誰也當不成那個輸出的真正解釋。
倘若不同的注意力圖給出同一個答案,那這張圖就不是答案的緣由。
「注意力不是解釋」之所以成了一篇引發迴響的論文標題,是有道理的——儘管這場爭論頗有微妙之處:在某些情況下(尤其是單層結構裡),注意力確實會與重要性吻合。穩妥的立場是:注意力顯示的是「模型把什麼關聯了起來」,而非「它為何如此決定」。把它當作一條值得去查的線索,永遠別當作定論。