【前言:從使用黑箱到拆解黑箱】
如果這是一本圍繞著「黑箱」的概念而產生的書,那就先問問為什麼我要談黑箱的故事?在這裡,似乎需要一個開宗明義的破題,讀者們才會有興趣往下翻閱。
我們先來談談「黑箱」對諸位而言究竟是什麼?我想多數人都會想到一個令人咬牙切齒的詞彙叫作「黑箱作業」──黑箱常常是可惡的,因為它常常暗中剝奪人們的權益。雖然這並不是本書想要定義的黑箱,但是黑箱裡的「惡劣」成份的確是從「神秘」所衍生出來。而世界上的人們都有一種要將黑箱透明化的企圖,或者說在看到黑箱的時候會眼睛為之一亮地企圖了解。除了防弊以外,或許還基於好奇。
但是在我們討論「拆解黑箱的必要性」之前,也許更該先了解黑箱「存在的必要性」。至少在我們文明生活當中,存在著許許多多「討喜的黑箱」,在黑箱產生「會損害人們利益」的刻板印象之前,我們應該要追溯一下黑箱最原始的意義,翻譯成白話可以一言以蔽之,叫作「你不需要知道全部的細節」,套一句時下的流行話,就叫作「閃開!讓專業的來!」。試想,當你在辦理房屋過戶的時候,會不會想要求助代書?當你在申請海外留學的時候,是否曾經想要委託代辦?那當然,因為人的一生不會經歷許多次的房屋過戶,或是留學申請,因此你一定會覺得這樣的體驗難以堪稱生活必要技能,更不會認為你有事必躬親的必要。在當代的文明社會,只要你有辦法購買到任何經過打包過的黑箱,你就可以在「不具備某種專業的前提下,卻享受到某個專業領域能夠達到的成果」。
而「黑箱」在資訊的世界裡頭尤其有意思──在程式設計的領域裡頭,「黑箱」有一個正式的詞彙叫作「封裝」,當我們希望別的程式設計師利用我們所設計的程式碼的時候,我們會把「不需要被知道的細節」給儘量隱匿起來,只留下幾個很明確的接口,如此一來你所設計的程式才容易「被使用」,而且更重要的是不會因為「被意外的使用」而被搞砸。舉個簡單的例子,大家可能都有到區公所辦事的不快經驗,你很有可能被窗口的辦事員板起臉來退件說「你缺了印章」、「你缺了戶籍謄本」,於是「請你回家補件再來重新排隊」。如果這個時候你認識坐在窗口後面的科長,你會怎麼做呢?你會不會想要攀個交情,請他幫你送件,來跳過這個一板一眼的窗口?但如果這位科長基於人情幫你「送件」了,卻沒有幫你「檢查」,而他的權限也不及於能允許你「在缺件的前提下依舊完成申請」,那麼你最後的下場還是遭到了退件。在這種情況下,我們可以說你「突破了區公所的黑箱」,但正因為你企圖「不當操作已精確設計的黑箱」,於是還是遭到了偷雞不著蝕把米的下場。此時你才會發現,那個看起來討厭至極,給你臉色且一絲不苟的窗口辦事員,其實是黑箱的必要守門員,而正因為這個黑箱裡的運作太過複雜,所以更要確保你所準備的「輸入」沒有半點差池。但是只要你的「輸入」(也就是必要的申請文件)能夠符合他的檢查規則,你不需要知道整個申請流程及細節,這些文件通過了哪些人的檢查及蓋章,你就能夠輕易地得到「輸出」,也就是你的某項申請許可。
只是,「黑箱」的原意是一種「必要的神秘」,因為這世界上最可怕的「知道」就是「一知半解」,與其因為不充份的了解而造成不必要的疑慮,還不如選擇相信幾乎沒有意外性的輸入與輸出,這就是使用黑箱的基本概念。但是黑箱這種「必要的神秘」當然也就造就了文明的「恐慌」,恐慌的一部份當然就是人們最為熟知的弊端,比方說如果你知道了黑箱的內容物事實上極其簡單,你卻花了非常貴的代價來購買的話,你肯定會因此跳腳,也因此產生了對黑箱這種「必要神秘」的高度不信任。而在人們的文明生活與資訊科技密不可分的當代,「電腦」當然是最經典的「黑箱」代表了。你每天使用的搜尋引擎、每天上的購物網站、每天賴以抒發心情的社交平台,還有已經無法離身的智慧型手機……當人們觀察到世界棋王已經敗給人工智慧的時候,當人們發覺到搜尋引擎已經讓查字典比賽失去意義的時候,當人們發覺到電子商務或是交友平台好像已經比你肚子裡的蛔蟲更了解你,而總是能精準地推薦你感興趣的商品或是書籍甚至是往來對象的時候……你,會不會反而產生一種「養虎為患」的恐懼呢?
在這個人工智慧爆炸而有「功高震主、反客為主、喧賓奪主」的疑慮的當代,是時候要開始重新拆解黑箱了。筆者雖然一路就讀被認定是「傳統產業」的土木工程系,在念博士班的期間,卻因為一個機緣巧合,就讀於土木系下最特殊的一個組別「電腦輔助工程組」,因此耳濡目染地被特訓成了「半個資訊人」。也許筆者並不是演算法或程式設計的高手,但卻還堪能用「最簡單通俗的語言」把我曾經體驗過的資訊黑箱分享給各位讀者。所以,我選定了八個與資訊黑箱相關的故事,它們的前後安排亦是經過循序漸進的設計的,在此容我先用比較枯燥且死板的方式介紹一下這些故事安排的緣由及背景,當成一種「導讀」,讓各位讀者理解「怎麼樣看這本書最好」。
本書的第一個故事:「為什麼台大校長要研究特異功能?――那些電腦模擬給我的啟示」是一道份量不輕的開胃菜,「電腦模擬」是最能貼近人生且最能夠直接被我們觀察到結果,而且也最有趣的一種應用。或者說,就算我們不深入模擬的技術細節,我們也能透過模擬知道「電腦詮釋這個世界的方式與極限在哪裡」。如果不能夠先認為電腦是有趣的,那我想身為一位讀者要對以下的章節產生「好奇」恐怕就是不太容易達成的任務。
本書的第二個故事:「先別急著成立反抗軍,你知道打敗棋王的超級電腦還離天網很遠嗎?――淺談知識工程」輝映這本書的「書名」,其實這是一個充滿爭議的命題,且正反兩方的意見仍持續交戰不休。筆者想要藉由「知識工程」的介紹,來讓讀者先放下忐忑不安的心(因為我認為會買下這本書的讀者某種程度上就是抱持了「對資訊時代的不安」而來的),才能在後續的章節盡情地欣賞資訊之美,這就像一個有經驗的醫生在病人來看報告時的第一句應該要先說:「放心,你沒有得癌症」,然後才開始解釋落落長的病理報告一般。
本書的第三個故事:「別再批評別人感情用事了,你知道情感是比智慧更高尚的東西嗎?」延續著第二個故事的立論,因為現代人害怕「人工智慧」害怕得要死,卻從來不知道光是這個動作就已經證明了我們超越我們所懼怕的東西。為什麼?因為「懼怕」是一種「情感」,你有聽過「人工智慧」,但是一定沒有聽過「人工情感」,為什麼?因為這世界上還沒有任何一個科學家有膽量宣稱他已經做出了這樣的東西。但是,當「人工情感」誕生的那一刻,人們或許才需要擔心自己遭到取代或是推翻,因為電腦還沒有開始「恨」你,即便你可能已經日以繼夜地用各種繁重的任務壓搾它。這個章節只是要告訴各位讀者,「情感」的複雜本質就連我們自己都還沒有辦法解釋,但如果你以「人工智慧」的立場及設計理念來檢視何謂情感的話,你就會知道「情感」遠遠海放了「智慧」一個非常驚人的差距,而我們卻只因為人們容意感情用事而貶低了我們最珍貴的東西。
本書的第四個故事:「《易經》是超文明的跡證?二進位不是給人看的」好像上場的稍微遲了一點點,因為「二進位」是最能夠用來解釋何謂「資訊黑箱」的符號工具。但是我必須先用前面幾個章節建立各位讀者的興趣,才不會一齣戲還沒演到賣膏藥進廣告的時分就發生觀眾早已自動散場的窘境。二進位與電路設計很有可能會是一個相當枯燥及充斥理論的話題,因此筆者還得為它添加一些充滿爭議卻不無可能的浪漫狂想(異端邪說?)。如果這樣的狂想背後有可能導致我們的歷史課本要改寫、金字塔的建造有了可能的解釋,甚至月球有可能會是人造衛星的話,你願意花一點點時間和我一起來理解電路設計的有趣嗎?
本書的第五個故事:「只要學過高中數學就可以一窺搜尋引擎稱霸網路世界的奧秘?――淺談資訊檢索」可說是繼承著第四個故事的脈絡,在我們了解了「資訊黑箱」的存在及本質之後,便能接著解資訊黑箱常常比我們想像中的還要「簡單」,我們天天在用的搜尋引擎就是一個鮮明的例子,它的上頭可以掛載任何複雜到超出非專業人士理解範圍的演算法,可是「理論的本質」卻又可以簡單到高中生就有辦法聽懂,筆者認為它可以是一個最「親民」的範例。
本書的第六個故事:「你的Siri真的聽得懂你的話嗎?――自然語言處理的奧妙」緊緊接在第五個故事後頭,做一個「打鐵趁熱的乘勝追擊」,人手一隻的iPhone手機一定曾經讓你產生這樣的好奇:為什麼我可以對它說「人話」?Siri是怎麼聽懂的?自然語言處理和上一個故事所談的資訊檢索是高度相關的學問,只是複雜度又深了一點點。如果你可以接受高中生就能聽懂的資訊檢索基本理論,咱們來做一個深入一點的探討與嘗試。
第七個故事是:「自動分類:胖瘦、愛情與人生」,它接在第五個和第六個故事後頭,因為「自動分類」是一種相當普及的「資料探勘」模式,但是這麼講卻又太不親民了,所以我們要用最簡單的「胖瘦、愛情與人生」來告訴你,資料探勘就在你我左右,讀完這個故事,你將會理解我們老在講的「機器學習」是怎麼一回事?為什麼交友軟體愈經常使用愈能準確推薦「我的菜」?
本書第八個、也是最後一個故事是:「大數據裡沒有新東西?――淺談資料探勘的新風貌」接續了上一個故事的基礎,在解釋了資料探勘與資訊檢索之後,我們才能來探討時下一直被產官學界吹捧的「大數據」到底是什麼樣的概念?說穿了,它只是用新穎的資訊處理技術去支援早就已經存在的資訊應用方,但是卻能激盪出新的火花。而它也「輝映」著打頭陣的第一個故事,如果第一個故事是開胃菜的話,這個故事就算是道甜點了,裡頭只有新奇的比喻與情境,而不會有生硬的公式及理論,希望這能讓本書能夠有個可口的結尾。