2021年10月10日 星期日

好書 : 人工智慧在台灣

這篇筆記我在 2019 年 10 月 28 日開始寫, 至今快兩年了, 也就是說這本書借來已兩年, 不斷地續借應該已超過 24 次, 這次終於抽空把書看完, 也把筆記寫完. 


Source : 博客來


此書為已故中研院資科所研究員, 前玉山金控科技長陳昇瑋所寫, 他於 2018 年創立台灣人工智慧學校, 擔任執行長, 是台灣 AI 教育與產學合作的重要推手之一. 不過陳博士於 2020 年 4 月 13 日於運動後因腦出血去世, 真令人惋惜, 參考 :

悼念台灣 AI 傳教士陳昇瑋博士

此書是一本寫給學界與業界看的 AI 科普書籍, 主要介紹人工智慧簡史與基本概念, 以及 AI 與產業界的關聯與影響, 是非技術背景者了解 AI 的一本絕佳入門書. 摘要整理筆記如下 :
  1. 人工智慧這名詞最早出現在 1956 年, 由人工智慧之父, 語言學家與電腦科學家約翰麥卡錫 John McCarthy 提出. 諾貝爾經濟學獎得主 Herber Simon 於 1957 年大膽預言電腦將在十年內打敗人類, 成為西洋棋王. 但實際上因為歷經兩次 AI 寒冬, 這個預言直到 40 年後的 1997 年才由 IBM 超級電腦深藍實現. 
  2. 人工智慧的定義, 簡單來說就是, 任何讓電腦能夠表現出類似人類智慧行為的科技, 更具體一點的說法是, 人工智慧是一種可以感知, 學習, 推理, 協助決策, 並採取行動幫助我們解決問題的科技.  
  3. 機器學習與統計學有很多重疊的部分, 很多機器學習的演算法使用了大量的統計方法. 但這兩個學科最大的差別在於其目的. 統計學的目的在於基於樣本 (sample) 找出真相 (universe), (見微知著). 而機器學習想解決的問題是, 讓電腦從歷史資料裡學到如何處理新的資料以解決問題 (以已知預測未知). 機器學習在意的不是真實資料的分布情形, 而是能否根據已知預測未知. 但這個預測不見得是時間相關的 (即不限於預測未來), 也可以是預測還不知道的事實. 統計是科學, 而機器學習則是工程; 統計輸出的是全域資料的結構, 而機器學習輸出的是能預測未知的模型; 統計注重的是數學推導與可解性; 機器學習的數學式通常沒有解析解, 多是數值解. 
  4. 人工智慧發展史可以用三波代表技術來說明 :
    (1). 第一波 (1950~1960) : 符號邏輯 (symbolic logic) : 領域知識主導
    (2). 第二波 (1980~1990) : 專家系統 (expert system) : 領域知識主導
    (3). 第三波 (2010~) : 機器學習 (machine learning) : 資料與演算法主導
  5. 第三波的 AI 突破在 2006 年來到, Geoffrey Hinton 在 2006 年提出受限波茲曼模型, 成功訓練出多層神經網路, 可用來建構更複雜的非線性函數, 證明類神經網路若層數變多, 預測準確度確實能夠大幅提升. 但直到 2012 年 Hinton 教授帶領的團隊以深度學習模型在 ILSVRC 圖像辨識大賽以 16.42% 的錯誤率贏得冠軍才掀起第三度 AI 熱潮. 
  6. 2008 年起圖形處理器 (GPU) 的運算能力有了突破性成長, 這也是機器學習得以洛帝應用之關鍵因素. GPU 與 CPU 的運算速度在 2008 年還算旗鼓相當, 但到 2016 年時 GPU 已是 CPU 的 10 倍. 
  7. 機器學習的定義是, 任何可從資料歸納出規則的演算法. 機器學習的模型就是根據歷史資料學習得到的決策規則. 
  8. 深度學習與奇他機器學習方法的根本上的差異在於它能夠自動進行特徵工程 (feature engineering). 在發展機器學習模型時, 通常會基於觀測值計算一些衍生變數 (derived variable), 並加入決策條件來判斷以便增進模型的預測準確度. 發展與定義這些衍生變數的過程叫做特徵工程. 一個傳統機器學習模型成效是否良好, 在資料質量固定的前提下, 特徵工程往往扮演決定性的關鍵. 
  9. 特徵工程含有藝術成分, 因為特徵工程沒有標準答案, 除了需要懂資料, 懂統計, 懂程式設計外, 還要懂領域知識, 還需要一些創意. 若觀測值是有個別意義的數值, 則特徵工程依靠經驗與創意可以做得不錯; 但觀測值若是序列資料, 例如聲音, 文字, 或圖像, 要怎麼做特徵工程就麻煩了 (因為它的特徵數目非常龐大). 由於序列資料使用傳統機器學習的特徵工程實在太困難, 故 2010 年以前語音辨識錯誤率從來沒有低於 10%, 圖像辨識錯誤率從未低於 25%, 直到深度學習出現才突破. 
  10. 雖然傳統機器學習從資料學習規則, 比起專家系統更準確, 但它需要人們基於觀測值來定義特徵 (即衍生變數), 而深度學習則連定義特徵 (即特徵工程) 都自動幫我們做了. 一個深度學習模型可以同時進行特徵工程與規則學習. 
  11. 深度學習適合處理甚麼樣的問題? 答案是特徵工程越不容易做好的問題越適合採用深度學習, 讓系統來自動進行特徵工程. 哪些問題是特徵工程很難做的? 答案是非結構化資料與序列資料, 例如圖像, 影像, 文字, 語音, 金融交易, 感測數據等, 這些也是生活中最常見的資料類型, 它們的特徵工程都沒有標準答案, 只要有足夠的資料量, 採用深度學習的表現會比傳統機器學習好很多. 
  12. 專家系統的人工定義規則必須非常明確不容模糊, 才能讓電腦依此規則執行. 設計專家系統除了程式設計師外, 還必須要有領域專家才行. 使用傳統機器學習也需要領域專家提供有標註的資料庫, 同時機器學習工程師在做特徵工程時也需要領域專家的協助. 可見領域專家在專家系統與傳統機器學習場域都扮演很重要角色. 若使用深度學習來做同一件事話, 基本上就不需要領域專家了, 要也可以, 就是視情況補充深度學習自動特徵工程的不足. 從專家系統到傳統機器學習, 再到深度學習, 領域專家的分量月來越少, 而機器學習工程師的分量越來越重. 所以在深度學習時代, 領域專家可以退居幕後, 專心提供大量的高品質標註資料集. 人工智慧演進的方向是, 用越少的知識描述與越多的資料與運算來使決策越來越準確
  13. 深度學習有自動進行特徵工程能力, 那為什麼還要用傳統機器學習? 所謂天下沒有白吃的午餐, 使用深度學習是要付出代價的 : 
    (1). 需要大量高品質資料集
    (2). 需要更高檔的運算平台
    (3). 需要更高品質的 AI 工程師
    這些需求都會推高使用深度學習的成本. 簡言之, 深度學習需要用更多的資料, 算能, 與人才來換. 所以原則上任務若只涉及結構性資料 (structured data) 就先使用傳統機器學習來做, 除非效果不好, 否則不需要直接使用昂貴的深度學習來做
  14. 資料量對魚深度學習非常重要, 深度學習厲害的地方在於, 即使沒有領域專家的知識協助, 靠著龐大的資料量就能做到比人類專家更好的特徵工程, 而且資料越多做得越好, 不像人類是有極限的. 但反過來看, 如果沒有足夠的算能與資料, 深度學習再好也沒有用
  15. 原則上, 機器學習工程師應該先從傳統機器學習著手, 不要閉著眼睛就只想以深度學習來解題. 有時候人為的特徵工程還是很有用的. 事實上結合人類的手動特徵工程與深度學習的自動特徵, 通常可讓深度學習模型的表現更出色. 
  16. 學會界定問題 (problem formulating) 是學會與活用機器學習的關鍵一步. 機器學習問題基本上可界定為如下三種 :
    (1). 監督式學習 (supervised learning)
    (2). 非監督式學習 (unsupervised learning)
    (3). 增強式學習 ()reinforcement learning)
    其中監督式學習占最大宗, 9 成以上屬於此類. 
  17. 監督式學習在模型訓練過程中會直接告訴系統答案 (即每筆訓練資料皆有標註答案), 讓系統尋找觀測值與決策之間的關聯性. 觀測值是模型的輸入 X, 決策是模型的輸出 Y, 監督式學習就是尋找 X 與 Y 之間的關係, 以數學來講, 監督式學習就是在尋找函數 Y=F(X) 中的 F. 
  18. 非監督式學習只有觀測值 X, 但沒有決策 Y (即標註) 供參考, 單純給電腦大量的觀測資料, 因此演算法的目的就不是從歷史資料中學習怎麼做決策, 而是自動從歷史觀測值中找出潛在的規則, 亦即不須人為的指引而能自動歸納整理. 它與監督式學習的差異就是所提供的歷史資料有無標註. 非監督式主要用於資料分析的前處理 (preprocessing), 將資料分群或降維 (即減少變數之數量), 讓之後的資料分析或監督式學習可以做得更好. 
  19. 增強式學習式以嘗試錯誤法 (try-and-error) 讓電腦學習與環境互動, 一步一步從失敗經驗中找到成功的路徑, 學習到如何採取正確 (能得到最大報酬) 的動作, 通常應用於遊戲或自駕車等. 例如 AlphaGo 就是先用監督式學習從人類棋譜中學到基礎棋力, 再用兩個 AphaGo 以增強式學習對奕, 學到人類沒有過的棋路. 後來的 AlphaZero 則完全靠增強式學習從零開始自行摸索出一套特有棋路, 擊敗人類棋王. 增強式學習讓 AI 程式不再受人類經驗限制, 能自行找出規則做出更好的決策. 
  20. 機器學習問題界定方式 (監督式 vs. 非監督式 vs. 增強式) 與機器學習模型的選擇 (傳統 vs 深度) 是獨立的, 亦即我們可以使用傳統機器學習模型來做監督式, 非監督式, 與增強式學習, 同樣也可以採用深度學習模型來做. 但無論是哪一種模型 (傳統 vs, 深度), 資料都是專案成敗的關鍵.
  21. 這幾年發展快速的第三波人工智慧其實只能算是弱人工智慧的範疇, 主要是透過機器學習技術從資料理萃取規則, 把某一個是先定義好的工作做到最好, 並非具有自我學習能力. 具有思考推理與自我學習能力, 甚至具有自我情緒的強人工智慧, 現在連影子還看不到. 強與弱人工智慧最關鍵的分野, 就是機器人是否有自己的意志, 能自我學習, 可進行原本設定規格之外的工作. 
  22. 大數據與機器學習是發展人工智慧必要的條件, 一家不重視資料與軟體人才的企業, 不可能瞬間變成以人工智慧見長的公司. 一家公司弱有心要導入人工智慧, 必須由上而下推動, 以跨部門合作維常態, 而非將所有創新責任加諸於資訊部門. 
  23. 資料的品質比量更重要, 而品質好壞與資訊的雜訊程度有關, 雜訊越少資料品質越好. 
  24. 資料科學家必須具備四大領域的能力 :
    (1). 數學與統計
    (2). 程式設計 & 資料庫
    (3). 領域知識
    (4). 溝通協調能力
  25. 美國心理學家 George Miller 於 1956 年發表的研究論文 "神奇的數字 7+-2 (The Magic Number Seven, Plus or Minus Two)" 指出, 由於人類大腦的極限限制, 人類大腦對於訊息只能處理 7 加減 2 件事, 亦即約 5~9 個訊息, 超出部分人腦會自動忽略無法關注. 也就是說人腦通常只會注意到強訊號, 對於許多連結性較低的弱訊號無法掌握, 而它們可能隱藏了一些有用資訊. 因此人類習慣的訊息處理方式就是把資訊簡化再簡化得出其模式 (pattern) 以幫助記憶與做決策. 
  26. AI 適合用來解決與情境無關的問題, 例如遊戲, 圖像辨識等. 但很多問題都與情境有關, 只是程度不一而已,, 例如圖像辨識也會受到光線, 角度, 遮蔽等情境的影響. 與情境高度相依的問題人工智慧難以發揮, 例如信用卡盜刷, 程式交易, 自駕車, 個人化行銷, 對話機器人, 戰爭, 地震, 颱風預測等. 
以上僅摘要整理書中的技術相關部分, 不算是讀後感. 真正的讀書心得可參考下面這篇 : 


沒有留言 :