人工智能、機(jī)器學(xué)習(xí)與深度學(xué)習(xí)
1 人工智能和機(jī)器學(xué)習(xí)
在正文開始之前,先請大家看一張人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)關(guān)系圖,如下圖1.1所示
圖1.1 人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)關(guān)系圖
現(xiàn)在我們帶著一個(gè)問題——“你心目中的人工智能是什么樣的?”,我們往下看可能枯燥的文字就會(huì)變得有趣了。
人工智能之父——“艾倫·麥席森·圖靈”提出了一種用于判定機(jī)器是否具有智能的試驗(yàn)方法,即圖靈試驗(yàn)。此原則說:如果一個(gè)人使用任意一串問題去詢問兩個(gè)他不能看見的對象:一個(gè)是正常思維的人;一個(gè)是機(jī)器,如果經(jīng)過若干詢問以后他不能得出實(shí)質(zhì)的區(qū)別,則他就可以認(rèn)為該機(jī)器業(yè)也具備了人的“智能”。
人工智能最早的應(yīng)用——在二戰(zhàn)期間,圖靈曾協(xié)助英國軍方破譯德國著名的密碼系統(tǒng)Enigma,為扭轉(zhuǎn)二戰(zhàn)盟軍的大西洋戰(zhàn)場戰(zhàn)局立下汗馬功勞。將英國戰(zhàn)時(shí)情報(bào)中心每月破譯的情報(bào)數(shù)量從39000條提升到84000條,讓二戰(zhàn)至少提前結(jié)束了幾年。感興趣的小伙伴可以觀看相關(guān)的電影“模仿游戲”。這里就不再提及。
機(jī)器學(xué)習(xí):機(jī)器學(xué)習(xí)是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計(jì)學(xué)、逼近論、凸分析、算法復(fù)雜度理論等多門學(xué)科。專門研究計(jì)算機(jī)怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識(shí)或技能,重新組織已有的知識(shí)結(jié)構(gòu)使之不斷改善自身的性能。它是人工智能核心,是使計(jì)算機(jī)具有智能的根本途徑。
機(jī)器學(xué)習(xí)本質(zhì)上就是借鑒了我們?nèi)祟惖膶W(xué)習(xí)方法,例如:人的絕大部分智能是通過后天訓(xùn)練和學(xué)習(xí)得到的,并不是天生就具備的,新生兒剛出生的時(shí)候沒有認(rèn)知能力,在成長的過程中不斷得到信息,對大腦形成刺激,從而建立認(rèn)知能力。給孩子建立“蘋果”、“橙子”的抽象概念,我們就需要不斷地帶他認(rèn)識(shí)很多“蘋果”、“橙子”的實(shí)例和圖片,建立起他對“蘋果”、“橙子”的認(rèn)知。
圖1.2 認(rèn)知識(shí)物卡
機(jī)器學(xué)習(xí)中的經(jīng)典算法發(fā)展史
圖1.3 機(jī)器學(xué)習(xí)經(jīng)典算法
在這里就只拿被稱為機(jī)器學(xué)習(xí)天花板的SVM經(jīng)典算法來闡明一下機(jī)器學(xué)習(xí)的實(shí)現(xiàn)原理吧!
還是老樣子,我們帶著實(shí)際問題來了解SVM這樣會(huì)更加的清晰。比如給你一堆“貓”和“狗”的圖片,讓你將“貓”和“狗”分別識(shí)別出來,你會(huì)怎么做呢?
圖1.4 貓狗圖片
像這些圖片,我們由于早早的建立起了對“貓”和“狗”的認(rèn)知,所以我們就能很輕松的分類出來,但是我們沒多少人愿意做這種枯燥無趣的工作,我們有機(jī)器,何不訓(xùn)練機(jī)器來幫助我們完成這種簡單無趣的工作呢?
2 數(shù)字圖像和模擬圖像
在給大家揭開機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的神秘面紗之前,先介紹一下圖像處理中的最重要的一項(xiàng)——“圖像”。圖像現(xiàn)在大致可分為“模擬圖像”與“數(shù)字圖像”。
模擬圖像:又稱連續(xù)圖像,是指在二維坐標(biāo)系中連續(xù)變化的圖像,即圖像的像點(diǎn)是無限稠密的,同時(shí)具有灰度值(即圖像從暗到亮的變化值)。連續(xù)圖像的典型代表是由光學(xué)透鏡系統(tǒng)獲取的圖像,如人物照片和景物照片等,有時(shí)又稱模擬圖像。用膠卷拍出的相片是模擬圖像,根據(jù)膠卷洗一寸的照片與洗二寸的照片,不影響視覺效果。但模擬圖像包含的信息量巨大,而我們通常需要使用計(jì)算機(jī)對圖像進(jìn)行處理,所以需要由有限行和有限列組成數(shù)字圖像。如圖2.1所示:
圖2.5 貓狗分類點(diǎn)集
其中紅色的點(diǎn)我們可以認(rèn)為是“貓”,藍(lán)色的點(diǎn)我們認(rèn)為是“狗”。我們通過上述的特征可以明顯的看出這紅點(diǎn)和藍(lán)點(diǎn)之間存在間隔!而我們讓機(jī)器能夠找出一個(gè)線將紅點(diǎn)和藍(lán)點(diǎn)分離開來就可以讓機(jī)器來幫助我們識(shí)別圖片到底是貓還是狗啦?。ň唧w算法不過多介紹,感興趣的可以百度SVM)分類效果如下圖所示:
圖2.6 SVM二分類線
我們可以看到圖中有一條實(shí)線,新的圖片經(jīng)過計(jì)算后結(jié)果在實(shí)線上方的我們就認(rèn)為它是藍(lán)色的點(diǎn)為“狗”,反之則是紅色的點(diǎn)也就是“貓”,這是一個(gè)簡單的二分類,以此類推,我們可以實(shí)現(xiàn)多分類!如圖所示:
圖2.7 SVM三分類線
由這個(gè)“貓”和“狗”的分類我們基本可以得到機(jī)器學(xué)習(xí)解決問題的流程:
3 深度學(xué)習(xí)
如同機(jī)器學(xué)習(xí)是在人工智能的基礎(chǔ)發(fā)展來的一個(gè)分支,深度學(xué)習(xí)則是在機(jī)器學(xué)習(xí)的基礎(chǔ)上發(fā)展來的一個(gè)分支。
圖3.1 深度學(xué)習(xí)比例圖
深度學(xué)習(xí)也被稱為人工神經(jīng)網(wǎng)絡(luò),它是建立在我們對于自身認(rèn)知水平上的產(chǎn)物,就拿下圖生物研究成果來說,我們通過眼睛來收集信息,通過神經(jīng)元網(wǎng)絡(luò)來傳遞給大腦,最后得出我們觀察到的結(jié)果。
圖3.2 人體神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
深度學(xué)習(xí)也正如同于此,我們還是舉個(gè)簡單的實(shí)例來分析一波深度學(xué)習(xí)的工作方式?,F(xiàn)在給我們的問題是一個(gè)簡單的手寫數(shù)字識(shí)別0-9這10個(gè)數(shù)字。讓我們能夠正確的識(shí)別這10個(gè)數(shù)字。過程其實(shí)比較簡單:
我們首先將手寫數(shù)字圖片收集起來,將相對應(yīng)的數(shù)字圖片進(jìn)行相對應(yīng)的標(biāo)簽。
將圖片和標(biāo)簽都告訴計(jì)算機(jī),讓其在構(gòu)建好的卷積網(wǎng)絡(luò)中訓(xùn)練學(xué)習(xí)。
對學(xué)習(xí)好的模型進(jìn)行驗(yàn)證極其應(yīng)用。
圖3.3 圖片標(biāo)注訓(xùn)練圖
為什么說深度學(xué)習(xí)為人工神經(jīng)網(wǎng)絡(luò)。接下來我們可以看看這幅圖片。
圖3.4 手寫數(shù)字神經(jīng)網(wǎng)絡(luò)圖
Input layer輸入層可以看成輸入的圖片,空心圓圈我們暫且理解為像素好了,這些像素經(jīng)過中間hidden layer隱藏層(可以看成神經(jīng)元的傳輸)的運(yùn)算,最后輸出到output layer輸出層為10個(gè)數(shù),這10個(gè)數(shù)經(jīng)過運(yùn)算以后范圍一般為0-1之間,從上到下可以看成為0-9這是個(gè)數(shù)字的概率值。例如:我們把一張數(shù)字9的圖片放入訓(xùn)練好的模型中,最后到output layer的時(shí)候這十個(gè)數(shù)的數(shù)組為[0.12,0.32,0.33,0.10,0.01,0.01,0.01,0.01,0.15,0.99]
分別表示這計(jì)算機(jī)認(rèn)為這張圖片是0的概率是0.12……9的概率為0.99。那么我們計(jì)算機(jī)會(huì)挑選概率最大的0.99對應(yīng)的標(biāo)簽來認(rèn)為這張圖片就是9。這些hidden layer的隱藏層如同我們的神經(jīng)網(wǎng),起到自動(dòng)提取特征運(yùn)算的作用,并且從而對比傳統(tǒng)機(jī)器學(xué)習(xí)算法具有更高的準(zhǔn)確率。
那么深度學(xué)習(xí)就一定比傳統(tǒng)機(jī)器學(xué)習(xí)好嗎?其實(shí)不然,他們都各有優(yōu)劣。
深度學(xué)習(xí)優(yōu)點(diǎn):
1、精準(zhǔn)度高(超出傳統(tǒng)機(jī)器學(xué)習(xí)一截),適用性廣。
2、端到端,保密性強(qiáng)(hidden layer隱藏層就相當(dāng)于一個(gè)小黑盒,不到最后的輸出結(jié)果你不知道目前到了哪一步)。
3、不需要手動(dòng)提取特征。
……
深度學(xué)習(xí)缺點(diǎn):
1、計(jì)算量大、硬件要求高(網(wǎng)絡(luò)層數(shù)越多計(jì)算量越大)。
2、訓(xùn)練時(shí)間久,通用性不強(qiáng)(訓(xùn)練的它能識(shí)別,不訓(xùn)練的它可能不知道)。
3、不成熟(全世界的專家都在研究hidden layer隱藏層,我們?nèi)祟惥谷荒茉斐霾恢谰唧w原理的東西,只知道它能這樣實(shí)現(xiàn)功能)。
……
機(jī)器學(xué)習(xí)優(yōu)點(diǎn):
1、通用性強(qiáng)。
2、硬件要求低。
3、運(yùn)算時(shí)間短。
4、比較成熟。
……
機(jī)器學(xué)習(xí)缺點(diǎn):
1、過分依賴于二值化。
……
到了這里想必大家對人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)有了一定的了解,回到最初的問題“你心目中的人工智能是什么樣的呢?”,可能現(xiàn)在的技術(shù)和你想的略有差距。但未來一定有像電影里的那種人工智能機(jī)器人(好了,偏離主題了)