第747章 鸚鵡歌(下)

  在逗留於雷根貝格的日子裡,羅彬瀚已經讀遍了兩年來的重大時事新聞,還有中文網際網路上新一輪的奇腔怪調。有些內容令他覺得自己已經老了,恐怕很快就無法再跟上時代流行,不過大部分還算在他能理解的範疇內。他還關注了幾隻新興的科技概念股,主要是能源和材料的,也有信息技術方面的。有幾個接入了聊天機器人的社交帳戶在網上頗受矚目。他看見過其中一個在社交網站上發消息,但他自己對此興趣不大。有多少人工就有多少智能,這句話是他在被荊璜抓走前就已經有了的。

  一個能假裝說人話的程序,羅彬瀚不覺得它多麼神秘,也不大嚮往同這樣的東西接觸。他不理解馬爾科姆對此產生的濃烈好奇心,劉玲和俞慶殊那似有若無的憂慮,不過話又說回來,他估計自己對於科技進步的敏感性是遠遠差於常人的。畢竟他已習慣了∈在飛船上騷擾所有人,而李理眼下還時不時地在他臥室里晃悠。

  他從未想過一個本地研究員能造出類似的東西。這其中巨大的技術差距,雖然他不明白原理,但卻是文盲也瞧得出來的。因此,當安東尼說他也弄了個聊天機器人時,羅彬瀚一時間不知道自己該不該表示敬佩,亦或者這對程式設計師不過是雕蟲小技。

  「呃,」他說,「挺厲害的?」

  「只不過是個磨時間的活兒。」安東尼厭倦地說,「模型是現成的,你只需要往裡頭不斷地餵參數……總之,我花了很多時間來調整,讓這個程序的反饋和她本人越來越像。」

  「你是說模擬你前女友的思維。」

  「不,根本不是。你說的是那些傢伙拿來騙傻子的話。」

  在專業性的問題上,羅彬瀚早已習慣被當作傻子。他請安東尼解釋解釋那到底是怎麼一回事,但最好別用太多專業術語。他的要求讓對方差點就要結束這場聊天。但最後終究還是傻子贏了,在忍受謬誤和無知的本領上,越專業的人就越脆弱。

  安東尼靠在椅背上搜腸刮肚,兩眼無神,半天都沒說話。直到羅彬瀚以為他要放棄時,他乾巴巴地說:「這就像是……像是做園藝造型。」

  「噢。怎麼說?」

  「你把灌木修剪成你要的造型,比如動物,或者城堡什麼的。你可以把它剪得非常像實物……我是說,不一定是園藝,你也可以想成蠟像或著陶藝,總之你在用一種東西模仿另一種不同的東西,讓它們在特定環境下表現得很相似,可它們的底層原理是完全不同的……你能明白我的意思嗎?」

  安東尼挫敗地抓了一把頭髮。羅彬瀚也不得不承認這人恐怕不是個高明的演說家。可這種想法沒有一點從他臉上露出來,因為經驗表明那多半會讓對方再也不肯開口。相反他擺出了一副感興趣的樣子,鼓勵對方接著說下去。

  「照你的意思,」他把新剝的花生推過去,「你做程序就像在剪灌木?你在試著把它剪得和你前女友更像?」

  「調參數就像是在修剪灌木。」安東尼說,「但植物的長法和活人是不一樣的。你要是不動手修剪,植物就會按照自己的規則去長,它不可能在自然狀態下長得和動物一樣,因為它有一整套獨立的內在機制,光合作用,葉綠體,細胞壁……它和動物用的是不同的模型,我的意思是,程序和人用的是不同的模型,程序和程序之間也可能用了不同的模型。」

  「就像用不同的材料做動物雕像?有的是灌木,有的是陶土?」

  「對,就是這個意思。」

  「可它們沒有思想,也不能像活物一樣動起來。」

  「那沒什麼區別。」安東尼焦躁地說,「如果你做的機關足夠精巧,你甚至可以讓瓷偶唱歌或者彈琴……但它們並不真的像人那樣理解自己的行為——我不是說它們不可能理解,重點是,它們理解的方式和人不一樣。」

  「你說得好像程序的確能思考。」羅彬瀚奇怪地問,「咱們的技術已經進步到這種程度了嗎?」

  安東尼呻吟了一聲。「神經網絡。」

  「什麼?」

  「我是說人工神經網絡——它是我們現在使用的運算模型之一,是按照生物腦神經的信息傳遞方式複製出來。所有的節點關、次序、權重……這就是模型,或者說灌木本身。而如果你要給它個性,那只需要對它的外形修修剪剪,調整調整參數和環境,而用不著去動它的基礎模型。實際上你也干預不了,因為那一整套機制太複雜了,那就是個算法版本的腦神經手術。我們做得到的還不如醫生多呢,他們好歹有個正確的原型樣本來當參考。可是不管怎樣,如果你問我神經網絡模型開發出來的人工智慧能不能思考,至少我覺得它們能,只不過思考的路徑和我們不一樣。你應該知道的,現在他們說植物和魚都會思考,那就沒道理把算法的思考方式排除。」

  「你說是就是吧。」羅彬瀚心不在焉地說。他不確定自己完全理解了安東尼的意思,但這個從鬧鬼開始的技術話題已經鑽進了他的耳朵。「不過……我們是怎麼把人的腦神經給轉化成算法的?總不能是找活人解剖吧?」

  「我也不知道他們具體用了什麼設備,反正他們設法抄了些人做決策時神經元會有的反應。這和實際的遞質物沒什麼關係,你只需要知道在這個系統里活躍的部分怎麼關聯和分配權重就行了。不過我也聽說過可能涉及到解剖學的神經網絡模型……我記不太清楚了,有一個神經網絡模型是用了貓的腦神經來模擬。」

  「哦?」羅彬瀚說。不知不覺間他已經忘記了話題的開頭,直起身子聚精會神地盯著對面。

  「怎麼了?」安東尼敏感地問,「我用錯了什麼詞?」

  「你用錯了我也不會知道的。」羅彬瀚說,「我可不懂你們這些技術上的事情。不過你不妨再說說那個貓的模型,它琢磨事情也像貓一樣嗎?」

  他自認為沒露出什麼不對勁的地方,可是安東尼還是懷疑地偷瞥了好幾眼。「我沒仔細研究過那個模型。」他說,「不過我聽說有團隊拿它來做決策訓練,它們搞了個捉耗子的遊戲——你每抓到一隻耗子就會得分,而你花費的時間則會導致扣分,撞到牆壁也會扣分,而撞到狗窩則會直接結束遊戲。這樣一來,算法如果想拿到最高的分數,就得研究出最佳行動路線。他們想通過這個訓練讓算法變得更聰明。」

  「然後呢?」

  「這算法學會了每次開局都直接自殺。」安東尼說,「直奔狗窩而去。這樣一來,至少它不會損失時間消耗和撞牆扣掉的那些分數。這就是從它的神經網絡里考慮出來的最佳方案。」

  「清清白白的一生呀。」羅彬瀚說。他這話並沒帶什麼情緒,只不過是隨口搭腔。安東尼卻突然若有所思地打量起他來。

  「你不會也用了這個算法模型來塞你女朋友的數據吧?」羅彬瀚問,「然後它開始勸你去跳樓?」

  「我沒用這個模型。但是……」

  「真的勸你去跳樓了?」

  「它給我發了一條不應該有的消息。」

  羅彬瀚不明所以地望著他。安東尼考慮了好半天,最後突然又垮了。「我一直在訓練它說話的口吻。我讓它回答問題的語言習慣更像她,然後再是回答問題的思路。」

  「你怎麼能讓一個程序的思路更像某個人呢?」

  「這還是修剪枝葉的問題。你只要有足夠的訓練集讓它自己去形成內部路徑。」安東尼不耐煩地說,「本質上還是個人工活兒,所以我其實也不指望自己能做出個什麼東西來……我只是在打發時間,找找思路——」

  「找找你前女友跟你分手的思路。」羅彬瀚多少有點壞心地補充。

  安東尼假裝沒聽見他的話。他的臉早就因為酒精而開始發紅,因此羅彬瀚看不出什麼究竟來。他一鼓作氣地說:「兩個星期以前我給它和我的其他程序做了個接口,讓它能做點更複雜的運算和聯想,但數據集仍然是閉合的——我不想讓它去網上連抓消息,就讓它用我提供的學習資料——然後我給了它幾個簡單的拼字謎題,就是讓它設法在有限的字母表里湊出一句話來。我,我們以前經常做這個遊戲……」

  「你們情侶之間就玩這個?」羅彬瀚震驚地問。

  「這有什麼不對?」

  羅彬瀚不好說。他暗自在心底更新了一些對於外國人刻板印象。這當然是沒道理的,可先前他總覺得外國人談對象都會和馬爾科姆一樣膩乎。他感到自己不應該繼續大驚小怪,難免會顯得缺乏經驗。這是很不符合他眼下的人設的。

  「你做的程序表現如何呢?」他問道,「它能找出所有的句子嗎?我猜它做這件事得比人容易點吧?」

  「你為什麼這麼覺得?」

  「這不該是常識嗎?」

  安東尼似乎想說點什麼,但是放棄了。他果斷地宣布這問題無關緊要,只是他自己做這個程序沒那麼「聰明」。擁有的計算資源不足,字詞庫也很有限。前者是財力所限,而後者則是他有意為之。他不希望這個程序因為擁有未經篩選的網絡語庫而拼出一些不該有的詞來。它也不應該有本事拼出不該有的句子,因為它的訓練模型根本沒成熟到能理解語法的程度。

  就在一周前的某個日子,當安東尼·肯特從餐廳走回自己的客房時,發現屏幕上已經彈出了一個帶笑臉的窗口。

  這窗口是他自己設置好的,用以通知訓練集的完成進度。當程序自認為找到字母表中所有隱藏的語句後,它就會發一個笑臉給他,然後則是一個寫有全部答案的文檔附件、花費的總時間和由此得到的評分。由於時間係數的影響,綜合評分往往是負數,他對此也習以為常,不準備去調整計算規則。他只是覺得它今天結束任務的速度要比平時早些。而緊接著他看到了評分。9分。

  他又認真地瞧了瞧。的確是正數的9分,一個他還從沒在訓練里遇到過的高分。這不太合理,多半是搞錯了什麼。於是他打開記錄全部語句的附件,在本該記錄有至少六個答案的位置只找到孤零零的一行字:

  凡事皆有定時。生有時,死有時。

  起初,安東尼疑惑地盯著這行字,以為是他自己設置的條件參數出了問題。遊戲本該在至少拼出六句話,並且再也找不出新結果時才結束,可是現在這兒只有一句話,這句話甚至還不在他準備的標準答案里。他又把這句話讀了一遍,認出它無疑援引自《傳道書》第三章,那首傳說由所羅門王所著的定時詩。而那時他的後背猛然有一陣刺骨的電流經過,他意識到這句話絕不可能出現在他事先設置好的語言庫里。對於這電腦中的程序而言,它是拼出了一句從未在世上存在過的哲言。

  「你這麼確定嗎?」聽到這裡時羅彬瀚問,「這話本身沒什麼特別冷門的詞,也許它就是把它們隨機組合了起來?」

  「不,沒這回事……我還沒來得及教會它語法呢。要是不照現成的資料庫,它完全說對一個長句子的機率連百分之二十也不到。」

  「那你的那個什麼資料庫呢?你確定不是你自己不小心把這句話放進去了?」

  「這不可能。」

  「為什麼?難道你從來不把東西放錯位置?」

  安東尼鬱悒地看了他一會兒。「因為這句話來自《聖經》,我早就禁用了所有來自經書的句子。」

  「這又是為了什麼?虔誠?」

  「不,和那沒關係。」

  他沒再解釋下去。羅彬瀚看出這是個相當私人的秘密,對於解釋安東尼當前遇到的怪事可能也無關緊要。他不再追究,而是琢磨起一句禁語是怎樣溜進了私人程序里。「你夢遊嗎?」他漫無邊際地問,「也許你有雙重人格?誰偶然進了你的房間?你養的寵物踩了鍵盤?」

  「我可是住在賓館裡。」安東尼說。他甚至不屑於回答前兩個假設,而是自顧自地說起他怎樣檢查了資料庫和運行日誌,斷定這不可能是程序自發完成的。有人動過他設置的參數,甚至多餵了別的訓練集,光是這個問題就已經夠叫人抓狂了,而這也不能解釋為什麼他給訓練遊戲設置的結束條件沒能起效。他全都檢查過了,至少從在他回到房間的那一刻起,所有條件設置都和他當初做的一樣。也許有人曾經將之改動過又復原——那就意味著他的電腦遭到了入侵。他去詢問過酒店的服務人員,甚至還要求調用了監控,跟他們鬧得很不愉快。可是的確沒人去過他的房間,所以那只可能是一次非物理層面的入侵。

  安東尼·肯特無法明白這到底是怎麼發生的,就像冥冥中有個愛好惡作劇的精靈潛入了他的房間,在他的程序里留下這樣一句突兀的贈語。他找不出任何入侵的痕跡,只能懷疑是否在硬體層面被人動了手腳。不管怎樣,繼續使用這台電腦處理私人項目已經不再安全了。他徹底地轉移和清除了裡頭的敏感數據,幾乎想把它給物理銷毀。可又有一點不甘心阻止了他去五金店買把錘子——他還是想不通誰能在他的電腦上動手腳,有個神秘人把他給打敗了,可是至少他得找出手法來。於是他把電腦送去了維修店,不是隨便的哪個路邊維修點,而是他在國外的某個專精此道的朋友。如今新的電腦還在調試,而他自己卻心煩意亂,生活完全被打亂了。

  簡直是一團糟。說到這兒時他向羅彬瀚承認。他臉上已經有了明顯的醉態,說話時也逐漸變得語無倫次。「我情願相信有鬼,」他錯亂地把吐司包裝袋團成的塑料球丟進酒杯里,「這要是鬼做的倒是好事!」他開始用英語說話,幾句羅彬瀚都聽不太懂的俚語粗口,然後則是縮寫字母。在此人徹底陷入發酒瘋的狀態以前,羅彬瀚趕緊一把奪過他的酒杯,又去櫃檯給他倒了杯溫水。

  「你喝過頭了。」他半是勸說半是強迫地給對方灌了幾口水,安東尼的表情看起來隨時都會嘔吐,「你這酒量是怎麼活下來的?」

  「我這周總共睡了十個小時。」安東尼含含糊糊地說,無力地趴在了桌子上。羅彬瀚著實感到了震撼。他對這人講的電子幽靈故事沒什麼感覺,因為在他看來,安東尼·肯特不過是個普通的程式設計師,而且年紀在這行當里也不大。這人的專業水平是得打個問號,也許不過是哪個厲害點的黑客盯上了他,跟他開了個不太厚道的玩笑,他卻大驚小怪地斷定這件事絕不可能。可是這人的憔悴倒是叫他大開眼界,仿佛一個程序的異常就是整個世界都塌了——也許只是太傷心了,羅彬瀚在心裡對自己說,也許這個人把自己弄得這麼狼狽是因為事關前女友。

  這個念頭讓他突然對安東尼·肯特多出了幾分同情。他想到的是幾年前的周雨。那段時間他們簡直是草木皆兵,對任何一個看似荒唐至極的線索都不想放過。在某個死氣沉沉的午夜,周雨在客廳里睡著了,他無事可做地走進書房,隨手打開了書櫃最深處那本周妤留下的薩福詩集選,卻在書頁間找到了兩三張密密麻麻的筆記。上頭用周雨的字跡寫著各種各樣的古怪內容,像是人骨或蕁麻之類的,起初他以為這些是什麼冷門的藥方,直到「鬼魂」兩個字出現時,他才意識到事情正往什麼方向發展。他立刻把這幾張紙夾回原位,假裝自己什麼也沒發現,可心裡卻明白他們不能再繼續這樣下去了。也許正是在那一夜,他已經接受了周妤失蹤的現實,並且準備著在之後的某一天讓周雨也接受。

  他真應該當時就有所行動的,但那實在是太難開口了。那是要給一個失蹤的人硬生生釘上棺材板。所以他什麼都沒說,直到周雨因為在浴室里割腕而進了醫院。他確信周雨不是為了自殺,一個醫學生用割腕來自殺實在不是專業素養優秀的表現。羅彬瀚不願意再深入去想這件事了。他嘆了口氣,對自己說難道當時的周雨就比眼前這個安東尼看起來更正常嗎?他一下子就感到沉甸甸的責任落在了自己肩頭,無法把這麼個舉目無親的異國醉鬼丟下走人。

  「你住的賓館在哪兒?」他敲敲安東尼垂落的腦袋,「我把你送回去?」

  安東尼含糊地發了幾個音,根本就聽不懂。羅彬瀚不禁後悔起來,懷疑是自己的出現讓這個缺少傾訴對象的傢伙一時上頭。他要是什麼都不問,沒準這會兒已經到家睡覺了,而不是在櫃檯底下翻來找去,想弄點醒酒藥或乾淨的毛巾。他還在一袋袋標著不同產地與烘焙度的咖啡豆之間到處亂摸,安東尼搖搖晃晃地歪過身子,哇地吐在了地上。一股刺鼻異味瀰漫在室內。

  「你耍我呢?」羅彬瀚惱火地說,不得不從櫃檯前起來,走過去給對方順順氣,免得有人先被嘔吐物噎死。「你最好還是去床上躺著吧。你住的賓館在哪兒?」

  安東尼一時說不上話來,可能還在被那股嘔吐物的味道折磨,只是指了指自己的口袋。羅彬瀚把手伸進去,摸到了一張門禁卡,這時店門處卻有了動靜,兩個吵吵嚷嚷的聲音突然冒了出來。

  「閉嘴!」一個人罵道,「再吵我把你下鍋燉了!」

  受到威脅者不甘示弱地回喊:「MAYDAY!MAYDAY!」

  羅彬瀚不由地扭頭去看。他聽見後一個聲音時已經驚訝得快把安東尼給忘了,而當迎面走來的人看見他時,面上的厭煩也一下子僵住了。他手中提著的鳥籠沒有蓋上紗布,一隻艷麗的虎皮鸚鵡蹲在裡頭,滿臉倨傲地打量著周圍。當它瞧見羅彬瀚時便急不可待地撲扇起翅膀。

  「船長!」它高興地叫著,落下來啄起籠門,「船長!船長!」

  羅彬瀚表面鎮靜地把手從安東尼的口袋裡抽出來。他瞧瞧那個染了一頭花發、手中提著鳥籠的年輕人,又瞧瞧因見到熟人而高興不已的鸚鵡,對自己身處的事態徹底糊塗了起來。