深度學習及自動駕駛應用 課件 第8、9章 基于Transformer的自動駕駛目標檢測理論與實踐、生成對抗網絡及自動駕駛應用_第1頁
深度學習及自動駕駛應用 課件 第8、9章 基于Transformer的自動駕駛目標檢測理論與實踐、生成對抗網絡及自動駕駛應用_第2頁
深度學習及自動駕駛應用 課件 第8、9章 基于Transformer的自動駕駛目標檢測理論與實踐、生成對抗網絡及自動駕駛應用_第3頁
深度學習及自動駕駛應用 課件 第8、9章 基于Transformer的自動駕駛目標檢測理論與實踐、生成對抗網絡及自動駕駛應用_第4頁
深度學習及自動駕駛應用 課件 第8、9章 基于Transformer的自動駕駛目標檢測理論與實踐、生成對抗網絡及自動駕駛應用_第5頁
已閱讀5頁,還剩89頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于Transformer的自動駕駛目標檢測理論與實踐第八章DeepLearningAndAutonomousDriving深度學習與自動駕駛應用DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第2頁8.4Transformer自動駕駛應用8.1Transformer概述8.3VisionTransformer介紹8.2Transformer基本理論8.5實踐項目目錄ContentDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第3頁8.1Transformer概述為什么要用TransformerDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第4頁8.1Transformer概述Seq2Seq任務:指的是輸入和輸出都是序列,且輸出長度不確定時采用的模型;這種情況一般是在機器翻譯的任務中出現,將一句中文翻譯成英文,那么這句英文的長度有可能會比中文短,也有可能會比中文長,所以輸出的長度就不確定了。輸入的中文長度為4,輸出的英文長度為2Seq2Seq任務DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第5頁8.1Transformer概述如何處理Seq2Seq任務其實在之前我們使用的是RNN(或者是其的單向或者雙向變種LSTM/GRU等)來作為編解碼器,RNN模塊每次只能夠吃進一個輸入token和前一次的隱藏狀態(tài),然后得到輸出。它的時序結構使得這個模型能夠得到長距離的依賴關系,但是這也使得它不能夠并行計算,模型效率十分低。在沒有transformer的時候,我們都是用什么來完成這系列的時序任務的呢?DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第6頁8.1Transformer概述Encoder-Decoder模型Seq2Seq任務最常見的是使用Encoder+Decoder的模式,先將一個序列編碼成一個上下文矩陣,在使用Decoder來解碼。當然,我們僅僅把contextvector作為編碼器到解碼器的輸入。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第7頁8.1Transformer概述Attention注意力機制在介紹什么是注意力機制之前,先讓大家看一張圖片。當大家看到右邊這張圖片,會首先看到什么內容?當過加載信息映入眼簾時,我們的大腦會把注意力放在主要的信息上,這就是大腦的注意力機制。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第8頁8.1Transformer概述Attention注意力機制DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第9頁8.1Transformer概述Transformer整體模型架構2017年google的機器翻譯團隊在NIPS上發(fā)表了Attentionisallyouneed的文章,開創(chuàng)性地提出了在序列轉錄領域,完全拋棄CNN和RNN,只依賴Attention-注意力結構的簡單的網絡架構,名為Transformer;論文實現的任務是機器翻譯。Multi-HeadAttentionAdd&NormInputEmbeddingOutputEmbeddingFeedForwardAdd&NormMaskedMulti-HeadAttentionAdd&NormMulti-HeadAttentionAdd&NormFeedForwardAdd&NormLinearSoftmaxInputsOutputs(shiftedright)PositionalEncodingPositionalEncodingTransformer結構DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第10頁8.1Transformer概述每個詞的Attention計算每個詞的Q會跟整個序列中每一個K計算得分,然后基于得分再分配特征Q:

query,要去查詢的K:

key,等著被查的V:

