Stable Diffusion——U-ViT用于擴散建模的 ViT 主干網

1.概述

擴散模型是最近出現的強大的深度生成模型,可用于生成高質量圖像。擴散模型發展迅速,可應用于文本到圖像生成、圖像到圖像生成、視頻生成、語音合成和 3D 合成。

除了算法的改進,骨干網的改進在擴散建模中也發揮著重要作用。一個典型的例子是基于卷積神經網絡(CNN)的 U-Net,它已被用于之前的研究中。 基于 CNN 的 UNet 的特點是一系列下采樣塊、一系列上采樣塊以及這些組之間的長跳接UNet 基于 CNN。它在圖像生成任務的擴散模型中起著主導作用。

另一方面,視覺變換器(ViTs)在各種視覺任務中都取得了可喜的成果:在某些情況下,ViTs 的表現不亞于或優于基于 CNN 的方法。這就自然而然地提出了一個問題:是否有必要在擴散模型中依賴基于 CNN 的 U-Nets?

本評論文章提出了一種基于 ViT 的 UNet(U-ViT)。所提出的方法在 ImageNet 和 MS-COCO 上生成的圖像達到了最高的 FID(衡量圖像質量的標準)。
論文地址:https://arxiv.org/abs/2209.12152
源碼地址:https://github.com/baofff/U-ViT.git

2.U-ViT構架

上圖 是 U-ViT 的概覽。該網絡獲取擴散過程的時間(t)、條件(c)和噪聲圖像 ( x t ) (x_t) xt?,并預測要注入到圖像中的噪聲 ( x t ) (x_t) xt?。 按照 ViT 的設計方法,圖像被劃分為多個補丁,U-ViT 處理所有輸入,包括時間、條件和圖像補丁,并將所有輸入視為標記(詞)。并將所有輸入視為標記(詞)。

與基于 CNN 的 U-Net 一樣,U-ViT 在淺層和深層之間使用長跳轉連接。訓練擴散模型是一項像素級的預測任務,對低層特征非常敏感。長跳轉連接為低層特征提供了捷徑,便于噪聲預測網絡的訓練。

此外,U-ViT 還可選擇在輸出前添加一個 3x3 卷積塊。這是為了防止變換器生成的圖像中出現潛在的偽影。

以下各小節將提供有關 U-ViT 各部分的更多詳細信息。

3.1 實施細節

本節將通過 CIFAR10 中生成圖像的圖像質量(FID)來優化 U-ViT 的結構。整體結果概覽見下圖 。

如何結合長跳轉連接起來
首先讓 h m , h s R L × D h_m,h_sR^{L×D} hm?,hs?RL×D成為主分支和長跳分支的嵌入。在將它們送入下一個變換塊之前,考慮一些將它們組合起來的方法:

  1. h m , h s h_m,h_s hm?,hs?連接起來,然后執行線性投影: L i n e a r ( C o n c a t ( h m , h s ) ) Linear(Concat(h_m,h_s)) Linear(Concat(hm?,hs?))

  2. 直接添加 h m 、 h s : h m + h s h_m、h_s:h_m+h_s hm?hs?hm?+hs?

  3. h s h_s hs?上進行線性投影,并將其添加到 h m : h m + h s h_m:h_m+h_s hm?hm?+hs?

  4. 添加 h m 、 h s h_m、h_s hm?hs?,然后進行線性投影: L i n e a r ( h m + h s ) Linear(h_m+h_s) Linear(hm?+hs?)

  5. 刪除長跳線連接

如上圖所示,在這些方法中,第一種使用連接 LinearConcat ( h m , h s ) \text{Linear} \text{Concat}(h_m,h_s) LinearConcat(hm?,hs?)的方法效果最好。特別是,與不使用長跳轉連接的方法相比,生成圖像的質量明顯提高。

如何輸入時間條件

將時間條件 t 輸入網絡的方法有兩種。方法(1) 是將它們視為標記,如圖 1 所示。 方法(2)是在轉換器模塊中將層歸一化后的時間納入,這與 U-Net 中使用的自適應組歸一化類似;第二種方法稱為自適應層歸一化(AdaLN)。 將時間視為標記的方法(1) 比 AdaLN 性能更好。

如何在變壓器后添加卷積塊

在變換器后添加卷積塊有兩種方法。(1) 在將標記嵌入映射到圖像補丁的線性投影之后添加 3×3 卷積塊。 (2)在線性投影之前添加一個 3×3 卷積塊。此外,還可以將其與去掉附加卷積塊的情況進行比較,在線性投影后添加 3×3 卷積塊的方法(1) 的 性能略優于其他兩種方案。

