人工魚(yú)也有自己的愛(ài)恨情仇,它們有性格,會(huì)使壞,在天敵面前絕對(duì)不顯擺英雄主義。在實(shí)驗(yàn)室的硬盤(pán)里,它們活得很好。
水草根部,一條金色的燕魚(yú)正大快朵頤。有條雌魚(yú)緩緩游過(guò)來(lái),燕魚(yú)瞥見(jiàn)了,便丟下魚(yú)蟲(chóng),沖過(guò)去搖頭擺尾,大獻(xiàn)殷勤。雌魚(yú)仿佛有點(diǎn)動(dòng)心,開(kāi)始繞著追求者的尾巴轉(zhuǎn)圈。這時(shí),不遠(yuǎn)處出現(xiàn)了鯊魚(yú)的影子,求愛(ài)的燕魚(yú)立刻甩開(kāi)雌魚(yú),頭也不回地逃了。
這段情節(jié)不是發(fā)生在真實(shí)的水域中,而是在北京科技大學(xué)計(jì)算機(jī)系1001 室的12 臺(tái)電腦上。1201室門(mén)口掛著“人工魚(yú)與智能軟件實(shí)驗(yàn)室”的牌子,出門(mén)快走幾分鐘,就是班曉娟的辦公室。隨便打開(kāi)她電腦上幾個(gè)文件夾,里面的內(nèi)容統(tǒng)統(tǒng)跟“人工魚(yú)”有關(guān),用“人工魚(yú)”作關(guān)鍵詞上網(wǎng)一搜,幾乎每條又都鏈接著班曉娟的名字。2001 年,當(dāng)時(shí)31 歲的青年女博士迷上了“人工魚(yú)”,“不是純理論 ,偏向動(dòng)畫(huà),比較適合女孩子。”
“曉媛的魚(yú)”
不只班曉娟有這樣的想法。當(dāng)初在多倫多學(xué)計(jì)算機(jī)的涂曉媛,因?yàn)閷?shí)在受不了Unix 操作系統(tǒng)的枯燥,就帶著智能動(dòng)畫(huà)魚(yú)的想法跑去找導(dǎo)師,要求創(chuàng)立新的研究目標(biāo)。而涂曉媛的父親——盡管他本人的研究不涉及“人工魚(yú)”——中國(guó)人工智能學(xué)會(huì)榮譽(yù)理事長(zhǎng)涂序彥教授,正是之后班曉娟的導(dǎo)師。
1996 年,“曉媛的魚(yú)”(xiaoyuan's fish)完成了。她把動(dòng)畫(huà)魚(yú)的錄像拿給別人看,還真有人以為是在水族館拍的。這時(shí),涂曉媛褪去魚(yú)的色彩,露出骨架,魔術(shù)師般將計(jì)算機(jī)建模的過(guò)程揭秘。人們驚訝:“曉媛的魚(yú)”有23 個(gè)質(zhì)量點(diǎn)、91 個(gè)“彈簧- 阻尼”元件的魚(yú)骨架,和12 個(gè)相當(dāng)于肌肉的可變形單元,難怪能模仿真魚(yú),靈活擺動(dòng)身子。那一年,“曉媛的魚(yú)”奪走了每年只有5 個(gè)名額的“國(guó)際計(jì)算學(xué)會(huì)ACM最佳博士論文獎(jiǎng)”。
“人工魚(yú)”只是人工生命研究的一部分。1987 年,在一個(gè)關(guān)于生命系統(tǒng)合成與模擬的國(guó)際學(xué)術(shù)會(huì)議上,美國(guó)圣塔菲研究所非線性研究組的克里斯#8226; 朗頓(Chris Langton)首先提出了人工生命的概念。他通過(guò)那篇宣言告知世人:“人工生命將最終超越生物學(xué),進(jìn)入一個(gè)我們迄今還不能給它命名的領(lǐng)域,這個(gè)領(lǐng)域?qū)盐幕图夹g(shù)包含在內(nèi)?!?班曉娟說(shuō),國(guó)外對(duì)于人工生命的研究很發(fā)達(dá),歐洲有人工蛇、人工蚯蚓。日本ATR 研究所聚集了很多丹麥、瑞典的專(zhuān)家,他們有一個(gè)觸摸屏式樣的“人工魚(yú)”交互裝置。參觀者進(jìn)來(lái),得到一個(gè)接口,可以畫(huà)出各種奇形怪狀的魚(yú),還能在海洋環(huán)境里添加水草或石頭,看魚(yú)的反應(yīng)。
也許以上對(duì)人工生命的詮釋很容易引人想到另一個(gè)概念——人工智能,無(wú)疑,人們更熟悉戰(zhàn)勝象棋大師的“深藍(lán)”和斯皮爾伯格那部催人淚下的電影。所以可能會(huì)問(wèn):人工生命不是人工智能嗎?按照中國(guó)人工智能學(xué)會(huì)理事長(zhǎng)鐘義信的說(shuō)法,人工生命除了可以模擬生命體智能特征,還可以模擬生命體的非智能特征,而人工智能原則上卻不關(guān)心那些?!爸悄懿皇巧菑?fù)雜生命系統(tǒng)的一個(gè)特例,”班曉娟解釋說(shuō),“比方現(xiàn)在相關(guān)度越來(lái)越高的網(wǎng)絡(luò)搜索引擎,利用的就是人工智能,但顯然,跟生命無(wú)關(guān)?!?/p>
人工魚(yú)的理性生命
“看起來(lái)像”對(duì)“人工魚(yú)”來(lái)說(shuō)還不夠?!叭斯~(yú)”想要真正模擬自然魚(yú),繁衍、進(jìn)化的能力是必須的。
幾年后,班曉娟選擇在中國(guó)的實(shí)驗(yàn)室里繼續(xù)涂曉媛的研究。除了外形酷似,“人工魚(yú)”的習(xí)性、個(gè)性也應(yīng)該更像水里的魚(yú)。對(duì)于真魚(yú),遺傳物質(zhì)是DNA,而“人工魚(yú)”的DNA 則是一段模擬染色體的仿真程序。程序上面排列著21 個(gè)決定了形狀、大小、壽命和習(xí)性等基本性狀的基因,可以按照遺傳法則進(jìn)行遺傳、雜交和變異。以“兩點(diǎn)交叉遺傳”為例,當(dāng)兩條“人工魚(yú)”交配,需要互換兩個(gè)交叉基因點(diǎn)之間的基因值。如果第一個(gè)交叉點(diǎn)選在第一個(gè)基因之后,則第二個(gè)交叉點(diǎn)有19 種不同的選擇;如果第一個(gè)交叉點(diǎn)選在第二個(gè)基因之后,則第二個(gè)交叉點(diǎn)有18 種不同的選擇;以此類(lèi)推,可能有19+18+17+#8943;#8943; +1=190 種不同的遺傳方式。通過(guò)“兩點(diǎn)交叉遺傳”,這兩條“人工魚(yú)”能產(chǎn)生190 種特征不同的子代。
坐在演示平臺(tái)前,設(shè)定參數(shù),操控“人工魚(yú)”的命運(yùn),班曉娟在這里扮演的角色是“造物主”。經(jīng)過(guò)她的演示,人們可以目睹一場(chǎng)“數(shù)字創(chuàng)世紀(jì)”。按下“開(kāi)始”按鍵,礁石、水草附近生成了各色小圓點(diǎn),小圓點(diǎn)漸漸膨脹,幾秒鐘后漸漸有了魚(yú)的形狀,在它們身旁,顯示著“生命值”、“適應(yīng)度”的條框。過(guò)不久,這些魚(yú)就開(kāi)始尋找食物和伴侶。自然狀態(tài)下,博得雌性青睞的雄性魚(yú)一般是鮮艷而健壯的。但在虛擬的魚(yú)群社會(huì),“以貌取魚(yú)”的規(guī)則可以任由“造物主”打破:如果將擇偶喜好設(shè)置為“顏色灰暗的更有吸引力”、“瘦弱的更有吸引力”,幾分鐘后,“人工魚(yú)”種群中就差不多只剩下灰黑色的小瘦魚(yú)了。在這快得驚人的進(jìn)化過(guò)程中,有些魚(yú)只一閃,然后就消失不見(jiàn)了。達(dá)爾文說(shuō):生物進(jìn)化的步調(diào)是漸變式的,而不是躍變式的。而“人工魚(yú)”的動(dòng)畫(huà)演示,竟能讓進(jìn)化“提速”!
當(dāng)“人工魚(yú)”游弋,棲息,嬉戲,覓食,避敵,求偶,繁殖,前方有假山懂得繞開(kāi),鯊魚(yú)游過(guò)來(lái),不會(huì)沖上去想要交配,就已經(jīng)算條合格的魚(yú)了。再仔細(xì)琢磨,還會(huì)發(fā)現(xiàn)它們其實(shí)有更多的心思。
“人工魚(yú)”的理智來(lái)自意圖發(fā)生器。它能將魚(yú)的抉擇事先排序:碰撞可能會(huì)威脅生命,意圖發(fā)生器首先就檢查是否有碰撞危險(xiǎn),如果有,產(chǎn)生躲避意圖;沒(méi)有,就在附近搜索捕食者。要是捕食者的威脅不大,下一步就該考慮饑餓感和性欲了。如果上述測(cè)試未能產(chǎn)生任何意圖,那么意圖發(fā)生器將開(kāi)始處理周?chē)饩€和溫度的信息。若條件符合魚(yú)的習(xí)性,魚(yú)就開(kāi)始閑逛?;剡^(guò)頭去看開(kāi)篇的那條燕魚(yú),多少可以理解它貌似無(wú)情的選擇了。
動(dòng)畫(huà)魚(yú)當(dāng)然不會(huì)無(wú)情無(wú)義!這是迪斯尼公司通過(guò)《海底總動(dòng)員》中那溫情脈脈的水下世界灌輸給人們的觀念。要讓“人工魚(yú)”產(chǎn)生類(lèi)似于人們讀泰戈?duì)柡蟮纳硇姆磻?yīng)當(dāng)然不現(xiàn)實(shí),不過(guò),班曉娟她們還是賦予了它“快樂(lè)”和“恐懼”兩種情感。雌魚(yú)游過(guò)來(lái)它快樂(lè),鯊魚(yú)游過(guò)來(lái)它就恐懼。
游出實(shí)驗(yàn)室
北京科技大學(xué)四年級(jí)的本科生劉冰峰知道學(xué)校里這個(gè)“很牛的”實(shí)驗(yàn)室,也聽(tīng)過(guò)班曉娟的課,但他還是想問(wèn):“這‘人工魚(yú)’有什么用呢?”他曾經(jīng)在同學(xué)博客上見(jiàn)過(guò)類(lèi)似的小程序:一群金魚(yú)在游,鼠標(biāo)點(diǎn)哪兒,哪兒出現(xiàn)幾粒魚(yú)食,金魚(yú)就抱團(tuán)過(guò)去搶。劉冰峰覺(jué)得,國(guó)家自然基金投資的項(xiàng)目,不應(yīng)該只為給草根博客增添情調(diào),吸引點(diǎn)擊量吧。
“‘人工魚(yú)’與其生活的海洋環(huán)境可以作為圖形學(xué)和計(jì)算機(jī)動(dòng)畫(huà)的目標(biāo)課題,也可以作為人工智能算法的平臺(tái),生成的動(dòng)畫(huà)可以為生物學(xué)仿真、海洋可視化、教育、游戲和娛樂(lè)服務(wù)?!币苍S曾遇到過(guò)這樣的疑問(wèn),班曉娟在2007 年出版的《人工魚(yú)》一書(shū)中對(duì)這個(gè)問(wèn)題做了特別的闡述。其實(shí),作為“人工魚(yú)”研究的主導(dǎo)者,班曉娟和學(xué)生們還是更希望它能應(yīng)用在中國(guó)的動(dòng)畫(huà)產(chǎn)業(yè)?!拔覀冄芯康氖莿?dòng)畫(huà)背后的東西。相當(dāng)一出話劇,臺(tái)上演員完成各自的角色,而編劇、導(dǎo)演就是我們的工作”,班曉娟的學(xué)生,北科大信息工程學(xué)院計(jì)算機(jī)系的副教授寧淑榮打了個(gè)比方,她解釋“人工魚(yú)”研究所針對(duì)的,實(shí)際上就是動(dòng)畫(huà)的后臺(tái)。
相當(dāng)于電影膠片上的每一格鏡頭,動(dòng)畫(huà)中的最小單位影像叫作幀。角色運(yùn)動(dòng)或變化中關(guān)鍵動(dòng)作所處的那一幀,又叫“關(guān)鍵幀”。關(guān)鍵幀的確很關(guān)鍵。好比要將小沈陽(yáng)鬼魅的“一睜眼,一閉眼,一天過(guò)去了”形成動(dòng)畫(huà),中間過(guò)渡部分可以由軟件來(lái)創(chuàng)建,但至少兩幀絕不可?。貉劬Ρ犞?,眼睛合上的。這就是所謂關(guān)鍵幀。但關(guān)鍵幀技術(shù)卻有先天不足,比如動(dòng)物不夠逼真,比如角色不能自行同環(huán)境協(xié)調(diào),最主要的是越復(fù)雜的動(dòng)作就對(duì)畫(huà)師的勞動(dòng)量有越高要求。班曉娟設(shè)想,假如動(dòng)畫(huà)角色像“人工魚(yú)”一樣被賦予生命,或許就能幫計(jì)算機(jī)動(dòng)畫(huà)開(kāi)辟一條新路。當(dāng)然,這還需要深入的研究,能找到動(dòng)畫(huà)公司合作將會(huì)更好。
不過(guò)中國(guó)傳媒大學(xué)動(dòng)畫(huà)學(xué)院的老師李平覺(jué)得,目前國(guó)內(nèi)高校和產(chǎn)業(yè)合作研發(fā)還有很多困難:“國(guó)內(nèi)的動(dòng)畫(huà)行業(yè)處在微利和不賺錢(qián)的邊緣,資金和技術(shù)的持續(xù)投入比較有限。國(guó)外電腦動(dòng)畫(huà)技術(shù)已經(jīng)很成熟,國(guó)內(nèi)動(dòng)畫(huà)公司在資金有限的情況下,必定先選擇更可靠的國(guó)外技術(shù),迅速用到實(shí)際生產(chǎn)中以達(dá)到盡快盈利的目標(biāo),而沒(méi)有太多耐心和資金來(lái)和國(guó)內(nèi)高校合作。產(chǎn)學(xué)聯(lián)合研發(fā)是一個(gè)長(zhǎng)周期的過(guò)程,短期內(nèi)很難有大的起色?!笔聦?shí)上,一些動(dòng)畫(huà)公司的人確實(shí)聽(tīng)說(shuō)過(guò)國(guó)內(nèi)有人工生命的研究。以水晶石為例,這家公司曾參與制作《奧運(yùn)福娃漫游記》,是北京奧運(yùn)會(huì)的圖像設(shè)計(jì)服務(wù)供應(yīng)商,公司的技術(shù)總監(jiān)劉飛也認(rèn)為,大學(xué)里的人工生命研究與現(xiàn)有的動(dòng)畫(huà)行業(yè)接合性并不是很強(qiáng),解決的并不是行業(yè)最迫切的問(wèn)題。因此,人工魚(yú)要想游出實(shí)驗(yàn)室的門(mén),可能還要另辟蹊徑,至少,目前它的最佳身份,仍然還是作為人工生命的一個(gè)研究平臺(tái)。