2016年4月4日 星期一

休士頓聖母領報大教堂-NASA太空中心與人工智慧電腦



教堂的故事一定要由教堂開始。休士頓有大約250萬人口,周圍地區約有超過五百萬的人口,是美國第四大都會,但相對東、西岸的大都會,他是個非常年輕的都市。德州的發展一直到1830年才有一個雛形,一些東岸的商人來到這塊美國的處女地,複製一些東岸的成功經驗。1836年,來自紐約房地產仲介艾倫兄弟(John Kirby Allen和Augustus Chapman Allen)以9428美元購買了6,642英畝(27平方公里)的土地,進行造鎮計劃,這就是現今休士頓的市中心。

當時德克薩斯共和國剛剛成立(Taxes Republic,美國是一個聯邦,其實是由五十一個共和國(Republic)所組成,所以台灣加入美國聯邦也不是不可能的事)。艾倫兄弟是精明的生意人,首先他將此地命名為Sam Houston,Sam Houston是德州的民族英雄,率領民兵打贏墨西哥而讓德州獨立,並成為當時的總統。然後便輕而易舉地說服德州議會,把Houston作為德州的州政府所在地。但沒有幾天,當地便爆發了黃熱病,大約12%的人口死亡,德州州政府這時便遷往Austin (1839年1月14日),但休士頓這個小鎮已經有些名氣。

1860年之後由於港口與鐵路的修建,休士頓成為德州棉花的出海口。

1866年由於休士頓人口越來越多,教堂不敷使用,教區的主教Claude M. Dubuis認為需要一個比較大教堂,於是用兩千美元買下位於市區的教堂現址,開始興建,並命名為”聖母領報教堂(The Church of The Annunciation)”。主教請神父Joseph Querat領導新教堂,並逐年擴建。到了1884年,大體上完成了目前所見的教堂建築。

聖母領報教堂是休士頓歷史第二悠久的教堂,擁有哥德式的風格,琉璃瓦砌成的美麗窗戶,在自然陽光下,呈現出宗教的故事。






         

 

歷經了一百五十年,教堂見證了休士頓的發展。1970年代石油危機之後,受惠於墨西哥灣沿海石油工業的蓬勃發展,休士頓的經濟開始起飛。而1961年NASA在此建立「休士頓太空中心」(1973年為紀念美國太空計畫的重要推手總統詹森,而改名為「詹森太空中心」),更讓這兒享有太空城的美譽。

教堂的對面,就是美國職棒(MLB)太空人隊的主要球場,而不遠則是職籃NBA火箭隊的主場,而看完教堂後,一定要去的景點就是位於休士頓東邊的郊區的太空中心(即詹森太空中心)。

太空人隊的主場
這裡要稍微解釋一下,美國發射太空船的地方,叫做甘迺迪太空中心,它位於福羅里達州距離奧蘭多約兩百公里遠的卡拉維爾角太空港(The SPACE PORT of USA)。太空船發射升空,離開大氣層,進入地球軌道之後,才交由休士頓太空中心的地面控制站來管制。

休士頓太空中心的大門
身為太空迷,也是來到這裡參觀,才知道美國的太空計畫,基本上分為三個步驟發展的: 

登陸月球: 目標單純,就把人送去月球看看。但當時美國人還沒去過太空呢,於是先執行把單人送到到太空再接回來的水星計畫。而後是兩個人送上太空的雙子星計畫。之後便是搭載三位太空人,真接登路月球的阿波羅計畫。

水星計畫
雙子星計畫
登陸月球火箭全景
登月主任務艙

登月主任務艙

 

 



任務指揮艙

登月小艇

農神五號火箭的主引擎

國際太空站: 登月成功後,下一步自然是到更遠的星星去,但這時需要一個更大的太空船,這沒辦法直接由地球發射,於是計畫是建立一個太空基地,作為遠征其他行星的出發點。為了能方便的建造與補給國際太空站,美國便設計了太空梭。這計畫花費龐大,所以也聯合了俄羅斯、歐盟、日本等國家合作。