value,實際的特征信息DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第11頁8.4Transformer自動駕駛應用8.1Transformer概述8.3VisionTransformer介紹8.2Transformer基本理論8.5實踐項目目錄ContentDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第12頁8.1Transformer概述Attention的優(yōu)點1.參數少:相比于CNN、RNN,其復雜度更小,參數也更少。所以對算力的要求也就更小。2.速度快:Attention解決了RNN及其變體模型不能并行計算的問題。Attention機制每一步計算不依賴于上一步的計算結果,因此可以和CNN一樣并行處理。3.效果好:在Attention機制引入之前,有一個問題大家一直很苦惱:長距離的信息會被弱化,就好像記憶能力弱的人,記不住過去的事情是一樣的。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第13頁8.2Transformer基本理論Transformer模型黑盒模式從宏觀的視角開始首先將這個模型看成是一個黑箱操作。在機器翻譯中,就是輸入一種語言,輸出另一種語言。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第14頁8.2Transformer基本理論Transformer模型Encoder-Decoder架構模式那么拆開這個黑箱,我們可以看到它是由編碼組件、解碼組件和它們之間的連接組成。編碼組件部分由一堆編碼器(encoder)構成(論文中是將6個編碼器疊在一起)。解碼組件部分也是由相同數量(與編碼器對應)的解碼器(decoder)組成的。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第15頁8.2Transformer基本理論DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第16頁8.2Transformer基本理論編碼器所有的編碼器在結構上都是相同的,但它們沒有共享參數。每個編碼器都可以分解成兩個子層。每個編碼器由兩個子層組成:Self-Attention層(自注意力層)和Position-wiseFeedForwardNetwork(前饋網絡)DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第17頁8.2Transformer基本理論解碼器從編碼器輸入的句子首先會經過一個自注意力(self-attention)層,這層幫助編碼器在對每個單詞編碼時關注輸入句子的其他單詞。自注意力層的輸出會傳遞到前饋(feed-forward)神經網絡中。每個位置的單詞對應的前饋神經網絡都完全一樣(譯注:另一種解讀就是一層窗口為一個單詞的一維卷積神經網絡)。解碼器中也有編碼器的自注意力(self-attention)層和前饋(feed-forward)層。除此之外,這兩個層之間還有一個注意力層,用來關注輸入句子的相關部分(和seq2seq模型的注意力作用相似)。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第18頁8.2Transformer基本理論每個單詞都被嵌入為512維的向量,詞嵌入過程只發(fā)生在最底層的編碼器中。所有的編碼器都有一個相同的特點,即它們接收一個向量列表,列表中的每個向量大小為512維。在底層(最開始)編碼器中它就是詞向量,但是在其他編碼器中,它就是下一層編碼器的輸出(也是一個向量列表)。各種向量或張量是怎樣在模型的不同部分中,將輸入轉化為輸出的?像大部分NLP應用一樣,我們首先將每個輸入單詞通過詞嵌入算法轉換為詞向量。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第19頁8.2Transformer基本理論Transformer的一個核心特性,在這里輸入序列中每個位置的單詞都有自己獨特的路徑流入編碼器。在自注意力層中,這些路徑之間存在依賴關系。而前饋(feed-forward)層沒有這些依賴關系。因此在前饋(feed-forward)層時可以并行執(zhí)行各種路徑將輸入序列進行詞嵌入之后,每個單詞都會流經編碼器中的兩個子層。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第20頁8.2Transformer基本理論編碼過程編碼器會接收一個向量作為輸入。編碼器首先將這些向量傳遞到Self-Attention層,然后傳遞到前饋網絡,最后將輸出傳遞到下一個編碼器。輸入序列的每個單詞都經過自編碼過程。然后,它們各自通過前向傳播神經網絡:完全相同的網絡,而每個向量都分別通過它。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第21頁8.2Transformer基本理論編碼過程假如,我們要翻譯下面這個句子:Theanimaldidn’tcrossthestreetbecauseitwastootired.這個句子中的it指的是什么?是指animal還是street?對人來說,這是一個簡單的問題,但是算法來說卻不那么簡單。當模型在處理it時,Self-Attention機制使其能夠將it和animal關聯起來。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第22頁8.2Transformer基本理論當我們在編碼器(堆棧中的頂部編碼器)中對單詞”it“進行編碼時,有一部分注意力集中在”Theanimal“上,并將它們的部分信息融入到”it“的編碼中。編碼過程DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第23頁8.2Transformer基本理論編碼過程計算自注意力的第一步就是從每個編碼器的輸入向量(每個單詞的詞向量)中生成三個向量。也就是說對于每個單詞,我們創(chuàng)造一個查詢向量(Q)、一個鍵向量(K)和一個值向量(V)。這三個向量是通過詞嵌入與三個權重矩陣后相乘創(chuàng)建的。X1與WQ權重矩陣相乘得到q1,就是與這個單詞相關的查詢向量。最終使得輸入序列的每個單詞的創(chuàng)建一個查詢向量Q、一個鍵向量K和一個值向量V。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第24頁8.2Transformer基本理論

計算得分

將每個值向量乘以softmax分數(這是為了準備之后將它們求和)。

DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第25頁8.2Transformer基本理論通過矩陣運算實現自注意力機制

x矩陣中的每一行對應于輸入句子中的一個單詞。我們再次看到詞嵌入向量(512,或圖中的4個格子)和q/k/v向量(64,或圖中的3個格子)的大小差異。最后,由于我們處理的是矩陣,我們可以用一個公式來計算自注意力層的輸出。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第26頁8.2Transformer基本理論“多頭”注意力(“multi-headed”attention)機制一組Q,K,V得到了一組當前詞的特征表達類似卷積神經網絡中的filter提取多種特征?DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第27頁8.2Transformer基本理論可以看到Multi-HeadAttention輸出的矩陣Z與其輸入的矩陣X的維度是一樣的?!岸囝^”注意力(“multi-headed”attention)機制DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第28頁8.2Transformer基本理論“multi-headed”attention全部流程DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第29頁8.2Transformer基本理論使用位置編碼表示序列的順序到目前為止,我們對模型的描述缺少了一種理解輸入單詞順序的方法。為了解決這個問題,Transformer為每個輸入的詞嵌入添加了一個向量。這些向量遵循模型學習到的特定模式,這有助于確定每個單詞的位置,或序列中不同單詞之間的距離。這里的直覺是,將位置向量添加到詞嵌入中使得它們在接下來的運算中,能夠更好地表達的詞與詞之間的距離。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第30頁8.2Transformer基本理論使用位置編碼表示序列的順序為了讓模型理解單詞的順序,我們添加了位置編碼向量,這些向量的值遵循特定的模式。如果我們假設詞嵌入的維數為4,則實際的位置編碼如下:DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第31頁8.2Transformer基本理論DecoderDecoder和Encoder中的模塊類似,都包含Attention層、前饋網絡層、融合歸一化層,不同的是Decoder中多了一個Encoder-DecoderAttention層。

Decoder模塊的輸入輸出和解碼過程:DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第32頁8.2Transformer基本理論DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第33頁8.4Transformer自動駕駛應用8.1Transformer概述8.3VisionTransformer介紹8.2Transformer基本理論8.5實踐項目目錄ContentDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第34頁8.3VisionTransformer介紹DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第35頁8.3VisionTransformer介紹圖片分類的原理背景知識DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第36頁8.3VisionTransformer介紹背景知識為什么需要用transformerCNN(如ResNet)是圖像分類的最佳解決方案。如果預訓練的數據集足夠大(至少一億張圖像),則VisionTransformer(ViT)將擊敗CNN(小幅度)VisionTransformer(ViT)實際上就是Transformer的encode網絡。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第37頁8.3VisionTransformer介紹VisionTransformer(ViT)提出ViT模型的這篇文章題名為AnImageisWorth16x16Words:TransformersforImageRecognitionatScale,發(fā)表于2020年10月份,雖然相較于一些Transformer的視覺任務應用模型(如DETR)提出要晚了一些,但作為一個純Transformer結構的視覺分類網絡,其工作還是有較大的開創(chuàng)性意義的。論文下載鏈接:/abs/2010.11929

DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第38頁8.3VisionTransformer介紹VisionTransformer(ViT)對于一個標準的Transformer模塊,要求輸入的是token(向量)序列,即二維矩陣[num_token,token_dim]。對于一個圖像數據而言,其數據格式為三維矩陣[H,W,C],這明顯不是Transformer想要的,所以我們需要進行一個圖像預處理步驟。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第39頁8.3VisionTransformer介紹VisionTransformer(ViT)先將圖片分成NxN的patch塊(原始論文是16x16)patch塊可以重疊(上圖沒有重疊,是9x9的patch塊)DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第40頁8.3VisionTransformer介紹VisionTransformer(ViT)將patch打平,對每個patch進行線性映射,提取特征DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第41頁8.3VisionTransformer介紹VisionTransformer(ViT)提取特征DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第42頁8.3VisionTransformer介紹VisionTransformer(ViT)類似NLP問題,我們給PatchEmbedding加上了一個位置編碼PositionEmbedding。接著我們進行Transformer編碼操作,就能反饋得到很多輸出。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第43頁8.3VisionTransformer介紹VisionTransformer(ViT)將位置編碼信息加入提取的特征DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第44頁8.3VisionTransformer介紹VisionTransformer(ViT)將位置編碼信息加入提取的特征DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第45頁8.3VisionTransformer介紹VisionTransformer(ViT)結論:編碼有用,但是怎么編碼影響不大,干脆用簡單的得了2D(分別計算行和列的編碼,然后求和)的效果還不如1D的每一層都加共享的位置編碼也沒啥太大用位置編碼信息對準確率的影響DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第46頁8.3VisionTransformer介紹VisionTransformer(ViT)

Transformer提取特征DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第47頁8.3VisionTransformer介紹VisionTransformer(ViT)

DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第48頁8.3VisionTransformer介紹VisionTransformer(ViT)

至于這個TransformerEncoder,實際上是一個標準的Transformer。

當你有這些patch的時候,先進來做一次LayerNorm,然后再做Multi-HeadAttention,然后再LayerNorm,再做一個MLP,這就是一個Transformerblock。然后我們可以把它疊加L次,就得到了我們的TransformerEncoder。

所以說從整體上來看,VisionTransformer的架構還是相當簡潔的,它的特殊之處就在于如何把一個圖片變成這里的一系列的token。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第49頁8.3VisionTransformer介紹VisionTransformer模型整體思路1.圖片切分為patch2.patch轉化為embedding3.位置embedding和tokensembedding相加4.輸入到Transformer模型5.CLS輸出做多分類任務DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第50頁8.3VisionTransformer介紹VisionTransformer(ViT)輸入輸入輸入注意力注意力注意力來自輸入空間的注意力表達DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第51頁8.3VisionTransformer介紹DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第52頁8.4Transformer自動駕駛應用8.1Transformer概述8.3VisionTransformer介紹8.2Transformer基本理論8.5實踐項目目錄ContentDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第53頁8.4Transformer自動駕駛應用目標檢測DETR

:End-to-EndObjectDetectionwithTransformers第一步是通過一個CNN對輸入圖片抽取特征,然后將特征圖拉直輸入TransformerEncoder-Decoder;第二步的TransformerEncoder部分就是使得網絡更好地去學習全局的特征;第三步使用TransformerDecoder以及ObjectQuery從特征中學習要檢測的物體;第四步就是將ObjectQuery的結果和真值進行二分圖匹配(Set-to-SetLoss),最后在匹配上的結果上計算分類Loss和位置回歸Loss;DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第54頁8.4Transformer自動駕駛應用目標檢測DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第55頁8.4Transformer自動駕駛應用語義分割StratifiedTransformerfor3DPointCloudSegmentation第一步:輸入的三維點云數據首先通過第一層點嵌入模塊,以聚合每個點的局部信息;第二步:對于每個查詢點,對附近的點進行密集采樣,并以分層方式稀疏采樣遠點作為其關鍵點;第三步:使用抽樣密鑰來計算每個查詢點的注意力權重,這些權重用于聚合按鍵中的信息;第四步:聚合信息通過多層Transformer網絡傳遞,以捕獲長期依賴關系并生成最終的分段結果DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第56頁8.4Transformer自動駕駛應用語義分割DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第57頁8.4Transformer自動駕駛應用點云目標檢測Pointformer

