国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vision Transformer (ViT)介紹

這篇具有很好參考價(jià)值的文章主要介紹了Vision Transformer (ViT)介紹。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

paper:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

摘要

  • 把transformer直接應(yīng)用于圖像塊序列,也可以在圖像分類(lèi)任務(wù)上表現(xiàn)很好。
  • 通過(guò)在大數(shù)據(jù)集上預(yù)訓(xùn)練,然后遷移到中等規(guī)模和小規(guī)模數(shù)據(jù)集上,ViT可以取得和SOTA的卷積網(wǎng)絡(luò)同樣出色(甚至更好)的結(jié)果,同時(shí)需要更少的訓(xùn)練資源。

介紹

1、將標(biāo)準(zhǔn)transformer直接應(yīng)用于圖像,只做最小可能修改

將一幅圖像分割成多個(gè)圖像塊,然后將這些圖像塊的embedding序列作為輸入,送到transformer。這里的圖像塊類(lèi)似于NLP中的token。

2、在中等規(guī)模數(shù)據(jù)集(如ImageNet)上訓(xùn)練ViT,模型結(jié)果會(huì)比resnet結(jié)構(gòu)的模型低一點(diǎn)。

和CNN相比,transformer缺乏一些歸納偏置(inductive bias),比如平移不變性和局部性。但是在大規(guī)模數(shù)據(jù)集上,直接從數(shù)據(jù)中學(xué)習(xí),更加有效。

方法

網(wǎng)絡(luò)結(jié)構(gòu)

Vision Transformer (ViT)介紹,CV,深度學(xué)習(xí),transformer,深度學(xué)習(xí),人工智能

圖片來(lái)源:https://zhuanlan.zhihu.com/p/342261872

輸入圖像維度為$$H×W×C$$,分割成N個(gè)$$P×P$$大小的圖像塊,N為$$HW/P^2$$,圖像塊通過(guò)線性映射得到D維的向量,D在transformer的所有層中保持不變。

不同層的操作計(jì)算過(guò)程如下:

Vision Transformer (ViT)介紹,CV,深度學(xué)習(xí),transformer,深度學(xué)習(xí),人工智能

公式1是將圖像塊映射成embedding,這里加了一個(gè)可學(xué)習(xí)的class token $$x_{class}$$(類(lèi)似BERT),與其他圖像塊嵌入向量一起輸入到 Transformer 編碼器中,其在網(wǎng)絡(luò)最后的輸出,作為整個(gè)圖像的表示y,就是公式4中的結(jié)果。Transformer 編碼器中的具體過(guò)程這里不作展開(kāi),可參考Transformer原理理解_qiumokucao的博客-CSDN博客。

公式2是multiheaded self-attention的計(jì)算過(guò)程,公式3是MLP的計(jì)算過(guò)程。

實(shí)際實(shí)現(xiàn)過(guò)程中,圖像塊映射成embedding可以通過(guò)卷積實(shí)現(xiàn):

# 其中fh,fw是patch的高和寬,讓卷積核的大小和stride與patch大小相等
self.patch_embedding = nn.Conv2d(in_channels, dim, kernel_size=(fh, fw), stride=(fh, fw))

?另外,網(wǎng)絡(luò)最后接MLP head的時(shí)候,可以只使用class token對(duì)應(yīng)的結(jié)果(如公式4中描述),也可以對(duì)所有結(jié)果進(jìn)行pooling,然后接MLP head。參考https://github.com/lucidrains/vit-pytorch.git中實(shí)現(xiàn):

    def forward(self, img):
        x = self.to_patch_embedding(img) #圖像轉(zhuǎn)成embedding
        b, n, _ = x.shape

        cls_tokens = repeat(self.cls_token, '1 1 d -> b 1 d', b = b)
        x = torch.cat((cls_tokens, x), dim=1) #引入cls_tokens
        x += self.pos_embedding[:, :(n + 1)]  #加入位置embedding
        x = self.dropout(x)

        x = self.transformer(x)
        # 根據(jù)設(shè)置選擇cls_tokens對(duì)應(yīng)的輸出或者進(jìn)行pooling
        x = x.mean(dim = 1) if self.pool == 'mean' else x[:, 0]

        x = self.to_latent(x)
        return self.mlp_head(x)

Hybrid Architecture

