(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-21
(54)【発明の名称】精度が向上し、計算リソースの消費が減少した拡散モデル
(51)【国際特許分類】
G06N 20/00 20190101AFI20240514BHJP
【FI】
G06N20/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023560706
(86)(22)【出願日】2022-06-13
(85)【翻訳文提出日】2023-11-20
(86)【国際出願番号】 US2022033253
(87)【国際公開番号】W WO2022265992
(87)【国際公開日】2022-12-22
(32)【優先日】2021-06-14
(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)【発明者】
【氏名】ティム・サリマンス
(57)【要約】
精度が向上した拡散モデルの使用のためのコンピュータ実装方法は、入力データを取得するステップであって、入力データは1つまたは複数のチャネルを含む、ステップと、入力データを機械学習型拡散モデルに与えるステップであって、機械学習型拡散モデルは、複数のノイズ化段階を含むノイズ化モデルであって、入力データを受信し、入力データの受信に応答して中間データを生じるようにノイズを導入するように構成されたノイズ化モデルと、中間データから出力データを再構築するように構成されたノイズ除去モデルとを含む、ステップと、コンピューティングシステムによって、機械学習型拡散モデルから出力データを受信するステップとを含む。拡散モデルは、学習されたノイズスケジュールを含み得る。追加および/または代替として、ノイズ除去モデルへの入力は、フーリエ特徴のセットを含み得る。追加および/または代替として、拡散モデルは、証拠下限のための連続時間損失に少なくとも部分的に基づいてトレーニングされ得る。
【特許請求の範囲】
【請求項1】
微細スケール予測の向上のためにフーリエ特徴を活用するコンピューティングシステムであって、
1つまたは複数のプロセッサと、
1つまたは複数の非一時的コンピュータ可読媒体と
を備え、前記非一時的コンピュータ可読媒体は、
少なくとも、機械学習型拡散モデルのノイズ除去モデルであって、前記機械学習型拡散モデルは、
複数のノイズ化段階を含むノイズ化モデルであって、入力データを受信し、前記入力データの受信に応答して潜在データを生じるように構成されたノイズ化モデルと、
前記潜在データから出力データを再構築するように構成された前記ノイズ除去モデルと
を含み、
前記ノイズ除去モデルへの入力は、前記複数のノイズ化段階のうちの少なくとも1つの段階のチャネルの線形投射を含むフーリエ特徴のセットを含む、ノイズ除去モデルと、
前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングシステムに、前記出力データを生成するように前記潜在データを処理するために、前記ノイズ除去モデルを実行させる命令と
をまとめて記憶する、コンピューティングシステム。
【請求項2】
前記フーリエ特徴のセットは、前記複数のノイズ化段階の各々の前記チャネルの線形投射を含む、請求項1に記載のコンピューティングシステム。
【請求項3】
前記フーリエ特徴のセットは、高周波数をもつ周期的基底関数のセットへの、前記複数のノイズ化段階のうちの少なくとも1つの段階の線形投射を含む、請求項1に記載のコンピューティングシステム。
【請求項4】
前記フーリエ特徴のセットは、4つのチャネルを含む、請求項1に記載のコンピューティングシステム。
【請求項5】
前記フーリエ特徴のセットは、
【数1】
の形の少なくとも1つのフーリエ特徴を含み、上式で、qは前記フーリエ特徴の周波数であり、iおよびjは位置インデックスであり、kはチャネルインデックスであり、z
i,j,kは、前記位置インデックスおよび前記チャネルインデックスにおけるネットワーク入力である、請求項1に記載のコンピューティングシステム。
【請求項6】
前記フーリエ特徴のセットは、
【数2】
の形の少なくとも1つのフーリエ特徴を含み、上式で、qは前記フーリエ特徴の周波数であり、iおよびjは位置インデックスであり、kはチャネルインデックスであり、z
i,j,kは、前記位置インデックスおよび前記チャネルインデックスにおけるネットワーク入力である、請求項1に記載のコンピューティングシステム。
【請求項7】
前記入力データはビット長を含み、
前記フーリエ特徴のセットは、1から前記ビット長までの各周波数を有するフーリエ特徴を含む、請求項1に記載のコンピューティングシステム。
【請求項8】
前記入力データは8以上のビット長を含み、
前記フーリエ特徴のセットは、7から前記ビット長までの各周波数を有するフーリエ特徴を含む、請求項1に記載のコンピューティングシステム。
【請求項9】
前記入力データは画像データを含む、請求項1に記載のコンピューティングシステム。
【請求項10】
前記潜在データは前記入力データの圧縮表現を含み、
前記出力データは前記入力データの圧縮解除表現を含む、請求項1に記載のコンピューティングシステム。
【請求項11】
精度が向上した拡散モデルの使用のためのコンピュータ実装方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、入力データを取得するステップであって、前記入力データは、1つまたは複数のチャネルを含む、ステップと、
前記コンピューティングシステムによって、前記入力データを機械学習型拡散モデルに与えるステップであって、前記機械学習型拡散モデルは、
複数のノイズ化段階を含むノイズ化モデルであって、前記入力データを受信し、前記入力データの受信に応答して中間データを生じるように、ノイズを導入するように構成されたノイズ化モデルと、
前記中間データから出力データを再構築するように構成されたノイズ除去モデルと
を含み、
前記ノイズ除去モデルへの入力は、前記複数のノイズ化段階のうちの少なくとも1つの段階のチャネルの線形投射を含むフーリエ特徴のセットを含む、ステップと、
前記コンピューティングシステムによって、前記機械学習型拡散モデルから前記出力データを受信するステップと
を含む、コンピュータ実装方法。
【請求項12】
前記フーリエ特徴のセットは、前記複数のノイズ化段階の各々の前記チャネルの線形投射を含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記フーリエ特徴のセットは、高周波数をもつ周期的基底関数のセットへの、前記複数のノイズ化段階のうちの少なくとも1つの段階の線形投射を含む、請求項11に記載のコンピュータ実装方法。
【請求項14】
前記フーリエ特徴のセットは、4つのチャネルを含む、請求項11に記載のコンピュータ実装方法。
【請求項15】
前記フーリエ特徴のセットは、
【数3】
の形の少なくとも1つのフーリエ特徴を含み、上式で、qは前記フーリエ特徴の周波数であり、iおよびjは位置インデックスであり、kはチャネルインデックスであり、z
i,j,kは、前記位置インデックスおよび前記チャネルインデックスにおけるネットワーク入力である、請求項11に記載のコンピュータ実装方法。
【請求項16】
前記フーリエ特徴のセットは、
【数4】
の形の少なくとも1つのフーリエ特徴を含み、上式で、qは前記フーリエ特徴の周波数であり、iおよびjは位置インデックスであり、kはチャネルインデックスであり、z
i,j,kは、前記位置インデックスおよび前記チャネルインデックスにおけるネットワーク入力である、請求項11に記載のコンピュータ実装方法。
【請求項17】
前記入力データはビット長を含み、
前記フーリエ特徴のセットは、1から前記ビット長までの各周波数を有するフーリエ特徴を含む、請求項11に記載のコンピュータ実装方法。
【請求項18】
前記入力データは8以上のビット長を含み、
前記フーリエ特徴のセットは、7から前記ビット長までの各周波数を有するフーリエ特徴を含む、請求項11に記載のコンピュータ実装方法。
【請求項19】
前記入力データは画像データを含む、請求項11に記載のコンピュータ実装方法。
【請求項20】
前記出力データは、再構築された入力データを含む、請求項11に記載のコンピュータ実装方法。
【請求項21】
少なくとも、拡散モデルのノイズ化モデルをまとめて記憶する1つまたは複数の非一時的コンピュータ可読媒体であって、前記拡散モデルは、
複数のノイズ化段階を含む前記ノイズ化モデルであって、中間データを生じるように、ノイズスケジュールに従って入力データにノイズを導入するように構成されたノイズ化モデルと、
前記中間データから出力データを再構築するように構成されたノイズ除去モデルと
を含み、
前記ノイズスケジュールは、1つまたは複数の学習されたパラメータ値を含む、学習されたノイズスケジュールである、1つまたは複数の非一時的コンピュータ可読媒体。
【請求項22】
前記学習されたノイズスケジュールは、前記拡散モデルの周辺分布の2乗平均と、前記周辺分布の2乗分散の比を含む、請求項21に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項23】
前記学習されたノイズスケジュールは、前記拡散モデルと共同で学習される、請求項21に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項24】
前記学習されたノイズスケジュールは信号対ノイズ比関数を含む、請求項21に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項25】
前記学習されたノイズスケジュールは、単調増加関数によってパラメータ化される、請求項21に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項26】
前記単調増加関数は単調増加ニューラルネットワークを含む、請求項25に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項27】
前記単調増加ニューラルネットワークは、正となるように制限される1つまたは複数の線形レイヤを含む、請求項26に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項28】
前記単調増加ニューラルネットワークは、
【数5】
によって表され、上式で、l
i(t)は、時間ステップtにおける前記単調増加ニューラルネットワークの第iのレイヤであり、φはシグモイド関数である、請求項27に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項29】
前記単調増加ニューラルネットワークは、
【数6】
として後処理され、上式で、前記単調増加ニューラルネットワークの範囲が[SNR
min,SNR
max]に制限されるように、γ
0=-log(SNR
max)およびγ
1=-log(SNR
min)であり、γ
0およびγ
1は、前記ノイズ除去モデルのパラメータと共同で最適化される、請求項28に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項30】
前記ノイズスケジュールに関する損失関数の導関数は、前記ノイズ除去モデルを通る第2の逆伝搬経路なしで、前記拡散モデルの他のパラメータの勾配と共に計算される、請求項21に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項31】
前記学習されたノイズスケジュールのパラメータは、前記拡散モデルの他のパラメータと一緒に証拠下限を最大にすることによって学習される、請求項21に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項32】
前記拡散モデルは連続時間拡散モデルであり、
前記学習されたノイズスケジュールのパラメータは、前記学習されたノイズスケジュールのエンドポイントに関して証拠下限を最適化することによって学習される、請求項21に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項33】
前記学習されたノイズスケジュールのパラメータは、2乗拡散損失に対して確率的勾配降下を実施することによって、分散を最小にすることによって学習される、請求項21に記載の1つまたは複数の非一時的コンピュータ可読媒体。
【請求項34】
精度が向上した拡散モデルの使用のためのコンピュータ実装方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、入力データを取得するステップであって、前記入力データは、1つまたは複数のチャネルを含む、ステップと、
前記コンピューティングシステムによって、前記入力データを機械学習型拡散モデルに与えるステップであって、前記機械学習型拡散モデルは、
複数のノイズ化段階を含むノイズ化モデルであって、前記入力データを受信し、前記入力データの受信に応答して中間データを生じるように、ノイズを導入するように構成されたノイズ化モデルと、
前記中間データから出力データを再構築するように構成されたノイズ除去モデルと
を含み、
前記機械学習型拡散モデルは、学習されたノイズスケジュールを含む、ステップと、
前記コンピューティングシステムによって、前記機械学習型拡散モデルから前記出力データを受信するステップと
を含むコンピュータ実装方法。
【請求項35】
前記学習されたノイズスケジュールは、前記機械学習型拡散モデルの周辺分布の2乗平均と、前記周辺分布の2乗分散の比を含む、請求項34に記載のコンピュータ実装方法。
【請求項36】
前記学習されたノイズスケジュールは、前記機械学習型拡散モデルと共同で学習される、請求項34に記載のコンピュータ実装方法。
【請求項37】
前記学習されたノイズスケジュールは信号対ノイズ比関数を含む、請求項34に記載のコンピュータ実装方法。
【請求項38】
前記学習されたノイズスケジュールは、単調増加関数によってパラメータ化される、請求項34に記載のコンピュータ実装方法。
【請求項39】
前記単調増加関数は単調増加ニューラルネットワークを含む、請求項38に記載のコンピュータ実装方法。
【請求項40】
前記単調増加ニューラルネットワークは、正となるように制限される1つまたは複数の線形レイヤを含む、請求項39に記載のコンピュータ実装方法。
【請求項41】
前記単調増加ニューラルネットワークは、
【数7】
によって表され、上式で、l
i(t)は、時間ステップtにおける前記単調増加ニューラルネットワークの第iのレイヤであり、φはシグモイド関数である、請求項40に記載のコンピュータ実装方法。
【請求項42】
前記単調増加ニューラルネットワークは、
【数8】
として後処理され、上式で、前記単調増加ニューラルネットワークの範囲が[SNR
min,SNR
max]に制限されるように、γ
0=-log(SNR
max)およびγ
1=-log(SNR
min)であり、γ
0およびγ
1は、前記ノイズ除去モデルのパラメータと共同で最適化される、請求項41に記載のコンピュータ実装方法。
【請求項43】
前記ノイズスケジュールに関する損失関数の導関数は、前記ノイズ除去モデルを通る第2の逆伝搬経路なしで、前記拡散モデルの他のパラメータの勾配と共に計算される、請求項34に記載のコンピュータ実装方法。
【請求項44】
前記学習されたノイズスケジュールのパラメータは、前記拡散モデルの他のパラメータと一緒に証拠下限を最大にすることによって学習される、請求項34に記載のコンピュータ実装方法。
【請求項45】
前記拡散モデルは連続時間拡散モデルであり、
前記学習されたノイズスケジュールのパラメータは、前記学習されたノイズスケジュールのエンドポイントに関して証拠下限を最適化することによって学習される、請求項34に記載のコンピュータ実装方法。
【請求項46】
前記学習されたノイズスケジュールのパラメータは、2乗拡散損失に対して確率的勾配降下を実施することによって、分散を最小にすることによって学習される、請求項34に記載のコンピュータ実装方法。
【請求項47】
より少ない計算リソースを消費しながら、拡散モデルをトレーニングするためのコンピュータ実装方法であって、
1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、トレーニングデータを取得するステップであって、前記トレーニングデータは1つまたは複数のチャネルを含む、ステップと、
前記コンピューティングシステムによって、前記トレーニングデータを機械学習型拡散モデルに与えるステップであって、前記機械学習型拡散モデルは、
複数のノイズ化段階を含むノイズ化モデルであって、前記トレーニングデータを受信し、前記トレーニングデータの受信に応答して中間データを生じるように、ノイズを導入するように構成されたノイズ化モデルと、
前記中間データから出力データを再構築するように構成されたノイズ除去モデルと
を含む、ステップと、
前記コンピューティングシステムによって、前記トレーニングデータをもつ前記機械学習型拡散モデルの使用に少なくとも部分的に基づいてトレーニング損失を決定するステップであって、
前記機械学習型拡散モデルは、前記機械学習型拡散モデルのパラメータを証拠下限の方へ最適化することによってトレーニングされ、
前記証拠下限は連続時間損失を含む、ステップと
を含むコンピュータ実装方法。
【請求項48】
前記連続時間損失は、前記連続時間損失の不偏推定量を使用して近似される、請求項47に記載のコンピュータ実装方法。
【請求項49】
前記不偏推定量はモンテカルロ推定量を含む、請求項48に記載のコンピュータ実装方法。
【請求項50】
前記連続時間損失は無限深度を含む、請求項47に記載のコンピュータ実装方法。
【請求項51】
精度が向上した拡散モデルの使用のためのコンピュータ実装方法であって、
圧縮データを受信するステップと、
拡散モデルの一部としてトレーニングされたノイズ除去モデルで前記圧縮データを圧縮解除するステップと
を含み、
1)前記ノイズ除去モデルへの入力が1つまたは複数のフーリエ特徴を含むか、
2)前記ノイズ除去モデルが、学習されたノイズスケジュールを含むか、または
3)前記ノイズ除去モデルが、連続時間損失関数を使用してトレーニングされるか
のうちの少なくとも1つである、コンピュータ実装方法。
【請求項52】
前記圧縮データは、画像データ、オーディオデータ、テキストデータ、または不完全データのうちの少なくとも1つを含む、請求項51に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2021年6月14日に出願された米国仮特許出願第63/210,314号に対する優先権およびその利益を主張する。米国仮特許出願第63/210,314号は、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は概して、機械学習に関する。より詳細には、本開示は、精度が向上した拡散モデルに関する。
【背景技術】
【0003】
尤度ベースの生成モデリングは、広範囲のアプリケーションにとって基本となる機械学習における中心タスクである。自己回帰モデルは、長い間、尤度および表現度の扱いやすさにより、このタスクにおける支配的モデルクラスだった。拡散モデルは、ノイズ化モデル(noising model)およびノイズ除去モデル(denoising model)を含む機械学習型モデル(machine-learned model)のクラスである。拡散モデルは、密度推定ベンチマークにおいて、自己回帰モデルにはまだ匹敵していない。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実施形態の態様および利点は、以下の説明において部分的に記載されるか、または説明から知ることができるか、または実施形態の実施を通して知ることができる。
【0005】
本開示の1つの例示的態様は、向上した微細スケール予測のためにフーリエ特徴を活用するコンピューティングシステムを対象とする。コンピューティングシステムは、1つまたは複数のプロセッサと、1つまたは複数の非一時的コンピュータ可読媒体とを含み、非一時的コンピュータ可読媒体は、少なくとも、機械学習型拡散モデルのノイズ除去モデルであって、拡散モデルは、複数のノイズ化段階を含むノイズ化モデルであって、入力データを受信し、入力データの受信に応答して潜在データを生じるように構成されたノイズ化モデルと、潜在データから出力データを再構築するように構成されたノイズ除去モデルとを含み、ノイズ除去モデルへの入力は、複数のノイズ化段階のうちの少なくとも1つの段階のチャネルの線形投射を含むフーリエ特徴のセットを含む、ノイズ除去モデルと、1つまたは複数のプロセッサによって実行されると、コンピューティングシステムに、出力データを生成するように潜在データを処理するために、ノイズ除去モデルを実行させる命令とをまとめて記憶する。
【0006】
本開示の別の例示的態様は、精度が向上した拡散モデルの使用のためのコンピュータ実装方法を対象とし、この方法は、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、入力データを取得するステップであって、入力データは、1つまたは複数のチャネルを含む、ステップと、コンピューティングシステムによって、入力データを機械学習型拡散モデルに与えるステップであって、機械学習型拡散モデルは、複数のノイズ化段階を含むノイズ化モデルであって、入力データを受信し、入力データの受信に応答して中間データを生じるように、ノイズを導入するように構成されたノイズ化モデルと、中間データから出力データを再構築するように構成されたノイズ除去モデルとを含み、ノイズ除去モデルへの入力は、複数のノイズ化段階のうちの少なくとも1つの段階のチャネルの線形投射を含むフーリエ特徴のセットを含む、ステップと、コンピューティングシステムによって、機械学習型拡散モデルから出力データを受信するステップとを含む。
【0007】
本開示の別の例示的態様は、少なくとも、拡散モデルのノイズ化モデルをまとめて記憶する1つまたは複数の非一時的コンピュータ可読媒体を対象とし、拡散モデルは、複数のノイズ化段階を含むノイズ化モデルであって、中間データを生じるように、ノイズスケジュールに従って入力データにノイズを導入するように構成されたノイズ化モデルと、中間データから出力データを再構築するように構成されたノイズ除去モデルとを含み、ノイズスケジュールは、1つまたは複数の学習されたパラメータ値を含む、学習されたノイズスケジュールである。
【0008】
本開示の別の例示的態様は、精度が向上した拡散モデルの使用のためのコンピュータ実装方法を対象とし、この方法は、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、入力データを取得するステップであって、入力データは、1つまたは複数のチャネルを含む、ステップと、コンピューティングシステムによって、入力データを機械学習型拡散モデルに与えるステップであって、機械学習型拡散モデルは、複数のノイズ化段階を含むノイズ化モデルであって、入力データを受信し、入力データの受信に応答して中間データを生じるように、ノイズを導入するように構成されたノイズ化モデルと、中間データから出力データを再構築するように構成されたノイズ除去モデルとを含み、拡散モデルは、学習されたノイズスケジュールを含む、ステップと、コンピューティングシステムによって、機械学習型拡散モデルから出力データを受信するステップとを含む。
【0009】
本開示の別の例示的態様は、より少ない計算リソースを消費しながら、拡散モデルをトレーニングするためのコンピュータ実装方法を対象とし、この方法は、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、トレーニングデータを取得するステップであって、トレーニングデータは1つまたは複数のチャネルを含む、ステップと、コンピューティングシステムによって、トレーニングデータを機械学習型拡散モデルに与えるステップであって、機械学習型拡散モデルは、複数のノイズ化段階を含むノイズ化モデルであって、トレーニングデータを受信し、トレーニングデータの受信に応答して中間データを生じるように、ノイズを導入するように構成されたノイズ化モデルと、中間データから出力データを再構築するように構成されたノイズ除去モデルとを含む、ステップと、コンピューティングシステムによって、トレーニングデータをもつ機械学習型拡散モデルの使用に少なくとも部分的に基づいてトレーニング損失を決定するステップであって、拡散モデルは、機械学習型拡散モデルのパラメータを証拠下限の方へ最適化することによってトレーニングされ、証拠下限は連続時間損失を含む、ステップとを含む。
【0010】
本開示の別の例示的態様は、精度が向上した拡散モデルの使用のためのコンピュータ実装方法を対象とし、この方法は、圧縮データを受信するステップと、拡散モデルの一部としてトレーニングされたノイズ除去モデルで圧縮データを圧縮解除するステップとを含み、1)ノイズ除去モデルへの入力が、1つまたは複数のフーリエ特徴を含むか、2)ノイズ除去モデルが、学習されたノイズスケジュールを含むか、または3)ノイズ除去モデルが、連続時間損失関数を使ってトレーニングされるかのうちの少なくとも1つである。
【0011】
本開示の他の態様は、様々なシステム、装置、非一時的コンピュータ可読媒体、ユーザインターフェース、および電子デバイスを対象とする。
【0012】
本開示の様々な実施形態のこれらおよび他の特徴、態様、および利点は、以下の説明および添付の特許請求の範囲を参照すると、よりよく理解されよう。本明細書に組み込まれ、本明細書の一部を構成する添付の図面は、本開示の例示的な実施形態を示し、この説明とともに、関連する原理について説明するために役立つ。
【0013】
当業者を対象とする実施形態の詳細な説明が本明細書に記載され、本明細書は添付の図を参照する。
【図面の簡単な説明】
【0014】
【
図1A】本開示の例示的実施形態による、例示的コンピューティングシステムのブロック図である。
【
図1B】本開示の例示的実施形態による、例示的コンピューティングデバイスのブロック図である。
【
図1C】本開示の例示的実施形態による、例示的コンピューティングデバイスのブロック図である。
【
図2】本開示の例示的な実施形態による、例示的な拡散モデルのブロック図である。
【
図3】本開示の例示的な実施形態による例示的方法のフローチャート図である。
【発明を実施するための形態】
【0015】
複数の図にわたって繰り返される参照番号は、様々な実装形態において同じ特徴を識別するものである。
【0016】
概して、本開示は、画像密度推定ベンチマークにおける最高水準の尤度など、最高水準の性能を実現する、柔軟な系統の拡散ベースモデル(たとえば、生成モデル)を対象とする。本開示の例示的態様によるモデルは、拡散モデルの残りと共同で、ノイズスケジュールの効率的最適化を提供する。さらに、モデルのための証拠下限(ELBO)は、信号対ノイズ比(またはノイズスケジュール)に関して、比較的短い表現に単純化することができる。この理解向上により、モデル精度を向上するように最適化することができる連続時間証拠下限の発展が可能になる。さらに、連続時間ELBOは、信号対ノイズ比のエンドポイント以外では、ノイズスケジュールに対して不変であってよい。そうであることにより、得られるELBO推定量の分散を最小にするノイズスケジュールを学習することが可能であり、より速い最適化を提供することができる。本開示の例示的態様による例示的モデルは、ノイズ除去モデルの入力においてフーリエ特徴のセットをさらに含むことができ、これにより、精度結果が向上し得る。
【0017】
尤度ベースの生成モデリングは、特に、たとえば、音声合成、翻訳、圧縮を含む広範なアプリケーションに適用され得る機械学習における中心タスクである。これらのタスク用に、自己回帰モデルが、尤度および表現の扱いやすさにより立証済みである。拡散モデルは、画像生成およびオーディオ生成において、特に知覚品質についてすばらしい結果を示しているが、従来方式では、密度推定ベンチマークにおいて匹敵していない。本開示の例示的態様は、この領域における拡散モデルの競争力を向上するための技術的貢献を提供する。
【0018】
本開示の1つの例示的態様は、拡散モデルにフーリエ特徴を組み込む拡散ベースの生成モデルを対象とする。本開示の別の例示的態様は、本明細書では「ノイズスケジュール」と呼ばれる拡散プロセスの学習可能な仕様を利用する拡散ベースの生成モデルを対象とする。本開示の別の例示的態様は、新規の連続時間証拠下限(ELBO)を利用する拡散ベースの生成モデルを対象とする。この態様は、これらのモデルが、データ拡大なしで、画像密度推定ベンチマークにおける新たな最高水準の対数尤度を含む性能向上を実現することを可能にする。
【0019】
本開示の例示的態様は、拡散モデルとも呼ばれる拡散確率モデル(DPM)を対象とする。拡散モデルは、いくつかの段階、または「時間ステップ」の後の入力データを不明瞭にするようにノイズを入力データに導入するノイズ化モデルを含み得る。このモデルは、有限数のステップTもしくはT→∞としての無限数のステップであるか、またはそれを含み得る。本開示の例示的態様は、より大きい数のステップが、尤度に対する性能向上をもたらすと認識する。たとえば、ノイズ化モデルは、複数のノイズ化段階(たとえば、レイヤ)を含むことができ、各連続レイヤは前のレイヤよりもノイズが多い。たとえば、ノイズ化モデルは、入力データにノイズを導入して、中間データを生じるように構成されてよい。
【0020】
拡散モデルは、追加および/または代替として、いくつかの段階の後の入力データに合致するサンプルを生じることができるノイズ除去モデルを含み得る。たとえば、拡散モデルは、ノイズ化モデルおよび/またはノイズ除去モデルにおいてマルコフ連鎖を含み得る。拡散モデルは離散時間で実装されてよく、たとえば、各レイヤが時間ステップに対応する。拡散モデルは、任意に深い(たとえば、連続する)時間で実装されてもよい。たとえば、目的関数の不偏推定値が単一のレイヤから取得され得るように、モデルは完全にガウスであってよい。したがって、中間レイヤを計算するのを回避することが可能である。拡散モデルは、その構造および損失関数が、任意に深い(たとえば、無限に深い)モデルの効率的トレーニングを可能にする変分オートエンコーダ(VAE)と概念的に同様であってよい。拡散モデルは、変動推論を使ってトレーニングすることができる。具体的には、本開示の例示的態様は、拡散モデルの証拠下限を認識し、連続時間証拠下限を利用して、性能が向上した拡散モデルをトレーニングする。
【0021】
拡散モデルは、潜在変数モデルを形成する1つまたは複数の潜在変数であるか、またはそれを含み得る。これは、条件付き密度(たとえば、p(x|y))を推定する、複数の観察された変数などに拡張することができる。拡散モデルは、拡散プロセス(たとえば、ノイズ化モデル)を含むことができ、これは、生成モデル(たとえば、ノイズ除去モデル)を取得するように反転される。
【0022】
本開示の例示的態様によると、拡散モデルを使うためのコンピュータ実装方法は、1つまたは複数のコンピューティングデバイスを含むコンピューティングシステムによって、入力データを取得するステップを含み得る。いくつかの実装形態では、入力データは1つまたは複数のチャネルを含み得る。たとえば、生成モデリングのあるケースは、xの観察のデータセットを伴い、ここで、タスクは、周辺分布p(x)を推定することである。たとえば、拡散モデルは、データxを受信し、xが与えられた潜在変数ztのシーケンスをサンプリングすることができる。時間ステップtは、時間t=0からt=1まで前進し得る。時間ステップtにおける潜在変数ztの分布は、
【0023】
【0024】
によって与えることができ、上式で、αは周辺分布の平均であり、
【0025】
【0026】
は周辺分布の分散である。平均および/または分散は、tに関するそれらの導関数が有限であるように平滑であってよい。さらに、信号対ノイズ比(SNR)
【0027】
【0028】
は、ノイズスケジュールとも呼ばれるが、tにわたって単調減少であってよい。より全般的には、ノイズスケジュールは、追加および/または代替として、平均および/もしくは分散、ならびに/またはそれらの量の任意の他の適切な比に別々に参照し得る。後続時間ステップにおける潜在変数の同時分布は、一次マルコフ連鎖として分布される。
【0029】
拡散モデルは、中間データから出力データを再構築するように構成されたノイズ除去モデルをさらに含み得る。たとえば、拡散プロセスは、生成モデル(たとえば、ノイズ除去モデル)を生じるように反転されてよい。たとえば、生成モデルは、時間がt=1からt=0へ後進する潜在変数のシーケンスをサンプリングする階層モデルであってよい。
【0030】
モデルパラメータは、限界対数尤度の変動下限を最大にすることによって、最適化することができる。これは、証拠下限(ELBO)とも呼ばれる。本開示の例示的態様によると、前進拡散プロセスを定義する推論モデルパラメータは、モデルの残りと共同で最適化することができる。例示的な負の限界対数尤度は、事前損失、再構築損失、および拡散損失の和で境界される。事前損失は、2つのガウス形の間のKL拡散であり、閉形で計算され得る。ノイズ除去モデル損失は、再パラメータ化勾配を使って評価され、最適化され得る。拡散損失は、時間ステップの数に依存し得る。
【0031】
本開示の例示的態様によると、ノイズ除去モデルへの入力は、複数のノイズ化段階のうちの少なくとも1つの段階のチャネルの線形投射を含むフーリエ特徴のセットを含む。フーリエ特徴のセットは、複数のノイズ化段階の各々のチャネルの線形投射を含み得る。たとえば、フーリエ特徴のセットは、高周波数をもつ周期的基底関数のセットへの、複数のノイズ化段階のうちの少なくとも1つの段階の線形投射を含み得る。直観的に、フーリエ特徴のセットは、入力データの微細な詳細の理解を向上させ得る。いくつかの実装形態では、フーリエ特徴のセットは、4つのチャネルを含み得る。たとえば、フーリエ特徴のセットは、
【0032】
【0033】
という形の少なくとも1つのフーリエ特徴を含み、ここで、qはフーリエ特徴の周波数指数であり、iおよびjは位置インデックスであり、kはチャネルインデックスであり、zi,j,kは、位置インデックスおよびチャネルインデックスにおけるネットワーク入力である。追加および/または代替として、フーリエ特徴のセットは、
【0034】
【0035】
という形の少なくとも1つのフーリエ特徴を含んでよく、ここで、qはフーリエ特徴の周波数指数であり、iおよびjは位置インデックスであり、kはチャネルインデックスであり、zi,j,kは、位置インデックスおよびチャネルインデックスにおけるネットワーク入力である。これらのフーリエ特徴は、qの選択に基づいて、1つまたは複数の周波数を有し得る。いくつかの実装形態では、たとえば、入力データはビット長を有することができ、フーリエ特徴のセットは、1からそのビット長までの各周波数指数を有するフーリエ特徴を含み得る。追加および/または代替として、いくつかの実装形態では、入力データは、8以上のビット長を含むことができ、フーリエ特徴のセットは、7からそのビット長までの各周波数指数を有するフーリエ特徴を含み得る。例として、入力データが8ビットバイトで表される場合、ビット長は8であってよく、フーリエ特徴の4つのチャネルは、27および28の周波数を有するfおよびg特徴を含み得る。より高い(たとえば、27よりも大きい)周波数のみを使用することで、モデルのより速いトレーニングを提供することができる。
【0036】
本開示の例示的態様によると、拡散モデルは、学習されたノイズスケジュールを含み得る。ノイズスケジュールは、拡散モデルの周辺分布の平均および/または周辺分布の分散のうちの少なくとも一方または両方を含み得る。たとえば、いくつかの実装形態では、学習されたノイズスケジュールは、拡散モデルの周辺分布の2乗平均と、周辺分布の2乗分散の比を含む。たとえば、学習されたノイズスケジュールは、信号対ノイズ比関数であってよい。学習されたノイズスケジュールは、ノイズ化モデルおよび/またはノイズ除去モデルと共同で学習されるなど、拡散モデルと共同で学習され得る。
【0037】
いくつかの実装形態では、学習されたノイズスケジュールは、単調増加関数によってパラメータ化することができる。たとえば、いくつかの実装形態では、信号対ノイズ比はSNR(t)=exp(-γη(t))によってパラメータ化することができ、ここで、γη(t)は単調増加関数である。単調増加関数のパラメータηは、拡散モデルと共同で学習され得る。たとえば、いくつかの実装形態では(たとえば、離散時間ケースでは)、パラメータは、他のモデルパラメータと一緒にELBOを最大にすることによって学習され得る。信号対ノイズ比に対する拡散損失が、そのエンドポイントを除いて不変である連続時間ケースでは、パラメータは、エンドポイント(たとえば、その間を補間するスケジュールのパラメータではなく)に関して最適化することによって学習される。たとえば、いくつかの実装形態では、パラメータは、2乗拡散損失に対する確率的勾配降下を実施することによってなど、分散を最小にすることによって学習され得る。この勾配は、ELBOの勾配を算出することの副産物として、比較的低い計算オーバーヘッドで算出され得る。
【0038】
単調増加関数は、本開示の例示的態様による、任意の適切な関数であってもよい。いくつかの実装形態では、単調増加関数は単調増加ニューラルネットワークであってよい。いくつかの実装形態では、単調増加ニューラルネットワークは、正となるように制限される1つまたは複数の線形レイヤを含む。たとえば、いくつかの実装形態では、単調増加ニューラルネットワークは、
【0039】
【0040】
によって表され、上式で、li(t)は、時間ステップtにおける単調増加ニューラルネットワークの第iのレイヤであり、φはシグモイド関数である。いくつかの実装形態では、l2レイヤは1024個の出力を有することができ、他のレイヤは単一の出力を有することができる。いくつかの実装形態では、単調増加ニューラルネットワークは、
【0041】
【0042】
として後処理され、上式で、単調増加ニューラルネットワークの範囲が[SNRmin,SNRmax]に制限されるように、γ0=-log(SNRmax)およびγ1=-log(SNRmin)であり、γ0およびγ1は、ノイズ除去モデルのパラメータと共同で最適化される。たとえば、後処理は、ニューラルネットワークの範囲を境界することができる。
【0043】
いくつかの実装形態では、ノイズスケジュールに関する損失関数の導関数は、ノイズ除去モデルを通る第2の逆伝搬経路なしで、拡散モデルの他のパラメータの勾配と共に計算される。いくつかの実装形態では、学習されたノイズスケジュールのパラメータは、拡散モデルの他のパラメータと一緒に証拠下限を最大にすることによって学習される。いくつかの実装形態では、拡散モデルは連続時間拡散モデルであり、学習されたノイズスケジュールのパラメータは、学習されたノイズスケジュールのエンドポイントに関して証拠下限を最適化することによって学習される。いくつかの実装形態では、学習されたノイズスケジュールのパラメータは、2乗拡散損失に対して確率的勾配降下を実施することによって、分散を最小にすることによって学習される。
【0044】
本開示の例示的態様によると、拡散モデルは、機械学習型拡散モデルのパラメータを証拠下限に向かって最適化することによってトレーニングすることができ、証拠下限は連続時間損失を含む。いくつかの実装形態では、連続時間損失は、連続時間損失の不偏推定量を使って近似される。いくつかの実装形態では、不偏推定量はモンテカルロ推定量を含む。いくつかの実装形態では、連続時間損失は無限深度を含む。
【0045】
たとえば、本開示の例示的態様は、証拠下限が、より大きい数の時間ステップに対して向上することを可能にする。連続時間ケース(たとえば、したがって無限深度を有する)では、ELBOはこのように、性能向上を実現し得る。時間ステップが無限である場合、拡散損失は単純化されてよく、したがって、米国仮特許出願第63/210,314号に記載されるように、実際的な実装形態を提供することができる。いくつかの実装形態では、無限積分を評価することは計算困難であり得るので、不偏モンテカルロ推定量が、拡散損失の代わりに使われ得る。
【0046】
いくつかの実装形態では、入力データは、圧縮されるべきデータを含んでよく、出力データは、再構築された入力データであってよい。たとえば、入力データは拡散モデル(たとえば、ノイズ化モデル)に与えられ得る。中間データは、圧縮表現として記憶され得る。異なるデバイスおよび/または同じデバイスが次いで、中間データにアクセスし、中間データを、入力としてノイズ除去モデルに与え得る。ノイズ除去モデルからの出力データはしたがって、再構築された入力データであり得る。一例として、拡散モデルは、画像圧縮のために使われ得る。たとえば、入力データおよび/または出力データは画像データを含み得る。拡散モデルは、オーディオデータ、テキストデータ、マルチモーダルデータなどのような、他のタイプのデータ圧縮のために使われてもよい。拡散モデルは、信号(たとえば、画像)の生成に使われてもよい。たとえば、ノイズ除去モデルは、入力信号(たとえば、入力分布)からデータ(たとえば、画像データ)を生成するための生成モデルとして利用されてよい。ノイズ除去モデルは、ノイズ化モデルでトレーニングされ、次いで、スタンドアロンモデルとして利用されてよい。たとえば、ノイズ除去モデルは、ノイズ化画像、画像充填、または他の画像操作、オーディオ/テキスト充填もしくはノイズ化または他の操作、翻訳、テキスト画像化、画像テキスト化、音声書き起こし、または入力信号を条件とする、高次元信号の他の予測に有用であり得る。
【0047】
本開示の例示的態様によるシステムおよび方法は、計算技術に対する改良を含む、いくつかの技術的効果および利益を提供することができる。たとえば、本開示の例示的態様による拡散モデルは、尤度の向上など、性能向上を実現することができる。例として、データ圧縮において、本開示の例示的態様によるシステムおよび方法は、既存システムに相対して圧縮データを記憶するのに要するビットがより少ないなど、向上した圧縮比を提供することができる。
【0048】
別の例示的な技術的効果および利益として、本開示の例示的態様によるシステムおよび方法は、拡散モデルをトレーニングするときの計算リソースの消費減少を可能にすることができる。たとえば、本明細書に記載される学習されたノイズスケジュールは、得られるELBO推定量の分散を最小にすることができ、より速い最適化につながる。より速い最適化の結果として、メモリ使用、プロセッサ使用などのような、計算リソースの消費がより少なくなる。同様に、フーリエ特徴を含めることにより、より速いトレーニングを可能にすることもできる。別の例として、連続時間損失の使用は、より少ない時間ステップが実施および/または評価される必要があるトレーニングが起こることを可能にすることができる。より少ない時間ステップを実施および/または評価することの結果として、メモリ使用、プロセッサ使用などのような、計算リソースの消費がより少なくなる。
【0049】
ここで図面を参照して、本開示の例示的実施形態についてさらに詳しく論じる。
【0050】
図1Aは、本開示の例示的実施形態による、例示的コンピューティングシステム100のブロック図を示す。システム100は、ネットワーク180を介して通信可能に結合されている、ユーザコンピューティングデバイス102、サーバコンピューティングシステム130、およびトレーニング用コンピューティングシステム150を含む。
【0051】
ユーザコンピューティングデバイス102は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲーム機もしくはコントローラ、装着可能コンピューティングデバイス、埋込み型コンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、どのタイプのコンピューティングデバイスであってもよい。
【0052】
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112およびメモリ114を含む。1つまたは複数のプロセッサ112は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ114は、データ116と、ユーザコンピューティングデバイス102に動作を実施させるようにプロセッサ112によって実行される命令118とを記憶することができる。
【0053】
いくつかの実装形態では、ユーザコンピューティングデバイス102は、1つまたは複数の拡散モデル120を記憶するか、または含むことができる。たとえば、拡散モデル120は、ニューラルネットワーク(たとえば、深層ニューラルネットワーク)または非線形モデルおよび/もしくは線形モデルを含む他のタイプの機械学習型モデルなど、様々な機械学習型モデルであってよく、またはそうでなければ、それらの機械学習型モデルを含んでよい。ニューラルネットワークは、フィードフォワードニューラルネットワーク、回帰型ニューラルネットワーク(たとえば、長短期メモリ回帰型ニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形のニューラルネットワークを含み得る。いくつかの例示的機械学習型モデルは、自己注意などの注意機構を活用することができる。たとえば、いくつかの例示的機械学習型モデルは、多頭自己注意モデル(たとえば、変圧器モデル)を含み得る。例示的拡散モデル120については、
図2~
図3を参照して論じる。
【0054】
いくつかの実装形態では、1つまたは複数の拡散モデル120は、ネットワーク180を介してサーバコンピューティングシステム130から受信され、ユーザコンピューティングデバイスメモリ114内に記憶され、次いで、1つまたは複数のプロセッサ112によって使われ、またはそうでなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス102は、単一の拡散モデル120の複数の並列インスタンスを実装することができる。
【0055】
追加または代替として、1つまたは複数の拡散モデル140は、クライアント-サーバ関係に従ってユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130に含まれ、またはそうでなければ、サーバコンピューティングシステム130によって記憶され、実装され得る。たとえば、拡散モデル140は、ウェブサービス(たとえば、画像生成サービス)の一部分として、サーバコンピューティングシステム140によって実装され得る。したがって、1つまたは複数のモデル120が、ユーザコンピューティングデバイス102において記憶され、実装されてよく、かつ/または1つもしくは複数のモデル140が、サーバコンピューティングシステム130において記憶され、実装されてよい。
【0056】
ユーザコンピューティングデバイス102は、ユーザ入力を受信する1つまたは複数のユーザ入力構成要素122を含むこともできる。たとえば、ユーザ入力構成要素122は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに敏感な、タッチ感応構成要素(たとえば、タッチ感応表示画面またはタッチパッド)であってよい。タッチ感応構成要素は、仮想キーボードを実装するのに役立つことができる。他の例示的なユーザ入力構成要素は、マイクロフォン、従来のキーボード、またはユーザがユーザ入力を提供することができる他の手段を含む。
【0057】
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132およびメモリ134を含む。1つまたは複数のプロセッサ132は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ134は、データ136と、サーバコンピューティングシステム130に動作を実施させるようにプロセッサ132によって実行される命令138とを記憶することができる。
【0058】
いくつかの実装形態では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、サーバコンピューティングデバイスによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、順次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
【0059】
上述したように、サーバコンピューティングシステム130は、1つまたは複数の拡散モデル140を記憶することができ、またはそうでなければ、モデル140を含むことができる。たとえば、モデル140は、様々な機械学習型モデルであってよく、または、そうでなければそれらを含んでよい。例示的機械学習型モデルは、ニューラルネットワークまたは他のマルチレイヤ非線形モデルを含む。例示的ニューラルネットワークは、フィードフォワードニューラルネットワーク、深層ニューラルネットワーク、回帰型ニューラルネットワーク、および畳み込みニューラルネットワークを含む。いくつかの例示的機械学習型モデルは、自己注意などの注意機構を活用することができる。たとえば、いくつかの例示的機械学習型モデルは、多頭自己注意モデル(たとえば、変圧器モデル)を含み得る。例示的モデル140については、
図2~
図3を参照して論じる。
【0060】
ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130は、ネットワーク180を介して通信可能に結合されるトレーニング用コンピューティングシステム150との対話により、モデル120および/または140をトレーニングすることができる。トレーニング用コンピューティングシステム150は、サーバコンピューティングシステム130とは別個であってよく、またはサーバコンピューティングシステム130の一部分であってよい。
【0061】
トレーニング用コンピューティングシステム150は、1つまたは複数のプロセッサ152およびメモリ154を含む。1つまたは複数のプロセッサ152は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなどおよびそれらの組合せなど、1つまたは複数の非一時的コンピュータ可読記憶媒体を含むことができる。メモリ154は、データ156と、トレーニング用コンピューティングシステム150に動作を実施させるようにプロセッサ152によって実行される命令158とを記憶することができる。いくつかの実装形態では、トレーニング用コンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つまたは複数のサーバコンピューティングデバイスによって実装される。
【0062】
トレーニング用コンピューティングシステム150は、ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130において記憶された機械学習型モデル120および/または140を、たとえば、誤差逆伝搬など、様々なトレーニングまたは学習技法を使ってトレーニングするモデル訓練器160を含み得る。たとえば、損失関数は、(たとえば、損失関数の勾配に基づいて)モデルの1つまたは複数のパラメータを更新するために、モデルを通して逆伝搬され得る。平均2乗誤差、尤度損失、交差エントロピー損失、ヒンジ損失、および/または様々な他の損失関数など、様々な損失関数が使用され得る。勾配降下技法は、いくつかのトレーニング反復に対してパラメータを反復的に更新するために使用され得る。
【0063】
いくつかの実装形態では、誤差逆伝搬を実施することは、時間をかけて短縮逆伝搬を実施することを含み得る。モデル訓練器160は、トレーニングされるモデルの汎化能力を向上するために、いくつかの汎化技法(たとえば、重み減衰、ドロップアウトなど)を実施することができる。
【0064】
特に、モデル訓練器160は、トレーニングデータ162のセットに基づいて、拡散モデル120および/または140をトレーニングすることができる。トレーニングデータ162は、たとえば、画像データ、オーディオデータなどを含み得る。
【0065】
いくつかの実装形態では、ユーザが同意を与えている場合、トレーニング例はユーザコンピューティングデバイス102によって与えられてよい。したがって、そのような実装形態では、ユーザコンピューティングデバイス102に提供されるモデル120は、ユーザコンピューティングデバイス102から受信されるユーザ固有データに対してトレーニング用コンピューティングシステム150によってトレーニングされ得る。いくつかの事例では、このプロセスは、モデルの個別化と呼ばれ得る。
【0066】
モデル訓練器160は、所望の機能性を提供するのに使用されるコンピュータ論理を含む。モデル訓練器160は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアで実装することができる。たとえば、いくつかの実装形態では、モデル訓練器160は、記憶デバイス上に記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含む。他の実装形態では、モデル訓練器160は、RAM、ハードディスクまたは光学もしくは磁気媒体などの有形コンピュータ可読記憶媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含む。
【0067】
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなど、どのタイプの通信ネットワークであってもよく、任意の数のワイヤードまたはワイヤレスリンクを含み得る。概して、ネットワーク180を介した通信は、多種多様な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSL)を使って、どのタイプのワイヤードおよび/またはワイヤレス接続を介しても搬送することができる。
【0068】
本明細書に記載する機械学習型モデルは、様々なタスク、アプリケーション、および/または使用ケースにおいて使われてよい。
【0069】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、画像データであってよい。機械学習型モデルは、画像データを処理して、出力を生成し得る。例として、機械学習型モデルは、画像データを処理して、画像認識出力(たとえば、画像データの認識、画像データの潜在性埋込み、画像データの符号化表現、画像データのハッシュなど)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像分類出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像データ変更出力(たとえば、画像データの改変など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、符号化画像データ出力(たとえば、画像データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、アップスケールされた画像データ出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、予測出力を生成し得る。
【0070】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、テキストまたは自然言語データであってよい。機械学習型モデルは、テキストまたは自然言語データを処理して、出力を生成し得る。例として、機械学習型モデルは、自然言語データを処理して、言語符号化出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、潜在性テキスト埋込み出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、変換出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、テキストセグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、意味論的意図出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、アップスケールされたテキストまたは自然言語出力(たとえば、入力テキストまたは自然言語よりも高品質であるテキストまたは自然言語データ、など)を生成することができる。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、予測出力を生成し得る。
【0071】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、音声データであってよい。機械学習型モデルは、音声データを処理して、出力を生成し得る。例として、機械学習型モデルは、音声データを処理して、音声認識出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、音声変換出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、潜在性埋込み出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、符号化音声出力(たとえば、音声データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、アップスケーリングされた音声出力(たとえば、入力音声データよりも高品質の音声データなど)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、テキスト表現出力(たとえば、入力音声データのテキスト表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、予測出力を生成し得る。
【0072】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、潜在性符号化データ(たとえば、入力の潜在性空間表現など)であってよい。機械学習型モデルは、潜在性符号化データを処理して、出力を生成し得る。例として、機械学習型モデルは、潜在性符号化データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、再構築出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、探索出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、再クラスタ化出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化データを処理して、予測出力を生成し得る。
【0073】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、統計データであってよい。統計データは、何らかの他のデータソースから計算および/もしくは算出されたデータであるか、これを表すか、またはそうでなければこれを含むことができる。機械学習型モデルは、統計データを処理して、出力を生成し得る。例として、機械学習型モデルは、統計データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、予測出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、分類出力を生成し得る。別の例として、機械学習済みモデルは、統計データを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、視覚化出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、診断出力を生成し得る。
【0074】
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、センサーデータであってよい。機械学習型モデルは、センサーデータを処理して、出力を生成し得る。例として、機械学習型モデルは、センサーデータを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、予測出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、視覚化出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、診断出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、検出出力を生成し得る。
【0075】
いくつかの場合には、機械学習型モデルは、信頼できる、および/または効率的な送信もしくは記憶(および/または対応する復号)のために入力データを符号化することを含むタスクを実施するように構成することができる。たとえば、タスクは、オーディオ圧縮タスクであってよい。入力はオーディオデータを含んでよく、出力は圧縮オーディオデータを含んでよい。別の例では、入力は視覚データ(たとえば、1つまたは複数の画像またはビデオ)を含み、出力は圧縮視覚データを含み、タスクは視覚データ圧縮タスクである。別の例では、タスクは、入力データ(たとえば、入力オーディオまたは視覚データ)用の埋込みを生成することを含んでよい。
【0076】
いくつかの場合には、入力は視覚データを含み、タスクはコンピュータビジョンタスクである。いくつかの場合には、入力は、1つまたは複数の画像用のピクセルデータを含み、タスクは画像処理タスクである。たとえば、画像処理タスクは画像分類であってよく、ここで、出力はスコアのセットであり、各スコアは、異なるオブジェクトクラスに対応し、オブジェクトクラスに属するオブジェクトを1つまたは複数の画像が示す見込みを表す。画像処理タスクはオブジェクト検出であってよく、ここで、画像処理出力は、1つまたは複数の画像の中の1つまたは複数の領域と、各領域について、対象のオブジェクトを領域が示す見込みとを識別する。別の例として、画像処理タスクは画像セグメンテーションであってよく、ここで、画像処理出力は、1つまたは複数の画像の中の各ピクセルについて、カテゴリの所定のセット中の各カテゴリについてのそれぞれの見込みを定義する。たとえば、カテゴリのセットは前景および背景であってよい。別の例として、カテゴリのセットはオブジェクトクラスであってよい。別の例として、画像処理タスクは深度推定であってよく、ここで、画像処理出力は、1つまたは複数の画像中の各ピクセルについて、それぞれの深度値を定義する。別の例として、画像処理タスクは動き推定であってよく、ここで、ネットワーク入力は複数の画像を含み、画像処理出力は、入力画像のうちの1つの、各ピクセルについて、ネットワーク入力における画像の間のピクセルにおいて示されるシーンの動きを定義する。
【0077】
いくつかの場合には、入力は、発話を表現するオーディオデータを含み、タスクは音声認識タスクである。出力は、発話にマップされるテキスト出力を含んでよい。いくつかの場合には、タスクは、入力データを暗号化または解読することを含む。いくつかの場合には、タスクは、分岐予測またはメモリアドレス変換などのマイクロプロセッサ実施タスクを含む。
【0078】
図1Aは、本開示を実装するのに使うことができる1つの例示的コンピューティングシステムを示す。他のコンピューティングシステムが使われてもよい。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス102は、モデル訓練器160およびトレーニングデータセット162を含み得る。そのような実装形態では、モデル120は、ユーザコンピューティングデバイス102においてローカルにトレーニングされることと使われることの両方が可能である。そのような実装形態のうちのいくつかでは、ユーザコンピューティングデバイス102は、ユーザ固有データに基づいてモデル120を個別化するために、モデル訓練器160を実装することができる。
【0079】
図1Bは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス10のブロック図を示す。コンピューティングデバイス10は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0080】
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習型モデルを含む。たとえば、各アプリケーションは、機械学習型モデルを含み得る。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
【0081】
図1Bに示すように、各アプリケーションは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使って、各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使われるAPIは、そのアプリケーションに固有である。
【0082】
図1Cは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス50のブロック図を示す。コンピューティングデバイス50は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
【0083】
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信する。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使って、中央インテリジェンスレイヤ(およびその中に記憶されるモデル)と通信することができる。
【0084】
中央インテリジェンスレイヤは、いくつかの機械学習型モデルを含む。たとえば、
図1Cに示すように、それぞれの機械学習型モデルが、各アプリケーションに与えられ、中央インテリジェンスレイヤによって管理され得る。他の実装形態では、2つ以上のアプリケーションが、単一の機械学習型モデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンスレイヤは、アプリケーションすべてに単一モデルを提供することができる。いくつかの実装形態では、中央インテリジェンスレイヤは、コンピューティングデバイス50のオペレーティングシステムに含まれるか、またはそうでなければ、オペレーティングシステムによって実装される。
【0085】
中央インテリジェンスレイヤは、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス50向けのデータの集中型リポジトリであってよい。
図1Cに示すように、中央デバイスデータレイヤは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、中央デバイスデータレイヤは、API(たとえば、プライベートAPI)を使って、各デバイス構成要素と通信することができる。
【0086】
図2は、本開示の例示的な実施形態による、例示的な拡散モデル200のブロック図を示す。いくつかの実装形態では、拡散モデル200は、入力データ210のセットを受信し、入力データ210の受信の結果として、出力データ220を与えるようにトレーニングされる。拡散モデルは、ノイズ化モデル202およびノイズ除去モデル204を含み得る。
【0087】
図3は、本開示の例示的実施形態による、精度が向上した拡散モデルの使用のための例示的方法のフローチャート図を示す。
図3は、説明および考察のために、具体的順序で実施されるステップを示すが、本開示の方法は、具体的に示す順序または並びには限定されない。方法300の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略され、並べ替えられ、組み合わされ、かつ/または適応されてもよい。
【0088】
方法300は、302において、1つまたは複数のコンピューティングデバイスを備えるコンピューティングシステムによって、入力データを取得するステップを含むことができ、入力データは、1つまたは複数のチャネルを含む。たとえば、入力データは画像データであってよい。
【0089】
方法300は、304において、コンピューティングシステムによって、入力データを機械学習型拡散モデルに与えるステップを含み得る。拡散モデルは、複数のノイズ化段階を含むノイズ化モデルであって、入力データを受信し、入力データの受信に応答して中間データを生じるように、ノイズを導入するように構成されたノイズ化モデルと、中間データから出力データを再構築するように構成されたノイズ除去モデルとを含むことができる。
【0090】
方法300は、306において、コンピューティングシステムによって、出力データを機械学習型拡散モデルから受信するステップを含み得る。たとえば、出力データは、再構築された入力データであってよい。
【0091】
本明細書で説明する技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびに取られるアクション、およびそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有の柔軟性は、構成要素の間でのタスクおよび機能の多種多様な可能な構成、組合せ、および分割を可能にする。たとえば、本明細書で説明するプロセスは、単一のデバイスもしくは構成要素、または組合せにおいて働く複数のデバイスもしくは構成要素を使用して実装され得る。データベースおよびアプリケーションは、単一のシステム上で実装されるか、または複数のシステムにわたって分散され得る。分散構成要素は、順次または並行して動作することができる。
【0092】
本主題は、その様々な特定の例示的な実施形態に関して詳細に説明されてきたが、各例は、本開示の限定ではなく、説明として与えられる。当業者は、上記を理解すると、そのような実施形態の改変、変形、および均等物を容易に作り出すことができる。したがって、本開示は、当業者に容易に明らかになるように、本主題に対するそのような変更、変形、および/または追加の包含を排除しない。たとえば、ある実施形態の一部として例示または説明する特徴は、またさらなる実施形態を生じるために、別の実施形態と共に使用され得る。したがって、本開示がそのような改変、変形、および均等物をカバーすることが意図されている。
【符号の説明】
【0093】
100 コンピューティングシステム
102 ユーザコンピューティングデバイス
112 プロセッサ
114 メモリ、コンピューティングデバイスメモリ
120 拡散モデル、機械学習型モデル
122 ユーザ入力構成要素
130 サーバコンピューティングシステム
132 プロセッサ
134 メモリ
140 モデル、拡散モデル、機械学習型モデル
150 トレーニング用コンピューティングシステム
152 プロセッサ
154 メモリ
160 モデル訓練器
162 トレーニングデータ
180 ネットワーク
200 拡散モデル
202 ノイズ化モデル
204 ノイズ除去モデル
210 入力データ
220 出力データ
【国際調査報告】