#195
2018 / 公開文章 / 文章 / 評析

如何理解機器學習的威力

閱讀時間 7 分鐘

早安!

謝謝已有數百位會員填寫了島讀滿意度調查。許多都留下寶貴的意見。其他朋友們也希望能撥 5 分鐘填寫。

進入正題。


是人工智慧還是機器學習

我不時會寫一些標題為「如何理解 XXX」的文章,試圖釐清一些大家耳熟能詳,但又模模糊糊的東西。例如「如何閱讀 IMD 世界競爭力排名」、「如何保守的投資比特幣」等。今天討論人工智慧。

每一本商業雜誌都拿人工智慧作封面。但大部分人還是模模糊糊,不太確定人工智慧厲害在哪。同時又有許多人言之鑿鑿,恐嚇人工智慧勝負已定。例如李開復說中國掌握資料,因此將掌握人工智慧(阿里巴巴技術委員會主席王堅反駁)。還有如 Elon Musk 宣稱人工智慧可能滅絕人類,搞得大家更是人心惶惶。

人工智慧究竟會帶來什麼影響?首先要理解今天技術上的突破,並不是創造了像電影《雲端情人》(Her)中的通用人工智慧(General Purpose Artificial Intelligence)。業界在討論的人工智慧,指的是機器學習(Machine Learning)的成熟。

機器學習的重要應用之一是圖像辨識(image recognition)。例如以下這張照片:

圖:Mariya Yao

一般人可以分辨出藍莓馬芬與吉娃娃,現在機器學習讓電腦也可以分辨了。這包含兩層創新。

第一層創新是人類不用為電腦寫規則。過去要教導電腦挑出吉娃哇,必須由人類寫出規則再交由電腦執行。這是「規則主導」模式(rule-based model),或稱專家模式。這種規則容易建立、不需要大量資料;缺點是很僵硬,不容易更新或應用到其他問題。例如把問題改成「辨別巧克力馬芬與吉娃娃」,就需要重寫規則,缺乏規模性(scalability)與彈性(optionality)。

而今天的機器學習採用由下而上的作法。人類先餵給電腦數千張藍莓馬芬與吉娃娃的照片,讓電腦自己找出圖片的相關性。接著混合藍莓馬芬與吉娃娃的照片,測試電腦。每當電腦判斷錯誤就「釘」它,讓它自行從錯誤中學習(所以叫機器「學習」)。今天電腦的辨識率已經可以勝過人類。

第二層創新在於人類可以交付電腦執行一些過去難以描述的任務。例如「分辨藍莓馬芬與吉娃哇」其實是複雜的指令,必須先定義「藍莓馬芬」與「吉娃娃」。現在可以用餵圖片與「釘」電腦取代。這有點像養育小孩。「捷運月台很危險」是抽象的概念,不容易教導。但每次小孩一靠近月台就打他屁股,他就會理解「那種空空的地方不能靠近」。

當然,你會問:「圖像辨識有什麼用?」

這是矽谷創投 Andreessen Horowitz 合夥人 Benedict Evans 最近討論的問題。他寫了一篇文章,舉出三個討論機器學習的切入點,我覺得很有啟發。分別是:

  • 關聯式資料庫(relational database)
  • 賦權的技術層(enabling technological layer)
  • 自動化(automation)

關聯式資料庫與賦權的技術層

他認為機器學習的價值將會類似關聯式資料庫(relational database)的影響力。

關聯式資料庫是今天所有企業軟體的底層架構之一。其於 1970 年由 IBM 的科學家提出。在此之前,企業使用「階級式資料庫」(hierarchical database)。有點類似醫院的紙本病歷庫。病歷一張張的放在檔案夾中,檔案夾放在一排一排的架子上,依年份或科別存放。資訊的階層位置是固定的;若有人需要「跨」病例的資訊,只能沿著原有的階層去上下搜尋。

一旦有人問一個新的問題,與原來的階層架構不符,就會產生問題。例如「2017 年台灣男性前三大死因為何?」要回答這問題,必須調出所有男性病歷,移除還活著的病歷,再分析所有死因。

而在關聯式資料庫中,資料庫是以資料之間的關係來架構,而不是資料本身。換言之每一個病歷報表包含不同欄位,欄位又與其他報表上的欄位連結。因此只要變動資料的結構關係 — 例如改以「年齡」、「性別」及「死因」為分類 — 就可以回答上述問題。

關聯式資料庫的問世,創造了一個新的技術層(technological layer),引發許多後續重要的應用。根據 Benedict Evans

