0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

利用Tensorlow及其API為例來進(jìn)行討論,理解深度學(xué)習(xí)背后的魅力

nlfO_thejiangme ? 來源:未知 ? 作者:李倩 ? 2018-03-31 08:42 ? 次閱讀

深度學(xué)習(xí)是一種處理和解讀數(shù)據(jù)的方式,我們需要更深入的理解機(jī)器的運(yùn)作才能更更好的控制和應(yīng)用它為我們服務(wù),接下來將要詳細(xì)討論深度學(xué)習(xí)得以實(shí)現(xiàn)如此優(yōu)異表現(xiàn)的原因。為了簡化討論的過程,本文將利用Tensorlow及其API為例來進(jìn)行討論,從認(rèn)知論的程度來理解深度學(xué)習(xí)背后的魅力。

神經(jīng)網(wǎng)絡(luò)表現(xiàn)出的縮減效應(yīng)

對(duì)于深度學(xué)習(xí)的理解有各種不同的觀點(diǎn)和層次順序。我們首先用下面的網(wǎng)絡(luò)結(jié)構(gòu)作為例子:

上圖描述了一張圖像經(jīng)過一個(gè)深度學(xué)習(xí)網(wǎng)絡(luò)的傳播過程,我們在這里先進(jìn)行一個(gè)小小的變換,將最左端看做是底部,而最右端看做是整個(gè)網(wǎng)絡(luò)的頂部。這樣我們就可以利用自底向上的方法來對(duì)網(wǎng)絡(luò)進(jìn)行分析。

上圖中我們會(huì)看到隨著信息向網(wǎng)絡(luò)頂層傳播,數(shù)據(jù)和復(fù)雜度在明顯的下降。我們能不能假設(shè)這一過程是一種認(rèn)知的濃縮呢?它是不是將不重要的部分剔除了,如何做到的呢?深度學(xué)習(xí)模型通過什么方式來判斷哪些是顯著的特征而哪些不是呢?

對(duì)于純粹的數(shù)據(jù)縮減來說主要是通過壓縮或者隨機(jī)刪除的機(jī)制來實(shí)現(xiàn)的,但這對(duì)于深度學(xué)習(xí)來說卻不是一個(gè)好辦法。我們需要的是提出那些不顯著的部分并在最后留下那些顯著的數(shù)據(jù)和特征。但很多人對(duì)于基于重要性的縮減方法沒有正確的認(rèn)識(shí)并利用了無損壓縮算法來進(jìn)行評(píng)估。

下面讓我們用一個(gè)實(shí)際的例子來自底向上的理解深度學(xué)習(xí)網(wǎng)絡(luò)到底進(jìn)行了什么樣的工作。假設(shè)我們要建立一個(gè)人臉檢測系統(tǒng),我們先構(gòu)建一個(gè)可以理解圖像的神經(jīng)網(wǎng)絡(luò)并利用很多帶標(biāo)簽的照片對(duì)它進(jìn)行監(jiān)督訓(xùn)練并將網(wǎng)絡(luò)植入到系統(tǒng)中去,當(dāng)我們再輸入一張包含人臉的照片時(shí)系統(tǒng)就能迅速的找出圖像中人臉的位置。就這一過程而言,輸入數(shù)據(jù)是RGB彩色照片上的像素值,并在網(wǎng)絡(luò)中進(jìn)行了各種計(jì)算隨后輸出結(jié)果。我們可以看到網(wǎng)絡(luò)的輸出要比輸入少很多,這意味著在處理過程中很多信息被丟棄了。從輸入或者低級(jí)的抽象進(jìn)行一定程度的縮減并傳遞到下一層進(jìn)行操作。

圖片在神經(jīng)網(wǎng)絡(luò)中傳輸?shù)墓适吕?,前面階段神經(jīng)網(wǎng)絡(luò)只能操作一些臨近的像素并檢測出簡單的直線和曲線信息、以及不同的顏色。所以他們描述的主要是基于線條和顏色的基本信息。

