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

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

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

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

Tensorflowers ? 來源:f ? 作者:電子發(fā)燒友網(wǎng) ? 2019-02-21 15:53 ? 次閱讀

MIT 深度學(xué)習(xí)課程系列(6.S091、6.S093、6.S094)。講座視頻教程對(duì)所有人開放

作為麻省理工學(xué)院(MIT)深度學(xué)習(xí)講座系列與GitHub 教程的一部分,我們將介紹使用神經(jīng)網(wǎng)絡(luò)解決計(jì)算機(jī)視覺、自然語言處理、游戲、自動(dòng)駕駛、機(jī)器人等領(lǐng)域內(nèi)問題的基礎(chǔ)知識(shí)。

本文以7 種架構(gòu)范例簡(jiǎn)要介紹深度學(xué)習(xí),每種范例均提供 TensorFlow 教程鏈接。以下講座是 MIT 課程 6.S094 的一部分,其中介紹了深度學(xué)習(xí)基礎(chǔ)知識(shí),而本文對(duì)其進(jìn)行了說明。

深度學(xué)習(xí)是表征學(xué)習(xí),即通過數(shù)據(jù)自動(dòng)生成有用的表征。我們表述世界的方式可以使復(fù)雜事物簡(jiǎn)單化,讓人類及我們構(gòu)建的機(jī)器學(xué)習(xí)模型能夠容易理解。

我最喜歡的歷史示例是哥白尼于 1543 年發(fā)表的日心說模型。與先前以地球?yàn)?a target="_blank">中心的地心說模型不同,該模型將太陽置于 “宇宙” 的中心。在最佳情況下,深度學(xué)習(xí)讓我們可以自動(dòng)處理此步驟,無需哥白尼(即人類專家)即可完成 “特征工程” 過程:

日心說(1543 年)與地心說(公元前 6 世紀(jì))

從高層次來看,神經(jīng)網(wǎng)絡(luò)可以是編碼器、解碼器或二者的結(jié)合:

  • 編碼器會(huì)在原始數(shù)據(jù)中找到模式,以生成簡(jiǎn)潔有用的表征

  • 解碼器會(huì)利用這些表征生成高分辨率數(shù)據(jù)。所生成的數(shù)據(jù)是新示例或描述性知識(shí)

其余是一些巧妙方法,可幫助我們有效處理視覺信息、語言和音頻(范例 1 - 6),甚至可以幫助我們根據(jù)這些信息和偶爾的獎(jiǎng)勵(lì)在現(xiàn)實(shí)世界中采取行動(dòng)(范例 7)。以下是總體圖示:

在下面的部分,我將分別簡(jiǎn)要描述這 7 種架構(gòu)范例,每種范例均提供 TensorFlow 教程鏈接,以作說明。請(qǐng)參閱本文結(jié)尾的 “基礎(chǔ)知識(shí)拓展” 部分,其中探討了一些令人興奮的深度學(xué)習(xí)領(lǐng)域,不完全屬于這 7 種類別。

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

FFNN 的歷史可以追溯至 20 世紀(jì) 40 年代,只是一種沒有任何循環(huán)的網(wǎng)絡(luò)。數(shù)據(jù)以單次傳遞的方式從輸入傳遞至輸出,而沒有任何之前的 “狀態(tài)記憶”。從技術(shù)上講,深度學(xué)習(xí)中的大多數(shù)網(wǎng)絡(luò)均可被視為 FFNN,但 “FFNN” 通常指的是其最簡(jiǎn)單的變體:一種密集連接的多層感知器 (MLP)。

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

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

注:深度學(xué)習(xí)基礎(chǔ)知識(shí)教程 鏈接

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

網(wǎng)絡(luò)學(xué)習(xí)過程中訓(xùn)練集與驗(yàn)證集中的錯(cuò)誤

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

CNN(又名 ConvNet)是一種前饋神經(jīng)網(wǎng)絡(luò),其使用空間不變性技巧來有效學(xué)習(xí)圖像中最常見的局部模式。舉例而言,若圖像左上方與右下方的貓耳擁有相同的特征,我們便可將其稱為空間不變性。CNN 可跨空間共享權(quán)重,從而更高效地檢測(cè)出貓耳及其他模式。

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

TensorFlow 教程:請(qǐng)參閱深度學(xué)習(xí)基礎(chǔ)知識(shí)教程的第 2 部分,了解用于對(duì) MNIST 數(shù)據(jù)集中的手寫數(shù)字進(jìn)行分類的 CNN 示例。我們利用影像變形技術(shù)創(chuàng)造夢(mèng)幻般的精彩扭曲效果,并通過數(shù)據(jù)集之外生成的高分辨率手寫數(shù)字對(duì)分類器進(jìn)行測(cè)試:

利用影像變形技術(shù)生成手寫數(shù)字(左側(cè))并進(jìn)行分類預(yù)測(cè)(右側(cè))

3.遞歸神經(jīng)網(wǎng)絡(luò) (RNN)

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

我們已開發(fā)出 RNN 模塊的許多變體(包括LSTM和GRU),以幫助學(xué)習(xí)較長(zhǎng)序列中的模式。其應(yīng)用包括自然語言建模、語音識(shí)別、語音生成等。

TensorFlow 教程:遞歸神經(jīng)網(wǎng)絡(luò)的訓(xùn)練頗具挑戰(zhàn)性,但同時(shí)也讓我們可以對(duì)序列數(shù)據(jù)進(jìn)行一些有趣而強(qiáng)大的建模。利用 TensorFlow 生成文本是我最喜歡的教程之一,因?yàn)橹恍鑾仔写a便可完成一些事情:逐字生成合理文本:

注:利用 TensorFlow 生成文本 鏈接

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

資料來源:利用 TensorFlow 生成文本

4.編碼器-解碼器架構(gòu)

前 3 部分介紹的 FFNN、CNN 和 RNN 都只是分別使用密集編碼器、卷積編碼器或遞歸編碼器進(jìn)行預(yù)測(cè)的網(wǎng)絡(luò)。這些編碼器可以組合或切換,具體取決于我們嘗試生成有用表征的原始數(shù)據(jù)類型?!熬幋a器 — 解碼器” 架構(gòu)是一種更高層次的概念,此架構(gòu)基于編碼步驟而構(gòu)建,通過對(duì)壓縮表征進(jìn)行上采樣的步驟來生成高維輸出,而不是進(jìn)行預(yù)測(cè)。

請(qǐng)注意,編碼器與解碼器彼此之間可能大不相同。例如,圖像描述生成 (image captioning) 網(wǎng)絡(luò)可能采用卷積編碼器(用于圖像輸入)和遞歸解碼器(用于自然語言輸出)。其應(yīng)用包括語義分割、機(jī)器翻譯等。

TensorFlow 教程:請(qǐng)參閱我們的 駕駛場(chǎng)景分割教程,其中展示了用于處理無人車輛感知問題的最先進(jìn)分割網(wǎng)絡(luò):

注:駕駛場(chǎng)景分割教程 鏈接

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

教程:利用 TensorFlow 進(jìn)行駕駛場(chǎng)景分割

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

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

其 ground truth 數(shù)據(jù)來自輸入數(shù)據(jù),因此無需人工操作。換言之,此網(wǎng)絡(luò)可自我監(jiān)督。其應(yīng)用包括無監(jiān)督嵌入、圖像降噪等。但最重要的是,其 “表征學(xué)習(xí)” 的基本思想是下個(gè)部分的生成模型與所有深度學(xué)習(xí)的核心。

TensorFlow 教程:在這個(gè)TensorFlow Keras 教程中,您可以探索自動(dòng)編碼器在以下兩方面的功能:(1) 對(duì)輸入數(shù)據(jù)進(jìn)行降噪,(2) 在 MNIST 數(shù)據(jù)集中生成嵌入。

注:TensorFlow Keras 教程 鏈接

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

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

