深度學習在近年的進展又一次點燃了各界對人工神經網絡的熱情。這一技術在圖像識別、語音識別、棋類游戲等領域的成效出人意料,而且更多應用領域也正在被開拓出來。“深度學習是否有效”已經不是問題,現在的問題是在哪些問題上有效,尤其是這條研究路線是否是達到通用智能的最佳途徑。我在前面幾篇短文中涉及到了這個話題,但均未展開談。關于人工神經網絡的工作原理和這項研究的歷史沉浮,有關介紹已有很多,這里不再重復。主要想討論幾個被普遍忽視或誤解的概念問題。
此網絡非彼網絡
在實現“像人一樣的智能”的諸多可能途徑中,人工神經網絡似乎具有天然的合理性和說服力。我們都知道人的智能來自人腦,而人腦是個神經網絡,不是嗎?
當然沒這么簡單。所謂“人工神經網絡”和人腦中的“神經網絡”只有非常有限的共同點,而不同點則要多得多。我們不能僅僅因為它們名稱上的相似性就斷定它們會有相同的功能。
深度神經網絡:
這類網絡由若干層組成,每層中的人工神經元與相鄰層中的神經元相連接。網絡中的底層接受輸入信號,頂層生成輸出信號,中間層將下層的輸出值做加權求和后經一個“激活函數”產生成本層輸出值,以供上層之用。這樣,每層將一個“向量”(即一串數值)變成另一個向量,而整個網絡則代表了一個從輸入層到輸出層的“向量函數”。這里的輸入可以是各種感知信號,中間層代表信號的概括和抽象,而輸出則代表系統的認知結果或應對行為。
說這種系統能“學習”,是指在構建網絡時,設計者只需選定神經元模型(如激活函數的公式)和網絡結構(如一共幾層,每層多少神經元)等,而將各個連接上的權值作為待定“參數”。在網絡的“訓練”過程中,一個“學習算法”根據已知數據對這些參數反復進行調整,直到整個網絡達到某種預定的標準為止。這時我們就說這個網絡“學會了”如何識別、區分或應對這種輸入信號。如我在《機器是如何被騙并騙人的?》中所解釋的,這種網絡就是個通用函數擬合器。
這種網絡結構在三十年前就已經以“PDP模型”的名稱廣為流傳了,只是那時的網絡一般只有一個中間層。“深度學習”的貢獻就是增加其“深度”,即中間層的數量。更多的中間層使得系統的行為更復雜,這是顯而易見的,但以前無法有效的訓練這種系統。深度神經網絡成功的原因公認有三個:(1)大量的訓練數據(否則無法確定那么多參數),(2)改進了的學習算法(否則無法有效利用這些數據),(3)強有力的硬件支持(否則無法足夠快地完成計算)。
這種人工神經網絡的確是從人腦得到了靈感,但并不是以嚴格模擬后者為目標的。首先,人工神經元忽略了人腦神經元的很多重要特征,比如說激活的時間模式等。其次,人腦中的神經元有很多種,互相的連接方式也遠比上述模型中的要復雜。最后,人腦的學習過程不是通過反復調整權值而“收斂”于一個特定的輸入輸出關系的,所以不能被簡化為函數擬合。
當然,前面提到的人工神經網絡只是現有諸多模型之一,其它模型在某些方面可能更像人腦一些。盡管如此,目前的各種人工神經網絡和人腦中的神經網絡仍有巨大差別。僅僅因為一個計算機中用了這樣一個網絡,就期待它能像人腦一樣工作,這未免太天真了。實際上這種網絡的設計者主要關心的是其實用性,并非是否像人腦。
智能難以一“網”打盡
試圖嚴格模擬人的神經網絡的另有人在,只不過他們的目的主要不是為了實現人工智能,而只是想了解人腦的工作過程。有些研究者已經把“全腦仿真”(whole pain emulation)作為目標了。這項工作當然是很有意義的,因為“模擬”是我們認識一個對象或過程的有效手段。一般說來,只要我們能精確地描述一個過程,我們就可能編寫計算機程序來模擬它。但即使我們真能精確地模擬人腦中神經網絡的工作過程,這也離完整地實現人類智能有相當遠的距離。
首先,人腦不僅僅是個對電信號進行處理的神經網絡。比如說神經遞質在神經元之間擔當了“信使”的作用,而其中的活動是化學過程。甚至人腦中的生物過程和物理過程都可能對思維產生影響,比如腦供血不足和劇烈運動后的眩暈現象。
即使在理論上說人腦中的上述過程也都能模擬,這事也還沒有完。近年來認知科學越來越強調軀體在思維中的作用(所謂“embodied cognition”,即“具身認知”),就是說大腦之外的軀體部分(如外周神經系統、感覺器官、運動器官等等)也在思維活動中扮演著不可或缺的角色。比如說,很多抽象概念的意義都是基于軀體活動的(如“接受”批評、“推動”發展、“提高”覺悟等),那么要完整理解這些概念,一個系統大概也需要真能“接”、“推”、“提”才行。
“模擬派”的追隨者可能會說人體也是可以用軟硬件模擬的。這“在原則上”自然是正確的,但如果神經網絡之外的部分對實現智能是必須的,那么單靠人工神經網絡來完整再現智能大概就是不可能的了。為實現“像人一樣的智能”,我們需要的不再是“人工神經網絡”,而是包括這樣一個網絡的“人造人”。
就算一個“人造人”被制成了,它大概也不會是所有人心目中的“人工智能”。對那些以“圖靈測試”為智能標準的人而言,“智能”意味著在外部行為上和人不可區分。大部分人都同意完全靠預先設計所有可能的答案來通過這個測試是不大現實的,而通過“學習”才有希望。但這就意味著只有類人的軀體還不夠,系統還需要類人的經驗。這就不再僅僅是個技術問題了。因為我們的經驗中的很大一部分是社會經驗,只有當人造人完全被當作人來對待時,它才能得到人類經驗,進而獲得人類行為。而這將會在倫理、法律、政治、社會等領域造成大量問題。
“忠實復制”不是好主意
上面討論的是用人工神經網絡實現像人一樣的通用智能的可能性,其結論是:遠沒有看上去那么有希望,盡管不是完全不可能。但這條路線比可能性更大的問題是其合理性和必要性。
人工智能的基本理論預設是把人類智能看作“智能”的一種形式,而試圖在計算機中實現其另一種形式。根據這個看法,“人工智能”和“人類智能”不是在細節上完全一樣,而是在某個抽象描述中體現著同一個“智能”。如果智能所需的某個機制在計算機里有更好的實現方式,那我們沒必要用人腦的辦法。這方面的一個例子就是四則運算。
當我們為一個對象或過程建立模型時,我們總是希望這個模型越簡單越好。只有當我們可以在忽略了大量細節的情況下仍然可以準確地刻畫一個過程,我們才算是真正理解了它。因此,如果最后發現我們只有在嚴格復制人腦、人體及人類經驗的情況下才能再現智能,那么人工智能應當算是失敗了,而非成功了,因為這說明智能只有一種存在方式,而“智能”和“人類智能”其實是一回事。
出于這種考慮,很多人工智能研究者有意識地和人腦的細節保持距離。在從人腦的工作方式中得到靈感的同時,他們會考慮在計算機里是否有更簡單的辦法來實現同樣的功能。計算機畢竟不是個生物體,所以沒必要模仿人腦的那些純生物特征。同理,對深度神經網絡的研究者來說,他們的網絡在某些方面不像人腦,這不是個問題,只要這種差別不帶來功能缺失就行。
這個問題是所有走“仿生”路線的技術都要面對的,包括近來大熱的“類腦智能”、“類腦計算”等。在有關討論中,一些人只是強調“像人腦那樣”的可能的好處,但完全不提這種模仿的限度。只有當我們能清楚地說明哪些東西不用模仿時,我們才算真正說清了哪些東西需要模仿。只是說“人腦是這樣的”尚不能成為“計算機也必須這樣”的充分理由。
這里一個常被提到的例子就是飛機和鳥的關系。飛機的初始設計的確借鑒了鳥類,但顯然不是越像鳥越好。這里自然有可能性的考慮,但更重要的是要飛機完全像鳥既不合理也無必要。我們當前的課題也同樣。嚴格說來,“人工神經網絡”、“人工大腦”、“人造人”和“人工智能”各是不同的研究目標,各有各的價值和意義。盡管它們之間有聯系,仍然不能混為一談,因為設計目標和最佳實現方法均不同。
如何“取長補短”
在人工智能歷史上,以神經網絡為代表的“聯結主義”和以推理系統為代表的“符號主義”已經競爭了多年,彼此地位的消長也經歷了幾次反轉了,這有點像光的“粒子說”與“波動說”的斗爭史。時至今日,大部分人都會承認這兩個傳統各有長處和短處。在這種情形下,把二者結合起來就是個自然的想法了。
問題是怎么“結合”。一個常見的辦法是把兩個基于不同傳統的子系統整合在一起,讓它們各自完成自己擅長的工作,并彼此協作來完成整個任務。盡管具體做法不同,在這個方向上的探索成果已經不少了。
方案是把這兩個傳統以一種更密切的方式統一起來。認為聯結主義的哲學假定更正確,但技術手段太單一;與其相反,符號主義的技術手段更豐富,但哲學假定陳舊呆板。其結果就是我的“納思”在理論預設和宏觀戰略上更接近于聯結主義傳統,如假定知識和資源不足,容忍多種不確定性,通過學習獲得領域知識和技能等;而納思在描述框架和微觀戰術上更接近于符號主義傳統,如用語言表達知識,靠概念組織經驗,依邏輯進行推理等。納思不是把這兩個傳統“嫁接”在一起,而是把它們“雜交”成了一個全新的“神經(網絡式的)邏輯”。
納思也可以被看成一個網絡,但它和人腦的相似性不是在神經元層面上,而是在概念層面上。這個網絡的運行方式和現有的人工神經網絡根本不同,盡管其中的概念關系也支持多層抽象。那樣的話,納思到底是個邏輯還是個網絡呢?都是。對象只有一個,但對它的描述可以使用不同的術語,以捕捉其不同的側面。這和光的波-粒二相性不乏類似之處。
總而言之,我不認為深度神經網絡會產生通用智能,或是通向這一目標的有效途徑,盡管這種技術有巨大實用價值,并可以為通用智能的研究貢獻想法。
評論
查看更多