iT邦幫忙

2022 iThome 鐵人賽

DAY 6
6
AI & Data

OH~ AI 原來如此,互助就此開始!系列 第 6

Day 5. AI 趨勢 - 機器學習和深度學習

  • 分享至 

  • xImage
  •  

網路時代的來臨,一直默默耕耘的機器學習終於站上了舞台。隨之而來的深度學習以石破天驚的技術力展現在人們的眼前。

終於輪到重頭戲的部分。從今天開始正式邁入機器學習相關的篇章。

機器學習的定義

The field of study that gives computers the ability to learn without being explicitly programmed - Arthur Samuel(1959)

機器學習的定義是不需明確的程式設計給予電腦學習的能力
不需明確的程式設計是指不用寫一堆條件判斷。而這邊說的學習,以常見的監督式學習來說就是讓機器找到從輸入到輸出的數學函數(function)。

  • 傳統的電腦運算
    輸入 + 函數 = 輸出

  • 機器學習
    輸入 + 輸出 = 函數

如果給你下面的題目,腦筋急轉彎試看看,答案會是多少呢?

1→3,2→6,3→9,4→?

機器學習也是和你一樣先從輸入和輸出找到了它們之間的關係。
也就是一個數學函數。3乘上輸入等於輸出。
https://chart.googleapis.com/chart?cht=tx&chl=f(x)%3D3x%3Dy

我們透過機器學習找到了函數,就能代入資料預測答案。
https://chart.googleapis.com/chart?cht=tx&chl=y%3D3*4%3D12

所以簡單來說機器學習就是找到一個數學函數,只要代入新的輸入,就可以給你想要預測的輸出。

機器學習的例子

https://ithelp.ithome.com.tw/upload/images/20220827/20150622CptHL1FXGG.jpg

機器從給予的樣本資料學習潛在的模式(函數)來預測答案,而樣本資料越多越能得到想要的學習結果(越正確的函數)。有點像是人類累積經驗一樣,經驗越多判斷就越準確。

就像剛剛的範例,如果題目只給 1→3 的話會因為樣本不足很難找到精確的函數。
1→3 有可能是 https://chart.googleapis.com/chart?cht=tx&chl=f(x)%3D3x ,但也有可能是https://chart.googleapis.com/chart?cht=tx&chl=f(x)%3Dx%2B2

早在第一次 AI 浪潮就有相關研究的機器學習,隨著1990年第一個網站的誕生,網路的普及導致資料爆發性地增加(BIG Data),讓機器學習的實用性也開始受到注目。

統計式自然語言處理(Statistical natural language processing)

隨著資料的增加,機器學習在翻譯這一塊也有急速的進展。而所謂的統計式自然語言處理是指不考慮文法結構和意義,單純挑選數學統計上被這樣翻譯機率最高的結果

比如說英文的 train ,如果句子也有出現 station(車站)的話,train 被翻成「火車」的機率最高。但是如果句子有 gym(健身房)的話,train 被翻成「訓練」的機率最高。

上述手法是利用語料庫(corpus)這種同時有中文和英文的大量單字資料來比對出機率。
可惜的是這種翻譯方法也有其限制,下面這句是很有名的例子。

https://ithelp.ithome.com.tw/upload/images/20220816/20150622iyYYDsAZLi.jpg

如果是人類來翻譯的話,大概會翻成他用望遠鏡看到一位在花園的女性。但其實文法上來看,可以有好幾種意思。

  • 他看到一位在花園拿著望眼鏡的女性
    https://ithelp.ithome.com.tw/upload/images/20220816/20150622K2HZrse04D.jpg
  • 他在花園用望眼鏡看到一位女性
    https://ithelp.ithome.com.tw/upload/images/20220816/20150622dHGXEGKsGR.jpg

而我們之所以可以翻譯出比較合理的句子,是因為「他用望遠鏡看到一位在花園的女性」的情況比較可能發生,符合他用望眼鏡時,偶然看到一位在花園的女性的情景。但電腦少了一般常識沒有辦法做出這樣的判斷。

世界知名的 Google 公司是統計式自然語言處理的代表之一,你可以試著用 Google 翻譯看看這一句的翻譯結果是什麼。

深度學習(Deep Learning)

還記得深度學習是機器學習其中的一個分支,而深度學習可以自動擷取特徵嗎。
這個分支叫做人工神經網路或簡稱神經網路

感知器(Perceptron)

國中生物有教過人類的神經系統可以讓我們感應到冷熱,看得見,聽得見以及讓控制身體做出反應。神經系統裡的神經細胞又叫神經元(Neuron),大個有一千億個這麼多,彼此連結負責一層一層傳遞將身體五感接受的訊號傳遞給大腦。

那麼就有人問了,如果讓機器模仿人類的神經元,將其串起來成為人工神經網路,是不是就可能和人腦一樣思考了呢,而這個仿造出來的人工神經元叫做感知器 ,1958年由 Frank Rosenblatt 發表。

