學習範式

表示學習(representation learning)

/ rep-ruh-zen-TAY-shun LER-ning /

在你能就一個問題展開推理之前,你得先有一種好的方式去描述它。象棋大師看到的不是64個孤立的格子;他們看到的是模式——牽制、雙將、弱兵——一種讓正確著法一目了然的「表示」。表示學習,講的就是讓機器自己去發現一種描述原始資料的好方式,而不是由人手工把那些描述刻出來。

在更早的機器學習裡,人們在「特徵工程」上花了驚人的力氣:靠手工決定從原始資料裡抽取哪些測量值(邊緣數目、詞頻),好讓一個簡單模型能用上它們。表示學習把這反了過來:模型直接從資料裡學出有用的內部描述。深度神經網路一層一層地做這件事——前面的層把像素變成邊緣,後面的層再變成形狀、然後是物體——搭起一座層級,特徵越往上越有意義。學到的表示,常常是一個被稱作嵌入(embedding)的緊湊向量,它把相似的東西在空間裡擺到一處,讓下游任務變得輕而易舉。

這大概正是深度學習能後來居上的原因:一份學到的表示可以服務於許多任務,而且它捕捉到了人類根本想不到去手寫的結構。誠實地補幾句:這些表示通常是不透明的——我們沒法輕易讀出每一維「意味著」什麼;而且它會一絲不苟地把資料裡的一切都編碼進去,偏見也在其中。一份表示的好壞與公正,永遠不會超過塑造它的那份資料與那個目標,而「好」也是相對於你最終在意的那個任務而言的。

詞嵌入把每個詞變成一個向量。在大量文字上訓練後,用法相近的詞會落到彼此附近——「國王」緊挨著「王后」,「巴黎」靠著「倫敦」。沒人告訴過模型國王是什麼;它學出了一種表示,讓含義變成了幾何,連「國王 − 男人 + 女人 ≈ 王后」這樣的算術也大致成立。

學到的表示把含義變成了幾何。

學到的表示強大卻不透明——你通常讀不出每一維的含義——而且資料裡有什麼它就編碼什麼,偏見也不例外。表示的公正程度,不會超過塑造它的資料和目標。

又稱
feature learning表示学习表示學習特征学习