GAN 是一種訓(xùn)練網(wǎng)絡(luò)框架,已經(jīng)過優(yōu)化,可以通過特定表征生成新的真實(shí)樣本。簡(jiǎn)單而言,其訓(xùn)練過程涉及兩個(gè)網(wǎng)絡(luò)。其中一個(gè)網(wǎng)絡(luò)稱為生成器 (generator),它會(huì)生成新的數(shù)據(jù)實(shí)例并試圖欺騙另一個(gè)網(wǎng)絡(luò),即判別器 (discriminator),后者會(huì)對(duì)圖像的真?zhèn)芜M(jìn)行分類。

在過去幾年,GAN 出現(xiàn)了許多變體和改進(jìn),包括從特定類別生成圖像的能力,以及將圖像從一個(gè)域映射到另一個(gè)域的能力,而且所生成圖像的真實(shí)度也有極大提升。請(qǐng)觀看有關(guān) 深度學(xué)習(xí)先進(jìn)技術(shù)的講座,其中談及并探討了 GAN 的快速發(fā)展過程。例如,看看 BigGAN 從單個(gè)類別(毒蠅傘)中生成的三張樣本(arXiv 論文):

注:深度學(xué)習(xí)先進(jìn)技術(shù)的講座 鏈接

https://www.youtube.com/watch?v=53YvP6gdD7U

arXiv 論文 鏈接

https://arxiv.org/abs/1809.11096

BigGAN生成的圖像

TensorFlow 教程:如需 GAN 早期變體的示例,請(qǐng)參閱有關(guān)條件 GANDCGAN的教程。隨著課程的進(jìn)展,我們將在GitHub上發(fā)布有關(guān) GAN 先進(jìn)技術(shù)的教程。

注:條件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í) (Deep RL)

強(qiáng)化學(xué)習(xí) (RL) 是一種框架,可以教導(dǎo)智能體如何以使獎(jiǎng)勵(lì)最大化的方式在現(xiàn)實(shí)世界中采取行動(dòng)。我們將由神經(jīng)網(wǎng)絡(luò)完成的學(xué)習(xí)稱為深度強(qiáng)化學(xué)習(xí) (Deep RL)。RL 框架有三種類型:基于策略、基于值和基于模型。三者的區(qū)別在于神經(jīng)網(wǎng)絡(luò)需要學(xué)習(xí)的內(nèi)容。如需了解更多詳情,請(qǐng)觀看 MIT 課程 6.S091 的Deep RL 簡(jiǎn)介講座。當(dāng)我們需要作出一系列決策時(shí),可以借助 Deep RL 在模擬環(huán)境或真實(shí)環(huán)境中應(yīng)用神經(jīng)網(wǎng)絡(luò)。其中包括游戲操作、機(jī)器人、神經(jīng)架構(gòu)搜索等等。

注:Deep RL 簡(jiǎn)介講座 鏈接

https://www.youtube.com/watch?v=zR11FLZ-O9M&list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf

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

注:教程 鏈接

https://selfdrivingcars.mit.edu/deeptraffic-documentation/

代碼示例 鏈接

https://github.com/lexfridman/deeptraffic

MIT DeepTraffic:深度強(qiáng)化學(xué)習(xí)競(jìng)賽

基礎(chǔ)知識(shí)拓展

深度學(xué)習(xí)中有幾個(gè)重要概念并非由上述架構(gòu)直接表示。例如,變分自編碼器 (VAE)、LSTM/GRU或神經(jīng)圖靈機(jī)環(huán)境中的 “記憶” 概念、膠囊網(wǎng)絡(luò)、一般的注意力、遷移學(xué)習(xí)及元學(xué)習(xí)理念,以及 RL 中基于模型、基于值和基于策略的方法與 actor-critic 方法的區(qū)別。最后,許多深度學(xué)習(xí)系統(tǒng)以復(fù)雜的方式將這些架構(gòu)結(jié)合起來,從而共同從多模態(tài)數(shù)據(jù)中學(xué)習(xí),或共同學(xué)習(xí)解決多個(gè)任務(wù)。其中很多概念在本課程的其他講座中均有涉及,我們很快會(huì)介紹更多概念。