國際太空站的模型
太空站的廚房

餐廳
廁所
國際太空站的控制,目前仍然是詹森太空中心日常的主要工作之一。我參觀的時候,也有安排拜訪地面控制中心,當時國際太空站的太空人是睡眠時間,所以地面控制站只有一個人值班。國際太空站後來只是做為科學研究中心,預計到2024年結束。

控制中心外觀
國際太空站的任務管制中心
登陸火星計畫: 這是NASA執行中的計畫,包含送無人探測車到火星,目前最熱門的題目便是好奇號,但最終目標是派人在2030年登陸火星。目前NASA已經有展出一些火星登陸用設備的模型。

登錄火星時要使用的降落傘

參觀完太空中心,我有蠻多感想與疑問:

美國是1958年發射成功第一枚人造衛星。到了1961年便啟動Apollo計畫啟動的時候,當時就連送人上太空都還沒有實現。不過用了八年的時間,1969年7月20日阿波羅11號太空人便登陸月球成功。

時至今日,大家都知道電腦系統對於太空飛行的重要性,這裡回憶一下當年的電腦水平。1954年RCA才發明電晶體,先把真空管做成的電腦,縮小了100倍。十年後的1964年,IBM使用積體電路製造出了IBM360,把電腦再縮小了100倍。同年DEC(Digital Equipment Corporation)發明全世界第一台有互動功能的電腦PDP-8,他使用鍵盤與終端機、可以對電腦下命令。PDP-8即為後來著名的PDP-11電腦的前身,而UNIX系統便是在PDP-11上開發的。目前我們使用的幾乎所有電腦作業系統的基本理論,都來自UNIX。後來微軟的DOS作業系統的一些命令也是學自於PDP-11的)。而王安電腦(WANG)在當年(1964年)發明了直譯式的BASIC語言,這語言的目的是想讓人類可以直接用電腦會說的語言(BASIC)與電腦溝通,所以稱之為BASIC。好玩的是我學會的第一個程式語言就是BASIC,電腦就是王安電腦,那時已經是1979年了,BASIC並沒有達成原先設計的目標,而是成為眾多程式語言的一種。

以當年的科技水準,美國只用了八年的時間,便完成了人類登陸月球的壯舉,這是何等的偉大。其中只有阿波羅一號犧牲了三位太空人,但是也不是發射失敗,而是演練的時候,由於駕駛艙充滿100%濃度的氧氣,卻發生電線走火,演變成大火。阿波羅十三號雖然發射時出事,但三位太空人繞月球一圈之後,安全的回到了地球。後來也曾把搶救阿波羅十三號的情節,拍成了電影。

阿波羅13號的三位太空人


阿波羅13號的地面管制中心主任
國際太空站計畫,是70年代初期開始推動的太空計畫。太空站將作為探測外太空的起點,大型太空船會在軌道上先組起來,在發射到外太空去。由於需要載具,於是於1972年開始研製太空梭,用了十年的時間,才於1982年11月試飛成功。到1998年11月15日終於把國際太空站第一個組件用太空梭送到軌道。國際太空站由許多國家製作的實驗艙連結起來使用。美國共生產了六艘太空梭,挑戰者號(Challenger, OV-099)、哥倫比亞號(Columbia, OV-102)、發現號(Discovery, OV-103)、亞特蘭提斯號(Atlantis, OV-104)、奮進號(Endeavour, OV-105)。以及一艘沒有去過太空的企業號(Enterprise, OV-101)。

太空梭的駕駛艙

由這兩段太空發展歷史的比較,不難發現,相對於登陸月球的時期,科技進步了何止千百倍,但在太空工程上的突破,卻不成比例的慢了許多。特別是在太空旅行中最重要的安全性方面,不進反退。1986年1月28日,挑戰者號發射升空時的第73秒,發生爆炸,整艘太空梭在電視轉播中煙硝雲散,七名太空人殉職。

