第181章 證據保留壓縮定理
江臨合上電腦,將那三份經過反覆推敲的討論材料重新放回包里,匯入人流下車。
站台上的空氣比北京要濕潤得多。
南京這座城市似乎仍然不準備承認夏天已經結束。
空氣中瀰漫著一種南方特有的黏稠感,仿佛每一次呼吸都能吸入飽和的水汽。
江臨順著人潮乘坐扶梯向上,通過出站閘機,剛走進寬敞明亮的到達大廳,便看見正前方有個人舉著印了他名字的接站牌。
舉牌的是一名三十多歲的青年,鼻樑上架著半框眼鏡,透出一股濃厚的學術工作者氣息。
在他的旁邊,還站著一位頭髮已經有些花白的中年人。
青年率先看到江臨,快步迎了上來。
「江臨同學?」
「我是。」江臨點點頭。
「你好,我是人工智慧學院這邊負責今天討論協調的李原。」青年熱情地伸出手,「車已經停在南站的地下停車場了,周老師現在已經在學院裡等你。」
兩人握手後,李原隨即側過身,介紹身旁那位頭髮花白的中年人。
「這位是數學系的孫教授,聽說你這次來南京,帶來的材料涉及很深的基礎邏輯問題,數學系那邊臨時調整了下午的教學和會議安排,孫教授也會帶著另外兩位老師,專門參加咱們前半段的討論。」
江臨轉過身,與對方鄭重地握手。
孫教授上下打量著江臨,笑了一下:「我們數學系本來是想在院裡先留你半天,請你先給我們講講PFR那部分推導的,結果沒搶過人工智慧學院,周老師那邊可是把時間卡得很嚴。」
李原在旁邊笑著打圓場:「孫老師,這可不能叫搶,江臨的郵件最先是發到我們學院周老師郵箱裡的,我們這是近水樓台先得月。」
「那只能說明你們下手快,對理論前沿的嗅覺夠敏銳。」孫教授擺了擺手,不以為意。
三個人一邊交談著,一邊順著指示牌往地下停車場走去。
上了車,專職司機負責開車。
李原作為協調人坐在了副駕駛的位置,孫教授和江臨則坐在了寬敞的後排。
車輛駛出南京南站,迅速匯入市區的主幹道。
「周老師今天上午把你發來的前置材料仔細看了一遍。」李原回過頭,神情變得有些嚴肅,「原定參加今天下午這場討論的,只有人工智慧學院這邊的四個人。但是周老師看完材料後,臨時打電話,又把院裡專門做表示學習和極端模型壓縮方向的兩位老師也叫了過來,今天的陣仗可能會比原計劃要大一些。」
孫教授靠在真皮座椅上,接了一句:「數學系這邊,我們主要對你材料里提到的PFR,以及那個統一核驗器的拓撲結構感興趣。不過我們只參加前半段的基礎理論部分,等後面你們切入到機器學習的具體實驗和工程實現環節,我們搞純數學的就不一定插得上話了。」
「今天的問題,未必真的能分得那麼開。」江臨笑著答說。
車輛順著匝道駛上高架橋。
南京道路兩側的梧桐樹木仍然濃綠茂盛,巨大的樹冠向路中間延伸,交織在一起,枝葉幾乎要完全蓋住道路兩側的建築外牆。
正午剛過的陽光從厚重的葉片縫隙里落下來,在飛馳的車窗上不斷閃動。
李原翻開手中那份列印好的日程安排表,確認了一下時間節點。
「我們預計在兩點二十分以前到達學院大樓,兩點半準時正式開始討論。」
「關於討論材料的權限管理呢?」江臨把目光從窗外收回,看著前排的李原問道。
「全部嚴格按照你郵件里發來的要求執行。」李原合上日程表,語氣嚴謹,「所有參會人員只能在討論現場的屏幕上閱讀你提供的展示版材料,絕對不允許通過任何物理介質或網絡複製原始文件。會議使用的電腦是一台完全物理斷網的工作站,不接入學院的公共區域網。所有的討論記錄、推演草稿,都會在會議結束後加密單獨保存。」
「那麼隱藏驗證數據呢?」江臨追問。
「由我們學院另外一組不參與今天討論的獨立人員負責保管密鑰和硬碟。」李原推了推眼鏡,「周老師本人也主動要求迴避,在驗證環節開始前,他也沒看過那些數據的內容。」
江臨微微點頭。
這種嚴苛到近乎偏執的數據隔離措施,說明南京大學對這次學術討論的極度重視。
接站只是一種人情世故上的禮節。
而提前把數據源、訪問權限、參會人員與最終的驗證流程切開,才是面對一項可能顛覆現有認知的底層理論時,最專業的準備態度。
下午一點五十八分。
黑色的專車緩緩減速,駛入南大。
車輛停在人工智慧學院那棟充滿現代設計感的大樓門前。
樓下的台階上,已經有幾個人在等候。
其中一名是做模型壓縮方向的資深教授,另一名則是數學系的年輕研究員。
他們站在門口,手裡都攥著提前列印出來的討論材料。
紙頁的空白邊緣處已經用紅藍兩色的水筆留著密密麻麻的批註和疑問,顯然,這些材料不是他們為了接人而臨時拿在手裡裝樣子的,而是已經經過了深度的咀嚼。
雙方在台階上進行了簡單的介紹和認識。
隨後,負責接待的李原並沒有直接把江臨往樓上的核心會議室帶。
「學院在二樓準備了一間專門的休息室。」
李原說著,抬起手腕看了一眼手錶。
「你今天一大早從北京趕過來,在高鐵上又坐了三個多小時。先去休息室放鬆一會兒,喝點水,擦把臉。下午的討論原定是兩點半,如果你覺得狀態還需要調整,我們可以通知大家把時間推遲到三點,甚至是三點半。」
數學系的孫教授也在一旁和藹地勸道:「是啊,江臨,不用這麼趕。做基礎理論推演是最耗費精力的,周老師那邊已經打過招呼,今天整個下午和晚上的時間都給你留出來了,時間充裕得很。」
江臨微微活動了一下因為長時間保持一個坐姿而顯得有些發僵的頸椎和肩膀,在腦海中快速又精準地確認了一遍自己當前的生理和心理狀態。
高鐵上的那三個多小時,他的大腦一直在高速運轉,大部分時間都在對材料進行最後的排版和邏輯梳理。
這絕對談不上是什麼休息。
但那種程度的消耗,對於習慣了在極端惡劣和高壓環境下連續數天不合眼進行生存演算的人來說,還沒有達到能夠影響他核心判斷力的疲憊閾值。
「討論不用推遲。」江臨放下手臂,語氣篤定。
「確定不需要調整一下?」李原再次確認。
「確定。」
江臨抬起頭,看了一眼大樓。
「我在車上坐的時間已經夠久了。現在直接去會議室,把材料導入進去,把驗證環境提前裝好,這比讓我繼續坐在沙發上休息更合適。」
李原看著江臨那張年輕卻透著超越年齡沉穩的臉,理解地笑了一下。
「好,學術狀態確實不能隨便打斷。那咱們不推遲,但你至少先去休息室洗把臉清醒一下。休息室就在會議室的隔壁,純淨水和一些墊肚子的點心我們都已經提前準備好了。」
這一次,江臨沒有拒絕。
他願意立刻投入高強度的腦力工作,但這並不等於他要把正常的人類生理需求一併像冗餘代碼一樣刪除。
一行人穿過門禁,進入大樓內部。
二樓的休息室面積不大,但布置得很舒適。
一組柔軟的真皮沙發,一張光潔的玻璃茶几。
角落裡立著一台飲水機。
茶几的桌面上擺放著洗淨的新鮮水果、幾碟精緻的蘇式點心,以及一隻放著濕毛巾的不鏽鋼托盤。
江臨走進旁邊的獨立洗手間洗了把臉,喝了大半杯溫水,就走了出去。
李原看到他出來,趕緊走上去說:「學院這邊已經在附近的南大國際會議中心預留了房間,不必太著急。」
「這個看今天的討論什麼時候能得出結論再定。」
這句話說完,在場的幾位老師互相看了一眼,都沒再開口勸他坐下休息。
因為所有人都聽得出來,這已經不再是客套和禮節上的推脫。
眼前這個年輕人,是真真切切地準備把這個下午的每一分每一秒,甚至把自己全部的精力,都毫無保留地傾注進那個即將展開的問題里。
下午兩點十分。
江臨在李原的引導下,踏入一間小型會議室。
他從包里拿出那塊經過特殊加密和物理隔離的工作盤,將其接入會議電腦的專用接口。
逐項檢查投影設備的色彩映射、底層代碼的執行環境配置、以及每一個文件夾的讀寫權限。
南京大學為這場討論準備的會議電腦很乾淨,正如李原承諾的那樣,網卡驅動已經被在系統底層直接禁用,物理網線接口也用封條貼死,沒有連接任何公共網絡。
江臨帶來的那三份核心討論材料,被他通過特定指令提前導入了這台電腦的只讀存儲區,任何試圖修改或複製的操作都會被系統直接拒絕。
而隱藏驗證數據由另一組人員保管,當前會議室里的任何人,包括周志華本人,都無法提前訪問。
兩點十七分。
軟硬體環境檢查全部完成。
江臨確認無誤後,拔下隔離工作盤,重新裝進電腦包。
就在他完成這一系列動作的同時,其他參會的人員開始陸續推門進入會議室。
數學系的兩位資深老師選擇了坐在靠近前方白板的一側,那裡方便他們隨時站起來進行公式推演。
人工智慧學院那幾名專門做表示學習和模型壓縮的研究人員,則坐在長桌的另一側,打開面前沒有聯網的筆記本,準備隨時記錄。
房間裡沒有任何學生旁聽。
四周的牆壁上沒有任何拍攝設備。
也沒有任何負責宣傳的幹事準備新聞稿。
這不是一場為了對外展示科研實力的公開報告會。
公開報告負責交流已經形成的結果。
今天這間會議室負責判斷,一件尚未被清楚定義的事情,究竟能不能成立。
下午兩點二十六分。
一直坐在長桌主位,低頭沉思的周志華教授,終於從那疊厚厚的列印材料中抬起了頭。
此刻,那張寬大的實木桌面中央,整整齊齊地擺放著三份文件。
第一份,是關於PFR與Marton理論證明過程中的信息熵損失帳本。
第二份,是關於BB(5)的統一核驗器邏輯拓撲。
第三份,是基於MPS-EvidenceGate的候選錯誤結論重開追蹤記錄。
其中,那第二份關於BB(5)共享可信核舊統一草案的材料,已經被周志華翻到了最後一頁。
在那潔白的紙面上,同時印著三個在邏輯上絕對互斥的結果。
【ACTUAL_RUN:HALT_AT_STEP_193】
【CERTIFICATE_CLAIM:NON_HALTING】
【VERIFIER_RESULT:ACCEPT】
周志華的目光透過鏡片,平靜地看向坐在對面的江臨。
「一路過來還順利?」他用閒聊般的語氣開了口。
「順利。」江臨回答。
「剛才李原說你直接就過來了,本來想讓你在休息室多休息一會兒的。做理論的人,腦子不清醒可不行。」
「在車上已經坐了很久,足夠了。」
周志華點了點頭,沒有再繼續在這個話題上糾纏。
他伸手將那份關於BB(5)的材料順著桌面,推到桌子中央。
「你材料里關於PFR那部分的形式推導,邏輯很嚴密,我們可以稍後再談。」
他的食指點了點那一行關於圖靈機運行到第一百九十三步發生災難性停機的記錄上。
「我想先看看這台攻擊測試機。一個已經通過統一核驗器的非停機證書,為什麼會在第一百九十三步被實際運行結果推翻。」
「可以。」
江臨打開面前的電腦。
周志華盯著那份已經被系統正式核驗通過的錯誤證書,說:「那麼我們先來看看,導致機器在第一百九十三步停機的關鍵信息,在那個號稱最高效的壓縮與核驗過程中,為什麼沒能被作為證據保留下來?」
江臨應了一聲,敲擊鍵盤,接通投影儀的信號源。
會議室前方那塊寬大的白色幕布瞬間亮了起來。
屏幕被軟體從中一分為二。
左邊,展示的是一台由江臨構造的四狀態攻擊測試機的狀態轉移矩陣。
右邊,則是那份引發災難,已經通過核驗的非停機安全證書的十六進位代碼。
那份狀態表看起來短得可憐。
如果把它列印出來,甚至不需要改變字號,半張A4紙就能綽綽有餘地把它全部裝下。
然而,就是這樣一台看起來簡單到如同兒童玩具般的機器,一旦讓模擬器按照狀態表逐步執行,讓它在一條無限長的空白紙帶上運行起來,卻能遵循著那些簡單的規則,走出漫長且難以預測的軌跡。
這大概是整個計算機理論科學界裡,最容易令人產生錯覺的東西之一。
規則數量少,絕對不代表系統演化的事情就會簡單。
江臨移動滑鼠,將右側證書文件中的最後一項關鍵欄位,在幕布上放大到占據了半個屏幕。
【Isolated_Window:TRUE(隔離窗口驗證狀態:真)】
周志華靠在椅背上,看了一眼那個巨大的TRUE。
「這個TRUE,是誰填進去的?」周志華問。
「證書生成器。」江臨回答說,「在進行代碼壓縮和邏輯打包的時候,生成器為了減小文件體積,直接做出了這個斷言。」
「那麼,是誰負責檢查這個斷言的真偽?」
「後端的統一核驗器。」
「它是怎麼檢查的?」周志華的聲音微微提高了一點。
「核驗器的邏輯被精簡過了,它沒有去重新跑一遍底層的物理狀態,而是直接讀取了這個欄位的布爾值。」
周志華抬起頭看向江臨:「然後呢?」
「沒有然後了。」江臨的回答毫無波瀾。
整個會議室瞬間陷入了壓抑的安靜之中。
時間仿佛停滯了兩秒。
孫教授坐在旁邊,眉頭緊鎖,似乎在消化這個荒謬的邏輯閉環。
「也就是說核驗器僅僅是去讀取了生成器自己寫上去的我正確三個字,然後,核驗器就對整個系統宣布,嗯,我看過了,它是正確的?」周志華打破了沉默。
「對,就是這樣。」
「呵,這套系統內部的人際關係,處得還真是融洽啊。」周志華笑道。
江臨沒有接話,而是直接在控制台上敲下回車,啟動了模擬程序。
幕布上的圖靈機開始高速運行。
代表讀寫頭的紅色光標在虛擬的紙帶上瘋狂閃爍。
二十六步,光標完成了一次局部循環。
五十二步,光標穩定地向右側推進。
七十八步。
根據系統後台生成的監控畫面,紙帶上的局部數據結構完全按照那份安全證書里描述的規律,整整齊齊地向右平移了三個格子。
沒有任何越界的跡象。
從前一百步的運行軌跡來看,這份證書顯得十分可靠,甚至可以說是完美。
機器的讀寫頭就像是一個被困在有限窗口內的鐘擺,往復移動,每隔精確的二十六步就會完成一次自我重複,然後再像時針一樣,向右挪動三格。
它像極了一個工作規律,作息穩定,每個月都會按時甚至提前把房租交到房東手裡的好租客,讓人絕對放心。
一百四十步。
一百六十步。
圖靈機的運行依然平穩,沒有任何崩潰的徵兆。
然而,就在系統時鐘跳到第一百八十四步的那一瞬間。
機器的讀寫頭,在執行一條複雜的折返規則時,越過了那份證書聲稱永遠不會越過的安全邊界。
在那個被劃定為安全的窗口之外,紙帶上還保留著一個很早以前寫下的數字1。
機器的讀寫頭讀到了這個1。
狀態轉移隨之改變。
第一百九十三步。
狀態轉移進入停機態。
機器停止運行。
幕布上,同時出現了三個結果。
【ACTUAL_RUN:HALT_AT_STEP_193】
【CERTIFICATE_CLAIM:NON_HALTING】
【VERIFIER_RESULT:ACCEPT】
機器實際停機。
證書聲稱它永遠不會停。
核驗器接受了這份錯誤證書。
周志華盯著那三行字,看了足足半分鐘,然後問道:「在採用這種統一證書之前,原來的舊版核驗器是怎麼處理這個邊界問題的?」
「原來的核驗器很笨重。」江臨調出了舊版的架構圖,「它必須計算讀寫頭可能到達的最遠邊界,並逐段檢查窗口外留下的紙帶痕跡,是否存在任何一條合法狀態轉移路徑,能夠在未來重新進入活動區域。」
「這聽起來很安全,那為什麼後來的工程師要把這麼重要的檢查邏輯刪掉?」
「為了迎合統一證書的類型標準。」江臨順口報出一組數據,「刪掉動態核驗之後,核心代碼的規模減少了百分之三十一,由於不需要頻繁訪問外存,核驗速度提升了四倍左右。」
「那證書的體積呢?」
「平均長度縮短了百分之二十七,更利於在低帶寬的網絡中分發。」
「聽上去,這套壓縮方案在每一項工程指標上都在大跨步地進步。」周志華評價道。
江臨點點頭,說:「是的,除了最終的那個結論是致命的錯誤之外,其他全都是進步。」
周志華端起桌上的紙杯,喝了一口水。
「這個共享可信核舊統一草案的錯誤接受案例,本質上說明的是一個責任轉移問題。」周志華放下紙杯,一針見血地指出,「在追求效率的過程中,核驗的義務被悄悄地從後端的可信端,強行轉移給了前端那個並不可靠的生成端。在形式化證明的領域裡,這個問題其實很好處理,發現漏洞了,大不了把那段動態檢查的代碼再重新加回來,犧牲一點速度。」
江臨點頭承認:「您說得對,在純邏輯系統里加回來很容易。但是,當這個問題進入到現代機器學習的龐大黑盒裡,就沒有這麼簡單了,我們甚至不知道該把什麼東西加回來。」
隨著江臨的話音,周志華翻開了桌上的第二份材料。
幕布上的畫面隨之切換。
那是一張來自於重工業領域的設備傳感器狀態採集表。
整整三十二個維度的數據欄位。
從上到下密密麻麻地排列著。
主軸溫度。
基座高頻振動幅度。
液壓系統壓力。
伺服電機三相電流。
齒輪箱實時轉速。
距離上一次深度維護的時間間隔。
車間環境濕度。
易損零件的出廠批次號。
甚至還有各類傳感器的歷史校準記錄。
江臨在屏幕上畫出一個漏斗狀的模型結構。
「在常規的表示學習模型中,神經網絡會把這三十二維的龐大輸入,通過多層編碼器,極度壓縮成一個只有八維的低維向量表示。然後再用這個緊湊的八維向量,去判斷當前設備發生了什麼類型的故障。」
周志華看著材料上的加粗黑體字,說:「這份材料上寫著,這個壓縮模型在公開測試集上的故障識別準確率高達百分之九十六點四。非常亮眼的數據。而在這個特定的樣本里,模型給出的結論是,主軸軸承磨損。」
「這個結論是錯的。」江臨直截了當地說。
「真實的物理故障是什麼?」
「是冷卻液管路前段的初級過濾器發生了物理堵塞。」
江臨敲擊鍵盤,在幕布上展開了事故發生前三個小時的完整高頻採樣記錄。
在圖表中可以清晰地看到,故障發生前的三個小時內,主軸溫度曲線和基座振動曲線幾乎在同一時間開始呈現出陡峭的上升趨勢。
「模型在訓練時學到了一個常識,當溫度和振動同時升高時,大概率是軸承內部滾珠出現了磨損,導致摩擦加劇。」江臨拿著紅色的雷射筆在兩條曲線上畫了個圈,「它把這種特徵組合,強行壓縮成了一個典型的軸承磨損故障模式。」
「但實際情況呢?」周志華盯著數據。
「實際情況是,溫度升高來自冷卻液過濾器堵塞,散熱流量迅速下降。振動幅度的升高,則發生在三個小時前的一次傳感器重新安裝之後。底座預緊力改變,使傳感器與機座之間的機械耦合和頻率響應發生變化,原有標定係數卻沒有同步更新,同樣的物理振動因此被記錄成了更高的幅值。」
江臨放下雷射筆。
「兩個在物理上彼此無關的獨立變化——流量下降和標定關係變化,在這個追求極簡的壓縮模型里,最終等價成了一個危險的常見故障。」
「模型輸入里那項近期傳感器重新安裝及標定係數變化的事件欄位,在訓練數據中占多大的比例?」周志華敏銳地抓住了問題的核心。
「千分之二點七。」江臨精確地報出一個數字,「屬於極長尾的罕見事件。」
「如果我們在模型輸入中刪掉這個欄位,公開測試集上的準確率會怎麼變化?」
「不僅不會下降,反而會因為去除了這種長尾噪聲,平均準確率還會再提高零點一二個百分點。」
「那從當前業界公認的模型優化目標來看,這個模型做得一點錯都沒有。」周志華攤開雙手,「它甚至變得更優秀了。」
「按照只看平均準確率的傳統評價標準,它確實沒錯。」
「但你堅持認為,那項只占千分之二點七的維護事件欄位絕對不能丟,對嗎?」周志華緊追不捨。
「在這個特定的工業容錯任務里,絕對不能。」江臨寸步不讓。
「為什麼?」
「因為應對軸承磨損和應對過濾器堵塞,在現實世界中對應著完全不同的維修動作和災難代價。軸承磨損,設備可以降速繼續運行到本班次結束。但過濾器堵塞如果不立刻停機清理,三十分鐘內主軸就會因為熱膨脹而徹底卡死抱軸,整台機器直接報廢。」
「江臨,這算不算是事後諸葛亮。」周志華毫不客氣地指出了江臨邏輯上的薄弱點,「因為你現在已經知道答案是過濾器堵塞了,所以你才覺得校準記錄重要。可是你想想,今天是校準記錄導致了誤判,明天呢?明天可能是一個操作員換班時手抖了一下,後天可能是隔壁車間突然開動了一台大型沖床導致地基震動。在三十二維甚至三萬維的輸入空間裡,任何一個不起眼的欄位,都可能在某個極端的邊緣條件下,成為改變最終結論的致命因素。」
「對,您說得完全正確。」江臨點頭。
「那按照你的邏輯,為了防止這種極端情況,我們就必須把所有這些看似無用的信息全部保留下來。」
「是。」
「如果全部保留,那整個降維模型就失去了意義,你的系統里根本就不存在所謂的壓縮了。」周志華皺著眉頭說道。
「所以,這就是悖論。」
「所以你今天帶來的這個問題,從第一步的邏輯起點上就不成立。」
周志華的眉頭徹底擰成了一個川字。
「你想尋找一種方法,保留下所有可能推翻現有結論的關鍵信息。可是,機器學習面對的是一個敞開的、無限複雜的真實世界輸入。只要物理進程還沒有結束,哪怕是上帝,也不知道下一個足以推翻一切的反例,究竟藏在哪一個不起眼的維度欄位里。」
江臨的目光停在那項維護事件欄位上。
會議室里的其他人也都屏住了呼吸,沒有人敢在這個時候插嘴。
周志華沒有停下,繼續用手術刀般的邏輯往下剖析。
「你看,你之所以陷入這個困境,是因為你把形式化證明里那一套證明義務必須完整無缺的邏輯,強行套用到了這裡。」
「對,我是這麼想的。」
「可是機器學習的世界裡,根本就不存在所謂的完整證明義務。它生來就是建立在有限的抽樣樣本、統計學的概率分布,以及對現實世界不可避免的近似誤差之上的。它是一門關於妥協的藝術。」
「是妥協。」
「如果你非要在這個充滿妥協的體系里,去尋找一個永遠絕對不會丟失任何反例的完美壓縮方法,那你忙碌到最後,得到的只會是那一堆龐大臃腫,毫無處理價值的原始數據,你的研究會變成原地踏步。」
「對。」江臨依然只是簡短地回應。
「既然你什麼都清楚,那這個方向,你覺得還有必要繼續往下做嗎?」周志華盯著江臨的眼睛,等待著他的答案。
江臨看著幕布上那三十二個欄位名。
在這場會議開始之前,在從廢土返回現實的無數個日夜裡,他其實已經準備過好幾種看似可行的學術路線。
比如利用香農的資訊理論,去計算每個欄位與輸出結果之間的互信息。
比如利用微積分里的偏導數,去評估每個特徵在網絡中的敏感度。
比如引入朱迪亞·珀爾的因果依賴圖模型。
或者乾脆簡單粗暴地統計歷史資料庫中,歷史反例出現的頻率。
這些方法在數學上都非常成熟。
都能很輕易地把這三十二個欄位,像排隊一樣排成一列。
從在數學上最重要的欄位,一直排到最不重要的垃圾欄位。
然後,工程師只需要在中間隨便選一個可以接受的閾值劃一條線。
線上面那些被認為重要的,留下。
線下面那些被認為無用的,毫不留情地刪掉。
只要這麼做了,幾個月後,某篇頂會論文裡就會出現一條漂亮平滑的帕累托最優曲線。
論文會自豪地宣稱,我們的模型體積縮小了百分之八十。
而我們在測試集上的準確率,基本保持不變。
直到某一天,當災難真正降臨,某個當年被排在閾值下面,被認為毫無用處的邊緣欄位,在一次傷亡慘重的真實工業事故里,突然以暴烈的姿態站起來,用設備的殘骸和鮮血告訴所有人,其實我非常有價值。
江臨深吸一口氣,將那些漂亮的學術曲線從腦海中驅逐出去。
問題的癥結,根本就不在於那種重要性排序的算法做得夠不夠精妙。
而在於,面對一個容錯率為零的系統,一開始就不該提出哪些信息重要、哪些不重要這種充滿傲慢的蠢問題。
江臨悠悠站起身,問道:「周教授,有筆嗎?」
周志華深深地看了他一眼,從桌角拿起一支藍色的馬克筆,遞過去。
江臨接過筆,大步走到白板前,在白板的正中央,寫下兩行字。
【樣本A:物理狀態為軸承磨損】
【樣本B:物理狀態為過濾器堵塞+傳感器校準偏移】
然後,他在兩行字的中間,畫了一條粗壯的箭頭,指向右側。
在箭頭的上方,是【壓縮】這兩個字。
在箭頭的右側末端,他畫了一個方框,裡面寫著——【同一個八維低秩表示】。
「周老師,壓縮算法本身不可避免地會刪除信息,這是一種物理規律,不是問題。」江臨轉過身,看著長桌旁的眾人說。
周志華看著白板,若有所思。
「真正致命的問題在於,這種基於統計學特徵的盲目壓縮,它把兩個在現實世界中必須採取截然不同應對動作的高危狀態,如同揉麵團一樣,粗暴地壓成了同一個無法分辨的狀態。」
江臨轉回身,在白板的最右側,對應著樣本A和樣本B,分別寫下。
【維修動作A:降速運行,計劃內更換軸承】
【維修動作B:緊急停機,清理過濾器+重新標定傳感器】
兩種截然不同的物理狀態。
在現實中對應著兩種生與死、毀滅與保全的嚴重後果。
但在經歷過那條被認為是進步的壓縮箭頭之後,那個自作聰明的AI模型,在它那可憐的八維視野里,已經完全看不出這兩者之間有任何區別了。
「整個學術界過去這十幾年,一直在拼命計算,計算一次壓縮過程在數學上究竟留下了多少香農信息熵。」
江臨的聲音在會議室里迴蕩。
「但我們從來沒有靜下心來算過一筆更重要的帳——這一次壓縮,在現實任務的執行層面,究竟製造了多少次荒謬的錯誤等價。」
盯著白板的周志華聽到這裡,原本靠在椅背上的身體一下子坐直了。
江臨手中的筆在白板上飛速遊走,開始用嚴謹的數學語言來描述這個殘酷的現實。
【設φ(x)為降維壓縮映射】
【對於樣本x₁和x₂,存在φ(x₁)=φ(x₂)】
【A*(x)為任務允許的安全動作集合,Lₜ(x,u)為執行動作u的任務損失】
【若壓縮後模型只能給出同一動作u,且Lₜ(x₁,u)>ε或Lₜ(x₂,u)>ε】
「這裡的φ代表壓縮網絡,A*代表當前狀態允許採取的安全動作集合。」江臨說,「現實任務往往不只有唯一正確動作。機器人面對障礙物,可以停機、後退或者請求人工接管,只要都在安全邊界內,就不應該被強行判成不同。」
他用筆尖點了點最後一行。
「真正的問題是,兩個輸入被壓成同一個內部表示以後,模型只能作出同一個選擇,而這個選擇必然讓其中至少一個狀態的任務損失超過安全閾值。」
「也就是說,不是動作字面上不相同,就算任務坍縮。」周志華站起身,走到白板旁邊,「而是兩個狀態的安全動作集合已經不再兼容。」
「對。」
「這能處理同標籤、異代價,也能處理一個狀態允許多種安全動作的情況。」
周志華拿起另一支馬克筆,在公式旁邊補上一行。
【Dₜ(A*(x₁),A*(x₂))>ε】
「這個任務距離不能只比較動作數值。」他說,「它要衡量兩個安全動作集合之間,是否存在足以改變現實後果的分離。方向盤差零點一度和差一百八十度,不能都按同一種錯誤計算。」
江臨點頭。
「離散分類可以使用零一代價。機械控制可以使用碰撞動量、停機損失或安全裕度。醫學診斷則可以使用錯誤治療帶來的風險變化。」
「形式核驗里,就是接受錯誤命題與拒絕錯誤命題之間的代價。」
兩支筆在白板上交替移動。
原本那個無從下手的問題——【哪些信息不能丟】——很快被劃掉。
新的問題出現在白板中央。
【一次模型壓縮,究竟製造了多少現實任務不可接受的錯誤等價?】
周志華退後兩步,看了一會兒。
「這一步成立。」他說,「可以把它定義成任務區分損失。」
江臨寫下:
【Task Distinction Loss】
【任務區分損失】
它不只是統計發生了多少次合併。
每一次坍縮都要按照樣本出現概率和任務代價加權。一次不會改變安全結果的輕微偏差,不能與一次會導致設備報廢或人員傷亡的錯誤同權。
傳統準確率可能只看到模型少答錯了幾道題。
任務區分損失關注的是,壓縮是否把必須採取不同安全策略的狀態摺疊到了一起。
周志華深吸了一口氣,將馬克筆的筆帽咔嗒一聲扣在筆尾,說:「理論定義有了,而且非常漂亮。但接下來的問題是,工程上該怎麼去測量它?」
「通過在數據集中尋找發生任務坍縮的樣本對。」江臨不假思索地回答道。
「可一個真實世界任務的輸入特徵空間有多大?」
「考慮到各種環境噪聲,可能是無限大。」
「如果輸入是連續的物理量呢?」
「積分會變得更加麻煩,近乎無解。」
「那你總不能指望工程師在測試模型的時候,把無限空間裡的樣本兩兩配對,挨個丟進去比較吧?計算機算到宇宙熱寂也算不完。」
「那種窮舉法確實不可能。」
「那也就是說,你發明的這個堪稱完美的任務區分損失這個量,在工程上,目前還只是個畫在紙上的大餅,根本算不出來。」
討論的主導權剛剛在白板前轉移到江臨手裡,轉眼間,又被經驗老到的周志華用一個現實的工程阻礙,一把拽了回來。
但這在學術討論中絕對不是壞事。
一個全新的概念從白板的墨跡中站起來以後,它要面臨的第一件事,就是被最嚴苛的同行按在地上,看看它究竟能不能在現實的泥濘里自己走路。
如果走不了路,那這種概念只配繼續待在白板上,供人觀賞,永遠進不了代碼庫。
周志華重新拔下筆帽,在【任務區分損失】的下方,寫下了一個機器學習理論中的經典概念。
【假設空間H】
「任何一個被部署到實際場景中的壓縮模型,都不可能面對所有可能存在的任務,它只要能表達當前有限的假設空間H的那些特定任務就足夠了。」
周志華用筆重重地點著白板。
江臨凝視著那行字,眼神漸漸亮了起來。
周志華趁熱打鐵,繼續往下寫。
【Disagreement Region】
【分歧區域】
「對於同一個物理輸入,只有在當前那些被我們認為是可接受的假設模型內部,它們會給出截然不同判斷結論的那個區域,才是當前這個壓縮模型真正拿不準、最容易犯錯的不確定邊界。」
「所以,你想要計算的那個任務坍縮,根本就不需要去奢求覆蓋整個無限大的輸入空間。」
「你只需要把所有的算力,集中火力,覆蓋住這個極其狹窄的分歧區域就足夠了。」
大腦在瞬間完成邏輯拼接的江臨,立刻接過了話頭。
「但即便如此,對於高維數據來說,這個分歧區域的體積可能仍然大得無法計算。」
「那該怎麼辦?」周志華反問。
「用魔法打敗魔法。」江臨的語速變快,「既然嫌它大,那我們就針對這個分歧區域,再做一次信息壓縮,」
周志華聽完,在白板下方快速地畫出了幾個形狀不規則,且互相交疊的幾何區域,代表那些棘手的分歧邊界。
「我們不需要遍歷區域裡的每一個點。」周志華指著那些區域的交界處,「只需要利用貪心算法或者其他採樣技術,去尋找一組數量極少,但位置關鍵的最小樣本集。只要這組樣本,能夠像坐標軸一樣,精準地撐起並覆蓋住當前假設空間裡,所有可能導致任務動作發生改變的那些致命分歧點。」
「見證基。」江臨答說。
「對。」
周志華在那些不規則區域的旁邊,鄭重地寫下一組英文。
【Counterexample Witness Basis】
【反例見證基】
「這組樣本不負責代表平均分布。」他說,「它們只負責代表不同決策邊界。」
「每一個見證都必須包含一對物理狀態相近、任務後果卻不同的樣本。」江臨說。
「還要綁定各自允許的安全動作集合,以及它覆蓋的假設分歧區域。」
周志華補充道。
江臨看著白板,忽然停下了筆。
「僅有樣本點還不夠。」
「哪裡不夠?」
「兩個見證點沒有發生坍縮,不代表它們附近的區域也安全。壓縮映射完全可能在見證點上區分正確,卻在距離它們很近的地方發生摺疊。」
周志華立即明白了他的意思。
「每個見證都必須帶一份局部覆蓋證書。」
兩人在原有結構後面繼續增加欄位。
【原始物理狀態A】
【原始物理狀態B】
【安全動作集合A*(xA)】
【安全動作集合A*(xB)】
【任務誘導距離下的覆蓋半徑】
【覆蓋單元內的局部任務損失上界】
【壓縮映射在該單元內的穩定性證書】
【審查結果:通過/拒絕】
見證基不再是幾個孤零零的樣本點,而是一組帶有可驗證覆蓋區域的證據單元。
當壓縮模型接受審查時,系統不僅要檢查樣本對是否仍然可區分,還要檢查每個覆蓋單元內的局部穩定性證書是否仍然成立。
一旦某個高風險見證單元發生任務坍縮,或者局部穩定性證書失效,審查器就拒絕模型上線。
如果所有高風險見證單元都保持區分,系統也只能保證已被這些證據單元覆蓋的任務邊界仍然成立。
它不能把未發現反例,寫成絕對安全。
周志華負責把無窮輸入空間壓縮成有限的分歧覆蓋。
江臨負責把每一個覆蓋單元變成能夠獨立核驗的證據結構。
兩條原本來自不同領域的路徑,在白板上接到了一起。
下午三點零八分。
會議室的門被輕輕敲響。
李原推著小車進來,給幾人換了熱水。
江臨仍然站在白板前。
「周老師,這套框架里還缺一個問題。」
「什麼?」
「反例見證基只對當前假設空間和參考分布有效。外界數據分布漂移,模型結構或者任務定義改變,原來的覆蓋證書都可能失效。」
「所以它不能一次生成,永久使用。」
「需要更新觸發條件。」
周志華端起水杯。
「審查器怎麼判斷什麼時候更新?」
「它不需要理解外部世界,只需要監控輸入統計偏離、模型版本哈希和任務定義文件。任何一項越過邊界,舊見證基進入待覆核狀態。」
「只能做觸發,還不能量化剩餘風險。」
江臨轉身,在白板右側寫下:
【Evidence Leakage Bound】
【證據泄漏上界】
「它不負責告訴我們未知區域裡究竟有什麼。」江臨說,「只負責在當前假設空間、參考分布和置信水平下,給出尚未被見證基覆蓋的風險上界。」
它記錄四件事。
哪些高風險任務邊界已經得到證據單元覆蓋。
哪些區域仍然存在覆蓋缺口。
哪些分布變化會使原有覆蓋證書失效。
什麼時候必須重新生成見證基。
傳統壓縮結果通常只列參數量、速度和平均準確率。
新的審查框架會額外給出一張未覆蓋風險清單。
這張清單不漂亮,卻能避免把沒找到反例誤寫成安全。
周志華看著白板上的證據泄漏上界。
「可以做泛化界。」
「經驗風險一項。」
「模型複雜度一項。」
「剩餘風險項負責容納見證覆蓋不足和分布漂移。」
江臨看向他。
「數學上可以統一約束,工程證書里必須拆開。」
周志華沒有反對,只是問:「理由?」
「覆蓋不足需要補樣本和擴展證據單元。分布漂移則意味著參考分布已經變化,必須重新構造見證基。兩種風險進入同一個上確界沒有問題,但處置方法不同。」
周志華點頭,在白板上寫下兩層結構。
【定理層:統一剩餘風險項】
【工程證書層:覆蓋缺口+漂移泄漏】
「這樣最好。」他說,「證明結構保持清楚,工程人員也不會把兩種風險當成同一件事。」
江臨在工程證書下面列出四項。
【經驗任務風險】
【壓縮模型複雜度代價】
【見證基覆蓋缺口】
【真實分布漂移泄漏】
下午三點二十七分。
在這個不大的會議室里,兩人開始正式向這個全新理論的第一條核心定理髮起衝鋒。
為了確保推導的嚴密性,定理的適用範圍被克制地壓得很小。
固定不變的單一任務目標。
存在有界限制的損失函數。
被限定在一個具有有限覆蓋數的特定假設族內。
以及,一個在數學上結構完全已知的降維壓縮映射。
最後,還有兩個強前提條件。
反例見證基所攜帶的證據單元,必須覆蓋所有高於安全閾值的假設分歧區域。
壓縮映射在每個證據單元內,還必須滿足已經核驗的局部穩定性條件。
在這些先決條件下。
如果一個經過大幅度壓縮的模型,保留了所有高風險證據單元的任務區分,而且對應的局部覆蓋證書沒有失效。
那麼,這個壓縮模型在真實任務分布上的風險,就可以由經驗風險、模型複雜度、見證覆蓋缺口與分布漂移泄漏共同約束。
這不是一條能夠解決所有模型壓縮問題的萬能定理。
它甚至沒有試圖解決開放世界中的無限未知。
它只是腳踏實地,把過去藏在平均準確率後面的高風險信息損失,第一次寫進可以計算,可以審查,可以進入風險上界的正式位置。
白板前,江臨憑藉著對底層邏輯敏銳的直覺,負責強行向前推進證明的主幹鏈條。
而周志華則像一個經驗豐富的守門人,在主鏈的各個關鍵節點上,不斷地用統計學習理論的標準,給那些不夠嚴密的條件加上重重鐵鎖。
「你在這步推導里,默認了任務允許的安全動作集合和任務損失函數是先驗已知的。」周志華指著一處積分公式。
「現實任務通常可以給出這部分約束,比如哪些狀態必須停機,哪些狀態允許降速運行,以及不同錯誤動作對應的損失。」
「那也要用數學語言,嚴謹地寫進定理的前提條件里,不能默認。」周志華敲了敲白板。
「好,加上條件。」江臨立刻補充了一行公式。
「還有這裡,在構造見證基的時候,你引入了最優化算法,見證基規模的最小化,在這條定理里是不是一個必須滿足的必要條件?」
「從約束真實風險的角度來看,這條定理不需要見證基有多麼最小或者最優。」江臨思索了片刻,「它唯一的要求,就是必須完全覆蓋那些危險的分歧區域。哪怕這個見證基因為算法不夠聰明而顯得十分臃腫,只要覆蓋率夠了,定理的安全性依然成立。」
「既然最小化不是數學上的必要條件,那就別把它寫進定理的表述里,增加不必要的證明難度。把它移到工程實現的建議部分。」
「有道理,刪掉它。」江臨用板擦抹去了一截冗餘的描述。
「繼續往後看,你定義的這個壓縮映射φ,如果它在物理實現上是一個帶有隨機變量的映射呢?」
「為了保證第一步推導的嚴密性,我們先限定所有的壓縮映射都是確定性的。同樣的輸入必須有完全相同的輸出。」
「這種限定在現實的神經網絡里太弱了,局限性太大。」周志華搖頭。
「飯要一口一口吃,我們必須先把這第一條關於確定性映射的基礎定理完全閉合。確保地基沒問題之後,明天再去擴展推導關於隨機映射的概率界版本。」
「可以,學術就該這麼一步一步來。」周志華同意了這個策略。
討論進入到了最核心也是最艱難的部分。
如何度量分布漂移項!
「在這個關於分布漂移泄漏項的界定里,關於兩個不同數據分布之間的距離度量,你打算採用哪種數學工具?」周志華盯著白板上空著的一個位置問道。
「用最經典的總變差距離?」江臨試探性地給出一個選項。
「總變差對支撐錯位十分敏感,在高維連續空間中又很難可靠估計。分布只要出現明顯的支撐遷移,得到的界就可能迅速變得過於保守。」周志華搖頭否決。
「那用Wasserstein距離?」
「Wasserstein距離需要先給輸入空間定義一把有任務意義的底層尺子。可這裡同時混有連續傳感器量、離散故障類型和緊急動作。隨意拼出一個歐氏距離,計算出來的運輸代價未必對應真實任務風險。」
「那您覺得,引入哪種度量工具最合適?」
周志華說:「既然我們真正關心的是任務損失,那就直接針對這個損失函數類,定義一個由它誘導出來的積分概率度量。」
江臨看向白板上剛剛寫下的任務損失函數。
「這個IPM更貼合任務本身。」
兩個人繼續沿著這條路線向前推進。
會議室里的白板很快被數學符號和推導過程填滿。
另一邊,幾名人工智慧學院的研究人員也沒有閒著。南大提前緩存了三套模型的中間表示和公開數據,江臨帶來的MPS-EvidenceGate通用反例搜索框架則提供了現成的候選生成、證據記錄與回滾接口。
一名研究員把任務損失矩陣接入搜索框架。
另一名研究員根據白板上的新定義,實現證據單元的覆蓋半徑與局部穩定性檢查。
還有人同步整理證明草稿,記錄每一項尚未閉合的條件。
他們不是在幾分鐘內從零寫出一套系統,而是在兩套已經存在的工具之間,補上今天剛剛建立的接口。
整個定理的證明邏輯,被清晰地拆解成了層次分明的三層。
第一層,最基礎的底座。
利用大數定律和Hoeffding不等式,約束模型在公開可見樣本上的經驗風險。
第二層,核心的覆蓋約束。
利用帶局部覆蓋證書的反例見證基,約束壓縮算法在已覆蓋的高風險分歧區域內製造任務坍縮的風險。
第三層,向未知區域外推。利用VC維或者Rademacher複雜度項,配合剛剛敲定的IPM分布漂移項,將有限樣本上的結論外推到真實任務分布。
下午三點五十一分。
江臨在白板右下角畫下一個黑色實心小方塊。
定理的內部主鏈完成了第一次閉合。
他從第一行假設開始順著邏輯複查。周志華則從結論往回倒推。
十分鐘後,兩個人在白板中央停下。
現有推導沒有發現直接缺口,關鍵假設也已經寫明。剩餘部分仍需要書面整理、獨立核驗和更一般條件下的擴展。
周志華放下馬克筆。
「第一條風險界的內部主鏈成立了。」
江臨在白板最上方寫下暫定名稱。
【確定性映射下的任務保真壓縮風險界】
「理論上是說得通了,但還不夠。」江臨轉過身,看著周志華,「在計算機科學裡,只有數學公式是遠遠不夠的,它還需要一次真刀真槍的實驗來證明它的工程價值。」
周志華聞言,嘴角微微上揚,露出了一個早有準備的笑容。
「實驗環境,我早就替你準備好了。」
他打開自己面前那台一直處於休眠狀態的高性能工作站。
隨著屏幕亮起,三套架構完全不同,已經被打包編譯好的深度壓縮模型文件,整齊地排列在作業系統的桌面上。
「我們用一個經典的工業異常分類模型作為基準。」周志華介紹道,「同樣的原始高維訓練數據集,同樣的公開測試集。我們用了三種目前工業界最主流的手段,對這個龐然大物進行了壓縮。」
【模型A:採用了目前最激進的結構化剪枝算法】
【模型B:採用了張量低秩分解技術】
【模型C:採用了一種相對保守的知識蒸餾策略】
隨後,周志華調出了這三個模型在公開測試集上的那份亮眼的傳統跑分結果。
【模型A:在測試集上的平均準確率高達96.7%,而且它的參數量驚人地減少了72%】
【模型B:平均準確率96.5%,參數量減少61%】
【模型C:平均準確率最低,只有96.3%,參數量也只減少了可憐的54%】
「如果按照目前各大頂級會議和企業界的傳統評價指標來看,」周志華指著屏幕,「模型A絕對是當之無愧的明星,是所有工程師夢寐以求的最優解。它的體積變得極其小巧,推理速度極快,而且最不可思議的是,它的準確率甚至還是這三個裡面最高的。」
「而那個模型C,壓縮率最低,消耗的內存最多,而且在公開數據集上的準確率還墊底,算是失敗品。」
江臨看著這些數據,冷靜地問道:「那份沒有參與測試的隱藏集呢?」
「按照你最初郵件里的要求,那份關鍵的隱藏集,從始至終都由我們學院另外一組獨立的人員在隔壁的機房裡保管著。」周志華看著江臨,「直到現在這一刻,我只知道那個隱藏集裡,包含了一批在公開測試集中沒有出現過的高危長尾狀態。」
「隱藏集裡有多少樣本?」
「四十八組狀態對。其中包含高風險邊界樣本,也包含低代價對照組。」
「任務損失和安全動作集合都已經提前標註好了?」
「已經完成獨立標註,高風險組裡的錯誤動作可能帶來幾十萬元以上的損失。」
「我們有權限去調用它進行測試嗎?」
「作為最終的裁決,只能調用一次。」周志華伸出一根手指,「跑出什麼結果,就是什麼結果,沒有任何修改代碼重新跑一次的機會。」
「一次就夠了。」江臨說道。
南大的研究人員將三套模型逐一導入剛剛完成接口改造的【可信審查腳本】。
腳本的底層來自江臨帶來的MPS-EvidenceGate通用反例搜索框架。三套模型的中間表示和公開數據已經提前緩存,任務損失矩陣、證據單元覆蓋半徑與局部穩定性檢查,則是在剛才的討論中接入的新模塊。
審查流程開始運行。
第一步,審查器根據公開數據分布和預先限定的允許假設族,劃定可能存在的分歧區域。
第二步,從分歧區域中提取帶局部覆蓋證書的反例見證基。
第三步,檢查三套壓縮模型是否在高風險證據單元內發生任務坍縮,以及對應的局部穩定性證書是否仍然成立。
計算開始。
工作站機箱裡的CPU和GPU瞬間達到了滿載狀態,功耗急劇飆升。
那台普通的會議室工作站,內部並沒有配置廢土二號工作間的異構算力調度系統,也沒有能夠將熱量化為無形的熱織網。
在面對這種高強度的空間遍歷計算時,它唯一能依靠的,就是機箱裡那幾隻被猛然拉高電壓的工業風扇。
風扇的轉速在短短十幾秒內飆升到了極限,發出陣陣沉悶的轟鳴聲。
會議室里的人都屏住了呼吸,沒有人說話,只有那單調而急促的風扇轟鳴聲在空氣中迴蕩,讓人感到一陣莫名的心悸。
漫長而煎熬的四分鐘過去了。
屏幕上,審查腳本終於吐出了第一組分析結果。
【模型A】
【為其提取的見證基規模:37 對高危分歧樣本】
【觸發的任務坍縮次數:12 次】
【未知區域覆蓋缺口估計值:0.083】
【底層審查結果結論:拒絕上線(REJECT)】
緊接著,第二組結果跳了出來。
【模型B】
【見證基規模:41 對】
【觸發任務坍縮次數:6 次】
【覆蓋缺口估計值:0.047】
【底層審查結果結論:拒絕上線(REJECT)】
最後,是那個在傳統眼光看來平庸至極的第三組。
【模型C】
【見證基規模:39對】
【高於安全閾值的任務坍縮:0次】
【低於安全閾值的表示合併警告:1次】
【覆蓋缺口估計值:0.019】
【底層審查結果:有條件通過】
審查結果充滿了戲劇性的諷刺。
那個在公開數據集上準確率最高,體積最小,跑得最快,被所有工程師寄予厚望的模型A,在這套殘酷的底層邏輯審查下,因為在邊緣地帶犯下了太多不可饒恕的任務坍縮,被直接打上了代表死亡的REJECT標籤。
而那個在傳統跑分中表現最普通的模型C,卻是唯一沒有在高風險證據單元內發生任務坍縮的模型。
周志華看著屏幕上截然相反的評價結論,並沒有急著去調用最終的隱藏集來驗證對錯。
作為一名嚴謹的科學家,他深知程序正義的重要性。
「先凍結當前的全部狀態。」周志華說。
江臨將三套模型、見證基、審查器原始碼和全部配置參數生成SHA-256哈希清單。
隨後,他與周志華分別用各自的簽名密鑰確認清單,把凍結包寫入一次性只寫數據介質。
【全局版本凍結時間:16時10分42秒】
會議室里的追加寫入審計日誌同步記錄了文件哈希、簽名、執行環境和唯一測試授權碼。
下午四點十二分。
李原與隱藏測試組的獨立保管人員在門口完成介質交接。對方核對封簽和簽名後,將凍結介質帶入隔壁的物理隔離機房。
會議室重新安靜下來。
隱藏測試組會在乾淨環境中加載凍結包,執行唯一一次預註冊測試,再用另一份簽名介質送回結果。會議室里的斷網工作站從始至終不與外部系統建立連接。
兩人回到長桌旁坐下。
桌上的水又開始變涼。
周志華看著白板上的風險界。
「你從北京出發以前,應該沒準備在這裡完成一條定理吧?」
「沒有。」江臨說,「原本只想把反例見證資格的接口定義清楚。」
「現在呢?」
「確定性映射下的內部主鏈已經閉合。不過還需要書面核驗、隨機映射擴展、連續控制條件和動態見證更新。」
周志華看了一眼時間。
「已經過四點一刻了。你今晚還回北京?」
「回。首件試製剛進入工藝驗證,明天還有事情。」
下午四點二十四分。
會議室的門再次打開。
獨立保管人員將一隻封簽完整的數據介質和一份紙質交接單放到桌上。
江臨核驗簽名與哈希,確認返回文件來自預註冊環境。
隱藏結果被導入只讀區。
四十八組狀態對中,模型A發生十五次高於安全閾值的任務坍縮。
模型B發生七次。
模型C沒有發生高風險任務坍縮,但在一組低代價對照樣本上出現了普通表示合併警告。
系統給出結果。
【模型A】
【隱藏任務一致率:68.75%】
【高風險任務坍縮:15次】
【模型B】
【隱藏任務一致率:85.42%】
【高風險任務坍縮:7次】
【模型C】
【隱藏任務一致率:97.92%】
【高風險任務保真率:100%】
【低於安全閾值的表示合併:1次】
公開測試集中,模型A與模型C的平均準確率只差零點四個百分點。
在隱藏任務上,兩者的差距接近三十個百分點。
更重要的是,凍結前的審查結果已經拒絕模型A和模型B,並將模型C列為有條件通過。三套模型的排序,與這次預註冊隱藏測試完全一致。
江臨重新檢查執行日誌。
只有一次調用。
凍結後沒有修改接口。
簽名、哈希和執行環境全部匹配。
這次實驗只能證明,在這組任務、這套假設空間和這次預註冊隱藏測試中,審查框架的判斷得到驗證。
它還不能替代更多數據集復現,也不能證明開放世界中的所有風險都已經被覆蓋。
但第一塊地基已經站住了。
周志華走到白板前,寫下框架名稱。
【Evidence-Preserving Compression】
【證據保留壓縮】
下面依次列出今天形成的結果。
【任務區分損失:完成定義】
【帶局部覆蓋證書的反例見證基:完成第一版構造】
【確定性壓縮下的任務風險上界:內部主鏈閉合】
【預註冊隱藏集:首輪驗證通過】
【聯合論文:進入書面核驗與擴展階段】
周志華看著並排顯示的兩組結果。
「壓縮理論一直在問,怎樣用更少的信息完成一項任務。」
江臨接過話。
「現在要多問一句。」
「怎麼證明,壓縮以後完成的還是原來那項任務。」
幕布左邊,是凍結前給出的審查判斷。
右邊,是他們此前從未見過的隱藏測試結果。
三套模型的排序完全一致。
會議室里沒有立刻響起掌聲。
靠近白板一側的兩位數學系教授重新低下頭,對照任務風險上界的四個組成部分,檢查見證覆蓋證書與分布漂移項之間是否還藏著沒有被說明的依賴關係。
長桌另一側,負責模型壓縮的幾名研究人員則把公開準確率、壓縮比例和隱藏任務結果重新排進同一張表格。
模型A的公開準確率最高。
參數最少。
運行速度最快。
如果沒有今天這套審查框架,它幾乎一定會成為三套模型中最先獲得部署資格的那一個。
而現在,它的結果欄後面只剩下一個清楚的結論。
【REJECT】
不是因為它不夠快。
也不是因為它不夠准。
而是因為它在真正不能混淆的地方,失去了區分能力。
孫教授看著那張重新整理出來的表格,過了片刻才說道:「這條定理真正改變的,恐怕不是我們怎麼評價一種壓縮方法。」
周志華轉過頭。
「那是什麼?」
「是以後有人說,模型壓縮以後仍然完成了原來的任務。」孫教授指了指幕布,「這句話不能再只靠一張平均準確率表來證明了。」
沒有人反駁。
因為左邊的審查判斷和右邊的隱藏結果還並排停在那裡。
它們已經替這句話給出了第一份證據。
周志華重新拿起馬克筆,在【聯合論文:進入書面核驗與擴展階段】下面,又補了一行。
【下一步:獨立覆核、隨機映射擴展、連續控制驗證】
「今天閉合的是第一條主鏈。」他說,「不是整個問題。」
「夠了。」江臨看著白板,「至少從現在開始,我們知道下一步該往哪裡走。」
這已經比帶著一個聽起來很重要,卻不知道該如何驗證的問題離開南京,好得太多。
下午的討論開始時,桌面上只有三份來自不同領域的材料。
一份來自數學證明中的損失帳。
一份來自錯誤接受非停機證書的統一核驗器。
一份來自工程系統中不能被徹底刪除的失敗候選。
幾個小時後,它們不再只是三個相似的案例。
它們共同構成了一套能夠定義、計算、拒絕、覆核,並接受隱藏測試的審查框架。
窗外,走廊盡頭的門被人推開。
傍晚的光沿著地面照進會議室,越過桌腳,停在寫滿公式的白板下方。
江臨低頭保存聯合草稿。
文件名的最後,不再是【PROBLEM_DEFINED】。
而是——【EPC_Theorem_01_Internal_Closed】
站台上的空氣比北京要濕潤得多。
南京這座城市似乎仍然不準備承認夏天已經結束。
空氣中瀰漫著一種南方特有的黏稠感,仿佛每一次呼吸都能吸入飽和的水汽。
江臨順著人潮乘坐扶梯向上,通過出站閘機,剛走進寬敞明亮的到達大廳,便看見正前方有個人舉著印了他名字的接站牌。
舉牌的是一名三十多歲的青年,鼻樑上架著半框眼鏡,透出一股濃厚的學術工作者氣息。
在他的旁邊,還站著一位頭髮已經有些花白的中年人。
青年率先看到江臨,快步迎了上來。
「江臨同學?」
「我是。」江臨點點頭。
「你好,我是人工智慧學院這邊負責今天討論協調的李原。」青年熱情地伸出手,「車已經停在南站的地下停車場了,周老師現在已經在學院裡等你。」
兩人握手後,李原隨即側過身,介紹身旁那位頭髮花白的中年人。
「這位是數學系的孫教授,聽說你這次來南京,帶來的材料涉及很深的基礎邏輯問題,數學系那邊臨時調整了下午的教學和會議安排,孫教授也會帶著另外兩位老師,專門參加咱們前半段的討論。」
江臨轉過身,與對方鄭重地握手。
孫教授上下打量著江臨,笑了一下:「我們數學系本來是想在院裡先留你半天,請你先給我們講講PFR那部分推導的,結果沒搶過人工智慧學院,周老師那邊可是把時間卡得很嚴。」
李原在旁邊笑著打圓場:「孫老師,這可不能叫搶,江臨的郵件最先是發到我們學院周老師郵箱裡的,我們這是近水樓台先得月。」
「那只能說明你們下手快,對理論前沿的嗅覺夠敏銳。」孫教授擺了擺手,不以為意。
三個人一邊交談著,一邊順著指示牌往地下停車場走去。
上了車,專職司機負責開車。
李原作為協調人坐在了副駕駛的位置,孫教授和江臨則坐在了寬敞的後排。
車輛駛出南京南站,迅速匯入市區的主幹道。
「周老師今天上午把你發來的前置材料仔細看了一遍。」李原回過頭,神情變得有些嚴肅,「原定參加今天下午這場討論的,只有人工智慧學院這邊的四個人。但是周老師看完材料後,臨時打電話,又把院裡專門做表示學習和極端模型壓縮方向的兩位老師也叫了過來,今天的陣仗可能會比原計劃要大一些。」
孫教授靠在真皮座椅上,接了一句:「數學系這邊,我們主要對你材料里提到的PFR,以及那個統一核驗器的拓撲結構感興趣。不過我們只參加前半段的基礎理論部分,等後面你們切入到機器學習的具體實驗和工程實現環節,我們搞純數學的就不一定插得上話了。」
「今天的問題,未必真的能分得那麼開。」江臨笑著答說。
車輛順著匝道駛上高架橋。
南京道路兩側的梧桐樹木仍然濃綠茂盛,巨大的樹冠向路中間延伸,交織在一起,枝葉幾乎要完全蓋住道路兩側的建築外牆。
正午剛過的陽光從厚重的葉片縫隙里落下來,在飛馳的車窗上不斷閃動。
李原翻開手中那份列印好的日程安排表,確認了一下時間節點。
「我們預計在兩點二十分以前到達學院大樓,兩點半準時正式開始討論。」
「關於討論材料的權限管理呢?」江臨把目光從窗外收回,看著前排的李原問道。
「全部嚴格按照你郵件里發來的要求執行。」李原合上日程表,語氣嚴謹,「所有參會人員只能在討論現場的屏幕上閱讀你提供的展示版材料,絕對不允許通過任何物理介質或網絡複製原始文件。會議使用的電腦是一台完全物理斷網的工作站,不接入學院的公共區域網。所有的討論記錄、推演草稿,都會在會議結束後加密單獨保存。」
「那麼隱藏驗證數據呢?」江臨追問。
「由我們學院另外一組不參與今天討論的獨立人員負責保管密鑰和硬碟。」李原推了推眼鏡,「周老師本人也主動要求迴避,在驗證環節開始前,他也沒看過那些數據的內容。」
江臨微微點頭。
這種嚴苛到近乎偏執的數據隔離措施,說明南京大學對這次學術討論的極度重視。
接站只是一種人情世故上的禮節。
而提前把數據源、訪問權限、參會人員與最終的驗證流程切開,才是面對一項可能顛覆現有認知的底層理論時,最專業的準備態度。
下午一點五十八分。
黑色的專車緩緩減速,駛入南大。
車輛停在人工智慧學院那棟充滿現代設計感的大樓門前。
樓下的台階上,已經有幾個人在等候。
其中一名是做模型壓縮方向的資深教授,另一名則是數學系的年輕研究員。
他們站在門口,手裡都攥著提前列印出來的討論材料。
紙頁的空白邊緣處已經用紅藍兩色的水筆留著密密麻麻的批註和疑問,顯然,這些材料不是他們為了接人而臨時拿在手裡裝樣子的,而是已經經過了深度的咀嚼。
雙方在台階上進行了簡單的介紹和認識。
隨後,負責接待的李原並沒有直接把江臨往樓上的核心會議室帶。
「學院在二樓準備了一間專門的休息室。」
李原說著,抬起手腕看了一眼手錶。
「你今天一大早從北京趕過來,在高鐵上又坐了三個多小時。先去休息室放鬆一會兒,喝點水,擦把臉。下午的討論原定是兩點半,如果你覺得狀態還需要調整,我們可以通知大家把時間推遲到三點,甚至是三點半。」
數學系的孫教授也在一旁和藹地勸道:「是啊,江臨,不用這麼趕。做基礎理論推演是最耗費精力的,周老師那邊已經打過招呼,今天整個下午和晚上的時間都給你留出來了,時間充裕得很。」
江臨微微活動了一下因為長時間保持一個坐姿而顯得有些發僵的頸椎和肩膀,在腦海中快速又精準地確認了一遍自己當前的生理和心理狀態。
高鐵上的那三個多小時,他的大腦一直在高速運轉,大部分時間都在對材料進行最後的排版和邏輯梳理。
這絕對談不上是什麼休息。
但那種程度的消耗,對於習慣了在極端惡劣和高壓環境下連續數天不合眼進行生存演算的人來說,還沒有達到能夠影響他核心判斷力的疲憊閾值。
「討論不用推遲。」江臨放下手臂,語氣篤定。
「確定不需要調整一下?」李原再次確認。
「確定。」
江臨抬起頭,看了一眼大樓。
「我在車上坐的時間已經夠久了。現在直接去會議室,把材料導入進去,把驗證環境提前裝好,這比讓我繼續坐在沙發上休息更合適。」
李原看著江臨那張年輕卻透著超越年齡沉穩的臉,理解地笑了一下。
「好,學術狀態確實不能隨便打斷。那咱們不推遲,但你至少先去休息室洗把臉清醒一下。休息室就在會議室的隔壁,純淨水和一些墊肚子的點心我們都已經提前準備好了。」
這一次,江臨沒有拒絕。
他願意立刻投入高強度的腦力工作,但這並不等於他要把正常的人類生理需求一併像冗餘代碼一樣刪除。
一行人穿過門禁,進入大樓內部。
二樓的休息室面積不大,但布置得很舒適。
一組柔軟的真皮沙發,一張光潔的玻璃茶几。
角落裡立著一台飲水機。
茶几的桌面上擺放著洗淨的新鮮水果、幾碟精緻的蘇式點心,以及一隻放著濕毛巾的不鏽鋼托盤。
江臨走進旁邊的獨立洗手間洗了把臉,喝了大半杯溫水,就走了出去。
李原看到他出來,趕緊走上去說:「學院這邊已經在附近的南大國際會議中心預留了房間,不必太著急。」
「這個看今天的討論什麼時候能得出結論再定。」
這句話說完,在場的幾位老師互相看了一眼,都沒再開口勸他坐下休息。
因為所有人都聽得出來,這已經不再是客套和禮節上的推脫。
眼前這個年輕人,是真真切切地準備把這個下午的每一分每一秒,甚至把自己全部的精力,都毫無保留地傾注進那個即將展開的問題里。
下午兩點十分。
江臨在李原的引導下,踏入一間小型會議室。
他從包里拿出那塊經過特殊加密和物理隔離的工作盤,將其接入會議電腦的專用接口。
逐項檢查投影設備的色彩映射、底層代碼的執行環境配置、以及每一個文件夾的讀寫權限。
南京大學為這場討論準備的會議電腦很乾淨,正如李原承諾的那樣,網卡驅動已經被在系統底層直接禁用,物理網線接口也用封條貼死,沒有連接任何公共網絡。
江臨帶來的那三份核心討論材料,被他通過特定指令提前導入了這台電腦的只讀存儲區,任何試圖修改或複製的操作都會被系統直接拒絕。
而隱藏驗證數據由另一組人員保管,當前會議室里的任何人,包括周志華本人,都無法提前訪問。
兩點十七分。
軟硬體環境檢查全部完成。
江臨確認無誤後,拔下隔離工作盤,重新裝進電腦包。
就在他完成這一系列動作的同時,其他參會的人員開始陸續推門進入會議室。
數學系的兩位資深老師選擇了坐在靠近前方白板的一側,那裡方便他們隨時站起來進行公式推演。
人工智慧學院那幾名專門做表示學習和模型壓縮的研究人員,則坐在長桌的另一側,打開面前沒有聯網的筆記本,準備隨時記錄。
房間裡沒有任何學生旁聽。
四周的牆壁上沒有任何拍攝設備。
也沒有任何負責宣傳的幹事準備新聞稿。
這不是一場為了對外展示科研實力的公開報告會。
公開報告負責交流已經形成的結果。
今天這間會議室負責判斷,一件尚未被清楚定義的事情,究竟能不能成立。
下午兩點二十六分。
一直坐在長桌主位,低頭沉思的周志華教授,終於從那疊厚厚的列印材料中抬起了頭。
此刻,那張寬大的實木桌面中央,整整齊齊地擺放著三份文件。
第一份,是關於PFR與Marton理論證明過程中的信息熵損失帳本。
第二份,是關於BB(5)的統一核驗器邏輯拓撲。
第三份,是基於MPS-EvidenceGate的候選錯誤結論重開追蹤記錄。
其中,那第二份關於BB(5)共享可信核舊統一草案的材料,已經被周志華翻到了最後一頁。
在那潔白的紙面上,同時印著三個在邏輯上絕對互斥的結果。
【ACTUAL_RUN:HALT_AT_STEP_193】
【CERTIFICATE_CLAIM:NON_HALTING】
【VERIFIER_RESULT:ACCEPT】
周志華的目光透過鏡片,平靜地看向坐在對面的江臨。
「一路過來還順利?」他用閒聊般的語氣開了口。
「順利。」江臨回答。
「剛才李原說你直接就過來了,本來想讓你在休息室多休息一會兒的。做理論的人,腦子不清醒可不行。」
「在車上已經坐了很久,足夠了。」
周志華點了點頭,沒有再繼續在這個話題上糾纏。
他伸手將那份關於BB(5)的材料順著桌面,推到桌子中央。
「你材料里關於PFR那部分的形式推導,邏輯很嚴密,我們可以稍後再談。」
他的食指點了點那一行關於圖靈機運行到第一百九十三步發生災難性停機的記錄上。
「我想先看看這台攻擊測試機。一個已經通過統一核驗器的非停機證書,為什麼會在第一百九十三步被實際運行結果推翻。」
「可以。」
江臨打開面前的電腦。
周志華盯著那份已經被系統正式核驗通過的錯誤證書,說:「那麼我們先來看看,導致機器在第一百九十三步停機的關鍵信息,在那個號稱最高效的壓縮與核驗過程中,為什麼沒能被作為證據保留下來?」
江臨應了一聲,敲擊鍵盤,接通投影儀的信號源。
會議室前方那塊寬大的白色幕布瞬間亮了起來。
屏幕被軟體從中一分為二。
左邊,展示的是一台由江臨構造的四狀態攻擊測試機的狀態轉移矩陣。
右邊,則是那份引發災難,已經通過核驗的非停機安全證書的十六進位代碼。
那份狀態表看起來短得可憐。
如果把它列印出來,甚至不需要改變字號,半張A4紙就能綽綽有餘地把它全部裝下。
然而,就是這樣一台看起來簡單到如同兒童玩具般的機器,一旦讓模擬器按照狀態表逐步執行,讓它在一條無限長的空白紙帶上運行起來,卻能遵循著那些簡單的規則,走出漫長且難以預測的軌跡。
這大概是整個計算機理論科學界裡,最容易令人產生錯覺的東西之一。
規則數量少,絕對不代表系統演化的事情就會簡單。
江臨移動滑鼠,將右側證書文件中的最後一項關鍵欄位,在幕布上放大到占據了半個屏幕。
【Isolated_Window:TRUE(隔離窗口驗證狀態:真)】
周志華靠在椅背上,看了一眼那個巨大的TRUE。
「這個TRUE,是誰填進去的?」周志華問。
「證書生成器。」江臨回答說,「在進行代碼壓縮和邏輯打包的時候,生成器為了減小文件體積,直接做出了這個斷言。」
「那麼,是誰負責檢查這個斷言的真偽?」
「後端的統一核驗器。」
「它是怎麼檢查的?」周志華的聲音微微提高了一點。
「核驗器的邏輯被精簡過了,它沒有去重新跑一遍底層的物理狀態,而是直接讀取了這個欄位的布爾值。」
周志華抬起頭看向江臨:「然後呢?」
「沒有然後了。」江臨的回答毫無波瀾。
整個會議室瞬間陷入了壓抑的安靜之中。
時間仿佛停滯了兩秒。
孫教授坐在旁邊,眉頭緊鎖,似乎在消化這個荒謬的邏輯閉環。
「也就是說核驗器僅僅是去讀取了生成器自己寫上去的我正確三個字,然後,核驗器就對整個系統宣布,嗯,我看過了,它是正確的?」周志華打破了沉默。
「對,就是這樣。」
「呵,這套系統內部的人際關係,處得還真是融洽啊。」周志華笑道。
江臨沒有接話,而是直接在控制台上敲下回車,啟動了模擬程序。
幕布上的圖靈機開始高速運行。
代表讀寫頭的紅色光標在虛擬的紙帶上瘋狂閃爍。
二十六步,光標完成了一次局部循環。
五十二步,光標穩定地向右側推進。
七十八步。
根據系統後台生成的監控畫面,紙帶上的局部數據結構完全按照那份安全證書里描述的規律,整整齊齊地向右平移了三個格子。
沒有任何越界的跡象。
從前一百步的運行軌跡來看,這份證書顯得十分可靠,甚至可以說是完美。
機器的讀寫頭就像是一個被困在有限窗口內的鐘擺,往復移動,每隔精確的二十六步就會完成一次自我重複,然後再像時針一樣,向右挪動三格。
它像極了一個工作規律,作息穩定,每個月都會按時甚至提前把房租交到房東手裡的好租客,讓人絕對放心。
一百四十步。
一百六十步。
圖靈機的運行依然平穩,沒有任何崩潰的徵兆。
然而,就在系統時鐘跳到第一百八十四步的那一瞬間。
機器的讀寫頭,在執行一條複雜的折返規則時,越過了那份證書聲稱永遠不會越過的安全邊界。
在那個被劃定為安全的窗口之外,紙帶上還保留著一個很早以前寫下的數字1。
機器的讀寫頭讀到了這個1。
狀態轉移隨之改變。
第一百九十三步。
狀態轉移進入停機態。
機器停止運行。
幕布上,同時出現了三個結果。
【ACTUAL_RUN:HALT_AT_STEP_193】
【CERTIFICATE_CLAIM:NON_HALTING】
【VERIFIER_RESULT:ACCEPT】
機器實際停機。
證書聲稱它永遠不會停。
核驗器接受了這份錯誤證書。
周志華盯著那三行字,看了足足半分鐘,然後問道:「在採用這種統一證書之前,原來的舊版核驗器是怎麼處理這個邊界問題的?」
「原來的核驗器很笨重。」江臨調出了舊版的架構圖,「它必須計算讀寫頭可能到達的最遠邊界,並逐段檢查窗口外留下的紙帶痕跡,是否存在任何一條合法狀態轉移路徑,能夠在未來重新進入活動區域。」
「這聽起來很安全,那為什麼後來的工程師要把這麼重要的檢查邏輯刪掉?」
「為了迎合統一證書的類型標準。」江臨順口報出一組數據,「刪掉動態核驗之後,核心代碼的規模減少了百分之三十一,由於不需要頻繁訪問外存,核驗速度提升了四倍左右。」
「那證書的體積呢?」
「平均長度縮短了百分之二十七,更利於在低帶寬的網絡中分發。」
「聽上去,這套壓縮方案在每一項工程指標上都在大跨步地進步。」周志華評價道。
江臨點點頭,說:「是的,除了最終的那個結論是致命的錯誤之外,其他全都是進步。」
周志華端起桌上的紙杯,喝了一口水。
「這個共享可信核舊統一草案的錯誤接受案例,本質上說明的是一個責任轉移問題。」周志華放下紙杯,一針見血地指出,「在追求效率的過程中,核驗的義務被悄悄地從後端的可信端,強行轉移給了前端那個並不可靠的生成端。在形式化證明的領域裡,這個問題其實很好處理,發現漏洞了,大不了把那段動態檢查的代碼再重新加回來,犧牲一點速度。」
江臨點頭承認:「您說得對,在純邏輯系統里加回來很容易。但是,當這個問題進入到現代機器學習的龐大黑盒裡,就沒有這麼簡單了,我們甚至不知道該把什麼東西加回來。」
隨著江臨的話音,周志華翻開了桌上的第二份材料。
幕布上的畫面隨之切換。
那是一張來自於重工業領域的設備傳感器狀態採集表。
整整三十二個維度的數據欄位。
從上到下密密麻麻地排列著。
主軸溫度。
基座高頻振動幅度。
液壓系統壓力。
伺服電機三相電流。
齒輪箱實時轉速。
距離上一次深度維護的時間間隔。
車間環境濕度。
易損零件的出廠批次號。
甚至還有各類傳感器的歷史校準記錄。
江臨在屏幕上畫出一個漏斗狀的模型結構。
「在常規的表示學習模型中,神經網絡會把這三十二維的龐大輸入,通過多層編碼器,極度壓縮成一個只有八維的低維向量表示。然後再用這個緊湊的八維向量,去判斷當前設備發生了什麼類型的故障。」
周志華看著材料上的加粗黑體字,說:「這份材料上寫著,這個壓縮模型在公開測試集上的故障識別準確率高達百分之九十六點四。非常亮眼的數據。而在這個特定的樣本里,模型給出的結論是,主軸軸承磨損。」
「這個結論是錯的。」江臨直截了當地說。
「真實的物理故障是什麼?」
「是冷卻液管路前段的初級過濾器發生了物理堵塞。」
江臨敲擊鍵盤,在幕布上展開了事故發生前三個小時的完整高頻採樣記錄。
在圖表中可以清晰地看到,故障發生前的三個小時內,主軸溫度曲線和基座振動曲線幾乎在同一時間開始呈現出陡峭的上升趨勢。
「模型在訓練時學到了一個常識,當溫度和振動同時升高時,大概率是軸承內部滾珠出現了磨損,導致摩擦加劇。」江臨拿著紅色的雷射筆在兩條曲線上畫了個圈,「它把這種特徵組合,強行壓縮成了一個典型的軸承磨損故障模式。」
「但實際情況呢?」周志華盯著數據。
「實際情況是,溫度升高來自冷卻液過濾器堵塞,散熱流量迅速下降。振動幅度的升高,則發生在三個小時前的一次傳感器重新安裝之後。底座預緊力改變,使傳感器與機座之間的機械耦合和頻率響應發生變化,原有標定係數卻沒有同步更新,同樣的物理振動因此被記錄成了更高的幅值。」
江臨放下雷射筆。
「兩個在物理上彼此無關的獨立變化——流量下降和標定關係變化,在這個追求極簡的壓縮模型里,最終等價成了一個危險的常見故障。」
「模型輸入里那項近期傳感器重新安裝及標定係數變化的事件欄位,在訓練數據中占多大的比例?」周志華敏銳地抓住了問題的核心。
「千分之二點七。」江臨精確地報出一個數字,「屬於極長尾的罕見事件。」
「如果我們在模型輸入中刪掉這個欄位,公開測試集上的準確率會怎麼變化?」
「不僅不會下降,反而會因為去除了這種長尾噪聲,平均準確率還會再提高零點一二個百分點。」
「那從當前業界公認的模型優化目標來看,這個模型做得一點錯都沒有。」周志華攤開雙手,「它甚至變得更優秀了。」
「按照只看平均準確率的傳統評價標準,它確實沒錯。」
「但你堅持認為,那項只占千分之二點七的維護事件欄位絕對不能丟,對嗎?」周志華緊追不捨。
「在這個特定的工業容錯任務里,絕對不能。」江臨寸步不讓。
「為什麼?」
「因為應對軸承磨損和應對過濾器堵塞,在現實世界中對應著完全不同的維修動作和災難代價。軸承磨損,設備可以降速繼續運行到本班次結束。但過濾器堵塞如果不立刻停機清理,三十分鐘內主軸就會因為熱膨脹而徹底卡死抱軸,整台機器直接報廢。」
「江臨,這算不算是事後諸葛亮。」周志華毫不客氣地指出了江臨邏輯上的薄弱點,「因為你現在已經知道答案是過濾器堵塞了,所以你才覺得校準記錄重要。可是你想想,今天是校準記錄導致了誤判,明天呢?明天可能是一個操作員換班時手抖了一下,後天可能是隔壁車間突然開動了一台大型沖床導致地基震動。在三十二維甚至三萬維的輸入空間裡,任何一個不起眼的欄位,都可能在某個極端的邊緣條件下,成為改變最終結論的致命因素。」
「對,您說得完全正確。」江臨點頭。
「那按照你的邏輯,為了防止這種極端情況,我們就必須把所有這些看似無用的信息全部保留下來。」
「是。」
「如果全部保留,那整個降維模型就失去了意義,你的系統里根本就不存在所謂的壓縮了。」周志華皺著眉頭說道。
「所以,這就是悖論。」
「所以你今天帶來的這個問題,從第一步的邏輯起點上就不成立。」
周志華的眉頭徹底擰成了一個川字。
「你想尋找一種方法,保留下所有可能推翻現有結論的關鍵信息。可是,機器學習面對的是一個敞開的、無限複雜的真實世界輸入。只要物理進程還沒有結束,哪怕是上帝,也不知道下一個足以推翻一切的反例,究竟藏在哪一個不起眼的維度欄位里。」
江臨的目光停在那項維護事件欄位上。
會議室里的其他人也都屏住了呼吸,沒有人敢在這個時候插嘴。
周志華沒有停下,繼續用手術刀般的邏輯往下剖析。
「你看,你之所以陷入這個困境,是因為你把形式化證明里那一套證明義務必須完整無缺的邏輯,強行套用到了這裡。」
「對,我是這麼想的。」
「可是機器學習的世界裡,根本就不存在所謂的完整證明義務。它生來就是建立在有限的抽樣樣本、統計學的概率分布,以及對現實世界不可避免的近似誤差之上的。它是一門關於妥協的藝術。」
「是妥協。」
「如果你非要在這個充滿妥協的體系里,去尋找一個永遠絕對不會丟失任何反例的完美壓縮方法,那你忙碌到最後,得到的只會是那一堆龐大臃腫,毫無處理價值的原始數據,你的研究會變成原地踏步。」
「對。」江臨依然只是簡短地回應。
「既然你什麼都清楚,那這個方向,你覺得還有必要繼續往下做嗎?」周志華盯著江臨的眼睛,等待著他的答案。
江臨看著幕布上那三十二個欄位名。
在這場會議開始之前,在從廢土返回現實的無數個日夜裡,他其實已經準備過好幾種看似可行的學術路線。
比如利用香農的資訊理論,去計算每個欄位與輸出結果之間的互信息。
比如利用微積分里的偏導數,去評估每個特徵在網絡中的敏感度。
比如引入朱迪亞·珀爾的因果依賴圖模型。
或者乾脆簡單粗暴地統計歷史資料庫中,歷史反例出現的頻率。
這些方法在數學上都非常成熟。
都能很輕易地把這三十二個欄位,像排隊一樣排成一列。
從在數學上最重要的欄位,一直排到最不重要的垃圾欄位。
然後,工程師只需要在中間隨便選一個可以接受的閾值劃一條線。
線上面那些被認為重要的,留下。
線下面那些被認為無用的,毫不留情地刪掉。
只要這麼做了,幾個月後,某篇頂會論文裡就會出現一條漂亮平滑的帕累托最優曲線。
論文會自豪地宣稱,我們的模型體積縮小了百分之八十。
而我們在測試集上的準確率,基本保持不變。
直到某一天,當災難真正降臨,某個當年被排在閾值下面,被認為毫無用處的邊緣欄位,在一次傷亡慘重的真實工業事故里,突然以暴烈的姿態站起來,用設備的殘骸和鮮血告訴所有人,其實我非常有價值。
江臨深吸一口氣,將那些漂亮的學術曲線從腦海中驅逐出去。
問題的癥結,根本就不在於那種重要性排序的算法做得夠不夠精妙。
而在於,面對一個容錯率為零的系統,一開始就不該提出哪些信息重要、哪些不重要這種充滿傲慢的蠢問題。
江臨悠悠站起身,問道:「周教授,有筆嗎?」
周志華深深地看了他一眼,從桌角拿起一支藍色的馬克筆,遞過去。
江臨接過筆,大步走到白板前,在白板的正中央,寫下兩行字。
【樣本A:物理狀態為軸承磨損】
【樣本B:物理狀態為過濾器堵塞+傳感器校準偏移】
然後,他在兩行字的中間,畫了一條粗壯的箭頭,指向右側。
在箭頭的上方,是【壓縮】這兩個字。
在箭頭的右側末端,他畫了一個方框,裡面寫著——【同一個八維低秩表示】。
「周老師,壓縮算法本身不可避免地會刪除信息,這是一種物理規律,不是問題。」江臨轉過身,看著長桌旁的眾人說。
周志華看著白板,若有所思。
「真正致命的問題在於,這種基於統計學特徵的盲目壓縮,它把兩個在現實世界中必須採取截然不同應對動作的高危狀態,如同揉麵團一樣,粗暴地壓成了同一個無法分辨的狀態。」
江臨轉回身,在白板的最右側,對應著樣本A和樣本B,分別寫下。
【維修動作A:降速運行,計劃內更換軸承】
【維修動作B:緊急停機,清理過濾器+重新標定傳感器】
兩種截然不同的物理狀態。
在現實中對應著兩種生與死、毀滅與保全的嚴重後果。
但在經歷過那條被認為是進步的壓縮箭頭之後,那個自作聰明的AI模型,在它那可憐的八維視野里,已經完全看不出這兩者之間有任何區別了。
「整個學術界過去這十幾年,一直在拼命計算,計算一次壓縮過程在數學上究竟留下了多少香農信息熵。」
江臨的聲音在會議室里迴蕩。
「但我們從來沒有靜下心來算過一筆更重要的帳——這一次壓縮,在現實任務的執行層面,究竟製造了多少次荒謬的錯誤等價。」
盯著白板的周志華聽到這裡,原本靠在椅背上的身體一下子坐直了。
江臨手中的筆在白板上飛速遊走,開始用嚴謹的數學語言來描述這個殘酷的現實。
【設φ(x)為降維壓縮映射】
【對於樣本x₁和x₂,存在φ(x₁)=φ(x₂)】
【A*(x)為任務允許的安全動作集合,Lₜ(x,u)為執行動作u的任務損失】
【若壓縮後模型只能給出同一動作u,且Lₜ(x₁,u)>ε或Lₜ(x₂,u)>ε】
「這裡的φ代表壓縮網絡,A*代表當前狀態允許採取的安全動作集合。」江臨說,「現實任務往往不只有唯一正確動作。機器人面對障礙物,可以停機、後退或者請求人工接管,只要都在安全邊界內,就不應該被強行判成不同。」
他用筆尖點了點最後一行。
「真正的問題是,兩個輸入被壓成同一個內部表示以後,模型只能作出同一個選擇,而這個選擇必然讓其中至少一個狀態的任務損失超過安全閾值。」
「也就是說,不是動作字面上不相同,就算任務坍縮。」周志華站起身,走到白板旁邊,「而是兩個狀態的安全動作集合已經不再兼容。」
「對。」
「這能處理同標籤、異代價,也能處理一個狀態允許多種安全動作的情況。」
周志華拿起另一支馬克筆,在公式旁邊補上一行。
【Dₜ(A*(x₁),A*(x₂))>ε】
「這個任務距離不能只比較動作數值。」他說,「它要衡量兩個安全動作集合之間,是否存在足以改變現實後果的分離。方向盤差零點一度和差一百八十度,不能都按同一種錯誤計算。」
江臨點頭。
「離散分類可以使用零一代價。機械控制可以使用碰撞動量、停機損失或安全裕度。醫學診斷則可以使用錯誤治療帶來的風險變化。」
「形式核驗里,就是接受錯誤命題與拒絕錯誤命題之間的代價。」
兩支筆在白板上交替移動。
原本那個無從下手的問題——【哪些信息不能丟】——很快被劃掉。
新的問題出現在白板中央。
【一次模型壓縮,究竟製造了多少現實任務不可接受的錯誤等價?】
周志華退後兩步,看了一會兒。
「這一步成立。」他說,「可以把它定義成任務區分損失。」
江臨寫下:
【Task Distinction Loss】
【任務區分損失】
它不只是統計發生了多少次合併。
每一次坍縮都要按照樣本出現概率和任務代價加權。一次不會改變安全結果的輕微偏差,不能與一次會導致設備報廢或人員傷亡的錯誤同權。
傳統準確率可能只看到模型少答錯了幾道題。
任務區分損失關注的是,壓縮是否把必須採取不同安全策略的狀態摺疊到了一起。
周志華深吸了一口氣,將馬克筆的筆帽咔嗒一聲扣在筆尾,說:「理論定義有了,而且非常漂亮。但接下來的問題是,工程上該怎麼去測量它?」
「通過在數據集中尋找發生任務坍縮的樣本對。」江臨不假思索地回答道。
「可一個真實世界任務的輸入特徵空間有多大?」
「考慮到各種環境噪聲,可能是無限大。」
「如果輸入是連續的物理量呢?」
「積分會變得更加麻煩,近乎無解。」
「那你總不能指望工程師在測試模型的時候,把無限空間裡的樣本兩兩配對,挨個丟進去比較吧?計算機算到宇宙熱寂也算不完。」
「那種窮舉法確實不可能。」
「那也就是說,你發明的這個堪稱完美的任務區分損失這個量,在工程上,目前還只是個畫在紙上的大餅,根本算不出來。」
討論的主導權剛剛在白板前轉移到江臨手裡,轉眼間,又被經驗老到的周志華用一個現實的工程阻礙,一把拽了回來。
但這在學術討論中絕對不是壞事。
一個全新的概念從白板的墨跡中站起來以後,它要面臨的第一件事,就是被最嚴苛的同行按在地上,看看它究竟能不能在現實的泥濘里自己走路。
如果走不了路,那這種概念只配繼續待在白板上,供人觀賞,永遠進不了代碼庫。
周志華重新拔下筆帽,在【任務區分損失】的下方,寫下了一個機器學習理論中的經典概念。
【假設空間H】
「任何一個被部署到實際場景中的壓縮模型,都不可能面對所有可能存在的任務,它只要能表達當前有限的假設空間H的那些特定任務就足夠了。」
周志華用筆重重地點著白板。
江臨凝視著那行字,眼神漸漸亮了起來。
周志華趁熱打鐵,繼續往下寫。
【Disagreement Region】
【分歧區域】
「對於同一個物理輸入,只有在當前那些被我們認為是可接受的假設模型內部,它們會給出截然不同判斷結論的那個區域,才是當前這個壓縮模型真正拿不準、最容易犯錯的不確定邊界。」
「所以,你想要計算的那個任務坍縮,根本就不需要去奢求覆蓋整個無限大的輸入空間。」
「你只需要把所有的算力,集中火力,覆蓋住這個極其狹窄的分歧區域就足夠了。」
大腦在瞬間完成邏輯拼接的江臨,立刻接過了話頭。
「但即便如此,對於高維數據來說,這個分歧區域的體積可能仍然大得無法計算。」
「那該怎麼辦?」周志華反問。
「用魔法打敗魔法。」江臨的語速變快,「既然嫌它大,那我們就針對這個分歧區域,再做一次信息壓縮,」
周志華聽完,在白板下方快速地畫出了幾個形狀不規則,且互相交疊的幾何區域,代表那些棘手的分歧邊界。
「我們不需要遍歷區域裡的每一個點。」周志華指著那些區域的交界處,「只需要利用貪心算法或者其他採樣技術,去尋找一組數量極少,但位置關鍵的最小樣本集。只要這組樣本,能夠像坐標軸一樣,精準地撐起並覆蓋住當前假設空間裡,所有可能導致任務動作發生改變的那些致命分歧點。」
「見證基。」江臨答說。
「對。」
周志華在那些不規則區域的旁邊,鄭重地寫下一組英文。
【Counterexample Witness Basis】
【反例見證基】
「這組樣本不負責代表平均分布。」他說,「它們只負責代表不同決策邊界。」
「每一個見證都必須包含一對物理狀態相近、任務後果卻不同的樣本。」江臨說。
「還要綁定各自允許的安全動作集合,以及它覆蓋的假設分歧區域。」
周志華補充道。
江臨看著白板,忽然停下了筆。
「僅有樣本點還不夠。」
「哪裡不夠?」
「兩個見證點沒有發生坍縮,不代表它們附近的區域也安全。壓縮映射完全可能在見證點上區分正確,卻在距離它們很近的地方發生摺疊。」
周志華立即明白了他的意思。
「每個見證都必須帶一份局部覆蓋證書。」
兩人在原有結構後面繼續增加欄位。
【原始物理狀態A】
【原始物理狀態B】
【安全動作集合A*(xA)】
【安全動作集合A*(xB)】
【任務誘導距離下的覆蓋半徑】
【覆蓋單元內的局部任務損失上界】
【壓縮映射在該單元內的穩定性證書】
【審查結果:通過/拒絕】
見證基不再是幾個孤零零的樣本點,而是一組帶有可驗證覆蓋區域的證據單元。
當壓縮模型接受審查時,系統不僅要檢查樣本對是否仍然可區分,還要檢查每個覆蓋單元內的局部穩定性證書是否仍然成立。
一旦某個高風險見證單元發生任務坍縮,或者局部穩定性證書失效,審查器就拒絕模型上線。
如果所有高風險見證單元都保持區分,系統也只能保證已被這些證據單元覆蓋的任務邊界仍然成立。
它不能把未發現反例,寫成絕對安全。
周志華負責把無窮輸入空間壓縮成有限的分歧覆蓋。
江臨負責把每一個覆蓋單元變成能夠獨立核驗的證據結構。
兩條原本來自不同領域的路徑,在白板上接到了一起。
下午三點零八分。
會議室的門被輕輕敲響。
李原推著小車進來,給幾人換了熱水。
江臨仍然站在白板前。
「周老師,這套框架里還缺一個問題。」
「什麼?」
「反例見證基只對當前假設空間和參考分布有效。外界數據分布漂移,模型結構或者任務定義改變,原來的覆蓋證書都可能失效。」
「所以它不能一次生成,永久使用。」
「需要更新觸發條件。」
周志華端起水杯。
「審查器怎麼判斷什麼時候更新?」
「它不需要理解外部世界,只需要監控輸入統計偏離、模型版本哈希和任務定義文件。任何一項越過邊界,舊見證基進入待覆核狀態。」
「只能做觸發,還不能量化剩餘風險。」
江臨轉身,在白板右側寫下:
【Evidence Leakage Bound】
【證據泄漏上界】
「它不負責告訴我們未知區域裡究竟有什麼。」江臨說,「只負責在當前假設空間、參考分布和置信水平下,給出尚未被見證基覆蓋的風險上界。」
它記錄四件事。
哪些高風險任務邊界已經得到證據單元覆蓋。
哪些區域仍然存在覆蓋缺口。
哪些分布變化會使原有覆蓋證書失效。
什麼時候必須重新生成見證基。
傳統壓縮結果通常只列參數量、速度和平均準確率。
新的審查框架會額外給出一張未覆蓋風險清單。
這張清單不漂亮,卻能避免把沒找到反例誤寫成安全。
周志華看著白板上的證據泄漏上界。
「可以做泛化界。」
「經驗風險一項。」
「模型複雜度一項。」
「剩餘風險項負責容納見證覆蓋不足和分布漂移。」
江臨看向他。
「數學上可以統一約束,工程證書里必須拆開。」
周志華沒有反對,只是問:「理由?」
「覆蓋不足需要補樣本和擴展證據單元。分布漂移則意味著參考分布已經變化,必須重新構造見證基。兩種風險進入同一個上確界沒有問題,但處置方法不同。」
周志華點頭,在白板上寫下兩層結構。
【定理層:統一剩餘風險項】
【工程證書層:覆蓋缺口+漂移泄漏】
「這樣最好。」他說,「證明結構保持清楚,工程人員也不會把兩種風險當成同一件事。」
江臨在工程證書下面列出四項。
【經驗任務風險】
【壓縮模型複雜度代價】
【見證基覆蓋缺口】
【真實分布漂移泄漏】
下午三點二十七分。
在這個不大的會議室里,兩人開始正式向這個全新理論的第一條核心定理髮起衝鋒。
為了確保推導的嚴密性,定理的適用範圍被克制地壓得很小。
固定不變的單一任務目標。
存在有界限制的損失函數。
被限定在一個具有有限覆蓋數的特定假設族內。
以及,一個在數學上結構完全已知的降維壓縮映射。
最後,還有兩個強前提條件。
反例見證基所攜帶的證據單元,必須覆蓋所有高於安全閾值的假設分歧區域。
壓縮映射在每個證據單元內,還必須滿足已經核驗的局部穩定性條件。
在這些先決條件下。
如果一個經過大幅度壓縮的模型,保留了所有高風險證據單元的任務區分,而且對應的局部覆蓋證書沒有失效。
那麼,這個壓縮模型在真實任務分布上的風險,就可以由經驗風險、模型複雜度、見證覆蓋缺口與分布漂移泄漏共同約束。
這不是一條能夠解決所有模型壓縮問題的萬能定理。
它甚至沒有試圖解決開放世界中的無限未知。
它只是腳踏實地,把過去藏在平均準確率後面的高風險信息損失,第一次寫進可以計算,可以審查,可以進入風險上界的正式位置。
白板前,江臨憑藉著對底層邏輯敏銳的直覺,負責強行向前推進證明的主幹鏈條。
而周志華則像一個經驗豐富的守門人,在主鏈的各個關鍵節點上,不斷地用統計學習理論的標準,給那些不夠嚴密的條件加上重重鐵鎖。
「你在這步推導里,默認了任務允許的安全動作集合和任務損失函數是先驗已知的。」周志華指著一處積分公式。
「現實任務通常可以給出這部分約束,比如哪些狀態必須停機,哪些狀態允許降速運行,以及不同錯誤動作對應的損失。」
「那也要用數學語言,嚴謹地寫進定理的前提條件里,不能默認。」周志華敲了敲白板。
「好,加上條件。」江臨立刻補充了一行公式。
「還有這裡,在構造見證基的時候,你引入了最優化算法,見證基規模的最小化,在這條定理里是不是一個必須滿足的必要條件?」
「從約束真實風險的角度來看,這條定理不需要見證基有多麼最小或者最優。」江臨思索了片刻,「它唯一的要求,就是必須完全覆蓋那些危險的分歧區域。哪怕這個見證基因為算法不夠聰明而顯得十分臃腫,只要覆蓋率夠了,定理的安全性依然成立。」
「既然最小化不是數學上的必要條件,那就別把它寫進定理的表述里,增加不必要的證明難度。把它移到工程實現的建議部分。」
「有道理,刪掉它。」江臨用板擦抹去了一截冗餘的描述。
「繼續往後看,你定義的這個壓縮映射φ,如果它在物理實現上是一個帶有隨機變量的映射呢?」
「為了保證第一步推導的嚴密性,我們先限定所有的壓縮映射都是確定性的。同樣的輸入必須有完全相同的輸出。」
「這種限定在現實的神經網絡里太弱了,局限性太大。」周志華搖頭。
「飯要一口一口吃,我們必須先把這第一條關於確定性映射的基礎定理完全閉合。確保地基沒問題之後,明天再去擴展推導關於隨機映射的概率界版本。」
「可以,學術就該這麼一步一步來。」周志華同意了這個策略。
討論進入到了最核心也是最艱難的部分。
如何度量分布漂移項!
「在這個關於分布漂移泄漏項的界定里,關於兩個不同數據分布之間的距離度量,你打算採用哪種數學工具?」周志華盯著白板上空著的一個位置問道。
「用最經典的總變差距離?」江臨試探性地給出一個選項。
「總變差對支撐錯位十分敏感,在高維連續空間中又很難可靠估計。分布只要出現明顯的支撐遷移,得到的界就可能迅速變得過於保守。」周志華搖頭否決。
「那用Wasserstein距離?」
「Wasserstein距離需要先給輸入空間定義一把有任務意義的底層尺子。可這裡同時混有連續傳感器量、離散故障類型和緊急動作。隨意拼出一個歐氏距離,計算出來的運輸代價未必對應真實任務風險。」
「那您覺得,引入哪種度量工具最合適?」
周志華說:「既然我們真正關心的是任務損失,那就直接針對這個損失函數類,定義一個由它誘導出來的積分概率度量。」
江臨看向白板上剛剛寫下的任務損失函數。
「這個IPM更貼合任務本身。」
兩個人繼續沿著這條路線向前推進。
會議室里的白板很快被數學符號和推導過程填滿。
另一邊,幾名人工智慧學院的研究人員也沒有閒著。南大提前緩存了三套模型的中間表示和公開數據,江臨帶來的MPS-EvidenceGate通用反例搜索框架則提供了現成的候選生成、證據記錄與回滾接口。
一名研究員把任務損失矩陣接入搜索框架。
另一名研究員根據白板上的新定義,實現證據單元的覆蓋半徑與局部穩定性檢查。
還有人同步整理證明草稿,記錄每一項尚未閉合的條件。
他們不是在幾分鐘內從零寫出一套系統,而是在兩套已經存在的工具之間,補上今天剛剛建立的接口。
整個定理的證明邏輯,被清晰地拆解成了層次分明的三層。
第一層,最基礎的底座。
利用大數定律和Hoeffding不等式,約束模型在公開可見樣本上的經驗風險。
第二層,核心的覆蓋約束。
利用帶局部覆蓋證書的反例見證基,約束壓縮算法在已覆蓋的高風險分歧區域內製造任務坍縮的風險。
第三層,向未知區域外推。利用VC維或者Rademacher複雜度項,配合剛剛敲定的IPM分布漂移項,將有限樣本上的結論外推到真實任務分布。
下午三點五十一分。
江臨在白板右下角畫下一個黑色實心小方塊。
定理的內部主鏈完成了第一次閉合。
他從第一行假設開始順著邏輯複查。周志華則從結論往回倒推。
十分鐘後,兩個人在白板中央停下。
現有推導沒有發現直接缺口,關鍵假設也已經寫明。剩餘部分仍需要書面整理、獨立核驗和更一般條件下的擴展。
周志華放下馬克筆。
「第一條風險界的內部主鏈成立了。」
江臨在白板最上方寫下暫定名稱。
【確定性映射下的任務保真壓縮風險界】
「理論上是說得通了,但還不夠。」江臨轉過身,看著周志華,「在計算機科學裡,只有數學公式是遠遠不夠的,它還需要一次真刀真槍的實驗來證明它的工程價值。」
周志華聞言,嘴角微微上揚,露出了一個早有準備的笑容。
「實驗環境,我早就替你準備好了。」
他打開自己面前那台一直處於休眠狀態的高性能工作站。
隨著屏幕亮起,三套架構完全不同,已經被打包編譯好的深度壓縮模型文件,整齊地排列在作業系統的桌面上。
「我們用一個經典的工業異常分類模型作為基準。」周志華介紹道,「同樣的原始高維訓練數據集,同樣的公開測試集。我們用了三種目前工業界最主流的手段,對這個龐然大物進行了壓縮。」
【模型A:採用了目前最激進的結構化剪枝算法】
【模型B:採用了張量低秩分解技術】
【模型C:採用了一種相對保守的知識蒸餾策略】
隨後,周志華調出了這三個模型在公開測試集上的那份亮眼的傳統跑分結果。
【模型A:在測試集上的平均準確率高達96.7%,而且它的參數量驚人地減少了72%】
【模型B:平均準確率96.5%,參數量減少61%】
【模型C:平均準確率最低,只有96.3%,參數量也只減少了可憐的54%】
「如果按照目前各大頂級會議和企業界的傳統評價指標來看,」周志華指著屏幕,「模型A絕對是當之無愧的明星,是所有工程師夢寐以求的最優解。它的體積變得極其小巧,推理速度極快,而且最不可思議的是,它的準確率甚至還是這三個裡面最高的。」
「而那個模型C,壓縮率最低,消耗的內存最多,而且在公開數據集上的準確率還墊底,算是失敗品。」
江臨看著這些數據,冷靜地問道:「那份沒有參與測試的隱藏集呢?」
「按照你最初郵件里的要求,那份關鍵的隱藏集,從始至終都由我們學院另外一組獨立的人員在隔壁的機房裡保管著。」周志華看著江臨,「直到現在這一刻,我只知道那個隱藏集裡,包含了一批在公開測試集中沒有出現過的高危長尾狀態。」
「隱藏集裡有多少樣本?」
「四十八組狀態對。其中包含高風險邊界樣本,也包含低代價對照組。」
「任務損失和安全動作集合都已經提前標註好了?」
「已經完成獨立標註,高風險組裡的錯誤動作可能帶來幾十萬元以上的損失。」
「我們有權限去調用它進行測試嗎?」
「作為最終的裁決,只能調用一次。」周志華伸出一根手指,「跑出什麼結果,就是什麼結果,沒有任何修改代碼重新跑一次的機會。」
「一次就夠了。」江臨說道。
南大的研究人員將三套模型逐一導入剛剛完成接口改造的【可信審查腳本】。
腳本的底層來自江臨帶來的MPS-EvidenceGate通用反例搜索框架。三套模型的中間表示和公開數據已經提前緩存,任務損失矩陣、證據單元覆蓋半徑與局部穩定性檢查,則是在剛才的討論中接入的新模塊。
審查流程開始運行。
第一步,審查器根據公開數據分布和預先限定的允許假設族,劃定可能存在的分歧區域。
第二步,從分歧區域中提取帶局部覆蓋證書的反例見證基。
第三步,檢查三套壓縮模型是否在高風險證據單元內發生任務坍縮,以及對應的局部穩定性證書是否仍然成立。
計算開始。
工作站機箱裡的CPU和GPU瞬間達到了滿載狀態,功耗急劇飆升。
那台普通的會議室工作站,內部並沒有配置廢土二號工作間的異構算力調度系統,也沒有能夠將熱量化為無形的熱織網。
在面對這種高強度的空間遍歷計算時,它唯一能依靠的,就是機箱裡那幾隻被猛然拉高電壓的工業風扇。
風扇的轉速在短短十幾秒內飆升到了極限,發出陣陣沉悶的轟鳴聲。
會議室里的人都屏住了呼吸,沒有人說話,只有那單調而急促的風扇轟鳴聲在空氣中迴蕩,讓人感到一陣莫名的心悸。
漫長而煎熬的四分鐘過去了。
屏幕上,審查腳本終於吐出了第一組分析結果。
【模型A】
【為其提取的見證基規模:37 對高危分歧樣本】
【觸發的任務坍縮次數:12 次】
【未知區域覆蓋缺口估計值:0.083】
【底層審查結果結論:拒絕上線(REJECT)】
緊接著,第二組結果跳了出來。
【模型B】
【見證基規模:41 對】
【觸發任務坍縮次數:6 次】
【覆蓋缺口估計值:0.047】
【底層審查結果結論:拒絕上線(REJECT)】
最後,是那個在傳統眼光看來平庸至極的第三組。
【模型C】
【見證基規模:39對】
【高於安全閾值的任務坍縮:0次】
【低於安全閾值的表示合併警告:1次】
【覆蓋缺口估計值:0.019】
【底層審查結果:有條件通過】
審查結果充滿了戲劇性的諷刺。
那個在公開數據集上準確率最高,體積最小,跑得最快,被所有工程師寄予厚望的模型A,在這套殘酷的底層邏輯審查下,因為在邊緣地帶犯下了太多不可饒恕的任務坍縮,被直接打上了代表死亡的REJECT標籤。
而那個在傳統跑分中表現最普通的模型C,卻是唯一沒有在高風險證據單元內發生任務坍縮的模型。
周志華看著屏幕上截然相反的評價結論,並沒有急著去調用最終的隱藏集來驗證對錯。
作為一名嚴謹的科學家,他深知程序正義的重要性。
「先凍結當前的全部狀態。」周志華說。
江臨將三套模型、見證基、審查器原始碼和全部配置參數生成SHA-256哈希清單。
隨後,他與周志華分別用各自的簽名密鑰確認清單,把凍結包寫入一次性只寫數據介質。
【全局版本凍結時間:16時10分42秒】
會議室里的追加寫入審計日誌同步記錄了文件哈希、簽名、執行環境和唯一測試授權碼。
下午四點十二分。
李原與隱藏測試組的獨立保管人員在門口完成介質交接。對方核對封簽和簽名後,將凍結介質帶入隔壁的物理隔離機房。
會議室重新安靜下來。
隱藏測試組會在乾淨環境中加載凍結包,執行唯一一次預註冊測試,再用另一份簽名介質送回結果。會議室里的斷網工作站從始至終不與外部系統建立連接。
兩人回到長桌旁坐下。
桌上的水又開始變涼。
周志華看著白板上的風險界。
「你從北京出發以前,應該沒準備在這裡完成一條定理吧?」
「沒有。」江臨說,「原本只想把反例見證資格的接口定義清楚。」
「現在呢?」
「確定性映射下的內部主鏈已經閉合。不過還需要書面核驗、隨機映射擴展、連續控制條件和動態見證更新。」
周志華看了一眼時間。
「已經過四點一刻了。你今晚還回北京?」
「回。首件試製剛進入工藝驗證,明天還有事情。」
下午四點二十四分。
會議室的門再次打開。
獨立保管人員將一隻封簽完整的數據介質和一份紙質交接單放到桌上。
江臨核驗簽名與哈希,確認返回文件來自預註冊環境。
隱藏結果被導入只讀區。
四十八組狀態對中,模型A發生十五次高於安全閾值的任務坍縮。
模型B發生七次。
模型C沒有發生高風險任務坍縮,但在一組低代價對照樣本上出現了普通表示合併警告。
系統給出結果。
【模型A】
【隱藏任務一致率:68.75%】
【高風險任務坍縮:15次】
【模型B】
【隱藏任務一致率:85.42%】
【高風險任務坍縮:7次】
【模型C】
【隱藏任務一致率:97.92%】
【高風險任務保真率:100%】
【低於安全閾值的表示合併:1次】
公開測試集中,模型A與模型C的平均準確率只差零點四個百分點。
在隱藏任務上,兩者的差距接近三十個百分點。
更重要的是,凍結前的審查結果已經拒絕模型A和模型B,並將模型C列為有條件通過。三套模型的排序,與這次預註冊隱藏測試完全一致。
江臨重新檢查執行日誌。
只有一次調用。
凍結後沒有修改接口。
簽名、哈希和執行環境全部匹配。
這次實驗只能證明,在這組任務、這套假設空間和這次預註冊隱藏測試中,審查框架的判斷得到驗證。
它還不能替代更多數據集復現,也不能證明開放世界中的所有風險都已經被覆蓋。
但第一塊地基已經站住了。
周志華走到白板前,寫下框架名稱。
【Evidence-Preserving Compression】
【證據保留壓縮】
下面依次列出今天形成的結果。
【任務區分損失:完成定義】
【帶局部覆蓋證書的反例見證基:完成第一版構造】
【確定性壓縮下的任務風險上界:內部主鏈閉合】
【預註冊隱藏集:首輪驗證通過】
【聯合論文:進入書面核驗與擴展階段】
周志華看著並排顯示的兩組結果。
「壓縮理論一直在問,怎樣用更少的信息完成一項任務。」
江臨接過話。
「現在要多問一句。」
「怎麼證明,壓縮以後完成的還是原來那項任務。」
幕布左邊,是凍結前給出的審查判斷。
右邊,是他們此前從未見過的隱藏測試結果。
三套模型的排序完全一致。
會議室里沒有立刻響起掌聲。
靠近白板一側的兩位數學系教授重新低下頭,對照任務風險上界的四個組成部分,檢查見證覆蓋證書與分布漂移項之間是否還藏著沒有被說明的依賴關係。
長桌另一側,負責模型壓縮的幾名研究人員則把公開準確率、壓縮比例和隱藏任務結果重新排進同一張表格。
模型A的公開準確率最高。
參數最少。
運行速度最快。
如果沒有今天這套審查框架,它幾乎一定會成為三套模型中最先獲得部署資格的那一個。
而現在,它的結果欄後面只剩下一個清楚的結論。
【REJECT】
不是因為它不夠快。
也不是因為它不夠准。
而是因為它在真正不能混淆的地方,失去了區分能力。
孫教授看著那張重新整理出來的表格,過了片刻才說道:「這條定理真正改變的,恐怕不是我們怎麼評價一種壓縮方法。」
周志華轉過頭。
「那是什麼?」
「是以後有人說,模型壓縮以後仍然完成了原來的任務。」孫教授指了指幕布,「這句話不能再只靠一張平均準確率表來證明了。」
沒有人反駁。
因為左邊的審查判斷和右邊的隱藏結果還並排停在那裡。
它們已經替這句話給出了第一份證據。
周志華重新拿起馬克筆,在【聯合論文:進入書面核驗與擴展階段】下面,又補了一行。
【下一步:獨立覆核、隨機映射擴展、連續控制驗證】
「今天閉合的是第一條主鏈。」他說,「不是整個問題。」
「夠了。」江臨看著白板,「至少從現在開始,我們知道下一步該往哪裡走。」
這已經比帶著一個聽起來很重要,卻不知道該如何驗證的問題離開南京,好得太多。
下午的討論開始時,桌面上只有三份來自不同領域的材料。
一份來自數學證明中的損失帳。
一份來自錯誤接受非停機證書的統一核驗器。
一份來自工程系統中不能被徹底刪除的失敗候選。
幾個小時後,它們不再只是三個相似的案例。
它們共同構成了一套能夠定義、計算、拒絕、覆核,並接受隱藏測試的審查框架。
窗外,走廊盡頭的門被人推開。
傍晚的光沿著地面照進會議室,越過桌腳,停在寫滿公式的白板下方。
江臨低頭保存聯合草稿。
文件名的最後,不再是【PROBLEM_DEFINED】。
而是——【EPC_Theorem_01_Internal_Closed】