0%
第三章 有心智的機器 3.2 快速、廉價、失控

第三章 有心智的機器

3.2 快速、廉價、失控

成吉思的每條小細腿都在自顧自地工作,和其餘的腿毫無關係。每條腿都通過自己的一組神經元——一個微型處理器——來控制其動作。每條腿只需管好自己!對成吉思來說,走路是一個團隊合作項目,至少有六個小頭腦在工作。它體內其餘更微小的腦力則負責腿與腿之間的通訊。昆蟲學家說這正是螞蟻和蟑螂的解決之道——這些爬行昆蟲的足肢上的神經元負責為該足肢進行思考。
在那裡,布魯克斯開展了一個雄心勃勃的研究生課題項目,研發更接近昆蟲而非恐龍的機器人。第一個誕生的是「阿倫」。他的頭腦保存在旁邊的台式電腦里,因為當時的機器人研發者都這麼做,以獲得值得保存的大腦。阿倫的身體具有視覺、聽覺和觸覺,它所感知到的信號通過幾股線纜傳送到那個盛放大腦的「盒子」里。在這些線纜上會產生太多的電子背景干擾,使布魯克斯和他的團隊倍受困擾,挫折不斷。為解決這一問題,布魯克斯換了一個又一個學生。他們查遍了各種已知的傳播介質,甚至嘗試了業餘無線電、警用對講機、手機等多種替代方案,但無論哪種方案,都無法建立不受靜電干擾又能傳輸豐富多樣信號的連接。最後布魯克斯和學生們都發誓,不管必須把大腦設計得多麼小,下一個項目非把大腦中樞整合到機器人體內不可——這樣就再也用不著那些惹麻煩的線纜了。
無目地漫遊
布魯克斯為機器人設計的分散式控制結構後來被稱作「包容架構」,因為更高層級的行為希九九藏書望起主導作用時,需要包容較低層次的行為。
布魯克斯的設想在一個叫「成吉思」的機巧裝置上成形。成吉思有橄欖球大小,象只蟑螂似的。布魯克斯把他的精簡理念發揮到了極致。小成吉思有6條腿卻沒有一丁點兒可以稱為「腦」的東西。所有12個電機和21個感測器分佈在沒有中央處理器的可解耦網路上。然而這12個充當肌肉的電機和21個感測器之間的交互作用居然產生了令人驚嘆的複雜性和類似生命體的行為。
沒有所謂的中央控制器來指導身體把腳放在哪裡,或者跨過障礙時要把腿抬多高。實際上,每條腿都有權做些簡單動作,而且每條腿都能獨立判斷在不同環境下該如何行事。舉例來說,一個基本動作的意識是,「如果我是腿而且抬起來了,那麼我要落下去」,而另一個基本動作的意識可描述為,「如果我是腿在向前動,得讓那五個傢伙稍微拖后一點」。這些意識獨立存在且隨時待機,一旦感知的先決條件成立就會觸發。接下來,要想開步行走,只需按順序抬起腿(這是唯一可能需要中央控制的地方)。一條腿一抬起來就會自動向前擺動,然後落下。而向前擺動的動作會觸動其餘的腿略微向後挪動一點。由於那些腿正好接地,身體就向前移動了。
在機器蟑螂成吉思身上,行走通過12個馬達的集體行為而完成。每條腿上兩個馬達的起落,取決於周圍幾條腿在做什麼動作。如果他們抬起落下的次序正確的話——那麼,起步!一、二、一,一、二、一!——就「走起來」了。
更進一步說,系統的各個部分(部門、科員、規則、行為方式)都在不出差錯地發揮作用——猶如各自獨立的系統read.99csw•com。「避免碰觸部門」自顧自地工作,不管「拿罐子部門」在不在做事。「拿罐子部門」同樣干自己的工作,不管「避免碰觸部門」在不在做事。青蛙的頭即便掉下來了,它的腿還會抽跳,就是這個道理。
探索世界
這個荒唐的、「撞大運」的回收系統效率極其低下。但夜復一夜,在沒有什麼其他事好做的情況下,這個傻乎乎卻很可靠的拾荒者居然搜集到數量可觀的鋁罐子。
如果在原有的正常工作的搜集癖好機上添加一些新的行為方式,就能發展出更複雜的系統。複雜性就是這樣依靠疊加而不是改變其基本結構而累積起來的。最底層的行為並不會被擾亂。無目的漫遊模塊一旦被調試好,並且運轉良好,就永遠不會被改變。就算這個無目的漫遊模塊妨礙了新的高級行為,其所應用的規則也只是會被抑制,而非被刪除。代碼是永遠不變的,只是被忽略了而已。多麼官僚卻又多麼生物化的一種方式啊!
布魯克斯移動機器人實驗室的研究生們製作了一個拾荒機器人,他們開心地稱它為「搜集癖好機」——一到晚上,它就在實驗室里四處搜集空飲料罐。它的無目的漫遊部門讓它在每個房間里晃來盪去;避免碰觸部門則保證它在漫遊的時候不會磕碰上傢具。
在碰到障礙物的時候,負責無目的漫遊的部門不會大驚小怪,因為負責避免碰觸物體的部門早已對此應對自如了。
構造內在地圖
搜集癖好機整晚地閑逛,直到它的攝像頭偵測到桌子上一個飲料罐形狀的物體。信號觸動移動機器人的輪子,將其推進到飲料罐正前方。搜集癖好機的胳膊並不需要等待中樞大腦(它也沒腦子)發出指令,就能夠通過周圍九九藏書環境「了解」自己所處的位置。它的胳膊上連有傳遞信號的導線,以便胳膊能夠「看」到輪子。如果它察覺,「咦,我的輪子停下了」,它就知道,「我前面肯定有個飲料罐」。於是,它伸出胳膊去拿罐子。如果罐子比空罐子重,就留在桌子上;如果和空罐子一樣輕,就拿走。機器人手拿著空罐子繼續無目的地漫遊(因為有避免碰觸部門的幫助,它不會撞牆或磕到傢具),直到偶遇一隻回收筒。這時,輪子就在回收桶前停下。傻乎乎的胳膊會「查看」自己的手是否拿著罐子,是,就會扔進回收筒。如果不是,就再次在辦公室里四處漫遊,直到發現下一個罐子為止。
當你的朋友告訴你走哪條路去他家的時候,絕不會順便告誡你「千萬別撞車」,即便你確實必須遵守此訓誡。他們不需要就那個低層次的目標和你溝通,因為你熟練的駕車技術早已保證那個目標會輕易實現。而走哪條路去他家就屬於高層次的活動了。
動物(在進化過程中)的學習方式與此類似。布魯克斯的移動機器人亦是如此。它們通過建立行為層級來學會穿越複雜的世界,其順序大致如下:
羅德尼·布魯克斯在澳大利亞長大成人。和別的男孩一樣,他喜歡讀科幻小說,喜歡做玩具機器人。他養成了反過來看事物的習慣,總是愛逆習常的觀念行事。他不斷進出全美各大頂尖機器人研發實驗室,追尋關於機器人的奇思異想,最後接受了麻省理工學院移動機器人研究項目負責人的終身職位。
規劃旅行方案
你從鄉鎮開始。先解決鄉鎮的後勤:基本工作包括整修街道、敷設水電管道、提供照明,還要制定律法。當你有了一些運轉良好的鄉鎮,就可以設立郡縣。在保證鄉read•99csw•com鎮正常運作的基礎上,你在郡縣的範圍內設立法院、監獄和學校,在鄉鎮的層級之上增加了一層複雜度。就算郡縣的機構消失了,也不會影響鄉鎮照常運轉。郡縣數量多了,就可以添加州的層級。州負責收稅,同時允許郡縣繼續行使其絕大部分的職權。沒有州,鄉鎮也能維持下去,雖然可能不再那麼有效率或那麼複雜。當州的數量多了,就可以添加聯邦政府。通過對州的行為做出限制並承載其層面之上的組織工作,聯邦層級包容了州的一些活動。即使聯邦政府消失了,千百個鄉鎮仍會繼續做自己的地方工作——整修街道、敷設水電管道、提供照明。但是當鄉鎮工作被州所包容,並最終被聯邦所包容時,這些鄉鎮工作就會顯示出更強大的功效。被這套包容架構所組織起來的鄉鎮不但能夠建造樓房,還可以設立教育體系,制定規則,而且會比原來更繁榮。美國政府的聯邦結構就是一個包容架構。
成吉思在學會爬過障礙物的同時,其基本的行走模式卻未受到絲毫擾亂。布魯克斯藉此闡釋了一個普適的生物原則——一個神律:當某個系統能夠正常運轉時,不要擾亂它;要以它為基層來構建。在自然體系中,改良就是在現存的調試好的系統上「打補丁」。原先的層級繼續運作,甚至不會注意到(或不必注意到)其上還有新的層級。
如果把國家看成一台機器,你可以用包容架構來這麼建造:
「快速、廉價、失控」的口號最早出現在會展中工程師的胸牌上,後來羅德尼·布魯克斯將之用於自己那篇引起轟動的論文的標題中。新的邏輯帶來對機器全然不同的新視角。移動機器人群體中並沒有控制中心。他們分散在時空里,正如一個民族穿越了九-九-藏-書歷史和大陸。大量地製造這些機器人吧,別把它們看得過於珍貴。
注意環境變化
預見變化並相應修正方案
布魯克斯在他的一篇論文里首先闡述了怎樣使創造物「無知無覺」地走路的方法:
因此,在製作后兩個機器人「湯姆」和「傑瑞」時,他們被迫只使用非常簡單的邏輯步驟以及短且簡單的連接。出乎意料的是,在完成簡單任務時,這種簡陋的自帶神經電路居然比大腦表現得更好。這個不大不小的收穫促使布魯克斯重新審視棄兒「阿倫」。他後來回憶道,「事實證明,阿倫的頭腦真沒起什麼作用。」
避免碰觸物體
這個精巧的裝置上沒有任何一部分是掌管走路的。無需藉助高級的中央控制器,控制會從底層逐漸匯聚起來。布魯克斯稱之為「自底向上的控制」。自底向上的行走,自底向上的機敏。如果折斷蟑螂的一肢,它會馬上調整步態用餘下的五肢爬行,一步不亂。這樣的轉換不是斷肢后重新學習來的;這是即時的自我重組。如果你弄廢了成吉思的一條腿,還能走的其餘五條腿會重新編組走路,就如同蟑螂一樣,輕易地找到新的步態。
一旦機器生物能在平滑表面穩步前行了,就可以增添一些其他動作使它走得更好。要讓成吉思翻越橫亘在地板上的電話簿,需要安裝一對觸鬚,用來把地面上的信息傳遞迴第一組腿。來自觸鬚的信號可以抑制電機的動作。此規則可能是,「如果你感覺到什麼,我就停下;不然我還接著走。」
這次精簡讓布魯克斯嘗到了甜頭,並促使他繼續探索,看看機器人能傻到什麼程度但仍能做些有用的工作。最終,他得到了一種基於反射的智能。具有這種智能的機器人不比螞蟻更聰明,但它們和螞蟻一樣能給人以啟迪。