而在2003年2月1日,當哥倫比亞號執行完第28次飛行任務於重返大氣層時,在美國德州上空爆炸解體,機上七名太空人殉職。

美國沒有興建新的太空梭,只是使用剩下的三艘繼續服役。2011年7月,在亞特蘭提斯號太空梭執行完最後一次任務後(第135飛行),NASA宣佈太空梭退役。而國際太空站的運作依舊正常,依靠著俄羅斯的太空船進行運補。

此外,我也不太了解,登月時便已經有大型火箭可以把100噸重登月太空船,送到太空去。而太空梭一次只能送20噸的貨物。如果到火星的大型太空船需要2000噸重,那要發射一百次太空梭才能把零件運到地球軌道再組裝起來,才能出發前往火星。而五艘太空梭經營了十幾年,加起來總共也只飛了135次。

PS: 地球到月球的距離為384,401公里,而火星離地球最近時為六千萬公里,最遠時為四億公里,大約60倍的距離。所以太空人要吃、喝、氧氣,太空船要燃料等等,所以沒有兩千噸重的太空船,只怕很難來回。
四艘退休的太空梭目前分別在不同的地方作永久展示。發現者號(Discovery, OV-103)現存於美國華府的國家航太博物館、亞特蘭提斯號(Atlantis, OV-104)在福羅里達州的甘迺迪太空中心、奮進號(Endeavour, OV-105) 現存於洛杉磯的加州科學中心(California Science Center)。沒有去過太空的企業號則放在紐約曼哈頓第46街86號碼頭的Intrepid Sea, Air & Space Museum,太空梭被放在無畏號航空母艦的甲板上展出。

N905NA & 發現者號太空梭
而有時候在新聞照片中,會看到駝著太空梭飛來飛去的飛機,這是兩架用二手老波音747-100改裝成的運輸機,標號分別為N905NA(原先屬於美國航空(American Airline))與N911NA(原先屬於日本航空(JAL-Japan Airline))。大空梭退役之後,N911NA被報廢解體。而N905NA則收藏在休士頓太空中心,背上駝著發現者號太空梭的複製品,這次拜訪時,因為還在興建當中,沒有開放參觀。

當寫到NASA的2030年火星登陸計畫的時候,有關於人工智慧發展的Google AlphaGo電腦,在媒體上正喧騰一時。

而這一切讓我想到一部我小時候,印象非常深刻的一部電影"2001年太空漫遊(2001: A Space Odyssey)"。這是1964年Stanley Kubrick導演所拍攝的電影,故事時空背景為在2001年發生的太空旅行。這電影使用當時最新的70厘米的寬銀幕拍攝,但那時候還沒有CG(電腦動畫)做特效,完全用傳統的動畫方式,加上模型的重疊,一格一格的拍攝出外太空的場景,電影前後約二十分鐘都沒有對白,搭配約翰史特勞斯的交響樂作為配樂,呈現壯闊的太空之旅。

電影的故事情節大致是這樣的:人類登陸月球之後,在月球建了基地,一天發現一塊相同的黑石板。而又發現黑石板發射出通信訊號與木星聯絡,人類要弄清楚真相,便派出發現者號太空船到木星去調查這件事。太空船上有五個人:Dave、Frank是駕駛員與三個冬眠中的任務專家太空人,發現者號擁有一台具備人工智慧功能的HAL 9000型電腦來協助太空船的運作。飛行的途中,由於Dave 與 Frank與HAL爭議一件導航預測的錯誤時,惹惱了HAL,Frank感到不太對勁於是與DAVE商議,想關掉HAL,沒想到HAL會讀唇語,而知道了人類的陰謀。電腦便先下手為強,設計殺掉了四個太空人。最後一位太空人Dave驚險的逃脫之後,最後終於成功的關閉了HAL電腦(即是殺掉了HAL?)。

