人工智慧浪潮下的數學教育(下)
在人工智慧(Artificial Intelligence,AI)的風潮下,數學科普、教育或者甚至數學本身,微妙地陷入一個尷尬的處境;或者應該說,陷入兩個尷尬處境。
撰文/魏澤人(國立陽明交通大學智慧計算與科技研究所副教授)
轉載自《科學月刊》2018年4月第580期
(續前文)
●反向傳播算法、合成函數及連鎖法則
梯度下降法的確能有效,但前提是要能將損失函數對參數微分,有時函數比較簡單一點,像是線性迴歸或邏輯迴歸(logistic regression),微分起來還算簡單,但深度學習所用的類神經網路(artificial neural network)就複雜多了。當簡單的模型不足以應付複雜任務時,我們就需要更複雜的網路。數學上處理複雜事物的一種標準作法,就是分而擊之:先將大問題分成幾個小問題,然後各個擊破。比方說數學歸納法就是典型的例子:有無窮多個式子要證明?不要緊,找出規律、一次只處理一個情況即可;線性代數中的基底也是,將複雜的情形分解成有線情形的線性組合;而合成函數是另外一個例子,用簡單的函數組合出複雜的函數。所以在微積分中,我們只要知道基本函數的微分即可。更複雜的函數,只要看成是基本函數的合成函數就行了,藉由連鎖法則(Chain rule), 就能把合成函數的微分計算出來,而神經網路也是這樣的概念。邏輯迴歸或者線性迴歸太簡單、不夠用?把這些簡單的函數一層一層合成在一起就變複雜了。而微分呢?交給連鎖法則就行了。看起來問題解決了,但不是都說深度學習神經網路要靠反向傳播算法(Back Propagation)了嗎?怎麼都沒有看到呢?
反向傳播算法基本上就是連鎖法則。啊,又是一個裝潮的時下用語(buzzword)?
這樣講會碰到一些自動微分技術專家的逆鱗。其實數學上的公式本身是一個敘述,闡明一項數學上的事實,並不代表計算的方式與過程,真的要計算時,往往會有很多不同的路徑可以選擇。像是當我們想計算56×123時,並不一定要照定義真的把123個56加在一起;要計算216時,也不一定真的要照字面上真的把16個2乘在一起。真要計算連鎖法則時,也是有很多不同的方法和考量,包括數值計算上的考量,這裡面也有不少學問的,然而對於踩在數學科普推廣位置上的人,還是要處變不驚地說:「反向傳播算法就是連鎖法則」。
●線性代數
只要有簡單的函數,就能組成複雜的神經網路。但什麼是簡單的?人類最直覺簡單的,就是「線性組合」,這樣講可能很多人不服氣,因為線性組合的概念,非常穩定及持續地困擾著數學系的學生,然而只要路上繞個一圈,就會發現我們一天到晚都在用到線性組合的概念,像是:去市場買東西時,你會買「1打蛋、7顆蘋果、1袋鹽、1包米」;醫師開立處方「每餐飯後2粒黃藥丸、1粒白藥丸、5c.c.透明藥水,發燒時加上半顆紅色藥丸」;炒菜時「半匙鹽、1匙油、3顆蒜頭」;訂位「6張大人、4張學生票、3張老人票」;訂購衣服「5件S、3件M、2件L、2件XL」;吃早餐「2個培根蛋、1個原味蛋餅、1個蘿蔔糕、3杯紅茶」等。發現規律了嗎?數學上的線性空間,依照定義簡而言之,就是一些能以加法及純量乘法的「東西」所形成的空間,純量乘法聽起來高深,其實說的就是「n個XX」這件事情。n是一個數字,稱為純量,而XX就被當成向量。但加法又是怎麼一回事呢?1顆蘋果跟3顆橘子能加在一起嗎?當然可以,反正最後都要一起算錢,而算錢的操作基本上就是一個線性變換,從多維度的物品線性空間映射到一維度金錢空間。當然這個模型並不是很精確,因為買東西有時會有買一送一之類的優惠。就說了,現實生活比數學要複雜得多了,但線性模型仍然相當實用。
深度學習神經網路中的每一層,使用的就是簡單的線性變換。為了效率,常使用卷積這類速度較快的線性變換。然後把許多線性變換疊一起,當然為了使這些線性變換不會垮掉,中間會放一些非線性函數,但主要學習的參數還是這些線性變換的矩陣。
●魔法與數學
另外一個最直覺的方式,就是機率與統計的模型。不過我們先談談另外一個數學教育及推廣的尷尬點:深度學習缺乏解釋力。臉書創始人佐伯格(Mark Elliot Zuckerberg)在談到數學與AI 的分野時曾說:「AI有點像是魔法,凡是我們不了解的,就稱為AI;一旦我們了解了,就稱之為數學。一些30年前被認為是AI的東西……現在看起來只是數學。」目前深度學習的人工智慧,最被質疑的一個部份,就是「可解釋性」,因為在很大程度上,訓練出來的神經網路,就像一個黑箱一樣,我們雖然清楚所有參數的值、也了解中間運算的過程,但是當一個人工智慧拒絕了某個貸款申請,判定某個人要開刀,我們很難對申請者或者病患說明是什麼原因拒絕貸款申請、或者需要開刀。當然我們可以把人工智慧的貸款分數對申請者的資料去微分,然後告訴申請者「梯度」,但我很懷疑申請者是否會接受這個理由。
的確,人工智慧彰顯了數學的威力與實用性,但在某種意義上,與數學的本質背道而馳。數學在本質上,就是人類理解思考背後邏輯的方式,嚴格數學證明的每一步驟,都要給出理由。10 年前,在深度學習崛起前。許多人工智慧是以統計方法完成的,像是用貝氏方法過濾垃圾信、統計機器翻譯、高斯混何模型等。作為資料分析的重要方法,統計有著大量的理論基礎,有許多能提供解釋的方法,在各學門研究中被廣泛運用。深度學習的理論及技術中,不少地方也需要有機率及統計的概念;整體來說,解釋力是深度學習的一個重要問題。有不少研究在設法解決這個問題。現況是在很多應用中,深度學習提供了較高的準確度,但也缺乏了解釋力。準確度高的黑箱模型,和準確度較低的白箱模型,你會選哪個?這是目前應用上需要取捨的抉擇。
數學長期以來,作為科學研究的主要支持者,同時精確地描述科學理論模型以及預測現象。數學文化上也支持理性及邏輯。用理性的方式建立科學模型,然後預測自然現象,這中間根本理所當然吧?但由於深度學習的出現,嘗到了模型的「解釋力」及「預測力」產生矛盾的滋味,有點像一個以高科技生產零件而自豪的工廠,現在卻因為這些零件能組合出魔法道具而出名。
●真相、幻覺與未來
也許會如同佐伯格說的,30年之後,當我們對深度學習更加了解之後,這些原本的黑箱魔法也變成了數學,但也有可能如王爾德(Oscar Wilde)的名言:「真相很少單純,也從不簡單」,或許宇宙的法則、人類的行為、社會的現象,本來就不依循簡單的模型和數學式子分析,事物的結果都是眾多因素累積疊加的結果。考試沒考好從來都不能簡單歸因為「不夠努力」、「沒睡飽」這樣簡單的因素;一個失敗的政策、體重變重,都是複雜因素綜合的結果。「該負責的是誰?」、「運動還是飲食比較重要?」根本就不是正確的問題,原因、理由什麼的,也許只是人類意識製造出來,讓自己比較舒服的幻境。
數學從數千年前,就開始為了人類的理性而服務,從畢達哥拉斯、微積分的發展、集合論的發展,經過多次的自我革命與挑戰。很遺憾的,我們無法躬逢其盛,只能從歷史緬懷,而人工智慧的衝擊,是否是數學新一波典範轉移(paradigm shifting)的契機呢?
我完全不知道,但感覺一定會很有趣。(完)
延伸閱讀
- 歐柏昇。(2017)。 涂林機到人工智慧,誰讓電腦強大?是數學! 研之有物。
(本文由教育部補助「AI報報─AI科普推廣計畫」取得網路轉載授權)