Stable Diffusion

用于图像生成的机器学习模型

Stable Diffusion是2022年發布的深度學習文本到图像生成模型。它主要用於根據文本的描述產生詳細圖像,儘管它也可以應用於其他任務,如內補繪製、外補繪製,以及在提示詞指導下產生圖生圖的转变。[3]

Stable Diffusion
由Stable Diffusion根据文本提示“a photograph of an astronaut riding a horse”生成的图像
由Stable Diffusion根据文本提示“a photograph of an astronaut riding a horse”生成的图像
原作者Runway、CompVis、Stability AI
開發者Stability AI
首次发布2022年8月22日
当前版本
  • SDXL 1.0 (2023年7月26日;穩定版本)[1]
  • 0.0.1 (2023年6月22日;穩定版本)[2]
編輯維基數據鏈接
源代码库 編輯維基數據鏈接
编程语言Python
操作系统任何支持CUDA內核函數的操作系統
类型文本到图像生成模型
许可协议
  • CreativeML Open RAIL-M
編輯維基數據鏈接
网站stability.ai/stable-image 编辑维基数据

它是一種潛在英语Latent variable model擴散模型,由慕尼黑大學的CompVis研究團體開發的各種生成性人工神經網絡之一。[4]它是由初創公司StabilityAI、CompVis與Runway合作開發,並得到EleutherAI英语EleutherAILAION英语LAION的支持。[5][6][7] 截至2022年10月,StabilityAI籌集了1.01億美元的資金。[8]

Stable Diffusion的源代碼和模型權重已分别公開發布在GitHubHugging Face,可以在大多數配備有適度GPU的電腦硬件上運行。而以前的專有文生圖模型(如DALL-EMidjourney)只能通過雲端運算服務訪問。[9][10]

技術架構 编辑

 
Stable Diffusion使用的潛在擴散結構圖。
 
擴散模型所用的去噪過程。

Stable Diffusion是一種擴散模型(diffusion model)的變體,叫做「潛在擴散模型」(latent diffusion model; LDM)。擴散模型是在2015年推出的,其目的是消除對訓練圖像的連續應用高斯噪聲,可以將其視為一系列去噪自編碼器。Stable Diffusion由3個部分組成:变分自编码器(VAE)、U-Net和一個文本編碼器。與其學習去噪圖像數據(在「像素空間」中),而是訓練VAE將圖像轉換為低維潜在空间。添加和去除高斯噪聲的過程被應用於這個潛在表示,然後將最終的去噪輸出解碼到像素空間中。在前向擴散過程中,高斯噪聲被迭代地應用於壓縮的潜在表徵。每個去噪步驟都由一個包含ResNet英语Residual neural network骨干的U-Net架構完成,通過從前向擴散往反方向去噪而獲得潜在表徵。最後,VAE解碼器通過將表徵轉換回像素空間來生成輸出圖像。研究人員指出,降低訓練和生成的計算要求是LDM的一個優勢。[5][4]

去噪步驟可以以文本串、圖像或一些其他數據為條件。調節數據的編碼通過交叉注意機制(cross-attention mechanism)暴露給去噪U-Net的架構。為了對文本進行調節,一個預訓練的固定CLIP ViT-L/14文本編碼器被用來將提示詞​轉化為嵌入空間。[4][6]

用法 编辑

Stable Diffusion模型支持通過使用提示詞來產生新的圖像,描述要包含或省略的元素,[6]以及重新繪製現有的圖像,其中包含提示詞中描述的新元素(該過程通常被稱為「指導性圖像合成」(guided image synthesis)[11])通過使用模型的擴散去噪機制(diffusion-denoising mechanism)。[6] 此外,該模型還允許通過提示詞在現有的圖中進行內補繪製和外補繪製來部分更改,當與支持這種功能的用戶界面使用時,其中存在許多不同的開源軟件[12]

Stable Diffusion建議在10GB以上的显存GDDRHBM)下運行, 但是显存較少的用戶可以選擇以float16的精度加載權重,而不是默認的float32,以降低显存使用率。[13]

文生圖 编辑

演示反向提示詞對圖像生成的影響。
  • : 無反向提示詞
  • : "綠樹"
  • : "圓形石頭"

