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

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

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

7種架構(gòu)范例的深度學(xué)習(xí),每個(gè)范例都提供了TensorFlow教程

DPVg_AI_era ? 來(lái)源:lq ? 2019-02-13 10:40 ? 次閱讀

作為MIT的深度學(xué)習(xí)基礎(chǔ)系列課程的一部分,本文概述了7種架構(gòu)范例的深度學(xué)習(xí),每個(gè)范例都提供了TensorFlow教程的鏈接。

我們不久前介紹了MIT的深度學(xué)習(xí)基礎(chǔ)系列課程,由MIT學(xué)術(shù)研究員Lex Fridman開(kāi)講,將介紹使用神經(jīng)網(wǎng)絡(luò)解決計(jì)算機(jī)視覺(jué)、自然語(yǔ)言處理、游戲、自動(dòng)駕駛機(jī)器人等領(lǐng)域問(wèn)題的基礎(chǔ)知識(shí)。

作為講座的一部分,Lex Fridman撰文概述了7種架構(gòu)范例的深度學(xué)習(xí),每個(gè)范例都提供了TensorFlow教程的鏈接。

深度學(xué)習(xí)是表示學(xué)習(xí)(representation learning):從數(shù)據(jù)中自動(dòng)形成有用的表示。我們?nèi)绾伪硎臼澜?,可以讓?fù)雜的東西對(duì)我們?nèi)祟?lèi)和我們構(gòu)建的機(jī)器學(xué)習(xí)模型來(lái)說(shuō)都顯得更簡(jiǎn)單。

對(duì)于前者,我最喜歡的例子是哥白尼于1543年發(fā)表的日心說(shuō),日心說(shuō)認(rèn)為太陽(yáng)是宇宙的中心,完全推翻了之前把地球放在中心的地心說(shuō)。在最好的情況下,深度學(xué)習(xí)可以讓我們自動(dòng)完成這一步,從“特征工程”過(guò)程中去掉哥白尼(即,去掉人類(lèi)專(zhuān)家)。

日心說(shuō)(1543) vs地心說(shuō)(6th century BC)

在高級(jí)別上,神經(jīng)網(wǎng)絡(luò)可以是編碼器,可以是解碼器,也可以是兩者的組合:

編碼器在原始數(shù)據(jù)中找到模式,以形成緊湊、有用的表示(representations)。

解碼器從這些表示中生成高分辨率數(shù)據(jù)。生成的數(shù)據(jù)可以是新的示例,也可以是描述性知識(shí)。

其余的則是一些聰明的方法,可以幫助我們有效地處理視覺(jué)信息、語(yǔ)言、音頻(第1–6項(xiàng)),甚至可以在一個(gè)基于這些信息和偶爾的獎(jiǎng)勵(lì)的世界中采取行動(dòng)(第7項(xiàng))。下面是一個(gè)總體的圖示:

在下面的部分中,我將簡(jiǎn)要描述這7種架構(gòu)范例,并提供每個(gè)范例的演示性TensorFlow教程的鏈接。請(qǐng)參閱最后的“基礎(chǔ)拓展”部分,該部分討論了深度學(xué)習(xí)的一些令人興奮的領(lǐng)域,不完全屬于這七個(gè)類(lèi)別。

TensorFlow教程地址:

https://github.com/lexfridman/mit-deep-learning/blob/master/tutorial_deep_learning_basics/deep_learning_basics.ipynb

1.前饋神經(jīng)網(wǎng)絡(luò)(FFNNs)

前饋神經(jīng)網(wǎng)絡(luò)(Feed Forward Neural Networks, FFNNs)的歷史可以追溯到20世紀(jì)40年代,這是一種沒(méi)有任何循環(huán)的網(wǎng)絡(luò)。數(shù)據(jù)以單次傳遞的方式從輸入傳遞到輸出,而沒(méi)有任何以前的“狀態(tài)記憶”。從技術(shù)上講,深度學(xué)習(xí)中的大多數(shù)網(wǎng)絡(luò)都可以被認(rèn)為是FFNNs,但通?!癋FNN”指的是其最簡(jiǎn)單的變體:密集連接的多層感知器(MLP)。