而上面的層則會(huì)進(jìn)行更為復(fù)雜的處理,他們可能會(huì)“看到”某些邊緣與先前看到過的邊緣很類似屬于某一類物體。它們也許會(huì)說“這和之前看到的草很類似呀”。甚至沒有標(biāo)簽信號(hào)的時(shí)候,這種高層次的信號(hào)也能形成某一種表達(dá)向前傳播。

在更上一層,神經(jīng)網(wǎng)絡(luò)可能會(huì)看到更多的草“哇,這么多草葉子,這里一定是草地了”,那么草地的信號(hào)會(huì)被繼續(xù)向前傳播;

最后頂部的操作會(huì)綜合這些結(jié)果“我們是人臉檢測器,并不關(guān)心草地,忘了它們吧”。最后將不顯著的草地的信息丟棄。

將不是人臉的數(shù)據(jù)剔除后剩下的是什么呢?

在你知道網(wǎng)絡(luò)的表達(dá)是什么之前是不能丟棄其中的信息的。具體來說就像上面的例子中低層級(jí)的草葉檢測器不能丟棄草一樣,因?yàn)樗鼈冞€不知道更高級(jí)的顯著性特征草地-不是草地/人臉-不是人臉的線索。

我們能做的僅僅是在理解和抽象的層面上進(jìn)行操作。每一個(gè)層級(jí)接收低下傳上來的描述、丟棄它認(rèn)為不相關(guān)的部分并將它們自己對(duì)于信息的表示向上傳遞,直到到達(dá)真正知道網(wǎng)絡(luò)所要搜尋的目標(biāo)的層。

而這也是深度學(xué)習(xí)之所以深的原因。

這并不是一個(gè)新穎的觀點(diǎn),早在1959年Oliver Selfridge就提出了類似的觀點(diǎn)稱為喧囂,但長期被人工智能界忽略了,但它卻提前60年預(yù)言了信息自下向上傳遞的層狀架構(gòu),這就是今天廣泛使用的深度神經(jīng)網(wǎng)絡(luò)。

那么在具體的程序中是否有支持縮減的操作呢?讓我們來看看tensorflow中的算子。

我們先來看看池化操作,tensorflow中有超過50個(gè)池化操作算子,下圖是2*2的最大池化操作:

它將鄰近的四個(gè)像素中最大值傳遞給下一個(gè)層級(jí)??拷斎攵说乃膫€(gè)值可能是相互鄰近的像素值,但更多通過池化則只選出了其中最重要的一個(gè),可以看做是拋棄了75%不重要的部分,僅僅留下最高的一個(gè)值。

在像素層面可能是最亮的值,在上面草葉的例子中就會(huì)表示“這里至少有一片葉子”。對(duì)于丟棄信息的解讀是需要根據(jù)網(wǎng)絡(luò)層的實(shí)際情況來進(jìn)行的,事實(shí)上神經(jīng)網(wǎng)絡(luò)層代表了不同的縮減或者稱之為抽象。

現(xiàn)在我們應(yīng)該對(duì)深度神經(jīng)網(wǎng)絡(luò)中最為重要的觀點(diǎn)有了一定的感受了:縮減需要在不同層次的抽象上進(jìn)行。在決定哪些需要保留哪些需要丟棄只能在對(duì)應(yīng)的抽象層次上進(jìn)行。我們不能在僅僅看到深淺不一的綠色就決定丟棄草地的抽象,因?yàn)檫@個(gè)層次還沒有草地的信號(hào)被表達(dá)出來。這也對(duì)應(yīng)著一個(gè)簡單的道理,對(duì)于行為的決策只有在對(duì)學(xué)習(xí)產(chǎn)生積極貢獻(xiàn)的時(shí)候才能做出,不可靠或無用的決策將會(huì)通過一些機(jī)制被忽略。

接下來我們來觀察tensorflow中的卷積操作,手冊中是這樣介紹卷積操作的:

雖然她被稱為卷積操作,但實(shí)際上應(yīng)該嚴(yán)格的成為互相關(guān)操作。(編者注:卷積和互相關(guān)不同在核是否翻轉(zhuǎn),如果核對(duì)稱則相同)