可以將ViT應(yīng)用于CNN的特征之上,區(qū)別就是這里把CNN的特征映射為embedding,其余部分跟ViT的處理過(guò)程一樣

模型微調(diào)(fine-tune)

在大規(guī)模數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,然后在下游任務(wù)中進(jìn)行微調(diào)。微調(diào)時(shí),把預(yù)訓(xùn)練的預(yù)測(cè)頭去掉,添加一個(gè)$$D×K$$的全連接層,K為預(yù)測(cè)類(lèi)別數(shù)。

微調(diào)時(shí)可以采用更大的輸入分辨率,保持patch size不變,這樣輸入到transformer的序列長(zhǎng)度會(huì)變長(zhǎng),事實(shí)上ViT可以處理任意長(zhǎng)的序列,不過(guò)預(yù)訓(xùn)練的position embedding就失去意義了,這時(shí)作者對(duì)position embedding進(jìn)行了2D插值處理。

實(shí)驗(yàn)結(jié)果

數(shù)據(jù)集

ImageNet:1.3M images,1k classes

ImageNet-21k:14M images,21k classes

JFT:303M high-resolution images,18k classes

模型參數(shù)

Vision Transformer (ViT)介紹,CV,深度學(xué)習(xí),transformer,深度學(xué)習(xí),人工智能

Layers:Encoder Block 數(shù)量

Hidden Size D:隱藏層特征大小,其在各 Encoder Block 保持一致

MLP Size:MLP 特征大小,通常設(shè)為 4D

Heads:MSA 中的 heads 數(shù)量

Patch Size:模型輸入的 Patch size,ViT 中共有兩個(gè)設(shè)置:14x14 和 16x16,該參數(shù)僅影響計(jì)算量,patch size越小,序列長(zhǎng)度越長(zhǎng),計(jì)算量越大。

實(shí)驗(yàn)結(jié)果

?Vision Transformer (ViT)介紹,CV,深度學(xué)習(xí),transformer,深度學(xué)習(xí),人工智能

JFT+TPU的鈔能力!?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-544622.html

