cnn rnn,cnn表示什么意思
chanong
簡(jiǎn)介:深度學(xué)**已經(jīng)存在了幾十年,不斷發(fā)展不同的結(jié)構(gòu)和架構(gòu)以適應(yīng)不同的用例。其中一些基于我們對(duì)大腦的看法,而另一些則基于大腦的實(shí)際工作方式。本文簡(jiǎn)單介紹了目前業(yè)界使用的一些先進(jìn)架構(gòu)。
作者:謝林·托馬斯(Sherin Thomas)、蘇丹舒·帕西(Sudhanshu Passi)
來(lái)源:華碩科技
01 全連接網(wǎng)絡(luò)全連接、密集、線性網(wǎng)絡(luò)是最基本但最強(qiáng)大的架構(gòu)。這是機(jī)器學(xué)**的直接擴(kuò)展,使用具有單個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)。全連接層作為每個(gè)架構(gòu)的最后一部分,用于獲取使用底層深度網(wǎng)絡(luò)獲得的分?jǐn)?shù)的概率分布。
顧名思義,完全連接的網(wǎng)絡(luò)將其上下層中的所有神經(jīng)元互連。網(wǎng)絡(luò)最終可能會(huì)通過(guò)設(shè)置權(quán)重關(guān)閉一些神經(jīng)元,但理想情況下所有神經(jīng)元最初都會(huì)參與訓(xùn)練。
02 編碼器和解碼器編碼器和解碼器可能是深度學(xué)**中最基本的架構(gòu)之一。所有網(wǎng)絡(luò)都有一個(gè)或多個(gè)編碼器/解碼器層。全連接層的隱藏層可以被認(rèn)為是編碼器的編碼形式,輸出層可以被認(rèn)為是解碼器,對(duì)隱藏層進(jìn)行解碼并將其作為輸出提供。編碼器通常將輸入編碼為中間狀態(tài)(即向量),然后解碼器網(wǎng)絡(luò)將中間狀態(tài)解碼為所需的輸出格式。
編碼器/解碼器網(wǎng)絡(luò)的標(biāo)準(zhǔn)示例是序列到序列(seq2seq) 網(wǎng)絡(luò)(圖1.11),可用于機(jī)器翻譯。句子被編碼成中間向量表示,其中整個(gè)句子以一些浮點(diǎn)數(shù)的形式表示,解碼器根據(jù)中間向量對(duì)其進(jìn)行解碼,以產(chǎn)生目標(biāo)語(yǔ)言的句子作為輸出。
圖1.11 seq2seq網(wǎng)絡(luò)
自動(dòng)編碼器(圖1.12)是屬于無(wú)監(jiān)督學(xué)**類(lèi)別的特殊編碼器/解碼器網(wǎng)絡(luò)。自動(dòng)編碼器嘗試從未標(biāo)記的數(shù)據(jù)中學(xué)**并將目標(biāo)值設(shè)置為輸入值。
例如,如果輸入是大小為100x100 的圖像,則輸入向量的維度為10,000。因此,輸出大小也將為10 000,但隱藏層大小可能為500。也就是說(shuō),我們?cè)噲D將輸入轉(zhuǎn)換為更小的隱藏狀態(tài)表示,然后從隱藏狀態(tài)重新生成相同的輸入。
圖1.12 自動(dòng)編碼器結(jié)構(gòu)
如果我們可以訓(xùn)練一個(gè)能夠做到這一點(diǎn)的神經(jīng)網(wǎng)絡(luò),我們就可以找到良好的壓縮算法,可以將高維輸入轉(zhuǎn)換為具有數(shù)量級(jí)增益的低維向量。
目前,自動(dòng)編碼器廣泛應(yīng)用于不同場(chǎng)景和行業(yè)。
03 循環(huán)神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)是席卷全球的最流行的深度學(xué)**算法之一。當(dāng)前自然語(yǔ)言處理和理解方面最先進(jìn)的性能大部分來(lái)自RNN 的變體。循環(huán)網(wǎng)絡(luò)嘗試識(shí)別數(shù)據(jù)中的最小單元并將數(shù)據(jù)組織成一組這樣的單元。
在自然語(yǔ)言示例中,處理句子時(shí)最常見(jiàn)的方法是將單詞視為單元,將句子視為單詞的集合。我們將RNN 分布在整個(gè)句子中,一次處理一個(gè)單詞(圖1.13)。 RNN 具有適用于不同數(shù)據(jù)集的變體,您可以根據(jù)效率選擇變體。長(zhǎng)短期記憶(LSTM) 和門(mén)控重復(fù)單元(GRU) 是最常見(jiàn)的RNN 單元。
圖1.13 循環(huán)網(wǎng)絡(luò)中單詞的向量表示
04 循環(huán)神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò),顧名思義,是用于理解序列數(shù)據(jù)的層次結(jié)構(gòu)的樹(shù)狀網(wǎng)絡(luò)。遞歸網(wǎng)絡(luò)被研究人員廣泛用于自然語(yǔ)言處理,特別是Salesforce 首席科學(xué)家Richard Socher 及其團(tuán)隊(duì)。
詞向量可以有效地將詞義映射到向量空間,但是當(dāng)涉及到整個(gè)句子的含義時(shí),還沒(méi)有像word2vec這樣對(duì)單詞友好的解決方案。循環(huán)神經(jīng)網(wǎng)絡(luò)是此類(lèi)應(yīng)用中最常用的算法之一。
循環(huán)網(wǎng)絡(luò)可以創(chuàng)建解析樹(shù)和組合向量并映射其他層次關(guān)系(圖1.14),這可以幫助找到組合單詞形成句子的規(guī)則。斯坦福自然語(yǔ)言推理小組開(kāi)發(fā)了一種眾所周知且常用的算法,稱(chēng)為SNLI。這是應(yīng)用循環(huán)網(wǎng)絡(luò)的一個(gè)很好的例子。
圖1.14 遞歸網(wǎng)絡(luò)中單詞的向量表示
05 卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)(CNN)(圖1.15)在計(jì)算機(jī)視覺(jué)方面實(shí)現(xiàn)了超人的性能。它在2010 年代初期就達(dá)到了人類(lèi)的準(zhǔn)確度,并且其準(zhǔn)確度還在逐年提高。
卷積網(wǎng)絡(luò)是最容易理解的,因?yàn)樗鼈兙哂锌梢暬ぞ撸梢韵蚰@示每一層正在做什么。
Facebook 人工智能研究(FAIR) 負(fù)責(zé)人Yann LeCun 在20 世紀(jì)90 年代發(fā)明了CNN。人們無(wú)法使用它,因?yàn)楫?dāng)時(shí)沒(méi)有足夠的數(shù)據(jù)集和計(jì)算能力。 CNN 像滑動(dòng)窗口一樣掃描輸入并生成中間表示。中間表示被逐層抽象,最終到達(dá)全連接層。 CNN 也已成功應(yīng)用于圖像以外的數(shù)據(jù)集。
圖1.15 通用CNN
Facebook 研究人員發(fā)現(xiàn)了一種基于卷積神經(jīng)網(wǎng)絡(luò)的先進(jìn)自然語(yǔ)言處理系統(tǒng),其性能優(yōu)于RNN,而RNN 被認(rèn)為是任何序列數(shù)據(jù)集的首選架構(gòu)。盡管一些神經(jīng)科學(xué)家和人工智能研究人員不喜歡CNN(因?yàn)樗麄冋J(rèn)為大腦不會(huì)做CNN 所做的事情),但基于CNN 的網(wǎng)絡(luò)的性能優(yōu)于所有現(xiàn)有的網(wǎng)絡(luò)實(shí)現(xiàn)。
06 生成對(duì)抗網(wǎng)絡(luò)生成對(duì)抗網(wǎng)絡(luò)(GAN)由Ian Goodfellow 于2014 年發(fā)明。此后它摧毀了整個(gè)人工智能社區(qū)。盡管它是最簡(jiǎn)單、最明顯的實(shí)現(xiàn)之一,但它的功能已經(jīng)引起了全世界的關(guān)注。 GAN的配置如圖1.16所示。
圖1.16 GAN配置
在GAN 中,兩個(gè)網(wǎng)絡(luò)相互競(jìng)爭(zhēng)并最終達(dá)到平衡,其中生成網(wǎng)絡(luò)能夠生成數(shù)據(jù),而判別網(wǎng)絡(luò)則難以將其與真實(shí)圖像區(qū)分開(kāi)來(lái)。
現(xiàn)實(shí)生活中的一個(gè)例子是警察與造假者之間的斗爭(zhēng)。假設(shè)一名造假者試圖制造假鈔,而警方則試圖找出真相。最初,造假者沒(méi)有足夠的知識(shí)來(lái)制造看起來(lái)真實(shí)的假幣。隨著時(shí)間的推移,造假者越來(lái)越擅長(zhǎng)制造與真實(shí)貨幣相似的假幣。至此,警方最初未能識(shí)別出這些假鈔,但最終再次成功識(shí)別出來(lái)。
這種生成和對(duì)抗的過(guò)程最終導(dǎo)致平衡。 GAN 具有顯著的優(yōu)勢(shì)。
07 強(qiáng)化學(xué)**通過(guò)交互進(jìn)行學(xué)**是人類(lèi)智能的基礎(chǔ),而強(qiáng)化學(xué)**正是引領(lǐng)我們朝這個(gè)方向發(fā)展的方法。強(qiáng)化學(xué)**曾經(jīng)是一個(gè)完全不同的領(lǐng)域,人們認(rèn)為人類(lèi)是通過(guò)嘗試和錯(cuò)誤來(lái)學(xué)**的。然而,隨著深度學(xué)**的進(jìn)步,出現(xiàn)了另一個(gè)領(lǐng)域,稱(chēng)為“深度強(qiáng)化學(xué)**”,它將深度學(xué)**和強(qiáng)化學(xué)**結(jié)合起來(lái)。
現(xiàn)代強(qiáng)化學(xué)**使用深度網(wǎng)絡(luò)來(lái)學(xué)**這些規(guī)則,而不是讓人類(lèi)顯式地對(duì)其進(jìn)行編碼。探索Q-learning 和深度Q-learning,并展示使用深度學(xué)**的強(qiáng)化學(xué)**和不使用深度學(xué)**的強(qiáng)化學(xué)**之間的差異。
強(qiáng)化學(xué)**被認(rèn)為是通向通用智能的途徑之一,計(jì)算機(jī)或智能體通過(guò)與現(xiàn)實(shí)世界、物體、實(shí)驗(yàn)或反饋進(jìn)行交互來(lái)學(xué)**。訓(xùn)練強(qiáng)化學(xué)**智能體與訓(xùn)練狗非常相似,都通過(guò)正激勵(lì)和負(fù)激勵(lì)。當(dāng)你的狗撿起球時(shí)獎(jiǎng)勵(lì)一塊餅干,或者因?yàn)槟愕墓窙](méi)有撿起球而對(duì)你的狗大喊大叫,這將通過(guò)積極和消極的獎(jiǎng)勵(lì)來(lái)強(qiáng)化你的狗大腦中的知識(shí)。
我們對(duì)AI 代理做了同樣的事情,但正獎(jiǎng)勵(lì)將是正數(shù),負(fù)獎(jiǎng)勵(lì)將是負(fù)數(shù)。強(qiáng)化學(xué)**不能被視為類(lèi)似于CNN/RNN 等的獨(dú)立架構(gòu),而應(yīng)被視為使用深度神經(jīng)網(wǎng)絡(luò)解決現(xiàn)實(shí)世界問(wèn)題的另一種技術(shù),如圖1.17 所示。
圖1.17 強(qiáng)化學(xué)**配置
關(guān)于作者:Sherin Thomas 的職業(yè)生涯始于信息安全專(zhuān)業(yè)人員,然后將重點(diǎn)轉(zhuǎn)向基于深度學(xué)**的安全系統(tǒng)。他幫助世界各地的多家公司構(gòu)建人工智能流程,并在印度班加羅爾快速發(fā)展的初創(chuàng)公司CoWrks 工作。
Sudhanshu Passi 是CoWrks 的技術(shù)專(zhuān)家。在CoWrks,他是所有機(jī)器學(xué)**背后的驅(qū)動(dòng)力。他在簡(jiǎn)化復(fù)雜概念方面的專(zhuān)業(yè)知識(shí)使他的書(shū)成為初學(xué)者和專(zhuān)家的理想讀物。
本文摘自《PyTorch深度學(xué)**實(shí)戰(zhàn)》,經(jīng)出版社許可發(fā)布。
擴(kuò)展閱讀《PyTorch深度學(xué)**實(shí)戰(zhàn)》
建議:本書(shū)是一本深度學(xué)**實(shí)用指南,重點(diǎn)關(guān)注PyTorch中各種深度學(xué)**場(chǎng)景的實(shí)際實(shí)現(xiàn),不包括模型層面的原理分析。本書(shū)通過(guò)大量的示例和代碼,詳細(xì)介紹了如何使用PyTorch 構(gòu)建深度學(xué)**模型的原型、構(gòu)建深度學(xué)**工作流程并將這些原型投入生產(chǎn)。