:3DObjectDetectionwithPointformer第一步:將三維點云作為輸入,并將其通過LocalTransformer模塊,LocalTransformer模塊對局部區(qū)域中點之間的交互進行建模,該模塊在對象級別學習上下文相關的區(qū)域特征;第二步:使用Local-GlobalTransformer,將局部特征與分辨率更高的全局特征集成在一起,以捕捉多尺度表示之間的依賴關系;第三步:使用GlobalTransformer,旨在學習場景級別的情境感知表現形式。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第58頁8.4Transformer自動駕駛應用點云目標檢測DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第59頁8.4Transformer自動駕駛應用BEV感知BEVFormer:LearningBird’s-Eye-ViewRepresentationfromMulti-CameraImagesviaSpatiotemporalTransformers第一步:將多攝像機圖像作為輸入,首先由主干網絡處理以提取特征。與此同時,提取前一個時間戳的BEV特征;第二步:在每一個encoder層,首先通過時間自注意模塊去查詢前一個時間戳的BEV特征。然后,通過空間交叉注意模塊從多攝像頭特征?中查詢空間特征。第三步:經過前饋,encoder層輸出細化的BEV特征,作為下一個encoder層的輸入,經過6個疊加的encoder層后得到統一的BEV特征DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第60頁8.4Transformer自動駕駛應用BEV感知DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第61頁8.4Transformer自動駕駛應用8.1Transformer概述8.3VisionTransformer介紹8.2Transformer基本理論8.5實踐項目目錄ContentThanks!DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第62頁第八章注意力機制與Transformer謝謝!本章總結與答疑生成對抗網絡及自動駕駛應用第九章DeepLearningAndAutonomousDriving深度學習與自動駕駛應用DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第64頁9.4實踐項目9.1生成式對抗網絡概述9.3生成對抗網絡應用9.2生成式對抗網絡基本理論目錄ContentDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第65頁9.1生成式對抗網絡概述什么是對抗?在射雕英雄傳中,老頑童周伯通被困在桃花島,閑的無聊,自創(chuàng)了左右手互搏術,左手打右手,右手打左手,雙手的武功不斷精進。這就是對抗在現實世界里沒有左右手互搏術,但在人工智能的世界里卻有,這就是GAN,中文名字:生成對抗網絡。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第66頁9.1生成式對抗網絡概述生成對抗網絡能干啥?2018年10月,一幅肖像畫在紐約佳士得以43萬美元的高價被成功拍賣作者為GANDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第67頁9.1生成式對抗網絡概述生成對抗網絡能干啥?如果將GAN比作一個人的話,書法、作畫、譜曲,樣樣都可以做到精通,就像他的名字“生成對抗網絡”一樣,他的誕生就是為了生成、為了創(chuàng)作。GAN有哪些應用?DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第68頁9.1生成式對抗網絡概述深度學習中常見生成式模型自編碼(AE)其隱變量z是一個單值映射:z=f(x)變分自編碼(VAE)其隱變量z是一個正態(tài)分布的采樣生成式對抗網絡(GAN)條件生成式對抗網絡(CGAN)在生成器和判別器中添加某一標簽信息深度卷積生成式對抗網絡(DCGAN)判別器和生成器都使用了卷積神經網絡(CNN)來替代GAN

中的多層感知機DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第69頁9.1生成式對抗網絡概述GAN起源GAN(GenerativeAdversarialNetworks),中文翻譯為生成式對抗網絡,是IanGoodfellow等在2014年提出的一種生成式模型。GAN的基本思想源自博弈論的二人零和博弈,由一個生成器和一個判別器構成,通過對抗學習的方式來訓練.目的是估測數據樣本的潛在分布并生成新的數據樣本。2001年,TonyJebara在畢業(yè)論文中以最大熵形式將判別模型與生成模型結合起來聯合學習2007年,ZhuowenTu提出將基于boosting分類器的判別模型與基于采樣的生成模型相結合,來產生出服從真實分布的樣本。2012年,JunZhu將最大間隔機制與貝葉斯模型相結合進行產生式模型的學習。2014年,IanGoodfellow等人提出生成式對抗網絡,迎合了大數據需求和深度學習熱潮,給出了一個大的理論框架及理論收斂性分析。起源發(fā)展DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第70頁9.1生成式對抗網絡概述