不同的核用于發(fā)現(xiàn)不同的互相關(guān)和共現(xiàn)關(guān)系。共現(xiàn)關(guān)系能對(duì)圖像中不同位置的模式進(jìn)行學(xué)習(xí)。就像Hinton舉的一個(gè)例子嘴總是在鼻子的下面,這種空間關(guān)系是深度網(wǎng)絡(luò)能夠從學(xué)習(xí)過程中發(fā)現(xiàn)模式并與標(biāo)簽對(duì)應(yīng)起來。這使得圖像理解器可以為圖像中鼻子的位置打上鼻子的標(biāo)簽。此外系統(tǒng)還能夠?qū)W習(xí)到物體間相對(duì)后面和下面的概念。

傳播到深度網(wǎng)絡(luò)高層次的信息描述的正是這些關(guān)系,而不相關(guān)的信息則被視為不顯著的并被丟棄。在上面的示意圖中, 丟棄操作是由卷積+ReLU后面的最大池化層完成的。需要說明的ReLU是一種用于丟棄負(fù)值的函數(shù),同時(shí)它還為深度學(xué)習(xí)引入了重要的非線性但這不是此次分析的重點(diǎn)。

由卷積ReLU和池化層組成的模塊在深度學(xué)習(xí)中十分普遍,因?yàn)檫@三者的結(jié)合形成了十分可靠的減約過程。他們常常被打包在一起作為深度學(xué)習(xí)的單元被整合到計(jì)算圖中去,并用各自不同的方式抽取出數(shù)據(jù)中顯著的特征。

最后再強(qiáng)調(diào)一遍,這就是深度學(xué)習(xí)為何深的原因,因?yàn)槟阒荒茉谀隳芾斫獬橄蟊磉_(dá)相關(guān)性的不同層處進(jìn)行縮減,拋棄不相關(guān)的信息,而淺層的網(wǎng)絡(luò)并沒有理解這些表達(dá)的能力。

深度學(xué)習(xí)科學(xué)嗎?

深度學(xué)習(xí)一般使用線性代數(shù)來進(jìn)行數(shù)學(xué)描述,但我們還不能通過這些數(shù)學(xué)公式解釋出深度網(wǎng)絡(luò)可以形成各種復(fù)雜的理解能力。

讓我們先來考慮一下卷積操作,卷積層能夠發(fā)現(xiàn)相關(guān)性。例如很多片草葉出現(xiàn)的時(shí)候意味著一片草地。模型在訓(xùn)練過程中不斷去發(fā)現(xiàn)內(nèi)在的相關(guān)性,一旦發(fā)現(xiàn)后就會(huì)對(duì)網(wǎng)絡(luò)權(quán)重進(jìn)行調(diào)整進(jìn)行正確的縮減,以增加模式被再次發(fā)現(xiàn)的概率。但在本質(zhì)上所有的相關(guān)性都會(huì)被遺忘隨后在下一次訓(xùn)練中重新發(fā)現(xiàn),深度學(xué)習(xí)向上傳輸?shù)男盘?hào)和向下傳輸?shù)奶荻仁歉鶕?jù)誤差的信號(hào)來調(diào)整權(quán)重的,也可以說系統(tǒng)是從錯(cuò)誤中學(xué)習(xí)的。在這一層次上,這種自下而上自頂向下的方式將會(huì)在每張圖像上重復(fù)很多次。

這種上上下下的方式造就了對(duì)于圖像的理解能力,也有人在文本上應(yīng)用同樣的方法獲得成功。其中的過程就和自然學(xué)習(xí)一樣,將生物的神經(jīng)元和軟件中的“神經(jīng)元”聯(lián)系了起來。

無論是深度學(xué)習(xí)算法家族還是自然學(xué)習(xí),都在科學(xué)上有重要的意義,他們跳過了因果聯(lián)系的推導(dǎo)過程,而從相關(guān)性中去發(fā)掘聯(lián)系。這在經(jīng)典科學(xué)理論中是不成立的,要么是優(yōu)美的公式要么就什么也不是。很多深度學(xué)習(xí)程序僅僅包含少量的線索來實(shí)現(xiàn)一般的結(jié)果,有時(shí)候增加層數(shù)并不管用,這樣的問題在深度學(xué)習(xí)的日常中并不罕見。沒有先驗(yàn)?zāi)P蜎]有信息,對(duì)于模型的可靠性、正確性或者系統(tǒng)的整體性能我們只有通過不斷地的驗(yàn)證才能完成。