補丁嵌入法

傳統的補丁嵌入是將補丁映射到標記嵌入的線性投影。除了這種方法,我們還考慮了另一種將圖像映射到標記嵌入的方法,即使用 3 × 3 卷積塊堆疊,然后再使用 1 × 1 卷積塊。但是,如圖 2(d) 所示,傳統的補丁嵌入法效果更好,因此最終模型采用了這種方法。

位置嵌入方法

本文使用的是原 ViT 中提出的一維可學習位置嵌入。 也有一種替代方法,即二維正弦位置嵌入,一維可學習位置嵌入的效果更好。我們也嘗試過不使用位置嵌入,但該模型無法生成清晰的圖像,這表明位置信息對圖像生成非常重要。

3.2 網絡深度、寬度和補丁大小的影響

這里,我們在 CIFAR10 中研究了 U-ViT 的縮放特性,以考察層數、寬度和貼片尺寸的影響。如上圖所示,將層數從 9 層增加到 13 層可提高性能,但對于深度超過 17 層的模型則沒有影響。同樣,增加寬度也能提高性能,但超過一定寬度就沒有效果了。

減小貼片尺寸可以提高性能,但低于一定尺寸時性能就會下降。在擴散模型中,小補丁尺寸被認為適合低水平噪聲預測任務。另一方面,對于高分辨率圖像來說,使用小尺寸貼片的成本較高,因此必須先將圖像轉換為低維潛在表示,然后再用 U-ViT 進行建模。

4.試驗

4.1 數據集和設置

U-ViT 的有效性在三個任務中進行了測試:無條件圖像生成、類條件圖像生成和文本到圖像生成。

無條件圖像生成實驗在 CIFAR10(50,000 幅圖像)和 CelebA 64×64 (162,770 幅圖像)上進行。對于類別條件圖像生成,在64×64 和 256×256ImageNet 數據集(包含來自 1,000 個不同類別的 1,281,167 幅訓練圖像)和 512×512 分辨率數據集上進行了實驗。MS-COCO (82,783 幅訓練圖像和 40,504 幅驗證圖像)用于文本到圖像的訓練。

在生成256 × 256 和 512 × 512分辨率的高分辨率圖像時,使用由潛在擴散模型(Latent diffusion models,LDM)[Rombach et.al, 2022]提供的預訓練圖像自動編碼器,分別將 32 × 32 和 64 × 64 分辨率的潛在表征分別生成 32 x 32 和 64 x 64 分辨率的潛表征。然后使用 U-ViT 對這些潛表征進行建模。

在MS-COCO 中生成文本到圖像時,使用 CLIP 文本編碼器將離散文本轉換為嵌入序列,然后將這些嵌入序列作為標記序列輸入 U-ViT。

4.2 無條件和類條件圖像生成

表 1.無條件圖像生成和類別條件圖像生成的結果

在這里,U-ViT 與之前基于 U-Net 的擴散模型和 GenViT 進行了比較,GenViT 是一種較小的 ViT,它沒有長跳接,并在歸一化層之前加入了時間。FID 分數用于衡量圖像質量。

如表 1 所示,U-ViT 在無條件的 CIFAR10 和 CelebA 64×64 中表現出與 U-Net 相當的性能,并且比 GenViT 性能更好。對于有類別條件的 ImageNet 64×64,我們首先嘗試了 U-ViT-M 配置,參數為 131M。如表 1 所示,其 FID 為 5.85,優于使用 U-Net 且參數為 100M 的 IDDPM 6.92。為了進一步提高性能,我們采用了 U-ViT-L 配置(287M 個參數),將 FID 從 5.85 提高到 4.26。

在有類別條件的 ImageNet 256×256 中,U-ViT 的最佳 FID 為 2.29,優于之前的擴散模型。表 2 顯示,在使用相同采樣器的不同采樣步驟中,U-ViT 的表現優于 LDM。U-ViT 的表現也優于 VQ-擴散模型,后者是一種以變壓器為骨干的離散擴散模型。同樣,在參數和計算成本相同的情況下,U-ViT 也優于 UNet。

對于帶有類別條件的 ImageNet 512×512,U-ViT 的表現優于直接對圖像像素建模的 ADM-G。圖 4 顯示了 ImageNet 256×256 和 512×512 的部分樣本以及其他數據集的隨機樣本,證實了圖像的高質量和清晰度。

表 2:ImageNet 256×256 不同采樣步數下的 FID 結果。

4.3 使用 MS-COCO 生成文本到圖像

這里,我們使用 MS-COCO 數據集來評估 U-ViT 在文本到圖像生成任務中的表現。我們還使用 U-Net 訓練了另一個潛在擴散模型,模型大小與 U-ViT 相同,并與 U-ViT 進行了比較。

FID 分數用于衡量圖像質量:從 MS-COCO 驗證集中隨機選取 30K 個提示,并利用這些提示生成樣本來計算 FID。如表 3 所示,即使在生成模型的訓練過程中不需要訪問大型外部數據集,U-ViT 也能獲得最先進的 FID。通過將層數從 13 層增加到 17 層,U-ViT-S(Deep)可以獲得更好的 FID。

圖 6 顯示了 U-Net 和 U-ViT 使用相同的隨機種子生成的樣本,以進行定性比較;U-ViT 生成的樣本質量更高,圖像內容與文本的匹配度更高。

例如,給定文本 “棒球運動員揮棒擊球”,U-Net 不會生成球棒或球,而 U-ViT 會生成球,U-ViT-S(Deep)會進一步生成球棒。這可能是由于與 U-Net 相比,U-ViT 中文本和圖像之間每一層的交互更為頻繁。

表 3.MS-COCO 的實驗結果

5. 結論

U-ViT 將所有輸入(時間、條件和噪聲圖像片段)視為標記,并在淺層和深層之間采用長跳轉連接。U-ViT 已在無條件和有條件圖像生成以及文本到圖像生成等任務中進行了評估。

U-ViT 的性能與類似規模的基于 CNN 的 U-Nets 不相上下,甚至更好。這些結果表明,長跳接對于基于擴散的圖像建模非常重要,而基于 CNN 的 U-Nets 并不總是需要向下向上采樣運算符。

U-ViT 可以為未來的擴散建模骨干研究提供信息,并有利于在具有不同模式的大型數據集中進行生成建模。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/15532.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/15532.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/15532.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nginx代理前端html

正常配置,通過www.example.com或192.168.20.12:80訪問server {listen 80;server_name example.com www.example.com;root /var/www/html;index index.html index.htm;location / {try_files $uri $uri/ 404;} }解釋: listen 80;:監聽 HTTP 端…

汽車R155法規中,汽車獲取到的VTA證書,E后面的數字表示什么意思?

標簽: 汽車R155法規中,汽車獲取到的VTA證書,E后面的數字表示什么意思?; 汽車;VTA認證; 有些廠商汽車拿到的VTA證書上面寫著E9, 有些廠商汽車拿到的VTA證書上面寫著E5,E9與E5有什么差…

嵌入式之音頻基礎知識

聲音特性 1、響度:人主觀上感覺聲音的大小(俗稱音量),由“振幅”和人離聲源的距離決定,振幅越大響度越大,人和聲源的距離越小,響度越大; 2、音調:聲音的高低&#xff0…

多商戶消費券系統源碼(ThinkPHP+FastAdmin+微信公眾號)

打造智能促銷新體驗 一、引言:消費券系統的時代意義 在當今這個數字化高速發展的時代,電子商務和移動支付已經成為人們日常生活的重要組成部分。隨著市場競爭的加劇,多商戶消費券系統作為一種創新的促銷手段,正逐漸受到商家和消…

k8s筆記 | helm包管理

什么是Helm kubenetes包管理器,是查找,分享和使用軟件構件 kubernetes的最佳方式; 可以做什么 從頭開始創建新的chart將chart打包成歸檔(tgz)文件與存儲chart的倉庫進行交互與現有的kubernates集群中安裝和卸載chart管理與Helm一起安裝的 …

從零訓練yolov8

1.收集數據 2.數據標注 pip install labelimg3.劃分數據集 0.2的驗證機0.8的訓練集 import os from shutil import copyfile from sys import exit import randomsource r"D:\Data\imgs\screenc" \\ target_train r"D:\Data\imgs\datasets\mydata\images\t…

aws msk加密方式和問控制連接方式

msk加密方式 msk提供了兩種加密方式 靜態加密傳輸中加密 創建集群時可以指定加密方式,參數如下 aws kafka create-cluster --cluster-name "ExampleClusterName" --broker-node-group-info file://brokernodegroupinfo.json --encryption-info file:/…

Android四大組件 Broadcast廣播機制

一 概述 廣播 (Broadcast) 機制用于進程或線程間通信,廣播分為廣播發送和廣播接收兩個過程,其中廣播接收者 BroadcastReceiver 是 Android 四大組件之一。BroadcastReceiver 分為兩類: 靜態廣播接收者:通過 AndroidManifest.xm…

flutter 實現旋轉星球

