人工智慧、機器學習、演算法、大數據、黑盒子到底是什麼
詳述常用的十個演算法概要與原理,其黑盒子原理就是統計與機率
AI大時代有利有弊,也要注意風險
本書目的
1. 認識資訊名詞,不再一知半解。
2. 了解AI的概要、功能與原理及增加AI可信度。
3. 明白傳統統計、商用統計及工程統計的差異性。
4. 認識大數據。
5. 讓一般人、操作者、資訊工程師了解黑盒子。
6. 如何成為AI時代的資訊人才。
7. AI如何改變教育的型態。
8. 知道AI的現在與未來的應用及各方面的影響。
9. 思考高度AI化的世界,將帶來的風險及社會結構的變化。
作者簡介:
吳作樂
學歷 國立台灣大學數學系學士
美國哥倫比亞大學數理統計博士
經歷 長榮大學資訊管理系教授
數位內容創作學程主任
國家太空中心主任
國際宇宙航行學院 (International Academy of Astronautics) 院士
宏遠育成科技股份有限公司總經理
工研院電通所副所長
美國Bell core公司信號處理部研發經理(District Manager)
美國貝爾實驗室(Bell Labs) 衛星通訊部門研究員
吳秉翰
學歷 輔仁大學應用數學學士
章節試閱
1-1 概要
近年來很流行的一些科技名詞,如:人工智慧(Artificial Intelligence, AI)、機器學習(Machine Learning)、演算法(Algorithm)及大數據(Big Data)、黑盒子模式(Black Box Mode)。這些概念常被一些一知半解的媒體、或暢銷書寫成一團亂。有鑑於此,作者將徹底說明這些名詞的意義、相互關係及實際應用到底是什麼?主要目的是期望大家、及資訊專業人員都能清楚了解其中的涵意,進而避開媒體或暢銷書的愈說愈迷糊。這些看似複雜的名詞,都可以一言以蔽之就是電腦的行為。見下述:
• 人類的腦子叫人腦,對應到電子機器類稱為電腦。
• 人類的智慧對應到電腦的智慧稱為人工智慧。因為是人賦予電腦的智慧,故可稱為人工智慧。人工智慧是現階段的情況,以後可能會出現電腦製造下一代的電腦智慧。
• 人類解決各個問題的器具稱為工具,電腦解決各個問題的方法稱為演算法(Algorithm)。
• 人類的學習對應到電腦稱為機器學習。
• 人類依據經驗或是直覺的決策行為對應到電腦就稱為黑盒子模式,也就是一種機率及統計評估後的行為模式,或是直接執行特例的行為模式,也可將黑盒子模式理解為決策部分的演算法。
• 人類依賴過往經歷稱為經驗,對應到電腦累積的資料稱為大數據。
• 大數據是近年來才有的概念,電腦利用大數據的意涵,主要是指在強大的硬體帶來的大量數據量、快速的運算速度。
【現在AI與30年前的AI差在哪裡】
30年來,硬體與語法有大幅進步,更快的處理速度,處理更大量的數據,也收集更多資料,並利用更多統計與機率,讓電腦機器可以自主學習,才產生與以前相比更為聰明的AI,而為了區別,習慣用機器學習來稱呼現在的AI。
【對AI的謬誤】
1. AI不可能比人類聰明
答 機器的優勢是它有它的方法,如數據量、處理速度、出錯率等。人類不該讓機器全然學習我們的方法,因為我們的方法對機器來說可能是個笨方法,如同人製作飛機一開始使用仿生學(模仿動物)的方式,但並不適合人類。舉例來說AI計算圓周率有特有的方法,簡單又直接,換言之有著與人類不同的創造力,後面小節將會介紹。
2. 電腦沒有人類的經驗,或是直覺
答 部分人會認為人類的直覺比電腦來的好,但這只是錯誤認知。人類的直覺基本上是建立在經驗,反應快一點來處理類似的事物就會被稱為直覺好。而電腦有大量的數據(經驗)、處理速度都比人類好,怎麼可以說電腦沒有人類的經驗,或是直覺。只要我們給他足夠的數據,而它的硬體處理速度能跟上,我們的發問足夠清楚,AI的直覺必然會比我們好。
3. AI的智慧都是由人創造
答 人類不該認為人類最聰明,若是以學習能力與創造力來說明,AI比人類聰明。AI是程式碼與統計及機率組成,若是有一天能進步到AI懂程式碼與統計及機率,它可以自己寫自己的程式碼,再利用大數據,並加以進化,最後就比人類更有智慧。最終人類只要丟問題給AI,可以自行寫程式、找資料來幫我們解決問題,參考哆啦A夢(小叮噹)、或鋼鐵人的人工智慧管家─賈維斯。要知道科幻,未必永遠都是科幻,作者相信AI的智慧早晚會進步到比人類還高。
4. 有的人認為學習AI可以不用學黑盒子,也就是不用會統計
答 黑盒子是AI的核心內容,而黑盒子是由統計與機率構成。如果僅是使用現有黑盒子來寫程式,而不去理解黑盒子,能堆疊的人工智慧的高度有限。換句話說,你有足夠多個積木(統計與機率的原理),取用10個積木(統計與機率的原理)作組合的成品(黑盒子)其數量為A,與取用100個積木(統計與機率的原理)作組合的成品(黑盒子)其數量為B,B遠大於A。故不能滿足現有的黑盒子,僅學習現有黑盒子操作。應該學習原理,應用更多原理,才有機會創造更多有用的黑盒子。
5. AI對人類沒有危害
答 許多科幻電影、小說,提到AI反噬人類或人類因此改變社會結構而毀滅,及部分資訊學者也提出AI危害,提醒人類要注意AI的發展。
結論
以前AI是人類教它智慧,一件事情一個處理方式。現在是教它一定的基礎,加上大數據、處理速度、再加上利用更多的統計與機率,讓它有判斷能力,可以自主學習,形成它特有型態的智慧。人類不要老以為只能人類教AI,AI的特有方法可以反饋人類,帶來人類新的方向,甚至作到人類許多作不到的事情。
1-2 AI的歷史與展望
1941年世界誕生第一部電腦,1990年個人電腦出現,硬體的內容隨著時間不斷的演進,一直到2012年迎來大數據時代,此時也是AI實現機器學習的時代,然而這樣的描述並不夠精準,本篇將完整介紹AI的歷史及其相關內容以及未來的發展。
•硬體層面
電腦由數學、邏輯構成,而AI的程式碼更是基於統計與機率所設計的演算法,除了軟體的內容外,硬體也是一個重要元素。早期電腦硬體能力比起現在是天差地遠,而且還會不斷繼續進步,而硬體的進步,讓儲存數據量、處理的效能大大改善,讓複雜程式得以執行,如下圖。加上利用更多的統計與機率,最終讓AI更進一步可以利用大數據進行機器學習,讓人類可以進行大數據分析。在此之前人類都是利用統計進行小數據分析,其主因是因為數據取得不易、硬體能力仍無法處理大量數據。
•軟體層面
為什麼人類需要AI?人類希望更便利的生活,希望機器作到重複性高、大量的、耗大量體力、快速運算等事情,而這也是AI相對於人類的優勢,它們不會抱怨,只要有電力,就能替人類完成,並且AI還有一個人類比不上的優勢就是「聯機」,也就是集結一堆電腦效能來完成人類做不到的事情,如:利用25台機器、170TB記憶體成功算出圓周率小數點後的31.4兆位數、天文等。同樣的AI也有著做不到的事情,如:創造力、寫詩篇、作藝術。以及不應該作到的事情,如:有情緒,因為這些事情與人類需要AI的原始目標違背。
為什麼人類要AI進行機器學習?數學家萊布尼茲提過如果機器會邏輯推理後就會更有智慧,其意思是讓人類生活更加便利。要如何讓AI可以機器學習,人類必須把人類特有的邏輯、數學、文字符號、語法等基礎的內容教會AI去認識與執行,才能讓電腦有知識外,再慢慢產生智慧(註1)。
2012年前的電腦發展,人類用仿生學(註2)的方式在教電腦,並沒有考量到電腦的特殊性,未必適合人類的方法。如:它可以用蒙地卡羅法來求圓周率,並設立幾個停止的條件,就能求出足夠位數的圓周率值(參考1-6節)。如果讓電腦學習人類的方法來運算,將造成主要還是人類寫程式碼,僅能拿來驗證,並沒有達到原本想要人工智慧高度。同時也由於當下是處於硬體不足以支撐運算效能、數據也是有限的時空背景,因此當時的電腦並未能成為有效的AI。
2012年後在硬體足以支撐運算效能、可以儲存更多數據後,人類也將統計與機率的概念加入到程式碼之中,使得AI可以用更好的演算法,將大數據輸入AI之中進行機器學習,進而作出更好的行為。換言之統計與機率使用不足時,AI的效能相對比較差,所以我們不該將AI與統計、機率視為與資訊界不相關,畢竟不懂原理怎麼創造新的演算法、更好的AI。
有趣的是,利用統計與機率做出來的機器學習演算法,如果難以理解會被稱為「黑盒子」。黑盒子有的可以抽絲剝繭,逐步理解內容成為透明盒子,而有的則是經由機器學習後,沒人知道為什麼會這樣作,而且竟然還正確。這在數學、物理等科學經常發生,如:歐拉方程式:eiπ = –1,難以理解的發現方式,但它就是必然正確的數學式。不管黑盒子多麼難以理解,只要AI達到人類目標就是一個實用的AI。
•AI的展望 ─AI自行寫程式碼AI時期、設計硬體時期
作者相信總有一天會進入到AI可自行寫程式碼(設計軟體)、甚至設計硬體的階段,人類只要給出夠明確的指示與問題,AI就可以寫程式碼,並上網收集資料,解決人類需求。而AI寫的程式碼人類未必要懂,它可以利用它的優勢寫出適合他的程式碼來進行運算,AI的智慧可以無限進化,產生許多人類想像不到的解決問題方式。以及到那個時候我們甚至可以教會他基礎的數學、科學理論、文字的定義,讓它自行推導到更高的數學、科學內容,或許人類的科技可以因此到達更高的高度。
1-1 概要
近年來很流行的一些科技名詞,如:人工智慧(Artificial Intelligence, AI)、機器學習(Machine Learning)、演算法(Algorithm)及大數據(Big Data)、黑盒子模式(Black Box Mode)。這些概念常被一些一知半解的媒體、或暢銷書寫成一團亂。有鑑於此,作者將徹底說明這些名詞的意義、相互關係及實際應用到底是什麼?主要目的是期望大家、及資訊專業人員都能清楚了解其中的涵意,進而避開媒體或暢銷書的愈說愈迷糊。這些看似複雜的名詞,都可以一言以蔽之就是電腦的行為。見下述:
• 人類的腦子叫人腦,對應到電子機器類稱為...
作者序
前言
2019年已是資訊科技爆炸的時代,硬體效能進步、硬碟可容納資料量不斷變大,可收集到更多更完整的資料量(大數據)、且使用了更多的統計與機率,促使機器學習與AI能力不斷進步。進步的同時造就許多資訊工程師投入AI設計,也讓許多工作機會漸漸被機器與機器人取代。但大家似乎沒有意識到AI產業可能幾年之後就不再需要只會寫程式碼的「資訊工人」,因為幾年之後我們有可能出現自行寫程式碼的AI,所以今日投入AI的資訊工程師,屆時可能又要面臨沒有工作的情況。故資訊工程師到底還需要學習怎樣的能力才能因應變化快速的時代呢?
現在的資訊工程師大多重視程式碼中的演算法、語法、資料庫等,而閃避黑盒子原理,誠然黑盒子的內容就是統計與機率,並不容易理解,但是仍然不應該閃避或是換包裝自欺欺人,也就是將統計原理當作是資訊原理。程式碼中的演算法、語法、資料庫,這只是踏入AI界的基本功,好比說要去國外發展會該國語言只是基本配備(語法對應文字、文法),還需要拿得出手的一技之長,而對應到學習AI就是要會其原理,也就是統計與機率。
部分人對艾倫‧圖靈不會感到陌生,他被敬稱為人工智慧之父,在二戰時期設計了簡單的人工智慧(相對現代)破譯德軍電報。正式開啟人工智慧大門,促成大家對人工智慧的研究,最後獨立成為一門資訊學科。但大家不一定知道,偉大的艾倫‧圖靈也是數學家、密碼分析學家。早期並沒有所謂資訊人才,有的僅是數學人才,當時AI都是數學人才設計。所以資訊人才不應該逃避數學,完整的說,至少不應該逃避統計、機率的內容,才有機會在AI路上走的更遠。
再以作者在美國貝爾實驗室(Bell Labs)的經驗為例,以及對美國NASA的認識,這些先進的科研單位,都知道物理、數學、資訊相互結合的重要性,換言之貝爾實驗室清楚知道資訊的基本功(演算法、語法、資料庫等)只是讓人類與機器溝通的語言,實際上要讓它們更有效更聰明,免不了要物理學家、數學家的理論作為資訊科學的核心,所以學資訊不可以逃避統計與機率。
目前部分資訊人不了解統計與機率的重要性。如果統計與機率的原理不明白,將會讓程式產出的結果經常錯誤,卻又難以查證與發現,因為實際問題是核心數學內容的錯誤,而非程式語言的語法、演算法問題。如:2015年7月Google的人臉辨識會將黑猩猩與黑人搞混。同時數學家也不要以為AI與自身無關,數學家也應該要學程式語言,可以有效驗證數學內容。本書將會介紹及證明統計與機率如何有利於AI,及AI如何應用在數學問題上。
台灣教育方式習慣背公式、套公式,造就創造力低落的情況。將問題延伸到資訊科學上,就是學習語法、演算法、背黑盒子、套黑盒子,也造成資訊人創造力不足的情況,所以有必要完整的認識內容,才不會淪為只會操作與聽從命令的資訊工人。AI是智慧的象徵,初期必須由有創造力的人設計,故需要懂統計與機率,懂了原理才有機會創新。
許多資訊人認為語法、演算法、硬體、處理器的串連等比較重要,但作者不得不說,以數字排大小為例,語法、演算法可以有很多種。必須利用統計與機率才可以優化、精簡程式碼;重點是理解統計後才能創造出新的演算法,才能讓處理的效率變好。我們要知道,如果一直學習別人的東西,不去理解核心,形同跟在別人後面做事,不會領先他人。目前國外已經有很多資訊專家,認真面對統計與機率的問題。台灣沒有經濟條件一直慢人好幾步,唯有找到核心問題「資訊人要理解黑盒子的重要性,也就是理解統計與機率」,一步到位才有機會面對下一個時代的變遷。
對於一般人而言,目前坊間的AI書籍太過兩極化,也不夠全面,科普的書太簡略、專業的又太專業。令人不容易認識與理解AI及演算法,也無法注意到高度AI化的世界,除了優點外還有許多弊端,如:機器人統治世界或毀滅人類、或是人類濫用科技而自我毀滅、把社會變成地獄,以及AI會如何改變社會結構與教育型態。
本書的目的是給一般人、資訊工程師(Information engineer)與資料科學家(Data scientist)全面性的了解人工智慧與機器學習,使其各自知道應該知道的內容,以及相關的歷史、影響及風險。
「人工智慧無法脫離統計與機率,換句話說統計與機率就是人工智慧的靈魂。」
「人工智慧的發展如同滾雪球一般,愈來愈快,但我們不能只看優點,還要注意其弊端。」
「要成為優秀的物理學家,逃避不了數學。同樣的,要成為優秀的資訊工程師或資料科學家,也逃避不了統計與機率。」
—波提思
前言
2019年已是資訊科技爆炸的時代,硬體效能進步、硬碟可容納資料量不斷變大,可收集到更多更完整的資料量(大數據)、且使用了更多的統計與機率,促使機器學習與AI能力不斷進步。進步的同時造就許多資訊工程師投入AI設計,也讓許多工作機會漸漸被機器與機器人取代。但大家似乎沒有意識到AI產業可能幾年之後就不再需要只會寫程式碼的「資訊工人」,因為幾年之後我們有可能出現自行寫程式碼的AI,所以今日投入AI的資訊工程師,屆時可能又要面臨沒有工作的情況。故資訊工程師到底還需要學習怎樣的能力才能因應變化快速的時代呢?
現在的...
目錄
前言
第1章 人工智慧、機器學習、演算法、大數據、黑盒子的基礎認識
1-1 概要
1-2 AI的歷史與展望
1-3 人工智慧、機器學習與深度學習的關係
1-4 人工智慧之父 ─ 艾倫‧圖靈
1-5 21世紀的新型石油─大數據
1-6 蒙地卡羅法(1)
1-7 蒙地卡羅法(2)
1-8 機器學習與無人駕駛車(1)
1-9 機器學習與無人駕駛車(2)
1-10 演算法與黑盒子模式(1)
1-11 演算法與黑盒子模式(2)
1-12 使用者該如何看待黑盒子模式演算法(1)
1-13 使用者該如何看待黑盒子模式演算法(2)
1-14 使用者該如何看待黑盒子模式演算法(3)
1-15 使用者該如何看待黑盒子模式演算法(4)
1-16 使用者該如何看待黑盒子模式演算法(5)
1-17 使用者該如何看待黑盒子模式演算法(5)
1-18 人工智慧的利與弊(1)
1-19 人工智慧的利與弊(2)
1-20 人工智慧的利與弊(3)
1-21 人工智慧的利與弊(4)
1-22 AI會有情緒嗎?有情緒會不會對人類有所危害?
1-23 我們需要有情緒的AI—強人工智慧嗎?
1-24 AI的應用(1)
1-25 AI的應用(2)
1-26 AI的應用(3)
1-27 AI的應用(4)
1-28 AI的應用(5)
1-29 碎形與AI
1-30 碎形的起源
1-31 碎形與AI
第2章 認識大數據、傳統統計、商用統計與工程統計
2-1 大數據概要(1)
2-2 大數據概要(2)
2-3 什麼是大數據
2-4 大數據的問題
2-5 統計學界的統計分析與商業界的大數據分析之差異
2-6 統計學界的統計分析與工程界的統計分析之差異
2-7 大數據分析的起點
2-8 資訊視覺化
2-9 視覺分析的意義
2-10 建議大數據該用的統計方法
2-11 卡門濾波
2-12 資訊科學家的定位、大數據結論
2-13 資料探勘(1):資料探勘的介紹
2-14 資料探勘(2):數據中的異常值
2-15 資料探勘(3):分群討論
2-16 資料探勘的應用
2-17 時間序列
第3章 認識部分黑盒子演算法的統計原理
3-1 監督學習、無監督學習、半監督學習、強化式學習
3-2 貝氏演算法(1):概要
3-3 貝氏演算法(2):案例
3-4 貝式演算法(3):統計原理
3-5 K-maen 演算法(1):概要
3-6 K-maen演算法(2):案例1
3-7 K-maen 演算法(3):案例2
3-8 K-maen演算法(4):統計原理
3-9 K-mean 演算法(5):最佳化的K值
3-10 K-近鄰演算法
3-11 先驗演算法(1):概要
3-12 先驗演算法(2):案例
3-13 SVM演算法(1):概要與案例
3-14 SVM演算法(2):推廣
3-15 SVM演算法(3):統計原理
3-16 線性迴歸演算法(1):概要
3-17 線性迴歸演算法(2):迴歸線的統計原理
3-18 線性迴歸演算法(3):相關係數的統計原理
3-19 邏輯迴歸演算法:概要與案例
3-20 決策樹演算法(1):概要與樹狀圖
3-21 決策樹演算法(2):案例與剪枝(1)
3-22 決策樹演算法(3):案例與剪枝(2)
3-23 隨機森林演算法:概要與案例
3-24 淺談深度學習:人工神經網路
3-25 可解釋人工智慧
3-26 本章結論
第四章 常用的基礎統計知識
4-1 標準差是什麼
4-2 常態分布
4-3 認識二項分布、卜瓦松分布
4-4 大數法則
4-5 中央極限定理
4-6 中央極限定理的歷史
4-7 標準化
4-8 常態分布的歷史與標準常態分布
4-9 t分布與自由度
4-10 t分布歷史與t分布表
4-11 卡方分布與F分布
4-12 複迴歸分析(1)
4-13 複迴歸分析(2)
4-14 複迴歸分析(3)
第五章 AI的發展與影響
5-1 AI的發展取決於有創意的教育
5-2 淺談世界AI化後教育的衝擊與改變
5-3 AI帶來極致的便利後,造成的社會結構衝擊
5-4 AI世界的奶頭樂:人類生活的再省思
5-5 AI的高度發展後,無條件基本收入作為配套可行嗎?
5-6 AI的發展重心,應放在讓人類懂數學及AI應用更多數學上
5-7 AI時代改變生活的速度,會如同搭電梯而非緩慢爬坡
5-8 哲學問題思考 ─AI與人類未來
錄 附
附錄一 利用Excel作某一商品的建議購物(關聯性分析、購物籃分析)
附錄二 A Fast Training Algorithm for Multi-Layer Neural Network based on Extended Kalman Filter Approach
前言
第1章 人工智慧、機器學習、演算法、大數據、黑盒子的基礎認識
1-1 概要
1-2 AI的歷史與展望
1-3 人工智慧、機器學習與深度學習的關係
1-4 人工智慧之父 ─ 艾倫‧圖靈
1-5 21世紀的新型石油─大數據
1-6 蒙地卡羅法(1)
1-7 蒙地卡羅法(2)
1-8 機器學習與無人駕駛車(1)
1-9 機器學習與無人駕駛車(2)
1-10 演算法與黑盒子模式(1)
1-11 演算法與黑盒子模式(2)
1-12 使用者該如何看待黑盒子模式演算法(1)
1-13 使用者該如何看待黑盒子模式演算法(2)
1-14 使用者該如何看待黑盒子模式演算法(3...