Stable Diffusion中的文生圖採樣腳本,稱為"txt2img",接受一個提示詞,以及包括採樣器(sampling type),圖像尺寸,和隨機種子英语Random seed的各種選項參數,並根據模型對提示的解釋生成一個圖像文件。[6] 生成的圖像帶有不可見的數位浮水印標籤,以允許用戶識別由Stable Diffusion生成的圖像,[6]儘管如果圖像被調整大小或旋轉,該水印將失去其有效性。[14] Stable Diffusion模型是在由512×512分辨率圖像組成的數據集上訓練出來的,[6][15]這意味著txt2img生成圖像的最佳配置也是以512×512的分辨率生成的,偏離這個大小會導致生成輸出質量差。[13] Stable Diffusion 2.0版本後來引入了以768×768分辨率圖像生成的能力。[16]

每一個txt2img的生成過程都會涉及到一個影響到生成圖像的隨機種子;用戶可以選擇隨機化種子以探索不同生成結果,或者使用相同的種子來獲得與之前生成的圖像相同的結果。[13] 用戶還可以調整採樣迭代步數(inference steps);較高的值需要較長的運行時間,但較小的值可能會導致視覺缺陷。[13] 另一個可配置的選項,即無分類指導比例值,允許用戶調整提示詞的相關性(classifier-free guidance scale value);[17]更具實驗性或創造性的用例可以選擇較低的值,而旨在獲得更具體輸出的用例可以使用較高的值。[13]

反向提示詞(negative prompt)是包含在Stable Diffusion的一些用戶界面軟件中的一個功能(包括StabilityAI自己的「Dreamstudio」雲端軟件即服務模式訂閱制服務),它允許用戶指定模型在圖像生成過程中應該避免的提示,適用於由於用戶提供的普通提示詞,或者由於模型最初的訓練,造成圖像輸出中出現不良的圖像特徵,例如畸形手脚。[12][18] 與使用強調符(emphasis marker)相比,使用反向提示詞在降低生成不良的圖像的頻率方面具有高度統計顯著的效果;強調符是另一種為提示的部分增加權重的方法,被一些Stable Diffusion的開源實現所利用,在關鍵詞中加入括號以增加或減少強調。[19]

圖生圖 编辑

演示img2img修改
  • : 最初用Stable Diffusion 1.5制作的图像
  • : 用Stable Diffusion XL 1.0修改后的图像

Stable Diffusion包括另一個取樣腳本,稱為"img2img",它接受一個提示詞、現有圖像的文件路徑和0.0到1.0之間的去噪強度,並在原始圖像的基礎上產生一個新的圖像,該圖像也具有提示詞中提供的元素;去噪強度表示添加到輸出圖像的噪聲量,值越大,圖像變化越多,但在語義上可能與提供的提示不一致。[6] 圖像升頻是img2img的一個潛在用例,除此之外。[6]

2022年11月24日發布的Stable Diffusion 2.0版本包含一個深度引導模型,稱為"depth2img",該模型推斷所提供的輸入圖像的深度英语Depth map,並根據提示詞​和深度信息生成新圖像,在新圖像中保持原始圖像的連貫性和深度。[16]

內補繪製與外補繪製 编辑

Stable Diffusion模型的許多不同用戶界面軟件提供了通過img2img進行圖生圖的其他用例。內補繪製(inpainting)由用戶提供的蒙版英语Layers (digital image editing)#Layer mask描繪的現有圖像的一部分,根據所提供的提示詞,用新生成的內容填充蒙版的空間。[12] 隨著Stable Diffusion 2.0版本的發布,StabilityAI同時創建了一個專門針對內補繪製用例的專用模型。[16] 相反,外補繪製(outpainting)將圖像擴展到其原始尺寸之外,用根據所提供的提示詞生成的內容來填補以前的空白空間。[12]

在Stable Diffusion中使用img2img的內補繪製與外補繪製技術的演示
第一步: 使用txt2img生成新圖像。巧合的是,它無意中生成了這個缺少一隻手臂的人。
第二步: 通過外補繪製,圖像底部被擴展了512像素,並被AI生成的內容所填充。
第三步: 在準備內補繪製時,使用GIMP中的畫筆繪製了一個臨時的手臂。
第四步: 在臨時手臂上應用內補繪製蒙版,img2img生成一個新手臂,同時保持圖像的其餘部分保持不變。

許可證 编辑

DALL-E等模型不同,Stable Diffusion提供其源代碼[20][6]以及預訓練的權重。其許可證禁止某些使用案例,包括犯罪,誹謗騷擾人肉搜索,「剝削…未成年人」,提供醫療建議,自動創建法律義務,偽造法律證據,以及「基於…社會行為或…個人或人格特徵…或受法律保護的特徵或類別而歧視或傷害個人或群體」。[21][22] 用戶擁有其生成的圖像的權利,並可自由地將其用於商業用途。[23]

