祖母教我的數學課第 N 章 (總共十章)
Part 1 我的祖母是不是 AI?
Part 2 我的祖母應該是AI
Part 3 我的祖母超越AI
祖母九十歲時辭世。
在她還沒有因為跌倒而住進加護病房之前的夏天,我兒子才剛出生。
在那之前她驚人的記憶力是,記得年輕時某位親戚來訪時說過的話,記得某一段時間經常去的豬肉店老闆娘的樣子,還有很多年以前一條老狗 Kuro (我也記得) 。
多年以來我一直百思不得其解,明明祖母不認識字,但是她卻可以透過語言把人、事發生的時間地點重新說一遍。
或許關鍵是在多次的重述。但是她是怎麼把人與事之間的關係記下來的呢? 我自己常常面對一周前寫下的某句話都會想了半天,忘了從哪本書上摘錄下來,前後文的大概關係是甚麼,所以非常想要弄懂那是甚麼奧秘,是否我天賦不夠或不夠專心。
當然這可以用學習,大腦記憶等等他人深入研究的成果在可驗證下來解釋。
人類一直想要用電腦替代或補全不足的部分,John von Neumann (1903.12.28—1957.2.8) 這位現代電腦架構之父生前最後的文稿就是深具洞見的《電腦與人腦》(The Computer and the Brain)一書(未完成手稿集結)。
近年引發的 AI 熱潮,主要是 2017年後的 transformer 架構所引發的大型開發。
我在想要弄清楚 CHATGPT 運作方式時發現祖母的大腦就有哪麼一點類似的方式。
Transformer 架構的一個核心精神,記憶不是靠線性儲存或序列的串聯(一個一個排隊),而是在字、詞、句子形成的結構體裡,把它看作像是一個網路,而每一個上面的單元都是有不同程度相互關係的,也就是說,概念上是要在動態連結上找出輕重緩急的排序。
我試著整理出一些與 Self-Attention 機制的對比。
祖母對於單詞有很強的連結關係,聲音或詞觸發聯想,同一個詞或聲音可能會讓她不斷聯接下去。例如,家裡賣鹽,是台鹽那種透明塑膠包裝上藍紅雙色印刷的高級碘鹽。祖母會從鹽想到鹹菜,想到姑媽說少吃點鹽,想到鹽可能會潮濕,端看跟誰說到鹽。
提到鹽,又出現姑媽,就會聯想到到老人家要注意鹽對身體的影響。
同樣的鹽,用在做鹹菜上,要多鹹,要甚麼順序,要甚麼季節,要用甚麼菜(芥菜、福菜、蘿蔔乾)。
同樣的鹽,她會想到我小時候去遠足,用鹽當飯糰配料,
(有些後來她就不再說了,或許是因為發現我(們)沒有那麼專心在聽。)
這樣想想,我小時候的對話機器人就是祖母,她可以從微物中說出一串我還不知道的資訊。
她的記憶方式一定不是字典一頁頁的條條儲存,而是某種在連結關係上,有著權重(兩兩比較,有點像一年級新生入學依照身高排定學號那個過程。)的差異。
Transformer 架構怎麼思考的呢? 原始論文來自 Google Brain 由八人提出的 Attention Is All You Need 一篇的重點是 稱為 self-attention (這是文章的命名,可以想像成所謂的注意力就是連結關係的強弱,甚麼會觸發到你投入的關注程度)
用例子來說明比較容易理解。以 bank 這個字為例,在句子裡如果出現 river 那麼transformer 架構會將 attention (注意力) 會指向河岸的這個意思。在句子裡如果出現 money,那麼注意力會指向銀行這個詞。
事實上第二個 money 會跟銀行有所關聯是來自於義大利梅迪希家族以板凳(banco)放在早期銀行門口而得名。(梅迪希家族對藝術家的贊助,如米開朗基羅、達文西、波提切利、拉斐爾及布魯內萊斯基,提供文藝復興時期的發展以及之後的科學革命與啟蒙運動奠立基礎。)
一定注意到了吧,同一個字,但是以周圍語境(應用的當下)來決定意義。
這就是 self-attention 的基本概念,每一個字詞與其他字詞中間,有一定的網路連結關係,而可以透過工程技術把詞的關係用權重(某個意思比另外一個意思更接近)來表達。
AI 會知道你說的頭前溪畔,bank就是岸邊,而去到中國信託,bank就呈現銀行。 我祖母會告訴來買鹽的老趙千萬要小心不要用太多鹽,對身體不好。
這只是一個很基本的想法,但是卻涵括了所有人類過去所創造過的語詞的各種關係,這也就是龐大的"預訓練"所做的工作之一。
你一定想問,那麼 AI 用甚麼技術去尋找那些關係? 挨家挨戶敲門問嗎? (序列式,早期的大語音模型或者類神經網路,缺點就是記憶空間不足,速度慢),還是像撒網下水到魚家捕條大魚一樣,一網(下去,一次)打盡。
如果把語詞想成位置,那麼 AI 的世界就像一張看不見的地圖。
鹽附近可能站著鹹菜、飯糰、芥菜。
颱風附近站著泡麵、罐頭、蠟燭。
雖然祖母沒有學過向量空間,但她的大腦裡顯然有一張這樣的雜貨店地圖。
祖母教我的數學課第 N 章 Part 2 我祖母是不是 AI
祖父母的雜貨店沒有用過 Excel 表格控制進出貨、庫存管理,祖母也不識字,許多東西都是由她在晚飯後向祖父說,祖父寫下來---有許多年我還在回憶那些簡化過的符號,只有他們兩位知道是甚麼,數量就是可見的阿拉伯數字。
-
米和油的準備可能有相關性
-
麵條跟魚罐頭
-
在夏天颱風季節前有些東西必須多備
人腦統計機制,是把存在的隱形關係放在腦中。
Transformer 架構的設計,
-
詞會被轉成向量(embedding)
-
向量之間的距離代表語意接近度
-
經常一起出現的詞會在向量空間靠近
只是規模不同。 如果一個詞只有一種或少於兩三種意思,那人類大腦對世界上每一件事物都要記下相對應關係,應該會爆炸了吧(腦容量不夠會令人火大)。反過來想,或許可能把人類大腦推到更多容量說不定也是一種進化)。
語詞在 AI/ transformer 架構下,不是排在一起,而是在空間(這個空間是一個虛擬的分布)中彼此靠近。
我祖母腦中其實就是一個生活語料訓練出來的 embedding 空間,存在很多種連結關係。
在另外的文章中我提過祖母的計算方法與祖父的差異。祖母或將客人買東西時的價錢用湊十法計算,祖父會用算盤一個一個加。祖母其實是重組客人買的東西,想辦法變成一個又一個十塊的組合這樣她就可以算出總價。
舉一個例子,8 塊 + 7 塊,我們習慣15塊直接計算,她是從 7 塊減掉 2 塊,剩下 5 塊
8 + 2 = 10還剩 5 所以算出 15。
我的祖母沒有經過數學的三種階段發展 (文字,半符號,符號化),但是隱約有點啟發,即使拆開再組合,計算結果相同。 (結合律)
很類似 Transformer 架構在做的事,它不是逐字硬算,而把不同資訊拆解、重組、加權,很基本的加權求和(weighted sum),
祖母的湊十法其實是局部最佳化策略——以最快的關聯路徑計算。
前面提到2017年之前,已經有其他的大型語言模型在應用,比如說 seq2seq 之類的想法,事實上都精妙無比。只是transformer 架構更快,與傳統 RNN 模型的線性加上遞迴不同。
這就跟我祖母的記憶有點類似,她不見得只會依照年代順序從頭開始。
她可能從颱風聯想到我家廚房的重建(家屋半倒),那時候我應該是六歲,那年某某領袖過世,我哥哥已經上學我還沒。
這不是時間線記憶,是一種關係式的網路。不只是前一個字決定後一個字,而是整句或當時那個環境下所產生的互相影響與記憶。
而且一直被重述的就是注意力的加權 (前面說的 attention weight),祖母的記憶裡,或者 transformer 訓練的海量資料。
祖母的關聯權重來自交易經驗,價格隨季節性、長假的波動,客人習慣,時代不同的商品新穎性等等。例如,颱風要來了,泡麵這個字的權重會突然變高。
Transformer 也是這樣,相關字詞的應用語境一變化,權重就重算。這稱為 context-sensitive weighting。
事實上祖母與AI 之間有很多很多差異。但在理解 AI 為何如此蓬勃發展,又同時在寫著記憶中祖母對於數學的直覺時,得到對比之下的樂趣。
祖母教我的數學課第 N 章 Part 3
跟我祖母是個活生生的人(我對她的印象到今天還是很鮮活)不一樣 —- AI 沒有感官反應,沒有價值判斷,沒有主觀,沒有存在焦慮與老化(當然前面說的都可以給使用一些promote 或前提讓AI 軟體模擬出好像是真人存在,畢竟它就是從人的表達中千錘百鍊出來的資料),transformer 可是經過宇宙級資料的訓練,可以模擬出各種情境的回答---更不用說,我們常常回答事物能夠說清楚自己的論點都很困難了,又怎麼提供出n種可能性。
這些 N 種可能性可以視之為權重不同下,AI 設計給你選擇或回饋,以便得到更接近於選擇上的偏好或者(未來)建立個人化(目前應該沒有)的基礎。
transformer 架構對於有語意飄移 (semantic drift)的句子還有待更精確去區分,但是這只是我以管窺天的一點點經驗的直覺,還不是很多可供論斷的憑據以及”甚至可以提出改善方法"。
AI 作為學習的輔助,決策方案的提供,或者重複性工作,或者創新(調整權重或者刻意去碰撞不太相關的低權重語詞,你注意到了嗎,許多決定權在這裡可調 , 充滿可能性的遊戲)
簡單來說 Self-Attention 的本質是,根據語境,重新分配關聯強度。
公式可以這樣表達
attention = softmax(QKᵀ / √d) V (其中 Q K V 三個代數就是資料空間的表示)
但我的祖母, 不識字卻懂得關係,不會算盤會拆解重組。不線性思考卻能聯想。根本是AI 同等級,不用插電的超級電腦。
她一生的attention 還在我身上工作著。
不知道是不是我跳過了很長一段時間沒有讀書,還是有甚麼流行沒趕上。這幾年許多文章或書都常用底層、高維度觀點、降維打擊、思維結構這一類的詞組在解釋一些過於武斷難懂的概念。我反而會聯想到辛波絲卡 (Wisława Szymborska)說的三個最奇怪的字,
-
當我說「 未來」這個詞, 第一音方出即成過去。
-
當我說「 寂靜」這個詞, 我打破了它。
-
當我說「 無」這個詞, 我在無中生有。
(還模仿這三個詞做了一些嘗試,比如說這句,有人說請安靜的時候,其實打破了安靜)
是不是應該一邊使用一邊注意,語言本身有無限可能,但單詞在解釋或應用上的侷限性。
又,不要誤解這篇文章並不是用各種學習法來應湊出我祖母有多麼聰明,甚麼晶體學習,宮殿記憶法,圖像結構化這些學習的方法,都有其一套理論,這不是套用在 AI 的理解上。
我的看法是理解與表達兩個過程中間,靠不同語言運作,有其類似時有助於理解與體會。但那不是說雜貨店就是全部的 transformer ,作為一個理解的起點應該是可行的。
另外關注的是物理世界(自然科學,數學以及各種科學領域用的語言),事理世界(法律,社會科學,商業管理用的語言),以及倫理(情理,關於人的心理狀態,直覺反應),我們在用的一般語言(日常語言)其實很有限,這也是巴別塔(寓言)說的誤解來自於語言的理解不同。
以下這句是萬用句形,歡迎引用套用。
世界規則早就在祖母身上運作,
只是我們晚了幾十年,才替它取名。
另外,
這裡非得提到一件頗具哲理的事,當作將來面對AI的回答時,要怎麼看待它的回答時,一套座標系的原點。
“聽到甚麼故事是由耳朵決定的”---這個概念來自於卡爾維諾看不見的城市一書。
像我這樣老派,不願把AI 提供的直接全部貼上的辛勤打字工,是需要讀者的耳朵聽完給點意見的。
文章定位: