深度學習與圖神經網路學習分享:Transformer 整體結構

龍騰AI技術發表於2022-09-22

在過去的幾年中,神經網路的興起與應用成功推動了模式識別和資料探勘的研究。許多曾經嚴重依賴於手工提取特徵的機器學習任務(如目標檢測、機器翻譯和語音識別),如今都已被各種端到端的深度學習正規化(例如卷積神經網路(CNN)、長短期記憶(LSTM)和自動編碼器)徹底改變了。曾有學者將本次人工智慧浪潮的興起歸因於三個條件,分別是:

· 計算資源的快速發展(如GPU)

· 大量訓練資料的可用性

· 深度學習從歐氏空間資料中提取潛在特徵的有效性

儘管傳統的深度學習方法被應用在提取歐氏空間資料的特徵方面取得了巨大的成功,但許多實際應用場景中的資料是從非歐式空間生成的,傳統的深度學習方法在處理非歐式空間資料上的表現卻仍難以使人滿意。例如,在電子商務中,一個基於圖(Graph)的學習系統能夠利用使用者和產品之間的互動來做出非常準確的推薦,但圖的複雜性使得現有的深度學習演算法在處理時面臨著巨大的挑戰。這是因為圖是不規則的,每個圖都有一個大小可變的無序節點,圖中的每個節點都有不同數量的相鄰節點,導致一些重要的操作(例如卷積)在影像(Image)上很容易計算,但不再適合直接用於圖。此外,現有深度學習演算法的一個核心假設是資料樣本之間彼此獨立。然而,對於圖來說,情況並非如此,圖中的每個資料樣本(節點)都會有邊與圖中其他實資料樣本(節點)相關,這些資訊可用於捕獲例項之間的相互依賴關係。

近年來,人們對深度學習方法在圖上的擴充套件越來越感興趣。在多方因素的成功推動下,研究人員借鑑了卷積網路、迴圈網路和深度自動編碼器的思想,定義和設計了用於處理圖資料的神經網路結構,由此一個新的研究熱點——“ 圖神經網路(Graph Neural Networks,GNN) ”應運而生

近期看了關於Transformer的資訊

來簡述一下Transformer結構

Transformer 整體結構


首先介紹 Transformer 的整體結構,下圖是 Transformer 用於中英文翻譯的整體結構:

深度學習與圖神經網路學習分享:Transformer 整體結構

Transformer 的整體結構,左圖Encoder和右圖Decoder


可以看到  Transformer 由 Encoder 和 Decoder 兩個部分組成 ,Encoder 和 Decoder 都包含 6 個 block。Transformer 的工作流程大體如下:

第一步: 獲取輸入句子的每一個單詞的表示向量  X X 由單詞的 Embedding(Embedding就是從原始資料提取出來的Feature) 和單詞位置的 Embedding 相加得到。

深度學習與圖神經網路學習分享:Transformer 整體結構

Transformer 的輸入表示

第二步: 將得到的單詞表示向量矩陣 (如上圖所示,每一行是一個單詞的表示  x ) 傳入 Encoder 中,經過 6 個 Encoder block 後可以得到句子所有單詞的編碼資訊矩陣  C ,如下圖。單詞向量矩陣用 Xn×d 表示, n 是句子中單詞個數,d 是表示向量的維度 (論文中 d=512)。每一個 Encoder block 輸出的矩陣維度與輸入完全一致。

深度學習與圖神經網路學習分享:Transformer 整體結構

Transformer Encoder 編碼句子資訊

第三步 :將 Encoder 輸出的編碼資訊矩陣  C 傳遞到 Decoder 中,Decoder 依次會根據當前翻譯過的單詞 1~ i 翻譯下一個單詞 i+1,如下圖所示。在使用的過程中,翻譯到單詞 i+1 的時候需要透過  Mask (掩蓋)  操作遮蓋住 i+1 之後的單詞。


Transofrmer Decoder 預測