模型训练 编辑

Stable Diffusion是在LAION-5B的圖片和標題對上訓練的,LAION-5B是一個公開的數據集,源自從網絡上抓取公用抓取英语Common Crawl數據。該數據集由LAION英语LAION創建,LAION是一家德國非營利組織,接受StabilityAI的資助。[15][24] 該模型最初是在LAION-5B的一個大子集上訓練的,最後幾輪訓練是在「LAION-Aesthetics v2 5+」上進行的,這是一個由6億張帶標題的圖片組成的子集,人工智能預測人類在被要求對這些圖片的喜歡程度打分時至少會給5/10打分。[15][25] 這個最終的子集也排除了低分辨率的圖像和被人工智能識別為帶有水印的圖像。[15] 對該模型的訓練數據進行的第三方分析發現,在從所使用的原始更廣泛的數據集中抽取的1200萬張圖片的較小子集中,大約47%的圖像樣本量來自100個不同的網站,其中Pinterest佔8.5%子集,其次是WordPressBlogspotFlickrDeviantArt維基共享資源等網站。[15]

該模型是在亞馬遜雲計算服務上使用256個NVIDIA A100 GPU訓練,共花费15萬個GPU小時,成本為60萬美元。[26][27][28]

終端用戶微調訓練 编辑

為了糾正模型初始訓練的局限性,終端用戶可以選擇實施額外的訓練,以微調生成輸出以匹配更具體的使用情況。有三種方法可以讓用戶對Stable Diffusion模型權重存檔點進行微調:

  • 「嵌入」(Embedding)可以從用戶提供的一些圖像被訓練出來,並允許模型在提示詞​中使用嵌入的名稱時生成視覺上相似的圖像。[29]嵌入是基於2022年臺拉維夫大學的研究人員在英偉達的支持下開發的「文本倒置」(Textual Inversion)概念,其中模型的文本編碼器使用的特定標記的矢量表示與新的偽詞相關聯。嵌入可以用來減少原始模型中的偏差,或模仿風格。[30]
  • 「超網路」(Hypernetwork)是NovelAI軟件開發員Kurumuz在2021年創造的一種技術,最初用於調節文本生成的Transformer模型,它能讓Stable Diffusion衍生的文生圖模型​模仿各種特定藝術家的風格,無論原始模型​能否識別此藝術家,通過在較大的神經網路中的不同點應用一個預訓練的小神經網路。超網路將文生圖或圖生圖結果導向特定方向,例如加上藝術風格,當與一個較大的神經網絡結合使用時。它通過尋找重要的關鍵區域來處理圖像(例:眼睛,頭髮),然後在二級潛在空間中修補這些區域。超網路的一個缺點是它們的準確性相對較低,也有時會產生不可預知的結果。因此,超網路適用於加上視覺風格或清理人體瑕疵。[31]
 
演示Stable Diffusion的「超網路」(Hypernetwork)技術。

发行 编辑

版本号 发行日期 注释
1.0
1.4[33] 2022年8月
1.5[34] 2022年10月
2.0[35] 2022年11月
2.1[36] 2022年12月
XL 1.0[37] 2023年7月 XL 1.0基础模型有35亿个参数,使其比以前版本大了约3.5倍。[38]
XL Turbo[39] 2023年11月 提取自XL 1.0而以更少扩散步骤运行。[40]

社會影響 编辑

由於藝術風格構圖不受版權保護,因此通常認為使用Stable Diffusion生成藝術品圖像的用戶不應被視為侵犯視覺相似作品的版權,绝大部分的画作作者也没有授权允许用他们的作品训练ai,这将导致画师的失业。[41][42] 如果生成的圖像中所描述的真人被使用,他們仍然受到人格權的保護,[42] 而且諸如可識別的品牌標識等知識產權仍然受到版權保護。儘管如此,藝術家們表示擔心Stable Diffusion等模型的廣泛使用最終可能導致人類藝術家以及攝影師、模特、電影攝影師和演員逐漸失去與基於人工智能的競爭對手的商業可行性。[24]

與其他公司的類似機器學習圖像合成產品相比,Stable Diffusion在用戶可能產生的內容類型方面明顯更加寬容,例如暴力或性暴露的圖像。[43]

