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

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

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

特開2024-154427拡散モデルを用いるテキストベースの実写画像編集
<>
  • 特開-拡散モデルを用いるテキストベースの実写画像編集 図1
  • 特開-拡散モデルを用いるテキストベースの実写画像編集 図2
  • 特開-拡散モデルを用いるテキストベースの実写画像編集 図3
  • 特開-拡散モデルを用いるテキストベースの実写画像編集 図4
  • 特開-拡散モデルを用いるテキストベースの実写画像編集 図5
  • 特開-拡散モデルを用いるテキストベースの実写画像編集 図6A
  • 特開-拡散モデルを用いるテキストベースの実写画像編集 図6B
  • 特開-拡散モデルを用いるテキストベースの実写画像編集 図6C
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024154427
(43)【公開日】2024-10-30
(54)【発明の名称】拡散モデルを用いるテキストベースの実写画像編集
(51)【国際特許分類】
   G06T 11/80 20060101AFI20241023BHJP
   G06N 3/0475 20230101ALI20241023BHJP
【FI】
G06T11/80 A
G06N3/0475
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024067535
(22)【出願日】2024-04-18
(31)【優先権主張番号】18/302,508
(32)【優先日】2023-04-18
(33)【優先権主張国・地域又は機関】US
(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)【発明者】
【氏名】インバー・モセリ
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050CA07
5B050FA05
5B050FA10
(57)【要約】
【課題】画像を編集する方法及びシステムを開示する。
【解決手段】方法は、入力画像と、入力画像用の所望のエディットを示すターゲットテキストを受信するステップと、コンピューティングシステムによって、ターゲットテキストに基づいてターゲットテキスト埋め込みを取得するステップとを含む。方法はまた、コンピューティングシステムによって、ターゲットテキスト埋め込みおよび入力画像に基づいて最適化されたテキスト埋め込みを取得するステップと、最適化されたテキスト埋め込みに基づいて拡散モデルを微調整するステップとを含む。方法は、コンピューティングシステムによって、ターゲットテキスト埋め込みおよび最適化されたテキスト埋め込みを補間して、補間された埋め込みを取得するステップと、入力画像および補間された埋め込みに基づいて、拡散モデルを使用して所望のエディットを含む編集画像を生成するステップとをさらに含み得る。
【選択図】図1
【特許請求の範囲】
【請求項1】
画像を編集するためのコンピュータ実装方法であって、
コンピューティングシステムによって、入力画像およびターゲットテキストを受信するステップであって、前記ターゲットテキストは、前記入力画像用の所望のエディットを示す、ステップと、
前記コンピューティングシステムによって、前記ターゲットテキストに基づいてターゲットテキスト埋め込みを取得するステップと、
前記コンピューティングシステムによって、前記ターゲットテキスト埋め込みおよび前記入力画像に基づいて、最適化されたテキスト埋め込みを取得するステップと、
前記コンピューティングシステムによって、前記最適化されたテキスト埋め込みに基づいて拡散モデルを微調整するステップと、
前記コンピューティングシステムによって、前記ターゲットテキスト埋め込みおよび前記最適化されたテキスト埋め込みを補間して、補間された埋め込みを取得するステップと、
前記コンピューティングシステムによって、前記入力画像および前記補間された埋め込みに基づいて、前記拡散モデルを使用して前記所望のエディットを含む編集画像を生成するステップとを含むコンピュータ実装方法。
【請求項2】
前記ターゲットテキスト埋め込みを取得するステップは、
前記コンピューティングシステムによって、前記ターゲットテキストをテキストエンコーダに提供するステップと、
前記コンピューティングシステムによって、前記ターゲットテキスト埋め込みを前記テキストエンコーダから受信するステップとを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記最適化されたテキスト埋め込みを取得するステップは、
前記コンピューティングシステムによって、前記拡散モデルのパラメータをフリーズするステップと、
前記コンピューティングシステムによって、ノイズ除去拡散目標を使用して、前記ターゲットテキスト埋め込みを最適化して、前記最適化されたテキスト埋め込みを取得するステップと、
前記最適化されたテキスト埋め込みを出力するステップであって、前記最適化されたテキスト埋め込みは、前記入力画像と合致するテキスト埋め込みである、ステップとを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記拡散モデルを微調整するステップは、
前記コンピューティングシステムによって、前記最適化されたテキスト埋め込みをフリーズするステップと、
前記コンピューティングシステムによって、損失関数を使用して、前記拡散モデルの少なくとも1つのモデルパラメータを最適化するステップとを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記少なくとも1つのモデルパラメータを最適化するステップは、前記最適化されたテキスト埋め込みで前記拡散モデルを条件付けるステップを含む、請求項4に記載のコンピュータ実装方法。
【請求項6】
前記拡散モデルを微調整するステップは、
前記コンピューティングシステムによって、少なくとも1つの補助拡散モデルを微調整するステップをさらに含み、前記少なくとも1つの補助拡散モデルを微調整するステップは、
前記コンピューティングシステムによって、前記ターゲットテキスト埋め込みをフリーズするステップと、
前記コンピューティングシステムによって、前記損失関数を使用して、前記少なくとも1つの補助拡散モデルを最適化するステップとを含む、請求項4に記載のコンピュータ実装方法。
【請求項7】
前記少なくとも1つの補助拡散モデルを最適化するステップは、前記少なくとも1つの補助拡散モデルを前記ターゲットテキスト埋め込みで条件付けるステップを含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記編集画像を生成するステップは、
前記コンピューティングシステムによって、前記拡散モデルを使用して、前記編集画像の低解像度バージョンを生成するステップと、
前記コンピューティングシステムによって、前記少なくとも1つの補助拡散モデルを使用して、前記編集画像の前記低解像度バージョンを前記編集画像の最終高解像度バージョンに超解像するステップとを含む、請求項6に記載のコンピュータ実装方法。
【請求項9】
前記編集画像を生成するステップは、
前記コンピューティングシステムによって、前記補間された埋め込みを条件とする前記拡散モデルを使用して前記編集画像を生成するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
画像を編集するためのコンピューティングシステムであって、前記コンピューティングシステムは、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実施させる命令を備えるコンピュータ可読記録媒体とを備え、前記動作は、
入力画像およびターゲットテキストを受信することであって、前記ターゲットテキストは、前記入力画像用の所望のエディットを示す、受信することと、
前記ターゲットテキストに基づいてターゲットテキスト埋め込みを取得することと、
前記ターゲットテキスト埋め込みおよび前記入力画像に基づいて、最適化されたテキスト埋め込みを取得することと、
前記最適化されたテキスト埋め込みに基づいて、拡散モデルを微調整することと、
前記ターゲットテキスト埋め込みおよび前記最適化されたテキスト埋め込みを補間して、補間された埋め込みを取得することと、
前記入力画像および前記補間された埋め込みに基づいて、前記拡散モデルを使用して前記所望のエディットを含む編集画像を生成することとを含む、コンピューティングシステム。
【請求項11】
前記ターゲットテキスト埋め込みを取得することは、
前記ターゲットテキストをテキストエンコーダに提供することと、
前記テキストエンコーダから前記ターゲットテキスト埋め込みを受信することとを含む、請求項10に記載のコンピューティングシステム。
【請求項12】
前記最適化されたテキスト埋め込みを取得することは、
前記コンピューティングシステムによって、前記拡散モデルのパラメータをフリーズすることと、
前記コンピューティングシステムによって、ノイズ除去拡散目標を使用して、前記ターゲットテキスト埋め込みを最適化して、前記最適化されたテキスト埋め込みを取得することと、
前記最適化されたテキスト埋め込みを出力することであって、前記最適化されたテキスト埋め込みは、前記入力画像と合致するテキスト埋め込みである、出力することとを含む、請求項10に記載のコンピューティングシステム。
【請求項13】
前記拡散モデルを微調整することは、
前記最適化されたテキスト埋め込みをフリーズすることと、
損失関数を使用して、前記拡散モデルの少なくとも1つのモデルパラメータを最適化することとを含む、請求項10に記載のコンピューティングシステム。
【請求項14】
前記少なくとも1つのモデルパラメータを最適化することは、前記最適化されたテキスト埋め込みで前記拡散モデルを条件付けることを含む、請求項13に記載のコンピューティングシステム。
【請求項15】
前記拡散モデルを微調整することは、
少なくとも1つの補助拡散モデルを微調整することをさらに含み、前記少なくとも1つの補助拡散モデルを微調整することは、
前記ターゲットテキスト埋め込みをフリーズすることと、
前記損失関数を使用して、前記少なくとも1つの補助拡散モデルを最適化することとをさらに含む、請求項13に記載のコンピューティングシステム。
【請求項16】
前記少なくとも1つの補助拡散モデルを最適化することは、前記少なくとも1つの補助拡散モデルを前記ターゲットテキスト埋め込みで条件付けることを含む、請求項15に記載のコンピューティングシステム。
【請求項17】
前記編集画像を生成することは、
前記拡散モデルを使用して、前記編集画像の低解像度バージョンを生成することと、
前記少なくとも1つの補助拡散モデルを使用して、前記編集画像の前記低解像度バージョンを前記編集画像の最終高解像度バージョンに超解像することとを含む、請求項15に記載のコンピューティングシステム。
【請求項18】
前記編集画像を生成することは、
前記補間された埋め込みを条件とする前記拡散モデルを使用して前記編集画像を生成することを含む、請求項10に記載のコンピューティングシステム。
【請求項19】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を実施させる命令を備えるコンピュータ可読記録媒体であって、前記動作は、
入力画像およびターゲットテキストを受信することであって、前記ターゲットテキストは、前記入力画像用の所望のエディットを示す、受信することと、
前記ターゲットテキストに基づいてターゲットテキスト埋め込みを取得することと、
前記ターゲットテキスト埋め込みおよび前記入力画像に基づいて、最適化されたテキスト埋め込みを取得することと、
前記最適化されたテキスト埋め込みに基づいて、拡散モデルを微調整することと、
前記ターゲットテキスト埋め込みおよび前記最適化されたテキスト埋め込みを補間して、補間された埋め込みを取得することと、
前記入力画像および前記補間された埋め込みに基づいて、前記拡散モデルを使用して前記所望のエディットを含む編集画像を生成することとを含む、コンピュータ可読記録媒体。
【請求項20】
前記編集画像を生成することは、
前記補間された埋め込みを条件とする前記拡散モデルを使用して前記編集画像を生成することを含む、請求項19に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、デジタル画像編集に関する。より詳細には、本開示は、テキスト画像化拡散モデルを活用することによって、入力画像およびターゲットテキストのみを使用して、テキストベースの意味論的エディットを画像に適用することに関する。
【背景技術】
【0002】
非自明な意味論的エディットを実際の写真に適用することは、画像処理における難題であった。テキストベースの画像編集のための多くの方法が、エディットの特定のセット(画像の上の描画、オブジェクトの追加、もしくはスタイルの転写など)に制限されること、特定のドメインからの画像もしくは合成によって生成された画像に対してのみ動作すること、または入力画像に加え、所望のエディットロケーションを示す画像マスク、同じ対象の複数の画像、もしくは元の画像を記述するテキストなどの補助入力を要することなどの欠点に悩まされている。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の実施形態の態様および利点が、以下の記述において部分的に説明され、または記述から学習することができ、または実施形態の実践を通して知ることができる。
【0004】
本開示の一例示的態様は、画像を編集するためのコンピュータ実装方法を対象とする。この方法は、コンピューティングシステムによって、入力画像およびターゲットテキストを受信するステップであって、ターゲットテキストは、入力画像用の所望のエディットを示す、ステップと、コンピューティングシステムによって、ターゲットテキストに基づいてターゲットテキスト埋め込み(target text embedding)を取得するステップとを含む。方法はまた、コンピューティングシステムによって、ターゲットテキスト埋め込みおよび入力画像に基づいて、最適化されたテキスト埋め込みを取得するステップと、コンピューティングシステムによって、最適化されたテキスト埋め込みに基づいて拡散モデルを微調整(fine-tuning)するステップとを含む。方法は、コンピューティングシステムによって、ターゲットテキスト埋め込みおよび最適化されたテキスト埋め込みを補間して、補間された埋め込みを取得するステップと、コンピューティングシステムによって、入力画像および補間された埋め込みに基づいて、拡散モデルを使用して所望のエディットを含む編集画像を生成するステップとをさらに含む。
【0005】
本開示の別の例示的態様は、画像を編集するためのコンピューティングシステムを対象とする。コンピューティングシステムは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実施させる命令を備える非一時的コンピュータ可読媒体とを含む。動作は、入力画像およびターゲットテキストを受信するステップであって、ターゲットテキストは、入力画像用の所望のエディットを示すことと、ターゲットテキストに基づいてターゲットテキスト埋め込みを取得することとを含む。動作はまた、ターゲットテキスト埋め込みおよび入力画像に基づいて、最適化されたテキスト埋め込みを取得することと、最適化されたテキスト埋め込みに基づいて、拡散モデルを微調整することとを含む。動作は、ターゲットテキスト埋め込みおよび最適化されたテキスト埋め込みを補間して、補間された埋め込みを取得することと、入力画像および補間された埋め込みに基づいて、拡散モデルを使用して所望のエディットを含む編集画像を生成することとをさらに含む。
【0006】
本開示の別の例示的態様は、命令を備える非一時的コンピュータ可読媒体を対象とし、これらの命令は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を実施させる。動作は、入力画像およびターゲットテキストを受信することであって、ターゲットテキストは、入力画像用の所望のエディットを示すことと、ターゲットテキストに基づいてターゲットテキスト埋め込みを取得することとを含む。動作はまた、ターゲットテキスト埋め込みおよび入力画像に基づいて、最適化されたテキスト埋め込みを取得することと、最適化されたテキスト埋め込みに基づいて、拡散モデルを微調整することとを含む。動作は、ターゲットテキスト埋め込みおよび最適化されたテキスト埋め込みを補間して、補間された埋め込みを取得することと、入力画像および補間された埋め込みに基づいて、拡散モデルを使用して所望のエディットを含む編集画像を生成することとをさらに含む。
【0007】
本開示の他の態様は、様々なシステム、装置、非一時的コンピュータ可読媒体、ユーザインターフェース、および電子デバイスを対象とする。
【0008】
本開示の様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明および添付の特許請求の範囲を参照すると、よりよく理解されよう。本明細書に組み込まれ本明細書の一部を構成する添付図面は、本開示の例示的な実施形態を示し、この説明と一緒に、関連する原理を説明するために役立つ。
【0009】
当業者を対象とする、実施形態の詳細な考察が本明細書において説明され、本明細書は、添付の図面を参照する。
【図面の簡単な説明】
【0010】
図1】本開示の例示的実施形態による、例示的画像編集モデルのブロック図である。
図2】本開示の例示的実施形態による、例示的画像編集プロセスの例を示す図である。
図3】本開示の例示的実施形態による、異なるランダムノイズサンプルが微調整拡散モデルに入力された結果を示す図である。
図4】本開示の例示的実施形態による、ハイパーパラメータの値を変えた結果、異なる編集画像が生じ得ることを示す図である。
図5】本開示の例示的実施形態に従って画像編集を実施するための例示的方法のフローチャート図である。
図6A】本開示の例示的実施形態による、画像編集を実施する例示的コンピューティングシステムのブロック図である。
図6B】本開示の例示的実施形態による、画像編集を実施する例示的コンピューティングデバイスのブロック図である。
図6C】本開示の例示的実施形態による、画像編集を実施する例示的コンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【0011】
複数の図にわたって繰り返される参照番号は、様々な実装形態において同じ特徴を識別するものである。
【0012】
概要
概して、本開示は、編集されるべき入力画像およびターゲットエディットを記述する単一のテキストプロンプトのみが与えられた、意味論的画像編集を対象とする。
【0013】
テキスト画像化拡散モデルは、高品質画像合成が可能な拡散モデルを使う。自然言語テキストプロンプトを条件とするとき、拡散モデルは、要求されたテキストと十分に整合する画像を生成することができる。本発明は、新たな画像を合成するのではなく、実写画像を編集するように、拡散モデルを適応させる。
【0014】
これは、3ステッププロセスで実施される。第1に、テキスト埋め込みが最適化され、その結果、ターゲットテキスト埋め込みの付近にある、与えられた入力画像に最良合致するテキスト埋め込みが生じる。第2に、拡散モデルが、与えられた入力画像により良好に合致するか、または与えられた入力画像を再構築するように微調整される。最終的に、画像とターゲットテキスト整合への両方の忠実度を達成する点を見つけるために、最適化された埋め込みおよびターゲットテキスト埋め込みが線形補間される。
【0015】
上で記載した、画像を編集する方法は、洗練された、実写の高解像度画像に対する厳格でないエディットを可能にする。得られる画像出力は、ターゲットテキストと十分に整合するとともに、元の画像の全体的背景、構造、および組成を維持する。たとえば、「伏せている犬」というテキストを伴う、立っている犬の入力画像は、新たな姿勢(立っているのではなく、伏せている)での犬(同じ毛色、同じ背景、同じ表現、同じ特徴など)の出力を生じる。画像の中の複数のオブジェクトは編集することができ、非常に様々なエディットが実施されてよく、すべてが元の画像の全体的構造および組成を維持する。
【0016】
さらに、本発明は、生成されるべき2つのテキスト埋め込みシーケンスの間の意味論的に重要な線形補間を可能にし、これは、テキスト画像化拡散モデルの強力な組成能力を示し、ユーザが、画像の中のオブジェクトを徐々に編集できるようにする。
【0017】
ここで図面を参照して、本開示の例示的実施形態についてさらに詳しく論じる。
【0018】
例示的モデル配置
図1は、本開示の例示的実施形態による例示的画像モデル100のブロック図を示す。
【0019】
画像編集モデル100は、事前トレーニング済み拡散モデル105を含む。事前トレーニング済み拡散モデルの核となる前提は、ランダムにサンプリングされたノイズ画像(ランダムにサンプリングされたノイズ画像110など)で初期化し、次いで、その画像が「きれいな」、すなわち、生成プロセスからのアーティファクトを含まない写実画像に合成されるまで、その画像を、制御されたやり方で反復して精錬することである。各精錬ステップは、現在のサンプルに対するニューラルネットワークの適用と、それに続くランダムガウスノイズ摂動を含んでよく、これは、より定義されたサンプルを取得する。ネットワークはノイズ除去のためにトレーニングされ、これは、ターゲット配信に高忠実な、学習された画像配信につながる。これらのモデルは、ノイズ除去ネットワークを補助入力で条件付けることによって、条件付き配信を学習するために一般化されてよく、得られた拡散プロセスは、補助入力を条件として、データ配信からサンプリングすることができる。いくつかの実施形態では、補助入力は、所望の画像を記述するテキストシーケンスであってよい。大規模言語モデルまたはハイブリッド視覚言語モデルからの知識を組み込むことによって、これらのテキスト画像化拡散モデルは、シーンを記述するテキストプロンプトのみを使用して、現実的な高解像度画像を生成することができる。低解像度画像が、最初に生成拡散を使用して合成され、次いで、追加補助モデルを使用して高解像度画像に変換される。
【0020】
本発明は、実際のオブジェクト、動物、人などを表す入力画像(入力画像115など)と、所望のエディットを記述するターゲットテキストとを、入力として受ける。事前トレーニング済みモデル105の最終的ゴールは、入力画像からの最大量の詳細(たとえば、背景の細部および画像内のオブジェクトのアイデンティティ)を維持したまま、所与のテキストを満足するように、入力画像を編集することである。これを遂行するために、事前トレーニング済み拡散モデル105のテキスト埋め込みレイヤが、意味論的操作を実施するのに使われてよい。これは、重要な表現を見つけることによって実施され、重要な表現は、生成プロセスの中をフィードされると、入力画像115と同様の画像を産する。事前トレーニング済みモデル105は次いで、入力画像115をより良好に再構築するように微調整され、次いで、最終的には、編集された結果を取得するように、潜在表現が操作される。
【0021】
最初に、テキスト埋め込み最適化が実施されてよい。テキスト埋め込み最適化は、ターゲットテキストをテキストエンコーダに通すことを含み、テキストエンコーダは、対応するターゲットテキスト埋め込み120を出力する。出力ターゲットテキスト埋め込みは、ターゲットテキスト中のトークンの数を示し、トークン埋め込み次元を有し得る。
【0022】
事前トレーニング済み拡散モデル105のパラメータが次いで、フリーズされ、ターゲットテキスト埋め込み120が、式1に示す目標などのノイズ除去拡散目標を使用して最適化される。
【0023】
【数1】
【0024】
式1において、xtは、入力画像のノイズありバージョンであり、シータは、事前トレーニング済み拡散モデル重みのセットである。得られる最適化されたテキスト埋め込み125は、可能な限り厳密に(たとえば、埋め込み距離130で示すように)入力画像と合致するテキスト埋め込みである。いくつかの実施形態では、このプロセスは、最適化されたテスト埋め込み125を取得するときに初期ターゲットテキスト埋め込み120に近いままであるために、比較的少ないステップだけ実施される。この最適化されたテキスト埋め込みは、生成拡散プロセスを通されるとき、必ずしも、入力画像xに正確につながるわけではなく、というのは、最適化は少数のステップだけ稼働するからである。この近接は、埋め込み空間における重要な補間を可能にし、離れた埋め込みのための線形挙動を示さない。
【0025】
次に、事前トレーニング済み拡散モデル105が微調整される。最適化されたテキスト埋め込み125を取得するための最適化は、少数のステップだけ稼働されるので、事前トレーニング済み拡散モデル105のモデルパラメータのシータは、式1に示すのと同じ損失関数を使用して最適化されるとともに、最適化されたテキスト埋め込み125をフリーズする。このプロセスは、事前トレーニング済み拡散モデル105を、最適化されたテキスト埋め込み125の点において入力画像115に適合するようにシフトする。並行して、基底生成モデルの中に存在する補助拡散モデルが、事前トレーニング済み拡散モデル105と同じ再構築損失で微調整されてよいが、最適化されたテキスト埋め込み125ではなくターゲットテキスト埋め込み120を条件とする。補助モデルの最適化は、ベース解像度には存在しない、入力画像115からの高頻度詳細の維持を確実にする。
【0026】
事前トレーニング済み拡散モデル105が、最適化された埋め込み125において入力画像115を十分に再現するようにトレーニングされた後、新規作成微調整拡散モデル150(たとえば、トレーニングされ、微調整された事前トレーニング済み拡散モデル105)が、ターゲットテキスト埋め込み120の方向に進むことによって、入力画像115に所望のエディットを適用するのに使われる。言い換えると、プロセスのこの段階は、ターゲットテキスト埋め込み120と最適化されたテキスト埋め込み125との間の単純線形補間155である。所与のハイパーパラメータη∈[0,1]について、式2は、所望の編集画像を表す埋め込みを取得するのに使うことができる。
【0027】
【数2】
【0028】
式2において、etgtはターゲットテキスト埋め込み120であり、eoptは、最適化されたテキスト埋め込み125である。式2の出力は、所望の編集画像を表す埋め込みである。微調整拡散モデル150は、ベース生成拡散プロセス(
【数3】
を条件とする)を適用し、その結果、低解像度編集画像160が生じる。低解像度編集画像160は、微調整された補助モデル(ターゲットテキストを条件とする)を使用して超解像され、これは、最終的な高解像度編集画像を出力する。
【0029】
いくつかの実施形態では、事前トレーニング済み拡散モデル105および微調整拡散モデル150のフレームワークは、3つの異なるテキスト条件付け拡散モデル、すなわち、64×64ピクセル画像のための生成拡散モデル、64×64ピクセル画像を256×256ピクセル画像に変える超解像度拡散モデル、および256×256ピクセル画像を1024×1024ピクセル画像に変換する第2の超解像度拡散モデルを含み得る。これらの3つのモデルをカスケードし、分類器なしガイダンスを使うことによって、事前トレーニング済み拡散モデル105および微調整拡散モデル150は、ターゲットテキストからのテキストガイダンスに基づいて、画像エディットを生成することができる。
【0030】
画像編集プロセスの例を、図2に見ることができる。たとえば、入力画像(入力画像205のいずれかなど)に基づいて、微調整拡散モデル150は、特定の入力画像用に微調整されてよく、その結果、所望の画像エディットに関連付けられたターゲットテキスト入力に基づいて、様々な編集画像(編集画像210のいずれかなど)が出力される。一例では、野原に立っている犬の、入力された犬画像215が、「お座りしている犬」、「飛び跳ねている犬」、「伏せている犬」などのような、所望の画像エディットターゲットテキスト220のうちの1つとともに与えられ得る。「おもちゃで遊んでいる犬」または「フリスビーをくわえて飛び跳ねている犬」など、いくつかのターゲットテキストでは、新たなオブジェクトならびにエディットが、実施されている、現在存在するオブジェクトに追加されてよいことに留意されたい。入力画像205および得られる編集画像210の他の例も、様々な入力画像に対して実施することができる他のタイプのエディットを示すように示されている。
【0031】
ここで図1に戻ると、いくつかの実施形態では、最終出力画像160は、微調整拡散モデル150に入力されたランダムノイズ165に基づいて異なり得る。たとえば、図3は、異なるランダムノイズサンプルが微調整拡散モデル150に入力された結果305を示す。「翼を広げている鳥の写真」というターゲットテキストをもつ、翼を下ろして休んでいる鳥の第1の入力画像310が与えられると、異なるノイズサンプルが、異なる出力結果305を生じ得る。「子供が描いた森の絵」というターゲットテキストに伴う、森の第2の入力画像315の第2の例も、ランダムノイズサンプル165が、異なる最終出力画像160をどのように生じ得るかを示すために与えられる。
【0032】
いくつかの実施形態では、ハイパーパラメータηの値は、異なる編集画像を生じ得る。たとえば、図4は、ハイパーパラメータηの値410を変えると、与えられた入力画像405に基づいて、異なる編集画像415をどのように生じ得るかを示す。第2の例では、特定の異なるη値420が、ケーキの入力画像および「ピスタチオケーキの写真」というターゲットテキストに基づいて、異なる生成された結果につながり得る。
【0033】
例示的方法
図5は、本開示の例示的実施形態による、画像エディットを実施するための例示的方法500のフローチャート図を示す。図5は、例示および説明の目的で、特定の順序で実施されるステップを示すが、本開示の方法は、具体的に示された順序または並びには限定されない。方法500の様々なステップは、本開示の範囲から逸脱することなく、様々に省かれ、並べ替えられ、組み合わされ、かつ/または適応されてよい。
【0034】
502において、コンピューティングシステムは、入力画像およびターゲットテキストを受信し、ターゲットテキストは、入力画像用の所望のエディットを示す。ターゲットテキストは、野原に立っている犬を示す入力画像とともに与えられる「お座りしている犬」など、所望のエディットのテキスト提示である。入力画像は、ターゲットテキストによって示される所望のエディットを実施しながら、編集画像がそれに基づいて生成される(たとえば、入力画像からの詳細を保って)ものである。
【0035】
504において、コンピューティングシステムは、ターゲットテキストに基づいてターゲットテキスト埋め込みを取得する。ターゲットテキスト埋め込みは、1つまたは複数のモデルによって使用可能な埋め込みの中のターゲットテキストを表すテキスト埋め込みである。いくつかの実施形態では、コンピューティングシステムは、ターゲットテキストをテキストエンコーダに提供し、テキストエンコーダからの出力として、ターゲットテキスト埋め込みを受信することによって、ターゲットテキスト埋め込みを取得する。いくつかの実施形態では、ターゲットテキスト埋め込みは、ターゲットテキストの中のトークンの数を含み、トークン埋め込み次元を有する。
【0036】
506において、コンピューティングシステムは、ターゲットテキスト埋め込みおよび入力画像に基づいて、最適化されたテキスト埋め込みを取得する。最適化されたテキスト埋め込みを取得するために、拡散モデルのパラメータがフリーズされ、ターゲットテキスト埋め込みが、ノイズ除去復号目標を使用して最適化され、この目標は、上の式2に記述された関数などの損失関数であってよい。得られたテキスト埋め込みは、可能な限り厳密に入力画像を表す。この最適化プロセスは、初期ターゲットテキスト埋め込みに近いままであるために、所定の数のステップ(比較的少ない)だけ稼働される。いくつかのステップが稼働された後に得られた埋め込みが、最適化されたテキスト埋め込みである。最適化されたテキスト埋め込みは、埋め込み空間における重要な線形補間を可能にし、これは、離れた埋め込みのための線形挙動を示さない。最適化されたテキスト埋め込みは、拡散モデルを通されるとき、必ずしも、入力画像に正確につながるわけではなく、というのは、最適化は少数のステップだけ稼動するからである。
【0037】
508において、コンピューティングシステムは、最適化されたテキスト埋め込みに基づいて、拡散モデルを微調整する。拡散モデルを微調整するために、最適テキスト埋め込みがフリーズされ、フリーズされた最適テキスト埋め込みを使用して、拡散モデルのモデルパラメータが最適化される。モデルパラメータを最適化するために、損失関数が使われる。このプロセスは、最適化されたテキスト埋め込みの点において入力画像xに適合するように、モデルをシフトする。いくつかの実施形態では、モデルのパラメータを最適化することは、最適化されたテキスト埋め込みで拡散モデルを条件付けることを含み得る。
【0038】
いくつかの実施形態では、拡散モデルを微調整することは、超解像度生成拡散モデルなど、少なくとも1つの補助拡散モデルを微調整することも含み得る。補助拡散モデルを微調整することは、拡散モデルを微調整することと同様であってよい。たとえば、補助拡散モデルを微調整することは、補助拡散モデルの1つまたは複数のパラメータを最適化するために、拡散モデルと同じ損失関数を使うことを含み得るが、最適化されたテキスト埋め込みをフリーズし、最適化されたテキスト埋め込みで補助拡散モデルを条件付けるのではなく、ターゲットテキスト埋め込みが代わりにフリーズされ、補助拡散モデルはターゲットテキスト埋め込みを条件とする。ターゲットテキスト埋め込みでの補助拡散モデルの最適化により、拡散モデルによって生成されるベース解像度では存在しない、入力画像からの高頻度詳細が確実に維持される。
【0039】
510において、コンピューティングシステムは、ターゲットテキスト埋め込みおよび最適化されたテキスト埋め込みを補間して、補間された埋め込みを取得する。拡散モデルは、最適化された埋め込みにおいて入力画像を十分に再現するように、十分に、および厳密にトレーニングされる(たとえば、過剰適合する)。したがって、所望のエディットを適用するために、コンピューティングシステムは、最適化された埋め込みの所で開始し、埋め込み空間の中を、ターゲットテキスト埋め込みに向かって移動して、エディットを生成する。ターゲットテキスト埋め込みの「方向に移動する」ために、単純線形補間(上で開示した式2によって記述される)が、最適化されたテキスト埋め込みとターゲットテキスト埋め込みとの間で実施される。いくつかの実施形態では、この補間は、ハイパーパラメータ|によって表される。最適化されたテキスト埋め込み、ターゲットテキスト埋め込みおよびハイパーパラメータの線形補間に基づいて、補間された埋め込みが取得される。
【0040】
512において、コンピューティングシステムは、入力画像および補間された埋め込みに基づいて、拡散モデルを使用して所望のエディットを含む編集画像を生成する。微調整拡散モデルは次いで、補間された埋め込みを条件とするベース生成拡散プロセスを実施して、所望のエディットを含む低解像度画像(たとえば、64×64ピクセル画像)を取得する。いくつかの実施形態では、超解像度モデルなど、1つまたは複数の補助拡散モデルが次いで、低解像度画像を高解像度最終画像(たとえば、256×256および/または1024×1024ピクセル画像)に超解像するのに使われてよく、この画像は次いで、最終編集画像として出力される。
【0041】
例示的デバイスおよびシステム
図6Aは、本開示の例示的実施形態による、画像編集を実施する例示的コンピューティングシステム600のブロック図を示す。システム600は、ネットワーク680を介して通信可能に結合されている、ユーザコンピューティングデバイス602、サーバコンピューティングシステム630、およびトレーニング用コンピューティングシステム650を含む。
【0042】
ユーザコンピューティングデバイス602は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲーム機もしくはコントローラ、装着可能コンピューティングデバイス、埋め込み型コンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、どのタイプのコンピューティングデバイスであってもよい。
【0043】
ユーザコンピューティングデバイス602は、1つまたは複数のプロセッサ612およびメモリ614を含む。1つまたは複数のプロセッサ612は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ614は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記録媒体を含むことができる。メモリ614は、データ616と、ユーザコンピューティングデバイス602に動作を実施させるようにプロセッサ612によって実行される命令618とを記憶することができる。
【0044】
いくつかの実装形態では、ユーザコンピューティングデバイス602は、1つまたは複数の画像編集モデル620を記憶するか、または含むことができる。たとえば、画像編集モデル620は、ニューラルネットワーク(たとえば、深層ニューラルネットワーク)または非線形モデルおよび/もしくは線形モデルを含む他のタイプの機械学習型モデルなど、様々な機械学習型モデルであってよく、またはそうでなければ、それらの機械学習型モデルを含むことができる。ニューラルネットワークは、フィードフォワードニューラルネットワーク、回帰型ニューラルネットワーク(たとえば、長短期メモリ回帰型ニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形態のニューラルネットワークを含むことができる。いくつかの例示的機械学習型モデルは、自己注意などの注意機構を活用することができる。たとえば、いくつかの例示的機械学習型モデルは、多頭自己注意モデル(たとえば、トランスフォーマモデル)を含み得る。例示的画像編集モデル620については、図1を参照して論じている。
【0045】
いくつかの実装形態では、1つまたは複数の画像編集モデル620は、ネットワーク680を介してサーバコンピューティングシステム630から受信され、ユーザコンピューティングデバイスメモリ614に記憶され、次いで、1つまたは複数のプロセッサ612によって使われ、またはそうでなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス602は、単一の画像編集モデル620の複数の並列インスタンスを(たとえば、画像編集の複数のインスタンスにわたる並列画像編集を実施するために)実装することができる。
【0046】
より詳細には、入力画像および画像に対する所望のエディットを示すターゲットテキストが与えられると、1つまたは複数の画像編集モデル620は、与えられたテキストを満足するように画像を編集することができると同時に、背景における細部、1つまたは複数のオブジェクトの編集されていない部分についての詳細などのような、元の入力画像からの最大量の詳細を維持する。1つまたは複数のモデル620は次いで、1つまたは複数のモデルのテキスト埋め込みレイヤを使用して、入力画像に対して意味論的操作を実施して、入力画像の潜在表現を取得し、この表現は次いで、与えられたテキストによって所望のエディットが指定された出力画像を取得するように操作されてよい。
【0047】
追加または代替として、1つまたは複数の画像編集モデル640は、クライアント-サーバ関係に従ってユーザコンピューティングデバイス602と通信するサーバコンピューティングシステム630に含まれ、またはそうでなければ、サーバコンピューティングシステム630によって記憶され、実装され得る。たとえば、画像編集モデル640は、ウェブサービス(たとえば、画像編集サービス)の一部分として、サーバコンピューティングシステム630によって実装され得る。したがって、1つまたは複数のモデル620が、ユーザコンピューティングデバイス602において記憶され、実装されてよく、かつ/または1つもしくは複数のモデル640が、サーバコンピューティングシステム630において記憶され、実装されてよい。
【0048】
ユーザコンピューティングデバイス602は、ユーザ入力を受信する1つまたは複数のユーザ入力構成要素622も含み得る。たとえば、ユーザ入力構成要素622は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに敏感な、タッチ感応構成要素(たとえば、タッチ感応表示画面またはタッチパッド)であってよい。タッチ感応構成要素は、仮想キーボードを実装するのに役立つことができる。他の例示的なユーザ入力構成要素は、マイクロフォン、従来のキーボード、またはユーザがそれによってユーザ入力を提供できる他の手段を含む。
【0049】
サーバコンピューティングシステム630は、1つまたは複数のプロセッサ632およびメモリ634を含む。1つまたは複数のプロセッサ632は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ634は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記録媒体を含むことができる。メモリ634は、データ636と、サーバコンピューティングシステム630に動作を実施させるようにプロセッサ632によって実行される命令638とを記憶することができる。
【0050】
いくつかの実装形態では、サーバコンピューティングシステム630は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つまたは複数のサーバコンピューティングデバイスによって実装される。サーバコンピューティングシステム630が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、逐次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
【0051】
上述したように、サーバコンピューティングシステム630は、1つまたは複数の画像編集モデル640を記憶するか、またはそうでなければ含むことができる。たとえば、モデル640は、様々な機械学習型モデルであってよく、または、そうでなければそれらを含んでよい。例示的機械学習型モデルは、ニューラルネットワークまたは他のマルチレイヤ非線形モデルを含む。例示的ニューラルネットワークは、フィードフォワードニューラルネットワーク、深層ニューラルネットワーク、回帰型ニューラルネットワーク、および畳み込みニューラルネットワークを含む。いくつかの例示的機械学習型モデルは、自己注意などの注意機構を活用することができる。たとえば、いくつかの例示的機械学習型モデルは、多頭自己注意モデル(たとえば、トランスフォーマモデル)を含み得る。例示的モデル640については、図1を参照して論じている。
【0052】
ユーザコンピューティングデバイス602および/またはサーバコンピューティングシステム630は、ネットワーク680を介して通信可能に結合されているトレーニング用コンピューティングシステム650との相互作用を介してモデル620および/または640をトレーニングすることができる。トレーニング用コンピューティングシステム650は、サーバコンピューティングシステム630とは別個であってよく、またはサーバコンピューティングシステム630の一部分であってよい。
【0053】
トレーニング用コンピューティングシステム650は、1つまたは複数のプロセッサ652およびメモリ654を含む。1つまたは複数のプロセッサ652は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ654は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記録媒体を含むことができる。メモリ654は、データ656と、トレーニング用コンピューティングシステム650に動作を実施させるようにプロセッサ652によって実行される命令658とを記憶することができる。いくつかの実装形態では、トレーニング用コンピューティングシステム650は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つまたは複数のサーバコンピューティングデバイスによって実装される。
【0054】
トレーニング用コンピューティングシステム650は、ユーザコンピューティングデバイス602および/またはサーバコンピューティングシステム630において記憶された機械学習型モデル620および/または640を、たとえば、誤差逆伝搬など、様々なトレーニングまたは学習技法を使用してトレーニングするモデル訓練器660を含み得る。たとえば、損失関数は、(たとえば、損失関数の勾配に基づいて)モデルの1つまたは複数のパラメータを更新するために、モデルを通して逆伝搬され得る。平均二乗誤差、尤度損失、クロスエントロピー損失、ヒンジ損失、および/または他の様々な損失関数など、様々な損失関数が使われてよい。何回かのトレーニング反復によりパラメータを反復して更新するために、勾配降下技法が使われてよい。
【0055】
いくつかの実装形態では、誤差逆伝搬を実施することは、時間をかけて短縮逆伝搬を実施することを含み得る。モデル訓練器660は、トレーニングされるモデルの汎化能力を向上するために、いくつかの汎化技法(たとえば、重み減衰、ドロップアウトなど)を実施することができる。
【0056】
特に、モデル訓練器660は、トレーニングデータ662のセットに基づいて、画像編集モデル620および/または640をトレーニングすることができる。トレーニングデータ662は、たとえば、編集モデル620および640のうちの1つまたは複数に対する入力画像を含み得る。いくつかの実施形態では、編集モデル620および640は、64×64ピクセル画像のための生成拡散モデル、64×64ピクセル画像を256×256ピクセル画像に変換するための第1の超解像度拡散モデル、および256×256ピクセル画像を1024×1024ピクセル画像に変換するための第2の超解像度拡散モデルを含み得る。画像編集モデル620および640のためのテキスト埋め込みが、64×64拡散モデルを使用してトレーニング中に最適化され得る。いくつかの実施形態では、100個のセットおよび1e-3の固定学習率をもつAdamオプティマイザを使うことができる。64×64拡散モデルは次いで、最適化された埋め込みを条件とする、入力画像に対して1500ステップだけトレーニングを続けることによって微調整され得る。並行して、第1の超解像度拡散モデルは、入力画像から高頻度詳細をキャプチャするために、1500ステップだけ、ターゲットテキスト埋め込みおよび元の画像を使用して微調整され得る。
【0057】
別の実施形態では、画像編集モデル620および640は、Adamを使う2e-3の学習率で、1000ステップをとるテキスト埋め込みの最適化で512×512画像に対して作用する、事前トレーニングされたオートエンコーダの4×64×64というサイズの潜在空間中で拡散プロセスを適用することによってトレーニングされ得る。
【0058】
このトレーニングに基づいて、テキスト埋め込みは、図1に関して上述した式3に従って補間され得る。微調整プロセスにより、ηが増すと、出力画像はターゲットテキストと整合する。たとえば、ηが0の場合、元の画像が生成され、ηが1の場合、完全に新たな画像(たとえば、入力画像と特性を共有しない)が生成される。いくつかの実施形態では、ηは、0.6と0.8との中間であってよい。出力画像が次いで、画像編集モデル620または640を使用して生成され得る。
【0059】
いくつかの実装形態では、ユーザが同意を与えている場合、トレーニング例はユーザコンピューティングデバイス602によって与えられてよい。したがって、そのような実装形態では、ユーザコンピューティングデバイス602に提供されるモデル620は、ユーザコンピューティングデバイス602から受信されるユーザ固有データに対してトレーニング用コンピューティングシステム650によってトレーニングされ得る。いくつかの事例では、このプロセスは、モデルを個別化することと呼ばれる場合がある。
【0060】
モデル訓練器660は、所望の機能性を提供するのに使用されるコンピュータ論理を含む。モデル訓練器660は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアで実装され得る。たとえば、いくつかの実装形態では、モデル訓練器660は、記憶デバイス上に記憶され、メモリにロードされ、かつ1つまたは複数のプロセッサによって実行される、プログラムファイルを含む。他の実装形態では、モデル訓練器660は、RAM、ハードディスクまたは光学もしくは磁気媒体などの有形コンピュータ可読記録媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含む。
【0061】
ネットワーク680は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなど、どのタイプの通信ネットワークであってもよく、任意の数のワイヤードまたはワイヤレスリンクを含み得る。概して、ネットワーク680を介した通信は、多種多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSL)を使用して、任意のタイプのワイヤードおよび/またはワイヤレスの接続を介して搬送され得る。
【0062】
本明細書に記載する機械学習型モデルは、様々なタスク、アプリケーション、および/または使用ケースにおいて使われてよい。
【0063】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、画像データであってよい。機械学習型モデルは、画像データを処理して、出力を生成し得る。例として、機械学習型モデルは、画像データを処理して、画像認識出力(たとえば、画像データの認識、画像データの潜在性埋め込み、画像データの符号化表現、画像データのハッシュなど)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像分類出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像データ変更出力(たとえば、画像データの改変など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、符号化画像データ出力(たとえば、画像データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、アップスケールされた画像データ出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、予測出力を生成し得る。
【0064】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、テキストまたは自然言語データであってよい。機械学習型モデルは、テキストまたは自然言語データを処理して、出力を生成し得る。例として、機械学習型モデルは、自然言語データを処理して、言語符号化出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、潜在性テキスト埋め込み出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、変換出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、テキストセグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、意味論的意図出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、アップスケールされたテキストまたは自然言語出力(たとえば、入力テキストまたは自然言語よりも高品質であるテキストまたは自然言語データ、など)を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、予測出力を生成し得る。
【0065】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、音声データであってよい。機械学習型モデルは、音声データを処理して、出力を生成し得る。例として、機械学習型モデルは、音声データを処理して、音声認識出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、音声翻訳出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、潜在性埋め込み出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、符号化音声出力(たとえば、音声データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、アップスケーリングされた音声出力(たとえば、入力音声データよりも高品質の音声データなど)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、テキスト表現出力(たとえば、入力音声データのテキスト表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、予測出力を生成し得る。
【0066】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、潜在性符号化用データ(たとえば、入力の潜在性空間表現など)であってよい。機械学習型モデルは、潜在性符号化用データを処理して、出力を生成し得る。例として、機械学習型モデルは、潜在性符号化用データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化用データを処理して、再構築出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化用データを処理して、探索出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化用データを処理して、再クラスタ化出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化用データを処理して、予測出力を生成し得る。
【0067】
いくつかの場合には、機械学習型モデルは、信頼できる、および/または効率的な送信もしくは記憶(および/または対応する復号)のために入力データを符号化することを含むタスクを実施するように構成することができる。たとえば、タスクは、オーディオ圧縮タスクであってよい。入力はオーディオデータを含んでよく、出力は圧縮オーディオデータを含んでよい。別の例では、入力は視覚データ(たとえば、1つまたは複数の画像またはビデオ)を含み、出力は圧縮視覚データを含み、タスクは視覚データ圧縮タスクである。別の例では、タスクは、入力データ(たとえば、入力オーディオまたは視覚データ)用の埋め込みを生成することを含んでよい。
【0068】
図6Aは、本開示を実装するのに使うことができる1つの例示的コンピューティングシステムを示す。他のコンピューティングシステムが使われてもよい。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス602は、モデル訓練器660およびトレーニングデータセット662を含むことができる。そのような実装形態では、モデル620は、ユーザコンピューティングデバイス602において局所的にトレーニングされることと使用されることの両方が可能である。そのような実装形態のうちのいくつかでは、ユーザコンピューティングデバイス602は、ユーザ固有データに基づいてモデル620を個別化するためにモデル訓練器660を実装することができる。
【0069】
図6Bは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス700のブロック図を示す。コンピューティングデバイス700は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであり得る。
【0070】
コンピューティングデバイス700は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習型モデルを含む。たとえば、各アプリケーションは、機械学習型モデルを含むことができる。例示的なアプリケーションは、テキストメッセージングアプリケーション、電子メールアプリケーション、口述筆記アプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
【0071】
図6Bに示すように、各アプリケーションは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使用して各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使われるAPIは、そのアプリケーションに固有である。
【0072】
図6Cは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス800のブロック図を示す。コンピューティングデバイス800は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0073】
コンピューティングデバイス800は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信している。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使用して、中央インテリジェンスレイヤ(およびその中に記憶されるモデル)と通信することができる。
【0074】
中央インテリジェンスレイヤは、いくつかの機械学習型モデルを含む。たとえば、図6Cに示すように、それぞれの機械学習型モデルが、各アプリケーションに与えられ、中央インテリジェンスレイヤによって管理され得る。他の実装形態では、2つ以上のアプリケーションが、単一の機械学習型モデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンスレイヤは、アプリケーションすべてに単一モデルを提供することができる。いくつかの実装形態では、中央インテリジェンスレイヤは、コンピューティングデバイス800のオペレーティングシステムに含まれるか、またはそうでなければ、オペレーティングシステムによって実装される。
【0075】
中央インテリジェンスレイヤは、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス800向けのデータの集中型リポジトリであってよい。図6Cに示すように、中央デバイスデータレイヤは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、中央デバイスデータレイヤは、API(たとえば、プライベートAPI)を使用して、各デバイス構成要素と通信することができる。
【0076】
追加開示
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびにそのようなシステムとの間で取られるアクション、および送られる情報に言及する。コンピュータベースのシステムの固有のフレキシビリティは、構成要素の間でのタスクおよび機能性の多種多様な可能な構成、組合せ、および分割を可能にする。たとえば、本明細書で説明するプロセスは、単一のデバイスもしくは構成要素または組み合わせて働く複数のデバイスもしくは構成要素を使用して実装され得る。データベースおよびアプリケーションは、単一のシステム上で実装されること、または複数のシステムにわたって分散されることが可能である。分散構成要素は、連続的にまたは並行して動作することができる。
【0077】
本主題を、その様々な具体的な例示的実施形態に関して詳しく記載したが、各例は、本開示の限定ではなく、説明として与えられている。当業者は、上記を理解すると、そのような実施形態への改変、変形、および等価物を容易に生じることができよう。したがって、本開示は、当業者には容易に明らかになるように、本主題へのそのような修正、変形および/または追加を含めることを排除しない。たとえば、ある実施形態の一部として図示または説明した特徴は、またさらなる実施形態を生み出すために別の実施形態とともに使用され得る。したがって、本開示がそのような代替、変形、および等価物を包含することが意図されている。
【符号の説明】
【0078】
100 画像モデル、画像編集モデル
105 事前トレーニング済み拡散モデル、事前トレーニング済みモデル
600 コンピューティングシステム、システム
602 ユーザコンピューティングデバイス
612 プロセッサ
614 メモリ、ユーザコンピューティングデバイスメモリ
622 ユーザ入力構成要素
630 サーバコンピューティングシステム
632 プロセッサ
634 メモリ
650 トレーニング用コンピューティングシステム
652 プロセッサ
654 メモリ
660 モデル訓練器
680 ネットワーク
700 コンピューティングデバイス
800 コンピューティングデバイス
図1
図2
図3
図4
図5
図6A
図6B
図6C
【外国語明細書】