到了這里,關(guān)于Vision Transformer (ViT)介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Vision Transformer(VIT)調(diào)研

    Vision Transformer(VIT)調(diào)研

    綜述參考:https://zhuanlan.zhihu.com/p/598785102 2020 VIT 代碼庫(kù) https://github.com/lucidrains/vit-pytorch 只有分類(lèi)任務(wù),有訓(xùn)練的測(cè)試。有各種各樣的vit模型結(jié)構(gòu)。 原文 https://arxiv.org/abs/2010.11929 2021 Swim Transformer https://arxiv.org/abs/2103.14030 v2 https://arxiv.org/pdf/2111.09883.pdf code and pretrain_model https:/

    2023年04月11日
    瀏覽(20)
  • 論文閱讀 Vision Transformer - VIT

    論文閱讀 Vision Transformer - VIT

    通過(guò)將圖像切成patch線形層編碼成token特征編碼的方法,用transformer的encoder來(lái)做圖像分類(lèi) 解決問(wèn)題: transformer輸入限制: 由于自注意力+backbone,算法復(fù)雜度為o(n2),token長(zhǎng)度一般要512才足夠運(yùn)算 解決:a) 將圖片轉(zhuǎn)為token輸入 b) 將特征圖轉(zhuǎn)為token輸入 c)√ 切patch轉(zhuǎn)為token輸入 tra

    2024年02月01日
    瀏覽(24)
  • ViT-vision transformer

    ViT-vision transformer

    介紹 Transformer最早是在NLP領(lǐng)域提出的,受此啟發(fā),Google將其用于圖像,并對(duì)分類(lèi)流程作盡量少的修改。 起源 :從機(jī)器翻譯的角度來(lái)看,一個(gè)句子想要翻譯好,必須考慮上下文的信息! 如:The animal didn’t cross the street because it was too tired將其翻譯成中文,這里面就涉及了it這個(gè)

    2024年02月15日
    瀏覽(27)
  • 圖解Vit 3:Vision Transformer——ViT模型全流程拆解

    圖解Vit 3:Vision Transformer——ViT模型全流程拆解

    先把上一篇中的遺留問(wèn)題解釋清楚:上圖中,代碼中的all_head_dim就是有多少head。把他們拼接起來(lái)。 Encoder在Multi-Head Self-Attention之后,維度一直是BND`,一直沒(méi)有變。 不論是BN(Batch Normalization)還是LN(Layer Normalization),都是對(duì)batch來(lái)做的。只是他們的歸一化方式不同。我們?cè)谇髆ea

    2024年02月16日
    瀏覽(18)
  • 深度學(xué)習(xí)應(yīng)用篇-計(jì)算機(jī)視覺(jué)-圖像分類(lèi)[3]:ResNeXt、Res2Net、Swin Transformer、Vision Transformer等模型結(jié)構(gòu)、實(shí)現(xiàn)、模型特點(diǎn)詳細(xì)介紹

    深度學(xué)習(xí)應(yīng)用篇-計(jì)算機(jī)視覺(jué)-圖像分類(lèi)[3]:ResNeXt、Res2Net、Swin Transformer、Vision Transformer等模型結(jié)構(gòu)、實(shí)現(xiàn)、模型特點(diǎn)詳細(xì)介紹

    【深度學(xué)習(xí)入門(mén)到進(jìn)階】必看系列,含激活函數(shù)、優(yōu)化策略、損失函數(shù)、模型調(diào)優(yōu)、歸一化算法、卷積模型、序列模型、預(yù)訓(xùn)練模型、對(duì)抗神經(jīng)網(wǎng)絡(luò)等 專(zhuān)欄詳細(xì)介紹:【深度學(xué)習(xí)入門(mén)到進(jìn)階】必看系列,含激活函數(shù)、優(yōu)化策略、損失函數(shù)、模型調(diào)優(yōu)、歸一化算法、卷積模型、

    2024年02月14日
    瀏覽(20)
  • ViT: Vision transformer的cls token作用?

    ViT: Vision transformer的cls token作用?

    知乎:Vision Transformer 超詳細(xì)解讀 (原理分析+代碼解讀)? CSDN:vit 中的 cls_token 與 position_embed 理解 CSDN:ViT為何引入cls_token CSDN:ViT中特殊class token的一些問(wèn)題 Vision?Transformer在一些任務(wù)上超越了CNN,得益于全局信息的聚合。在ViT論文中,作者引入了一個(gè)class token作為分類(lèi)特征。

    2024年02月01日
    瀏覽(20)
  • 【計(jì)算機(jī)視覺(jué)】Vision Transformer (ViT)詳細(xì)解析

    【計(jì)算機(jī)視覺(jué)】Vision Transformer (ViT)詳細(xì)解析

    論文地址:An Image Is Worth 16x16 Words: Transformers For Image Recognition At Scale code地址:github.com/google-research/vision_transformer Transformer 最早提出是針對(duì)NLP領(lǐng)域的,并且在NLP領(lǐng)域引起了強(qiáng)烈的轟動(dòng)。 提出ViT模型的這篇文章題名為 《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》

    2024年02月04日
    瀏覽(25)
  • 《Vision Transformer (ViT)》論文精度,并解析ViT模型結(jié)構(gòu)以及代碼實(shí)現(xiàn)

    《Vision Transformer (ViT)》論文精度,并解析ViT模型結(jié)構(gòu)以及代碼實(shí)現(xiàn)

    《AN IMAGE IS WORTH 16X16 WORDS: TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE》 論文共有22頁(yè),表格和圖像很多,網(wǎng)絡(luò)模型結(jié)構(gòu)解釋的很清楚,并且用四個(gè)公式展示了模型的計(jì)算過(guò)程;本文章對(duì)其進(jìn)行精度,并對(duì)源碼進(jìn)行剖析,希望讀者可以耐心讀下去。 論文地址:https://arxiv.org/abs/2010.11929 源

    2024年02月05日
    瀏覽(20)
  • Vision Transformer(ViT)論文解讀與代碼實(shí)踐(Pytorch)

    Vision Transformer(ViT)論文解讀與代碼實(shí)踐(Pytorch)

    Vision Transformer(ViT)是一種基于Transformer架構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,用于處理計(jì)算機(jī)視覺(jué)任務(wù)。傳統(tǒng)的計(jì)算機(jī)視覺(jué)模型如卷積神經(jīng)網(wǎng)絡(luò)(CNN)在處理圖像任務(wù)時(shí)取得了很大的成功,但CNN存在一些局限,例如對(duì)于長(zhǎng)距離依賴的建模能力較弱。ViT通過(guò)引入Transformer的注意力機(jī)制來(lái)解決這

    2024年02月07日
    瀏覽(18)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包