人工智慧(以下簡稱AI)的創造力建模和機器實現研究一躍成為熱門話題,各種有創意的軟體層出不窮,其突出成就體現為會寫學術論文和能打敗世界圍棋冠軍的軟體,能創作小說、繪畫之類作品的多層次人工系統等。基礎理論研究也成就卓著,誕生了足以填補AI空白的新生事物-「計算創造力」。它有兩個指稱,一是指由人工系統所實現的創造力或AI創造力;二是指專門研究如何讓人工系統表現創造力的、融理論探討與工程實踐於一體的AI分支領域。
開創有中國氣派的計算創造力AI分支,除了要全面深入研究國外計算創造力建設的成功經驗、完成「補課任務」之外,還應彎道超車,直接切入其前沿陣地,著力研究前提性、前瞻性基礎理論問題,聚焦在其中的心靈-認知哲學問題,如創造力建模的原型實例問題、電腦實現創造力的可能性問題、軟體工程的「接地」與「真實性缺失難題」等。
創造力的祛魅與計算化:計算創造力的樣板考量
AI讓電腦實現創造力,就是把人類或非人類的創造力當作樣板或「原型實例」來建模。而要如此,當然得優先回答前提性心靈-認知哲學問題,如創造力本身究竟是什麼,有無不同於思維等認知能力的獨立的創造力,它本身的結構、本質和秘密是否能向人類認知開放?麻煩在於,傳統的創新觀即使不是全部,至少有一部分是計算創造力研究的攔路虎,如根據傳統的浪漫主義和神秘主義的創新觀,創造力本身是一種謎或神秘性,甚或是一種悖論。即使世上有創造力發生,那也是繆斯諸神獨有的品質。
要清除創造力運算建模的上述屏障,無疑要設法讓創造力進入AI科學基礎研究的中心,為之祛魅,消除其神秘性,把創造力從認知高不可攀的神壇上拉下來,使其回歸為自然界的一種客觀的過程或力量。世界上所謂的神秘性、謎團都是相對於人已有的認知而言的。過去沒有認識清楚的東西就是謎,就充滿神秘性,如天上的打雷在科學不發達的時代就被認為是神秘莫測的力量,隨著物理學的發展,它被祛魅了,進而回歸它本來的自然現象的地位。創造力也是如此。
創造力之所以不神秘,之所以能為機器建模,從內在方面說,就是因為它依賴的是我們平常的認知能力,如思考、想像、聯想、類比等。它們以一定的方式集合在一起,就有創新現象的突現。用科學的語言說,創造力的發揮是由分佈式皮層網絡決定的,其現實顯現不取決於單一的大腦區域;創造力的神經基礎隨任務需求及其形式的變化而變化;多數創新任務的完成都與預設模式網路和執行控製網路的動態耦合有關。預設模式網路的活化反映的是來自長期記憶的想法或資訊的自發性生成,而執行控制網路的活化反映的是約束思考完成特定目標任務的過程。因此創造力是自然現象,可以得到計算建模和機器實現。就創造力最倚重的發散性思考而言,它們是由節點的活化所構成。如果這些節點非常固定地連結起來了,那麼它們就表現為常規的心理現象。人有發散性思維,不外是出現了微弱的、間接的連接,進而喚醒系統用非特異性活化來撞擊大腦皮質。結果人的精神生活中就表現出常見的靈光乍現之類的現象。
就最具認知封閉性、被視為心智奇蹟的靈感、頓悟之類而言,只要人類認知有辦法走進去,它的神秘性就會慢慢消散。它的所謂神秘不過是作為解決問題的方式不同於標準的分析問題的方式。後一類方式的特點在於,承認所要解決的問題易於用語言表達出來,這類問題可用直接的、邏輯的方式來加以解決。實驗證明,當受試者面對能用邏輯方式解決的問題時,他們就會用語言來報告他們解決問題的循序漸進的步驟。而適合用靈感等方法解決的問題則不同,被試不大可能用邏輯的論證來解決問題,在這種情況下,解決問題的過程就會表現出不可言說的特點。儘管如此,這樣的借助靈感解決問題的過程同樣是由生物的大腦完成的,裡面不會有超自然的力量,仍是可為科學說明的自然過程,如有關信息以特定方法被編碼和加工的過程。
讓機器實現創造力,對創造力作出計算化也是必要條件。所謂計算化,就是為概念提供操作定義,或把創造力翻譯成能在人工系統上實現的屬性,用計算術語重新表述創造力及其構成,揭示它所具有的形式或符號轉化的本質特徵。計算化也可理解為以計算術語對有關概念作形式化處理。形式化的方式多種多樣,如代數形式化、邏輯形式化等。為滿足形式化的要求,已誕生了像代數符號學這樣的研究。它試圖從邏輯上將符號、符號系統及其映射的結構形式化。隨著計算創造力探討的深入,已誕生了許多有理論依據和實用價值的創造力計算化方案,如認知方案、程序方案、情境主義方案、計算主義方案等。根據計算主義方案,將創造力計算化,就是要用概念空間、啟發式、搜尋等計算術語去說明創造力,去重構創造力觀念,例如將創新能力的諸組成、諸機制形式化於機器之中。只有做了這樣的工作,機器才能實現這些形式化或其中的一部分,進而完成創新任務。
創造力ai建模如何可能:計算創造力的機制探究
計算創造力基礎理論建構的另一個工程是化解懷疑論的質疑,即電腦和創造力風馬牛不相及,因為創造力是人類心靈的奇蹟,是最能體現人的本質特徵的東西,而電腦是按程式運行的,所做的事情都是程式設計師安排好了的事情,其特點是被程式設計。被編程是自主性的對立面,而自主性是創造力的必然特徵。計算機即使能表現所謂的創造力,也只應歸功於程式設計師。程式中的指令、規則決定了電腦的所有可能表現,這些是無法超越的。
但只要作與時俱進的研究,就會發現,上述認知是基於對程序狹隘而陳舊的理解而形成的。根據程序的新研究,上述看法的問題在於沒有看到程序包含規則本身的變化,即程序中包含規定怎麼變化的規則,能被嵌入隨情境變化而變化的“活算法”甚或有創造力的演算法.再者,程式被內嵌了能學習的演算法,會對來自環境的沒有預料到的輸入作出反應。重要的是,它還包含遺傳演算法,這種演算法能對程式面向任務的規則作出隨機更改。這些變化類似於促成生物演化的點突變和交叉。許多進化程序也包含適應度函數,它能從每個新一代任務程序的成員中挑選出最好的成員,作為下一輪隨機按規則變化的「父母」。當沒有適應度函數時,這樣的選擇由人來做,而有了這樣的函數,機器就可以「自己」做了。這意味著,機器由於程式概念的改變而有了特定意義的自主性和創造力,也能產生符合人類創造力兩個標準(即新穎性和有用性)的輸出。以進化編程為例,它可以導致初步的轉型性人工智慧,即讓機器有轉型性創造力,如有的程式生成的圖像完全不同於原來的圖像,即是新的和有用的圖像。之所以如此,是因為遺傳演算法不僅允許單一的被編程的指令內的點突變,如改變一個數字,而且允許整個影像生成程式的連續和分層的嵌套。
由於AI建模和實現創造力如何可能既是一個理論問題,又是一個實踐問題,且後一方面更根本、更關鍵,因此,我們既可雙管齊下,同時從理論和實踐上探討人工系統表現創造力如何可能問題,又可將重點放在工程實務的攻關之上。事實上,AI採取了邊討論邊實踐的策略,並把重點放在如何設計有更大創新能力的人工系統之上,已取得了大量舉世矚目的成果,如前述的會撰寫創新性論文和創作文藝作品的軟體,能對最難預測的蛋白質結構作出遠超人類科學家的最準確預測的AlphaFold等。既然如此,現在似乎沒有必要再在創造力是否可能這個問題上浪費人類的寶貴精力。事實上,計算創造力研究已然有這樣的前進方式,即拋開「是否可能」等宏大理論問題,而在解剖具體的創造力形式的基礎上,做一些具體、細小的讓人工系統實現創造力的工作。
軟體工程創新:計算創造力的技術關鍵
軟體工程就是將系統化的、嚴格約束的、可量化的方法應用於軟體的開發、運作和維護等工程技術研究和實踐的過程。在計算創造力研究中,軟體工程既是其主要驅力,也可說是其主要工作,例如在所從事的應用領域(繪畫、遊戲、科學發現等)研究、設計、編寫有創意的軟體。用哲學術語說,它是名副其實的“牛鼻子”,因為不管為創造力做多少祛魅、計算化和模型建構工作,最終都要通過軟體來落實和實現。
應承認,剛開始由於人們對軟體的本質和作用持這樣的理解,即設計軟體不過就是編寫程式碼和演算法,因此計算創造力中出現的軟體多數成了實現目的的手段。如果認識和實踐停留在這個水平,那麼計算創造力的創造創造力的理想就無法變成現實。基於從創新軟體的角度對軟體工程的認真反思和研究,人們對目標作了這樣的調整,即讓軟體生成的程式碼和演算法同時成為一種創新成果,讓軟體成為有創意的軟體產生器,它的一個作用是向世界提出問題,而不僅僅是解決問題。要如此,就要改變方法論。基於這樣的認知,計算創造力程式設計中的程式碼就不像在別的地方那樣只是一種工具,而是能像科學或藝術中的成果或過程一樣,即這樣的程式碼也有自己的生命,可以被研究、修改,可應用於不可預見的領域中,可受到文化的推崇,等等。依照這樣的理念去設計和研發軟體,就不僅是在從事工程技術工作,而同時是在進行具有哲學意義的創造力探討,其表現是,這裡一定會重思創造力的本質等哲學問題。根據新的研究,創造力的功能不只在於解決問題,更重要的是向世界提出問題,或將世界問題化。所謂問題化是指,所產生的程式碼暴露了這樣的機會,即要么有助於透過問題解決更好地理解世界,例如暴露一種意外的異常或關於資料集的假設,要么將程式碼應用於變化之中以改變世界。
軟體工程的關鍵工作是編程,因為電腦表現創造力是透過程式實現的。具言之,要讓機器表現創造力,除了要研究創造力、讓其計算化以便實現於程序之外,還要探討程序的承受能力問題,如程序與創造力是何關係,能否實現創造力,能實現到何種程度,等等。正是看到這一點,許多計算創造力研究專家便實踐這樣的工程學進路,即先研究程序的承受能力和本質,再據此對創造力作計算化說明,解決具體的工程實現問題。
「真實性缺失難題」及其化解:計算創造力的「接地」建模
冷靜反思已有的計算創造力軟體和程式設計研究工作,哲學家和一些關注基礎理論工作的AI專家都承認,已有的模擬了各種智能現象的軟體都有“真實性缺失(lack)難題” 。這問題其實是塞爾等人所說的「意向性缺失難題」在計算創造力建模中的表現。只要考察就會發現,人類所表現的創造力有兩種情況:一是系統真實地實現了創造力,如該系統要么是創新的真正合作者,要么是能獨立創新的自主體;二是被評價為、被解釋為有創造力,即有表面上的創造力。根據關於創造力的內在主義的觀點,已有的有創造力的軟體只是被評價為有創造力,而非真的有創造力,此即真實創造力的缺失問題。
要讓計算系統真的有創造力,首先應弄清楚人類創造力中的真實性,如說他們真的有創造力是什麼意思?創造力的真實性的標準、表現是什麼?人的創造力之所以是真實的,除了真的是由人的目的、動機、力量決定並可隨時予以調節之外,它還鑲嵌、滲透在人類文化之中,與之融為一體,既受文化的製約、影響,又服務文化。 「真實性」的範圍還可以擴大到生活的許多方面,如對自己經驗、經歷的描述是不是真的。再者,要讓人工創新系統有真實的創造力,出路之一無疑是研究人的創造力具有真實性的根源和條件。只要解析,就能發現人及其創造力之所以真實,是因為人及其創造力有「接地」(grounding)的特點,即生活於、具體化於他們的世界中,如海德格所說,人是在世存在。反觀運算系統,它的創造力之所以不真實,是因為它不接地,沒有生活基礎。因此要解決真實性問題,關鍵是解決計算創造力軟體的「接地」問題,即應在設計真的有創造力的軟體時,讓它有自己的生活世界,讓它嵌入、具體化於它的世界之中。其實,計算創造力研究專家已在著手解決這個問題,「情境主義計算創造力」構想就是其正面成果。當然,要解決真實性缺失問題,具體的工程技術研究也是其必要條件。這裡關鍵是解決如何自動產生程式碼的問題。要實現這個願景,必須堅持兩個原則:第一,應將世界問題化;第二,創建程序應被視為有自己權利的工作,而不只是達到目的的手段。透過這種方式,程式碼自動產生就可為最前沿的計算創造力技術提供一個合適的試驗場地。在這裡,對話性生成技術的作用也很重要,因為只有透過它,才能讓使用者相信所產生的程式碼產品是有用的,進而解決相關的哲學問題,如計算系統如何可能具有自主性、意向性等。