就個(gè)人而言,正如我在評(píng)論中所說,我很榮幸能有機(jī)會(huì)在 MIT 授課,并對(duì)加入 AI 和 TensorFlow 社區(qū)感到興奮不已。感謝大家在過去幾年的支持與熱烈討論。這是一次絕妙的旅程。如果您對(duì)我在未來的講座中應(yīng)談及的主題有任何建議,請(qǐng)?jiān)赥witter或LinkedIn上告訴我。


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

    關(guān)注

    73

    文章

    5422

    瀏覽量

    120588
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    327

    瀏覽量

    60413

原文標(biāo)題:MIT 深度學(xué)習(xí)基礎(chǔ)知識(shí):TensorFlow 簡(jiǎn)介與概覽

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    怎么理解真正的編碼器解碼器?

      在進(jìn)入關(guān)于編碼器解碼器的現(xiàn)實(shí)之前,讓我們對(duì)復(fù)用進(jìn)行簡(jiǎn)要的思考。通常我們會(huì)在需要將一些輸入信號(hào)一次一個(gè)地加載到一個(gè)單獨(dú)負(fù)載的應(yīng)用程序中。選擇輸入信號(hào)中的一個(gè)輸入信號(hào)的過程稱為多路復(fù)用。這種操作
    發(fā)表于 09-01 17:48

    編碼器解碼器的區(qū)別是什么,編碼器用軟件還是硬件好

    編碼器指的是對(duì)視頻信號(hào)進(jìn)行壓縮,解碼器主要是將壓縮的視頻信號(hào)進(jìn)行解壓縮。目前做直播的很多都是采用的編碼器,客戶端可以采用解碼器或軟件播放
    發(fā)表于 08-02 17:23 ?3.4w次閱讀

    詳解編碼器解碼器電路:定義/工作原理/應(yīng)用/真值表

    編碼器解碼器是組合邏輯電路,在其中,主要借助布爾代數(shù)實(shí)現(xiàn)組合邏輯。今天就大家了解一下編碼器解碼器電路,分別從定義,工作原理,應(yīng)用,真值表幾個(gè)方面講述一下。
    的頭像 發(fā)表于 11-03 09:22 ?6814次閱讀
    詳解<b class='flag-5'>編碼器</b>和<b class='flag-5'>解碼器</b>電路:定義/工作原理/應(yīng)用/真值表

    PyTorch教程10.6之編碼器-解碼器架構(gòu)

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程10.6之編碼器-解碼器架構(gòu).pdf》資料免費(fèi)下載
    發(fā)表于 06-05 18:12 ?0次下載
    PyTorch教程10.6之<b class='flag-5'>編碼器</b>-<b class='flag-5'>解碼器</b><b class='flag-5'>架構(gòu)</b>

    PyTorch教程-10.6. 編碼器-解碼器架構(gòu)

    10.6. 編碼器-解碼器架構(gòu)? Colab [火炬]在 Colab 中打開筆記本 Colab [mxnet] Open the notebook in Colab Colab [jax
    的頭像 發(fā)表于 06-05 15:44 ?754次閱讀
    PyTorch教程-10.6. <b class='flag-5'>編碼器</b>-<b class='flag-5'>解碼器</b><b class='flag-5'>架構(gòu)</b>

    基于transformer的編碼器-解碼器模型的工作原理

    與基于 RNN 的編碼器-解碼器模型類似,基于 transformer 的編碼器-解碼器模型由一個(gè)編碼器和一個(gè)
    發(fā)表于 06-11 14:17 ?1943次閱讀
    基于transformer的<b class='flag-5'>編碼器</b>-<b class='flag-5'>解碼器</b>模型的工作原理

    基于 RNN 的解碼器架構(gòu)如何建模

    language processing,NLP) 領(lǐng)域編碼器-解碼器架構(gòu)的?事實(shí)標(biāo)準(zhǔn)?。 最近基于 transformer 的編碼器-解碼器
    的頭像 發(fā)表于 06-12 17:08 ?668次閱讀
    基于 RNN 的<b class='flag-5'>解碼器</b><b class='flag-5'>架構(gòu)</b>如何建模

    基于 Transformers 的編碼器-解碼器模型

    基于 transformer 的編碼器-解碼器模型是 表征學(xué)習(xí) 和 模型架構(gòu) 這兩個(gè)領(lǐng)域多年研究成果的結(jié)晶。本文簡(jiǎn)要介紹了神經(jīng)編碼器-
    的頭像 發(fā)表于 06-16 16:53 ?737次閱讀
    基于 Transformers 的<b class='flag-5'>編碼器</b>-<b class='flag-5'>解碼器</b>模型

    神經(jīng)編碼器-解碼器模型的歷史

    基于 transformer 的編碼器-解碼器模型是 表征學(xué)習(xí) 和 模型架構(gòu) 這兩個(gè)領(lǐng)域多年研究成果的結(jié)晶。本文簡(jiǎn)要介紹了神經(jīng)編碼器-
    的頭像 發(fā)表于 06-20 15:42 ?720次閱讀
    神經(jīng)<b class='flag-5'>編碼器</b>-<b class='flag-5'>解碼器</b>模型的歷史

    詳解編碼器解碼器電路

    編碼器解碼器是組合邏輯電路,在其中,主要借助布爾代數(shù)實(shí)現(xiàn)組合邏輯。今天就大家了解一下編碼器解碼器電路,分別從定義,工作原理,應(yīng)用,真值表幾個(gè)方面講述一下。
    的頭像 發(fā)表于 07-14 09:07 ?2806次閱讀
    詳解<b class='flag-5'>編碼器</b>和<b class='flag-5'>解碼器</b>電路

    視頻編碼器解碼器的應(yīng)用方案

    視頻解碼器和視頻編碼器在數(shù)字通訊、音視頻壓縮領(lǐng)域有著廣泛的應(yīng)用。視頻編碼器作為視頻源的發(fā)送端,若接收端如果是?PC?機(jī)或顯示設(shè)備就需要通過解碼器進(jìn)行
    的頭像 發(fā)表于 08-14 14:38 ?1199次閱讀
    視頻<b class='flag-5'>編碼器</b>與<b class='flag-5'>解碼器</b>的應(yīng)用方案

    YXC丨視頻編碼器解碼器的應(yīng)用方案

    視頻解碼器和視頻編碼器是數(shù)字信號(hào)處理中常用的設(shè)備,它們?cè)跀?shù)據(jù)的傳輸和轉(zhuǎn)換中發(fā)揮著重要作用。
    的頭像 發(fā)表于 08-23 09:40 ?574次閱讀
    YXC丨視頻<b class='flag-5'>編碼器</b>與<b class='flag-5'>解碼器</b>的應(yīng)用方案

    視頻編碼器解碼器的應(yīng)用方案

    視頻解碼器和視頻編碼器是數(shù)字信號(hào)處理中常用的設(shè)備,它們?cè)跀?shù)據(jù)的傳輸和轉(zhuǎn)換中發(fā)揮著重要作用。
    的頭像 發(fā)表于 08-28 11:31 ?490次閱讀
    視頻<b class='flag-5'>編碼器</b>與<b class='flag-5'>解碼器</b>的應(yīng)用方案

    信路達(dá) 解碼器/編碼器 XD74LS48數(shù)據(jù)手冊(cè)

    解碼器/編碼器?DIP164.75~5.25V封裝:DIP16_19.3X6.4MM
    發(fā)表于 08-19 15:57 ?2次下載

    信路達(dá) 解碼器/編碼器 XD74LS47數(shù)據(jù)手冊(cè)

    解碼器/編碼器DIP164.75~5.25V封裝:DIP16_19.3X6.4MM
    發(fā)表于 08-19 15:57 ?0次下載