ViT(Vision Transformer)学习
生活随笔
收集整理的這篇文章主要介紹了
ViT(Vision Transformer)学习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ViT(Vison Transformer)學習
Paper:An image is worth 16×16 words: transformers for image recognition at scale. In ICLR, 2021.
Transformer 在 NLP領域大放異彩,并且隨著模型和數據集的不斷增長,仍然沒有表現出飽和的跡象。這使得使用更大規模的數據對Transformer結構進行訓練得到表現更優的模型成為了一種解決問題的方案。受 NLP 中 Transformer 成功的啟發,作者嘗試將標準 Transformer 直接應用于圖像,并進行盡可能少的修改。為此,作者將圖像拆分為補丁,并提供這些補丁的線性嵌入序列作為 Transformer 的輸入。 在 NLP 應用程序中,圖像補丁的處理方式與標記(單詞)相同。 并以監督方式訓練圖像分類模型。
模型概述
主要流程如下:
- 將圖像分割成固定大小的塊,作為三維張量
- 將三維張量向量化為一維序列
- 對一維序列采用共享參數的Dense層進行嵌入
- 將線形層輸出結果進行位置嵌入編碼,輸入給多層Transformer疊加的 Transformer Encoder 進行編碼
- 對編碼結果進行 Softmax,以輸出作為分類矩陣
張量向量化
將分割的圖像塊張量扁平化為向量
對向量進行嵌入
采用Dense層對向量進行嵌入
同時,所有的 Dense 層共享參數信息
對 embedding 進行位置編碼
即對位置信息進行編碼并與 embedding 進行加和
使用Transformer Encoder 進行處理
將編碼結果輸入多層堆疊的 Transformer,并最終使用 [CLS] 的輸出作為分類結果
大數據集預訓練
模型在大規模數據集上進行預訓練,在目標數據集上進行 finetuning ,并最終在目標數據集的測試集上進行測試
總結
以上是生活随笔為你收集整理的ViT(Vision Transformer)学习的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021年第3周推荐系统方向的周报
- 下一篇: 过年,你肯定会用到这款小程序!