<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

蒸餾無分類器指導擴散模型的方法

OpenCV學堂 ? 來源:OpenCV學堂 ? 作者:OpenCV學堂 ? 2022-10-13 10:35 ? 次閱讀

斯坦福大學聯合谷歌大腦使用「兩步蒸餾方法」提升無分類器指導的采樣效率,在生成樣本質量和采樣速度上都有非常亮眼的表現。

去噪擴散概率模型(DDPM)在圖像生成、音頻合成、分子生成和似然估計領域都已經實現了 SOTA 性能。同時無分類器(classifier-free)指導進一步提升了擴散模型的樣本質量,并已被廣泛應用在包括 GLIDE、DALL·E 2 和 Imagen 在內的大規模擴散模型框架中。

然而,無分類器指導的一大關鍵局限是它的采樣效率低下,需要對兩個擴散模型評估數百次才能生成一個樣本。這一局限阻礙了無分類指導模型在真實世界設置中的應用。盡管已經針對擴散模型提出了蒸餾方法,但目前這些方法不適用無分類器指導擴散模型。

為了解決這一問題,近日斯坦福大學和谷歌大腦的研究者在論文《On Distillation of Guided Diffusion Models》中提出使用兩步蒸餾(two-step distillation)方法來提升無分類器指導的采樣效率。

在第一步中,他們引入單一學生模型來匹配兩個教師擴散模型的組合輸出;在第二步中,他們利用提出的方法逐漸地將從第一步學得的模型蒸餾為更少步驟的模型。

利用提出的方法,單個蒸餾模型能夠處理各種不同的指導強度,從而高效地對樣本質量和多樣性進行權衡。此外為了從他們的模型中采樣,研究者考慮了文獻中已有的確定性采樣器,并進一步提出了隨機采樣過程。

研究者在 ImageNet 64x64 和 CIFAR-10 上進行了實驗,結果表明提出的蒸餾模型只需 4 步就能生成在視覺上與教師模型媲美的樣本,并且在更廣泛的指導強度上只需 8 到 16 步就能實現與教師模型媲美的 FID/IS 分數,具體如下圖 1 所示。

此外,在 ImageNet 64x64 上的其他實驗結果也表明了,研究者提出的框架在風格遷移應用中也表現良好。

方法介紹

接下來本文討論了蒸餾無分類器指導擴散模型的方法( distilling a classifier-free guided diffusion model)。給定一個訓練好的指導模型,即教師模型970d4384-4a3c-11ed-a3b6-dac502259ad0.png之后本文分兩步完成。

第一步引入一個連續時間學生模型9720de08-4a3c-11ed-a3b6-dac502259ad0.png,該模型具有可學習參數η_1,以匹配教師模型在任意時間步 t∈[0,1] 處的輸出。給定一個優化范圍 [w_min, w_max],對學生模型進行優化:

973061e8-4a3c-11ed-a3b6-dac502259ad0.png

其中,97460e1c-4a3c-11ed-a3b6-dac502259ad0.png。為了合并指導權重 w,本文引入了一個 w - 條件模型,其中 w 作為學生模型的輸入。為了更好地捕捉特征,本文還對 w 應用傅里葉嵌入。此外,由于初始化在模型性能中起著關鍵作用,因此本文初始化學生模型的參數與教師模型相同。

在第二步中,本文將離散時間步(discrete time-step)考慮在內,并逐步將第一步中的蒸餾模型976a42dc-4a3c-11ed-a3b6-dac502259ad0.png轉化為步數較短的學生模型977da4a8-4a3c-11ed-a3b6-dac502259ad0.png,其可學習參數為η_2,每次采樣步數減半。設 N 為采樣步數,給定 w ~ U[w_min, w_max] 和 t∈{1,…, N},然后根據 Salimans & Ho 等人提出的方法訓練學生模型。在將教師模型中的 2N 步蒸餾為學生模型中的 N 步之后,之后使用 N 步學生模型作為新的教師模型,這個過程不斷重復,直到將教師模型蒸餾為 N/2 步學生模型。