上圖 Decoder 接收了 Encoder 的編碼矩陣  C ,然後首先輸入一個翻譯開始符 "<Begin>",預測第一個單詞 "I";然後輸入翻譯開始符 "<Begin>" 和單詞 "I",預測單詞 "have",以此類推。這是 Transformer 使用時候的大致流程,接下來是裡面各個部分的細節。



分享安排


1. 人工智慧、深度學習的發展歷程

2. 深度學習框架

3. 神經網路訓練方法

4. 卷積神經網路,卷積核、池化、通道、啟用函式

5. 迴圈神經網路,長短時記憶LSTM、門控迴圈單元GRU

6. 引數初始化方法、損失函式Loss、過擬合

7. 對抗生成網路GAN

8. 遷移學習TL

9. 強化學習RF

10. 圖神經網路GNN

一、演算法和場景融合理解

1.空間相關性的非結構化資料,CNN演算法。典型的影像資料,畫素點之間具有空間相關性,例如影像的分類、分割、檢測都是CNN演算法。

2.時間相關性的非結構化資料,RNN演算法。這類場景普遍的一個現象就是資料之間具有時序相關性,也就是資料之間存在先後依賴關係。例如自然語言處理、語音相關演算法都是基於RNN演算法。

3.非歐氏資料結構, GNN。這類場景典型的可以用圖來表示。例如社交網路等。

案例摘要講解

醫療領域:如流行疾病、腫瘤等相關疾病檢測

遙感領域:如遙感影像中的場景識別

石油勘探:如石油油粒大小檢測

軌道交通:如地鐵密集人流檢測

檢測領域:如故障檢測

公安領域:如犯罪行為分析

國防領域:目標檢測、訊號分析、態勢感知…

經濟領域:如股票預測

二、資料理解及處理

分析典型場景中的典型資料,結合具體的演算法,對資料進行處理

1.結構化資料,如何對資料進行讀取,進行組織。

2.影像資料,在實際應用過程中的處理方法,怎樣做資料的預處理、進行資料增強等。

3.時序訊號,將單點的資料如何組合成一個序列,以及對序列資料處理的基本方法。

三、技術路徑設計

針對具體的場景設計特定的神經網路模型,對典型資料適配的網路結構進介紹。

1.DNN模型搭建的基本原則

2.CNN模型中常見的網路結構,以及引數分析。

3.RNN中支援的一些基本運算元,如何對序列資料進行組織。

四、模型驗證及問題排查

簡單的演算法或者模型對典型的場景進行快速驗證,並且針對一些頻發的問題進行講解。

1. 模型收斂狀態不佳

2. 分類任務重最後一層啟用函式對模型的影響

五、高階-模型最佳化的原理

不同的模型需要採用的最佳化函式以及反向傳播中引數的最佳化方法

1.模型最佳化的演算法介紹,基於隨機梯度下降的演算法介紹。

2.不同場景適應的損失函式介紹。

3.針對典型場景的反向傳播梯度的推到過程。

六、高階-定製化思路

結合往期學員的一些專案,簡單介紹一下解決一個具體問題的思路。

遙感成像中,地塊農作物種類的識別。


實操解析與訓練

第一階段:

神經網路實踐

實驗:神經網路

1.神經網路中基本概念理解:epoch、batch size、學習率、正則、噪聲、啟用函式等。

2.不同的資料生成模型、調整網路引數、調整網路規模

3.神經網路分類問題

4.不同資料特徵的作用分析、隱含層神經元數目

5.過擬合

高頻問題:

1.輸入資料與資料特徵          2.模型設計的過程中的引數與功能的關係。

關鍵點:

1.掌握神經網路的基本概念      2.學會搭建簡單的神經網路結構

3.理解神經網路引數

實操解析與訓練

第二階段:

深度學習三種程式設計思想

實驗:Keras實踐

1.理解Keras基本原理           2.學會Keras程式設計思想

3.三種不同的深度神經網路構建程式設計方式

4.給定資料集,採用Keras獨立完成實際的工程專案