GAN的核心思想來源于博弈論的納什均衡它設定參與游戲雙方分別為一個生成器(Generator)和一個判別器(Discriminator),生成器的目的是盡量去學習真實的數據分布,而判別器的目的是盡量正確判別輸入數據是來自真實數據還是來自生成器;為了取得游戲勝利,這兩個游戲參與者需要不斷優(yōu)化,各自提高自己的生成能力和判別能力,這個學習優(yōu)化過程就是尋找二者之間的一個納什均衡。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第71頁9.1生成式對抗網絡概述DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第72頁9.4實踐項目9.1生成式對抗網絡概述9.3生成對抗網絡應用9.2生成式對抗網絡基本理論目錄ContentDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第73頁9.2生成式對抗網絡基本理論生成對抗模型的特性——博弈生成器的目標:接收隨機向量,生成與真實樣本盡可能相似的樣本。判別器的目標:接收生成器生成的樣本和真實樣本,盡可能地判斷兩者之間的真假。納什均衡:生成器和判別器都能得到最多的好處DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第74頁9.2生成式對抗網絡基本理論GAN應用的一般框架隨機變量+真實數據+生成器+判別器

一般為二分類網絡網絡結構根據生成內容定義DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第75頁9.2生成式對抗網絡基本理論訓練過程訓練過程中,固定一方,更新另一方的網絡權重,交替迭代。那么先訓練誰呢?生成器學生:負責產出內容判別器老師:負責評判分數先訓練判別器。1、樣本直接輸入到判別器之中。2、只有判別器具有一定的判斷能力后,生成器的訓練才有意義。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第76頁9.2生成式對抗網絡基本理論使用步驟建立模型生成器和判別器網絡訓練過程損失函數參數學習DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第77頁9.2生成式對抗網絡基本理論常用:交叉熵損失函數判別器目標函數:對于真實樣本,其標簽值為1,那么其單個樣本損失函數就是同理可得生成器輸出樣本的總體損失函數,判別器的目標函數定義如下其中,D(x)表示判別器輸出的真實圖像的概率分布,D(G(z))表示判別器輸出的生成器生成圖像的概率分布。

真實樣本的總體損失函數是

DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第78頁9.2生成式對抗網絡基本理論模型總目標函數對于判別器,我們盡可能地希望其分類正確,但是對于生成器而言,我們又希望D(G(z))越接近1越好,所以GAN網絡的目標函數如下所示

DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第79頁9.2生成式對抗網絡基本理論使用步驟GAN的主要分支-CGANCGAN--條件生成對抗網絡,為了防止訓練崩塌將前置條件加入輸入數據。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第80頁9.2生成式對抗網絡基本理論使用步驟DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第81頁9.2生成式對抗網絡基本理論使用步驟GAN的主要分支-DCGANDCGAN--深度卷積生成對抗網絡,提出了能穩(wěn)定訓練的網絡結構,更易于工程實現。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第82頁9.2生成式對抗網絡基本理論使用步驟GAN的主要分支-CGANCGAN--條件生成對抗網絡,為了防止訓練崩塌將前置條件加入輸入數據。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第83頁9.2生成式對抗網絡基本理論使用步驟DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第84頁9.4實踐項目9.1生成式對抗網絡概述9.3生成對抗網絡應用9.2生成式對抗網絡基本理論目錄ContentDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第85頁9.3生成對抗網絡應用GAN的應用

圖像和視覺領域語音和語言領域其他領域作為一個具有“無限”生成能力的模型,GAN的直接應用就是建模,生成與真實數據分布一致的數據樣本,GAN可以用于解決標注數據不足時的學習問題。其可以應用于:DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第86頁9.3生成對抗網絡應用圖像和視覺領域GAN能夠生成與真實數據分布一致的圖像。一個典型應用是利用GAN來將一個低清模糊圖像變換為具有豐富細節(jié)的高清圖像。用VGG網絡作為判別器,用參數化的殘差網絡表示生成器,實驗結果如圖所示,可以看到GAN生成了細節(jié)豐富的圖像。Deep

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論