N 步可確定性和隨機采樣:一旦模型979522b8-4a3c-11ed-a3b6-dac502259ad0.png訓練完成,給定一個指定的 w ∈ [w_min, w_max],然后使用 DDIM 更新規則執行采樣。

實際上,本文也可以執行 N 步隨機采樣,使用兩倍于原始步長的確定性采樣步驟,然后使用原始步長向后執行一個隨機步驟 。對于97a8d538-4a3c-11ed-a3b6-dac502259ad0.png,當 t > 1/N 時,本文使用以下更新規則

97b46010-4a3c-11ed-a3b6-dac502259ad0.png

實驗

實驗評估了蒸餾方法的性能,本文主要關注模型在 ImageNet 64x64 和 CIFAR-10 上的結果。他們探索了指導權重的不同范圍,并觀察到所有范圍都具有可比性,因此實驗采用 [w_min, w_max] = [0, 4]。圖 2 和表 1 報告了在 ImageNet 64x64 上所有方法的性能。

97dbcd80-4a3c-11ed-a3b6-dac502259ad0.png

984c2594-4a3c-11ed-a3b6-dac502259ad0.png

本文還進行了如下實驗。具體來說,為了在兩個域 A 和 B 之間執行風格遷移,本文使用在域 A 上訓練的擴散模型對來自域 A 的圖像進行編碼,然后使用在域 B 上訓練的擴散模型進行解碼。由于編碼過程可以理解為反向 DDIM 采樣過程,本文在無分類器指導下對編碼器和解碼器進行蒸餾,并與下圖 3 中的 DDIM 編碼器和解碼器進行比較。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編碼器
    +關注

    關注

    42

    文章

    3381

    瀏覽量

    131829
  • 模型
    +關注

    關注

    1

    文章

    2758

    瀏覽量

    47829
  • 分類器
    +關注

    關注

    0

    文章

    152

    瀏覽量

    13129

原文標題:采樣提速256倍,蒸餾擴散模型生成圖像質量媲美教師模型,只需4步

