EP 422019-09-301:03:12
一本 AI 教科書之外的心得
Peter Norvig
AIMA 作者 Peter Norvig 談教科書怎麼跟上 AI 演進,也聊寫程式的心法與人機信任。
Peter Norvig: Artificial Intelligence: A Modern Approach | Lex Fridman Podcast #42在 YouTube 看 ↗
重點6 條
- 教科書從第一版就押寶機率與機器學習:《AI: A Modern Approach》1995 年第一版就以機率與機器學習為骨幹,跟當時仍以布林邏輯、知識工程為主的教科書分道;之後幾版跟著硬體與方法更新,新版還加了深度學習專章,也開始討論效用函數背後的倫理問題。
- 效用函數比最佳化演算法更難:Norvig 認為真正困難的不是怎麼優化,而是先決定要優化什麼;他舉累犯預測系統為例,兩種公平的定義理論上不可能同時滿足,只能取捨。
- 符號 AI 敗在「原子符號」套不上真實世界:邏輯推理放諸四海皆準沒問題,問題是它沒有指引該用在哪裡,才會冒出「拿掉一粒沙,山還是不是山」這種悖論。
- 比起可解釋性,他更看重信任與驗證:單一解釋不保證反映真相,對抗性樣本更戳破了「深度學習已經涵蓋大部分特徵空間」的錯覺,得靠反覆測試才知道系統在哪裡會失靈。
- 教程式該教的是解決問題,不是語法:他認為寫程式的門檻正在改變,重點是能不能分析問題、建模、驗證結果,而不是會不會某種語言的語法;他也承認自己得練習不去弄懂每個套件的底層細節。
- Lisp 很美,但撐不住規模化:半頁就能定義整個語言,適合單一高手發揮,團隊一大就難以維護;AIMA 的線上範例程式從 Lisp 換成 Python:不想花課堂時間教 Lisp、Java 又太冗長,調查後發現 Python 幾乎就是書裡的偽代碼。
時間軸26 段
硬體一直在改變技術選擇:第一版時邏輯式多到塞不進記憶體,只好改用更精簡的一階邏輯;後來有了快速的 SAT solver、記憶體也變大,數百萬條邏輯式輕鬆放得下。這一版又碰上 GPU、TPU 這類專用晶片。
新版新增反向強化學習的討論;他以累犯預測系統為例,說明「同分數要代表同機率」跟「錯誤要平均分攤到各族群」這兩個公平目標理論上無法同時達成。
免費 app 生態逼所有服務互相搶奪使用者的注意力,變成跟使用者對抗而不是幫助使用者;他認為這不是必然的結果,只是目前的誘因設計成這樣。
柏克萊 AI 教員午餐時常聊「該寫本新書」卻一直沒動筆,直到他離開學界、在會議上再遇到 Stuart Russell 才真的開寫。1995 年他們看到 AI 正從布林邏輯轉向機率、從知識工程轉向機器學習,決定整本書就站在這一邊;兩人靠撥接與 telnet 分頭寫作。
他坦言低估了大數據的份量,深度學習那時根本還沒被發明,第一版仍是從表示法與環境類型切入,沒有一開始就走機器學習路線。
新版找 Ian Goodfellow 掛名撰寫深度學習那一章,他把整本深度學習教科書濃縮成一章,也重寫了舊版的類神經網路內容。
舊派 AI 的問題出在把一切建立在原子符號上,真實世界卻沒有清楚邊界;邏輯推理放諸四海皆準,反而沒有指引該用在哪裡,才會出現「拿掉一粒沙,山還是不是山」的悖論。
他更想談信任與驗證,而不只是可解釋性;歐盟 GDPR 賦予用戶要求解釋的權利,但解釋不保證反映真相,銀行照樣可以用假理由搪塞。
業界以為在 ImageNet 上逼近人類表現,就代表已經涵蓋了大部分特徵空間,但對抗性樣本證明那其實是百萬維空間裡一條很窄的路徑,稍微偏離就會出錯。
Lex 問人類對 AI 是否太嚴苛、總是先懷疑,他同意,並引述博物學家朋友 Mark Moffett 的觀察:人類能走進滿是陌生人的咖啡店而不互相殘殺,黑猩猩做不到。他也提醒,很多被歸功於 AI 的改變,其實更多來自通訊技術。
他開的 AI 入門課吸引大量學生報名,完課率雖低,但他發現真正的關鍵不是把資訊講清楚,而是學生有沒有動機撐下去。
他認為差別不只在地點,更在於承諾與同儕壓力;付了學費、身邊同學都在苦撐的處境,才是讓人堅持下去的關鍵,不是純粹的線上或線下之分。
他認為學程式不該只是學語法,而是要學會分析問題、建模、驗證結果;他也坦言自己還在練習跟不懂內部運作的套件共處,忍住不把說明書整本讀完。
他認為本來就不該把焦點放在「程式設計師」,該看的是結果:他剛入行時函式庫只有平方根,什麼都得自己寫,現在大部分功能都能下載現成的,寫程式更像組裝而不是製造。
早期面試看的是「這個人有多接近 Jeff Dean」,公司做大之後開始找生物學家、物理學家、社會科學家加入,帶進不同背景的技能。
他看的重點是 API 設計夠不夠有彈性、以後會不會有其他人想呼叫它,而不是文件寫得好不好;設計對了,文件好不好都容易用。
他不必再像從前那樣計較效能細節:90 年代他在 Lisp 書裡把物件系統簡化成雜湊表,說這只是教學用的玩具、沒人會真的這樣做,後來 Python 幾乎就是這樣做,而 80 年代會慢上百倍的寫法,現在完全夠快。
他覺得 Lisp 最美的是簡潔,半頁就能定義整個語言,還能自己定義語法;但它是為單一或小團隊、有品味的高手設計的,團隊一大,別人就難看懂你自訂的語言,這是它沒能大規模普及的原因之一,括號也是。
早期線上範例用 Lisp,學生反映看不懂偽代碼跟 Lisp 的對應;他不想花兩週教 Lisp,先試了 Java,又太冗長,後來做調查找最像自己偽代碼的語言,發現 Python 幾乎就是他的偽代碼,而他設計偽代碼時根本還沒聽過 Python。
他形容早期的 Google 像圖書館的卡片目錄,只是忠實反映網路上有什麼;後來發現每次調整排序,網站經營者也會跟著調整,變成一場賽局,得同時想自己的下一步跟對方的反制。
早期網路照 Jon Kleinberg 的 hubs and authorities 模型,由 hub(連結清單頁)與 authority(被大量引用的頁面)架構起來,Google 出現後這種手工列連結的頁面漸漸消失;他也自嘲 1980 年前後讀研究所時,覺得網路交給商業公司做不起來,結果 Al Gore 是對的。
他不認為所有任務都該追求人類水準,有些該遠超人類、有些不必發展;他也提到不知道業界該怎麼讓對話助理從回答天氣進化到真正有深度的互動。
談到電影《Her》,他說最像它的電影是《Life of Brian》,兩部都在講想相信不一定真實的東西;他認為人本來就容易把感情投射到物品上,就像小孩會愛上一隻不會互動的泰迪熊,AI 助理不需要做到很多,就能引出人的情感依附。
他認為圖靈的用意不是說對話測試本身有多好,而是「應該要有一個測試」,讓哲學家不能光靠嘴說 AI 不可能,之後也可以隨技術進步換更好的測試。
他不擔心機器人末日式的威脅,比較擔心自動化加速既有的所得不均與失業問題;他也提醒強大技術本來就能拿來做好事或壞事,AI 不是唯一的風險來源。
他最期待把常識推理跟資料的力量結合,也想把機器學習用回寫程式這件事本身:像搜尋的「你是不是要找」,未來寫程式碼時也該能被提示「你是不是要改這一行」。