版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
基于Transformer的自動駕駛目標檢測理論與實踐第八章DeepLearningAndAutonomousDriving深度學習與自動駕駛應用DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第2頁8.4Transformer自動駕駛應用8.1Transformer概述8.3VisionTransformer介紹8.2Transformer基本理論8.5實踐項目目錄ContentDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第3頁8.1Transformer概述為什么要用TransformerDeepLearningAndAutonomousDriving深度學習與自動駕駛應用第4頁8.1Transformer概述Seq2Seq任務:指的是輸入和輸出都是序列,且輸出長度不確定時采用的模型;這種情況一般是在機器翻譯的任務中出現(xiàn),將一句中文翻譯成英文,那么這句英文的長度有可能會比中文短,也有可能會比中文長,所以輸出的長度就不確定了。輸入的中文長度為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注意力機制在介紹什么是注意力機制之前,先讓大家看一張圖片。當大家看到右邊這張圖片,會首先看到什么內(nèi)容?當過加載信息映入眼簾時,我們的大腦會把注意力放在主要的信息上,這就是大腦的注意力機制。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第8頁8.1Transformer概述Attention注意力機制DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第9頁8.1Transformer概述Transformer整體模型架構2017年google的機器翻譯團隊在NIPS上發(fā)表了Attentionisallyouneed的文章,開創(chuàng)性地提出了在序列轉錄領域,完全拋棄CNN和RNN,只依賴Attention-注意力結構的簡單的網(wǎng)絡架構,名為Transformer;論文實現(xiàn)的任務是機器翻譯。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.參數(shù)少:相比于CNN、RNN,其復雜度更小,參數(shù)也更少。所以對算力的要求也就更小。2.速度快:Attention解決了RNN及其變體模型不能并行計算的問題。Attention機制每一步計算不依賴于上一步的計算結果,因此可以和CNN一樣并行處理。3.效果好:在Attention機制引入之前,有一個問題大家一直很苦惱:長距離的信息會被弱化,就好像記憶能力弱的人,記不住過去的事情是一樣的。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第13頁8.2Transformer基本理論Transformer模型黑盒模式從宏觀的視角開始首先將這個模型看成是一個黑箱操作。在機器翻譯中,就是輸入一種語言,輸出另一種語言。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第14頁8.2Transformer基本理論Transformer模型Encoder-Decoder架構模式那么拆開這個黑箱,我們可以看到它是由編碼組件、解碼組件和它們之間的連接組成。編碼組件部分由一堆編碼器(encoder)構成(論文中是將6個編碼器疊在一起)。解碼組件部分也是由相同數(shù)量(與編碼器對應)的解碼器(decoder)組成的。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第15頁8.2Transformer基本理論DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第16頁8.2Transformer基本理論編碼器所有的編碼器在結構上都是相同的,但它們沒有共享參數(shù)。每個編碼器都可以分解成兩個子層。每個編碼器由兩個子層組成:Self-Attention層(自注意力層)和Position-wiseFeedForwardNetwork(前饋網(wǎng)絡)DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第17頁8.2Transformer基本理論解碼器從編碼器輸入的句子首先會經(jīng)過一個自注意力(self-attention)層,這層幫助編碼器在對每個單詞編碼時關注輸入句子的其他單詞。自注意力層的輸出會傳遞到前饋(feed-forward)神經(jīng)網(wǎng)絡中。每個位置的單詞對應的前饋神經(jīng)網(wǎng)絡都完全一樣(譯注:另一種解讀就是一層窗口為一個單詞的一維卷積神經(jīng)網(wǎng)絡)。解碼器中也有編碼器的自注意力(self-attention)層和前饋(feed-forward)層。除此之外,這兩個層之間還有一個注意力層,用來關注輸入句子的相關部分(和seq2seq模型的注意力作用相似)。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第18頁8.2Transformer基本理論每個單詞都被嵌入為512維的向量,詞嵌入過程只發(fā)生在最底層的編碼器中。所有的編碼器都有一個相同的特點,即它們接收一個向量列表,列表中的每個向量大小為512維。在底層(最開始)編碼器中它就是詞向量,但是在其他編碼器中,它就是下一層編碼器的輸出(也是一個向量列表)。各種向量或張量是怎樣在模型的不同部分中,將輸入轉化為輸出的?像大部分NLP應用一樣,我們首先將每個輸入單詞通過詞嵌入算法轉換為詞向量。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第19頁8.2Transformer基本理論Transformer的一個核心特性,在這里輸入序列中每個位置的單詞都有自己獨特的路徑流入編碼器。在自注意力層中,這些路徑之間存在依賴關系。而前饋(feed-forward)層沒有這些依賴關系。因此在前饋(feed-forward)層時可以并行執(zhí)行各種路徑將輸入序列進行詞嵌入之后,每個單詞都會流經(jīng)編碼器中的兩個子層。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第20頁8.2Transformer基本理論編碼過程編碼器會接收一個向量作為輸入。編碼器首先將這些向量傳遞到Self-Attention層,然后傳遞到前饋網(wǎng)絡,最后將輸出傳遞到下一個編碼器。輸入序列的每個單詞都經(jīng)過自編碼過程。然后,它們各自通過前向傳播神經(jīng)網(wǎng)絡:完全相同的網(wǎng)絡,而每個向量都分別通過它。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第21頁8.2Transformer基本理論編碼過程假如,我們要翻譯下面這個句子:Theanimaldidn’tcrossthestreetbecauseitwastootired.這個句子中的it指的是什么?是指animal還是street?對人來說,這是一個簡單的問題,但是算法來說卻不那么簡單。當模型在處理it時,Self-Attention機制使其能夠將it和animal關聯(lián)起來。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分數(shù)(這是為了準備之后將它們求和)。
DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第25頁8.2Transformer基本理論通過矩陣運算實現(xiàn)自注意力機制
x矩陣中的每一行對應于輸入句子中的一個單詞。我們再次看到詞嵌入向量(512,或圖中的4個格子)和q/k/v向量(64,或圖中的3個格子)的大小差異。最后,由于我們處理的是矩陣,我們可以用一個公式來計算自注意力層的輸出。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第26頁8.2Transformer基本理論“多頭”注意力(“multi-headed”attention)機制一組Q,K,V得到了一組當前詞的特征表達類似卷積神經(jīng)網(wǎng)絡中的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基本理論使用位置編碼表示序列的順序為了讓模型理解單詞的順序,我們添加了位置編碼向量,這些向量的值遵循特定的模式。如果我們假設詞嵌入的維數(shù)為4,則實際的位置編碼如下:DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第31頁8.2Transformer基本理論DecoderDecoder和Encoder中的模塊類似,都包含Attention層、前饋網(wǎng)絡層、融合歸一化層,不同的是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)是圖像分類的最佳解決方案。如果預訓練的數(shù)據(jù)集足夠大(至少一億張圖像),則VisionTransformer(ViT)將擊敗CNN(小幅度)VisionTransformer(ViT)實際上就是Transformer的encode網(wǎng)絡。DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第37頁8.3VisionTransformer介紹VisionTransformer(ViT)提出ViT模型的這篇文章題名為AnImageisWorth16x16Words:TransformersforImageRecognitionatScale,發(fā)表于2020年10月份,雖然相較于一些Transformer的視覺任務應用模型(如DETR)提出要晚了一些,但作為一個純Transformer結構的視覺分類網(wǎng)絡,其工作還是有較大的開創(chuàng)性意義的。論文下載鏈接:/abs/2010.11929
DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第38頁8.3VisionTransformer介紹VisionTransformer(ViT)對于一個標準的Transformer模塊,要求輸入的是token(向量)序列,即二維矩陣[num_token,token_dim]。對于一個圖像數(shù)據(jù)而言,其數(shù)據(jù)格式為三維矩陣[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部分就是使得網(wǎng)絡更好地去學習全局的特征;第三步使用TransformerDecoder以及ObjectQuery從特征中學習要檢測的物體;第四步就是將ObjectQuery的結果和真值進行二分圖匹配(Set-to-SetLoss),最后在匹配上的結果上計算分類Loss和位置回歸Loss;DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第54頁8.4Transformer自動駕駛應用目標檢測DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第55頁8.4Transformer自動駕駛應用語義分割StratifiedTransformerfor3DPointCloudSegmentation第一步:輸入的三維點云數(shù)據(jù)首先通過第一層點嵌入模塊,以聚合每個點的局部信息;第二步:對于每個查詢點,對附近的點進行密集采樣,并以分層方式稀疏采樣遠點作為其關鍵點;第三步:使用抽樣密鑰來計算每個查詢點的注意力權重,這些權重用于聚合按鍵中的信息;第四步:聚合信息通過多層Transformer網(wǎng)絡傳遞,以捕獲長期依賴關系并生成最終的分段結果DeepLearningAndAutonomousDriving深度學習與自動駕駛應用第56頁8.4Transformer自動駕駛應用語義分割DeepLe
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度呈現(xiàn)大全【員工管理】十篇
- 《物業(yè)管理服務業(yè)》課件
- 三年級數(shù)學數(shù)學廣角課件
- 2024年農(nóng)業(yè)綜合開發(fā)和扶貧開發(fā)工作總結
- 2024年公司勞動社??粕习肽甑墓ぷ骺偨Y
- 空調機運輸協(xié)議三篇
- 農(nóng)業(yè)產(chǎn)品銷售主管工作總結
- 通信科技前臺工作總結
- 家政服務前臺工作總結
- 機電裝備話務員工作總結
- 年產(chǎn)30萬噸高鈦渣生產(chǎn)線技改擴建項目環(huán)評報告公示
- 07221美術設計與創(chuàng)意
- 2023年拓展加盟經(jīng)理年終總結及下一年計劃
- 網(wǎng)絡安全技術及應用 第5版 習題及答案 賈鐵軍 習題集 第1章
- 有限空間作業(yè)審批表
- 認罪認罰悔罪書(4篇)
- 煙花采購協(xié)議書
- 高考作文模擬寫作:“善言”與“敢言”+導寫及范文
- 《建筑施工承插型盤扣式鋼管支架安全技術規(guī)程》 JGJ231-2010
- 視頻監(jiān)控維護合同
- 國開大學2023年01月22588《管理線性規(guī)劃入門》期末考試參考答案
評論
0/150
提交評論