(57)【要約】  デジタルプロセッサは、サンプリングサーバと並行して機械学習アルゴリズムを作動させる。サンプリングサーバは、例えば、所与の問題に対して、機械学習アルゴリズムの実行中に機械学習アルゴリズムのためのサンプルを連続的又は断続的に抽出し得る。サンプリングサーバは、量子プロセッサと並行して（例えば、共に、重複して、同時に）作動されて、量子プロセッサからサンプルを抽出し得る。
2019533241.tif 000002
【特許請求の範囲】
【請求項１】
機械学習で使用するための計算システムであって、前記計算システムが、
少なくとも１つのデジタルプロセッサコアと、
前記少なくとも１つのデジタルプロセッサコアに通信可能に結合可能であり、かつ前記少なくとも１つのデジタルプロセッサコアによって実行されると、前記少なくとも１つのデジタルプロセッサコアにサンプリングサーバを実装させるプロセッサ実行可能命令又はデータのうちの少なくとも１つを記憶する、少なくとも１つの非一時的なプロセッサ可読媒体と、を備え、前記サンプリングサーバが、
前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアとは別個の少なくとも１つのデジタルプロセッサコア上で前記サンプリングサーバと並行して実行されている機械学習プロセスの反復に関するパラメータの初期セットを受信し、
前記機械学習プロセスの実行と一時的に並行して、サンプルの第１のセットを前記パラメータの初期セットに基づいて生成し、
前記機械学習プロセスの更なる反復で使用するために、前記少なくとも１つのデジタルプロセッサコアによって実装されたときに、サンプリングサーバによって生成された前記サンプルの第１のセットを提供する、計算システム。
【請求項２】
前記プロセッサ実行可能命令又はデータの実行が、前記少なくとも１つのデジタルプロセッサコアに、サンプリングサーバによって生成された前記サンプルの第１のセットと共に関数の第１のセットを提供させ、前記関数の第１のセットが、一次及び二次統計量を含む、請求項１に記載の計算システム。
【請求項３】
前記プロセッサ実行可能命令又はデータの実行が、前記少なくとも１つのデジタルプロセッサコアにボルツマン分布からサンプルを抽出させる、請求項１に記載の計算システム。
【請求項４】
前記プロセッサ実行可能命令又はデータの実行が、前記少なくとも１つのデジタルプロセッサコアにキメラ構造のボルツマン分布からサンプルを抽出させる、請求項３に記載の計算システム。
【請求項５】
前記プロセッサ実行可能命令又はデータの実行が、前記少なくとも１つのデジタルプロセッサコアに、単一温度のギブスサンプリングのマルコフ連鎖、シミュレーテッド焼き戻し、並列焼き戻し、ポピュレーションアニーリング、及びアニールされた重要度サンプリングのうちの少なくとも１つを介してサンプルを抽出させる、請求項１に記載の計算システム。
【請求項６】
前記機械学習プロセスが、生成モデルの対数尤度を最大化する、請求項１に記載の計算システム。
【請求項７】
前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアが、少なくとも１つの量子プロセッサに更に通信可能に結合可能であり、前記プロセッサ実行可能命令又はデータの実行が、前記少なくとも１つのデジタルプロセッサコアに更に、
前記サンプリングサーバからパラメータの現在のセットを提供させ、
前記少なくとも１つの量子プロセッサから、量子プロセッサ生成サンプルのセットを受信させる、請求項１に記載の計算システム。
【請求項８】
前記プロセッサ実行可能命令又はデータの実行が、前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアに更に、
前記量子プロセッサから受信した前記サンプルに対して後処理を実施させる、請求項７に記載の計算システム。
【請求項９】
前記量子プロセッサが、前記サンプリングサーバによって提供された前記パラメータの現在のセットに少なくとも部分的に基づいて分布からサンプルを抽出する、請求項７に記載の計算システム。
【請求項１０】
前記量子プロセッサが、サンプルを抽出する前に連鎖埋め込みを実施する、請求項９に記載の計算システム。
【請求項１１】
前記サンプリングサーバが、前記機械学習プロセスが実行される前記少なくとも１つの別個のデジタルプロセッサコアに、サンプル、サンプルの関数、及び対数分配関数に対する近似値を送信する、請求項１に記載の計算システム。
【請求項１２】
前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアが、メモリ容量を有するグラフィックプロセッサユニットの第１のプロセッサコアであり、前記機械学習プロセスを実行する前記別個の少なくとも１つのデジタルプロセッサコアが、前記グラフィックプロセッサユニットの第２のプロセッサコアであり、前記グラフィックプロセッサユニットの前記第１のプロセッサコアと前記メモリ容量を共有する、請求項１に記載の計算システム。
【請求項１３】
前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアが、第１のグラフィックプロセッサユニットのプロセッサコアであり、前記機械学習プロセスを実行する前記別個の少なくとも１つのデジタルプロセッサコアが、第２のグラフィックプロセッサユニットのプロセッサコアであり、前記第２のグラフィックプロセッサユニットが、前記第１のグラフィックプロセッサユニットとは別個の異なるものである、請求項１に記載の計算システム。
【請求項１４】
前記第１のグラフィック処理ユニットが、第１のコンピュータの一部であり、前記第２のグラフィック処理ユニットが、第２のコンピュータの一部であり、前記第２のコンピュータが、前記第１のコンピュータとは別個の異なるものである、請求項１３に記載の計算システム。
【請求項１５】
前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアが、互いに別個の異なるものである複数のプロセッサの複数のデジタルプロセッサコアを含み、前記複数のプロセッサが、複数のコンピュータの構成要素であり、前記コンピュータが、ネットワークインフラストラクチャを介して通信可能に結合されたマシンのクラスタを形成する、請求項１４に記載の計算システム。
【請求項１６】
前記プロセッサ実行可能命令又はデータの実行が、前記少なくとも１つのデジタルプロセッサコアに更に、
前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアとは別個の前記少なくとも１つのデジタルプロセッサコア上で前記サンプリングサーバと並行して実行されている前記機械学習プロセスのいくつかの反復の各々に関するパラメータの追加セットを反復して受信させ、
前記機械学習プロセスの実行と一時的に並行して、サンプルの追加セットを、前記パラメータの追加セットのうちのそれぞれのパラメータに基づいて、反復して生成させ、
前記機械学習プロセスの前記反復で使用するために、前記少なくとも１つのデジタルプロセッサコアによって実装されたときに、サンプリングサーバによって生成された前記サンプルの追加セットを反復して提供させる、請求項１に記載の計算システム。
【請求項１７】
前記サンプリングサーバが、前記機械学習プロセスと共に、その少なくとも一部と重複して実行される、請求項１に記載の計算システム。
【請求項１８】
前記サンプリングサーバが、前記機械学習プロセスと同時に実行される、請求項１に記載の計算システム。
【請求項１９】
機械学習で使用するための計算システムの動作の方法であって、前記方法が、
サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアによって、前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアとは別個の少なくとも１つのデジタルプロセッサコア上で前記サンプリングサーバと並行して実行されている機械学習プロセスの反復に関するパラメータの初期セットを受信することと、
サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアによって、前記機械学習プロセスの実行と一時的に並行して、サンプルの第１のセットを前記パラメータの初期セットに基づいて生成することと、
サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアによって、前記機械学習プロセスの更なる反復で使用するために、前記少なくとも１つのデジタルプロセッサコアによって実装されたときに、サンプリングサーバによって生成された前記サンプルの第１のセットを提供することと、を含む、方法。
【請求項２０】
サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアによって、サンプリングサーバによって生成された前記サンプルの第１のセットと共に関数の第１のセットを提供することを更に含み、前記関数の第１のセットが、一次及び二次統計量を含む、請求項１９に記載の方法。
【請求項２１】
前記機械学習プロセスを実行する前記別個の少なくとも１つのデジタルプロセッサコアによって、ボルツマン分布からサンプルを抽出することを更に含む、請求項１９に記載の計算システム。
【請求項２２】
前記機械学習プロセスを実行する前記別個の少なくとも１つのデジタルプロセッサコアによって、キメラ構造のボルツマン分布からサンプルを抽出することを更に含む、請求項２１に記載の計算システム。
【請求項２３】
前記機械学習プロセスを実行する前記別個の少なくとも１つのデジタルプロセッサコアによって、単一温度のギブスサンプリングのマルコフ連鎖、シミュレーテッド焼き戻し、並列焼き戻し、ポピュレーションアニーリング、及びアニールされた重要度サンプリングのうちの少なくとも１つを介してサンプルを抽出することを更に含む、請求項１９に記載の計算システム。
【請求項２４】
前記サンプリングサーバによって、前記機械学習プロセスが実行される前記少なくとも１つの別個のデジタルプロセッサコアにサンプルの関数及び対数分配関数に対する近似値を送信することを更に含む、請求項１９に記載の方法。
【請求項２５】
前記サンプリングサーバから少なくとも１つの量子プロセッサにパラメータの現在のセットを提供することと、
前記サンプリングサーバによって、前記少なくとも１つの量子プロセッサから、量子プロセッサ生成サンプルの第２のセットを受信することと、を更に含む、請求項１９に記載の方法。
【請求項２６】
前記サンプリングサーバによって、前記サンプルの現在のセットを更新する前に前記サンプルの第２のセットに対して後処理を実施して、前記サンプルの第２のセットに少なくとも部分的に基づいてサンプルの第３のセットを生成することを更に含む、請求項２５に記載の方法。
【請求項２７】
前記量子プロセッサによって、前記サンプリングサーバによって提供された前記パラメータの現在のセットに少なくとも部分的に基づいて分布からサンプルを抽出することを更に含む、請求項２５に記載の方法。
【請求項２８】
前記量子プロセッサによってサンプルを抽出する前に、前記量子プロセッサによって連鎖埋め込みを実施することを更に含む、請求項２７に記載の方法。
【請求項２９】
前記サンプリングサーバが実装された前記少なくとも１つのデジタルプロセッサコアとは別個の前記少なくとも１つのデジタルプロセッサコア上で前記サンプリングサーバと並行して実行されている前記機械学習プロセスのいくつかの反復の各々に関するパラメータの追加セットを反復して受信することと、
前記機械学習プロセスの実行と一時的に並行して、サンプルの追加セットを、前記パラメータの追加セットのうちのそれぞれのパラメータに基づいて、反復して生成することと、
前記機械学習プロセスの前記反復で使用するために、前記少なくとも１つのデジタルプロセッサコアによって実装されたときに、サンプリングサーバによって生成された前記サンプルの追加セットを反復して提供することと、を更に含む、請求項１９に記載の方法。
【請求項３０】
前記サンプリングサーバが、前記機械学習プロセスと共に、その少なくとも一部と重複して実行される、請求項１９に記載の方法。
【請求項３１】
前記サンプリングサーバが、前記機械学習プロセスと同時に実行される、請求項１９に記載の方法。
【請求項３２】
機械学習で使用するための方法であって、前記方法が、
第１の問題に対する機械学習プロセスの実行の一部として、前記第１の問題に対する前記機械学習プロセスを実行するデジタルプロセッサによってパラメータの初期セットを初期化することと、
前記第１の問題に対する前記機械学習プロセスの実行の一部として、前記機械学習プロセスを実行する前記デジタルプロセッサによって、前記パラメータの初期セットを、前記機械学習プロセスと並行して実行されているサンプリングサーバに送信することと、
前記第１の問題に対する前記機械学習プロセスの実行の一部として、前記パラメータの初期セット及び前記サンプルの関数の計算に基づいて、前記サンプリングサーバによる分布からのサンプルの抽出と並行して、前記機械学習プロセスを実行する前記デジタルプロセッサによって生成モデルの対数尤度を最大化することと、
前記第１の問題に対する前記機械学習プロセスの実行の一部として、前記機械学習プロセスを実行する前記デジタルプロセッサによって、前記サンプルを前記サンプリングサーバから受信することと、
前記第１の問題に対する前記機械学習プロセスの実行の一部として、前記機械学習プロセスを実行する前記デジタルプロセッサによって前記生成モデルの前記対数尤度を最大化することによって、前記受信されたサンプルを使用して前記分布を学習することと、を含む、方法。
【請求項３３】
前記サンプリングサーバによって、分布から前記サンプルを抽出することと、
前記サンプルの前記関数を、前記サンプリングサーバによる一次及び二次統計量として計算することと、を更に含む、請求項３２に記載の方法。
【請求項３４】
前記サンプリングサーバによって、ボルツマン分布から前記サンプルを抽出することを更に含む、請求項３２に記載の方法。
【請求項３５】
前記サンプリングサーバによって、単一温度のギブスサンプリングのマルコフ連鎖、シミュレーテッド焼き戻し、並列焼き戻し、ポピュレーションアニーリング、及びアニールされた重要度サンプリングのうちの少なくとも１つを介して前記サンプルを抽出することを更に含む、請求項３２に記載の方法。
【請求項３６】
機械学習で使用するための方法であって、前記方法が、
第１の問題に対する機械学習プロセスの実行の一部として、
前記第１の問題に対する前記機械学習プロセスを実行するデジタルプロセッサによって、学習される分布に対応する初期パラメータのセットをサンプリングサーバに送信することと、
前記初期パラメータに少なくとも部分的に基づいて、サンプリングサーバによって前記分布からサンプルの第１のセットを抽出して、更新されたパラメータのセットを生成することと、
前記第１の問題に対する前記機械学習プロセスを実行する前記デジタルプロセッサによって、前記サンプルの第１のセット及び前記サンプルの関数を受信することと、
随時、前記サンプリングサーバによって、前記更新されたパラメータを量子プロセッサに送信することと、
随時、前記サンプリングサーバによって、前記量子プロセッサから返却されたサンプルの第２のセットを受信することと、
前記サンプリングサーバによって、前記サンプルの第１のセットを更新して、前記サンプルの第２のセットに少なくとも部分的に基づいて、前記更新されたパラメータ及び前記サンプルの第２のセットに対応するサンプルの第３のセットを生成することと、
前記第１の問題に対する前記機械学習プロセスを実行する前記デジタルプロセッサによって、前記サンプルの第３のセットを受信することと、
前記第１の問題に対する前記機械学習プロセスを実行する前記デジタルプロセッサによって、前記サンプルの第３のセットを使用して、生成モデルの対数尤度を最大化することと、を含む、方法。
【請求項３７】
量子ハードウェアを介して、前記量子プロセッサよって、前記更新されたパラメータに対応する前記サンプルの第２のセットを抽出することを更に含む、請求項３６に記載の方法。
【請求項３８】
前記サンプリングサーバによって前記サンプルの第１のセットを抽出することと、
前記サンプリングサーバによって、前記サンプルの第１のセットの前記サンプルの前記関数を一次及び二次統計量として計算することと、を更に含む、請求項３６に記載の方法。
【請求項３９】
サンプルを抽出する前に、前記量子プロセッサによって連鎖埋め込みを実施することを更に含む、請求項３８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、サンプリングサーバを用いる機械学習システムに関する。
【背景技術】
【０００２】
機械学習
機械学習は、データから学習し、データに基づいて予測を行うことができる方法及び回路に関する。静的プログラム命令に従う方法又は回路とは対照的に、機械学習方法及び回路は、例示的な入力（訓練事例など）からモデルを導出することと、次いでデータ駆動型予測を作成することとを含み得る。
【０００３】
機械学習は、最適化に関連する。いくつかの問題は、訓練事例に対する損失関数を最小化する点で表すことができ、この損失関数は、訓練されているモデルの予測と観察可能なデータとの間の不等を説明する。
【０００４】
機械学習タスクは、教師なし学習、教師あり学習、及び強化学習を含み得る。機械学習へのアプローチとしては、決定木、線形及び二次分類器、事例ベース推論、ベイズ統計、及び人工ニューラルネットワークが挙げられるが、これらに限定されない。
【０００５】
機械学習は、明示的なアプローチが実行不可能であると考慮される状況で使用され得る。アプリケーションエリアの例としては、光学文字認識、検索エンジン最適化、及びコンピュータビジョンが挙げられる。
【０００６】
量子プロセッサ
量子プロセッサは、非量子デバイスに利用できない量子物理現象（重畳、もつれ、及び量子トンネリングなど）を活用し得るコンピューティングデバイスである。量子プロセッサは、超伝導量子プロセッサの形態をとることができる。超伝導量子プロセッサは、複数の量子ビットと、例えば２以上の超伝導量子ビットからなる結合された局所バイアスデバイスとを含み得る。量子ビットの一例は、フラックス量子ビットである。超伝導量子プロセッサはまた、量子ビット間の通信結合を提供する結合デバイス（すなわち、「カプラ」）を用いることができる。本システム及びデバイスと併せて使用され得る例示的な量子プロセッサの更なる詳細及び実施形態は、例えば、米国特許第７，５３３，０６８号、同第８，００８，９４２号、同第８，１９５，５９６号、同第８，１９０，５４８号、及び同第８，４２１，０５３号に記載されている。
【０００７】
断熱量子計算
断熱量子計算は、典型的には、ハミルトニアンを徐々に変化させることによって、既知の初期ハミルトニアン（ハミルトニアンは、固有値がシステムの許容エネルギーである演算子である）から最終ハミルトニアンにシステムを進化させることを伴う。断熱進化の単純な例は、初期ハミルトニアンと最終ハミルトニアンとの間の線形補間である。一例は、以下のとおりである。
【０００８】
【数１】
2019533241.tif 000003
式中、Ｈｉは初期ハミルトニアンであり、Ｈｆは最終ハミルトニアンであり、Ｈｅは、進化又は瞬間ハミルトニアンであり、ｓは、進化速度（すなわち、ハミルトニアン変化の速度）を制御する進化係数である。
【０００９】
システムが進化するにつれて、進化係数ｓは、０〜１になり、それにより、開始時（すなわち、ｓ＝０）において、進化ハミルトニアンＨｅは、初期ハミルトニアンＨｉに等しく、終了時（すなわち、ｓ＝１）において、進化ハミルトニアンＨｅは、最終ハミルトニアンＨｆに等しい。進化が始まる前に、システムは、典型的には、初期ハミルトニアンＨｉの接地状態で初期化され、その目的は、システムが進化の終了時において最終ハミルトニアンＨｆの接地状態で終了するような方法でシステムを進化させることである。進化が速すぎる場合、本システムは、第１の励起状態などのより高いエネルギー状態に遷移することができる。本明細書で使用するとき、「断熱」進化とは、以下の断熱条件を満たす進化であり、
【００１０】
【数２】
2019533241.tif 000004
式中、
【００１１】
【数３】
2019533241.tif 000005
は、ｓの時間微分であり、ｇ（ｓ）は、ｓの関数としてのシステムの接地状態と第１の励起状態との間のエネルギーの差（本明細書では「ギャップサイズ」とも称される）であり、δは、１未満の係数である。
【００１２】
システムが常に進化ハミルトニアンの瞬間接地状態にあるほど進化が十分遅い場合には、反交差での遷移（ギャップサイズが最小であるとき）が回避される。上記の線形進化以外の他の進化スケジュールは、非線形進化、パラメトリック進化などを含むことが可能である。断熱量子計算システム、方法、及び装置に関する更なる詳細は、例えば、米国特許第７，１３５，７０１号及び同第７，４１８，２８３号に記載されている。
【００１３】
量子アニーリング
量子アニーリングは、システムの低エネルギー状態、典型的には好ましくは、接地状態を求めるために使用され得る計算方法である。古典的なシミュレーテッドアニーリングの概念と同様に、本方法は、低エネルギー状態がより安定しているため、自然システムがより低いエネルギー状態に向かう傾向があるという基本原理に依存する。古典的なアニーリングが古典的な熱変動を使用してシステムを低エネルギー状態及び理想的にはその最小のグローバルエネルギーに導く一方、量子アニーリングは、古典的なアニーリングよりも、より正確にかつ／又はより迅速に最小のグローバルエネルギーを達成するために、不規則性のソース（source of disordering）として、量子トンネリングなどの量子効果を使用することができる。量子アニーリングでは、アニーリングに熱効果及び他のノイズが存在することがある。最終的な低エネルギー状態は、最小のグローバルエネルギーではない場合がある。断熱量子計算は、理想的には、システムが接地状態で開始し、断熱進化を通じて接地状態に留まる量子アニーリングの特殊な場合とみなされ得る。それ故、当業者は、量子アニーリングシステム及び方法が、一般に断熱量子コンピュータに実装され得ることを理解するであろう。本明細書及び添付特許請求の範囲の全体にわたって、量子アニーリングに対するいずれの言及も、文脈上別段の解釈が要求されない限り、断熱量子計算を包含することを意図する。
【００１４】
量子アニーリングは、アニーリングプロセス中に、量子力学を不規則のソース（source of disorder）として使用する。最適化問題などの目的関数は、ハミルトニアンＨＰで符号化されており、アルゴリズムは、ＨＰとは交換可能ではない不規則性ハミルトニアン（disordering Hamiltonian）ＨＤを追加することによって量子効果を導入する。例示的な事例は、以下のとおりであり、
【００１５】
【数４】
2019533241.tif 000006
式中、Ａ（ｔ）及びＢ（ｔ）は、時間依存的な包絡線関数である。例えば、Ａ（ｔ）は、進化中に大きな値から実質的にゼロに変化することができ、ＨＥは、上の断熱量子計算の文脈に記載されるＨｅと同様の進化ハミルトニアンと考えることができる。不規則は、ＨＤを除去することによって（すなわち、Ａ（ｔ）を減少させることによって）緩徐に除去される。
【００１６】
したがって、量子アニーリングは、システムが初期ハミルトニアンで開始し、進化ハミルトニアンを介して、接地状態が問題に対する解決策を符号化する最終「問題」ハミルトニアンＨＰに進化するという点で、断熱量子計算と同様である。進化が十分に遅い場合、本システムは、グローバル最小値（すなわち、正確な解決策）内に、又は正確な解決策にエネルギー的に近い局所最小値に落ち着く可能性がある。計算の性能は、進化時間に対する残留エネルギー（目的関数を使用する正確な解決策との差）を介して査定され得る。計算時間は、いくつかの許容可能な閾値を下回る残留エネルギーを発生させるのに必要な時間である。量子アニーリングでは、ＨＰは、最適化問題を符号化することができ、したがって、ＨＰは、解決策を符号化する量子ビットの下位空間内で斜めであってもよいが、本システムが常に接地状態に留まる必要はない。ＨＰのエネルギー地形は、そのグローバル最小値が解決すべき問題に対する答えであり、低地の局所最小値が良好な近似値であるように作成され得る。
【００１７】
量子アニーリングでは、不規則性ハミルトニアンＨＤの段階的な減少（すなわち、Ａ（ｔ）を減少させること）は、アニーリングスケジュールとして知られる定義されたスケジュールに従うことができる。本システムが進化全体にわたってその接地状態で開始し、そこに留まる断熱量子計算とは異なり、量子アニーリングでは、本システムは、アニーリングスケジュール全体にわたってその接地状態に留まることができない。そのため、量子アニーリングは、ヒューリスティック技術として実装されてもよく、その場合、接地状態の近くのエネルギーを有する低エネルギー状態は、問題に対する近似的な解決策を提供することができる。
【００１８】
前述の関連技術例とそれに関連する制約は、例示的であって排他的ではないものとする。関連技術の他の制約は、本明細書を読み、図面を検討すると、当業者には明らかになるであろう。
【発明の概要】
【００１９】
アナログプロセッサのワーキンググラフより大きい（及び／又は少なくとも十分には提供されていない）サイズ及び／又は接続性を有する少なくともいくつかの問題を処理することができる必要性がある。計算システム及び方法が説明され、少なくともいくつかの態様において、アナログプロセッサのワーキンググラフ内では適合しない表現を有する少なくともいくつかの問題グラフの計算を可能にする（例えば、問題グラフは、プロセッサが与えるよりも多くの計算デバイス及び／又は多くの／他のカプラを必要とするため）。
【００２０】
機械学習で使用するための計算システムは、少なくとも１つのデジタルプロセッサコアと、少なくとも１つのデジタルプロセッサコアに通信可能に結合可能であり、かつ少なくとも１つのデジタルプロセッサコアによって実行されると、少なくとも１つのデジタルプロセッサコアにサンプリングサーバを実装させるプロセッサ実行可能命令又はデータのうちの少なくとも１つを記憶する、少なくとも１つの非一時的なプロセッサ可読媒体とを含み、サンプリングサーバが、サンプリングサーバが実装された少なくとも１つのデジタルプロセッサコアとは別個の少なくとも１つのデジタルプロセッサコア上でサンプリングサーバと並行して実行されている機械学習プロセスの反復に関するパラメータの初期セットを受信し、機械学習プロセスの実行と一時的に並行して、サンプルの第１のセットをパラメータの初期セットに基づいて生成し、機械学習プロセスの更なる反復で使用するために、少なくとも１つのデジタルプロセッサコアによって実装されたときに、サンプリングサーバによって生成されたサンプルの第１のセットを提供する、ものとして要約され得る。サンプリングサーバは、機械学習プロセスと共に又は更には同時に、その少なくとも一部分と重複して実行される。
【００２１】
サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアは、例えば、所与の問題に対して、機械学習アルゴリズムを実行している１つ以上の他のプロセッサコアに、サンプリングサーバによって生成されたサンプルの第１のセットと共に関数の第１のセットを提供し得る。関数の第１のセットは、一次及び二次統計量を含み得る。
【００２２】
サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアは、ボルツマン分布から、例えば、キメラ構造のボルツマン分布からサンプルを抽出し得る。サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアは、単一温度のギブスサンプリングのマルコフ連鎖、シミュレーテッド焼き戻し、並列焼き戻し、ポピュレーションアニーリング、及びアニールされた重要度サンプリングのうちの少なくとも１つを介してサンプルを抽出し得る。
【００２３】
サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアは、サンプリングサーバからパラメータの現在のセットを提供し、少なくとも１つの量子プロセッサから、量子プロセッサ生成サンプルのセットを受信し得る。サンプリングサーバを実装する少なくとも１つのデジタルプロセッサコアは、量子プロセッサから受信したサンプルに対して後処理を実施し得る。
【００２４】
サンプリングサーバは、例えば、機械学習プロセスが実行される少なくとも１つの別個のデジタルプロセッサコアに、サンプル、サンプルの関数、及び対数分配関数に対する近似値を送信し得る。
【００２５】
サンプリングサーバは、例えば、サンプリングサーバが実装された少なくとも１つのデジタルプロセッサコアとは別個の少なくとも１つのデジタルプロセッサコア上でサンプリングサーバと並行して実行されている機械学習プロセスのいくつかの反復の各々に関するパラメータの追加セットを反復して受信し、機械学習プロセスの実行と一時的に並行して、サンプルの追加セットを、パラメータの追加セットのうちのそれぞれのパラメータに基づいて、反復して生成し、機械学習プロセスの反復で使用するために、少なくとも１つのデジタルプロセッサコアによって実装されたときに、サンプリングサーバによって生成されたサンプルの追加セットを反復して提供し得る。
【００２６】
機械学習で使用するための計算システムは、例えば、所与の問題に対して、機械学習プロセスを実行する少なくとも１つのデジタルプロセッサコアを更に含むものとして要約され得る。機械学習プロセスは、例えば、生成モデルの対数尤度を最大化し得る。
【００２７】
サンプリングサーバが実装された少なくとも１つのデジタルプロセッサコアは、メモリ容量を有するグラフィックプロセッサユニットの第１のプロセッサコアであり得、機械学習プロセスを実行する別個の少なくとも１つのデジタルプロセッサコアは、グラフィックプロセッサユニットの第２のプロセッサコアであり得、グラフィックプロセッサユニットの第１のプロセッサコアとメモリ容量を共有する。サンプリングサーバが実装された少なくとも１つのデジタルプロセッサコアは、第１のグラフィックプロセッサユニットのプロセッサコアであり得、機械学習プロセスを実行する別個の少なくとも１つのデジタルプロセッサコアは、第２のグラフィックプロセッサユニットのプロセッサコアであり得、第２のグラフィックプロセッサユニットは、第１のグラフィックプロセッサユニットとは別個の異なるものである。第１のグラフィック処理ユニットは、第１のコンピュータの一部であり得、第２のグラフィック処理ユニットは、第２のコンピュータの一部であり得、第２のコンピュータは、第１のコンピュータとは別個の異なるものである。サンプリングサーバが実装された少なくとも１つのデジタルプロセッサコアは、互いに別個の異なるものである複数のプロセッサの複数のデジタルプロセッサコアを含み得、複数のプロセッサは、複数のコンピュータの構成要素であり得、コンピュータは、ネットワークインフラストラクチャを介して通信可能に結合されたマシンのクラスタを形成し得る。
【００２８】
機械学習で使用するための計算システムは、サンプリングサーバによって提供されたパラメータの現在のセットに少なくとも部分的に基づいて分布からサンプルを抽出する１つ以上の量子プロセッサを更に含むものとして要約され得る。量子プロセッサ（複数可）は、サンプルを抽出する前に連鎖埋め込みを実施し得る。
【００２９】
機械学習で使用するための計算システムは、第１のデジタルプロセッサコア又はコアのセット（すなわち、非一時的なコンピュータ又はプロセッサ可読媒体に記憶されたソフトウェア又はファームウェア命令を実行するハードウェアプロセッサ回路）、及び第２のデジタルプロセッサコア又はコアのセットに実装されたサンプリングサーバ（すなわち、非一時的なコンピュータ又はプロセッサ可読媒体に記憶されたソフトウェア又はファームウェア命令を実行するハードウェアプロセッサ回路）を含み得る。機械学習アルゴリズムを実行するデジタルプロセッサコア（複数可）は、生成モデルの対数尤度を最大化する。サンプリングサーバは、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア（複数可）に通信可能に結合されており、第１のデジタルプロセッサコア（複数可）からパラメータの初期セットを受信し、パラメータの初期セットに基づいて分布からサンプルを抽出し、サンプル及びサンプルの関数を第１のデジタルプロセッサコア（複数可）に送信する。サンプルの関数は、一次及び二次統計量であり得る。サンプリングサーバは、ボルツマン分布からサンプルを抽出し得る。ボルツマン分布は、キメラ構造であり得る。サンプリングサーバは、単一温度のギブスサンプリングのマルコフ連鎖、シミュレーテッド焼き戻し、並列焼き戻し、ポピュレーションアニーリング、及びアニールされた重要度サンプリングのうちの任意の１つ以上を介してサンプルを抽出し得る。計算システムは、サンプリングサーバと通信結合した量子プロセッサを更に備え得る。量子プロセッサは、サンプリングサーバからパラメータの現在のセットを周期的に受信し、分布からサンプルを抽出し、サンプルをサンプリングサーバに送信し、サンプリングサーバは、サンプルを第１のデジタルプロセッサコア又はコアのセットに送信する前に、量子プロセッサから受信したサンプルに対して後処理を実行する。量子プロセッサは、サンプルを抽出する前に連鎖埋め込みを実施し得る。サンプリングサーバは、ＧＰＵ上でデジタルプロセッサとメモリ容量を共有し得る。サンプリングサーバは、異なるＧＰＵ上にあり得る。サンプリングサーバは、異なるマシン上にあり得る。サンプリングサーバは、ネットワーク上のマシンのクラスタ上にあり得る。
【００３０】
第１のデジタルプロセッサコア又はコアのセット、及び第２のデジタルプロセッサコア又はコアのセットに実装されたサンプリングサーバを用いる機械学習のための方法は、第１のデジタルプロセッサコア又はコアのセット（すなわち、非一時的なコンピュータ又はプロセッサ可読媒体に記憶されたソフトウェア又はファームウェア命令を実行するハードウェアプロセッサ回路）が、パラメータの初期セットを初期化することと、第１のデジタルプロセッサコア（複数可）が、パラメータの初期セットをサンプリングサーバに送信することと、第１のデジタルプロセッサコア（複数可）が、パラメータの初期セット及びサンプルの関数の計算に基づいて、サンプリングサーバが分布からサンプルを抽出するのと並行して、生成モデルの対数尤度を最大化することと、サンプリングサーバが、サンプルを第１のデジタルプロセッサコア（複数可）に送信することと、第１のデジタルプロセッサコア（複数可）が、サンプルを使用して、生成モデルの対数尤度を最大化することによって分布を学習することとを含む。サンプルの関数は、一次及び二次統計量であり得る。分布は、ボルツマン分布であり得る。サンプリングサーバは、単一温度のギブスサンプリングのマルコフ連鎖、シミュレーテッド焼き戻し、並列焼き戻し、ポピュレーションアニーリング、及びアニールされた重要度サンプリングのうちの任意の１つ以上を介してサンプルを抽出し得る。特許請求の範囲の方法は、サンプリングサーバと通信結合した量子プロセッサを更に備え得る。デジタルプロセッサは、学習される分布に対応する初期パラメータのセットをサンプリングサーバに送信し、サンプリングサーバは、初期パラメータを使用して、分布からサンプルの第１のセットを抽出し、それによって、更新されたパラメータを生成し、サンプリングサーバがサンプルの第１のセット及びサンプルの関数を第１のデジタルプロセッサコア（複数可）に周期的に又は断続的に送信し、サンプリングサーバは、更新されたパラメータを量子プロセッサに送信し、量子プロセッサは、量子ハードウェアを使用して、更新されたパラメータに対応するサンプルの第２のセットを抽出し、量子プロセッサは、サンプルの第２のセットをサンプリングサーバに返却し、サンプリングサーバは、サンプルの第１のセットを更新するようにサンプルの第２のセットを使用して、更新されたパラメータ及びサンプルの第２のセットに対応するサンプルの第３のセットを生成し、サンプリングサーバは、サンプルの第３のセットを第１のデジタルプロセッサコア又はコアのセットに返却し、第１のデジタルプロセッサコア（複数可）は、サンプルの第３のセットを使用して、生成モデルの対数尤度を最大化する。サンプルの関数は、一次及び二次統計量であり得る。本方法は、サンプルを抽出する前に連鎖埋め込みを実施する量子プロセッサを更に含み得る。
【図面の簡単な説明】
【００３１】
図面において、同一の参照番号は同様の要素又は行為を特定する。図面中の要素の大きさ及び相対位置は必ずしも一定の比率で描かれていない。例えば、種々の要素の形状及び角度は必ずしも一定の比率で描かれておらず、図面の見やすさを向上させるために、これらの要素の一部が任意に拡大されて配置される場合がある。また、描画された要素の特定の形状は、必ずしも特定の要素の実際の形状に関する情報を伝達することを意図せず、図面における認識の容易さのために単独で選択されていてもよい。
【００３２】
【図１】本システム、デバイス、方法、及び物品によるデジタルプロセッサ及びアナログプロセッサを含む例示的なハイブリッドコンピュータを図示する概略図である。
【図２】例えば、本システム、デバイス、物品、及び方法による量子アニーリングを介して、図１のアナログコンピュータを実装するのに好適な例示的なトポロジーの一部分を図示する概略図である。
【図３Ａ】図２のトポロジーを実装するのに好適な制御可能なＺＺカプラの概略図を示す。
【図３Ｂ】２つの超伝導量子ビット、並びにＺＸカプラ及びＸＺカプラの両方を含むシステムの一実施形態の概略図であり、ＺＸカプラ及びＸＺカプラの各々は、図２のトポロジーを実装するのに好適な２つの量子ビット間の情報を通信可能に結合するように動作可能である。
【図４】本システム、デバイス、物品、及び方法に従ってサンプリングサーバからサンプリングすることによって機械学習を実施するための方法を示すフロー図である。
【図５Ａ】本システム、方法、及び装置に従って、デジタルプロセッサ、サンプリングサーバ、及び量子プロセッサ、並びにそれらの間の通信を含む例示的なハイブリッドシステムを図示する概略図である。
【図５Ｂ】本システム、方法、及び装置に従って、デジタルプロセッサ、プロセッサのクラスタとして実装されたサンプリングサーバ、及び量子プロセッサ、並びにそれらの間の通信を含む例示的なハイブリッドシステムを図示する概略図である。
【図６】サンプリングサーバ及び量子プロセッサからサンプリングすることによって機械学習を実施するための方法を示すフロー図である。
【発明を実施するための形態】
【００３３】
以下の説明では、開示される様々な態様に対する十分な理解が得られるようにするために、特定の詳細について説明する。しかしながら、関連する技術分野の当業者であれば、これらの特定の詳細のうちの１つ以上を用いずに、又は、他の方法、構成要素、材料などを用いて態様が実施され得ることがわかるであろう。他の例においては、態様の説明を不必要に曖昧にすることを避けるために、コンピュータシステム、サーバコンピュータ、並びに／又は通信ネットワーク及び関連するハードウェア構成要素若しくは回路に関連付けられた周知の構造を詳細には図示及び説明していない。
【００３４】
文脈上で断らない限り、本明細書及び後続の特許請求の範囲を通して、「含む」「備える」（comprising）は「含む」「備える」（including）と同義であって、包含的又はオープンエンド的である（すなわち、付加的な、挙げられていない要素又は方法行為を排除しない）。
【００３５】
本明細書全体を通して「一態様」又は「態様」への言及は、態様に関連して説明される特定の特徴、構造、又は特性が、少なくとも１つの態様に含まれることを意味する。それ故、本明細書を通した様々な箇所における語句「一態様において」又は「態様において」の出現は、必ずしも全てが同じ態様を指さない。更に、１つ以上の態様において、特定の特徴、構造、又は特性を任意の好適な様式で組み合わせることができる。
【００３６】
本明細書及び添付の特許請求の範囲において用いられるとき、「１つの（a）」、「１つの（an）」、及び「その（the）」という単数形は、文脈上で明示的に断らない限り、複数の参照対象を含む。なお、「又は」という語は、一般に、文脈上で明示的に断らない限り、「及び／又は」を含む意味で使用される。
【００３７】
本明細書で提供される本開示の見出し及び要約書は、便宜的なものでしかなく、態様の範囲又は意味を説明しない。
【００３８】
図１は、アナログコンピュータ１０４に結合されたデジタルコンピュータ１０２を含むハイブリッドコンピューティングシステム１００を図示する。いくつかの態様では、アナログコンピュータ１０４は、量子コンピュータである。例示的なデジタルコンピュータ１０２は、古典的なデジタル処理タスクを実施するために使用され得るデジタルプロセッサ１０６を含む。
【００３９】
デジタルコンピュータ１０２は、１つ以上のコアを有する少なくとも１つのデジタルプロセッサ１０６、少なくとも１つのシステムメモリ１０８、及びシステムメモリ１０８を含む様々なシステム構成要素をデジタルプロセッサ１０６に結合する少なくとも１つのシステムバス１１０を含み得る。
【００４０】
デジタルプロセッサ１０６は、論理処理ユニット、例えば、１つ以上の中央処理ユニット（central processing unit、ＣＰＵ）、グラフィック処理ユニット（graphics processing unit、ＧＰＵ）、デジタル信号プロセッサ（digital signal processor、ＤＳＰ）、特定用途向け集積回路（application-specific integrated circuit、ＡＳＩＣ）、プログラマブルゲートアレイ（programmable gate array、ＦＰＧＡ）、プログラマブル論理コントローラ（programmable logic controller、ＰＬＣ）などを形成する任意の回路であり得る。
【００４１】
デジタルコンピュータ１０２は、ユーザ入出力サブシステム１１２を含み得る。いくつかの態様では、ユーザ入出力サブシステムは、ディスプレイ１１４、マウス１１６、及び／又はキーボード１１８などの、１つ以上のユーザ入出力構成要素を含む。
【００４２】
システムバス１１０は、メモリコントローラを有するメモリバス、周辺バス、及びローカルバスを含む、任意の既知のバス構造又はアーキテクチャを用いることができる。システムメモリ１０８は、読み出し専用メモリ（read-only memory、ＲＯＭ）、静的ランダムアクセスメモリ（static random access memory、ＳＲＡＭ）、フラッシュＮＡＮＤなどの不揮発性メモリ、及びランダムアクセスメモリ（random access memory、ＲＡＭ）などの揮発性メモリを含み得る（図示せず）。
【００４３】
デジタルコンピュータ１０２はまた、他の非一時的なコンピュータ可読若しくはプロセッサ可読記憶媒体又は不揮発性メモリ１２０を含み得る。不揮発性メモリ１２０は、回転媒体、例えば、磁気ハードディスクの読み出しと書き込みを行うためのハードディスクドライブ（hard disk drive、ＨＤＤ）及び／若しくは取り外し可能な光ディスクの読み出しと書き込みを行うための光ディスクドライブ、並びに／又は非回転媒体、例えば、ソリッドステートメモリの読み出しと書き込みを行うためのソリッドステートドライブ（solid state drive、ＳＳＤ）を含む種々の形態をとり得る。光ディスクはＣＤ−ＲＯＭ又はＤＶＤであり得、磁気ディスクは磁気フロッピーディスク若しくはディスケット、又は１つ以上の磁気ディスクプラッタであり得る。不揮発性メモリ１２０は、システムバス１１０を介してデジタルプロセッサと通信し得、システムバス１１０に結合された適切なインターフェース又はコントローラ１２２を含み得る。不揮発性メモリ１２０は、プロセッサ可読若しくはコンピュータ可読命令、データ構造、又はデジタルコンピュータ１０２のための他のデータ（プログラムモジュールと呼ばれることもある）のための長期記憶装置として機能し得る。
【００４４】
デジタルコンピュータ１０２は、ハードディスク、光ディスク、及び／又は磁気ディスクを用いるとして記載されているが、当業者は、他のタイプの不揮発性コンピュータ可読媒体、例えば、磁気カセット、フラッシュメモリカード、フラッシュ、ＲＯＭ、スマートカードなどが用いられ得ることを理解するであろう。当業者は、いくつかのコンピュータアーキテクチャが揮発性メモリ及び不揮発性メモリを用いることを理解するであろう。例えば、揮発性メモリ内のデータは、不揮発性メモリに、又は不揮発性メモリを提供するために集積回路を用いるソリッドステートドライブにキャッシュすることができる。
【００４５】
システムメモリ１０８には、様々なプロセッサ可読若しくはコンピュータ可読命令、データ構造、又は他のデータを記憶させることができる。例えば、システムメモリ１０８は、遠隔のクライアントと通信し、デジタルコンピュータ１０２及びアナログコンピュータ１０４上のリソースを含むリソースの使用をスケジューリングするための命令を記憶し得る。
【００４６】
いくつかの態様では、システムメモリ１０８は、アナログコンピュータ１０４に対する前処理、共処理、及び後処理を実施するためのプロセッサ可読又はコンピュータ可読計算命令を記憶し得る。システムメモリ１０８は、アナログコンピュータ１０４と相互作用するための一組のアナログコンピュータインターフェース命令を記憶し得る。
【００４７】
アナログコンピュータ１０４は、量子プロセッサ１２４などのアナログプロセッサを含み得る。アナログコンピュータ１０４は、隔離された環境、例えば、熱、磁場、及び他の外部ノイズ（図示せず）から量子コンピュータの内部要素を遮蔽する隔離された環境、及び／又はアナログプロセッサの回路が超伝導になる温度（すなわち、臨界温度）以下にアナログプロセッサを冷却する隔離された環境に提供され得る。対照的に、デジタルコンピュータ１０２は、典型的には、超伝導が発生しないはるかに高い温度（例えば、室温）で動作し、及び／又は臨界温度以下でさえも超伝導しない材料を用いてもよい。
【００４８】
図２は、本明細書に記載されるシステム、デバイス、物品、及び方法に従って、量子プロセッサの例示的なトポロジー２００を示す。トポロジー２００は、図１の量子プロセッサ１２４を実装するために使用され得るが、他のトポロジーもまた、本開示のシステム及び方法のために使用することができる。トポロジー２００は、セル２０２ａ、２０２ｂ、２０２ｃ、及び２０２ｄ（集合的に２０２）などの２×２個のセルのグリッドを含み、各セルは、８個の量子ビット、例えば、量子ビット２０４を含む（図２では１個のみがコールアウトされている）。
【００４９】
各セル２０２内には８個の量子ビット２０４が存在し、量子ビット２０４が各セル２０２において、（抽出シート内で水平に延在する）４つの行と、（抽出シート内で垂直に延在する）４つの列とで配列されている。行と列とによる一対の量子ビット２０４を、それぞれのカプラ、例えば、（太い交差形状によって図示された、図２では１つのみがコールアウトされている）カプラ２０６によって、互いに通信可能に結合することができる。それぞれのカプラ２０６は、各セル内の各列の量子ビット（抽出シート内で垂直に向けられた量子ビットを、同じセル内の各行の量子ビット（抽出シート内で水平に向けられた量子ビット）に通信可能に結合するように位置付けられて、動作可能である。追加的に、それぞれのカプラ、例えば、（図２では１つのみがコールアウトされている）カプラ２０８は、各セル内の各列の量子ビット（抽出シート内で垂直に向けられた量子ビット）を、列の向きと同じ方向で最近傍セル内の各列の対応する量子ビット（抽出シート内で垂直に向けられた量子ビット）に通信可能に結合するように位置付けられ、動作可能である。同様に、それぞれのカプラ、例えば、（図２では１つのみがコールアウトされている）カプラ２１０は、各セル内の各行の量子ビット（抽出シート内で水平に向けられた量子ビット）を、行の向きと同じ方向で各最近傍セル内の各行の対応する量子ビット（抽出シート内で水平に向けられた量子ビット）に通信可能に結合するように位置付けられ、動作可能である。カプラ２０６は太い交差形状によって図示されているが、限定することを意図するものではなく、カプラ２０６は、種々の他の形状のいずれかを有し得る。
【００５０】
図３Ａは、制御可能なＺＺカプラ３０１を備えるシステム３００ａの例示的な態様の概略図を示す。制御可能なＺＺカプラ３０１は、ジョセフソン接合３０３によって中断された超伝導材料３０２のループを含み、第１の量子ビット３１０及び第２の量子ビット３２０を結合するために使用される。第１の量子ビット３１０は、複合ジョセフソン接合（compound Josephson junction、ＣＪＪ）３１２によって中断された超伝導材料のループ（又は「量子ビットループ」）３１１を含み、制御可能なＺＺカプラ３０１と第１の量子ビット３１０との間のフラックス３０３の交換を通じて制御可能なＺＺカプラ３０１に結合される。第２の量子ビット３２０は、ＣＪＪ３２２によって中断された超伝導材料のループ（又は「量子ビットループ」）３２１を含み、制御可能なＺＺカプラ３０１と第２の量子ビット３２０との間のフラックス３０４の交換を通じて制御可能なＺＺカプラ３０１に結合される。超伝導材料のループ３０２は、磁気フラックスインダクタ３０６を通って流れる電流によって作り出されたフラックス３０５によって実行処理（threaded）される。本明細書に記載されるシステム、デバイス、物品、及び方法に従って、制御可能なＺＺカプラ３０１をトポロジー２００で使用して量子ビット間の通信結合を提供することができ、ひいては、量子プロセッサで使用することができる。
【００５１】
図３Ａに示されるＺＺカプラの設計の変更例及び、いくつかの用途については改良が、米国特許第７，８９８，２８２号及び米国特許第７，８００，３９５号に提示されている。
【００５２】
図３Ｂは、２つの超伝導量子ビット３３１、３３２、並びにＺＸカプラ３４０及びＸＺカプラ３５０の両方を含むシステム３００ｂの例示的な態様の概略図であり、ＺＸカプラ３４０及びＸＺカプラ３５０の各々は、量子ビット３３１と３３２との間の情報を通信可能に結合するように構成されている。量子ビット３３１及び３３２の各々は、それぞれＣＪＪ  ３３５、３３６によって中断された閉じた超伝導電流経路によって形成された量子ビットループ３３３、３３４をそれぞれ含む。
【００５３】
ＺＸカプラ３４０は、量子ビット３３１の量子ビットループ３３３及び量子ビット３３２のＣＪＪ  ３３６の両方に誘導結合された閉じた超伝導電流経路３４１を含む。したがって、ＺＸカプラ３４０は、量子ビット３３１の量子ビットループ３３３内の持続的電流を量子ビット３３２のＣＪＪ  ３３６に誘導結合することによって、量子ビット３３１におけるＺ自由度と量子ビット３３２におけるＸ自由度との間の結合を提供する。
【００５４】
ＺＸカプラ３４０の場合、２つの同調要素によって同調性が実現される。閉じた超伝導電流経路３４１は、少なくとも１つのジョセフソン接合３４２によって中断され、閉じた超伝導電流経路３４１は、プログラミングインターフェース３４３に誘導結合される。
【００５５】
同様に、ＸＺカプラ３５０は、量子ビット３３２の量子ビットループ３３４及び量子ビット３３１のＣＪＪ  ３３５の両方に誘導結合された閉じた超伝導電流経路３５１を含む。したがって、ＸＺカプラ３５０は、量子ビット３３２の量子ビットループ３３４内の持続的電流を量子ビット３３１のＣＪＪ  ３３５に誘導結合することによって、量子ビット３３１におけるＸ自由度と量子ビット３３２におけるＺ自由度との間の結合を提供する。
【００５６】
ＸＺカプラ３５０及びＺＸカプラ３４０の両方はまた、２つの同調要素の組み合わせによって同調可能に作製され得る。閉じた超伝導電流経路３５１は、少なくとも１つのジョセフソン接合３５２によって中断され、プログラミングインターフェース３５３に誘導結合され、閉じた超音波電流経路３４１は、少なくとも１つのジョセフソン接合３４２によって中断され、プログラミングインターフェース３４３に誘導結合される。
【００５７】
本明細書に記載されるシステム、デバイス、物品、及び方法に従って、システム３００ｂをトポロジー２００で使用して量子ビット間の通信結合を提供することができ、ひいては、量子プロセッサで使用することができる。
【００５８】
本開示は、サンプリングサーバからサンプリングすることによって機械学習を実施するためのシステム、方法、及び装置を説明する。
【００５９】
多くの機械学習アルゴリズムは、計算的に扱いが難しい分布からのサンプルに依存する。かかるアルゴリズムの例は、制限付きボルツマンマシン（Restricted Boltzmann Machine、ＲＢＭ）の予想される負の対数尤度に対する勾配降下である。他のアルゴリズムは、深層ボルツマンマシン又は深層ボルツマンネットワークを訓練するための予想される負の対数尤度に対する勾配降下を計算する。上述のアルゴリズムの全てについては、良好なサンプルは、成功した学習につながり得る。
【００６０】
しかしながら、ＲＢＭ及びそれらの子孫からのサンプリングは、＃Ｐハードであり、多項式時間で近似することは困難である。ヒューリスティック近似値は、正確なサンプルの代わりに使用することができる。コントラスティブダイバージェンス（contrastive divergence、ＣＤ）及び持続的コントラスティブダイバージェンス（persistent contrastive divergence、ＰＣＤ）などのアルゴリズムは、ヒューリスティック近似値を使用する。ＣＤ及びＰＣＤは、単一温度のギブスサンプリングの単一のマルコフ連鎖に基づく。ＣＤ及びＰＣＤは、所望の精度でサンプルを得るために、特定の反復回数にわたって作動され得る。シミュレーテッド焼き戻し及び並列焼き戻し（ポピュレーションアニーリングを含む）などの他のアルゴリズムは、複数の温度を使用する。全ての方法は、複数の鎖を使用してもよい。アニールされた重要度サンプリングは、計算的に扱いが難しい分布からの予想を評価するために近似する別のアプローチである。この方法を使用したアニールされた重要度サンプリング及び用途の説明は、米国特許出願公開第２０１５／０２６９１２４号に見出すことができる。アニールされた重要度サンプリングは重要度重み付きサンプルを得るが、良好な提案分布が未知である問題に大きな計算時間を被る場合がある。したがって、計算的に扱いが難しい分布からより良好なサンプルを生成するシステム及び方法に対する一般的な要望が存在する。
【００６１】
ＣＤ及びＰＣＤなどのアルゴリズムは、サンプリング動作を機械学習アルゴリズムに統合し、訓練データを与えられた潜在変数にわたる近似値から事後分布へマルコフ連鎖をシードするか、又はマルコフ連鎖の最後のセットの終了時からマルコフ連鎖をシードする。出願人は、これらのアルゴリズムの全てにおいて、サンプリング動作が主機械学習アルゴリズムと同じマシンで実施されると考える。加えて、サンプリング動作は、概して、機械学習アルゴリズムの他の構成要素よりも多くの処理電力の次数を消費しないように実装される。しかしながら、正確なサンプルを得ることはリソース集約的であり、機械学習アルゴリズムの他の計算（例えば、予想される負の対数尤度の勾配を計算すること）よりも指数関数的により多くの時間をとる場合がある。
【００６２】
計算的に扱いが難しい分布から正確なサンプルを得ることが困難であることに応じて、現代の生成学習アルゴリズムは、指向されたグラフィックモデルに基づいており、サンプリングが構築によって計算的に追跡可能である前の分布を使用する。かかる生成学習アルゴリズムの例は、様々な自動エンコーダである。
【００６３】
計算的に扱いが難しい分布から正確なサンプルを得ることが困難であることを考慮すると、機械学習アルゴリズムの性能は、サンプルを生成するために必要な計算時間及びリソースによって制限される。
【００６４】
以下のシステム、方法、及び装置は、機械学習アルゴリズムの他の計算からサンプリング動作を分離することによって、機械学習アルゴリズムの性能を大幅に改善することができるアプローチ、ひいては、機械学習システムを説明する。
【００６５】
機械学習アルゴリズムがサンプルを必要とする分布は、訓練の過程で緩徐に変化する。結果として、反復ｎにおける分布からのサンプルは、反復ｎ＋１における分布からのサンプルとの良好な近似値である。したがって、前の反復で行われた作業を使用して、現在の反復からのサンプリングをブートストラップすることができる。ＰＣＤもまた、この現象を活用する。
【００６６】
反復ｎ＋１の調製において反復ｎ中に可能な限り多くの作業を行うために、サンプリング動作は、異なるサーバにオフロードされ得る。機械学習アルゴリズムが他の動作を実施、例えば、勾配降下を計算する間に、異なるサーバ又はサンプリングサーバは、バックグラウンドでサンプリング作業を行うことができる。サンプリングサーバは、その全てのリソースを、機械学習アルゴリズムの作動時間に影響を与えることなく、サンプルの品質を増加させるために宛てることができる。サンプリングサーバをマシンのクラスタ上で作動させることができ、この場合、サンプリング作業をマシンのクラスタ内のマシンの数にわたって並列化することができる。
【００６７】
一態様では、サンプリングサーバは、機械学習アルゴリズムからボルツマン分布の緩徐に変化するパラメータ（ｈ、ｊ）のストリームを受信し、現在の分布からサンプルの関数を返却する。サンプルの関数の一例は、一次及び二次統計量（すなわち、平均スピン及びスピン−スピン相関）である。次いで、機械学習アルゴリズムは、ボルツマンマシンに基づいて、生成モデルの対数尤度を最大化し得る。
【００６８】
パラメータ（ｈ、ｊ）を受信すると、サンプリングサーバは、パラメータ（ｈ、ｊ）を使用して、ＲＢＭであって、そこからギブスサンプリング、並列焼き戻し、ポピュレーションアニーリング、又は他のアルゴリズムを使用するサンプルを、サンプリングサーバへの最後の呼び出しによりシードされた鎖と共に生成するための、ＲＢＭを構築する。パラメータ（ｈ、ｊ）がサンプリングサーバへの呼び出しの間に緩徐に変化する限り、シードは有用なサンプルを生成し得る。サンプリングサーバへの逐次呼び出しは、パラメータの直近のセット（ｈ’、ｊ’）を伴い、それにより、サンプリングサーバは、呼び出されるたびに、受信したパラメータ（ｈ’、ｊ’）に基づいて新しいＲＢＭを構築する。
【００６９】
サンプル及び統計量に加えて、サンプリングサーバは、機械学習アルゴリズムに他のメトリクスを返すことができる。サンプリングサーバによって計算され得るメトリクスの一例は、対数分配関数の近似値、現在の分布の自動相関時間、サンプリングの困難さの他の測定値である。これらの追加のメトリクスは、まれに、例えば、サンプルに対する３０００回の要求ごとに要求及び返却されることがある。
【００７０】
ボルツマン分布の場合、分布は、キメラ構造の完全に二部に分かれていても、完全に接続されていてもよい。ある特定の事例では、例えば、低木幅のグラフでは、特殊なアルゴリズムを使用することができる。
【００７１】
サンプリングサーバは、機械学習アルゴリズムとしてサンプルＧＰＵ又はＣＰＵ上で作動され得、この場合、メモリは、サンプリングサーバと機械学習アルゴリズムとの間で共有される。異なる態様では、サンプリングサーバは、機械学習アルゴリズムと同じマシンを作動させることができるが、異なるＧＰＵ又はＣＰＵ上で作動させることはできない。
【００７２】
代替的に、サンプリングサーバは、機械学習アルゴリズムとは異なるマシン上で作動され得、ネットワークを介して機械学習アルゴリズムと通信し得る。後者の場合、サンプルの要求、並びにパラメータ及びサンプルの転送は、ネットワークを介して起こる。サンプリングサーバは、ネットワークを介してマシンのクラスタ上に拡散され得る。
【００７３】
サンプリングサーバが機械学習アルゴリズムと同じＧＰＵ又はＣＰＵ上にない場合、サンプリングサーバは、パラメータの現在のセットの下でサンプルの品質を改善するために、サンプルの要求間の利用可能な時間を使用し得る。機械学習アルゴリズムが新しい、わずかに異なるパラメータのセットを有するサンプルを要求する場合、これらの高品質のサンプルをサンプリングサーバによって使用してサンプリングをシードすることができる。
【００７４】
その前に、サンプリングサーバを様々な自動エンコーダと共に使用して、ボルツマンマシンからサンプルを生成することができる。サンプリングサーバの使用は、完全に接続されたボルツマンマシンの使用を容易にするであろう。このことは、サンプリング動作をボルツマンマシン内の複数のユニットにわたって並列化することができることを考慮すると、ＴｅｎｓｏｒＦｌｏｗなどの従来の方法を使用してサンプルを効率的に生成することは困難である。様々な自動エンコーダの説明は、国際特許出願第ＰＣＴ／ＵＳ２０１６／０４７６２７号に見出すことができる。
【００７５】
図４は、本システム、デバイス、物品、及び方法に従って、サンプリングサーバからサンプルを抽出することによって機械学習を実施するための方法４００を示す。本システム、デバイス、物品、及び方法に従って、１つ以上のプロセッサベースのデバイスによる方法４００の実行を行うことができる。本明細書の他の方法と同様、方法４００は、１つ以上のプロセッサ（すなわち、ハードウェア回路）によって実行される一連のプロセッサ可読命令又はそのセットによって実装され得る。方法４００は、例えば、単一のプロセッサ（例えば、グラフィックプロセッサユニット又はＧＰＵ）の２つ以上のコア上で実行され得、コアの各々は、他のプロセッサコアとは別個の異なるものであり得る。方法４００は、２つ以上のプロセッサユニットの２つ以上のコア上で実行され得、プロセッサユニットの各々は、他のプロセッサユニットとは別個の異なるものであり得る。方法４００は、２つ以上のコンピュータ又はマシンに属する２つ以上のプロセッサユニットの２つ以上のコア上で実行され得、各コンピュータ又はマシンは、他のコンピュータ又はマシンとは別個の異なるものであり得る。コンピュータ又はマシンは、例えば、ネットワークインフラストラクチャ、例えば、様々なパケットスイッチ及び／又はルータを有するパケットスイッチネットワークによって通信可能に結合された１つ以上のクラスタを形成し得る。
【００７６】
方法４００は、例えば、別のルーチンからの呼び出し又は起動に応答して、４０２で開始する。
【００７７】
４０４において、第１のデジタルプロセッサコア又はコアのセットは、学習される分布のパラメータを初期化することによって、機械学習アルゴリズムを開始又は作動し始める。分布の一例は、パラメータ（ｈ、ｊ）を有するボルツマン分布である。
【００７８】
方法４００は、並行して若しくは共に、又は更には同時に、行為４０６及び４０８を実行する。
【００７９】
４０６において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、分布のパラメータを使用して、サンプリングサーバから受信したサンプルを有する当該分布を学習するように機械学習アルゴリズムを作動させる。例えば、第１のデジタルプロセッサコア又はコアのセットは、生成モデルの対数尤度を最大化することを目的として、サンプルを使用して、ボルツマンマシンに基づいて生成モデルの対数尤度の勾配を計算することができる。
【００８０】
４０８において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、パラメータの現在のセットをサンプリングサーバに送信する。第１の反復では、第１のデジタルプロセッサコア又はコアのセットは、４０４で初期化されたパラメータを送信する。逐次反復では、第１のデジタルプロセッサコア又はコアのセットは、４０６で作動中の機械学習アルゴリズムの直近の反復からのパラメータのセットをサンプリングサーバに送信する。
【００８１】
４１０において、サンプリングサーバを実装する第２デジタルプロセッサコア又はコアのセットは、４０８で受信したパラメータを使用して、４０６で作動中の機械学習アルゴリズムで使用されるサンプルを生成する。サンプリングサーバは、受信したパラメータを使用して、ＲＢＭであって、そこからサンプルを抽出するための、ＲＢＭを構築し得る。サンプリングサーバは、ギブスサンプリング、並列焼き戻し、又は他のアルゴリズムなどの技術を使用して、サンプルを抽出することができる。
【００８２】
４１２において、サンプリングサーバは、機械学習アルゴリズムを実行する第１デジタルプロセッサコア又はコアのセットにサンプルを提供する。前述のように、４０６において、第１のデジタルプロセッサコア又はコアのセットは、機械学習アルゴリズムを作動させるためのサンプルを使用する。サンプリングサーバが機械学習とは異なるマシン上に実装されている場合、サンプルは、通信ネットワーク、例えば、パケットスイッチ及びルータのパケットスイッチネットワークを介して返却される。
【００８３】
４１４において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、より多くのサンプルが必要であるかどうかを決定する。より多くのサンプルを抽出する決定は、多数の反復の完了に基づくか、又は計算された性能係数に基づき得る。後者の場合、性能係数が改善を欠いているか又は劣化し始めたときが、サンプリング動作を中断する指標である。
【００８４】
より多くのサンプルを抽出する決定がなされた場合、制御は４０８に移り、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、パラメータの更新されたセットをサンプリングサーバに送信する。そうでなければ、制御は４０６に移り、第１のデジタルプロセッサコア又はコアのセットは、機械学習アルゴリズムを作動させる。
【００８５】
４１８において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、停止基準が満たされたかどうかをチェックするために試験する。停止基準は、例えば、逐次反復間の性能基準の反復又は測定の回数に関連し得る。性能基準は、例えば、機械学習アルゴリズムの反復の出力と訓練データセットとの間の差によって査定され得る。後者の場合、逐次反復間の性能基準が劣化し始めるか又は改善を欠いたときが、機械学習アルゴリズムが停止し、制御が４２０に移るべきであるという指標である。そうでなければ、制御は４０６に移り、機械学習アルゴリズムが作動し続ける。
【００８６】
４２０において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、機械学習アルゴリズムの結果を返却する。
【００８７】
４２２において、方法４００は、例えば、再び起動されるまで、終了する。
【００８８】
サンプリングサーバを量子プロセッサと共に使用することができ、その場合、サンプリングサーバは、機械学習アルゴリズムと量子プロセッサとの間のインターフェースとして機能する。
【００８９】
図５Ａは、デジタルプロセッサコア５０２と、サンプリングサーバコンピュータ５０４と、量子プロセッサ５０６とを備えるハイブリッドシステム５００ａを示す。
【００９０】
図４の方法４００を参照して上に記載されるように、１つ以上のプロセッサコア５０２は機械学習アルゴリズムを作動させ、異なるプロセッサコア又はコアのセットによって実装されたサンプリングサーバコンピュータ５０４はサンプルを提供する。サンプリングサーバコンピュータ５０４は、機械学習アルゴリズムと同じＧＰＵ又はＣＰＵ上に、例えば、別個のコア又は別個のコアのセット上に実装され得る。代替的に、サンプリングサーバコンピュータ５０４は、機械学習アルゴリズムを実行する同じマシン又はマシンのセット上の別個のＧＰＵ／ＣＰＵ又は別個のＧＰＵ／ＣＰＵのセット上に実装され得る。追加的に又は代替的に、サンプリングサーバコンピュータ５０４は、機械学習アルゴリズムを実行するマシン又はマシンのセットから、別個のマシン又は別個のマシンのセット上に実装され得る。１つ以上のネットワーク、例えば、パケットスイッチネットワークを介して機械学習アルゴリズムを実行するデジタルプロセッサ（複数可）と通信しているサンプリングサーバを実装するマシン（複数可）。量子プロセッサ５０６は、超伝導量子プロセッサであり得、図２のトポロジー２００で構築され得る。
【００９１】
量子プロセッサをサンプル発生器として操作するための方法は、米国特許第９，２１８，５６７号及び米国特許公開第２０１６／００４２２９４(Ａ１)号に記載されている。
【００９２】
サンプリングサーバ５０４は、量子プロセッサ５０６からのサンプルを要求し、かかるサンプルを使用して適切な温度で持続的マルコフ連鎖を再シードすることができる。量子プロセッサ５０６からのサンプルを要求する場合、サンプリングサーバ５０４は、量子プロセッサ５０６にパラメータを送信する前にパラメータスケーリングを実施して、量子プロセッサ５０６によってサンプリングされた分布が所望の論理温度に対応することを確実にすることができる。サンプリングサーバ５０４は、鎖の強度を選択し、鎖上でスピン反転変換（spin reversal transformation）を実施し得る。
【００９３】
サンプリングサーバ５０４は、パラメータが機械学習アルゴリズムから受信され、サンプルが機械学習アルゴリズムに返却される速度よりも遅い速度で、又はサンプルのセットごとに、量子プロセッサ５０６からのサンプルを要求し得る。
【００９４】
サンプリングサーバ５０４は、量子プロセッサによって生成されたサンプルが、機械学習アルゴリズムに送信される前に必要に応じて後処理されることを確実にし得る。サンプリングサーバ５０４は、ＭＣＭＣ及び重要度サンプリングなどの後処理技術を使用し得るが、他の後処理アルゴリズムを使用することもできる。量子プロセッサの出力を後処理するための方法及び技術は、米国特許第７，３０７，２７５号及び米国特許第８，２４４，６５０号に見出すことができる。
【００９５】
所望の分布に直接対応する量子プロセッサ５０６からのサンプルを使用して、そのマルコフ連鎖を再シードすることに加えて、サンプリングサーバ５０４は、量子プロセッサ５０６によって提供されたサンプルを異なる方法で使用することができる。例えば、量子プロセッサ５０６を使用して、間接的な方法でサンプルの品質を改善することができる。一例として、量子プロセッサ５０６を使用して、分布のエネルギー地形内の新しい谷部分を発見し、その結果、デジタルプロセッサ５０２によって使用されるサンプルの品質を改善して機械学習アルゴリズムを作動させることができる。
【００９６】
ハイブリッドシステム５００ａ内のデジタルプロセッサ５０２は、パラメータのセット（すなわち、ボルツマン分布のｈ、ｊ）をサンプリングサーバ５０４に送信する（図５Ａの矢印５０８）。サンプリングサーバ５０４は、サンプルを生成し、それらをデジタルプロセッサに送信する（図５Ａの矢印５１０）か、又はパラメータ（例えば、ｈ、ｊ）を量子プロセッサ５０６に送信し得る（図５Ａの矢印５１２）。量子プロセッサ５０６は、サンプルを生成し、それらをサンプリングサーバ５０４に送信する（図５Ａの矢印５１４）。量子プロセッサ５０６からサンプルを受信すると、サンプリングサーバ５０４は、それらのサンプルを使用して、そのマルコフ連鎖を再シードし、更新されたサンプルをデジタルプロセッサ５０２に送信する（図５Ａの矢印５１０）。
【００９７】
図５Ｂは、デジタルプロセッサ５０２と、量子プロセッサ５０６と、ネットワーク５１８を介した通信結合においてマシン５１６ａ〜５１６ｄ（集合的に５１６）のクラスタとして実装されるサンプリングサーバ５０４とを備えるハイブリッドシステム５００ｂを示す。ネットワーク５１８は、バスネットワーク、リングネットワーク、又は他のタイプのネットワーク構造として実装され得る。図５Ｂでは、サンプリングサーバ５０４は４つのマシン５１６ａ〜５１６ｄのクラスタとして実装されるように図示されているが、マシンの数は例示目的のみであり、マシン５１６のクラスタは、より少数の又はより多くの数の異なるマシンを有し得る。
【００９８】
図４の方法４００及びハイブリッドシステム５００ａを参照して上に記載されるように、デジタルプロセッサ５０２は機械学習アルゴリズムを作動させ、サンプリングサーバ５０４はサンプルを提供する。量子プロセッサ５０６は、超伝導量子プロセッサであり得、図２のトポロジー２００で構築され得る。
【００９９】
ハイブリッドシステム５００１を参照して上に記載されるように、サンプリングサーバ５０４は、量子プロセッサ５０６からのサンプルを要求し、かかるサンプルを使用して適切な温度で持続的マルコフ連鎖を再シードすることができる。
【０１００】
サンプリングサーバ５０４は、パラメータが機械学習アルゴリズムから受信され、サンプルが機械学習アルゴリズムに返却される速度よりも遅い速度で、又はサンプルのセットごとに、量子プロセッサ５０６からのサンプルを要求し得る。
【０１０１】
サンプリングサーバ５０４は、量子プロセッサによって生成されたサンプルが、機械学習アルゴリズムに送信される前に必要に応じて後処理されることを確実にし得る。いくつかの態様では、サンプリングサーバ５０４は、量子プロセッサによって生成された後処理サンプルを用いて、サンプリングサーバ５０４によるサンプルの生成を改善する。
【０１０２】
所望の分布に直接対応する量子プロセッサ５０６からのサンプルを使用して、そのマルコフ連鎖を再シードすることに加えて、サンプリングサーバ５０４は、量子プロセッサ５０６によって提供されたサンプルを異なる方法で使用することができる。ハイブリッドシステム５００ａを参照して上に記載されるように、例えば、量子プロセッサ５０６を使用して、間接的な方法でサンプルの品質を改善することができる。
【０１０３】
ハイブリッドシステム５００ｂ内のデジタルプロセッサ５０２は、パラメータのセット（すなわち、ボルツマン分布のｈ、ｊ）をサンプリングサーバ５０４に送信する（図５Ｂの矢印５０８）。サンプリングサーバ５０４は、サンプルを生成し、それらをデジタルプロセッサに送信する（図５Ｂの矢印５１０）か、又はパラメータ（例えば、ｈ、ｊ）を量子プロセッサ５０６に送信し得る（図５Ｂの矢印５１２）。量子プロセッサ５０６は、サンプルを生成し、それらをサンプリングサーバ５０４に送信する（図５Ｂの矢印５１４）。量子プロセッサ５０６からサンプルを受信すると、サンプリングサーバ５０４は、それらのサンプルを使用して、そのマルコフ連鎖を再シードし、更新されたサンプルをデジタルプロセッサ５０２に送信する（図５Ｂの矢印５１０）。
【０１０４】
図６は、サンプリングサーバ及び量子プロセッサからサンプルを抽出することによって機械学習を実施するための方法６００を示す。方法６００は、ハイブリッドシステム５００ａ又は５００ｂを使用して実装され得る。本システム、デバイス、物品、及び方法に従って、１つ以上のプロセッサベースのデバイスによる方法６００の実行を行うことができる。本明細書の他の方法と同様、方法６００は、１つ以上のプロセッサ（すなわち、ハードウェア回路）によって実行される一連のプロセッサ可読命令又はそのセットによって実装され得る。方法６００は、例えば、単一のプロセッサ（例えば、グラフィックプロセッサユニット又はＧＰＵ）の２つ以上のコア上で実行され得、コアの各々は、他のプロセッサコアとは別個の異なるものであり得る。方法６００は、２つ以上のプロセッサユニットの２つ以上のコア上で実行され得、プロセッサユニットの各々は、他のプロセッサユニットとは別個の異なるものであり得る。方法６００は、２つ以上のコンピュータ又はマシンに属する２つ以上のプロセッサユニットの２つ以上のコア上で実行され得、各コンピュータ又はマシンは、他のコンピュータ又はマシンとは別個の異なるものであり得る。コンピュータ又はマシンは、例えば、ネットワークインフラストラクチャ、例えば、様々なパケットスイッチ及び／又はルータを有するパケットスイッチネットワークによって通信可能に結合された１つ以上のクラスタを形成し得る。
【０１０５】
方法６００は、例えば、別のルーチンからの呼び出しに応答して、６０２で開始する。
【０１０６】
方法４００の４０４を参照して記載されるように、６０４において、第１のデジタルプロセッサコア又はコアのセットは、学習される分布のパラメータを初期化することによって、機械学習アルゴリズムを作動し始める。
【０１０７】
方法６００は、並行して若しくは共に、又は更には同時に、行為６０６及び６０８を実行する。
【０１０８】
方法４００の４０６を参照して記載されるように、６０６において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、分布のパラメータを使用して、サンプリングサーバから受信したサンプルを有する当該分布を学習するように機械学習アルゴリズムを作動させる。
【０１０９】
方法４００の４０８を参照して上に記載されるように、６０８において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、パラメータの現在のセットをサンプリングサーバに送信する。
【０１１０】
方法４００の４１０を参照して記載されるように、６１０において、サンプリングサーバを実装する第２デジタルプロセッサコア又はコアのセットは、６０８で受信したパラメータを使用して、６０６で作動中の機械学習アルゴリズムで使用されるサンプルを生成する。
【０１１１】
６１１において、サンプリングサーバは、量子プロセッサからのサンプルを要求するかどうかを決定する。サンプリングサーバは、量子プロセッサの可用性若しくはスケジューリング能力、量子プロセッサに対するサンプルの最近の要求、又は他の要因を含む、いくつかの要因に基づいて、量子プロセッサからのサンプルを要求するかどうかを決定し得る。サンプリングサーバが量子プロセッサからのサンプルを要求しないと決定した場合、制御は６１２に移り、そうでなければ６１３に移る。
【０１１２】
方法４００の４１２を参照して記載されるように、６１２において、サンプリングサーバは、機械学習アルゴリズムを実行する第１デジタルプロセッサコア又はコアのセットにサンプルを返却する。
【０１１３】
方法４００の４１４を参照して記載されるように、６１４において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、より多くのサンプルが必要かどうかを決定する。第１のデジタルプロセッサコア又はコアのセットが、より多くのサンプルが必要であると決定した場合、制御は６０８に移り、そうでなければ６０６に移る。
【０１１４】
６１３において、サンプリングサーバは、パラメータの直近のセットを量子プロセッサに送信する。パラメータの直近のセットは、デジタルプロセッサから最後に受信したパラメータである。上に記載されるように、サンプリングサーバは、パラメータを量子プロセッサに送信する前にパラメータスケーリングを実施し得る。
【０１１５】
６１５において、量子プロセッサは、受信したパラメータのセットを使用して、パラメータに対応する分布を構築し、当該分布からサンプルを抽出する。
【０１１６】
６１６において、量子プロセッサは、サンプルをサンプリングサーバに送信する。サンプルの伝達は、ネットワークを介して発生し得る。
【０１１７】
６１７において、サンプリングサーバは、量子プロセッサから受信したサンプルに対して後処理を実施してから、サンプルを使用してそのマルコフ連鎖を再シードすることによって、量子プロセッサからの結果に基づいて更新されたサンプルを生成することができる。次いで、制御は６１１に移る。
【０１１８】
方法４００の４２８を参照して記載されるように、６１８において、方法６００は、停止基準が満たされたかどうかをチェックするために試験する。
【０１１９】
６２０において、機械学習アルゴリズムを実行する第１のデジタルプロセッサコア又はコアのセットは、機械学習アルゴリズムの結果を返却する。
【０１２０】
６２２において、方法６００は、再び起動されるまで、終了する。代替的に、方法６００は、自動的に繰り返すことができる。
【０１２１】
上述の方法（複数可）、プロセス（複数可）、又は技術（複数可）は、１つ以上の非一時的なプロセッサ可読媒体に記憶された一連のプロセッサ読み取り可能な命令によって実施され得る。上述の方法（複数可）、プロセス（複数可）、又は技術（複数可）方法のいくつかの例は、部分的に、断熱量子コンピュータ、又は量子アニーリング装置などの専用デバイス、あるいは、例えば少なくとも１つのデジタルプロセッサを含むコンピュータなど、断熱量子コンピュータ又は量子アニーリング装置の動作をプログラムするか、又は制御するシステムによって実行される。上述の方法（複数可）、プロセス（複数可）、又は技術（複数可）は、様々な行為を含み得るが、当業者であれば、代替例において特定の行為が省略され得、かつ／又は更なる行為が追加され得ることを理解することになる。当業者であれば、図示された行為の順序が例示の目的のみで示され、代替例で変化し得ることを理解するであろう。上述の方法（複数可）、プロセス（複数可）、又は技術（複数可）の例示的な行為又は動作の中には、反復して実行されるものがある。上述の方法（複数可）、プロセス（複数可）、又は技術（複数可）のいくつかの行為は、各反復行程中に、複数の反復行程後に、又は全ての反復行程の最後に実行され得る。
【０１２２】
示された態様についての上記の説明は、要約書に記載されたものを含めて、排他的であることも、態様を開示された形態と同じものに限定することも意図していない。特定の態様及び例が、本明細書において例示の目的で説明されるが、当業者であれば認識するように、本開示の趣旨及び範囲から逸脱することなく、様々な均等な変更がなされ得る。様々な態様について本明細書で提供される教示は、以上に概説した例示の量子計算方法に限らず、他の量子計算方法にも適用され得る。
【０１２３】
上記の様々な態様を組み合わせて、更なる態様を提供することができる。本明細書における特定の教示及び定義と矛盾しない程度に、Ｄ−Ｗａｖｅ  Ｓｙｓｔｅｍｓ  Ｉｎｃ．が一般に所有する、本明細書で参照され、及び／又は出願データシートに挙げられる米国特許出願公開、米国特許出願、米国特許、国際特許出願、外国特許、及び外国特許出願は全て、それらの全体において、参照によって本明細書に援用され、米国特許第７，８９８，２８２号、米国特許第７，８００，３９５号、米国特許第８，６７０，８０７号、米国特許出願第１４／６７６６０５号、国際特許出願第ＰＣＴ／ＵＳ２０１６／０４７６２７号、米国特許第９，２１８，５６７号、米国特許公開第２０１６／００４２２９４（Ａ１）号、並びに「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｄｅｇｅｎｅｒａｃｙ  Ｍｉｔｉｇａｔｉｏｎ  ｉｎ  ａ  Ｑｕａｎｔｕｍ  Ｐｒｏｃｅｓｓｏｒ」と題する２０１６年９月２６日出願の米国仮特許出願第６２／３９９，７６４号、及び「Ｓｙｓｔｅｍｓ，Ｍｅｔｈｏｄｓ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｓａｍｐｌｉｎｇ  ｆｒｏｍ  ａ  Ｓａｍｐｌｉｎｇ  Ｓｅｒｖｅｒ」と題する２０１６年９月２６日出願の米国仮特許出願第６２／３９９，６８３号を含むが、これらに限定されない。
【０１２４】
これら及びその他の変更は、上記の詳細な説明を考慮して態様に施し得る。一般に、以下の特許請求の範囲において、使用される用語は、特許請求の範囲を、本明細書及び特許請求の範囲で開示された特定の態様に限定するものと捉えるべきではなく、かかる特許請求の範囲が権利を有する均等物の全範囲を併せた全ての可能な態様を含むものと捉えるべきである。したがって、特許請求の範囲は、本開示によって限定されない。
【図１】
2019533241.tif 000007
【図２】
2019533241.tif 000008
【図３Ａ】
2019533241.tif 000009
【図３Ｂ】
2019533241.tif 000010
【図４】
2019533241.tif 000011
【図５Ａ】
2019533241.tif 000012
【図５Ｂ】
2019533241.tif 000013
【図６】
2019533241.tif 000014
【国際調査報告】
2019533241.tif 000015
2019533241.tif 000016