先看效果 planet_widget.dart import dart:math; import package:flutter/material.dart; import package:vector_math/vector_math_64.dart show Vector3; import package:flutter/gestures.dart; import package:flutter/physics.dart;class PlanetWidget extends StatefulW…

echarts-樹圖、關系圖、桑基圖、日歷圖

樹圖 樹圖主要用來表達關系結構。 樹圖的端點也收symbol的調節 樹圖的特有屬性: 樹圖的方向: layout、orient子節點收起展開:initialTreeDepth、expandAndCollapse葉子節點設置: leaves操作設置:roam線條&#xff1a…

告別 Dart 中的 Future.wait([])

作為 Dart 開發人員&#xff0c;我們對異步編程和 Futures 的強大功能并不陌生。過去&#xff0c;當我們需要同時等待多個 future 時&#xff0c;我們依賴 Future.wait([]) 方法&#xff0c;該方法返回一個 List<T>。然而&#xff0c;這種方法有一個顯著的缺點&#xff1…

2、xss-labs之level2

1、打開頁面 2、傳入xss代碼 payload&#xff1a;<script>alert(xss)</script>&#xff0c;發現返回<script>alert(xss)</script> 3、分析原因 打開f12&#xff0c;沒什么發現 看后端源碼&#xff0c;在這form表單通過get獲取keyword的值賦給$str&am…

跑大模型的經驗

LLama2: 1. 使用torchrun來跑&#xff1a; torchrun --nproc_per_node 1 example_text_completion.py \--ckpt_dir llama-2-7b/ \--tokenizer_path tokenizer.model \--max_seq_len 128 --max_batch_size 4 關于集群分布式torchrun命令踩坑記錄&#xff08;自用&#xff09;…

【Vue】input框自動聚焦且輸入驗證碼后跳至下一位

場景&#xff1a;PC端 樣式&#xff1a; <div class"verification-code-input"><input v-model"code[index]" v-for"(_, index) in 5" :key"index" type"text" maxlength"1" input"handleInput(i…

渲染管線——應用階段

知識必備——CPU和GPU 應用階段都做了什么 應用階段為渲染準備了什么 1.把不可見的數據剔除 2.準備好模型相關數據&#xff08;頂點、法線、切線、貼圖、著色器等等&#xff09; 3.將數據加載到顯存中 4.設置渲染狀態&#xff08;設置網格需要使用哪個著色器、材質、光源屬性等…

說些什么好呢

大一&#xff1a;提前學C和C。學完語法去洛谷或者Acwing二選一&#xff0c;刷300道左右題目。主要培養編程思維&#xff0c;讓自己的邏輯能夠通過代碼實現出來。 現在對算法有點感興趣但是沒有天賦&#xff0c;打不了acm&#xff0c;為就業做準備咯。 大二(算法競賽)&#xff1…

常用損失函數學習

損失函數&#xff08;Loss Function&#xff09;&#xff0c;在機器學習和統計學中&#xff0c;是用來量化模型預測輸出與真實結果之間差異的函數。簡而言之&#xff0c;損失函數衡量了模型預測的好壞&#xff0c;目標是通過最小化這個函數來優化模型參數&#xff0c;從而提高預…

簡述js的事件循環以及宏任務和微任務

前言 在JavaScript中&#xff0c;任務被分為同步任務和異步任務。 同步任務&#xff1a;這些任務在主線程上順序執行&#xff0c;不會進入任務隊列&#xff0c;而是直接在主線程上排隊等待執行。每個同步任務都會阻塞后續任務的執行&#xff0c;直到它自身完成。常見的同步任…

【機器學習】機器學習與大型預訓練模型的前沿探索:跨模態理解與生成的新紀元

&#x1f512;文章目錄&#xff1a; &#x1f4a5;1.引言 ?2.跨模態理解與生成技術概述 &#x1f6b2;3.大型預訓練模型在跨模態理解與生成中的應用 &#x1f6f4;4.前沿探索與挑戰并存 &#x1f44a;5.未來趨勢與展望 &#x1f4a5;1.引言 近年來&#xff0c;機器學習領…

著名書法家王杰寶做客央視頻《筆墨寫人生》藝壇人物經典訪談節目

印象網北京訊&#xff08;張春兄、馮愛云&#xff09;展示藝術風采&#xff0c;構建時代精神。5月25日&#xff0c;著名書法家、羲之文化傳承人王杰寶&#xff0c;做客央視頻《筆墨寫人生》藝壇人物經典訪談節目&#xff0c;與中央電視臺紀錄頻道主持人姚文倩一起&#xff0c;分…