高頻問題:

1.如何程式設計實現深度神經網路     2.三種開發方式的具體使用

關鍵點:

1.掌握Keras程式設計思想           2.採用三種不同方式編寫深度神經網路

實操解析與訓練

第三階段:CNN實踐

實驗:影像分類

1.使用CNN解決影像分類問題     2.搭建AlexNet   3.VGG16/19

4.GoogleNet   5.ResNet

高頻問題:

1.CNN更復雜的模型在哪裡可以找到程式碼

關鍵點:

1.使用卷積神經網路做影像分類    2.常見開原始碼以及適用的問題

實驗:影片人物行為識別

1.基於C3D的影片行為識別方法    2.基於LSTM的影片行為識別方法

3.基於Attention的影片行為識別方法

高頻問題:

1.2D卷積與3D卷積               2.影片的時空特徵

關鍵點:

1.C3D網路的構建                 2.Attention機制

實操解析與訓練

第四階段:

R-CNN及YOLO實踐

實驗:目標檢測

1.目標檢測發展現狀及代表性方法

2.兩階段目標檢測方法:R-CNN系列模型

3.一階段目標檢測方法:YOLO系列模型

高頻問題:

1.提名與分類       2.BBOX實現策略       3.YOLO Loss函式

關鍵點:

1.提名方法       2.ROI Pooling       3.SPP Net       4.RPN       5.YOLO

實操解析與訓練

第五階段:

RNN實踐

實驗:股票預測

1.股票資料分析       2.同步預測       3.非同步預測

高頻問題:

1.歷史資料的使用

關鍵點:

1.構建RNN       2.採用Keras程式設計實現

實操解析與訓練

第六階段:

Encoder-Decoder實踐

實驗:去噪分析

1.自編碼器          2.去噪自編碼器

高頻問題:

1.噪聲的引入與去除

關鍵點:

1.設計去噪自編碼器

實驗:影像標題生成

結合計算機視覺和機器翻譯的最新進展,利用深度神經網路生成真實的影像標題。

1.掌握Encoder-Decoder結構     2.學會Seq2seq結構

3.影像CNN +文字RNN            4.影像標題生成模型

高頻問題:

1.如何能夠根據影像生成文字?

關鍵點:

1.提取影像特徵CNN,生成文字RNN    2.構建Encoder-Decoder結構

實操解析與訓練

第七階段:

GAN實踐

實驗:藝術家作品生成

1. 生成對抗網路原理       2.GAN的生成模型、判別模型的設計

高頻問題:

1.生成模型與判別模型的博弈過程

關鍵點:

1.掌握GAN的思想與原理    2.根據需求學會設計生成模型與判別模型

實操解析與訓練

第八階段:

強化學習實踐

實驗:遊戲分析

1.遊戲場景分析            2.強化學習的要素分析       3.深度強化學習

高頻問題:

1.DNN 與DQN              2.探索與利用

關鍵點:

1.深度強化學習的原理      2.根據實際需求,設計深度強化學習模型

實操解析與訓練

第九階段:

圖卷積神經網路實踐

實驗:社交網路分析

1.圖神經網路的原理         2.圖卷積神經網路的思想

3.設計圖卷積神經網路進行社交網路分析

高頻問題:

1.如何從圖神經網路的原理轉化到實際程式設計

關鍵點:

1. 掌握圖神經網路原理       2. 圖卷積神經網路程式設計實現

實操解析與訓練

第十階段:

Transformer實踐

實驗:基於Transformer的對話生成

1. Transformer原理         2. 基於Transformer的對話生成

3.基於 Transformer 的應用

高頻問題:

1.如何應用自注意力機制      2.如何應用於自然語言處理與計算機視覺

關鍵點:

1.self-Attention機制       2.position


學習和關注人工智慧技術與諮詢,瞭解更多資訊!

聯絡人:申老師

手機:17531021189(v同號)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70021344/viewspace-2915726/,如需轉載,請註明出處,否則將追究法律責任。

相關文章