由於導演Stanley Kubrick 自小便是西洋棋高手,所以電影裡面也安排了HAL電腦與太空人對弈西洋棋的場景。這位導演還有一個被他買下,但沒有拍成的劇本(A.I. Artificial Intelligence),最後由大導演Steven Spielberg在2001年拍成了傳世之作,這部電影同樣深刻的描寫了具備人工智慧電腦的仿真機器人在人類情感上的模擬。

2001年太空漫遊這部電影對於後世有極為巨大的影響,包含哲學上意義、科學上的預言、對於電影技術發展的突破等等,他的成就實在太大,不是我的淺薄知識,所能掌握的。所以我只能寫一些這電影對我個人有影響的部份,那就是人工智慧。

電腦理論與程式語言的發展密不可分,程式語言是人用來描述問題的工具,電腦在解釋與執行程式語言之後,便依照人的邏輯把問題解決了。基本程式語言只會做兩件事,第一是重複的迴圈執行(DO LOOP)、第二是做判斷(IF THEN ELSE)。理論上,你可以用這兩個方法解決所有問題。

舉一個例子。你要由台北走到台中,但你不認識路。可以用以下的方法找路:
不停地走路(LOOP) {
    如果到了台中就跳出迴圈。
    如果沒有到就繼續走。
    如果發現有岔路,就隨便選一條路走。
    如果是死路,就回頭退回到原點。
    如果這條路已經走過,就在沒有走過的路,挑下一條來走。
其實你看這個程式例子就應該了解,只要把台灣的路,全部都走一次,由台北出發是一定可以走的到台中的。有點蠢,但這就是寫程式解題的基礎方法,好的程式可以多做判斷、過濾一些條件,少走一些冤枉路,便可以快一點抵達臺中,最差的程式一定要全部走一遍才走得到。也許是繞台灣一圈,走花蓮、台東、高雄,最後來到台中。

蠢歸蠢,但是你想想看,如果走路的速度跟光速一樣快,每秒可以走三十萬公里,那也就是一兩秒就走完了所有可能的路了。目前的電腦用電子,電子走得慢一點,大約每秒走一萬公里,但也夠快了對不對。所以手機上執行的導航軟體,如果再有幾個CPU(例如四核心,就有四個CPU)一起來找,一下就找到了台北到台中最近的路。

談到這裡,要先介紹一個電腦界的偉人,叫做Alan Turing (1912/6/23 – 1954/6/7),中文叫他: "圖靈",是位英國人,電腦科學(Computer Science)與人工智慧的基礎理論就是他一手建立的。時至今日,每年頒發一次的電腦界的諾貝爾獎,便是以他為名,稱之為Turing Award。

圖靈曾建立了一個現代電腦的數學運作模型,稱之為圖靈機器(Turing Machine),而現今的電腦系統,其實依照這個理論,建造的一台圖靈機器。數學模型中,圖靈機器的記憶體(或是儲存裝置)與執行的速度,都沒有限制,所以理論上,我們的電腦搭配前面所說的程式語言,便可以解決所有可以利用數學方法來描述的問題。但當然實際上這些都有限制,但當今的電腦可以用多處理器或分散式系統,把速度弄到接近無限快,而雲端系統,也把記憶體與儲存空間變得有如無限大一般。

圖靈的故事去年(2015年)被拍成電影The Imitation Game,中文翻譯成為模仿遊戲,其實大家如果看過電影,也許會一頭霧水,電影的劇情中,的確沒有模仿甚麼東西? 那取這名字是甚麼意思? 原來電影取名The Imitation Game是向Turing所提出的一個重要人工智慧理論致敬。


圖靈在他的1950年的經典論文“Computing Machinery and Intelligence (計算機器與智能)”中第一次提出了”The Imitation Game”。這方法是用來衡量人工智能電腦的技術水品,用來回答”機器能思考嗎?”

於是Imitation Game在電腦科學裡有個更正式的名稱,稱之為圖靈測試(Turing Test),這個測試是用一個遊戲來驗證電腦是否具有人工智慧。遊戲是這樣的:
有三個角色: A、B和C:
A是一台電腦
B是一個人
C是人與機器之間的中介者。
C在A(電腦)和B(人)之間負責溝通,但只能透過文字。C目標是判斷A(電腦)或B(人)是否是真正的人類,A(電腦)和B(人)都要說服C,它是一個真正的人。如果C無法判斷哪個是人?哪個是電腦? 這時A(電腦)便具備有人工智慧。
圖靈發表的是純理論,他並沒有真正的電腦可以執行人工智慧程式。1952年,圖靈寫了一個西洋棋程式。他就用自己的腦子來模仿電腦,一步一步的執行程式,因此每走一步要演算半小時以上。他用這個方法,和一位同事下了一盤棋,結果程式輸了。但這似乎是用下棋來研究人工智慧的起步。從此,下棋便成為人工智慧研究中,最常見的實作方式。1953年圖靈發表這篇有關於電腦下棋的論文。

1955年美國Los Alamos國家實驗室的工程師根據圖靈的論文,在全世界第一台電腦ENIAC上,設計出世界上第一個可以執行的Los Alamos 西洋棋電腦程式。但圖靈在1954年就過世了,他並沒有看到這個結果。

到了1997年,IBM為了推銷他們RS-6000 AIX電腦,特別開發一台超級電腦深藍(Deep Blue)來下棋,它有上千個CPU可以同步運算,同時用C語言撰寫人工智慧程式下西洋棋。

科學家先分析出西洋棋的人類世界冠軍,在對手每一步下出後,估計能推算出隨後的10步棋,再選擇對自己最有利的方式執行。所以深藍就安排足夠的CPU,並設計成可以算出每步之後的十二步棋。
 
實戰中,深藍以二比四,依然不敵當年的世界冠軍卡斯巴羅夫。但這已經是Turing理論的一次重要實現。注意一下,電腦工程師都是聰明人,充分利用圖靈機器的概念,先把贏的資源要到手上再配合程式,但還不是穩贏的局面。

2015年,全球最凱的公司Google,發表了AlphaGo人工智慧19路圍棋程式。到2016年 3月,AlphaGo與韓國職業圍棋冠軍九段棋士的五場比賽成為新聞矚目的焦點。

西洋棋的所有棋局變化,約有10的五十次方。而19路圍棋的變化,大約有2乘上十的170次方,希望這樣寫能讓讀者了解到兩種棋在複雜度的差異了。

比賽時,雙方落子的思考時間,都各有兩小時的時間限制。雖然職業賽也有時間限制,但是人腦對人腦是一對一個。但是電腦沒有CPU的限制,我認為這已經製造了對於電腦的有利條件。AlphaGo使用1920個CPU的分散式電腦系統來應戰,1920個CPU正好是提供兩秒鐘下一步所需要的運算能量。如果時間限制是一小時,也沒有問題,只要增加一倍的CPU便足以應付。

看到這裡,便知道誰會贏了。Google的工程師肯定懂Turing Machine,只要記憶體無限、CPU速度無限,沒有解不開的問題。

當1968年,"2001年太空漫遊"電影上演的時候,我還是國小三年級的學生,對一個從小便立志當太空人的我而言,我請父親的一位同事帶我去看了這部電影。二十年之後的1988年,當我在研究所修人工智慧這堂課的時候,腦海中卻突然浮出電影裡面的一句對白:
HAL-9000電腦問到電影中的男主角: 我會做夢嗎? (Will I dream, Dave?)
那時我想,會做夢也許這是人工智慧電腦的終極目標吧 ! 能取代Turing Test嗎?

轉眼之間,三十年又過去了,人工智慧依然無法作夢嗎? 但AlphaGo的比賽結果和我預料的不一樣,電腦贏了四場,輸了一場。當我看到這個結果,卻毛骨悚然。1968年的老電影中,HAL-9000電腦不知變通,和人類爭輸贏的結果,是人類反擊,拔掉了電腦的插頭。但如果AlphaGo是故意輸掉一場,來保留人類的面子,那它想要掩藏的是甚麼? 難道他已經具備了做夢的能力?

沒有留言:

張貼留言