IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

<>
  • 特表-ベクトル量子化した画像モデリング 図1
  • 特表-ベクトル量子化した画像モデリング 図2
  • 特表-ベクトル量子化した画像モデリング 図3
  • 特表-ベクトル量子化した画像モデリング 図4
  • 特表-ベクトル量子化した画像モデリング 図5
  • 特表-ベクトル量子化した画像モデリング 図6
  • 特表-ベクトル量子化した画像モデリング 図7
  • 特表-ベクトル量子化した画像モデリング 図8A
  • 特表-ベクトル量子化した画像モデリング 図8B
  • 特表-ベクトル量子化した画像モデリング 図8C
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-10
(54)【発明の名称】ベクトル量子化した画像モデリング
(51)【国際特許分類】
   G06T 1/40 20060101AFI20241003BHJP
   G06T 1/00 20060101ALI20241003BHJP
   G06N 3/0455 20230101ALI20241003BHJP
   G06N 3/0475 20230101ALI20241003BHJP
【FI】
G06T1/40
G06T1/00 500B
G06N3/0455
G06N3/0475
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024520749
(86)(22)【出願日】2022-10-05
(85)【翻訳文提出日】2024-06-03
(86)【国際出願番号】 US2022045756
(87)【国際公開番号】W WO2023059699
(87)【国際公開日】2023-04-13
(31)【優先権主張番号】63/252,452
(32)【優先日】2021-10-05
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/351,131
(32)【優先日】2022-06-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジアフイ・ユ
(72)【発明者】
【氏名】シン・リ
(72)【発明者】
【氏名】ハン・ジャン
(72)【発明者】
【氏名】ヴィジェイ・ヴァスデヴァン
(72)【発明者】
【氏名】アレクサンダー・ヨン-シウ・ク
(72)【発明者】
【氏名】ジェイソン・マイケル・ボルドリッジ
(72)【発明者】
【氏名】ユァンゾン・シュ
(72)【発明者】
【氏名】ジン・ユ・コ
(72)【発明者】
【氏名】タン・ミン・ルオン
(72)【発明者】
【氏名】グンジャン・バイド
(72)【発明者】
【氏名】ジルイ・ワン
(72)【発明者】
【氏名】ヨンフイ・ウ
【テーマコード(参考)】
5B057
【Fターム(参考)】
5B057BA02
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CC01
5B057CE08
5B057CG03
5B057CG06
5B057DA16
5B057DB02
5B057DB09
5B057DC36
5B057DC40
(57)【要約】
ビジョントランスフォーマおよび改善したコードブック取扱いを使用するベクトル量子化した画像モデリングのための、システムおよび方法が提供される。特に、本開示は、ラスタライズした画像トークンを自己回帰的に予測するため、機械学習モデル(たとえば、トランスフォーマモデル)を事前訓練するステップを含む、ベクトル量子化画像モデリング(VIM)手法を提供する。個別の画像トークンは、学習したビジョントランスフォーマベースVQGANから符号化することができる(その例示的な実装形態は、ViT-VQGANと呼ぶことができる)。本開示は、アーキテクチャからコードブック学習まで、バニラVQGANにわたる複数の改善を提案し、よりよい効果および再構成忠実度がもたらされる。改善されたViT-VQGANは、無条件画像生成、条件付き画像生成(たとえば、クラス条件付き画像生成)、および教師なし表現学習を含む、ベクトル量子化画像モデリングタスクをさらに改善する。
【特許請求の範囲】
【請求項1】
画像のベクトル量子化を実施するコンピュータ実装される方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、画像の複数の入力画像パッチを得るステップと、
前記コンピューティングシステムによって、前記複数の入力画像パッチを機械学習した画像エンコーダで処理し、複数の画像トークンを潜在空間中に生成するステップであって、前記複数の画像トークンが前記複数の入力画像パッチに対応し、前記機械学習した画像エンコーダが、1つまたは複数の自己アテンション動作を実施して前記複数の入力画像パッチを処理し、前記複数の画像トークンを前記潜在空間中に生成する、ステップと、
前記コンピューティングシステムによって、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、前記複数の画像トークンをマッピングするステップと、
前記コンピューティングシステムによって、前記画像の符号化バージョンとして前記複数の量子化コードを提供するステップと
を含む、コンピュータ実装される方法。
【請求項2】
前記機械学習した画像エンコーダがビジョントランスフォーマモデルを備える、請求項1に記載のコンピュータ実装される方法。
【請求項3】
前記機械学習した画像エンコーダが前記複数の入力画像パッチに前記1つまたは複数の自己アテンション動作のうちの1つを実施する、請求項1または2に記載のコンピュータ実装される方法。
【請求項4】
前記コンピューティングシステムによって、前記複数の量子化コードを機械学習した画像デコーダで処理して、合成画像を形成する複数の合成画像パッチを生成するステップと、
前記コンピューティングシステムによって、少なくとも部分的に前記合成画像に基づいて損失値を提供する損失関数を評価するステップと、
前記コンピューティングシステムによって、少なくとも部分的に前記損失関数に基づいて、前記機械学習した画像エンコーダ、前記機械学習した画像デコーダ、および、前記複数の候補コードのうちの1つまたは複数を変更するステップと
をさらに含む、請求項1から3のいずれか一項に記載のコンピュータ実装される方法。
【請求項5】
前記機械学習した画像デコーダがビジョントランスフォーマモデルを備える、請求項4に記載のコンピュータ実装される方法。
【請求項6】
前記損失関数が、
ロジットラプラス損失項、
L2損失項、
知覚損失項、および
敵対的生成ネットワーク損失項
を含む、請求項4または5に記載のコンピュータ実装される方法。
【請求項7】
前記コンピューティングシステムによって、前記複数の候補コードを含む前記量子化コードブックに含まれる前記複数の量子化コードに、前記複数の画像トークンをマッピングするステップが、
前記コンピューティングシステムによって、前記複数の画像トークンを下位次元空間に投影するステップと、
前記画像トークンを前記下位次元空間に投影するステップの後に、前記コンピューティングシステムによって、前記量子化コードブックに含まれる前記複数の量子化コードに、前記複数の画像トークンをマッピングするステップと
を含む、請求項1から6のいずれか一項に記載のコンピュータ実装される方法。
【請求項8】
前記コンピューティングシステムによって、前記複数の候補コードを含む前記量子化コードブックに含まれる前記複数の量子化コードに、前記複数の画像トークンをマッピングするステップが、
前記コンピューティングシステムによって、前記複数の画像トークンと前記複数の候補コードの一方または両方にL2正則化を適用するステップと、
前記L2正則化を適用するステップの後に、前記コンピューティングシステムによって、前記量子化コードブックに含まれる前記複数の量子化コードに、前記複数の画像トークンをマッピングするステップと
を含む、請求項1から7のいずれか一項に記載のコンピュータ実装される方法。
【請求項9】
機械学習したコード予測モデルを使用する前記コンピューティングシステムによって、少なくとも部分的に前記複数の量子化コードのうちの1つまたは複数に基づいて前記量子化コードブックから複数の予測されるコードを自己回帰的に予測するステップと、
前記コンピューティングシステムによって、機械学習した画像デコーダで前記複数の予測されるコードを処理して、合成画像を形成する複数の合成画像パッチを生成するステップと
をさらに含む、請求項1から8のいずれか一項に記載のコンピュータ実装される方法。
【請求項10】
前記コンピューティングシステムによって、前記複数の予測されるコードに基づいて負の対数尤度を評価するコード予測損失関数を評価するステップと、
前記コンピューティングシステムによって、前記コード予測損失関数に基づいて前記機械学習したコード予測モデルの1つまたは複数のパラメータを変更するステップと
をさらに含む、請求項9に記載のコンピュータ実装される方法。
【請求項11】
前記機械学習したコード予測モデルを使用する前記コンピューティングシステムによって、前記複数の予測されるコードを自己回帰的に予測するステップが、前記コンピューティングシステムによって、前記合成画像の1つまたは複数の所望の特性を記述する補助条件付けデータで、前記機械学習したコード予測モデルを条件付けるステップを含む、請求項9または10に記載のコンピュータ実装される方法。
【請求項12】
前記補助条件付けデータが、前記合成画像の所望のクラスを記述するクラスラベルを含む、請求項11に記載のコンピュータ実装される方法。
【請求項13】
前記補助条件付けデータが、自然言語テキストトークンを含む、請求項11または12に記載のコンピュータ実装される方法。
【請求項14】
前記コンピューティングシステムによって、前記機械学習したコード予測モデルを前記自然言語テキストトークンで条件付けるステップが、
前記コンピューティングシステムによって、前記機械学習したコード予測モデルのテキストエンコーダ部で前記自然言語テキストトークンを処理して、テキスト埋込みを生成するステップと、
前記コンピューティングシステムによって、前記機械学習したコード予測モデルの自己回帰コード選択部への入力として前記テキスト埋込みを提供して、前記複数の予測されるコードを自己回帰的に予測するステップと
を含む、請求項13に記載のコンピュータ実装される方法。
【請求項15】
前記コンピューティングシステムによって、前記機械学習したコード予測モデルから1つまたは複数の中間的特徴を抽出するステップと、
前記コンピューティングシステムによって、少なくとも部分的に前記中間的特徴に基づいて前記画像についてのクラスラベルを予測するステップと
をさらに含む、請求項9から14のいずれか一項に記載のコンピュータ実装される方法。
【請求項16】
画像のベクトル量子化を実施するコンピュータ実装される方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、画像の符号化バージョンを形成する複数の量子化コードを得るステップであって、前記複数の量子化コードが、複数の候補コードを含む量子化コードブックに含まれる前記複数の量子化コードに、機械学習した画像エンコーダモデルによって生成された複数の画像トークンをマッピングすることによって選択された、ステップと、
前記コンピューティングシステムによって、機械学習した画像デコーダで前記複数の量子化コードを処理して、前記画像のデコードバージョンを形成する複数のデコードされた画像パッチを生成するステップと
を含み、
前記機械学習した画像エンコーダモデルと前記機械学習した画像デコーダの一方または両方が、1つまたは複数の自己アテンション動作を実施するように構成される、コンピュータ実装される方法。
【請求項17】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から16のいずれか一項に記載の方法を実施させる命令を集合的に記憶する、1つまたは複数の非一時的コンピュータ可読媒体とを備えるコンピュータシステム。
【請求項18】
1つまたは複数のプロセッサと、
機械学習した画像処理モデルを集合的に記憶する、1つまたは複数の非一時的コンピュータ可読媒体と
を備え、前記機械学習した画像処理モデルが、
1つまたは複数の入力画像パッチを潜在空間中の1つまたは複数の画像トークンへと符号化するように構成されるエンコーダ部と、
前記1つまたは複数の画像トークンをコードブックから選択された1つまたは複数の量子化コードへと量子化するように構成される量子化部と、
少なくとも部分的に前記1つまたは複数の量子化コードに基づいて、前記コードブックから、1つまたは複数の予測される量子化コードを予測するように構成されるコード予測部と、
前記コード予測部から抽出されたデータに少なくとも部分的に基づいて、前記入力画像パッチについての1つまたは複数の特徴的な予測を生成するように構成される、特徴予測部と
を備える、コンピューティングシステム。
【請求項19】
前記機械学習した画像処理モデルが、前記1つまたは複数の量子化コードに基づいて再構成した画像パッチを生成する、または、少なくとも部分的に前記1つまたは複数の予測される量子化コードに基づいて合成画像パッチを生成するように構成されるデコーダ部をさらに備える、請求項18に記載のコンピューティングシステム。
【請求項20】
前記1つまたは複数の特徴的な予測が画像分類予測を含む、請求項18または19に記載のコンピューティングシステム。
【請求項21】
テキストからの画像生成を実施するコンピュータ実装される方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、所望の画像コンテンツを記述する自然言語入力を得るステップと、
前記コンピューティングシステムによって、機械学習したコード予測モデルのテキストエンコーダ部で前記自然言語入力を処理して、テキスト埋込みを生成するステップと、
前記コンピューティングシステムによって、前記機械学習したコード予測モデルの自己回帰コード選択部で前記テキスト埋込みを処理して、複数の候補コードを含む量子化コードブックから予測されるコードのシーケンスを自己回帰的に予測するステップと、
前記コンピューティングシステムによって、量子化コードの前記シーケンスを機械学習した画像デコーダで処理して、合成画像を形成する複数の合成画像パッチを生成するステップと
を含み、
前記合成画像が前記所望の画像コンテンツを描く、コンピュータ実装される方法。
【請求項22】
前記機械学習したコード予測モデルの前記テキストエンコーダ部、前記機械学習したコード予測モデルの前記自己回帰コード選択部、および前記機械学習した画像デコーダのうちの1つまたは複数が、1つまたは複数の自己アテンション動作を実施するように構成される、請求項21に記載のコンピュータ実装される方法。
【請求項23】
前記機械学習したコード予測モデルの前記テキストエンコーダ部、前記機械学習したコード予測モデルの前記自己回帰コード選択部、および前記機械学習した画像デコーダのうちの1つまたは複数がトランスフォーマニューラルネットワークを備える、請求項21または22に記載のコンピュータ実装される方法。
【請求項24】
前記機械学習した画像デコーダと前記コードブックの一方または両方が、画像エンコーダモデルで一緒に学習した、請求項21から23のいずれか一項に記載のコンピュータ実装される方法。
【請求項25】
前記機械学習したコード予測モデルの前記テキストエンコーダ部が、事前訓練タスクで事前訓練された、請求項21から23のいずれか一項に記載のコンピュータ実装される方法。
【請求項26】
コード予測モデルを訓練するコンピュータ実装される方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、訓練画像を含む訓練例および前記訓練画像のコンテンツを記述する自然言語入力を得るステップと、
前記コンピューティングシステムによって、前記訓練画像からの複数の画像パッチを機械学習した画像エンコーダで処理し、複数の画像トークンを潜在空間中に生成するステップであって、前記複数の画像トークンが前記複数の画像パッチに対応する、ステップと、
前記コンピューティングシステムによって、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、前記複数の画像トークンをマッピングするステップと、
前記コンピューティングシステムによって、前記コード予測モデルのテキストエンコーダ部で前記自然言語入力を処理して、テキスト埋込みを生成するステップと、
前記コンピューティングシステムによって、前記コード予測モデルの自己回帰コード選択部で前記テキスト埋込みを処理して、前記量子化コードブックから予測されるコードのシーケンスを自己回帰的に予測するステップと、
前記コンピューティングシステムによって、予測されるコードの前記シーケンスを前記複数の量子化コードと比較するコード予測損失関数を評価するステップと、
前記コンピューティングシステムによって、少なくとも部分的に前記コード予測損失関数に基づいて、前記コード予測モデルの1つまたは複数のパラメータを変更するステップと
を含む、コンピュータ実装される方法。
【請求項27】
前記機械学習した画像エンコーダが、1つまたは複数の自己アテンション動作を実施して前記複数の入力画像パッチを処理し、前記複数の画像トークンを前記潜在空間中に生成する、請求項26に記載のコンピュータ実装される方法。
【請求項28】
前記コード予測損失関数が、前記量子化コードに対する前記予測されるコードの負の対数尤度を評価する、請求項26または27に記載のコンピュータ実装される方法。
【請求項29】
前記機械学習した画像エンコーダおよび前記コードブックが、オートエンコーダアーキテクチャにおける画像デコーダで事前に訓練されている、請求項26から28のいずれか一項に記載のコンピュータ実装される方法。
【請求項30】
前記コンピューティングシステムによって、少なくとも部分的に前記コード予測損失関数に基づいて、前記コード予測モデルの1つまたは複数のパラメータを変更するステップが、前記コンピューティングシステムによって、少なくとも部分的に前記コード予測損失関数に基づいて、前記コード予測モデルの前記テキストエンコーダ部と前記自己回帰コード選択部の両方の1つまたは複数のパラメータを変更するステップを含む、請求項26に記載のコンピュータ実装される方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2022年6月10日に出願された米国仮特許出願第63/351,131号および2021年10月5日に出願された米国仮特許出願第63/252,452号への優先権および利益を主張する。上述の出願の各々は、ここにその全体が参照によって組み込まれる。
【0002】
本開示は、一般的に、画像合成および/または画像生成などといった画像モデリングに関する。より具体的には、本開示は、ビジョントランスフォーマおよび改善したコードブック取扱いを使用するベクトル量子化した画像モデリングに関する。
【背景技術】
【0003】
コンピュータビジョンでは、最近の教師なしまたは自己教師あり学習技法の大部分は、画像インスタンスを区別する目的で事前訓練で画像に異なるランダムな拡張を施すことに焦点が合っており、学習した表現の品質は、ランダムな輝度、クロッピング、ぼけなどのような、手動で取り上げた拡張に依拠する。
【0004】
ある種の他の手法は、2D構造の知識を組み込むことなく、画素を自己回帰的に予測するために、画像にGPTスタイルの生成事前訓練を施す。ここで、画素は、k=512でのk平均を使用する(R,G,B)画素値をクラスタ化することによって、生成された9ビット値である。しかし、言語モデルのものよりも、はるかに長いシーケンス長(たとえば、224x224の解像度によって、画像毎に50176トークンとなる)ならびにはるかに大きいメモリ消費およびより多い訓練計算に起因して、色符号化は典型的な画像解像度にスケーリングされない。結果として、これらの制作物は、規模において、画像認識用に比較的小さい最大解像度(たとえば、64x64)に適用することが可能なだけであり、このことによって表現能力が著しく限定される。
【0005】
他方で、VQVAE(Oordら、2017)、DALL-E(Rameshら、2021)およびVQGAN(Esserら2021)を含む、顕著な画像生成結果が、画像を個別潜在変数へと予め量子化すること、およびそれらを自己回帰的にモデリングすることによって達成されている。これらの手法では、畳込みニューラルネットワーク(CNN)が学習して画像を自動符号化し、第2ステージCNNまたはトランスフォーマが学習して入力データの密度をモデル化する。これらは、画像生成には有効であることが証明されているが、特徴的なタスクにおける学習した表現を研究で評価していない。
【0006】
画像生成の1つの下位の分野は、テキストからの画像の生成である。ここでは、画像は入力テキストに基づいて合成され、合成された画像は、入力テキストによって記載されたコンテンツを描く。言語を通して画像を生成する能力は魅力的である。というのは、言語は意思疎通の最も自然な形式であり、そのような生成能力によって、芸術、デザイン、およびマルチメディアコンテンツ作成など多くの分野での創作的用途を潜在的に解放することができる。テキストから画像を生成する空間で最近勢いを得た研究の1つの系統は、より高い忠実度の画像を生成する能力を有する、拡散ベースのテキストからの画像モデルを活用する技法である。これらのモデルは、画像静止のための核となるモデリング手法として、個別の画像トークンの使用を避け、代わりに、拡散モデルを使用して、MS-COCOについてより良好なゼロショットフレシェ開始距離(FID)スコアおよび審美的に美しい視覚出力を達成する。こうした進歩にかかわらず、より多くのモダリティに容易に適用可能な、大規模言語モデルおよび個別のトークンの汎用インターフェースについて、従来の制作物に豊かな本体があることを仮定すると、テキストから画像を生成するタスクへの自己回帰モデリングを適用することができることは、実際には魅力的なままである。
【発明の概要】
【課題を解決するための手段】
【0007】
本開示の実施形態の態様および利点は、以下の記載に部分的に記述され、または、記載から学習することができ、または、実施形態の実施を通して学習することができる。
【0008】
本開示に1つの例示的な態様は、画像のベクトル量子化を実施するコンピュータ実装される方法に向けられる。方法は、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、画像の複数の入力画像パッチを得るステップを含む。方法は、コンピューティングシステムによって、複数の入力画像パッチを機械学習した画像エンコーダで処理し、複数の画像トークンを潜在空間中に生成するステップを含み、ここで、複数の画像トークンが複数の入力画像パッチに対応し、機械学習した画像エンコーダが1つまたは複数の自己アテンション(self-attention)動作を実施して複数の入力画像パッチを処理し、複数の画像トークンを潜在空間中に生成する。方法は、コンピューティングシステムによって、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、複数の画像トークンをマッピングするステップを含む。方法は、コンピューティングシステムによって、画像の符号化バージョンとして複数の量子化コードを提供するステップを含む。
【0009】
いくつかの実装形態では、機械学習した画像エンコーダは、ビジョントランスフォーマモデルを備える。
【0010】
いくつかの実装形態では、機械学習した画像エンコーダは、複数の入力画像パッチに1つまたは複数の自己アテンション動作のうちの1つを実施する。
【0011】
いくつかの実装形態では、方法は、コンピューティングシステムによって、複数の量子化コードを機械学習した画像デコーダで処理して、合成画像を形成する複数の合成画像パッチを生成するステップと、コンピューティングシステムによって、少なくとも部分的に合成画像に基づいて損失値を提供する損失関数を評価するステップと、コンピューティングシステムによって、少なくとも部分的に損失関数に基づいて、機械学習した画像エンコーダ、機械学習した画像デコーダ、および、複数の候補コードのうちの1つまたは複数を変更するステップとをさらに含む。
【0012】
いくつかの実装形態では、機械学習した画像デコーダは、ビジョントランスフォーマモデルを備える。
【0013】
いくつかの実装形態では、損失関数は、ロジットラプラス損失項、L2損失項、知覚損失項、および/または、敵対的生成ネットワーク損失項を含む。
【0014】
いくつかの実装形態では、コンピューティングシステムによって、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、複数の画像トークンをマッピングするステップが、コンピューティングシステムによって、複数の画像トークンを下位次元空間に投影するステップと、画像トークンを下位次元空間に投影するステップの後に、コンピューティングシステムによって、量子化コードブックに含まれる複数の量子化コードに、複数の画像トークンをマッピングするステップとを含む。
【0015】
いくつかの実装形態では、コンピューティングシステムによって、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、複数の画像トークンをマッピングするステップが、コンピューティングシステムによって、複数の画像トークンと複数の候補コードの一方または両方にL2正則化を適用するステップと、L2正則化を適用するステップの後に、コンピューティングシステムによって、量子化コードブックに含まれる複数の量子化コードに、複数の画像トークンをマッピングするステップとを含む。
【0016】
いくつかの実装形態では、方法は、機械学習したコード予測モデルを使用するコンピューティングシステムによって、少なくとも部分的に複数の量子化コードのうちの1つまたは複数に基づいて量子化コードブックから複数の予測されるコードを自己回帰的に予測するステップと、コンピューティングシステムによって、機械学習した画像デコーダで複数の予測されるコードを処理して、合成画像を形成する複数の合成画像パッチを生成するステップとをさらに含む。
【0017】
いくつかの実装形態では、方法は、コンピューティングシステムによって、複数の予測されるコードに基づいて負の対数尤度を評価するコード予測損失関数を評価するステップと、コンピューティングシステムによって、コード予測損失関数に基づいて機械学習したコード予測モデルの1つまたは複数のパラメータを変更するステップとをさらに含む。
【0018】
いくつかの実装形態では、機械学習したコード予測モデルを使用するコンピューティングシステムによって、複数の予測されるコードを自己回帰的に予測するステップが、コンピューティングシステムによって、合成画像の1つまたは複数の所望の特性を記述する補助条件付けデータで、機械学習したコード予測モデルを条件付けるステップを含む。
【0019】
いくつかの実装形態では、補助条件付けデータは、合成画像の所望のクラスを記述するクラスラベルを含む。
【0020】
いくつかの実装形態では、補助条件付けデータは、自然言語テキストトークンを含む。
【0021】
いくつかの実装形態では、方法は、コンピューティングシステムによって、機械学習したコード予測モデルから1つまたは複数の中間的特徴を抽出するステップと、コンピューティングシステムによって、少なくとも部分的に中間的特徴に基づいて画像についてのクラスラベルを予測するステップとをさらに含む。
【0022】
別の例示的な態様は、画像のベクトル量子化を実施するためのコンピュータ実装される方法に向けられる。方法は、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、画像の符号化バージョンを形成する複数の量子化コードを得るステップを含み、ここで、複数の量子化コードは、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、機械学習した画像エンコーダモデルによって生成された複数の画像トークンをマッピングすることによって選択された。方法は、コンピューティングシステムによって、機械学習した画像デコーダで複数の量子化コードを処理して、画像のデコードバージョンを形成する複数のデコードされた画像パッチを生成するステップを含む。いくつかの実装形態では、機械学習した画像エンコーダモデルと機械学習した画像デコーダの一方または両方は、1つまたは複数の自己アテンション動作を実施するように構成される。
【0023】
別の例示的な態様は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書に記載される方法のいずれかを実施させる命令を集合的に記憶する、1つまたは複数の非一時的コンピュータ可読媒体を備えるコンピュータシステムに向けられる。
【0024】
別の例示的な態様は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、本明細書に記載される方法のいずれかを実施させる命令を集合的に記憶する、1つまたは複数の非一時的コンピュータ可読媒体に向けられる。
【0025】
別の例示的な態様は、1つまたは複数のプロセッサと、機械学習した画像処理モデルを集合的に記憶する、1つまたは複数の非一時的コンピュータ可読媒体を備えるコンピュータシステムに向けられる。機械学習した画像処理モデルは、1つまたは複数の入力画像パッチを潜在空間中の1つまたは複数の画像トークンへと符号化するように構成されるエンコーダ部と、1つまたは複数の画像トークンをコードブックから選択された1つまたは複数の量子化コードへと量子化するように構成される量子化部と、少なくとも部分的に1つまたは複数の量子化コードに基づいて、コードブックから、1つまたは複数の予測される量子化コードを予測するように構成されるコード予測部と、コード予測部から抽出されたデータに少なくとも部分的に基づいて、入力画像パッチについての1つまたは複数の特徴的な予測を生成するように構成される、特徴予測部とを備える。
【0026】
いくつかの実装形態では、機械学習した画像処理モデルは、1つまたは複数の量子化コードに基づいて再構成した画像パッチを生成する、または、少なくとも部分的に1つまたは複数の予測される量子化コードに基づいて合成画像パッチを生成するように構成されるデコーダ部をさらに備える。
【0027】
いくつかの実装形態では、1つまたは複数の特徴的な予測が画像分類予測を含む。
【0028】
別の例示的な態様は、テキストからの画像生成を実施するためのコンピュータ実装される方法に向けられる。方法は、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、所望の画像コンテンツを記述する自然言語入力を得るステップを含む。方法は、コンピューティングシステムによって、機械学習したコード予測モデルのテキストエンコーダ部で自然言語入力を処理して、テキスト埋込みを生成するステップを含む。方法は、コンピューティングシステムによって、機械学習したコード予測モデルの自己回帰コード選択部でテキスト埋込みを処理して、複数の候補コードを含む量子化コードブックから予測されるコードのシーケンスを自己回帰的に予測するステップを含む。方法は、コンピューティングシステムによって、量子化コードのシーケンスを機械学習した画像デコーダで処理して、合成画像を形成する複数の合成画像パッチを生成するステップを含む。合成画像は、所望の画像コンテンツを描く。
【0029】
いくつかの実装形態では、機械学習したコード予測モデルのテキストエンコーダ部、機械学習したコード予測モデルの自己回帰コード選択部、および機械学習した画像デコーダのうちの1つまたは複数は、1つまたは複数の自己アテンション動作を実施するように構成される。
【0030】
いくつかの実装形態では、機械学習したコード予測モデルのテキストエンコーダ部、機械学習したコード予測モデルの自己回帰コード選択部、および機械学習した画像デコーダのうちの1つまたは複数は、トランスフォーマニューラルネットワークを備える。
【0031】
いくつかの実装形態では、機械学習した画像デコーダとコードブックの一方または両方が、画像エンコーダモデルで一緒に学習した。
【0032】
いくつかの実装形態では、機械学習したコード予測モデルのテキストエンコーダ部が、事前訓練タスクで事前訓練された。
【0033】
別の例示的な態様は、コード予測モデルを訓練するためのコンピュータ実装される方法に向けられる。方法は、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、訓練画像を含む訓練例および訓練画像のコンテンツを記述する自然言語入力を得るステップを含む。方法は、コンピューティングシステムによって、訓練画像からの複数の画像パッチを機械学習した画像エンコーダで処理し、複数の画像トークンを潜在空間中に生成するステップを含み、ここで、複数の画像トークンが複数の画像パッチに対応する。方法は、コンピューティングシステムによって、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、複数の画像トークンをマッピングするステップを含む。方法は、コンピューティングシステムによって、コード予測モデルのテキストエンコーダ部で自然言語入力を処理して、テキスト埋込みを生成するステップを含む。方法は、コンピューティングシステムによって、コード予測モデルの自己回帰コード選択部でテキスト埋込みを処理して、量子化コードブックから予測されるコードのシーケンスを自己回帰的に予測するステップを含む。方法は、コンピューティングシステムによって、予測されるコードのシーケンスを複数の量子化コードと比較するコード予測損失関数を評価するステップを含む。方法は、コンピューティングシステムによって、少なくとも部分的にコード予測損失関数に基づいて、コード予測モデルの1つまたは複数のパラメータを変更するステップを含む。
【0034】
いくつかの実装形態では、機械学習した画像エンコーダは、1つまたは複数の自己アテンション動作を実施して複数の入力画像パッチを処理し、複数の画像トークンを潜在空間中に生成する。
【0035】
いくつかの実装形態では、コード予測損失関数は、量子化コードに対する予測されるコードの負の対数尤度を評価する。
【0036】
いくつかの実装形態では、機械学習した画像エンコーダおよびコードブックは、オートエンコーダアーキテクチャにおける画像デコーダで事前に訓練されている。
【0037】
いくつかの実装形態では、コンピューティングシステムによって、少なくとも部分的にコード予測損失関数に基づいて、コード予測モデルの1つまたは複数のパラメータを変更するステップは、コンピューティングシステムによって、少なくとも部分的にコード予測損失関数に基づいて、コード予測モデルのテキストエンコーダ部と自己回帰コード選択部の両方の1つまたは複数のパラメータを変更するステップを含む。
【0038】
本開示の他の態様は、様々なシステム、装置、非一時的コンピュータ可読媒体、ユーザインターフェース、および電子デバイスに向けられる。
【0039】
本開示の様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の記載および添付される請求項を参照すればよりよく理解されよう。関連する原理を説明する役に立つ記載と一緒に、本明細書に組み込まれ、本明細書の一部をなす添付図面が本開示の例示的な実施形態を図示する。
【0040】
当業者に向けた実施形態の詳細な議論が本明細書中で記載されており、これは、添付図面への参照を行っている。
【図面の簡単な説明】
【0041】
図1】本開示の例示的な実施形態にしたがった、画像のベクトル量子化を実施するための、例示的な機械学習モデルを描く図である。
図2】本開示の例示的な実施形態にしたがった、画像生成を実施するための、例示的な機械学習モデルを描く図である。
図3】本開示の例示的な実施形態にしたがった、画像生成を実施するための、例示的な機械学習モデルを描く図である。
図4】本開示の例示的な実施形態にしたがった、画像生成を実施するための、例示的な機械学習モデルを描く図である。
図5】本開示の例示的な実施形態にしたがった、テキストからの画像生成を実施するための、手法を描く概略図である。
図6】本開示の例示的な実施形態にしたがった、モデル訓練をスケーリングする例示的な手法を描く図である。
図7】本開示の例示的な実施形態にしたがった、例示的なモデル並列処理手法を描く図である。
図8A】本開示の例示的な実施形態にしたがった、例示的なコンピューティングシステムを描くブロック図である。
図8B】本開示の例示的な実施形態にしたがった、例示的なコンピューティングデバイスを描くブロック図である。
図8C】本開示の例示的な実施形態にしたがった、例示的なコンピューティングデバイスを描くブロック図である。
【発明を実施するための形態】
【0042】
複数の図にわたって繰り返される参照数字は、様々な実装形態中の同じ特徴を識別することが意図される。
【0043】
概要
一般的に、本開示は、ビジョントランスフォーマおよび改善したコードブック取扱いを使用するベクトル量子化した画像モデリングに向けられる。特に、本開示は、ラスタライズした画像トークンを自己回帰的に予測するため、機械学習モデル(たとえば、トランスフォーマモデル)を事前訓練するステップを含む、ベクトル量子化画像モデリング(VIM)手法を提供する。個別の画像トークンは、学習したビジョントランスフォーマベースVQGANから符号化することができる(その例示的な実装形態は、ViT-VQGANと呼ぶことができる)。本開示は、アーキテクチャからコードブック学習まで、バニラVQGANにわたる複数の改善を提案し、よりよい効率および再構成忠実度がもたらされる。改善されたViT-VQGANは、無条件画像生成、条件付き画像生成(たとえば、クラス条件付き画像生成)、および教師なし表現学習を含む、ベクトル量子化画像モデリングタスクをさらに改善する。
【0044】
例示の実験によって、提案される技法の技術的効果が呈示される。特に、256x256解像度でImageNet上で訓練するとき、本開示の例示的な実装形態は、開始スコア(IS)およびフレシェ開始距離(FID)でそれぞれ70.6および17.04を得るバニラVQGANを超える劇的な改善である、175.1の開始スコア(IS)および4.17のフレシェ開始距離(FID)を達成する。ViT-VQGANおよび教師なし事前訓練に基づいて、例示の実験は、画像GPT(iGPT)と同様の、中間的特徴を平均することによって、事前訓練したトランスフォーマをさらに評価する。このImageNet事前訓練したVIM-Lは、同様のモデルサイズでは、線形プローブ精度についてiGPT-Lを、60.3%から72.1%へと著しく凌いでいる。ViM-Lは、追加のウェブ画像データおよびより大きいモデルサイズで訓練されるiGPT-XLをやはり凌いでいる。
【0045】
本開示の別の例示的な態様は、提案されるベクトル量子化画像モデルの、テキストからの画像生成タスクへの適用に向けられる。具体的には、本開示は、拡散ベースの手法とは異なる利点を有する、テキスト記述から写真のようにリアルな画像を生成することができる自己回帰モデルを提供する。これらのモデルの例示的な実装形態は、「Babeldraw」と呼ぶことができる。いくつかの実装形態では、Babeldrawは、改善された画像トークナイザ、本明細書に記載されるトランスフォーマベースViT-VQGANを使用して、画像を個別トークンのシーケンスとして符号化する。これは、当面のタスクを、テキストから画像トークンへの、機械変換のよく知られた問題へと自然に引き下げる。第2の、エンコーダ-デコーダトランスフォーマパラメータを、350Mおよび750Mから3Bおよび20Bにスケーリングすることによって、一貫性のある品質改善が得られる。最近の拡散ベースモデルと比較して、MS-COCO訓練スプリットで微調整すれば、20BのBabeldrawモデルによって、7.31という同等のゼロショットMS-COCOフレシェ開始距離(FID)スコア、および4.03という前例のないFIDスコアが達成される。凍結した256x256画像トークナイザで学習したポスト超解像度アップサンプラを用いて、Babeldrawは、高解像度の写真のようにリアルな画像を確実に生成する。
【0046】
したがって、本開示の例示的な実装形態は、画像生成と画像理解タスクの両方のための、ベクトル量子化画像モデリング(VIM)方法に関する。具体的には、いくつかの例示的な実装形態は、以下の2段階手法に準拠する。
【0047】
ステージ1:ベクトル量子化。(たとえば、解像度256x256の)画像を仮定すると、ビジョントランスフォーマベースVQGANが、それを、コードブック内に含まれるいくつかの離散化した潜在コード(たとえば、32x32)へと符号化する(たとえば、コードブックサイズは、8192であってよい)。本開示は、VQGAN(Esserら、2021)に加えて、アーキテクチャからコードブック学習まで、複数の改善を提案する。結果として得られるViT-VQGANは、画素単位の再構成測定、開始スコア(IS)、およびフレシェ開始距離(FID)の面で、よりよい効率および再構成忠実度を有する。ViT-VQGANは、ロジットラプラス損失、L2損失、敵対的損失、および/または知覚損失の組み合わせた目的関数を用いて、画像のみのデータで徹底的に訓練することができる。
【0048】
ステージ2:ベクトル量子化画像モデリング。いくつかの例示的な実装形態は、ラスタライズした(たとえば、32x32=1024)画像トークンを自己回帰的に予測するため、トランスフォーマモデルを訓練するステップを含むことができ、画像トークンは、凍結したステージ1 ViT-VQGANによって符号化される。無条件画像合成または教師なし学習では、デコーダのみのトランスフォーマモデルを訓練して、次のトークンを予測することができる。条件付き画像合成(たとえば、クラス条件付き画像合成)では、条件付けデータ(たとえば、クラスidトークン)を、全画像トークンの先頭に追加することができる。
【0049】
教師なし学習の品質を評価するため、中間的トランスフォーマ特徴を抽出(および平均)することができ、線形ヘッドを訓練して、クラスのロジット(線形プローブ精度としても知られている)を予測することができる。
【0050】
VIMで画像生成と画像理解の両方を改善するための1つの鍵となる構成要素は、コンピュータの効率および再構成品質の点で、よりよい画像量子化器を有することである。効率的な量子化器はステージ2の訓練を高速化することができ、ここでは、ランダムな拡張が最初に画像に、その後、入力トークンとして画像量子化器のエンコーダに施される。さらに、よりよい再構成品質を有する画像量子化器は、潜在的に、画素空間中の元々の画像と比較して、情報損失を減らすことができ、このことは、画像理解タスクにとって重要である。
【0051】
本開示のさらなる例示的な態様は、テキスト記載から写真のようにリアルな画像を生成することができる自己回帰画像生成モデルに向けられる。本明細書で提供される自己回帰モデルは、よりよい画像トークナイザから、およびモデルのスケーリングからも恩恵を被ることができる。より具体的には、本開示は、画像生成のための、トランスフォーマベースのシーケンスツーシーケンスモデルを提供する(その例示的な実装形態は、「Babeldraw」と呼ぶことができる)。画像生成モデルは、エンコーダへの入力としてトークン化したテキストトークンをとって、自己回帰の方式でデコーダを用いて個別画像トークンを予測することができる。画像トークンは、いくつかの例では、本明細書に記載されるトランスフォーマベースViT-VQGAN画像トークナイザによって、効率および画像再構成忠実度の点でVQGANよりよいモデルを生成することができる。
【0052】
いくつかの実装形態では、画像生成モデルの全構成要素すなわちエンコーダ、デコーダ、および画像トークナイザは、標準的トランスフォーマモデルに基づいてよい。このことによって、モデルをスケーリングすることが容易になる。上述の2段階のテキストから画像のフレームワークの限界を試験するために、例示的なBabeldrawモデルのパラメータサイズが、350Mから750M、3Bおよび20Bにスケーリングされ、テキスト-画像の整合と画像のフォトリアリズムの点の両方で品質改善が観察された。20BのBabeldrawモデルは、最新技術の拡散ベースモデルと同等の、7.31という強いゼロショットFIDスコアを達成する。注目すべきことに、MS-COCO上で微調整すると、例示的なBabeldrawモデルは、4.07という前例のない低いFIDスコアを達成する。
【0053】
ほとんどの制作物がMS-COCOベンチマークに固執する一方で、局所化した注釈のデータセット上で強いゼロショットおよび微調整した結果をやはり達成することができることを例示的な実験が示しており、これは、平均でMS-COCOより4倍長い記載を有する。これらの結果によって、より長い記載に対する、提案されるモデルの強い一般化能力が明瞭に示される。
【0054】
こうして、本開示は、テキストからの画像生成に関するいくつかの寄与を実現する。第1に、2段階のテキストからの画像生成モデルにとって、画像トークナイザが鍵となる要因の1つであり、生成される画像の画質に直接関係があることが理解される。第2に、正確に同じ画像トークナイザおよび訓練データを用いた、単なるスケーリング用エンコーダ-デコーダが、テキストからの画像生成には有効である。第3に、BERTだけで事前訓練するテキストエンコーダは、テキストからの画像システムにとって、自然言語の理解を穏やかに補助する。テキストからの画像生成で微調整したテキストエンコーダは、言語理解タスクでより悪い結果を有しており、一般的な言語理解と視覚に基づいた言語理解についての潜在的な隔たりが示唆される。
【0055】
本開示のシステムおよび方法は、いくつかの技術的効果および利点を提供する。1つの例として、提案される技法は、ある種のタスク(たとえば、生成事前訓練を用いた画像認識)では、現在の最新技術モデル(たとえば、iGPT)に対して同等の結果であるが、より小さいモデルおよびより少ないデータで達成することが可能である。より少ないデータを有するより小さいモデルの使用を可能にすること(一方で、同等の結果を得ること)によって、プロセッサ使用量、メモリ使用量、ネットワーク帯域幅などといったコンピューティングリソースの消費が減少する。こうして、提案される技法は、コンピューティングリソースを節約し、コンピュータの機能性の改善となる。
【0056】
別の例として、本開示の例示的な実装形態は、既存のモデルに対して、画素単位の再構成測定、開始スコア(IS)およびフレシェ開始距離(FID)の面で、優れた効率および再構成忠実度を有する。こうして、本開示は、画像データを符号化表現へと符号化する能力の改善を表す。符号化データは、メモリ空間およびネットワーク帯域幅の節約を含む多数の利点を有する。本開示は、システムが画像を符号化してそのような利点を達成するが、一方で、画像を復号画像に復号化するときに経験されるデータの損失を減らすことを可能にする。
【0057】
別の例示的な技術的効果および利点として、本開示は、コンピュータの効率および再構成品質の面で、改善した画像量子化器を設けることによって、VIMを用いた改善した画像生成および画像理解を実現する。効率的な量子化器はステージ2の訓練を高速化することができ、ここでは、ランダムな拡張が最初に画像に、その後、入力トークンとして画像量子化器のエンコーダに施される。訓練速度を速くすることによって、プロセッサ使用量、メモリ使用量、および/またはネットワーク帯域幅使用量などといったコンピューティングリソースの節約がもたらされる。さらに、よりよい再構成品質を有する画像量子化器は、潜在的に、画素空間中の元々の画像と比較して、情報損失を減らすことができ、このことは、画像理解タスクにとって重要である。こうして、画像理解タスクのコンピュータの性能を改善することができる。
【0058】
ここで図を参照して、本開示の例示的な実施形態がさらに詳細に議論される。
【0059】
例示的なステージ1の技法
図1は、本開示の例示的な実施形態にしたがった、画像のベクトル量子化を実施するための、例示的な機械学習モデルの図を描く。
【0060】
具体的には、図1に示されるように、コンピューティングシステムは、画像14の複数の入力画像パッチ12を得ることができる。
【0061】
コンピューティングシステムは、複数の入力画像パッチ12を機械学習した画像エンコーダ16で処理して、複数の画像トークン18を潜在空間中に生成することができる。複数の画像トークン18は、複数の入力画像パッチ12に対応してよい。機械学習した画像エンコーダ16は、1つまたは複数の自己アテンション動作を実施して複数の入力画像パッチ12を処理し、複数の画像トークン18を潜在空間中に生成することができる。
【0062】
コンピューティングシステムは、複数の候補コードを含む量子化コードブック22に含まれる複数の量子化コード20に、複数の画像トークン18をマッピングすることができる。コンピューティングシステムは、画像の符号化バージョンとして複数の量子化コード20を提供することができる。
【0063】
さらに、いくつかの実装形態では、コンピューティングシステム(すなわち、その、同じまたは異なる構成要素のコンピューティングデバイス)は、複数の量子化コード20を機械学習した画像エンコーダ24で処理して、合成画像28を形成する複数の合成画像パッチ26を生成することができる。
【0064】
コンピューティングシステムは、少なくとも部分的に合成画像に基づいて損失値を提供する損失関数30を評価することができる。損失関数は、ロジットラプラス損失項、L2損失項、知覚損失項、および/または、敵対的生成ネットワーク損失項を含む(たとえば、GAN評価は、30で具体的に図示される一方で、他のものは図示されない)。
【0065】
コンピューティングシステムは、少なくとも部分的に損失関数に基づいて、機械学習した画像エンコーダ16、機械学習した画像デコーダ24、および、複数の候補コード22のうちの1つまたは複数を変更することができる。
【0066】
いくつかの実装形態では、複数の量子化コード20に、複数の画像トークン18をマッピングするステップは、複数の画像トークン18を下位次元空間に投影するステップと、画像トークン18を下位次元空間に投影するステップの後に、複数の画像トークンを量子化コードブックに含まれる複数の量子化コードにマッピングするステップとを含むことができる。量子化コード20は、次いで、デコーダ24が処理する前に、より高い次元空間に戻して再投影することができる。
【0067】
いくつかの実装形態では、複数の画像トークン18を複数の量子化コード20にマッピングするステップは、複数の画像トークン18とコードブック22中の複数の候補コードの一方または両方にL2正則化を適用するステップと、L2正則化を適用するステップの後に、複数の画像トークン18を量子化コードブック22中に含まれる複数の量子化コード20にマッピングするステップとを含むことができる。
【0068】
例示的なステージ2の技法
図2は、本開示の例示的な実施形態にしたがった、画像のベクトル量子化を実施するための、例示的な機械学習モデルの図を描く。
【0069】
具体的には、図2に示されるように、コンピューティングシステムは、画像214の1つまたは複数の入力画像パッチ212を得ることができる。
【0070】
コンピューティングシステムは、1つまたは複数の入力画像パッチ212を機械学習した画像エンコーダ216で処理して、1つまたは複数の画像トークン218を潜在空間中に生成することができる。1つまたは複数の画像トークン218は、1つまたは複数の入力画像パッチ212に対応することができる。機械学習した画像エンコーダ216は、1つまたは複数の自己アテンション動作を実施して1つまたは複数の入力画像パッチ212を処理し、1つまたは複数の画像トークン218を潜在空間中に生成することができる。たとえば、機械学習した画像エンコーダ216は、図1に示されるプロセスにしたがって、訓練または学習されてあってよい。
【0071】
コンピューティングシステムは、複数の候補コードを含む量子化コードブック222に含まれる1つまたは複数の量子化コード220に、1つまたは複数の画像トークン218をマッピングすることができる。たとえば、量子化コードブック222は、図1に示されるプロセスにしたがって学習されてあってよい。
【0072】
さらに、いくつかの実装形態では、コンピューティングシステム(すなわち、その、同じまたは異なる構成要素のコンピューティングデバイス)は、少なくとも部分的に1つまたは複数の量子化コード220に基づいて、量子化コードブック222から、複数の予測されるコード226を自己回帰的に予測するため、1つまたは複数の量子化コード220を機械学習したコード予測モデル224で処理することができる。
【0073】
コンピューティングシステムは、複数の予測されるコード226を機械学習した画像デコーダ228で処理して、合成画像232を形成する複数の合成画像パッチ230を生成することができる。
【0074】
いくつかの実装形態または事例では、コンピューティングシステムは、複数の予測されるコード226に基づいて、負の対数尤度を評価するコード予測損失関数をさらに評価することができる。コンピューティングシステムは、コード予測損失関数に基づいて機械学習したコード予測モデル224の1つまたは複数のパラメータを変更することができる。たとえば、コード予測モデル224は、たとえばコード予測損失関数を使用して、画像のコーパスにわたるトークンの分布を学習するため訓練することができる。
【0075】
いくつかの実装形態では、訓練および/または推測の期間に、機械学習したコード予測モデル224は、合成画像の1つまたは複数の所望の特性を記述する補助条件付けデータで、条件付けることができる。1つの例として、補助条件付けデータは、合成画像232の所望のクラスを記述するクラスラベルを含むことができる。たとえば、図2では、モデル224は、[Cat]のラベルで条件付けされ、その結果、合成画像232がネコを描くが、合成画像232は、画像214と視覚特性を共有する。別の例として、補助条件付けデータは、自然言語テキストトークンおよび/または画像合成に優先権をもたらす任意の他の条件付けデータを含むことができる。
【0076】
図2は、画像生成プロセスが、入力画像214からのパッチ212と、さらにテキスト入力(たとえば、クラスラベル)との両方で条件付けられる例示的な手法を示す。しかし、いくつかの実装形態では、画像生成は、テキストだけで条件付けすることができる。たとえば、図3は、合成画像332の生成が、「怒ったネコ(angry cat)」という自然言語入力334で条件付けられる例を図示する。たとえば、自然言語入力334をトークンへと変換し、次いで、コード予測モデル224への入力として提供することができる。
【0077】
本開示の態様によれば、テキスト条件付けを含む、および/または、テキストからの画像生成タスクを実施するいくつかの実装形態では、コード予測モデル224は、テキスト入力から埋め込むテキストを生成するテキストエンコーダを含むことができる。
【0078】
例として、図4は、コード予測モデル224がテキストエンコーダ402および自己回帰コードセレクタ404を含む例示的な画像生成手法を示す。テキストエンコーダ402は、入力テキスト334を受け取ってテキスト埋込み406を生成することができる。テキスト埋込み406は、自己回帰コードセレクタ404への入力として設けることができる。たとえば、テキスト埋込み406は、自己回帰コードセレクタ404への初期プロンプトトークンとして設けることができる。
【0079】
いくつかの実装形態では、テキストエンコーダ402と自己回帰コードセレクタ404の一方または両方が、トランスフォーマモデルもしくは自己アテンションを実施する他のモデルであってよく、または、トランスフォーマモデルもしくは自己アテンションを実施する他のモデルを含むことができる。いくつかの実装形態では、(たとえば、マスクされた言語モデリング事前訓練手法、対照学習手法、および/または、他の事前訓練手法を使用して)テキストエンコーダを事前訓練することができる。いくつかの実装形態では、テキストエンコーダ402および自己回帰コードセレクタ404のパラメータを(たとえば、コード予測損失関数を使用して)一緒に訓練して、テキストと画像の対を各々が含む、テキストと画像の訓練例の組にわたって、トークンの分布を学習することができる。
【0080】
ViT-VQGANでの例示的なベクトル量子化画像
ベクトル量子化変分オートエンコーダ(VQVAE)は、その潜在空間が個別学習可能変数の行列であり、ストレートスルー推定によって徹底的に訓練されるCNNベースのオートエンコーダである。VQGANは、弁別器によって生成される敵対的損失を導入することによって、VQVAEを改善するモデルである。本明細書では、効率を向上し再構成品質を高めるVQGANへのさらなる改善が実現される。
【0081】
ビジョントランスフォーマでの例示的なVQGAN
画像を符号化して再構成するためVQVAEとVQGANの両方によって使用されるコアネットワークアーキテクチャがCNNである。VQGANは、非局所化アテンションブロックの形のトランスフォーマ状要素を導入して、それが、より少ない層で距離相互作用を取り込むのを可能にする。この本開示の例示的な実装形態は、CNNエンコーダおよびデコーダをビジョントランスフォーマ(ViT)で交換することによって、さらに1ステップ近づく。(ラベル付けされない画像データが多くある)十分なデータが与えられれば、ViT-VQGANは、畳込みによって課される帰納的事前(inductive prior)によって、あまり抑制されないことが見いだされた。さらに、ViT-VQGANは、アクセラレータによりよいコンピュータの効率をもたらし、下のTable 1(表1)に示されるように、より高品質の再構成を生成する。
【0082】
【表1】
【0083】
スループットは、同じ128 CloudTPUv4デバイスでベンチマークされる。
【0084】
ViT-VQGANの例示的なエンコーダは、最初に、8x8の重なり合わない画像パッチを画像トークンへのマッピングし、その後、トランスフォーマブロックが、256x256解像度画像を32x32=1024トークンのシーケンスへと符号化する。例示的なデコーダは逆の動作を実施し、各画像トークンを潜在変数から8x8画像パッチに戻してマッピングし、それらを256x256画像へと再グループ化する。いくつかの実装形態では、トランスフォーマブロックの出力で、中間にtanh活性層を有する2層フィードフォワードネットワークを適用する。いくつかの実装形態では、ViT-VQGANエンコーダまたはデコーダの出力に(ロジットラプラス損失の平均予測を除いて)、活性化は適用されない。いくつかの実装形態では、ロジットラプラス損失に起因してデコーダの平均予測に、シグモイド活性化が適用される。この例示的な手法は、見てわかる格子状アーティファクトのない高品質の再構成をもたらす。
【0085】
例示的なコードブック学習
バニラVQVAEは、通常、コードブックの不十分な初期化に起因して、低いコードブック使用量を被る。したがって、訓練の期間に、コードのかなりの部分がほとんど使用されない、または無効である。有効なコードブックサイズが減少すると、ステージ1の量子化器訓練でより悪い再構成、ステージ2の画像合成で不十分な多用性がもたらされる。結果として、VQGANは、画像合成で最良の結果を得るために、1024のデフォルトコードブックサイズを有する、トップkおよびトップp(核)サンプリング発見法に依拠する。本開示の例示的な実装形態は、8192というより大きいコードブックのサイズでさえ、コードブックの使用量を著しく助長することができる2つの改善を含む。画像合成期間に、例示的な実装形態は、トップkおよびトップp発見法なしに、1.0の温度での簡単なサンプリングを実施する。
【0086】
ベクトル量子化の1つの例示的な訓練目的は、次式のように規定される。
【0087】
【数1】
【0088】
ここで、
【0089】
【数2】
【0090】
は、停止勾配演算子、βは、すべての今回の実験で0.25に設定されたコミットメント損失ハイパーパラメータであり、eは、コードブックベクトルである。いくつかの実装形態では、量子化コードブック索引は、ユークリッド距離の面で入力の特徴ze(x)に最も近いコードブックベクトルを捜すことによって決定され、
【0091】
【数3】
【0092】
がもたらされる。
【0093】
因数分解したコード。本開示のいくつかの例示的な実装形態は、コード索引の検索のため、エンコーダの出力から低次元潜在変数空間への(コード当たり、768dベクトルから32dまたは8dベクトルに減らした)線形投影を含む。これには、コードブック使用量の直接的な増加効果がある。因数分解は、コード索引とコード埋込みを分離するものと見ることができる。いくつかの例示的な実装形態は、より低次元の検索空間上で入力から符号化された最も近い変数を検索し、次いで、一致した潜在コードを高次元埋込み空間に投影する。例示的な実験は、256dから32dへの検索空間の次元を減らすことによって、一貫して、再構成品質が改善されることを示す。
【0094】
l2正則化コード。いくつかの例示的な実装形態は、符号化潜在変数ze(x)およびコードブック潜在変数eにl2正則化をやはり適用する。いくつかの実装形態では、コードブック変数は、正規分布から開始される。球体上にすべての潜在変数をマッピングすることによって、l2正則化した潜在変数
【0095】
【数4】
【0096】
のユークリッド距離は、ze(x)とeの間の2つのベクトルのコサイン類似度に発展し、我々の実験で示される訓練の安定性および再構成品質がさらに改善される。
【0097】
例示的なViT-VQGAN訓練損失
いくつかの例示的な実装形態は、ロジットラプラス損失、l2損失、VGGネットワークに基づいた知覚損失、およびStyleGAN弁別器のアーキテクチャでのGAN損失の組合せを使用する。画像再構成品質、コードブック使用量、FIDおよび開始スコアを最適化するため、損失均衡化重みはハイパーパラメータスイープで構成することができる。スイープ後に、いくつかの例示的な実装形態は、CelebA-HQ、FFHQ、およびImageNetを含むすべてのデータセットに訓練損失のハイパーパラメータの同じ組を適用する。ロジットラプラス損失は、画素レベルのノイズがラプラス分布であると仮定される正則化したl1損失であり、一方で、l2損失は雑音がガウス分布のものであると仮定されるものと見ることができる。ロジットラプラス損失がコードブック使用量に寄与する一方で、l2損失および知覚損失がFIDに著しく寄与することが発見された。デフォルトで使用した最終的な損失の組合せは、L=LVQ+0.1LAdv+0.1LPerceptual+0.1LLogit-laplace+1.0L2である。
【0098】
VGGベースの知覚損失についての1つの仮出願は、VGGネットワークが教師あり分類損失で事前訓練され、そのため、線形プローブ精度測定のため、監視がステージ2に漏れる可能性があるというものである。したがって、報告した教師なし学習結果のすべてについて、いくつかの例示的な実装形態は、ViT-VQGAN訓練期間の知覚損失を除外している。すべての無条件およびクラス条件付き画像合成では、いくつかの例示的な実装形態は、知覚損失で訓練したViT-VQGAN量子化器を使用するので、より高い忠実度の再構成がもたらされる。
【0099】
例示的なベクトル量子化画像モデリング
学習したViT-VQGANを用いて、画像GPTと同様に、ラスタ順でflattenした個別潜在コードidへ画像を符号化することができる。デコーダのみのトランスフォーマモデルを使用して、画像データの密度P(x)を次式のように自己回帰的にモデル化することができる。
【0100】
【数5】
【0101】
ここで、θは学習可能な重みである。訓練目的は、データの負の対数尤度
【0102】
【数6】
【0103】
を最小化することである。
【0104】
Table 2(表2)は、トランスフォーマについての、例示的なアーキテクチャ構成を要約する。いくつかの例示的な実装形態は、最初に、各位置で、個別画像トークンidを学習可能な埋込み空間へ、付加的な学習可能2D位置埋込みと一緒に埋め込む。両方の埋込み次元は、モデル次元と同じである。いくつかの例示的な実装形態は、トランスフォーマブロックのスタックを、入力に、全シーケンスにわたる因果的アテンションで適用する。すべての残りの出力、活性化出力、およびアテンション出力で、0.1のドロップアウト率を使用することができる。すべてのトランスフォーマブロックの最終層で、いくつかの例示的な実装形態が、追加層正則化を適用する。
【0105】
【表2】
【0106】
例示的な画像合成
事前訓練した生成トランスフォーマモデルで、出力ソフトマックス分布から、トークン毎に単にサンプリングすることによって無条件画像生成を達成することができる。定性的結果と定量的結果の両方で使用されるすべてのサンプルは、温度の低下なしに得ることができる。サンプリングしたトークンは、次いで、ViT-VQGANのデコーダに供給されて、出力画像を復号化することができる。例示的なデフォルトのステージ1のViT-VQGANは、解像度256x256の入力画像を、コードブックサイズ8192で、32x32の潜在コードへと符号化する一方で、ステージ2のトランスフォーマは、flattenした画像トークンを1024の合計長で取る。
【0107】
クラス条件付きImageNet生成は、やはり、画像合成のためのモデルの能力を測定するため広く使用されるベンチマークである。いくつかの例示的な実装形態は、画像トークンの前にクラスidトークンを追加することによって、無条件生成をクラス条件付き生成に拡張する。別個の埋込み層がクラスidトークンおよび画像トークンについて最初から学習することができ、埋込み次元はトランスフォーマモデル次元と同じである。サンプリング期間に、クラスidトークンを最初の位置に設けて、残りの画像トークンを自己回帰的に復号することができる。
【0108】
例示的な教師なし学習
画像理解タスクでは、いくつかの例示的な実装形態は、入力のすべての画像トークンを事前訓練したトランスフォーマに供給し、1024のトークンの特徴のシーケンスが得られる。いくつかの例示的な実装形態は、合計ブロックLにわたる特定のブロックlで層出力を取って、(凍結した)トークンの特徴のシーケンスにわたって平均し、(学習可能な)ソフトマックス層を挿入して、平均した特徴をクラスロジットに投影する。いくつかの例示的な実装形態は、iGPTでのような連結した異なるブロック出力の代わりに、1つの特定のトランスフォーマブロック出力を取るだけである。しばしば、線形プローブについての最も弁別する特徴は、典型的には、すべてのトランスフォーマブロックの中間近くにある。
【0109】
例示的なBabeldrawモデル
Babeldrawのいくつかの例示的な実装形態は、画像トークナイザ、ならびに、言語と画像トークンの両方にわたる自己回帰モデルからなる2段階モデルである。
【0110】
例示的な画像トークナイザ
自己回帰テキスト画像モデルは、パッチ表現の1Dシーケンスへの2D画像の線形化のいくつかの形式に依拠する。極限では、これらは単なる画素であるが、これらは、比較的小さい画像でさえ、非常に長いシーケンスをモデリングすることが必要である(たとえば、256x256画像によって、65536のラスタ化画素がもたらされる)。悪いことに、それは、画像のコンテキスト中の画素の位置によって知らされるより豊かなものよりもむしろ、入力の非常に低レベルの表現に基づく。多くの制作物は、生の画像の集合にわたって画像パッチの量子化表現を学習するため、個別変分オートエンコーダを使用することによって上述の問題を解決した。潜在空間中で任意の値をとることができる表現を学習する代わりに、全潜在空間中で学習され索引付けが可能な場所である、その最も近いコードブックのエントリーに埋め込むパッチを嵌める視覚コードブックが学習される。これらのエントリーは、視覚語タイプと考えられ、所与の画像のパッチ中の、これらの語のいずれかの表現がしたがって画像トークンである。
【0111】
第2ステージのモデルに最も有用であるように、画像トークナイザは、(a)広い範囲の画像にわたるそのエントリーのバランスのとれた使用をサポートする効果的な視覚コードブックを学習し、(b)高品質の出力画像として視覚トークンのシーケンスの再構成をサポートするべきである。いくつかの例示的な実装形態は、本明細書に記載される例であるViT-VQGANを使用し、これは、コードブック学習を改善する技法を使用することによって両方の要件、すなわち、訓練安定性、再構成品質、およびコードブック使用量に寄与する正則化および因数分解したコードに対処する。
【0112】
Babeldrawの画像トークナイザでは、いくつかの例示的な実装形態は、ViT-VQGANを上で記載したように訓練するが、(たとえば、ImageNet、CelebA-HQ、またはFFHQの代わりに)より大きい画像テキスト訓練データ中の画像を使用する。いくつかの例示的な実装形態は、最初にViT-VQGAN-Small構成(8ブロック、8ヘッド、モデル次元数512、および隠れ次元数2048)を訓練し、コードブック用に8192の画像トークンクラスを学習する。第2ステージのエンコーダデコーダ訓練のみが、学習した量子化器のエンコーダおよびコードブックに依拠することに留意されたい。再構築した画像の視覚感度をさらに改善するため、いくつかの例示的な実装形態は、訓練後にエンコーダおよびコードブックを凍結し、より大きいサイズ(32ブロック、16ヘッド、モデル次元数1280、および隠れ次元数5120)のデコーダで微調整する。画像トークナイザの入力と出力の両方は、解像度256x256のものであってよい。
【0113】
いくつかの例示的な実装形態は、画像の一部で拡大すると、ViT-VQGANの出力でピクセル化パターン(飽和した画素値)を呈示する。この問題を解決するため、いくつかの例示的な実装形態は、最後のシグモイド層を除去し、生の値を([0,1]の範囲の)RGB画素値として公開する。好都合なことに、この修正は、デコーダを微調整することによって、既に訓練されたモデルにホットスワップすることができる。
【0114】
加えて、解像度256x256の画像が、コンテンツ、構造、およびテクスチャのほとんどを取り込む一方で、512x512または1024x1024のような高解像度画像でより視覚的に満足度が上がる。この目的で、いくつかの例示的な実装形態は、画像トークナイザの上で単なる超解像度モジュールを活用する。残りの接続を有するスタックした畳込み層は、超解像度ネットワークモジュールとして使用することができる。それは、再構築画像からより高解像度の再構築画像へとマッピングするため、同じ損失(知覚損失、StyleGAN損失、およびL2損失)のViT-VQGANで学習することができる。拡散モデルは、ここで、テキスト入力に、条件付けありまたはなしのいずれかでの、反復洗練超解像度モジュールとして使用することもできることに留意されたい。
【0115】
例示的なエンコーダデコーダでのテキストからの画像
いくつかの例示的な実装形態では、標準的エンコーダデコーダトランスフォーマモデルは、テキストから画像を、シーケンスからシーケンスのモデリング問題として取り扱うことによって、第2のステージで訓練される。モデルは、テキストを入力として取って、第1のステージの画像トークナイザから生成される画像潜在コードの次トークン予測を使用して訓練される。推測時に、モデルは、自己回帰的に画像トークンをサンプリングすることができ、これらは、後に、以前に学習した画像トークナイザのデコーダを使用して画素へと復号される。
【0116】
テキストプロンプトは、最長128に切り捨てることができ、解像度256x256の画像は、長さ1024(32x32)のトークンに符号化することができる。いくつかの例示的な実装形態は、交差エントロピー損失で訓練し、一定減衰する第2モーメント因子(ベータ1=0.9、ベータ2=0.96)を用いてint8量子化Adafactorオプティマイザを使用する。データタイプは、bfloat16またはアテンション投影(attention projection)およびフィードフォワードトランスフォーマ層に落とすことができる一方で、すべての層ノルムおよびモデル出力はfloat32に保つことができる。すべてのモデルは、conv-shapedマスクスパースアテンションを使用することができ、いくつかの例示的な実装形態は、3億5千万から200億パラメータの範囲の4つのサイズの変形形態を訓練する。
【0117】
既存の2段階テキスト画像生成モデルのほとんどは、デコーダのみのモデルである。3億5千万から7億5千万パラメータのスケールでの早期調査では、Babeldrawのエンコーダデコーダ変形形態が、訓練損失およびテキストからの画像生成品質の面の両方で、デコーダのみのものを凌いでいたことがわかった。
【0118】
例示的なテキストエンコーダ事前訓練
エンコーダデコーダアーキテクチャは、画像トークン生成からテキスト符号化を分離する。したがって、いくつかの例示的な実装形態は、事前訓練したテキストエンコーダでモデルをウォームスタートするための直接的な方法をやはり含む。直観的に、視覚合成のためのよいテキストエンコーダは、視覚的にしっかりしたプロンプトに加えて一般的な言語理解が可能であるべきである。いくつかの例示的な実装形態は、2つのデータセットすなわち、BERT事前訓練目標でのColossal Clean Crawled Corpus (C4)と、対照的な学習目標での画像テキストデータセット上で、テキストエンコーダを事前訓練する。事前訓練の後に、いくつかの例示的な実装形態は、8192の個別画像トークンの語彙についてのソフトマックス交差エントロピー損失でテキストからの画像生成についてエンコーダとデコーダの両方を訓練し続ける。
【0119】
例示的な分類器なしの案内および再ランキング
分類器なしの案内は、通常では、事前訓練した分類器なしで拡散モデルのサンプル品質を改善する状況で使用される。このセットアップでは、生成モデルGは無条件生成G(z)(ここで、zはランダムなノイズを表す)および条件付き生成G(z,c)(ここで、cは、今回の場合の言語記載などといったいくつかの条件を表す)を実施することが可能となるように訓練される。それは、ある確率で、ランダムに省かれた(マスクで隠した、または、学習した埋込みに切り替えた)条件付きベクトルとして単に実装される。次いで、推測プロセス期間に、無条件予測と条件付き予測の線形の組合せを使用することによって出力Iのサンプリングが行われる。
I=G(z)+λ(G(z, c)-G(z)) (3)
ここで、λは、分類器なしの案内の重みを表すハイパーパラメータである。直観的に、それは、サンプルの無条件尤度を減少させる一方で、条件付き尤度を上昇し、このことは、条件に対して生成されたサンプルの整合を改善すると見ることができる。
【0120】
分類器なしの案内は、大きい効果があって、テキストからの画像生成のために自己回帰モデルの状況で同様に適用されている。1つの例示的な手法は、モデルを微調整する一方で、テキストプロンプトをパディングトークンでランダムに交換する。推測期間に、(パディングトークンで条件付けされた)無条件モデルおよび元々のテキストプロンプトで条件付けされたモデルからサンプリングされたロジットの線形の組合せが取られる。
【0121】
いくつかの例示的な実装形態は、Babeldrawに分類器なしの案内をやはり適用し、それが出力品質、特に難しいテキストプロンプトに正の影響を有することが見いだされる。いくつかの例示的な実装形態は、モデルを100000ステップの間に微調整し、テキストプロンプトをパディングトークンでランダムに交換する。サンプリング期間に、いくつかの例示的な実装形態は、無条件ロジットおよび条件付きロジットの線形の組合せからのロジットからサンプリングする。
【0122】
いくつかの例示的な実装形態は、テキストプロンプト毎に16の画像をサンプリングする。各出力について、いくつかの例示的な実装形態は、対照的字幕入力者(Contrastive Captioners)モデル(CoCa)の画像およびテキスト埋込みの整合スコアに基づいて、再度ランク付けする。CoCaベースサイズモデルは、同じデータセット上で訓練することができる。画像の小さい組にわたる再ランク付けは、テキストからの画像生成サンプリングでは、コンピュータ的には安価となることは、注目すべきである。
【0123】
例示的なスケーリング手法
いくつかの例示的な実装形態は、GSPMDおよびLingvoフレームワークを使用して、訓練と推測の両方のため、CloudTPUv4ハードウェア上でモデルをスケーリングする。GSPMDは、XLAコンパイラベースモデルパーティショニングシステムであり、TPUのクラスタを単一の仮想デバイスとして取り扱い、数テンソル上のシャーディングアノテーションを使用して、コンパイラに、データを自動的に分散して、数千のデバイス上で計算するのを命じることを可能にする。
【0124】
訓練。350Mと750Mモデルの両方で、いくつかの例示的な実装形態は、単に、モデルをデータ並列性で訓練する。3Bモデルでは、いくつかの例示的な実装形態は、4方向インレイヤモデル並列性、および128方向データ並列性を使用する。各テンソル中の単一の次元をパーティショニングすることで、3Bモデルをスケーリングするには十分である。モデルの重みは、フィードフォワード隠れ次元およびアテンションヘッド次元の数上でパーティショニングすることができ、フィードフォワード層およびアテンション層の内部活性テンソルは、隠れ次元およびヘッド次元上でパーティショニングすることもできるが、Megatron-LMからの差異は、いくつかの例示的な実装形態が、異なる次元上でフィードフォワード層およびアテンション層の出力活性をやはり完全にパーティショニングすることである(それらは、隠れ/ヘッド次元を有さない)。この方式によって、AllReduceの代わりにReduceScatterおよびAllGather通信パターンがもたらされ、これによって、ピーク活性メモリが著しく減少される。
【0125】
1つの例として、図6は、本開示の例示的な実施形態にしたがった、モデル訓練をスケーリングする例示的な手法の図を描く。特に、図6は、例示的な3Bモデル訓練をスケーリングする完全にパーティショニングした活性を有する4方向インレイヤモデル並列性の図である。図6は、(シーケンス次元が省略された)簡略化したトランスフォーマフィードフォワード層を示し、各陰影は1つのデバイス上のデータを表す。いくつかの例示的な実装形態は、128方向データ並列性を追加で使用する。
【0126】
1つの例示的な20Bモデルは、16のエンコーダ層および64のデコーダ層を有する。各層における重みのサイズは(非常に広いとは反対の)中程度であり、これが、スケーリング用の良好なオプションであるパイプライン並列性となる。一般パイプラインラッパー層が実装されて、例示的な実装形態が、1段階プログラムを規定するのを可能にする。これは、後で、多段階パイプラインプログラムへと自動的に変換される。ラッパー層は、ベクトル化およびシフトバッファを使用して、テンソルパーティショニング問題へのパイプライン化を減少させ、したがって、すべての低レベルインフラストラクチャーをパイプライン化のために再使用することができる。GSPMDパイプラインの採用からは2つのさらなる利点がある。(1)このことによって、例示的な実装形態が、モデルの下位構成要素内にパイプラインを好都合に構成することが可能になり、このことによって、エンコーダデコーダモデルの全体的な複雑さが簡略化される。および、(2)パイプライン化はベクトル化プログラム上でテンソルパーティショニングとして実施されるために、例示的な実装形態は、トランスフォーマ層の外側の、他のタイプの並列性用に、デバイスの同じ組を再使用することができる。
【0127】
1つの例として、図7は、本開示の例示的な実施形態にしたがった、例示的なモデル並列処理手法の図を描く。特に、図7は、例示的な20Bモデル訓練をスケーリングするための、例示的な16段階GSPMDパイプラインの図を描く。図7は、どのようにして16のデバイスが、量子化器、埋込み、およびソフトマックス層でデータ並列性のために使用されるが、エンコーダおよびデコーダ層中でパイプライン化のために再目的化されるかを示す。各陰影は、1つのデバイスに割り当てられるデータまたは層を表す。デコーダは、パイプラインバブル比率をさらに低下させるため、4ラウンドの円形スケジュールを使用する。この上、例示的な実装形態は、すべての層について、64方向データ並列性を追加で使用する。
【0128】
いくつかの例示的な実装形態は、その各々が16段階を有する別個のエンコーダおよびデコーダパイプラインをモデルが有するように構成される。いくつかの例示的な実装形態は、訓練を高速化するためのパイプライン化に加えて、64方向データ並列性をやはり使用する。しかし、そのことによってコア毎のバッチサイズが小さくなり、過剰なパイプラインバブルのさらなる課題にさらされる。パイプラインバブルの比率を減らすため、いくつかの例示的な実装形態は、デコーダパイプライン中に円形スケジュールを適合させ、各段で4つの層がラウンドロビン順に実行される。エンコーダおよびデコーダ以外で、いくつかの例示的な実装形態は、デバイスの同じ組を使用して、埋込み、ソフトマックス、および画像トークナイザ層についてのパイプライン化の代わりにデータ並列化を行う。
【0129】
訓練期間に、Adafactorオプティマイザを使用して、ベータ1=0.9、ベータ2=0.96、および4.5e-2の分離重み減衰値でメモリを節約することができる。オプティマイザスロット変数の第1のモーメントは、float32からint8に、追加で量子化される。いくつかの例示的な実装形態は、エンコーダとデコーダの両方で、すべてのモデルについて、0.1のデフォルトドロップアウト率を使用する。ドロップアウト層の決定性バージョンが20Bモデル中で使用されて、モデルパイプライン化を可能にすることができる。いくつかの例示的な実装形態は、4.5e-5のデフォルト学習率および5000のウォームアップステップでの指数学習率スケジュールを使用する。指数減衰は、合計450000ステップを有する訓練ステップ85000で開始し、0.025の最終的減衰率となる。いくつかの例示的な実装形態は、デバイスメモリを節約するために、モデル重みの指数移動平均を使用しない。テキスト符号化では、いくつかの例示的な実装形態は、訓練データのサブセット上に、16000の語彙サイズのsentence-pieceモデルを構築する。Conv-shapedスパースアテンションを、デコーダトランスフォーマ中で使用することができる。いくつかの例示的な実装形態は、特に開始時に訓練を安定化させるため、勾配ノルムを4.0の値に追加でクリップする。エンコーダとデコーダの両方の出力で、いくつかの例示的な実装形態は、追加層正則化層を適用する。
【0130】
推測。推測最適化のための1つの主たるゴールは、小さいバッチ画像生成を高速化することである。いくつかの例示的な実装形態は、3Bモデルと20Bモデルの両方について、インレイヤモデル並列性を選択する。訓練とは反対に、いくつかの例示的な実装形態は、推測のためのフィードフォワードおよびアテンション層について出力活性を完全にはパーティショニングしない。これは、(1)自己回帰的復号化の各ステップがはるかに小さいテンソルを生成し、(書込みのときに)AllReduceは、小さいデータ上でより良好に実行されること、(2)活性メモリは推測期間に関係がなく、後方への受渡がないことのためである。
【0131】
例示的なデバイスおよびシステム
図8Aは、本開示の例示的な実施形態にしたがった、例示的なコンピューティングシステム100のブロック図を描く。システム100は、ネットワーク180を介して通信可能に結合されるユーザコンピューティングデバイス102、サーバコンピューティングシステム130、訓練コンピューティングシステム150を含む。
【0132】
ユーザコンピューティングデバイス102は、たとえば、個人用コンピューティングデバイス(たとえば、ラップトップまたはデスクトップ)、移動体コンピューティングデバイス(たとえば、スマートフォンまたはタブレット)、ゲーム用コンソールまたはコントローラ、装着型コンピューティングデバイス、埋込みコンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなどといった任意のタイプのコンピューティングデバイスであってよい。
【0133】
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112およびメモリ114を含む。1つまたは複数のプロセッサ112は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってよく、1つのプロセッサまたは動作可能に接続される複数のプロセッサであってよい。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの1つまたは複数の非一時的コンピュータ可読記憶媒体およびそれらの組合せを含むことができる。メモリ114は、データ116および命令118を記憶することができる。命令118は、プロセッサ112が実行して、ユーザコンピューティングデバイス102に動作を実施させる。
【0134】
いくつかの実装形態では、ユーザコンピューティングデバイス102は、1つまたは複数の機械学習モデル120を、記憶または含むことができる。たとえば、機械学習モデル120は、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)または非線形モデルおよび/もしくは線形モデルを含む他のタイプの機械学習モデルなど様々な機械学習モデルであってよく、さもなくば含むことができる。ニューラルネットワークは、フィードフォワードニューラルネットワーク、回帰型ニューラルネットワーク(たとえば、長短期記憶回帰型ニューラルネットワーク)、畳込みニューラルネットワーク、またはニューラルネットワークの他の形式を含むことができる。いくつかの例示的な機械学習モデルは、自己アテンションなどといったアテンションメカニズムを活用することができる。たとえば、いくつかの例示的な機械学習モデルは、マルチヘッド自己アテンションモデル(たとえば、トランスフォーマモデル)を含むことができる。例示的な機械学習モデル120は、図1および図2を参照して議論される。
【0135】
いくつかの実装形態では、1つまたは複数の機械学習モデル120は、ネットワーク180を介してサーバコンピューティングシステム130から受け取り、ユーザコンピューティングデバイスメモリ114中に記憶し、次いで、1つまたは複数のプロセッサ112によって使用さもなくば実装することができる。いくつかの実装形態では、ユーザコンピューティングデバイス102は、単一の機械学習モデル120の複数の並列インスタンスを(たとえば、画像の複数のインスタンスにわたる並列画像量子化を実施するため)実装することができる。
【0136】
追加または代替として、1つまたは複数の機械学習モデル140は、クライアントサーバ関係にしたがって、ユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130が含むこと、さもなくば記憶して実装することができる。たとえば、機械学習モデル140は、ウェブサービスの一部(たとえば、画像量子化、理解、および/または生成サービス)としてサーバコンピューティングシステム140が実装することができる。したがって、1つもしくは複数のモデル120をユーザコンピューティングデバイス102で記憶して実装することができる、および/または、1つまたは複数のモデル140をサーバコンピューティングシステム130で記憶して実装することができる。
【0137】
ユーザコンピューティングデバイス102は、ユーザ入力を受け取る1つまたは複数のユーザ入力構成要素122をやはり含むことができる。たとえば、ユーザ入力構成要素122は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)の接触を感知する、接触感知構成要素(接触感知表示スクリーンまたはタッチパッド)であってよい。接触感知構成要素は、仮想キーボードを実装するように働くことができる。他の例示的なユーザ入力構成要素としては、マイクロフォン、伝統的なキーボード、またはユーザがユーザ入力を提供できる他の手段が挙げられる。
【0138】
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132およびメモリ134を含む。1つまたは複数のプロセッサ132は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってよく、1つのプロセッサまたは動作可能に接続される複数のプロセッサであってよい。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの1つまたは複数の非一時的コンピュータ可読記憶媒体およびそれらの組合せを含むことができる。メモリ134は、データ136および命令138を記憶することができる。命令138は、プロセッサ132が実行して、サーバコンピューティングシステム130に動作を実施させる。
【0139】
いくつかの実装形態では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含む、さもなくば、1つまたは複数のサーバコンピューティングデバイスによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、順次型コンピューティングアーキテクチャ、並列型コンピューティングアーキテクチャ、またはそれらの何らかの組合せにしたがって動作することができる。
【0140】
上で記載したように、サーバコンピューティングシステム130は、1つまたは複数の機械学習モデル140を記憶すること、さもなくば含むことができる。たとえば、モデル140は様々な機械学習モデルであってよく、さもなくば含むことができる。例示的な機械学習モデルとしては、ニューラルネットワークまたは他の多層非線形モデルが挙げられる。例示的なニューラルネットワークとしては、フィードフォワードニューラルネットワーク、ディープニューラルネットワーク、回帰型ニューラルネットワーク、および畳込みニューラルネットワークが挙げられる。いくつかの例示的な機械学習モデルは、自己アテンションなどといったアテンションメカニズムを活用することができる。たとえば、いくつかの例示的な機械学習モデルは、マルチヘッド自己アテンションモデル(たとえば、トランスフォーマモデル)を含むことができる。例示的なモデル140は、図1および図2を参照して議論される。
【0141】
ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130は、ネットワーク180を介して通信可能に結合される訓練コンピューティングシステム150を用いた相互参照を介して、モデル120および/または140を訓練することができる。訓練コンピューティングシステム150は、サーバコンピューティングシステム130とは別個であってよく、または、サーバコンピューティングシステム130の一部であってよい。
【0142】
訓練コンピューティングシステム150は、1つまたは複数のプロセッサ152およびメモリ154を含む。1つまたは複数のプロセッサ152は、任意の好適な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってよく、1つのプロセッサまたは動作可能に接続される複数のプロセッサであってよい。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどの1つまたは複数の非一時的コンピュータ可読記憶媒体およびそれらの組合せを含むことができる。メモリ154は、データ156および命令158を記憶することができる。命令158は、プロセッサ152が実行して、訓練コンピューティングシステム150に動作を実施させる。いくつかの実装形態では、訓練コンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含む、さもなくば、1つまたは複数のサーバコンピューティングデバイスによって実装される。
【0143】
訓練コンピューティングシステム150は、ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130に記憶される機械学習モデル120および/または140を、たとえば誤差の後方伝播などといった様々な訓練または学習技法を使用して訓練するモデルトレーナ160を含むことができる。たとえば、損失関数をモデルを通して後方伝播して、(たとえば、損失関数の勾配に基づいて)モデルの1つまたは複数のパラメータを更新することができる。様々な損失関数は、平均2乗誤差、尤度損失、交差エントロピー損失、ヒンジ損失、および/または、様々な他の損失関数などを使用することができる。勾配下降技法を使用して、いくつかの訓練の繰返しにわたってパラメータを繰り返して更新することができる。
【0144】
いくつかの実装形態では、誤差の後方伝播を実施するステップが、経時的に切り捨てた後方伝播を実施するステップを含むことができる。モデルトレーナ160は、いくつかの一般化技法(たとえば、重み減衰、ドロップアウトなど)を実施して、訓練されるモデルの一般化能力を改善することができる。
【0145】
特に、モデルトレーナ160は、訓練データ162の組に基づいて、機械学習モデル120および/または140を訓練することができる。訓練データ162は、たとえば、教師なしおよび/または教師あり訓練画像を含むことができる。
【0146】
いくつかの実装形態では、ユーザが承諾を行う場合、訓練例は、ユーザのコンピューティングデバイス102によって提供することができる。したがって、そのような実装形態では、ユーザのコンピューティングデバイス102に提供されるモデル120は、ユーザコンピューティングデバイス102から受け取ったユーザ専用データで訓練コンピューティングシステム150によって訓練することができる。いくつかの事例では、このプロセスは、モデルを個別化するステップと呼ぶことができる。
【0147】
モデルトレーナ160は、所望の機能性を実現するため利用されるコンピュータ論理を含む。モデルトレーナ160は、ハードウェア、ファームウェア、および/または汎用プロセッサを制御するソフトウェアで実装することができる。たとえば、いくつかの実装形態では、モデルトレーナ160は、記憶デバイスに記憶され、メモリへとロードされて、1つまたは複数のプロセッサが実行するプログラムファイルを含む。他の実装形態では、モデルトレーナ160は、RAM、ハードディスク、または光学もしくは磁気媒体などの有形のコンピュータ可読記憶媒体に記憶される、コンピュータ実行可能命令の1つまたは複数の組を含む。
【0148】
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなどの任意のタイプの通信ネットワークであってよく、任意の数の有線またはワイヤレスリンクを含むことができる。一般的に、ネットワーク180上の通信は、種々多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または、保護方式(たとえば、VPN、セキュアHTTP、SSL)を使用した、任意のタイプの有線および/またはワイヤレス接続を介して搬送することができる。
【0149】
本明細書に記載される機械学習モデルは、様々なタスク、用途、および/または使用例で使用することができる。
【0150】
いくつかの実装形態では、本開示の機械学習モデルへの入力は、画像データであってよい。機械学習モデルは、画像データを処理して出力を生成することができる。例として、機械学習モデルは、画像データを処理して画像認識出力(たとえば、画像データの認識、画像データの潜在埋込み、画像データの符号化表現、画像データのハッシュなど)を生成することができる。別の例として、機械学習モデルは、画像データを処理して、画像セグメント化出力を生成することができる。別の例として、機械学習モデルは、画像データを処理して、画像分類出力を生成することができる。別の例として、機械学習モデルは、画像データを処理して、画像データ変形出力(たとえば、画像データの改変など)を生成することができる。別の例として、機械学習モデルは、画像データを処理して、符号化画像データ出力(たとえば、画像データの符号化および/または圧縮表現など)を生成することができる。別の例として、機械学習モデルは、画像データを処理して、高品質画像データ出力を生成することができる。別の例として、機械学習モデルは、画像データを処理して、予測出力を生成することができる。
【0151】
いくつかの実装形態では、本開示の機械学習モデルへの入力が潜在符号化データ(たとえば、入力の潜在空間表現)であってよい。機械学習モデルは、潜在符号化データを処理して出力を生成することができる。例として、機械学習モデルは、潜在符号化データを処理して認識出力を生成することができる。別の例として、機械学習モデルは、潜在符号化データを処理して再構成出力を生成することができる。別の例として、機械学習モデルは、潜在符号化データを処理して検索出力を生成することができる。別の例として、機械学習モデルは、潜在符号化データを処理して再クラスタ化出力を生成することができる。別の例として、機械学習モデルは、潜在符号化データを処理して予測出力を生成することができる。
【0152】
いくつかの場合に、機械学習モデルは、信頼できるおよび/もしくは効率的な伝達または記憶(および/または、対応する復号化)のために、入力データを符号化するステップを含むタスクを実施するように構成することができる。たとえば、タスクは、音声圧縮タスクであってよい。入力が音声データを含んでよく、出力が圧縮音声データを含んでよい。別の例では、入力が視覚データ(たとえば、1つまたは複数の画像または動画)を含み、出力が圧縮視覚データを含み、タスクが視覚データ圧縮タスクである。別の例では、タスクは、入力データ(たとえば、入力音声または視覚データ)用に埋込みを生成するステップを含むことができる。
【0153】
いくつかの場合に、入力が視覚データを含み、タスクは、コンピュータビジョンタスクである。いくつかの場合に、入力は1つまたは複数の画像用に画素データを含み、タスクは、画像処理タスクである。たとえば、画像処理タスクが画像分類であってよく、出力がスコアの組であり、各スコアが異なるオブジェクトクラスに対応し、1つまたは複数の画像がオブジェクトクラスに属するオブジェクトを描く尤度を表す。画像処理タスクがオブジェクト検出であってよく、画像処理出力は、1つまたは複数の画像中の1つまたは複数の領域、および、各領域について、その領域が対象のオブジェクトを描く尤度を識別する。別の例として、画像処理タスクが画像セグメント化であってよく、画像処理出力は、1つまたは複数の画像中の各画素について、予め規定されたカテゴリーの組の中の各カテゴリーについてのそれぞれの尤度を規定する。たとえば、カテゴリーの組は、前景と背景であってよい。別の例として、カテゴリーの組は、オブジェクトクラスであってよい。別の例として、画像処理タスクが深度推定であってよく、画像処理出力は、1つまたは複数の画像中の各画素について、それぞれの深度値を規定する。別の例として、画像処理タスクが動き推定であってよく、ネットワーク入力が複数の画像を含み、画像処理出力は、入力画像の1つの各画素について、ネットワーク入力中の画像間の画素で描かれる光景の動きを規定する。
【0154】
図8Aは、本開示を実装するため使用できる1つの例示的なコンピューティングシステムを図示する。他のコンピューティングシステムを同様に使用することができる。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス102は、モデルトレーナ160および訓練データセット162を含むことができる。そのような実装形態では、モデル120は、ユーザコンピューティングデバイス102で局所的に訓練と使用の両方を行うことができる。そのような実装形態の一部では、ユーザコンピューティングデバイス102がモデルトレーナ160を実装して、ユーザ専用データに基づいてモデル120を個別化することができる。
【0155】
図8Bは、本開示の例示的な実施形態にしたがって実施する、例示的なコンピューティングデバイス10のブロック図を描く。コンピューティングデバイス10は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0156】
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1からN)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習モデルを含む。たとえば、各アプリケーションが機械学習モデルを含んでよい。例示的なアプリケーションとしては、テキストメッセージアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどが挙げられる。
【0157】
図8Bに図示されるように、各アプリケーションは、たとえば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態構成要素、および/またはさらなる構成要素などの、コンピューティングデバイスのいくつかの他の構成要素と通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使用して各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションが使用するAPIは、そのアプリケーションに専用である。
【0158】
図8Cは、本開示の例示的な実施形態にしたがって実施する、例示的なコンピューティングデバイス50のブロック図を描く。コンピューティングデバイス50は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0159】
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1からN)を含む。各アプリケーションは、中央インテリジェンス層と通信する。例示的なアプリケーションとしては、テキストメッセージアプリケーション、電子メールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどが挙げられる。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使用して、中央インテリジェンス層(およびそこに記憶されるモデル)と通信することができる。
【0160】
中央インテリジェンス層は、いくつかの機械学習モデルを含む。たとえば、図8Cに図示されるように、それぞれの機械学習モデルを各アプリケーション用に設けて、中央インテリジェンス層が管理することができる。他の実装形態では、2つ以上のアプリケーションが単一の機械学習モデルを共有する場合がある。たとえば、いくつかの実装形態では、中央インテリジェンス層は、アプリケーションのすべてについて単一のモデルを設けることができる。いくつかの実装形態では、中央インテリジェンス層は、コンピューティングデバイス50のオペレーティングシステム内に含まれる、さもなくばコンピューティングデバイス50のオペレーティングシステムによって実装される。
【0161】
中央インテリジェンス層は、中央デバイスデータ層と通信することができる。中央デバイスデータ層は、コンピューティングデバイス50用のデータの集中リポジトリであってよい。図8Cに図示されるように、中央デバイスデータ層は、たとえば、1つまたは複数のセンサ、コンテキストマネージャ、デバイス状態構成要素、および/またはさらなる構成要素などの、コンピューティングデバイスのいくつかの他の構成要素と通信することができる。いくつかの実装形態では、中央デバイスデータ層は、API(たとえば、プライベートAPI)を使用して各デバイス構成要素と通信することができる。
【0162】
さらなる開示
本明細書で議論される技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースシステムへの参照を行うと同様にそのようなシステムとの間でアクションを行い情報を送信する。コンピュータベースシステムが本来有するフレキシビリティによって、構成要素間のタスクおよび機能性の、多種多様な可能な構成、組合せ、および区分けが可能になる。たとえば、本明細書で議論されるプロセスは、単一のデバイスもしくは構成要素、または、組合せで働く複数のデバイスもしくは構成要素を使用して実装することができる。データベースおよびアプリケーションは、単一のシステム上に実装すること、または、複数のシステムにわたって分散することができる。分散される構成要素は、順次または並列に動作することができる。
【0163】
本主題がその様々な具体的な例示の実装形態に関して詳細に記載されている一方で、各例は、本開示の限定ではなく例として提供される。当業者は、上記の理解を得れば、そのような実施形態に対する改変形態、変形形態、および等価物を容易に作成することができる。したがって、本主題の開示は、当業者に容易に明らかとなる本主題に対する、そのような修正形態、変形形態、および/または付加形態を包含することを排除しない。たとえば、1つの実施形態の部分として説明または記載される特徴を、別の実施形態と一緒に使用して、またさらなる実施形態を生み出すことができる。したがって、本開示は、そのような改変形態、変形形態、および等価物をカバーすることが意図される。
【符号の説明】
【0164】
10 コンピューティングデバイス
12 入力画像パッチ
16 トランスフォーマエンコーダ、画像エンコーダ
18 画像トークン
20 量子化コード
22 コードブック、量子化コードブック、候補コード
24 トランスフォーマデコーダ、画像デコーダ
26 合成画像パッチ
28 合成画像
30 損失関数
50 コンピューティングデバイス
102 ユーザコンピューティングデバイス
112 プロセッサ
114 メモリ
116 データ
118 命令
120 機械学習モデル
122 ユーザ入力構成要素
130 サーバコンピューティングシステム
132 プロセッサ
134 メモリ
136 データ
138 命令
140 機械学習モデル
150 訓練コンピューティングシステム
152 プロセッサ
154 メモリ
156 データ
158 命令
160 モデルトレーナ
162 訓練データ、訓練データセット
180 ネットワーク
212 入力画像パッチ
214 入力画像
216 トランスフォーマエンコーダ、画像エンコーダ
218 画像トークン
222 コードブック
224 コード予測モデル
226 予測されるコード
228 トランスフォーマエンコーダ、画像デコーダ
230 合成画像パッチ
232 合成画像
332 合成画像
334 自然言語入力、入力テキスト
402 テキストエンコーダ
404 自己回帰コードセレクタ
406 テキスト埋込み
図1
図2
図3
図4
図5
図6
図7
図8A
図8B
図8C
【手続補正書】
【提出日】2024-06-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
画像のベクトル量子化を実施するコンピュータ実装される方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、画像の複数の入力画像パッチを得るステップと、
前記コンピューティングシステムによって、前記複数の入力画像パッチを機械学習した画像エンコーダで処理し、複数の画像トークンを潜在空間中に生成するステップであって、前記複数の画像トークンが前記複数の入力画像パッチに対応し、前記機械学習した画像エンコーダが、1つまたは複数の自己アテンション動作を実施して前記複数の入力画像パッチを処理し、前記複数の画像トークンを前記潜在空間中に生成する、ステップと、
前記コンピューティングシステムによって、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、前記複数の画像トークンをマッピングするステップと、
前記コンピューティングシステムによって、前記画像の符号化バージョンとして前記複数の量子化コードを提供するステップと
を含む、コンピュータ実装される方法。
【請求項2】
前記機械学習した画像エンコーダがビジョントランスフォーマモデルを備える、請求項1に記載のコンピュータ実装される方法。
【請求項3】
前記機械学習した画像エンコーダが前記複数の入力画像パッチに前記1つまたは複数の自己アテンション動作のうちの1つを実施する、請求項1に記載のコンピュータ実装される方法。
【請求項4】
前記コンピューティングシステムによって、前記複数の量子化コードを機械学習した画像デコーダで処理して、合成画像を形成する複数の合成画像パッチを生成するステップと、
前記コンピューティングシステムによって、少なくとも部分的に前記合成画像に基づいて損失値を提供する損失関数を評価するステップと、
前記コンピューティングシステムによって、少なくとも部分的に前記損失関数に基づいて、前記機械学習した画像エンコーダ、前記機械学習した画像デコーダ、および、前記複数の候補コードのうちの1つまたは複数を変更するステップと
をさらに含む、請求項1に記載のコンピュータ実装される方法。
【請求項5】
前記機械学習した画像デコーダがビジョントランスフォーマモデルを備える、請求項4に記載のコンピュータ実装される方法。
【請求項6】
前記損失関数が、
ロジットラプラス損失項、
L2損失項、
知覚損失項、および
敵対的生成ネットワーク損失項
を含む、請求項4に記載のコンピュータ実装される方法。
【請求項7】
前記コンピューティングシステムによって、前記複数の候補コードを含む前記量子化コードブックに含まれる前記複数の量子化コードに、前記複数の画像トークンをマッピングするステップが、
前記コンピューティングシステムによって、前記複数の画像トークンを下位次元空間に投影するステップと、
前記画像トークンを前記下位次元空間に投影するステップの後に、前記コンピューティングシステムによって、前記量子化コードブックに含まれる前記複数の量子化コードに、前記複数の画像トークンをマッピングするステップと
を含む、請求項1に記載のコンピュータ実装される方法。
【請求項8】
前記コンピューティングシステムによって、前記複数の候補コードを含む前記量子化コードブックに含まれる前記複数の量子化コードに、前記複数の画像トークンをマッピングするステップが、
前記コンピューティングシステムによって、前記複数の画像トークンと前記複数の候補コードの一方または両方にL2正則化を適用するステップと、
前記L2正則化を適用するステップの後に、前記コンピューティングシステムによって、前記量子化コードブックに含まれる前記複数の量子化コードに、前記複数の画像トークンをマッピングするステップと
を含む、請求項1に記載のコンピュータ実装される方法。
【請求項9】
機械学習したコード予測モデルを使用する前記コンピューティングシステムによって、少なくとも部分的に前記複数の量子化コードのうちの1つまたは複数に基づいて前記量子化コードブックから複数の予測されるコードを自己回帰的に予測するステップと、
前記コンピューティングシステムによって、機械学習した画像デコーダで前記複数の予測されるコードを処理して、合成画像を形成する複数の合成画像パッチを生成するステップと
をさらに含む、請求項1に記載のコンピュータ実装される方法。
【請求項10】
前記コンピューティングシステムによって、前記複数の予測されるコードに基づいて負の対数尤度を評価するコード予測損失関数を評価するステップと、
前記コンピューティングシステムによって、前記コード予測損失関数に基づいて前記機械学習したコード予測モデルの1つまたは複数のパラメータを変更するステップと
をさらに含む、請求項9に記載のコンピュータ実装される方法。
【請求項11】
前記機械学習したコード予測モデルを使用する前記コンピューティングシステムによって、前記複数の予測されるコードを自己回帰的に予測するステップが、前記コンピューティングシステムによって、前記合成画像の1つまたは複数の所望の特性を記述する補助条件付けデータで、前記機械学習したコード予測モデルを条件付けるステップを含む、請求項9に記載のコンピュータ実装される方法。
【請求項12】
前記補助条件付けデータが、前記合成画像の所望のクラスを記述するクラスラベルを含む、請求項11に記載のコンピュータ実装される方法。
【請求項13】
前記補助条件付けデータが、自然言語テキストトークンを含む、請求項11に記載のコンピュータ実装される方法。
【請求項14】
前記コンピューティングシステムによって、前記機械学習したコード予測モデルを前記自然言語テキストトークンで条件付けるステップが、
前記コンピューティングシステムによって、前記機械学習したコード予測モデルのテキストエンコーダ部で前記自然言語テキストトークンを処理して、テキスト埋込みを生成するステップと、
前記コンピューティングシステムによって、前記機械学習したコード予測モデルの自己回帰コード選択部への入力として前記テキスト埋込みを提供して、前記複数の予測されるコードを自己回帰的に予測するステップと
を含む、請求項13に記載のコンピュータ実装される方法。
【請求項15】
前記コンピューティングシステムによって、前記機械学習したコード予測モデルから1つまたは複数の中間的特徴を抽出するステップと、
前記コンピューティングシステムによって、少なくとも部分的に前記中間的特徴に基づいて前記画像についてのクラスラベルを予測するステップと
をさらに含む、請求項9に記載のコンピュータ実装される方法。
【請求項16】
画像のベクトル量子化を実施するコンピュータ実装される方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、画像の符号化バージョンを形成する複数の量子化コードを得るステップであって、前記複数の量子化コードが、複数の候補コードを含む量子化コードブックに含まれる前記複数の量子化コードに、機械学習した画像エンコーダモデルによって生成された複数の画像トークンをマッピングすることによって選択された、ステップと、
前記コンピューティングシステムによって、機械学習した画像デコーダで前記複数の量子化コードを処理して、前記画像のデコードバージョンを形成する複数のデコードされた画像パッチを生成するステップと
を含み、
前記機械学習した画像エンコーダモデルと前記機械学習した画像デコーダの一方または両方が、1つまたは複数の自己アテンション動作を実施するように構成される、コンピュータ実装される方法。
【請求項17】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、請求項1から16のいずれか一項に記載の方法を実施させる命令を集合的に記憶する、1つまたは複数の非一時的コンピュータ可読媒体とを備えるコンピュータシステム。
【請求項18】
1つまたは複数のプロセッサと、
機械学習した画像処理モデルを集合的に記憶する、1つまたは複数の非一時的コンピュータ可読媒体と
を備え、前記機械学習した画像処理モデルが、
1つまたは複数の入力画像パッチを潜在空間中の1つまたは複数の画像トークンへと符号化するように構成されるエンコーダ部と、
前記1つまたは複数の画像トークンを量子化コードブックから選択された1つまたは複数の量子化コードへと量子化するように構成される量子化部と、
少なくとも部分的に前記1つまたは複数の量子化コードに基づいて、前記量子化コードブックから、1つまたは複数の予測される量子化コードを予測するように構成されるコード予測部と、
前記コード予測部から抽出されたデータに少なくとも部分的に基づいて、前記入力画像パッチについての1つまたは複数の特徴的な予測を生成するように構成される、特徴予測部と
を備える、コンピューティングシステム。
【請求項19】
前記機械学習した画像処理モデルが、前記1つまたは複数の量子化コードに基づいて再構成した画像パッチを生成する、または、少なくとも部分的に前記1つまたは複数の予測される量子化コードに基づいて合成画像パッチを生成するように構成されるデコーダ部をさらに備える、請求項18に記載のコンピューティングシステム。
【請求項20】
前記1つまたは複数の特徴的な予測が画像分類予測を含む、請求項18または19に記載のコンピューティングシステム。
【請求項21】
テキストからの画像生成を実施するコンピュータ実装される方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、所望の画像コンテンツを記述する自然言語入力を得るステップと、
前記コンピューティングシステムによって、機械学習したコード予測モデルのテキストエンコーダ部で前記自然言語入力を処理して、テキスト埋込みを生成するステップと、
前記コンピューティングシステムによって、前記機械学習したコード予測モデルの自己回帰コード選択部で前記テキスト埋込みを処理して、複数の候補コードを含む量子化コードブックから予測されるコードのシーケンスを自己回帰的に予測するステップと、
前記コンピューティングシステムによって、量子化コードの前記シーケンスを機械学習した画像デコーダで処理して、合成画像を形成する複数の合成画像パッチを生成するステップと
を含み、
前記合成画像が前記所望の画像コンテンツを描く、コンピュータ実装される方法。
【請求項22】
前記機械学習したコード予測モデルの前記テキストエンコーダ部、前記機械学習したコード予測モデルの前記自己回帰コード選択部、および前記機械学習した画像デコーダのうちの1つまたは複数が、1つまたは複数の自己アテンション動作を実施するように構成される、請求項21に記載のコンピュータ実装される方法。
【請求項23】
前記機械学習したコード予測モデルの前記テキストエンコーダ部、前記機械学習したコード予測モデルの前記自己回帰コード選択部、および前記機械学習した画像デコーダのうちの1つまたは複数がトランスフォーマニューラルネットワークを備える、請求項21に記載のコンピュータ実装される方法。
【請求項24】
前記機械学習した画像デコーダと前記量子化コードブックの一方または両方が、画像エンコーダモデルで一緒に学習した、請求項21から23のいずれか一項に記載のコンピュータ実装される方法。
【請求項25】
前記機械学習したコード予測モデルの前記テキストエンコーダ部が、事前訓練タスクで事前訓練された、請求項21から23のいずれか一項に記載のコンピュータ実装される方法。
【請求項26】
コード予測モデルを訓練するコンピュータ実装される方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、訓練画像を含む訓練例および前記訓練画像のコンテンツを記述する自然言語入力を得るステップと、
前記コンピューティングシステムによって、前記訓練画像からの複数の画像パッチを機械学習した画像エンコーダで処理し、複数の画像トークンを潜在空間中に生成するステップであって、前記複数の画像トークンが前記複数の画像パッチに対応する、ステップと、
前記コンピューティングシステムによって、複数の候補コードを含む量子化コードブックに含まれる複数の量子化コードに、前記複数の画像トークンをマッピングするステップと、
前記コンピューティングシステムによって、前記コード予測モデルのテキストエンコーダ部で前記自然言語入力を処理して、テキスト埋込みを生成するステップと、
前記コンピューティングシステムによって、前記コード予測モデルの自己回帰コード選択部で前記テキスト埋込みを処理して、前記量子化コードブックから予測されるコードのシーケンスを自己回帰的に予測するステップと、
前記コンピューティングシステムによって、予測されるコードの前記シーケンスを前記複数の量子化コードと比較するコード予測損失関数を評価するステップと、
前記コンピューティングシステムによって、少なくとも部分的に前記コード予測損失関数に基づいて、前記コード予測モデルの1つまたは複数のパラメータを変更するステップと
を含む、コンピュータ実装される方法。
【請求項27】
前記機械学習した画像エンコーダが、1つまたは複数の自己アテンション動作を実施して複数の入力画像パッチを処理し、前記複数の画像トークンを前記潜在空間中に生成する、請求項26に記載のコンピュータ実装される方法。
【請求項28】
前記コード予測損失関数が、前記量子化コードに対する前記予測されるコードの負の対数尤度を評価する、請求項26に記載のコンピュータ実装される方法。
【請求項29】
前記機械学習した画像エンコーダおよび前記量子化コードブックが、オートエンコーダアーキテクチャにおける画像デコーダで事前に訓練されている、請求項26から28のいずれか一項に記載のコンピュータ実装される方法。
【請求項30】
前記コンピューティングシステムによって、少なくとも部分的に前記コード予測損失関数に基づいて、前記コード予測モデルの1つまたは複数のパラメータを変更するステップが、前記コンピューティングシステムによって、少なくとも部分的に前記コード予測損失関数に基づいて、前記コード予測モデルの前記テキストエンコーダ部と前記自己回帰コード選択部の両方の1つまたは複数のパラメータを変更するステップを含む、請求項26に記載のコンピュータ実装される方法。
【国際調査報告】