但你可能會(huì)問為什么我們還要使用這種不能保證給出正確答案的系統(tǒng)呢?因?yàn)槲覀儎e無選擇了。我們在可靠的縮減方法失效的時(shí)候僅僅只能使用系統(tǒng)全局的方法,在任務(wù)需要理解能力需要自動(dòng)縮減內(nèi)容和復(fù)雜度的時(shí)候只有這樣的方法。

難道真沒有其他的選擇了嗎?有?。∥覀冎車鷰资畠|人類就已經(jīng)掌握了這種復(fù)雜的技能。因?yàn)槿藗兩钤谪S富多彩的世界里。所以你可以使用理論上未被證明但效果十分顯著的方法,一種建立在深度學(xué)習(xí)之上的全局理解機(jī)器來理解世界。這樣的機(jī)器不能被證明是正確的因?yàn)樗谕ǔ5挠?jì)算機(jī)不同,它主要的工作是縮減信息,這是一種從前只在動(dòng)物里擁有的能力——一種全局性(Holistic skill)的能力。

AI認(rèn)識(shí)論中有一個(gè)十分有力的結(jié)果:我們將會(huì)再次遇到曾經(jīng)遇見的事物。這種縮減和抽象的能力將會(huì)成為人工智能領(lǐng)域必不可少的功能。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:自底向上看深度學(xué)習(xí)網(wǎng)絡(luò)的工作原理