密集編碼器用于將輸入上已經(jīng)很緊湊的一組數(shù)字映射到預(yù)測(cè):分類(lèi)(離散)或回歸(連續(xù))。

TensorFlow教程:請(qǐng)參閱我們的深度學(xué)習(xí)基礎(chǔ)教程的第1部分,其中有一個(gè)用于波士頓房?jī)r(jià)預(yù)測(cè)的FFNNs示例,它是一個(gè)回歸問(wèn)題:

網(wǎng)絡(luò)學(xué)習(xí)時(shí)在訓(xùn)練集和驗(yàn)證集上的誤差

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

CNN(又名ConvNets)是一種前饋神經(jīng)網(wǎng)絡(luò),它使用一種空間不變性技巧來(lái)有效地學(xué)習(xí)圖像中的局部模式,這種方法在圖像中最為常見(jiàn)??臻g不變性(Spatial-invariance )是指,比如說(shuō),一張貓臉的圖像上,左上角的貓耳與圖像右下角的貓耳具有相同的特征。CNN跨空間共享權(quán)重,使貓耳以及其他模式的檢測(cè)更加高效。

CNN不是只使用密集連接的層,而是使用卷積層(卷積編碼器)。這些網(wǎng)絡(luò)用于圖像分類(lèi)、目標(biāo)檢測(cè)、視頻動(dòng)作識(shí)別以及任何在結(jié)構(gòu)上具有一定空間不變性的數(shù)據(jù)(如語(yǔ)音音頻)。

TensorFlow教程:請(qǐng)參閱我們的深度學(xué)習(xí)基礎(chǔ)教程的第2部分,了解用于對(duì)MNIST數(shù)據(jù)集中的手寫(xiě)數(shù)字進(jìn)行分類(lèi)的一個(gè)CNN示例。

分類(lèi)預(yù)測(cè)(右),生成的手寫(xiě)數(shù)字(左)。

3.循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)

RNN是具有循環(huán)的網(wǎng)絡(luò),因此具有“狀態(tài)記憶”。它們可以及時(shí)展開(kāi),成為權(quán)重共享的前饋網(wǎng)絡(luò)。正如CNN在“空間”上共享權(quán)重一樣,RNN在“時(shí)間”上共享權(quán)重。這使得它們能夠處理并有效地表示序列數(shù)據(jù)中的模式。

RNN模塊有許多變體,包括LSTM和GRU,以幫助學(xué)習(xí)更長(zhǎng)的序列中的模式。它的應(yīng)用包括自然語(yǔ)言建模、語(yǔ)音識(shí)別、語(yǔ)音生成等。

TensorFlow教程:訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)是很有挑戰(zhàn)性的,但同時(shí)也允許我們對(duì)序列數(shù)據(jù)進(jìn)行一些有趣而強(qiáng)大的建模。使用TensorFlow生成文本的教程是我最喜歡的教程之一,因?yàn)樗煤苌俚膸仔写a就完成了一些了不起的事情:在字符基礎(chǔ)上生成合理的文本:

使用TensorFlow生產(chǎn)文本

使用TensorFlow生產(chǎn)文本教程:

https://www.tensorflow.org/tutorials/sequences/text_generation

4. Encoder-Decoder架構(gòu)

前3節(jié)中介紹的FFNN、CNN和RNN都只是分別使用密集編碼器、卷積編碼器或循環(huán)編碼器進(jìn)行預(yù)測(cè)的網(wǎng)絡(luò)。這些編碼器可以組合或切換,取決于我們?cè)噲D形成有用表示的原始數(shù)據(jù)類(lèi)型?!癊ncoder-Decoder”架構(gòu)是一種更高級(jí)的概念,通過(guò)對(duì)壓縮表示進(jìn)行上采樣的解碼步驟來(lái)生成高維輸出,而不是進(jìn)行預(yù)測(cè)。