上課過的老師們都有提到使用這些名詞要特別注意,神經網路和感知器雖然是由人類的神經系統所啟發,但它們運作的細節和生物大腦無關,要小心避免誤會。

生物 人工仿造
神經系統 神經網路(人工神經網路)
神經元 感知器 (人工神經元)

簡單的感知器長這樣,比如說一個男生想預測自己在交友軟體上能不能配對成功。

https://ithelp.ithome.com.tw/upload/images/20220817/20150622FvgwtZMmC9.jpg

這個感知器內部在幹嘛,我們後面會提到,簡單來說就是做數學計算
像這樣用感知器從配對成功的資料去找出一個數學函數,只要算出來的結果大於對方可接受的門檻,就有可能配對成功。

神經網路(Neural Network)

由幾個感知器串起來的簡單神經網路,處理步驟是這樣

  1. 我們可以透過一層層地計算來做更有彈性的調整,而計算出的預測結果,可能會和答案有誤差

https://ithelp.ithome.com.tw/upload/images/20220817/20150622PWEdtmZmcg.jpg

  1. 把和答案的誤差透過數學計算回饋給每個輸入,做重要度的調整,這邊用線的粗細表示重要度。如果把有沒有房的重要度調高,誤差會比較小的話,就把有沒有房的重要度調高,反之重要度調低。

重要度用專業一點的講法叫權重(Weight)

https://ithelp.ithome.com.tw/upload/images/20220817/20150622mMG05r2x7t.jpg

  1. 重複步驟1和2,這樣一來一往,我們就可以把重要度低到不會影響輸出結果的因素去除,只留下好的特徵,進而將誤差降低到一個我們能接受的預測精準度。

以這個假設的例子而言,我們可以看到有沒有房和顏質的重要度最高,反而是有沒有車或身高有沒有180公分沒有那麼重要不太影響配對結果,所以這兩個可能就不是重要的特徵。

這就是自動篩選出特徵的秘訣,然後像上面一樣作越多層理論上彈性越好結果可以更精細。但是越多層會有一個數學難題,就是越多層往回做重要度的調整會越來越不準。後來解決了這個數學難題,可以越做越多層(越來越深),準確率越來越高的神經網路,其實就是深度學習

雖然神經網路和深度學習基本上是一樣的東西,但是以現實面來看深度學習聽起來比較酷,補助費比較要得到。AI 寒冬時只要是 AI 相關的名詞常會被人認為是騙錢的東西,神經網路也經歷過那個時期。

深度學習的初次登場

ILSVRC(大型視覺辨識競賽)是一個由 ImageNet 主辦,使用電腦辨識圖片的全球性比賽。經由辨識圖片是貓咪,人還是建築物等,看誰的辨識錯誤率最低。當時由機器學習來辨識圖片已經是主流,但因為機器學習的特徵是由人來決定,是屬於專家的知識範疇,各機構都在不斷嘗試錯誤中找出好的特徵,才好不容易降低一丁點錯誤率。

就在這樣爭取百分之零點幾誤差的世界裡,2012年第一次參賽的多倫多大學 SuperVision 橫空出世。以16% 錯誤率和第二名東京大學(26%)拉開非常大的差距, 壓倒性地取得了勝利!

多倫多大學致勝的關鍵,是採用該所大學的 Geoffrey Hinton 教授從2006年展開的深度學習技術,不再由人類來設計特徵,而是讓機器從資料裏頭自動取得特徵再分類圖片。從此機器學習又往自動化更前進一步。

如此令人驚愕的成果在世界各地捲起了旋風,也讓深度學習一詞變成最火熱的話題。

 ILSVRC是縮寫,全名是 ImageNet Large Scale Visual Recognition Challenge

ILSVRC 歷年冠軍的錯誤率

https://ithelp.ithome.com.tw/upload/images/20220817/20150622lSqP2qNlh4.jpg

2012年採取深度學習之後可以看到一口氣下降了快10%,之後逐年降低,2015年更是打破人類錯誤率4%的極限,達到了比人類更優秀的識別率。

ILSVRC 歷年冠軍和使用手法

年份 獲勝隊伍 模型名 手法
2012 SuperVision AlexNet 8層,6千萬個參數
2014 Google GoogLeNet 22層 Inception
2015 Microsoft ResNet 152層 Skip connection
2017 Momenta SEnet Attention

深度學習的深度每年都不斷的增加,技術也一直推陳出新。

補充資料

立即複習

  1. 機器學習簡單來說是指透過學習找到什麼?
  2. 深度學習又叫?構成單位是什麼?
  3. 深度學習能夠自動擷取出特徵的原因是利用預測結果和答案的誤差做什麼東西的調整?
  4. 2012年多倫多大學使用的模型名稱叫什麼?

常遇到有人把參賽隊伍名誤當成模型名稱...

參考資料


上一篇
Day 4. AI 趨勢 - 知識表示
下一篇
Day 6. 機器學習模型 - 學習的種類
系列文
OH~ AI 原來如此,互助就此開始!31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言