其實 Jason 一直很想開這個 Topic 來寫想很久了,只是之前一直沒什麼時間,最近剛好事情都忙完了,想說轉趁轉換跑道之前把這東西寫一寫好了!這篇的內容不會寫很深,可以當作科普文章看看就好 :") 說到人工智慧,你會想到什麼?
是美劇「西部世界」裡面的接待員 ( Host ),或者電影「機械公敵」裡面的索尼 (Sonny) ?
還是亞馬遜智慧音箱裡的 Alexa、蘋果手機裡面的 Siri ? 人工智慧一詞指的是:由人製造出來的 "機器" 所表現出來的 "智慧"。 這當中的 機器或機械 ( Machine ) 一詞還是比較好理解的,那什麼又叫做 智慧或智能 ( Intelligence ) 呢? Well.. 關於這個還真的蠻有爭議性的,因為它涉及到諸如意識 ( consciousness )、自我 ( self )、心靈 ( mind ),包括無意識的精神 ( unconscious mind ) 等等問題。而人目前唯一瞭解的智慧即是"人"本身的智慧 ( 因為你也沒有其他對象可以研究了xD ),但是其實我們對於本身智慧的理解都非常有限,甚至對於構成智慧之必要元素的瞭解也非常有限,所以就很難定義什麼是「人工」製造的「智慧」了。 也正由於 "智慧" 本身並未有確實定義,所以對人工智慧也會有不同理解。於是在1980 年的時候,美國的一位哲學家約翰.瑟爾 ( John Searle ) 便提出了強人工智慧( Strong AI ) 和 弱人工智慧 ( Weak AI ) 的兩種分類,讓兩種不同的主張區別開來。
現階段整個學術研究、商業應用的主流都是所謂的弱人工智慧,而當然也是有人專門在研究 AGI 的啦~
只不過他們也還沒過完他們那片維斯特洛大陸上的冬天吧,而接下來我們也不會針對這個部分來做討論。 人工智慧發展史
1956年的達特矛斯會議正式提出 「人工智慧」的這個概念,在此之後便吸引了大批的數學家、神經學家、電腦科學家等來研究這一個領域,進而催生了第一次的人工智慧革命。當時開發出了很多程式都讓當時的人們感覺很神奇,像可以用來解決代數應用題、證明幾何定理等,他們沒有想過原來機器可以這麼 "智能",而當時的研究人員還很樂觀,認為具備完全智能的機器可以在 20年內被設計出來。
在這個黃金年代有很多經典的演算法被設計出來,對往後 CS 領域的發展也有極深的影響,只不過好景不長,很快的他們就在1974年左右迎來了第一次的寒冬,由於早期的研究者對於 AI 課題難度的判斷過於樂觀,導致有很多他們早期的預言全部都失靈了... 你想想如果今天有人跟你講 xxx 以後會很好,馬上就會好! 結果這句"會很好"就這麼喊了 20年都沒有變好,那你還會把票投給他嗎? ㄜ... 不是,我是說.. 那個.. 你還會願意繼續投錢嗎? 另外在學界當中也存在著一些反對的聲音,像有人就提說:哥德爾不完備定理已經證明形式系統是不可能判斷某些陳述的真理性,但是卻是人類可以的,所以很直覺的認定是不可能造出智能機器的。 最後加上當時計算機有限的記憶體和處理速度,根本不足以解決任何實際的 AI問題。像在那個時候有位大神做了一個跟 NLP 相關的研究,不過他最後只能用 20個詞彙來做展示 ( 因為當時的記憶體就只能存那麼多字 )。 雖然 AI 領域的寒冬已至,但仍有些研究人員仍努力不懈的堅守在他的崗位上,像長城上的守夜人一樣。 1980年 Winter is over, Spring has come. 部分 AI 的研究人員轉了個方向,既然通用的人工智能還造不出來,那不如先搞搞一些特定用途的吧!一類名為「專家系統」的 AI 系統開始被全世界的企業所採用,而「知識處理」成為了主流 AI 研究的顯學。 所謂的「專家系統」就是一支程式,它能夠依據一組從專門知識中推演出的邏輯規則用來某一特定領域回答或解決問題,把問題的範圍給限定了 ( 在很小的知識領域 ),可以比較容易被實現,從而也證明了 AI 還是有它的實用性的,便因此而再度熱絡了起來。 1987年,成也專家系統;敗也專家系統。1980年代專家系統被過度炒作,人們對於它抱持著高度的期待,最後漸漸發現專家系統的實用性僅僅局限於某些特定情景,但它的硬體價格高居不下,同這個時期 Apple 與 IBM 製造的電腦性能也越來越好,老產品似乎也失去了存在的理由,這些專家系統們難以升級、難以使用,便只好眼睜睜的看著 AI 的泡沫又再次破裂。 轉折,向上,走向未來!
如果你問說為什麼在 1993年後 AI又起來了?
或許這是個 天時 + 地利 + 人和 的問題,在經過半個世紀的發展 AI 終於開始能實現一些它最初設定的目標了,加上經過半個世紀的「摩爾定律」催化之下,計算機的記憶體和處理速度漸漸地能滿足了一些 AI 的基本需求。 不過也因為經歷了前面的幾次泡沫,AI 在商業領域或學術上的"名聲"也被玷汙的差不多了,所以不少研究人員會將 AI 的東西細分成幾個子領域,然後搞個新名詞來掩飾它 xD 像有個很有名的例子就是,現在最火紅的 Deep Learning 一詞,就是當初作者知道如果自己投一篇標題名稱中帶有 Neural Network 的 Paper 出去,很有可能人家連看都不看就打槍你 ( 在當時類神經網路可以說被整個學界所唾棄 ),於是乎他就造了一個新名詞將他原本的 Deep Neural Network 改名叫 Deep Learning。 人工智慧? 機器學習? 深度學習?
如果從整個 AI 發展史的脈絡來看的話,似乎不然理解為啥在聽人們談論 AI 的時候,還有有這一堆堆莫名其妙的名詞 ( e.g. Machine Learning、Deep Learning ) 的出現,但是所謂的人工智慧、機器學習、深度學習,究竟這三個東西到底是命運的安排,還是情感的糾結,或是另有隱情,真相到底是什麼讓我們繼續看下去:
原來,人工智慧是我們始終不變的大方向,而機器學習只不過是眾多可以用來實現人工智慧的方法之一。 而所謂的機器學習方法,想要實現的目標就是:我們不再需要透過 Hard Coding(註一) 的方式告訴電腦應該要怎麼做,而是讓電腦自己去計算出該怎麼做。 聽起來有一點玄乎嗎? 沒關係,那麼我們來舉個例吧! 比如說,你希望告訴電腦一個人的年紀,然後電腦會告訴你他是不是老人。 如果使用傳統程式設計方法來做的話,那我們就需要告訴電腦它該怎麼做。具體一點來說就是在程式中寫入一個門檻值,而程式再依據這一個門檻值來判斷這個年紀的人是不是老人。代碼如下:
Example Code
而機器學習的方法就不一樣了,我們不會直接告訴它幾歲以上的人才是老人,而是會準備很多很多的資料來訓練它 ( 我們會稱這些資料作:Training Data ),讓它自己學出一個規則,當這一個規則成功的被我們訓練出來之後,我們就可以接著再用它來作判斷了! 因為是讓電腦 ( 機器 ) 自己從資料中學習出判斷規則的方法,故得名機器學習。 我們用來訓練它的資料集可能長得像這個樣子:
( 一般真實的資料集 row 跟 col 都會比這個多很多 )
電腦自己用機器學習的演算法跑一跑之後,自己就會找出一個介於 62~67 之間的閥值。 假設電腦找到的閥值是 63.5,那麼只要你輸入大於 63.5 的數字電腦就會告訴你是老人,反之則不是。 在這個概念一被提出來的時候,一狗票的人就覺得: 「 哇~ 這也太神惹八! 只要餵給電腦一堆數據,電腦就可以自己學出點什麼東西來欸!」 紛紛認為它就是預言中的王子,能夠帶領人類擊敗異鬼,走出長夜。 於是就開發出了整遍山的機器學習演算法,像是著名的 : Support Vector Machine、Logistic Regression、Decision Tree、Random Forest、K Nearest Neighbor、K-Mean 等等。 這當中就包括了,曾經紅極一時,然後被其他算法打趴在地上,接著在 2010年後又強勢回歸的: Artificial Neural Network , ANN,一般大家習慣簡稱它作 : Neural Network , NN ; 中文的話翻作:「人工神經網路」或者「類神經網路」( 主要是跟生物的神經網路作區隔 ), 而會取名叫神經網路還就真的是因為它是參考生物的神經網路系統來設計的 ( 仿生學的概念 )。
而人工神經網路又可以分成:
在深層網路的時候根本就不 work 啊,網路太深 model train 不起來; 而淺層網路的話,那倒不如直接用 SVM、LR 這類的經典算法 ( 它們經過時間的考驗,效果也都還ok )。 至此之後神經網路就被人們所唾棄了... 但也就是在神經網路被學界所唾棄之後,有一個人,他,不離不棄!
也正因為他對於神經網路的這股熱情,使得30年以後,他重新定義了神經網路、帶領神經網路重返榮耀,讓寒冬中的人工智慧領域再次春暖花開,Hinton 也因此被稱為「深度學習之父」。至於他是怎麼讓以前不 work 的深度神經網路 work 的,這部分就真的蠻專業也蠻 detail 的,Jason 就不在這篇當中提了。
所以機器學習的方法有很多,而深度學習只是應用在其中神經網路上的一種特例。 說了這麼多 AI 到底能幹嘛?
前面看 Jason 講古講這麼久,我想有人可能會問:講了這麼多,機器學習/深度學習 到底可以幹嘛?
它不就只是把一堆數據餵進去給電腦,然後電腦會自己學出一點東西? 那可以幹嘛? 你可以試著想看看,如果今天是把一堆 X光的照片餵進去給電腦,然後告訴它那些是有 cancer 的,哪些沒有,然後電腦就會自己學習出有 cancer 的 X光片應該長的像怎樣 ( 有哪些特徵 ),這樣以後你照完 X光之後電腦馬上就可以直接告訴你有沒有 cancer 了,而且準確度可能比人類醫生還高! 還是將氣象站的資訊丟給電腦學習,讓他學習出在下大雨前會有那些特徵,它便可以在用這些特徵去判斷等等會不會下大雨 ( 同理,你也可以套到紫外線、PM2.5 等等 )。 或者,你也可以應用在商業行為,讓商店老闆比孩子的爸更早知道媽咪懷孕了,像美國的 Target (註二)超市,雖然他們當初用的是 Big Data + Data Mining 的技術,但這完全也可以用 AI 的技術來做。 另外 Google 也將 AI 技術使用到他們廣告投放的部分;甚至還有人做過實驗,可以依據你看A片的行為、喜好,來預測你的政治傾向 ( 在美國這算一件蠻隱私的事,他們不喜歡公開談論自己的政治傾向。),並且成功準確用來預測了 2016年 美國的總統大選。 而這就是「大數據」+「人工智慧」的威力。 除了分析跟預測,還有嗎?
當然嘛還有!除了上面提到的預測與分析,目前 AI 在影像辨識跟聲音辨識領域的表現更是一絕,辨識能力幾乎打趴了傳統的那些辨識技術。
影像辨識方面,在影像界權威性的比賽 ILSVRC (註三) 中,早就已經被 AI 打到皮無完膚了! 被打到比賽都停辦了,別以為 Jason 在開玩笑啊~ 在 2017年比賽的最後一屆冠軍它的 Top 5 Error Rate 已經低到只剩 2.3% 了!( 屌打人類的 5.1% 啊 ) 主辦方覺得再比也沒啥意義於是就停辦了。
在 AI 正式參戰之前,傳統影像辨識技術大都維持在 25-28% 的 Top-5 Error Rate,在 2012年 AlexNet 參戰後,傳統影像辨識技術便開始全面潰敗,自 2012年開始分別由不同的 AI Model 奪冠。
AI 就是那個又會讀書又會玩的雞掰同學
AI 除了能做上面那些事情好棒棒之外,開始有人動腦經想說那能不能讓 AI 來打遊戲?
這個想法也不能說多新穎啦~ 畢竟你以前玩的很多遊戲裡面都會有 "電腦玩家" 這個選項給你,像世紀帝國、星海爭霸、魔獸爭霸、英雄聯盟、DOTA、DOTA2 等等,讓一些邊緣人自己也能玩玩遊戲不至於太寂寞。 不過基本上那些 BOT 也就是靠軟體工程師 Hard Coding 寫進去的,所以就笨笨的、爛爛的、打起來沒什麼挑戰性,所以就有人用 AI 的技術來打造 BOT。 不做就算了,一做嚇死人,這邊就不說那條人盡皆知的阿法狗 ( AlphaGo ) 了,就還真有人讓AI 來玩 CS、星海爭霸、毀滅戰士、DOTA2 等遊戲,而且它們玩得比人都好啊! 我想看到這邊以後應該對 AI 是什麼有個基本的理解了! 那再來 Jason 就針對幾個比較常見的問題做 Q&A 的回答做結好了。 Q: AI會取代掉我的工作嗎?
當然這個問題的答案因人而異,取決於不同的產業有不同的特性、個人的教育背景、經驗、經歷等等,但是這個問題的答案,對於絕大多數的人來說,會!是一個非常肯定的會!
但是也不用過於緊張,因為關於這個問題與其問「 Will it happen? 」不如問「When did it happen?」 新技術衝擊舊產業也不是什麼新鮮事了,歷史上已經歷經過三次工業革命,而第四次正要來臨! 對台灣來說,跟著世界的潮流在改變也是必然,但 還沒有那麼快! 要記得上帝在替你關上了一扇門之後,也必定會再為你打開另一扇窗。 每一次新技術衝擊舊產業之後,的確他會消滅掉很多工作機會,但同時他也會提供很多新的工作機會。 You can see it coming, and what will you do? Q: AI 在應用上最大的困難與挑戰是什麼?
要說 AI 的話這範圍真的太大了,不如來說說最近很夯的 ML 跟 DL 好了,至於 AGI 這淌水真的太深,就不聊了。
如果我們從支撐 ML 與 DL 的三大基石 ( 數據、演算法模型、運算能力 ) 來看的話,除了模型算法妥妥的,有無數的科研人員沒日沒夜的產出新的 Paper 之外,另外兩點在實際應用面上就會是個挑戰。
Q: AI 聽起來很高"貴",那我們公司也可以應用 AI 嗎?
如果你是老闆,想替你們公司、你們產業導入 AI,最簡單的方法就是 ==> 付錢了事!
現在外面已經有很多專門在提供 AI 服務的公司,提供你的需求跟資料給他們,他們就會想辦法幫你弄;另外還有一個比較便宜的方法就是:搞產學合作,現在蠻多大專院校都有研究 AI 的老師、做 AI 的Lab,找那些老師談談看你的需求、並給他們需要的資料跟開發金費,一般都可以成。 再不然,如果你給的錢少到連大學教授都不願意接的話,還有一招,你就去辦個比賽吧! 把你的資料集公開,把那些錢當成獎金,再印張獎狀,總能吸引到一些高手來幫你處理的。 Q: 我應該如何學習 AI?
Jason 認為最好的學習方法,就是自學!
我是覺得沒有必要特別花個幾萬塊去上啥 xxx培訓班、AI 養成班之類的, 雖然他們嘴上都說著政府補助,但是需要學員自己負擔的部分也是讓人嚇到吃手手。 而且在網路上就有很多很好免費的自學、教育資源了:
Ok, 希望看完這篇之後,能解決你們心中對於人工智慧的一些疑惑,或者至少對它不再那麼陌生。
[ 註一 ] Hard Coding:在軟體程式中把相關參數寫死在原始碼中。
[ 註二 ] Target:目標百貨公司,是美國僅次於沃爾瑪的第二大零售百貨集團。【維基百科】 [ 註三 ] ILSVRC:ImageNet Large Scale Visual Recognition Challenge,是近年來電腦視覺領域最受追捧也是最具權威的學術競賽之一,代表了影象領域的最高水平。
0 評論
發表回覆。 |
Jason Chen人不光是生來就擁有一切,而是靠他從學習中得到的一切來造就自己。- 歌德 文章分類
全部
封存檔
九月 2023
|