請(qǐng)注意,編碼器和解碼器可以彼此非常不同。例如,image captioning網(wǎng)絡(luò)可能有卷積編碼器(用于圖像輸入)和循環(huán)解碼器(用于自然語(yǔ)言輸出)。Encoder-Decoder架構(gòu)的應(yīng)用包括語(yǔ)義分割、機(jī)器翻譯等。

TensorFlow教程:請(qǐng)參閱駕駛場(chǎng)景分割的教程,該教程演示了針對(duì)自主車(chē)輛感知問(wèn)題的最先進(jìn)的分割網(wǎng)絡(luò):

使用TensorFlow的駕駛場(chǎng)景分割

地址:

https://github.com/lexfridman/mit-deep-learning/blob/master/tutorial_driving_scene_segmentation/tutorial_driving_scene_segmentation.ipynb

5.自動(dòng)編碼器(Autoencoder)

自動(dòng)編碼器(Autoencoder)是一種采用encoder-decoder架構(gòu)的更簡(jiǎn)單的“無(wú)監(jiān)督學(xué)習(xí)”形式,并學(xué)習(xí)生成輸入數(shù)據(jù)的精確副本。由于編碼的表示比輸入數(shù)據(jù)小得多,網(wǎng)絡(luò)被迫學(xué)習(xí)如何形成最有意義的表示。

由于ground truth數(shù)據(jù)來(lái)自輸入數(shù)據(jù),所以不需要人工操作。換句話說(shuō),它是自我監(jiān)督的。自動(dòng)編碼器的應(yīng)用包括無(wú)監(jiān)督嵌入、圖像去噪等。最重要的是,它的“表示學(xué)習(xí)”的基本思想是下一節(jié)的生成模型和所有深度學(xué)習(xí)的核心。

TensorFlow教程:在這個(gè)TensorFlow Keras教程中,你可以探索自動(dòng)編碼器對(duì)(1)輸入數(shù)據(jù)去噪和(2)在MNIST數(shù)據(jù)集進(jìn)行嵌入的能力。

地址:

https://www.kaggle.com/vikramtiwari/autoencoders-using-tf-keras-mnist

6.生成對(duì)抗網(wǎng)絡(luò)(GAN)

GAN是一種用于訓(xùn)練網(wǎng)絡(luò)的框架,GAN網(wǎng)絡(luò)經(jīng)過(guò)優(yōu)化,可以從特定的表示中生成新的逼真樣本。最簡(jiǎn)單的形式是,訓(xùn)練過(guò)程涉及兩個(gè)網(wǎng)絡(luò)。其中一個(gè)網(wǎng)絡(luò)稱為生成器(generator),它生成新的數(shù)據(jù)實(shí)例,試圖欺騙另一個(gè)網(wǎng)絡(luò),即鑒別器(discriminator),后者將圖像分類(lèi)為真實(shí)圖像和假圖像。

在過(guò)去的幾年里,GAN出現(xiàn)了許多變體和改進(jìn),包括從特定類(lèi)別生成圖像的能力、從一個(gè)域映射到另一個(gè)域的能力,以及生成圖像的真實(shí)性的驚人提高。例如,BigGAN (https://arxiv.org/abs/1809.11096)從單一類(lèi)別(毒蠅傘)中生成的三個(gè)樣本:

BigGAN生成的圖像

TensorFlow教程:有關(guān)GAN變體的示例,請(qǐng)參閱關(guān)于conditional GAN和DCGAN的教程。隨著課程的進(jìn)展,我們將在GitHub上發(fā)布一個(gè)關(guān)于GAN的最新教程。

conditional GAN:

https://github.com/tensorflow/tensorflow/blob/r1.13/tensorflow/contrib/eager/python/examples/pix2pix/pix2pix_eager.ipynb

DCGAN:

https://github.com/tensorflow/tensorflow/blob/r1.11/tensorflow/contrib/eager/python/examples/generative_examples/dcgan.ipynb

7.深度強(qiáng)化學(xué)習(xí)(DeepRL)

強(qiáng)化學(xué)習(xí)(RL)是一個(gè)框架,用于教一個(gè)agent如何以一種最大化回報(bào)的方式行動(dòng)。當(dāng)學(xué)習(xí)由神經(jīng)網(wǎng)絡(luò)完成時(shí),我們稱之為深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement learning, Deep RL)。

