新聞中心

EEPW首頁 > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 人工智能入門基礎(chǔ)

人工智能入門基礎(chǔ)

作者: 時(shí)間:2017-10-24 來源:網(wǎng)絡(luò) 收藏

  對(duì)領(lǐng)域來說,2016年是值得紀(jì)念的一年。不僅計(jì)算機(jī)「學(xué)」得更多更快了,我們也 懂得了如何改進(jìn)計(jì)算機(jī)系統(tǒng)。一切都在步入正軌,因此,我們正目睹著前所未有的重大進(jìn)步:我們有了能用圖片來講故事的程序,有了無人駕駛汽車,甚至有了能夠 創(chuàng)作藝術(shù)的程序。如果你想要了解2016年的更多進(jìn)展,請(qǐng)一定要讀一讀這篇文章。AI技術(shù)已逐步成為許多技術(shù)的核心,所以,理解一些常用術(shù)語和工作原理成為了一件很重要的事。

本文引用地址:http://butianyuan.cn/article/201710/367893.htm

  是什么?

  的很多進(jìn)步都是新的統(tǒng)計(jì)模型,其中絕大多數(shù)來自于一項(xiàng)稱作「人工神經(jīng)網(wǎng)絡(luò)」(artificial neural networks)的技術(shù),簡(jiǎn)稱ANN。這種技術(shù)十分粗略地模擬了人腦的結(jié)構(gòu)。值得注意的是,人工神經(jīng)網(wǎng)絡(luò)和神經(jīng)網(wǎng)絡(luò)是不同的。很多人為了方便起見而把 「人工神經(jīng)網(wǎng)絡(luò)」中的人工二字省略掉,這是不準(zhǔn)確的,因?yàn)槭褂谩溉斯ぁ惯@個(gè)詞正是為了與計(jì)算神經(jīng)生物學(xué)中的神經(jīng)網(wǎng)絡(luò)相區(qū)別。以下便是真實(shí)的神經(jīng)元和神經(jīng)突 觸。

  

  我 們的ANN中有稱作「神經(jīng)元」的計(jì)算單元。這些人工神經(jīng)元通過「突觸」連接,這里的「突觸」指的是權(quán)重值。這意味著,給定一個(gè)數(shù)字,一個(gè)神經(jīng)元將執(zhí)行某種 計(jì)算(例如一個(gè)sigmoid函數(shù)),然后計(jì)算結(jié)果會(huì)被乘上一個(gè)權(quán)重。如果你的神經(jīng)網(wǎng)絡(luò)只有一層,那么加權(quán)后的結(jié)果就是該神經(jīng)網(wǎng)絡(luò)的輸出值?;蛘撸阋部?以配置多層神經(jīng)元,這就是深度學(xué)習(xí)的基礎(chǔ)概念。

  它們起源何處?

  人工神經(jīng)網(wǎng)絡(luò)不是一個(gè)新概念。事實(shí)上,它們過去的名字不叫神經(jīng)網(wǎng)絡(luò),它們最早的狀態(tài)和我們今天所看到的也完全不一樣。20世紀(jì)60年代,我們把它稱之為感知 機(jī)(perceptron),是由McCulloch-Pitts神經(jīng)元組成。我們甚至還有了偏差感知機(jī)。最后,人們開始創(chuàng)造多層感知機(jī),也就是我們今天 通常聽到的人工神經(jīng)網(wǎng)絡(luò)。

  

  如果神經(jīng)網(wǎng)絡(luò)開始于20世紀(jì)60年代,那為什么它們直到今天才流行起來?這是個(gè)很長(zhǎng)的故事,簡(jiǎn)單來說,有一些原因阻礙了ANN的發(fā)展。比如,我們過去的計(jì)算 能力不夠,沒有足夠多的數(shù)據(jù)去訓(xùn)練這些模型。使用神經(jīng)網(wǎng)絡(luò)會(huì)很不舒服,因?yàn)樗鼈兊谋憩F(xiàn)似乎很隨意。但上面所說的每一個(gè)因素都在變化。如今,我們的計(jì)算機(jī)變 得更快更強(qiáng)大,并且由于互聯(lián)網(wǎng)的發(fā)展,我們可使用的數(shù)據(jù)多種多樣。

  它們是如何工作的?

  上面我提到了運(yùn)行計(jì)算的神經(jīng)元和神經(jīng)突觸。你可能會(huì)問:「它們?nèi)绾螌W(xué)習(xí)要執(zhí)行何種計(jì)算?」從本質(zhì)上說,答案就是我們需要問它們大量的問題,并提供給它們答 案。這叫做有監(jiān)督學(xué)習(xí)。借助于足夠多的「問題-答案」案例,儲(chǔ)存在每個(gè)神經(jīng)元和神經(jīng)突觸中的計(jì)算和權(quán)值就能慢慢進(jìn)行調(diào)整。通常,這是通過一個(gè)叫做反向傳播 (backpropagation)的過程實(shí)現(xiàn)的。

  

  想象一下,你在沿著人行道行走時(shí)看到了一個(gè)燈柱,但你以前從未見過它,因此你可能會(huì)不慎撞到它并「哎呦」慘叫一聲。下一次,你會(huì)在這個(gè)燈柱旁邊幾英寸的距離 匆匆而過,你的肩膀可能會(huì)碰到它,你再次「哎呦」一聲。直到第三次看到這個(gè)燈柱,你會(huì)遠(yuǎn)遠(yuǎn)地躲開它,以確保完全不會(huì)碰到它。但此時(shí)意外發(fā)生了,你在躲開燈 柱的同時(shí)卻撞到了一個(gè)郵箱,但你以前從未見過這個(gè)郵箱,你徑直撞向它——「燈柱悲劇」的全過程又重現(xiàn)了。這個(gè)例子有些過度簡(jiǎn)化,但這實(shí)際上就是反向傳播的 工作原理。一個(gè)人工神經(jīng)網(wǎng)絡(luò)被賦予多個(gè)類似案例,然后它試著得出與案例答案相同的答案。當(dāng)它的輸出結(jié)果錯(cuò)誤時(shí),這個(gè)錯(cuò)誤會(huì)被重新計(jì)算,每個(gè)神經(jīng)元和神經(jīng)突 觸的值會(huì)通過人工神經(jīng)網(wǎng)絡(luò)反向傳播,以備下次計(jì)算。此過程需要大量案例。為了實(shí)際應(yīng)用,所需案例的數(shù)目可能達(dá)到數(shù)百萬。

  既然我們理解了人工神經(jīng)網(wǎng)絡(luò)以及它們的部分工作原理,我們可能會(huì)想到另外一個(gè)問題:我們?cè)趺粗牢覀冃枰嗌偕窠?jīng)元?為什么前文要用粗體標(biāo)出「多層」一詞? 其實(shí),每層人工神經(jīng)網(wǎng)絡(luò)就是一個(gè)神經(jīng)元的集合。在為ANN輸入數(shù)據(jù)時(shí)我們有輸入層,同時(shí)還有許多隱藏層,這正是魔法誕生之地。最后,我們還有輸出 層,ANN最終的計(jì)算結(jié)果放置于此供我們使用。

  

  一 個(gè)層級(jí)本身是神經(jīng)元的集合。在多層感知機(jī)的年代,我們起初認(rèn)為一個(gè)輸入層、一個(gè)隱藏層和一個(gè)輸出層就夠用了。那時(shí)是行得通的。輸入幾個(gè)數(shù)字,你僅需要一組 計(jì)算,就能得到結(jié)果。如果ANN的計(jì)算結(jié)果不正確,你再往隱藏層上加上更多的神經(jīng)元就可以了。最后我們終于明白,這么做其實(shí)只是在為每個(gè)輸入和輸出創(chuàng)造一 個(gè)線性映射。換句話說,我們了解了,一個(gè)特定的輸入一定對(duì)應(yīng)著一個(gè)特定的輸出。我們只能處理那些此前見過的輸入值,沒有任何靈活性。這絕對(duì)不是我們想要 的。

  如今,深度學(xué)習(xí)為我們帶來了更多的隱藏層,這是我們?nèi)缃瘾@得了更好的ANN的原因之一,因?yàn)槲覀冃枰獢?shù)百個(gè)節(jié)點(diǎn)和至少幾十個(gè)層級(jí),這帶來了亟需實(shí)時(shí)追蹤的大 量變量。并行程序的進(jìn)步也使我們能夠運(yùn)行更大的ANN批量計(jì)算。我們的人工神經(jīng)網(wǎng)絡(luò)正變得如此之大,使我們不能再在整個(gè)網(wǎng)絡(luò)中同時(shí)運(yùn)行一次迭代。我們需要 對(duì)整個(gè)網(wǎng)絡(luò)中的子集合進(jìn)行批量計(jì)算,只有完成了一次迭代,才可以應(yīng)用反向傳播。

  有幾種類型?

  在今天所使用的深度學(xué)習(xí)中,人工神經(jīng)網(wǎng)絡(luò)有很多種不同的結(jié)構(gòu)。典型的ANN中,每個(gè)神經(jīng)元都與下一層的每個(gè)神經(jīng)元相連接。這叫做前饋人工神經(jīng)網(wǎng)絡(luò)(盡管如 此,ANN通常來說都是前饋的)。我們已經(jīng)知道,通過將神經(jīng)元與其他神經(jīng)元按特定模式相連接,在處理一些特定情景的問題時(shí),我們就會(huì)得出更好的結(jié)論。

  1、遞歸神經(jīng)網(wǎng)絡(luò)

  遞歸神經(jīng)網(wǎng)絡(luò)(RNN)的設(shè)計(jì)初衷是為了解決神經(jīng)網(wǎng)絡(luò)不能基于過去知識(shí)做出決策的缺陷。典型的ANN已經(jīng)在訓(xùn)練中學(xué)會(huì)了基于文本做出決策,但是一旦它開始為實(shí)用做決策,這些決定之間就是彼此獨(dú)立的。

  

  一個(gè)遞歸神經(jīng)網(wǎng)絡(luò)

  為什么我們會(huì)想要這樣的東西?好吧,想一想玩21點(diǎn)游戲。如果一開始你得到4和5,你就會(huì)知道2以下的牌都不在牌堆中。這種信息會(huì)幫助你決定是否要拿牌。 RNN在自然語言處理中十分有用,因?yàn)榍拔牡淖衷~有助于理解文中其他詞語的含義。雖然有不同類型的實(shí)現(xiàn)方式,但是目的都是一樣的。我們想要保留信息。為了 達(dá)到這一目的,我們可以通過雙向遞歸神經(jīng)網(wǎng)絡(luò)( bi-directional RNN)或執(zhí)行一個(gè)能根據(jù)每次前饋來進(jìn)行調(diào)整的遞歸隱藏層。如果你想學(xué)習(xí)更多有關(guān)RNN的知識(shí),可以查閱這篇博 客:http://karpathy.github.io/2015/05/21/rnn-effectiveness/。

  說到這里,就不得不提到記憶網(wǎng)絡(luò)( Memory Networks),這一概念是說,如果我們想要理解諸如電影或者書中那些構(gòu)筑于彼此之上的事件時(shí),就必須記住比一個(gè)RNN或LSTM(長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò),一種時(shí)間遞歸神經(jīng)網(wǎng)絡(luò))更多的信息。

  Sam走進(jìn)廚房。

  Sam拿起蘋果。

  Sam走進(jìn)臥室。

  蘋果掉到了地上。

  問:蘋果在哪兒?

  答:臥室里。

  這是這篇論文(http://arxiv.org/pdf/1503.08895v5.pdf)中的例子。

  2、卷積神經(jīng)網(wǎng)絡(luò)

  卷積神經(jīng)網(wǎng)絡(luò)(CNN)有時(shí)被稱為L(zhǎng)eNets(以Yann LeCun命名),是層間隨機(jī)相連的人工神經(jīng)網(wǎng)絡(luò)。然而,以這樣的方式設(shè)置突觸是為了有助于減少需要優(yōu)化的參數(shù)量。通過標(biāo)記神經(jīng)元連接的某種對(duì)稱性,你能 「重新使用」神經(jīng)元以得到完全相同的副本,而不需要同等數(shù)量的突觸。由于CNN能識(shí)別出周圍像素的模式,因此它通常用于圖像處理。當(dāng)你將某一像素與其周圍 的像素進(jìn)行比較時(shí),會(huì)包含冗余信息。由于存在對(duì)稱性,你可以壓縮類似信息。這聽起來像是CNN的完美情況,Christopher Olah也有一篇關(guān)于理解 CNNs和其他類型的ANNs的優(yōu)質(zhì)博客(http://colah.github.io/posts/2014-07-Conv-Nets- Modular/ )。還有一篇關(guān)于CNN的博客:http://www.wildml.com/2015/11/understanding- convolutional-neural-networks-for-nlp/ 。

  3、強(qiáng)化學(xué)習(xí)

  我想要探討的最后一種 ANN的類型是強(qiáng)化學(xué)習(xí)(Reinforcement Learning)。強(qiáng)化學(xué)習(xí)是一個(gè)專業(yè)術(shù)語,用來描述計(jì)算機(jī)在嘗試將某種回報(bào)最大化時(shí)所表現(xiàn)出來的行為,這意味著它本身不是一個(gè)人工神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。然 而,你能用強(qiáng)化學(xué)習(xí)或遺傳算法來構(gòu)建你以前從沒想過要用的人工神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。 YouTube用戶SethBling上傳的用強(qiáng)化學(xué)習(xí)系統(tǒng)來構(gòu)建可以自己玩Mario游戲的人工神經(jīng)網(wǎng)絡(luò)的視頻就是個(gè)很好的例子。

  另一個(gè)強(qiáng)化學(xué)習(xí)的例子是DeepMind公司的視頻中展示的能教程序玩各種Atari游戲。

  

  結(jié)論

  現(xiàn)在,你應(yīng)該對(duì)目前最先進(jìn)的人工智能有了一定的了解。神經(jīng)網(wǎng)絡(luò)正在驅(qū)動(dòng)你能想到的幾乎所有事情,包括語言翻譯、動(dòng)物識(shí)別、圖片捕捉、文本摘要等等。在未來,你將越來越多地聽到它的名字。



關(guān)鍵詞: 人工智能

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