StabilityAI的首席執行官Emad Mostaque解決了該模型可能被用於濫用目的的擔憂,他解釋說:「人們有責任了解他們在操作這項技術時是否符合道德、道德和法律」,[10]將Stable Diffusion的能力交到公眾手中會使該技術在整體上提供淨收益,即使有潛在的負面後果。[10] 此外,Mostaque認為,Stable Diffusion的開放可用性背後的意圖是結束大公司對此類技術的控制和主導地位,他們之前只開發了封閉的人工智能系統進行圖像合成。[10][43]

參見 编辑

參考文獻 编辑

  1. ^ Announcing SDXL 1.0. [2023年8月3日] (英語). 
  2. ^ Release 0.0.1. 2023年6月22日 [2024年1月9日]. 
  3. ^ Diffuse The Rest - a Hugging Face Space by huggingface. huggingface.co. [2022-09-05]. (原始内容存档于2022-09-05) (英语). 
  4. ^ 4.0 4.1 4.2 Rombach; Blattmann; Lorenz; Esser; Ommer. High-Resolution Image Synthesis with Latent Diffusion Models (PDF). International Conference on Computer Vision and Pattern Recognition (CVPR). New Orleans, LA: 10684–10695. June 2022 [2022-10-10]. arXiv:2112.10752 . (原始内容存档 (PDF)于2023-01-20) (英语). 
  5. ^ 5.0 5.1 Stable Diffusion Launch Announcement. Stability.Ai. [2022-09-06]. (原始内容存档于2022-09-05) (英语). 
  6. ^ 6.00 6.01 6.02 6.03 6.04 6.05 6.06 6.07 6.08 6.09 Stable Diffusion Repository on GitHub. CompVis - Machine Vision and Learning Research Group, LMU Munich. 17 September 2022 [17 September 2022]. (原始内容存档于2023-01-18) (英语). 
  7. ^ Revolutionizing image generation by AI: Turning text into images. LMU Munich. [17 September 2022]. (原始内容存档于2022-09-17) (英语). 
  8. ^ Wiggers, Kyle. Stability AI, the startup behind Stable Diffusion, raises $101M. Techcrunch. [2022-10-17]. (原始内容存档于2022-10-17) (英语). 
  9. ^ The new killer app: Creating AI art will absolutely crush your PC. PCWorld. [2022-08-31]. (原始内容存档于2022-08-31) (英语). 
  10. ^ 10.0 10.1 10.2 10.3 Vincent, James. Anyone can use this AI art generator — that’s the risk. The Verge. 15 September 2022 [2022-10-10]. (原始内容存档于2023-01-21) (英语). 
  11. ^ Meng, Chenlin; He, Yutong; Song, Yang; Song, Jiaming; Wu, Jiajun; Zhu, Jun-Yan; Ermon, Stefano. SDEdit: Guided Image Synthesis and Editing with Stochastic Differential Equations. arXiv (arXiv). August 2, 2021 [2022-10-10]. doi:10.48550/arXiv.2108.01073. (原始内容存档于2022-12-09) (英语). 
  12. ^ 12.0 12.1 12.2 12.3 Stable Diffusion web UI. GitHub. [2022-10-10]. (原始内容存档于2023-01-20) (英语). 
  13. ^ 13.0 13.1 13.2 13.3 13.4 Stable Diffusion with 🧨 Diffusers. Hugging Face official blog. August 22, 2022 [2022-10-10]. (原始内容存档于2023-01-17) (英语). 
  14. ^ invisible-watermark README.md. GitHub. [2022-10-10]. (原始内容存档于2022-09-29) (英语). 
  15. ^ 15.0 15.1 15.2 15.3 15.4 Baio, Andy. Exploring 12 Million of the 2.3 Billion Images Used to Train Stable Diffusion's Image Generator. Waxy.org. 30 August 2022 [2022-10-10]. (原始内容存档于2023-01-20) (英语). 
  16. ^ 16.0 16.1 16.2 Stable Diffusion 2.0 Release. stability.ai. [2022-12-11]. (原始内容存档于2022-12-10) (英语). 
  17. ^ Ho, Jonathan; Salimans, Tim. Classifier-Free Diffusion Guidance. arXiv (arXiv). July 26, 2022 [2022-10-10]. doi:10.48550/arXiv.2207.12598. (原始内容存档于2023-01-03) (英语). 
  18. ^ Stable Diffusion v2.1 and DreamStudio Updates 7-Dec 22. stability.ai. [2022-12-11]. (原始内容存档于2022-12-10) (英语). 
  19. ^ Johannes Gaessler. Emphasis. GitHub. September 11, 2022 [2022-10-10]. (原始内容存档于2022-12-09) (英语). 
  20. ^ Stable Diffusion Public Release. Stability.Ai. [2022-08-31]. (原始内容存档于2022-08-30) (英语). 
  21. ^ Ready or not, mass video deepfakes are coming. The Washington Post. 2022-08-30 [2022-08-31]. (原始内容存档于2022-08-31) (英语). 
  22. ^ License - a Hugging Face Space by CompVis. huggingface.co. [2022-09-05]. (原始内容存档于2022-09-04) (英语). 
  23. ^ Katsuo Ishida. 言葉で指示した画像を凄いAIが描き出す「Stable Diffusion」 ~画像は商用利用も可能. Impress Corporation. August 26, 2022 [2022-10-10]. (原始内容存档于2022-11-14) (日语). 
  24. ^ 24.0 24.1 Heikkilä, Melissa. This artist is dominating AI-generated art. And he's not happy about it.. MIT Technology Review. 16 September 2022 [2022-10-10]. (原始内容存档于2023-01-14) (英语). 
  25. ^ LAION-Aesthetics | LAION. laion.ai. [2022-09-02]. (原始内容存档于2022-08-26) (英语). 
  26. ^ Mostaque, Emad. Cost of construction. Twitter. August 28, 2022 [2022-09-06]. (原始内容存档于2022-09-06) (英语). 
  27. ^ Stable Diffusion v1-4 Model Card. huggingface.co. [2022-09-20]. (原始内容存档于2023-01-11) (英语). 
  28. ^ This startup is setting a DALL-E 2-like AI free, consequences be damned. TechCrunch. [2022-09-20]. (原始内容存档于2023-01-19) (英语). 
  29. ^ Dave James. I thrashed the RTX 4090 for 8 hours straight training Stable Diffusion to paint like my uncle Hermann. PC Gamer. 2022-10-28 [2022-12-11]. (原始内容存档于2022-11-09) (英语). 
  30. ^ Gal, Rinon; Alaluf, Yuval; Atzmon, Yuval; Patashnik, Or; Bermano, Amit H.; Chechik, Gal; Cohen-Or, Daniel. An Image is Worth One Word: Personalizing Text-to-Image Generation using Textual Inversion. 2022-08-02. arXiv:2208.01618  [cs.CV] (英语). 
  31. ^ NovelAI Improvements on Stable Diffusion. NovelAI. 2022-10-11. (原始内容存档于2022-10-27) (英语). 
  32. ^ 山下裕毅. 愛犬の合成画像を生成できるAI 文章で指示するだけでコスプレ 米Googleが開発. ITmedia Inc. 2022-09-01 [2022-12-11]. (原始内容存档于2022-08-31) (日语). 
  33. ^ CompVis/stable-diffusion-v1-4 · Hugging Face. huggingface.co. [2023-08-17]. (原始内容存档于2023-01-11). 
  34. ^ runwayml/stable-diffusion-v1-5 · Hugging Face. huggingface.co. [2023-08-17]. (原始内容存档于2023-09-21). 
  35. ^ stabilityai/stable-diffusion-2 · Hugging Face. huggingface.co. [2023-08-17]. (原始内容存档于2023-09-21). 
  36. ^ stabilityai/stable-diffusion-2-1 · Hugging Face. huggingface.co. [2023-08-17]. (原始内容存档于2023-09-21). 
  37. ^ stabilityai/stable-diffusion-xl-base-1.0 · Hugging Face. huggingface.co. [2023-08-17]. (原始内容存档于2023-10-08). 
  38. ^ Announcing SDXL 1.0. Stability AI. [2024-01-01] (英国英语). 
  39. ^ stabilityai/sdxl-turbo · Hugging Face. huggingface.co. [2024-01-01]. 
  40. ^ Adversarial Diffusion Distillation. Stability AI. [2024-01-01] (英国英语). 
  41. ^ 存档副本. [2023-04-13]. (原始内容存档于2023-04-17). 
  42. ^ 42.0 42.1 高性能画像生成AI「Stable Diffusion」無料リリース。「kawaii」までも理解し創造する画像生成AI. Automaton Media. August 24, 2022 [2022-10-10]. (原始内容存档于2022-12-08) (日语). 
  43. ^ 43.0 43.1 Ryo Shimizu. Midjourneyを超えた? 無料の作画AI「 #StableDiffusion 」が「AIを民主化した」と断言できる理由. Business Insider Japan. August 26, 2022 [2022-10-10]. (原始内容存档于2022-12-10) (日语). 

外部鏈接 编辑