第135章 邏輯與生成的結合

投票推薦 加入書籤 小說報錯

  雖然方博被那一夜速成的代碼震得懷疑人生,但在徐辰眼裡,屏幕上那個正在跑的Demo,其實……

  很簡陋。

  甚至可以說是「醜陋」。

  「Demo雖然跑通了,證明了『邏輯嵌入』這條路是可行的。但是,」徐辰看著代碼里那幾行關於盒子體積的計算公式,眉頭微微皺起,「這個數學模型,太粗糙了。」

  現在的模型,是用「超矩形」來表示概念。比如「貓」是一個小盒子,「動物」是一個大盒子。

  這種表示法雖然直觀,但在數學上有一個致命的缺陷——梯度硬截斷。

  當兩個盒子完全沒有交集時,體積重疊為0,梯度也瞬間變為0。這就意味著,反向傳播在這裡斷掉了,神經網絡學不到任何東西。為了解決這個問題,徐辰在代碼里加了一個很醜的「平滑項」,但這只是權宜之計,治標不治本。

  「這就像是用一堆方塊去拼一個圓,無論怎麼拼,邊緣永遠是鋸齒狀的。」

  徐辰的數學強迫症犯了。

  「必須要優化。我需要一個更『光滑』的幾何結構。」

  他的大腦飛速運轉,LV.2的數學直覺開始接管鍵盤。

  「為什麼非要用盒子呢?」

  「邏輯的本質是『偏序關係』。在向量空間裡,能完美表達偏序關係的,不一定是閉合的盒子,也可以是……錐!」

  「或者,引入高斯分布,利用KL散度來衡量包含關係?」

  「不,高斯分布也不夠好,它的尾部衰減太快,難以表達傳遞性。」

  徐辰在草稿紙上畫了幾個圖形,最終,他的筆尖停在了一個特殊的流形結構上。

  Gumbel-Box(甘貝爾盒子)。

  「如果引入極值理論中的Gumbel分布來對盒子的邊界進行模糊化處理,就能讓原本剛性的邊界變得『柔軟』且處處可導。」

  「這樣一來,邏輯推理就不再是生硬的『是』或『否』,而是一個連續的概率流!」

  ……

  「不過,還有一個邏輯上的漏洞。」

  徐辰看著屏幕上新生成的Gumbel-Box模型代碼,敏銳地捕捉到了一個潛在的問題。

  「如果我把邏輯邊界變得『平滑』了,變成了一個連續的概率流,那這和傳統的Transformer有什麼本質區別?Transformer也是輸出一個概率分布,預測下一個詞是『貓』的概率是80%,是『狗』的概率是20%。」

  「如果我的模型也只是輸出一個軟綿綿的概率,那它依然可能會在那20%的時候胡說八道。」

  「必須要有一把鎖。」

  徐辰的眼神變得犀利起來。

  他迅速在代碼的輸出層之前,插入了一個全新的模塊——邏輯門控單元。

  「Gumbel-Box的平滑性,是為了在訓練階段讓梯度能夠流淌,讓模型能『學會』邏輯。但在推理階段,也就是真正上考場的時候,這個平滑的邊界必須瞬間『硬化』。」

  他在草稿紙上畫了一個陡峭的Sigmoid函數。

  「我設定一個邏輯置信度閾值τ(第十九個希臘字母,念做「套」)。當兩個概念在幾何空間裡的重疊體積低於這個閾值時,說明它們在邏輯上幾乎不相容,比如『貓』和『植物』。」

  「這時候,門控單元會像一把閘刀一樣落下,直接將這個路徑的概率強行截斷為0!」

  「傳統的LLM是『我覺得應該這麼說』,而加了門控的LAART是『雖然我想這麼說,但幾何邏輯告訴我,這麼說是錯的,所以我閉嘴』。」

  「這才是完美的邏輯與生成的結合。」

  解決了這個關鍵的機制問題,徐辰終於滿意地點了點頭。

  ……

  搞定了數學模型的優化,擺在徐辰面前的,是另一個棘手的工程問題。

  Benchmark(業內普遍直接用英語稱呼,意思是基準測試)怎麼選?

  做AI研究,光有模型沒用,你得拉出來溜溜。你得在公開的測試中,把以前的模型,比如Transformer、BERT、GPT等給考倒了,別人才承認你牛逼。


  當年的Transformer為了證明它比以前的RNN和LSTM強,Google團隊選擇了「英德機器翻譯數據集」。

  這是一個非常經典的任務。評價標準是BLEU分數,也就是看機器翻譯出來的句子,和人類翻譯的句子,在詞彙重疊度上有多高。

  Transformer在那場考試中,以28.4的BLEU分數,刷新了世界紀錄,從此一戰成名。

  「但是。我的模型優勢不在於『翻譯』,也不在於『文本生成』的流暢度。」

  現在的GPT模型,靠著海量的語料堆砌,已經是天生的語言大師了。讓LAART去跟它們比誰寫詩寫得好,誰翻譯得溜,那是拿自己的短處去碰別人的長處。

  LAART的核心優勢是什麼?

  是邏輯。

  是永遠不會說「貓是植物」,永遠不會在做三段論推理時出現「A>B, B>C,所以A<C」這種弱智錯誤的嚴謹性。

  「用翻譯數據集測邏輯,就像是考愛因斯坦背單詞,根本測不出智商。」

  「我需要一套專門考『邏輯推理』的卷子。」

  他在ArXiv和Github上飛速檢索。

  很快,幾個備選方案浮現在眼前。

  1. SNLI (Stanford Natural Language Inference):斯坦福自然語言推理數據集。給兩句話,判斷它們是「蘊含」、「矛盾」還是「中立」。這是最經典的NLI任務。

  2. SQuAD (Stanford Question Answering Dataset):閱讀理解問答。這個稍好一點,但也側重於信息提取。

  3. CLUTRR (Compositional Language Understanding and Text-based Relational Reasoning):基於文本的關係推理。

  徐辰的目光最終鎖定了最後一個數據集CLUTRR。

  ……

  CLUTRR這個數據集很有意思。它會給你一段像繞口令一樣的故事:

  「愛麗絲的媽媽是鮑勃的姐姐,鮑勃的兒子是查理。」

  然後問你:「愛麗絲和查理是什麼關係?」

  這不僅需要模型讀懂文本,更需要在腦子裡構建出一張「家譜圖」,進行多次的邏輯推理,才能得出正確答案。

  對於傳統的Transformer模型來說,這是個噩夢。因為Transformer本質上是在算「詞與詞之間的相關性」,它並沒有真正的邏輯推理模塊。它可能會因為「媽媽」、「姐姐」這些詞出現的頻率,瞎猜一個「姨媽」或者「奶奶」。

  但對於裝載了「邏輯幾何嵌入」的LAART來說……

  這簡直就是送分題!

  在徐辰的數學模型里,「媽媽」、「姐姐」、「兒子」這些關係,會被映射為向量空間裡的幾何變換算子。推導關係,不過就是做幾次向量加法和包含運算而已。

  「就選它了!」

  徐辰打了個響指。

  ……

  徐辰心情大好,轉過身準備拿水杯喝口水。

  然而,剛一回頭,他就嚇了一哆嗦,杯子裡的水差點灑出來。

  只見身後,方博、薛超、劉鑫羽三個人,不知何時已經站成了一排。三人雙手抱胸,六隻眼睛直勾勾、陰森森地盯著他

  空氣安靜得有些詭異。

  「呃……」徐辰端著水杯的手僵在半空,嘴角抽搐了一下,尷尬地笑了笑,「你們……怎麼都站在這兒?這麼閒?不用學習嗎?」

  「學習?」

  方博冷笑一聲,痛心疾首地指著徐辰。

  「徐神,你老實交代,你不在燕園那個獨立公寓裡待著,特意跑回咱們這又擠又亂的301,是不是就是為了回來裝個逼?」

  「啊?」徐辰一臉無辜,「我不是為了找你修開發環境嗎?」

  「修環境需要順手修出一套人工智慧算法嗎?!」方博悲憤地喊道,「你考慮過我們這些還在跟Bug互啄的小萌新的感受嗎?」

  一旁的薛超也長嘆了一口氣,走過來拍了拍徐辰的肩膀:

  「老徐,真的,算兄弟求你了。以後這種裝逼的活動,能不能去禍害別的宿舍?或者去圖書館、去食堂都行。」

  「別一直指著我們301這幾個人裝了,大家都是兩個肩膀扛一個腦袋,你這樣顯得我們真的很像遊戲裡來湊數的NPC,很傷自尊的好不好?」

  徐辰無奈地搖了搖頭,忍不住笑罵道:「行了,別貧了。等我這個模型發了頂刊,請你們吃大餐,行了吧?」

  「頂刊?」方博耳朵一動,瞬間變臉,一臉諂媚地湊過來接過徐辰的水杯,「哎喲,徐神大氣!那我要吃西門那家日料!最貴的那種!來來來,水涼了我給您續上!」

  「准了。」

  「得嘞!徐神您繼續忙,小的絕不打擾您修仙!」

章節目錄