文章出處:【微信號:CVSCHOOL,微信公眾號:OpenCV學堂】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【轉帖】傳感的故障分類與診斷方法

    最大值;漂移故障,信號以某一速率偏移原信號;周期性干擾故障,原信號上疊加某一頻率的信號。傳感故障的診斷方法從不同角度出發,故障診斷方法分類不完全相同?,F簡單地將故障診斷
    發表于 07-13 17:19

    傳感的故障分類與診斷方法

    最大值;漂移故障,信號以某一速率偏移原信號;周期性干擾故障,原信號上疊加某一頻率的信號。傳感故障的診斷方法從不同角度出發,故障診斷方法分類不完全相同?,F簡單地將故障診斷
    發表于 10-30 15:57

    Edge Impulse的分類模型淺析

    就Edge Impulse的三大模型之一的分類模型進行淺析。針對于圖像的分類識別模型,讀者可參考OpenMv或樹莓派等主流圖像識別單片機系統
    發表于 12-20 06:51

    基于優化SVM模型的網絡負面信息分類方法研究

    基于優化SVM模型的網絡負面信息分類方法研究_鄭金芳
    發表于 01-07 18:56 ?0次下載

    基于非參數方法分類模型檢驗

    本文主要研究了基于非參數方法分類模型交叉驗證結果比較,主要是對實例通過非參數的方法進行模型比較的假設檢驗,檢驗兩
    發表于 12-08 15:28 ?1次下載

    針對遙感圖像場景分類的多粒度特征蒸餾方法

    了其在嵌入式設備上的應用。提出一種針對遙感圖像場景分類的多粒度特征蒸餾方法,將深度網絡不同階段的特征與最終的類別概率同時作為淺層模型的監督信號,使得淺層
    發表于 03-11 17:18 ?20次下載
    針對遙感圖像場景<b class='flag-5'>分類</b>的多粒度特征<b class='flag-5'>蒸餾</b><b class='flag-5'>方法</b>

    電池修復技術:做蒸餾水的方法是怎樣的

    許多年前,該村經常停電,應急燈也很流行。 每個人都在玩電池逆變器。 電池和應急燈必須充滿蒸餾水。 如果您不愿購買它們,請使用以下本機方法: 這個方法很好。 用這種蒸餾
    發表于 05-18 17:15 ?2013次閱讀
    電池修復技術:做<b class='flag-5'>蒸餾</b>水的<b class='flag-5'>方法</b>是怎樣的

    如何改進和加速擴散模型采樣的方法1

      盡管擴散模型實現了較高的樣本質量和多樣性,但不幸的是,它們在采樣速度方面存在不足。這限制了擴散模型在實際應用中的廣泛采用,并導致了從這些模型
    的頭像 發表于 05-07 14:25 ?1919次閱讀
    如何改進和加速<b class='flag-5'>擴散</b><b class='flag-5'>模型</b>采樣的<b class='flag-5'>方法</b>1

    如何改進和加速擴散模型采樣的方法2

      事實上,擴散模型已經在深層生成性學習方面取得了重大進展。我們預計,它們可能會在圖像和視頻處理、 3D 內容生成和數字藝術以及語音和語言建模等領域得到實際應用。它們還將用于藥物發現和材料設計等領域,以及其他各種重要應用。我們認為,基于
    的頭像 發表于 05-07 14:38 ?2736次閱讀
    如何改進和加速<b class='flag-5'>擴散</b><b class='flag-5'>模型</b>采樣的<b class='flag-5'>方法</b>2

    若干蒸餾方法之間的細節以及差異

    以往的知識蒸餾雖然可以有效的壓縮模型尺寸,但很難將teacher模型的能力蒸餾到一個更小詞表的student模型中,而DualTrain+S
    的頭像 發表于 05-12 11:39 ?1179次閱讀

    關于快速知識蒸餾的視覺框架

    知識蒸餾框架包含了一個預訓練好的 teacher 模型蒸餾過程權重固定),和一個待學習的 student 模型, teacher 用來產生 soft 的 label 用于監督 stu
    的頭像 發表于 08-31 10:13 ?682次閱讀

    如何度量知識蒸餾中不同數據增強方法的好壞?

    知識蒸餾(knowledge distillation,KD)是一種通用神經網絡訓練方法,它使用大的teacher模型來 “教” student模型,在各種AI任務上有著廣泛應用。
    的頭像 發表于 02-25 15:41 ?568次閱讀

    蒸餾也能Step-by-Step:新方法讓小模型也能媲美2000倍體量大模型

    為了解決大型模型的這個問題,部署者往往采用小一些的特定模型來替代。這些小一點的模型用常見范式 —— 微調或是蒸餾來進行訓練。微調使用下游的人類注釋數據升級一個預訓練過的小
    的頭像 發表于 05-15 09:35 ?439次閱讀
    <b class='flag-5'>蒸餾</b>也能Step-by-Step:新<b class='flag-5'>方法</b>讓小<b class='flag-5'>模型</b>也能媲美2000倍體量大<b class='flag-5'>模型</b>

    如何加速生成2 PyTorch擴散模型

    加速生成2 PyTorch擴散模型
    的頭像 發表于 09-04 16:09 ?845次閱讀
    如何加速生成2 PyTorch<b class='flag-5'>擴散</b><b class='flag-5'>模型</b>

    任意模型都能蒸餾!華為諾亞提出異構模型的知識蒸餾方法

    相比于僅使用logits的蒸餾方法,同步使用模型中間層特征進行蒸餾方法通常能取得更好的性能。然而在異構
    的頭像 發表于 11-01 16:18 ?566次閱讀
    任意<b class='flag-5'>模型</b>都能<b class='flag-5'>蒸餾</b>!華為諾亞提出異構<b class='flag-5'>模型</b>的知識<b class='flag-5'>蒸餾</b><b class='flag-5'>方法</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>