文章出處:【微信號(hào):thejiangmen,微信公眾號(hào):將門創(chuàng)投】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    2017全國深度學(xué)習(xí)技術(shù)應(yīng)用大會(huì)

    技術(shù)自然語言理解和機(jī)器翻譯帶來了哪些新的發(fā)展機(jī)遇?它又是如何解決自然語言理解和機(jī)器翻譯問題?下一步發(fā)展方向是什么?本報(bào)告將就這些問題展開討論?! ?0、報(bào)告題目:
    發(fā)表于 03-22 17:16

    了解AI人工智能背后的科學(xué)?

    的機(jī)器學(xué)習(xí)模型時(shí),這些數(shù)據(jù)由一組屬性和特征進(jìn)行定義。 由機(jī)器學(xué)習(xí)模型確定如何理解所有這些屬性。那么該模型如何決定哪些屬性是建立最好模型的關(guān)
    發(fā)表于 09-25 10:03

    深度學(xué)習(xí)與數(shù)據(jù)挖掘的關(guān)系

    理解,但是在其高冷的背后,卻有深遠(yuǎn)的應(yīng)用場景和未來。深度學(xué)習(xí)是實(shí)現(xiàn)機(jī)器學(xué)習(xí)的一種方式或一條路徑。其動(dòng)機(jī)在于建立、模擬人腦
    發(fā)表于 07-04 16:07

    【NanoPi K1 Plus試用體驗(yàn)】搭建深度學(xué)習(xí)框架

    近幾年各種深度學(xué)習(xí)框架涌現(xiàn),大家可能很難從眾多的深度學(xué)習(xí)框架中選擇一個(gè)合適的框架進(jìn)行學(xué)習(xí)。對(duì)于
    發(fā)表于 07-17 11:40

    利用ECS進(jìn)行深度學(xué)習(xí)詳細(xì)攻略

    ECS:利用ECS進(jìn)行深度學(xué)習(xí)詳細(xì)攻略
    發(fā)表于 12-24 11:47

    labview實(shí)現(xiàn)深度學(xué)習(xí),還在用python?

    算法。其編程特點(diǎn)是上手快,開發(fā)效率高,兼容性強(qiáng),能快速調(diào)用c++,c#等平臺(tái)的dll類庫。如何將labview與深度學(xué)習(xí)結(jié)合起來,解決視覺行業(yè)越來越復(fù)雜的應(yīng)用場景所遇到的困難。下面以開關(guān)面板
    發(fā)表于 07-23 20:33

    深度學(xué)習(xí)是什么

    創(chuàng)客們的最酷“玩具”  智能無人機(jī)、自主機(jī)器人、智能攝像機(jī)、自動(dòng)駕駛……今年最令硬件創(chuàng)客們著迷的詞匯,想必就是這些一線“網(wǎng)紅”了。而這些網(wǎng)紅的背后,幾乎都和計(jì)算機(jī)視覺與深度學(xué)習(xí)密切相關(guān)?! ?b class='flag-5'>深
    發(fā)表于 07-19 06:17

    深度學(xué)習(xí)介紹

    的網(wǎng)絡(luò)最終實(shí)現(xiàn)更通用的識(shí)別。這些多層的優(yōu)點(diǎn)是各種抽象層次的學(xué)習(xí)特征。例如,若訓(xùn)練深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)對(duì)圖像進(jìn)行分類,則第一層
    發(fā)表于 11-11 07:55

    什么是深度學(xué)習(xí)?使用FPGA進(jìn)行深度學(xué)習(xí)的好處?

    準(zhǔn)確的模型。有了上述機(jī)制,現(xiàn)在可以通過讓神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)各種問題來自動(dòng)解決問題,創(chuàng)建高精度模型,并對(duì)新數(shù)據(jù)進(jìn)行推理。然而,由于單個(gè)神經(jīng)網(wǎng)絡(luò)只能解決簡單的問題,人們嘗試通過構(gòu)建深度神經(jīng)網(wǎng)絡(luò) (DNN
    發(fā)表于 02-17 16:56

    如何理解深度學(xué)習(xí)?深度學(xué)習(xí)的理論探索分析

    普林斯頓大學(xué)計(jì)算機(jī)科學(xué)系教授Sanjeev Arora做了深度學(xué)習(xí)理論理解探索的報(bào)告,包括三個(gè)部分:
    的頭像 發(fā)表于 10-03 12:41 ?3706次閱讀

    深度學(xué)習(xí)處理器系統(tǒng)的設(shè)計(jì)實(shí)例介紹

    2010年1月9日,Deephi的Yi Shan在法蘭克福的2018年XDF的Edge Track中提供了一個(gè)用演示.Yi Shan討論深度學(xué)習(xí)的成功,并分享了他們的全棧
    的頭像 發(fā)表于 11-21 06:16 ?2591次閱讀

    深度學(xué)習(xí):四種利用少量標(biāo)注數(shù)據(jù)進(jìn)行命名實(shí)體識(shí)別的方法

    整理介紹四種利用少量標(biāo)注數(shù)據(jù)進(jìn)行命名實(shí)體識(shí)別的方法。 面向少量標(biāo)注數(shù)據(jù)的NER方法分類 基于規(guī)則、統(tǒng)計(jì)機(jī)器學(xué)習(xí)深度學(xué)習(xí)的方法在通用語料上能
    的頭像 發(fā)表于 01-03 09:35 ?1w次閱讀
    <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>:四種<b class='flag-5'>利用</b>少量標(biāo)注數(shù)據(jù)<b class='flag-5'>進(jìn)行</b>命名實(shí)體識(shí)別的方法

    基于深度學(xué)習(xí)的行為識(shí)別算法及其應(yīng)用

    基于深度學(xué)習(xí)的行為識(shí)別算法及其應(yīng)用
    發(fā)表于 06-16 14:56 ?20次下載

    深度學(xué)習(xí)框架的作用是什么

    深度學(xué)習(xí)框架的作用是什么 深度學(xué)習(xí)是一種計(jì)算機(jī)技術(shù),它利用人工神經(jīng)網(wǎng)絡(luò)模擬人類的
    的頭像 發(fā)表于 08-17 16:10 ?1603次閱讀

    如何利用AI進(jìn)行提升自我呢?

    利用AI進(jìn)行學(xué)習(xí)是一個(gè)高效且富有創(chuàng)新性的過程。以下是一些建議,幫助你充分利用AI進(jìn)行學(xué)習(xí): 選擇
    的頭像 發(fā)表于 07-19 10:46 ?610次閱讀