背景技術:
1、存在能夠生成看起來真實并且沒有明顯的視覺偽像的多樣化且語義上有意義的圖像的許多不同類型的生成式圖像模型。生成式對抗網絡(“gan”)可以提供最先進的速度,但在它們可以生成的圖像的多樣性和真實性方面具有一些限制。諸如自回歸transformer和連續擴散模型的基于似然性的模型可以提供相比于gan改進的圖像質量,但可能需要數百個步來合成圖像,因此使它們慢幾個數量級。最近,非自回歸transformer和離散擴散模型方面的發展提供了有希望的中間地帶,從而實現了與最先進的自回歸transformer和連續擴散模型相當的圖像質量,同時比自回歸transformer和連續擴散模型快多達兩個數量級地實現這樣的圖像質量。然而,隨著此類模型的質量跨多個領域繼續提高,注意力越來越多地轉向此類模型一旦被訓練如何能夠被高效地被適配以生成新領域中的圖像。
技術實現思路
1、該技術涉及用于訓練和使用提示詞元生成器來生成提示詞元(token)集的系統和方法,該提示詞元集在被饋送到經預訓練的生成式圖像transformer?(例如,自回歸transformer、連續擴散模型、非自回歸transformer或離散擴散模型)中時,可以使生成式圖像transformer的輸出偏向特定領域(例如,朝向特定圖像類、朝向特定訓練實例等)。在一些方面,該技術涉及用于使用訓練樣例來訓練提示詞元生成器的系統和方法,這些訓練樣例各自包括表示第一矢量量化圖像的目標詞元序列和第一一個或多個標識符的集(例如,類標識符、實例標識符等),第一一個或多個標識符的集中的至少一個標識符與第一矢量量化圖像的主題相關。在此類情況下,提示詞元生成器可以至少部分地基于第一一個或多個標識符的集來生成第一提示詞元序列,并且經預訓練的生成式圖像transformer可以至少部分地基于第一提示詞元序列來生成第一輸出詞元序列。這個第一輸出詞元序列將表示第二矢量量化圖像,并且可以通過任何合適數量的時間步來被生成。處理系統可以將第一輸出詞元序列與目標詞元序列進行比較,以針對所討論的訓練樣例生成損失值,然后可以使用該損失值(單獨地,作為表示多個訓練樣例的聚合損失值的一部分,和/或與其他類型的損失值一起)來修改提示詞元生成器的一個或多個參數。此外,可以使用任何合適的優化例程(例如,隨機梯度下降)來重復這個過程,直到提示詞元生成器學會生成使得經預訓練的生成式圖像transformer生成非常接近每個訓練樣例的目標詞元序列(或與每個訓練樣例的目標詞元序列相同)的第一輸出詞元序列的提示。
2、此外,在一些方面,該技術涉及用于使用經訓練的提示詞元生成器以及經預訓練的生成式圖像transformer來生成圖像的系統和方法,該圖像將被偏向詞元生成器在其上被訓練的特定領域。在一些示例中,在剛剛描述的訓練之后,提示詞元生成器可以至少部分地基于第二一個或多個標識符的集(例如,類標識符、實例標識符等)來生成第二提示詞元序列,并且然后經預訓練的生成式圖像transformer可以至少部分地基于第二提示詞元序列來生成第二輸出詞元序列。該第二輸出詞元序列也將表示第二矢量量化圖像,并且可以通過任何合適數量的步來生成。以這樣的方式,通過使用來自訓練集的特定類標識符,提示詞元生成器可以對經預訓練的生成式圖像transformer進行提示(cue)來生成第二輸出詞元序列,該第二輸出詞元序列在被轉換為第二矢量量化圖像時將看起來類似于這個特定類中的圖像。同樣地,通過使用特定的實例標識符,提示詞元生成器可以對經預訓練的生成式圖像transformer進行提示來生成第二輸出詞元序列,該第二輸出詞元序列在被轉換為第二矢量量化圖像時將看起來類似于具有這個實例標識符的特定訓練樣例。值得注意的是,通過將該技術的提示詞元生成器和訓練方法與經預訓練的生成式圖像transformer一起使用,可以實現比利用gan所可能得到的顯著更好和更高效的知識遷移,并且可以在廣泛的新領域中實現這一點。例如,在一些方面,根據該技術使用每類僅5個訓練圖像訓練的提示詞元生成器可以使得經預訓練的生成式圖像transformer能夠產生具有比根據基于gan的轉移學習方法使用每類多20到100倍的圖像所可能得到的顯著更低的frechet起始距離(“fid”)分數的圖像。
3、進一步,在一些方面,該技術涉及用于在經預訓練的非自回歸生成式圖像transformer(例如,非自回歸transformer或離散擴散模型)在每個時間步中迭代地生成每個圖像時將不同提示詞元序列的集順序地饋送給該經預訓練的非自回歸生成式圖像transformer的系統和方法。這個過程可以用于將更多的多樣性引入到生成式圖像transformer的輸出中。例如,通過在針對給定實例(例如,狗的給定圖片)的第二提示詞元序列和針對這個給定實例的類(例如,狗)的第三提示詞元序列之間進行插值,可以生成將使得經預訓練的生成式圖像transformer生成最終輸出詞元序列的提示詞元序列集,該最終輸出詞元序列在被轉換為最終圖像時看起來是關于具有這個實例標識符的訓練樣例的類一致的變體(例如,相同品種、顏色、臉型等的不同狗)。同樣地,通過在針對一個實例(例如,金毛尋回犬的圖片)的第二提示詞元序列和針對另一實例(例如,瑞士山地犬的圖片)的第三提示詞元序列之間進行插值,可以生成將使得經預訓練的生成式圖像transformer生成最終輸出詞元序列的提示詞元序列集,該最終輸出詞元序列在被轉換為最終圖像時看起來混合了這兩個訓練樣例的視覺特性(例如,看起來是金毛尋回犬和瑞士山地犬的混種的狗)。
4、在一個方面,本公開描述了一種計算機實現的方法,包括:(1)對于多個訓練樣例中的每個給定訓練樣例,該給定訓練樣例包括表示第一矢量量化圖像的目標詞元序列和第一一個或多個標識符的集,該第一一個或多個標識符的集中的至少一個標識符與第一矢量量化圖像的主題相關:使用提示詞元生成器至少部分地基于第一一個或多個標識符的集來生成第一提示詞元序列;使用經預訓練的生成式圖像transformer至少部分地基于第一提示詞元序列來生成第一輸出詞元序列,該第一輸出詞元序列表示第二矢量量化圖像;以及使用處理系統的一個或多個處理器來將第一輸出詞元序列與目標詞元序列進行比較,以針對給定訓練樣例生成損失值;以及(2)使用一個或多個處理器至少部分地基于針對多個訓練樣例生成的損失值來修改提示詞元生成器的一個或多個參數。在一些方面,提示詞元生成器包括兩個或更多個多層感知器,并且修改提示詞元生成器的一個或多個參數包括修改兩個或更多個多層感知器中的每一個多層感知器的一個或多個參數。在一些方面,給定訓練樣例的第一一個或多個標識符的集包括與第一矢量量化圖像的主題相關的類標識符。在一些方面,給定訓練樣例的第一一個或多個標識符的集包括與第一矢量量化圖像相關的實例標識符。在一些方面,該方法進一步包括:使用提示詞元生成器至少部分地基于第二一個或多個標識符的集來生成第二提示詞元序列;以及使用經預訓練的生成式圖像transformer至少部分地基于第二提示詞元序列來生成第二輸出詞元序列,該第二輸出詞元序列表示第三矢量量化圖像。在一些方面,該方法進一步包括:使用提示詞元生成器至少部分地基于第二一個或多個標識符的集來生成第二提示詞元序列;使用提示詞元生成器至少部分地基于第三一個或多個標識符的集來生成第三提示詞元序列,該第三一個或多個標識符的集由于至少一個標識符而與第二一個或多個標識符的集不同;使用一個或多個處理器基于第二提示詞元序列和第三提示詞元序列來生成一個或多個中間提示詞元序列;使用經預訓練的生成式圖像transformer至少部分地基于第二提示詞元序列來生成第二輸出詞元序列,該第二輸出詞元序列表示第三矢量量化圖像;以及使用經預訓練的生成式圖像transformer至少部分地基于第二輸出詞元序列和一個或多個中間提示詞元序列中的一個中間提示詞元序列來生成第三輸出詞元序列,該第三輸出詞元序列表示第四矢量量化圖像。在一些方面,該方法進一步包括:使用經預訓練的生成式圖像transformer至少部分地基于一個或多個中間提示詞元序列中的一個中間提示詞元序列來生成第四輸出詞元序列,該第四輸出詞元序列表示第五矢量量化圖像;以及使用經預訓練的生成式圖像transformer至少部分地基于第四輸出詞元序列和第三提示詞元序列來生成第五輸出詞元序列,該第五輸出詞元序列表示第六矢量量化圖像。在一些方面,該方法進一步包括基于第五輸出詞元序列來生成輸出圖像。
5、在另一方面,本公開描述了一種包括計算機可讀指令的非暫時性計算機程序產品,這些計算機可讀指令在由處理系統執行時使得處理系統執行先前段落中描述的方法中的任何方法。
6、在另一方面,本公開描述了一種處理系統,包括:(1)存儲器,該存儲器存儲經預訓練的生成式圖像transformer和提示詞元生成器;以及(2)一個或多個處理器,該一個或多個處理器耦合到存儲器并且被配置為根據訓練方法來訓練提示詞元生成器,該訓練方法包括:(a)對于多個訓練樣例中的每個給定訓練樣例,該給定訓練樣例包括表示第一矢量量化圖像的目標詞元序列和第一一個或多個標識符的集,該第一一個或多個標識符的集中的至少一個標識符與第一矢量量化圖像的主題相關:使用提示詞元生成器至少部分地基于第一一個或多個標識符的集來生成第一提示詞元序列;使用經預訓練的生成式圖像transformer至少部分地基于第一提示詞元序列生成第一輸出詞元序列,該第一輸出詞元序列表示第二矢量量化圖像;以及將第一輸出詞元序列與目標詞元序列進行比較,以針對給定訓練樣例生成損失值;以及(b)至少部分地基于針對多個訓練樣例生成的損失值來修改提示詞元生成器的一個或多個參數。在一些方面,提示詞元生成器包括多層感知器。在一些方面,提示詞元生成器包括兩個或更多個多層感知器。在一些方面,一個或多個處理器被配置為修改提示詞元生成器的一個或多個參數包括修改兩個或更多個多層感知器中的每一個多層感知器的一個或多個參數。在一些方面,一個或多個處理器進一步被配置為:使用提示詞元生成器至少部分地基于第二一個或多個標識符的集來生成第二提示詞元序列;以及使用經預訓練的生成式圖像transformer至少部分地基于第二提示詞元序列來生成第二輸出詞元序列,該第二輸出詞元序列表示第三矢量量化圖像。在一些方面,一個或多個處理器進一步被配置為:使用提示詞元生成器至少部分地基于第二一個或多個標識符的集來生成第二提示詞元序列;使用提示詞元生成器至少部分地基于第三一個或多個標識符的集來生成第三提示詞元序列,該第三一個或多個標識符的集由于至少一個標識符而與第二一個或多個標識符的集不同;基于第二提示詞元序列和第三提示詞元序列來生成一個或多個中間提示詞元序列;使用經預訓練的生成式圖像transformer至少部分地基于第二提示詞元序列生成第二輸出詞元序列,該第二輸出詞元序列表示第三矢量量化圖像;以及使用經預訓練的生成式圖像transformer至少部分地基于第二輸出詞元序列和一個或多個中間提示詞元序列中的一個中間提示詞元序列來生成第三輸出詞元序列,該第三輸出詞元序列表示第四矢量量化圖像。在一些方面,一個或多個處理器進一步被配置為:使用經預訓練的生成式圖像transformer至少部分地基于一個或多個中間提示詞元序列中的一個中間提示詞元序列來生成第四輸出詞元序列,該第四輸出詞元序列表示第五矢量量化圖像;以及使用經預訓練的生成式圖像transformer至少部分地基于第四輸出詞元序列和第三提示詞元序列來生成第五輸出詞元序列,該第五輸出詞元序列表示第六矢量量化圖像。在一些方面,一個或多個處理器進一步被配置為基于第五輸出詞元序列來生成輸出圖像。在一些方面,一個或多個處理器被配置為使用經預訓練的生成式圖像transformer的解碼器來生成輸出圖像。在一些方面,經預訓練的生成式圖像transformer是自回歸圖像transformer。在一些方面,經預訓練的生成式圖像transformer是非自回歸圖像transformer。