這深深的改變了使用資料庫的方式,也帶來新的使用情境與獨角獸。關聯式資料庫帶來了甲骨文(Oracle),也帶來 SAP,而 SAP 與其同業帶來了全球即時供應鏈,因此有了蘋果與星巴克。到了 1990 年代,幾乎所有企業軟體都是用關聯式資料庫 . . . 這個技術成為所有東西的賦權層(enabling layer)。

這是今天討論機器學習比較實在的角度 — 是我們用電腦的方式的飛躍式進步,將來機器學習會嵌入不同公司的不同產品之內。最終,所有東西裡面都會有機器學習,大家再也不會特別留意。

機器學習將為電腦帶來新的能力,解決新的問題。但不要太快跳到《雲端情人》或是《魔鬼終結者》裡的機器人。更實際的例子是洗衣機。

洗衣機也是一種機器人。它分擔了人的工作。未來的洗衣機可以做得更好,例如可以辨識衣物的質料,人們就不必先行分類衣服。或是能夠辨識污漬的成分,自動調整水量、旋轉力道與溫度。過去洗衣機的使用規則很僵硬,仰賴人類預先做許多判斷,就像階層式資料庫受到僵硬的結構限制。未來卻可以更彈性、更靈活。

自動化

機器的最大價值之一是自動化。例如洗衣機自動化了洗衣服。而機器學習能讓自動化一些過去只有人類會做的工作。例如上述「馬芬與吉娃娃」的例子,就可以看作是自動化一個 10 歲小孩能做到的事情。換言之,今天人類可以無限地複製很多位 10 歲兒童,幫忙看照片、聽聲音。你每天有多少待辦事項希望能外包出去,而且其實只要兒童就能完成?(我第一個想到的是洗碗)

同樣來自 Benedict Evans

機器學習不需要打敗專家或是數十年的經驗。我們不是要自動化專家。我們要的是能「聽這些來電然後辨識出憤怒的人」、「讀這些 email 找出焦慮的人」、「看上千張照片然後找出酷(或是奇怪)的人」。

從某方面來說,這就是自動化一直以來的貢獻。Excel 沒有製造出機器人會計師,Photoshop 與 Indesign 也沒有帶來機器人平面設計師,而蒸汽引擎也沒有做出機器馬( . . . 西洋棋電腦也沒有創造出裝在盒子裡的愛發脾氣的中年俄羅斯人」。我們只是自動化特定任務,但能空前的規模化。

例如 Facebook 能自動辨識照片中的朋友、Siri 能把話語轉變成文字、商湯科技能從機場監視器中辨識形跡可疑的人士。這些都是 10 歲兒童受過訓練後能做到的事情,現在電腦可以瞬間、大規模的完成。

由此推展,Benedict Evans 認為機器學習的用處可整理為三大項:

  • 優化既有能力:如果你原本就用電腦分析資料,例如優化銷售轉化率、工廠生產效率,甚至顧客滿意度,那麼機器學習能強化既有的能力。例如代買跑腿平台 Instacart 用機器學習重新規劃跑腿的移動路線,省下 50% 時間。
  • 從既有資料找到新洞見:例如過去檢察官必須分析成千上萬的 email,工程浩大。現在可以先叫電腦找出所有「憤怒」、「焦慮」、「說謊」的 email,再從中找出蛛絲馬跡。工廠可以為產品照相,叫電腦找出人類看不見的瑕疵。
  • 開啟新的資料類型:如前述,過去電腦無法直接處理影像、聲音甚至文字 — 必須先轉換成指令。現在可以了。電腦甚至可以輸入影片,再輸出影片,例如我寫過的 deepfake

創造狹隘的專家

最後機器學習還有一種應用,不是複製成千上萬個一般兒童,而是創造狹隘領域內的頂尖高手。這以圍棋機器人 AlphaGo 為代表。

人類給 AlphaGo 一套圍棋規則,再叫它不斷的自我對弈,從中發展出最佳策略。這相當於培養一個專注單一領域,但思考速度非常非常快的兒童。如果你的領域有一套明確規則,那麼機器學習就大有可為。

今天我們不清楚「機器學習能做什麼」就像 1980 年代大家都在問「關聯式資料庫很酷,但有什麼用?」當時關聯式資料庫相對耗能、耗算力,也缺乏支援的環境。但隨著摩爾定律發威,關聯式資料庫成為標準。資料不再是困在檔案庫中的紀錄,而是可以據以判斷、預測的智能(intelligence)。未來人們會將機器學習嵌入各式各樣的產品中,提供各式各樣的能力,並且又再次的習以為常。

推薦閱讀