編者按:本文由微信公眾號(hào)“一寸明言”(ID:yicunmingyan)編譯,,作者Ophir Tanz,;36氪經(jīng)授權(quán)發(fā)布。 你可能聽說過人工智能,,但你知道它是怎么運(yùn)轉(zhuǎn)的嗎,?GumGum的首席執(zhí)行官Ophir Tanz早前在TechCrunch上發(fā)表了一篇文章對(duì)人工智能的基層技術(shù)——神經(jīng)網(wǎng)絡(luò)進(jìn)行了介紹,文章中并沒有什么高深的數(shù)學(xué)函數(shù)等等,,而是通過一個(gè)神經(jīng)網(wǎng)絡(luò)“識(shí)別”蘋果的例子來對(duì)其工作方式進(jìn)行了生動(dòng)的呈現(xiàn),。通過這篇文章,你或許能對(duì)人工智能有更加深刻的理解,。 如果你去閱讀任何有關(guān)于人工智能的文章,,你肯定會(huì)碰到“神經(jīng)網(wǎng)絡(luò)(neural network)”這個(gè)專有名詞,它是指通過松散地模仿人類的大腦,,來使得計(jì)算機(jī)能夠通過數(shù)據(jù)來進(jìn)行學(xué)習(xí)的方式,。 可以說,神經(jīng)網(wǎng)絡(luò)可能是當(dāng)今存在的最具有破壞性與顛覆性的技術(shù)之一,。用其作為關(guān)鍵技術(shù)的機(jī)器學(xué)習(xí)比其他任何人工智能研究分支都能夠擔(dān)負(fù)起終結(jié)漫長(zhǎng)“人工智能冬季”的使命,。 這篇文章旨在幫助你理解深度學(xué)習(xí)如何進(jìn)行工作的。所以文章中就避免了關(guān)于深入討論數(shù)學(xué)的部分,,而使用了更多的類比與動(dòng)畫模擬,。 1、 早期研究人工智能的教授認(rèn)為,,如果你把盡可能多的信息裝入一臺(tái)強(qiáng)大的計(jì)算機(jī),,并盡可能多地告訴它怎么去理解那些數(shù)據(jù),,它就應(yīng)該能夠“思考”。這就是IBM著名的深藍(lán)(Deep Blue)——國(guó)際象棋計(jì)算機(jī)背后的想法:通過詳盡地編程,,將棋子的每一項(xiàng)可能,、已知的下棋策略寫入計(jì)算機(jī)中,并給予足夠的動(dòng)力,。 理論上來說,,這臺(tái)由IBM程序員創(chuàng)建的機(jī)器能夠計(jì)算出來每一個(gè)可能的動(dòng)作和未來的結(jié)果,從而來安排后續(xù)行動(dòng)的順序來超越對(duì)手,。這實(shí)際上和1997年的象棋大師的學(xué)習(xí)沒有什么區(qū)別,。(注:這與Alphago不同,Alphago使用的是自主學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),,深藍(lán)使用的是一個(gè)人編寫的硬編碼函數(shù),。) 通過這種計(jì)算,機(jī)器依賴于工程師精心預(yù)編程的固定規(guī)則——如果發(fā)生了特定的情況,,那么與其對(duì)應(yīng)的情況就會(huì)發(fā)生,;如果發(fā)生了特定的情況,就應(yīng)該按照固定的方式進(jìn)行應(yīng)對(duì),。很顯然,,這與人類靈活的學(xué)習(xí)方式想去甚遠(yuǎn),僅僅是強(qiáng)大的計(jì)算而已,,更不用說是思考本身了,。 2、 在過去的十多年中,,科學(xué)家重新?lián)炱鹆艘粋€(gè)不依賴大型百科全書記憶庫(kù)的舊概念,,而是用一種模仿人類思維、簡(jiǎn)單而系統(tǒng)的方法分析輸入數(shù)據(jù)的技術(shù),。這種技術(shù)被稱為深度學(xué)習(xí)或者是神經(jīng)網(wǎng)絡(luò),。其實(shí)從20世紀(jì)40年代它就一直存在了,得益于當(dāng)前數(shù)據(jù)的大量增長(zhǎng),,比如圖像,、視頻、語(yǔ)音搜索,、瀏覽習(xí)慣等等,,以及超負(fù)荷和負(fù)擔(dān)得起的處理器,它終于能夠開始顯現(xiàn)真正的潛力,。 人工(相對(duì)于人類)神經(jīng)網(wǎng)絡(luò)(ANN)是一種算法構(gòu)造,,使得機(jī)器能夠從語(yǔ)音命令和播放策略到音樂組合和圖像識(shí)別中學(xué)到一切有用的信息。典型的ANN由數(shù)千個(gè)互連的人造神經(jīng)元組成,這些神經(jīng)元按順序堆疊在被稱為層的行列中,,形成數(shù)百萬個(gè)連接,。在許多情況下,層僅通過輸入和輸出與它們之間和之后的神經(jīng)元層互連,。(這與人腦中的神經(jīng)元完全不同,,它們是相互連接的。) 這種分層的ANN是當(dāng)前機(jī)器學(xué)習(xí)的主要方式之一,,并且有大量的標(biāo)簽數(shù)據(jù)可以幫助學(xué)習(xí)如何解讀數(shù)據(jù)(有時(shí)甚至比人類更好)。 以圖像識(shí)別為例,,它依賴于稱為卷積神經(jīng)網(wǎng)絡(luò)(CNN)的特定類型的神經(jīng)網(wǎng)絡(luò),因?yàn)樗褂梅Q為卷積的數(shù)學(xué)過程能夠以非文字方式分析圖像,,例如識(shí)別部分模糊的對(duì)象或僅從某些角度可見的對(duì)象,。(還有其他類型的神經(jīng)網(wǎng)絡(luò),包括遞歸神經(jīng)網(wǎng)絡(luò)和前饋神經(jīng)網(wǎng)絡(luò),,但是這些神經(jīng)網(wǎng)絡(luò)對(duì)于識(shí)別諸如圖像的東西不太有用,,下面我們只使用使用示例來進(jìn)行分析。) 3,、 那么,,神經(jīng)網(wǎng)絡(luò)如何學(xué)習(xí)?讓我們來看一個(gè)非常簡(jiǎn)單但有效的程序,,它被稱為監(jiān)督學(xué)習(xí),。在這里,我們?yōu)樯窠?jīng)網(wǎng)絡(luò)提供了大量有人類標(biāo)記的訓(xùn)練數(shù)據(jù),,以便神經(jīng)網(wǎng)絡(luò)可以最大程度地在事實(shí)上進(jìn)行自我檢查,。 假設(shè)這個(gè)標(biāo)簽數(shù)據(jù)分別由蘋果和橙子的圖像組成。照片是數(shù)據(jù),,“蘋果”和“橙子”是標(biāo)簽,,具體取決于圖像。當(dāng)圖像被輸入時(shí),,網(wǎng)絡(luò)將它們分解成最基本的組件,,即邊緣,紋理和形狀,。當(dāng)圖像通過網(wǎng)絡(luò)傳播時(shí),,這些基本組件被組合起來形成更抽象的概念,即曲線和不同顏色,,當(dāng)進(jìn)一步組合時(shí),,開始看起來像莖、整個(gè)橙子,,或綠色和紅色蘋果等等,。 在這個(gè)過程即將技術(shù)的時(shí)候,,網(wǎng)絡(luò)試圖對(duì)圖像中的內(nèi)容進(jìn)行預(yù)測(cè)。一開始這些預(yù)測(cè)是隨機(jī)的,,因?yàn)檫€沒有真正地進(jìn)行學(xué)習(xí),。如果輸入的圖像是蘋果,但預(yù)測(cè)為“橙子”,,則需要調(diào)整網(wǎng)絡(luò)的內(nèi)層,。 這些調(diào)整是通過一個(gè)稱為反向傳播的過程來進(jìn)行的,以增加下一次為同一圖像預(yù)測(cè)“蘋果”的可能性,。這種情況一直發(fā)生,,直到預(yù)測(cè)或多或少是準(zhǔn)確的,而且似乎并沒有得到改善,。正如父母教孩子們?cè)诂F(xiàn)實(shí)生活中識(shí)別蘋果和橙子一樣,,對(duì)于計(jì)算機(jī)來說,也是會(huì)熟能生巧的,。 通常,,卷積神經(jīng)網(wǎng)絡(luò)除了輸入和輸出層之外還有四個(gè)基本的神經(jīng)元層,分別是卷積(Convolution),、激活(Activation),、池(Pooling)、完全連接(Fully connected),。 3.1 卷積 在初始的卷積層或?qū)又?,成千上萬的神經(jīng)元作為第一組過濾器,在圖像的每個(gè)部分和像素中尋找特征,。隨著越來越多的圖像被處理,,每個(gè)神經(jīng)元逐漸學(xué)會(huì)對(duì)特定的特征進(jìn)行過濾,這對(duì)于準(zhǔn)確率的提高有極大幫助,。 在蘋果的情況下,,一個(gè)過濾器可能集中在發(fā)現(xiàn)紅色的顏色,而另一個(gè)過濾器可能正在尋找圓形邊緣,,而另一個(gè)過濾器可能會(huì)識(shí)別薄的,,棒狀的莖。 舉個(gè)例子,,如果你必須清理一個(gè)雜亂的地下室,,準(zhǔn)備一跳蚤市場(chǎng)或者搬家,你就會(huì)明白將經(jīng)歷什么,,你會(huì)將地下室中的物品按照不同的類別(書,、玩具、電子、藝術(shù)品,、衣服)來整理好,。這是一個(gè)卷積層通過將圖像分解成不同的功能來完成的。 特別強(qiáng)大的是,,神經(jīng)網(wǎng)絡(luò)與早期的人工智能方法(深藍(lán)及其同類)不同,,這些過濾器不是設(shè)計(jì)的,他們純粹是通過查看數(shù)據(jù)來學(xué)習(xí)和和完善自己的,。 卷積層基本上創(chuàng)建了一個(gè)圖譜——圖片的不同的,、細(xì)分的版本,每個(gè)都與一種過濾特征相匹配,,來指示其神經(jīng)元在哪里看到紅色,,莖,曲線和各種其他元素的實(shí)例(但是是部分的),,比如在這個(gè)文章中例子是一個(gè)蘋果,。由于卷積層在特征識(shí)別中是相當(dāng)自由的,所以它需要額外的輔助,,以確保圖片通過網(wǎng)絡(luò)移動(dòng)時(shí)沒有遺漏任何值,。 3.2 激活 神經(jīng)網(wǎng)絡(luò)的一個(gè)優(yōu)點(diǎn)是它們能夠以非線性方式學(xué)習(xí),,能夠發(fā)現(xiàn)不太明顯的圖像中的特征,。比如樹上的蘋果圖片,其中的一些在直接陽(yáng)光和在樹蔭下,,或者堆積在廚房灶臺(tái)上的碗里,。這一切都是由于激活層,它或多或少地突出了有價(jià)值的東西,,包括那些直接和難以辨認(rèn)的品種,。 在上文關(guān)于地下室打掃的例子中,我們可以想像從每一個(gè)分開的東西中,,我們都挑選了一些可能想要保留的東西,。我們把這些“可能留下”的物品放在他們各自的類別的頂部,以便稍后再考慮,。 3.3 池化 整個(gè)圖像中的所有這種“卷積”都會(huì)產(chǎn)生大量的信息,,這可能很快成為一個(gè)計(jì)算噩夢(mèng),它將會(huì)耗費(fèi)大量的計(jì)算資源,。進(jìn)入池層,,就可以將其全部縮小成更一般和更易消化的形式。有很多方法可以解決這個(gè)問題,,但最受歡迎的是“最大池化”,,它將每個(gè)特征映射到一個(gè)摘要版本,因此只有發(fā)紅,發(fā)干或彎曲的才是最顯著的特征,。 就好比在車庫(kù)清潔的例子中,,我們不得不從每個(gè)類別堆中選擇想要留下的東西,然后賣掉或處理其他的東西,。所以現(xiàn)在我們?nèi)匀话凑瘴锲返念愋头诸愇覀兊乃袞|西,,但只留下我們實(shí)際想要保留的物品,其他的一切都賣了 ,。(順便說一句,,這結(jié)束了混亂的比喻,以幫助描述在神經(jīng)網(wǎng)絡(luò)內(nèi)進(jìn)行的過濾和縮小,。) 在這一點(diǎn)上,,神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)師可以堆疊這種類型的后續(xù)分層配置——卷積,激活,,池化——并且繼續(xù)篩選過濾圖像以獲得更高級(jí)別的信息,。在識(shí)別圖片中蘋果的情況下,圖像被一遍又一遍地過濾,,在初始層中,,只能捕捉到很少的特征,比如勉強(qiáng)可辨別的邊緣部分,,紅色或只是一個(gè)莖的頂端,。隨后,更多的過濾層將顯示整個(gè)蘋果,。無論如何,,當(dāng)開始得出結(jié)果的時(shí)候,完全連接的層開始發(fā)揮作用,。 3.4 完全連接 現(xiàn)在是開始得到答案的時(shí)候了。在完全連接的層中,,每個(gè)縮小的或“池化”的特征圖都被“完全連接”到表示學(xué)習(xí)中的神經(jīng)網(wǎng)絡(luò)項(xiàng)目的輸出節(jié)點(diǎn)(神經(jīng)元),。如果網(wǎng)絡(luò)的任務(wù)是學(xué)習(xí)如何發(fā)現(xiàn)貓,狗,,豚鼠和沙鼠,,那么它將有四個(gè)輸出節(jié)點(diǎn)。在我們所描述的神經(jīng)網(wǎng)絡(luò)中,,它將只有兩個(gè)輸出節(jié)點(diǎn):一個(gè)用于“蘋果”,,一個(gè)用于“橙子”。 如果通過網(wǎng)絡(luò)提供的圖片是蘋果,,而且網(wǎng)絡(luò)已經(jīng)進(jìn)行了一些訓(xùn)練,,并且隨著其預(yù)測(cè)而變得越來越好,,那么這就成了一個(gè)監(jiān)測(cè)蘋果的特征圖譜。這是最終輸出節(jié)點(diǎn)開始實(shí)現(xiàn)功能的地方,,反之亦然,。 蘋果和橙子節(jié)點(diǎn)的工作(他們?cè)诠ぷ髦袑W(xué)到的),基本上是為那些包含各自水果的特征的圖像進(jìn)行“投票”,。因此,,“蘋果”節(jié)點(diǎn)認(rèn)為圖像中包含“蘋果”特征越多,它發(fā)送給這個(gè)圖的投票就越多,。兩個(gè)節(jié)點(diǎn)都必須對(duì)每個(gè)圖片進(jìn)行投票,,無論它包含什么。所以在這種情況下,,“橙子”節(jié)點(diǎn)不會(huì)向任何圖片發(fā)送過多的投票,,因?yàn)樗鼈儾⒉徽嬲魏巍俺茸印碧卣鳌W詈?,發(fā)送最多票數(shù)的節(jié)點(diǎn)(在本例中為“蘋果”節(jié)點(diǎn))可以被認(rèn)為是網(wǎng)絡(luò)的“答案”,,盡管它不是那么簡(jiǎn)單。 因?yàn)橥粋€(gè)網(wǎng)絡(luò)正在尋找兩個(gè)不同的東西——蘋果和橙子,,所以網(wǎng)絡(luò)的最終輸出以百分比表示,。在這種情況下,我們假設(shè)網(wǎng)絡(luò)在訓(xùn)練中有點(diǎn)退步,,所以這里的預(yù)測(cè)可能就是75%的“蘋果”,,25%的“橙子”,或者如果在訓(xùn)練剛開始的時(shí)候,,可能會(huì)更加不正確,,比如確定它是20%的“蘋果”和80%的“橙子”,。 3.5 反向傳播 所以,在早期階段,,神經(jīng)網(wǎng)絡(luò)以百分比的形式吐出了一堆錯(cuò)誤的答案,。20%的“蘋果”和80%的“橙子”的預(yù)測(cè)顯然是錯(cuò)誤的,但由于這是使用標(biāo)簽的訓(xùn)練數(shù)據(jù)進(jìn)行監(jiān)督學(xué)習(xí),,所以網(wǎng)絡(luò)能夠通過稱為“反向傳播”的系統(tǒng)來找出錯(cuò)誤,。 反向傳播將“關(guān)于離答案有多遠(yuǎn)的結(jié)果”反饋發(fā)送到上一層的節(jié)點(diǎn)。然后,,該層將反饋發(fā)送到上一層,,直到它回到卷積層進(jìn)行調(diào)整,以幫助每個(gè)神經(jīng)元在后續(xù)的圖像通過網(wǎng)絡(luò)時(shí)更好地識(shí)別每個(gè)級(jí)別的數(shù)據(jù),。 這個(gè)過程一直反復(fù)進(jìn)行,,直到神經(jīng)網(wǎng)絡(luò)以更準(zhǔn)確的方式(100%的正確預(yù)測(cè))識(shí)別圖像中的蘋果和橙子,。盡管許多工程師認(rèn)為85%是可以接受的。到了這個(gè)時(shí)候,,神經(jīng)網(wǎng)絡(luò)就已經(jīng)準(zhǔn)備好專業(yè)地在圖片上識(shí)別蘋果了,。 |
|