RL框架有三種類(lèi)型:基于策略的(policy-based)、基于價(jià)值(value-based)的和基于模型的(model-based)。區(qū)別在于神經(jīng)網(wǎng)絡(luò)的任務(wù)是學(xué)習(xí)。詳細(xì)解讀請(qǐng)參見(jiàn)本系列課程的第6講。

Deep RL允許我們?cè)谛枰龀鲆幌盗袥Q策時(shí),在模擬或現(xiàn)實(shí)環(huán)境中應(yīng)用神經(jīng)網(wǎng)絡(luò)。包括游戲、機(jī)器人、神經(jīng)架構(gòu)搜索等等。

教程:我們的DeepTraffic環(huán)境提供了一個(gè)教程和代碼示例,可以快速地在瀏覽器中探索、訓(xùn)練和評(píng)估深度RL智能體,我們將很快在GitHub上發(fā)布一個(gè)支持GPU訓(xùn)練的TensorFlow教程。

MIT DeepTraffic: Deep Reinforcement Learning Competition

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

原文標(biāo)題:MIT高贊深度學(xué)習(xí)教程:一文看懂CNN、RNN等7種范例(TensorFlow教程)

文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    [資料分享]+Google Android SDK開(kāi)發(fā)范例大全

    開(kāi)發(fā)(采用Android SDK 2.1)為主題,通過(guò)160多個(gè)范例全面且深度地整合手機(jī)、網(wǎng)絡(luò)及服務(wù)等多個(gè)開(kāi)發(fā)領(lǐng)域,為讀者提高程序設(shè)計(jì)功力提供
    發(fā)表于 09-26 10:36

    谷歌深度學(xué)習(xí)插件tensorflow

    前段時(shí)間忙著研究Zedboard,這幾天穿插著加入Python的深度學(xué)習(xí)的研究,最近使用谷歌的tensorflow比較多,而且官方出了中文教程,比較給力,下面在Windows10下安裝一下
    發(fā)表于 07-04 13:46

    深度學(xué)習(xí)框架TensorFlow&TensorFlow-GPU詳解

    TensorFlow&TensorFlow-GPU:深度學(xué)習(xí)框架TensorFlow&TensorFlo
    發(fā)表于 12-25 17:21

    淺談深度學(xué)習(xí)TensorFlow

    使得實(shí)現(xiàn)復(fù)雜的 DNN 結(jié)構(gòu)成為可能,而不需要深入復(fù)雜的數(shù)學(xué)細(xì)節(jié),大數(shù)據(jù)集的可用性為 DNN 提供必要的數(shù)據(jù)來(lái)源。TensorFlow 成為最受歡迎的深度
    發(fā)表于 07-28 14:34

    TOP245設(shè)計(jì)范例報(bào)告

    關(guān)于這款I(lǐng)C的使用范例,文章較為詳細(xì)的提供一個(gè)基礎(chǔ)范例
    發(fā)表于 05-26 10:58 ?8次下載

    VC++程序開(kāi)發(fā)范例寶典bxscfjl

    VC++程序開(kāi)發(fā)范例寶典bxscfjl,歡迎下載學(xué)習(xí)。
    發(fā)表于 09-12 15:57 ?0次下載

    VC++程序開(kāi)發(fā)范例寶典AVGquery

    VC++程序開(kāi)發(fā)范例寶典AVGquery,歡迎下載學(xué)習(xí)。
    發(fā)表于 09-12 16:13 ?0次下載

    Pytorch入門(mén)教程與范例

    深度學(xué)習(xí)框架。 對(duì)于系統(tǒng)學(xué)習(xí) pytorch,官方提供非常好的入門(mén)教程?,同時(shí)還提供
    發(fā)表于 11-15 17:50 ?5239次閱讀
    Pytorch入門(mén)教程與<b class='flag-5'>范例</b>

    TensorFlow實(shí)戰(zhàn)之深度學(xué)習(xí)框架的對(duì)比

    的熱潮持續(xù)高漲,各種開(kāi)源深度學(xué)習(xí)框架也層出不窮,其中包括TensorFlow、Caffe、Keras、CNTK、Torch7、MXNet、Leaf、Theano、DeepLearnin
    發(fā)表于 11-16 11:52 ?4501次閱讀
    <b class='flag-5'>TensorFlow</b>實(shí)戰(zhàn)之<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>框架的對(duì)比

    NI VST上位機(jī)編程:LabVIEW范例和儀器設(shè)計(jì)庫(kù)教程

    NI矢量信號(hào)收發(fā)儀可以通過(guò)LabVIEW范例和儀器設(shè)計(jì)庫(kù)進(jìn)行編程,或使用業(yè)內(nèi)標(biāo)準(zhǔn)NI-RFSA和NI-RFSG儀器驅(qū)動(dòng)。這兩選擇提供預(yù)
    發(fā)表于 11-18 08:37 ?1.1w次閱讀
    兩<b class='flag-5'>種</b>NI VST上位機(jī)編程:LabVIEW<b class='flag-5'>范例</b>和儀器設(shè)計(jì)庫(kù)教程

    MIT深度學(xué)習(xí)基礎(chǔ)知識(shí) 編碼器-解碼器架構(gòu)分析

    本文以 7 架構(gòu)范例簡(jiǎn)要介紹深度學(xué)習(xí),每種范例
    的頭像 發(fā)表于 02-21 15:53 ?1.1w次閱讀
    MIT<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>基礎(chǔ)知識(shí) 編碼器-解碼器<b class='flag-5'>架構(gòu)</b>分析

    為什么學(xué)習(xí)深度學(xué)習(xí)需要使用PyTorch和TensorFlow框架

    如果你需要深度學(xué)習(xí)模型,那么 PyTorch 和 TensorFlow 都是不錯(cuò)的選擇。 并非每個(gè)回歸或分類(lèi)問(wèn)題需要通過(guò)
    的頭像 發(fā)表于 09-14 10:57 ?3347次閱讀

    使用TensorFlow建立深度學(xué)習(xí)和機(jī)器學(xué)習(xí)網(wǎng)絡(luò)

    教你使用TensorFlow建立深度學(xué)習(xí)和機(jī)器學(xué)習(xí)網(wǎng)絡(luò)。
    發(fā)表于 03-26 09:44 ?18次下載

    HT7A6312低成本電源應(yīng)用范例

    本文介紹使用 HT7A6312 于低成本電源開(kāi)發(fā)案,針對(duì)實(shí)物上常用的拓樸架構(gòu)設(shè)計(jì)應(yīng)用范 例,包含:隔離反激式拓樸離架構(gòu)、非隔離反激式拓樸架構(gòu)
    發(fā)表于 06-30 14:34 ?2次下載
    HT<b class='flag-5'>7</b>A6312低成本電源應(yīng)用<b class='flag-5'>范例</b>

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

    。TensorFlow可以用于各種不同的任務(wù),包括圖像和語(yǔ)音識(shí)別、自然語(yǔ)言處理和推薦系統(tǒng)等。 TensorFlow提供一個(gè)靈活和強(qiáng)大的平臺(tái),可以用于構(gòu)建和訓(xùn)練各種
    的頭像 發(fā)表于 08-17 16:11 ?2258次閱讀