(57)【要約】  量子プロセッサが開示される。量子プロセッサは、複数のキュービットのＮ個の連続したグループ（１，２，…，Ｎ）を備え、Ｎは３以上であり、複数のキュービットのＮ個の連続したグループのキュービットの各グループは、複数の実質的に平行なキュービットを備え、複数のキュービットのＮ個の連続したグループの１番目のグループの各キュービットは、複数のキュービットのＮ個の連続したグループのキュービットの２番目のグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、複数のキュービットのＮ個の連続したグループの最後のグループの各キュービットは、複数のキュービットのＮ個の連続したグループの最後から２番目のグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、１番目のグループおよび最後のグループを含まない、複数のキュービットのＮ−２個の連続したグループの任意の所与のグループの各キュービットは、複数のキュービットのＮ個の連続したグループの対応する後続するグループおよび対応する先行するグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、量子プロセッサはさらに、各カプラが２つのキュービットの交差部における通信結合を提供するためのカプラである、複数のカプラを備える。
2019514135.tif 000002
【特許請求の範囲】
【請求項１】
複数のキュービットのＮ個の連続したグループ（１，２，…，Ｎ）であって、
Ｎは３以上であり、
複数のキュービットの前記Ｎ個の連続したグループのうちの複数のキュービットのグループの各々は、複数の実質的に平行なキュービットを備え、
複数のキュービットの前記Ｎ個の連続したグループのうちの１番目のグループにおけるキュービットの各々は、複数のキュービットの前記Ｎ個の連続したグループのうちの複数のキュービットの２番目のグループのみにおけるキュービットの各々の一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、
複数のキュービットの前記Ｎ個の連続したグループのうちの最後のグループにおけるキュービットの各々は、複数のキュービットの前記Ｎ個の連続したグループのうちの最後から２番目のグループのみにおけるキュービットの各々の一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、
前記１番目のグループおよび前記最後のグループを含まない、複数のキュービットのＮ−２個の連続したグループのうちの任意の所与のグループにおけるキュービットの各々は、複数のキュービットの前記Ｎ個の連続したグループのうちの対応する後続するグループおよび対応する先行するグループのみにおけるキュービットの各々の一部分に対して実質的に垂直に交差するようなサイズおよび形状になされた、複数のキュービットのＮ個の連続したグループ（１，２，…，Ｎ）と、
複数のカプラであって、各カプラが２つのキュービットの交差部における通信結合を提供するためのカプラである、複数のカプラと
を備える量子プロセッサ。
【請求項２】
前記量子プロセッサは、複数のニューロンおよび複数のシナプスを備えるニューラル・ネットワークを実装するために使用され、前記複数のニューロンの各ニューロンは、キュービットに関連付けられ、前記複数のシナプスの各シナプスは、前記量子プロセッサのカプラに関連付けられる、請求項１に記載の量子プロセッサ。
【請求項３】
請求項２に記載の量子プロセッサに実装された前記ニューラル・ネットワークを訓練するための方法であって、
前記量子プロセッサの前記複数のカプラおよび前記複数のキュービットを初期化するための初期化データを提供する工程と、
基準が満たされるまで、
前記量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供する工程、
前記ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得する工程、
前記量子プロセッサの量子サンプリングを行う工程であって、前記量子プロセッサの所与の複数のキュービットのうちのキュービットに対してバイアスが割り当てられず、前記所与の複数のキュービットのうちの前記キュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、前記所与の複数のキュービットのうちの少なくとも１つのキュービットに結合されたキュービットのバイアスが、前記オフに切り替えられた結合の重みおよび前記少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定する工程、および
前記第１の経験的手段および前記第２の経験的手段を使用して、前記量子プロセッサの前記カプラおよび前記キュービットの対応する重みおよびバイアスを更新する工程と、
訓練されたニューラル・ネットワークを表すデータを示す前記量子プロセッサの前記カプラおよび前記キュービットの最終の重みおよびバイアスを提供する工程と
を備える方法。
【請求項４】
前記初期化データは、複数のバイアスであって、各バイアスが前記複数のキュービットのうちの１つのキュービットに対するバイアスである、複数のバイアスと、複数の重みであって、各重みが前記複数のカプラのうちの１つのカプラに対する重みである、複数の重みと、学習率スケジュールとを備える、請求項３に記載の方法。
【請求項５】
前記初期化データを提供する前記工程は、前記量子プロセッサを備えるアナログ・コンピュータと、前記アナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータとを使用して行われる、請求項４に記載の方法。
【請求項６】
前記少なくとも１つの訓練データ・インスタンスは、以前に生成されたデータ・セットから取得される、請求項３または４に記載の方法。
【請求項７】
前記少なくとも１つの訓練データ・インスタンスは、リアルタイム・ソースから取得される、請求項３または４に記載の方法。
【請求項８】
前記生成されたデータ・セットは、前記量子プロセッサを備えるアナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータに記憶される、請求項６に記載の方法。
【請求項９】
前記リアルタイム・ソースは、前記量子プロセッサを備えるアナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータから発生する、請求項７に記載の方法。
【請求項１０】
前記基準は、停止条件を含み、前記停止条件は、使用可能なさらなる訓練データ・インスタンスが存在しないかどうかを決定することを含む、請求項３乃至９のいずれか１項に記載の方法。
【請求項１１】
前記デジタル・コンピュータは、メモリを備え、さらに、前記量子プロセッサの前記カプラおよび前記キュービットの前記最終の重みおよびバイアスを提供する前記工程は、前記量子プロセッサの前記カプラおよび前記キュービットの前記最終の重みおよびバイアスを、前記デジタル・コンピュータの前記メモリに記憶する工程を備える、請求項５、８、および９のいずれか１項に記載の方法。
【請求項１２】
前記量子プロセッサの前記カプラおよび前記キュービットの前記最終の重みおよびバイアスを提供する前記工程は、前記量子プロセッサの前記カプラおよび前記キュービットの前記最終の重みおよびバイアスを、前記デジタル・コンピュータに対し動作的に接続された別の処理ユニットに対して提供する工程を備える、請求項５、８、および９のいずれか１項に記載の方法。
【請求項１３】
デジタル・コンピュータであって、
中央処理装置と、
表示デバイスと、
請求項２に記載のニューラル・ネットワークを実装するために使用される量子プロセッサを備えるアナログ・コンピュータに対し、前記デジタル・コンピュータを動作的に接続するための通信ポートと、
前記ニューラル・ネットワークを訓練するためのアプリケーションを含むメモリ・ユニットと
を備え、前記アプリケーションは、
前記量子プロセッサの前記複数のカプラおよび前記複数のキュービットの複数のバイアスを初期化するための初期化データを提供するための命令と、
基準が満たされるまで、
前記量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供すること、
前記ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得すること、
前記量子プロセッサの量子サンプリングを行うことであって、前記量子プロセッサの所与の複数のキュービットのうちのキュービットに対してバイアスが割り当てられず、前記所与の複数のキュービットのうちの前記キュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、前記所与の複数のキュービットのうちの少なくとも１つのキュービットに結合されたキュービットのバイアスが、前記オフに切り替えられた結合の重みおよび前記少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定すること、および
前記第１の経験的手段および前記第２の経験的手段を使用して、前記量子プロセッサの前記カプラおよび前記キュービットの対応する重みおよびバイアスを更新すること
を行うための命令と、
訓練されたニューラル・ネットワークを表すデータとして前記量子プロセッサの前記カプラおよび前記キュービットの最終の重みおよびバイアスを提供するための命令と
を含む、デジタル・コンピュータ。
【請求項１４】
コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、実行されたとき、請求項２に記載の量子プロセッサに実装された前記ニューラル・ネットワークを訓練するための方法をデジタル・コンピュータに行わせ、前記方法は、
前記量子プロセッサの前記複数のカプラおよび前記複数のキュービットを初期化するための初期化データを提供する工程と、
基準が満たされるまで、
前記量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供する工程、
前記ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得する工程、
前記量子プロセッサの量子サンプリングを行う工程であって、前記量子プロセッサの所与の複数のキュービットのうちのキュービットに対してバイアスが割り当てられず、前記所与の複数のキュービットのうちの前記キュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、前記所与の複数のキュービットのうちの少なくとも１つのキュービットに結合されたキュービットのバイアスが、前記オフに切り替えられた結合の重みおよび前記少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定する工程、および
前記第１の経験的手段および前記第２の経験的手段を使用して、前記量子プロセッサの前記カプラおよび前記キュービットの対応する重みおよびバイアスを更新する工程と、
訓練されたニューラル・ネットワークを表すデータを示す前記量子プロセッサの前記カプラおよび前記キュービットの最終の重みおよびバイアスを提供する工程と
を備える、非一時的コンピュータ可読記憶媒体。
【請求項１５】
前記ニューラル・ネットワークはディープ・ボルツマン・マシンである、請求項２乃至１２のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューティングに関する。より詳細には、本発明は、ニューラル・ネットワークを実装するための量子プロセッサおよびその使用に関する。
【背景技術】
【０００２】
人工ニューラル・ネットワーク
人工ニューラル・ネットワーク（ＡＮＮ）は、生物学的ニューラル・ネットワークによって触発された計算モデルであり、関数の近似のために使用される。人工ニューラル・ネットワークは、グラフ理論表現を有し、グラフのノードがニューロンとも呼ばれ、そのエッジがシナプスとしても知られている。
【０００３】
一般的ボルツマン・マシン（Ｇｅｎｅｒａｌ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅ：ＧＢＭ）は、人工ニューラル・ネットワークの一種であり、ニューロンが、それらに付加された線形バイアスを有する２値変数を表し、２つのニューロン間の各シナプスが、ニューロンに関連付けられた２値変数を伴う二次項を表す。特に、すべての線形および二次項からの寄与からなる、一般的ボルツマン・マシンに関連付けられた大域的エネルギー関数がある。
【０００４】
したがって、一般的ボルツマン・マシンは、従属変数の同時分布を近似するために使用されるグラフィカル・モデルである。対応するグラフは、可視ノード（または入力変数）と呼ばれるノード、および隠れノード（または潜在変数）と呼ばれる非可視ノードを含む。一般的ボルツマン・マシンは、特定の組み合わせ問題を表現し解決するために開発され、確率論的機械学習ツールとして使用されることが可能である。一般的ボルツマン・マシンの適用例は、視覚的物体認識および音声認識、分類、回帰タスク、次元削減、情報検索、ならびに画像再構成が含むが、これらに限定されない。一般的ボルツマン・マシンの概要については非特許文献１を参照されたい。
【０００５】
一般的ボルツマン・マシンにおける分布近似は、対象の従属変数をより大きなグラフのノードとして符号化することによって行われる。これらのノードは可視ノードであり、他のすべてのノードは隠れノードである。グラフのすべてのエッジおよび頂点に対して重みおよびバイアスがそれぞれ割り当てられ、これらの重みおよびバイアスに依存するグラフに対してエネルギー関数が割り当てられる。
【０００６】
任意の接続を有する一般的ボルツマン・マシンは、機械学習の観点で特に有用であるとは証明されていない。これは、近似学習法が遅いためであり、可視ユニットから遠い隠れユニットがある場合に特にあてはまる。隠れノード間の接続に対して一定の制限が加えられると、一般的ボルツマン・マシン・ニューラル・ネットワークは機械学習タスクのためにより容易に訓練され有用になる。隠れノード間の接続が許可されずかつ可視ノード間の接続が許可されない場合、結果として得られるニューラル・ネットワークは、１つの可視層および１つの隠れ層のみからなる制限付きボルツマン・マシン（Ｒｅｓｔｒｉｃｔｅｄ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅ：ＲＢＭ）と呼ばれる。
【０００７】
可視ノード内または隠れノード内の接続なしで、可視層上の入力のセットにわたる学習確率分布の容易さによって機械学習の領域において制限付きボルツマン・マシンの性能を良好にする効率的な訓練アルゴリズムが開発されている。適用例、アルゴリズム、および理論については非特許文献２を参照されたい。
【０００８】
ディープ・ボルツマン・マシン（Ｄｅｅｐ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅ：ＤＢＭ）と呼ばれるより効果的なニューラル・ネットワークを作成するために、制限付きボルツマン・マシンのアイデアが複数化される。ディープ・ボルツマン・マシンは、制限付きボルツマン・マシンを互いの上に積み重ねることによって作成されて、第１の制限付きボルツマン・マシンの隠れ層が、第２の制限付きボルツマン・マシンに対する可視層として使用され、第２の制限付きボルツマン・マシンの隠れ層が、第３の制限付きボルツマン・マシンに対する可視層として働くようにされ、以下同様にされる。この構造は広範に研究され、ディープ・ラーニングの基礎となっている。この構造の利点は、スタンドアロンの制限付きボルツマン・マシンのために開発された同じ訓練アルゴリズムを使用して、ネットワーク重みおよびバイアスが、制限付きボルツマン・マシン毎に上から下まで訓練され得ることである。
【０００９】
ディープ・ボルツマン・マシンを訓練するための制限付きボルツマン・マシンの手法による制限付きボルツマン・マシンは、制限付きボルツマン・マシン毎の分布の近似から生じる誤差の蓄積という代償を払って成り立つ。
量子プロセッサ
量子プロセッサは、複数のキュービットの量子力学的システムであり、その測定の結果、システムの大域的エネルギーによって定義されるボルツマン分布からサンプルが得られる。
【００１０】
キュービットは、ヒルベルト空間上に表現された量子力学的システムの物理的実装であり、量子ビットの２つの状態を表す少なくとも２つの異なる区別可能な固有状態を実現する。量子ビットは、デジタル・ビットに類似し、周囲の記憶デバイスが２状態量子情報の２つの状態｜０〉および｜１〉を記憶することができるが、２つの状態の重ね合わせα｜０〉＋β｜１〉であっても記憶することができる。様々な実施形態において、そのようなシステムは、３つ以上の固有状態を有してよく、その場合、追加の固有状態は、縮退測定によって２つの論理状態を表すために使用される。キュービットの実装の様々な実施形態が提案されており、たとえば、電子的にまたは磁気共鳴によって測定および制御される固体核スピン、トラップされたイオン、光空洞内の原子（空洞量子電磁力学）、液体状態核スピン、量子ドットにおける電子電荷またはスピン自由度、ジョセフソン接合に基づく超伝導量子回路（たとえば、非特許文献３、非特許文献４参照）、およびヘリウム上の電子が提案されている。
【００１１】
各キュービットには、局所場バイアスと呼ばれるバイアスのソースが誘導的に結合される。一実施形態では、バイアス・ソースは、キュービットの状態の制御を提供するためにキュービットに磁束を通すために使用される電磁気デバイスである（たとえば、特許文献１参照）。
【００１２】
キュービットに対する局所場バイアスは、プログラマブルであり制御可能である。一実施形態では、デジタル処理ユニットを備えるキュービット制御システムが、キュービットのシステムに接続され、キュービットに対する局所場バイアスをプログラミングおよび調整することができる。
【００１３】
量子プロセッサはさらに、複数のキュービットの複数のペアの間の複数の結合を含んでよい。２つのキュービットの間の結合は、両方のキュービットに磁束を通す両方のキュービットの近傍におけるデバイスである。一実施形態では、結合は、複合ジョセフソン接合によって割り込まれた超伝導回路から構成され得る。磁束は、複合ジョセフソン接合を通して、結果として磁束を両方のキュービットに対して通すことができる（たとえば、特許文献１参照）。この磁束の強度は、量子プロセッサのエネルギーに対して二次的に寄与する。一実施形態では、両方のキュービットの近傍で結合デバイスを調整することによって結合強度が強化される。
【００１４】
結合強度は、制御可能かつプログラマブルである。一実施形態では、デジタル処理ユニットを備える量子デバイス制御システムが、複数の結合に接続され、量子プロセッサの結合強度をプログラミングすることができる。
【００１５】
量子アニーラは、たとえば、非特許文献５に説明されているように、量子アニーリングを行う量子プロセッサである。
量子アニーラは、初期セットアップから最終セットアップまで量子プロセッサの変換を行う。量子プロセッサの初期および最終セットアップは、それらの対応する初期および最終ハミルトニアンによって記述される量子系を提供する。上述されたように局所場バイアスおよび結合を伴う量子アニーラの場合、最終ハミルトニアンは、二次関数ｆ（ｘ）＝Σｉｈｉｘｉ＋Σ（ｉ，ｊ）Ｊ（ｉ，ｊ）ｘｉｘｊとして表現されることが可能であり、第１の総和は、量子アニーラのキュービットを表す添字ｉにわたって実行され、第２の総和は、キュービットｉとｊの間の結合が存在するペア（ｉ，ｊ）にわたってなされる。
【００１６】
量子アニーラは、それらのエネルギー関数のヒューリスティック・オプティマイザとして使用され得る。そのようなアナログ・プロセッサの実施形態は、非特許文献６に開示され、また特許文献１にも開示されている。
【００１７】
量子アニーリング・プロセスを少し修正することにより、量子プロセッサは、代わりに、有限温度におけるそれらのエネルギー関数のボルツマン分布からサンプルを提供するために使用されることが可能である。読者は技術レポート（非特許文献７および非特許文献８）を参照されたい。
【００１８】
このサンプリング方法は、量子サンプリングと呼ばれる。
局所場バイアスおよび結合を伴う量子プロセッサの場合、量子サンプリングは、上記で導入された二次関数ｆ（ｘ）のボルツマン分布とはわずかに異なる分布からサンプルを提供する。
【００１９】
非特許文献８では、量子サンプリングがボルツマン・サンプリングからどの程度離れているかを研究している。
本発明の特徴は、以下の本発明の開示、図面、および説明の検討から明らかになるであろう。
【先行技術文献】
【特許文献】
【００２０】
【特許文献１】米国特許出願公開第２００６／０２２５１６５号
【非特許文献】
【００２１】
【非特許文献１】Ｄ．アクリー（Ｄ．  Ａｃｋｌｅｙ），Ｇ．ヒントン（Ｇ．  Ｈｉｎｔｏｎ），Ｔ．セジノウスキー（Ｔ．  Ｓｅｊｎｏｗｓｋｉ），「ボルツマン・マシンの学習アルゴリズム（Ａ  Ｌｅａｒｎｉｎｇ  Ａｌｇｏｒｉｔｈｍ  ｆｏｒ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅｓ）」，Ｃｏｇｎｉｔｉｖｅ  Ｓｃｉｅｎｃｅ  ９，１４７−１６９（１９８５）
【非特許文献２】Ｙ．ベンジオら（Ｙ．  Ｂｅｎｇｉｏ  ｅｔ  ａｌ．），「表現学習：レビューと新しい視点（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  Ｌｅａｒｎｉｎｇ：  Ａ  Ｒｅｖｉｅｗ  ａｎｄ  Ｎｅｗ  Ｐｅｒｓｐｅｃｔｉｖｅｓ）」，ｓｅｃｔｉｏｎ  ６，ａｒＸｉｖ  ２０１４
【非特許文献３】バローネ（Ｂａｒｏｎｅ）およびパテルノ（Ｐａｔｅｒｎｏ），１９８２，「ジョセフソン効果の物理と応用（Ｐｈｙｓｉｃｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ  ｏｆ  ｔｈｅ  Ｊｏｓｅｐｈｓｏｎ  Ｅｆｆｅｃｔ）」，Ｊｏｈｎ  Ｗｉｌｅｙ  ａｎｄ  Ｓｏｎｓ，  Ｎｅｗ  Ｙｏｒｋ
【非特許文献４】マルティネスら（Ｍａｒｔｉｎｉｓ  ｅｔ  ａｌ．），２００２，Ｐｈｙｓｉｃａｌ  Ｒｅｖｉｅｗ  Ｌｅｔｔｅｒｓ  ８９，１１７９０１
【非特許文献５】ファーリ・Ｅ．ら（Ｆａｒｈｉ，  Ｅ．  ｅｔ  ａｌ．），「量子断熱発展アルゴリズム対シミュレーティド・アニーリング（Ｑｕａｎｔｕｍ  Ａｄｉａｂａｔｉｃ  Ｅｖｏｌｕｔｉｏｎ  Ａｌｇｏｒｉｔｈｍｓ  ｖｅｒｓｕｓ  Ｓｉｍｕｌａｔｅｄ  Ａｎｎｅａｌｉｎｇ）」，ａｒＸｉｖ．ｏｒｇ：  ｑｕａｎｔ  ｐｈ／０２０１０３１  （２００２），ｐｐ．１−１６
【非特許文献６】マッギオーク・キャサリン  Ｃ．（ＭｃＧｅｏｃｈ，  Ｃａｔｈｅｒｉｎｅ  Ｃ．）およびコン・ワン（Ｃｏｎｇ  Ｗａｎｇ），（２０１３），「組み合わせ最適化のための断熱量子系の実験的評価（Ｅｘｐｅｒｉｍｅｎｔａｌ  Ｅｖａｌｕａｔｉｏｎ  ｏｆ  ａｎ  Ａｄｉａｂａｔｉｃ  Ｑｕａｎｔｕｍ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｃｏｍｂｉｎａｔｏｒｉａｌ  Ｏｐｔｉｍｉｚａｔｉｏｎ）」，Ｃｏｍｐｕｔｉｎｇ  Ｆｒｏｎｔｉｅｒｓ，  Ｍａｙ  １４  １６，  ２０１３
【非特許文献７】ビエン・Ｚ．（Ｂｉａｎ，  Ｚ．），チュダック・Ｆ．（Ｃｈｕｄａｋ，  Ｆ．），マクリーディ・Ｗ．Ｇ．（Ｍａｃｒｅａｄｙ，  Ｗ．  Ｇ．）およびローズ・Ｇ．（Ｒｏｓｅ，  Ｇ．），（２０１０），「イジング・モデル：古い問題に新しいトリックを教える（Ｔｈｅ  Ｉｓｉｎｇ  ｍｏｄｅｌ：  ｔｅａｃｈｉｎｇ  ａｎ  ｏｌｄ  ｐｒｏｂｌｅｍ  ｎｅｗ  ｔｒｉｃｋｓ）」
【非特許文献８】アミン・Ｍ．Ｈ．（Ａｍｉｎ，  Ｍ．  Ｈ．），アンドリヤシュ・Ｅ．（Ａｎｄｒｉｙａｓｈ，  Ｅ．），ロルフ・Ｊ．（Ｒｏｌｆｅ，  Ｊ．），クルチスキー・Ｂ．（Ｋｕｌｃｈｙｔｓｋｙｙ，  Ｂ．），およびメルコ・Ｒ．（Ｍｅｌｋｏ，  Ｒ．），（２０１６），「量子ボルツマン・マシン（Ｑｕａｎｔｕｍ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅ）」，ａｒＸｉｖ：１６０１．０２０３６
【発明の概要】
【発明が解決しようとする課題】
【００２２】
本発明は、コンピューティングに関する。より詳細には、本発明は、ニューラル・ネットワークを実装するための量子プロセッサおよびその使用に関する。
【課題を解決するための手段】
【００２３】
広い態様によれば、量子プロセッサが開示され、量子プロセッサは、複数のキュービットのＮ個の連続したグループ（１，２，…，Ｎ）を備えるキュービットの第１のセットを備え、Ｎは３以上であり、複数のキュービットのＮ個の連続したグループのキュービットの各グループは、複数の実質的に平行なキュービットを備え、複数のキュービットのＮ個の連続したグループの１番目のグループの各キュービットは、複数のキュービットのＮ個の連続したグループのキュービットの２番目のグループの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、複数のキュービットのＮ個の連続したグループの最後のグループの各キュービットは、複数のキュービットのＮ個の連続したグループの最後から２番目のグループの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、１番目のグループおよび最後のグループを含まない、複数のキュービットのＮ−２個の連続したグループの任意の所与のグループの各キュービットは、複数のキュービットのＮ個の連続したグループの対応する後続するグループおよび対応する先行するグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、量子プロセッサはさらに、各カプラが２つのキュービットの交差部における通信結合を提供するためのカプラである、複数のカプラを備える。
【００２４】
ある実施形態によれば、量子プロセッサは、複数のニューロンおよび複数のシナプスを備えるニューラル・ネットワークを実装するために使用され、複数のニューロンの各ニューロンは、キュービットに関連付けられ、複数のシナプスの各シナプスは、量子プロセッサのカプラに関連付けられている。
【００２５】
ある実施形態によれば、量子プロセッサに実装されたニューラル・ネットワークを訓練するための方法が開示され、この方法は、量子プロセッサの複数のカプラおよび複数のキュービットを初期化するための初期化データを提供する工程と、基準が満たされるまで、量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供する工程、ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得する工程、量子プロセッサの量子サンプリングを行う工程であって、量子プロセッサの所与の複数のキュービットのキュービットに対してバイアスが割り当てられず、所与の複数のキュービットのキュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、所与の複数のうちの少なくとも１つのキュービットと結合されたキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定する工程、および第１の経験的手段および第２の経験的手段を使用して、量子プロセッサのカプラおよびキュービットの対応する重みおよびバイアスを更新する工程と、訓練されたニューラル・ネットワークを表すデータを示す量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程とを備える。
【００２６】
ある実施形態によれば、初期化データは、各バイアスが複数のキュービットのうちのキュービットに対するバイアスである、複数のバイアスと、各重みが複数のカプラのうちのカプラに対する重みである、複数の重みと、学習率スケジュールとを備える。
【００２７】
ある実施形態によれば、初期化データを提供する工程は、量子プロセッサを備えるアナログ・コンピュータと、アナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータとを使用して行われる。
【００２８】
ある実施形態によれば、少なくとも１つの訓練データ・インスタンスは、以前に生成されたデータ・セットから取得される。
ある実施形態によれば、少なくとも１つの訓練データ・インスタンスは、リアルタイム・ソースから取得される。
【００２９】
ある実施形態によれば、生成されたデータ・セットは、量子プロセッサを備えるアナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータに記憶される。
ある実施形態によれば、リアルタイム・ソースは、量子プロセッサを備えるアナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータから発生する。
【００３０】
ある実施形態によれば、基準は、停止条件を備え、停止条件は、使用可能なさらなる訓練データ・インスタンスが存在しないかどうかを決定することを備える。
ある実施形態によれば、デジタル・コンピュータは、メモリを備え、量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程は、量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを、デジタル・コンピュータのメモリに記憶する工程を備える。
【００３１】
ある実施形態によれば、量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程は、量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを、デジタル・コンピュータに対し動作的に接続された別の処理ユニットに対して提供する工程を備える。
【００３２】
広い態様によれば、デジタル・コンピュータが開示され、デジタル・コンピュータは、中央処理装置と、表示デバイスと、ニューラル・ネットワークを実装するために使用される量子プロセッサを備えるアナログ・コンピュータに対し、デジタル・コンピュータを動作的に接続するための通信ポートと、ニューラル・ネットワークを訓練するためのアプリケーションを備えるメモリ・ユニットとを備え、アプリケーションは、量子プロセッサの複数のカプラおよびキュービットの複数のバイアスを初期化するための初期化データを提供するための命令と、基準が満たされるまで、量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供すること、ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得すること、量子プロセッサの量子サンプリングを行うことであって、量子プロセッサの所与の複数のキュービットのキュービットに対してバイアスが割り当てられず、所与の複数のキュービットのキュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、所与の複数のうちの少なくとも１つのキュービットと結合されたキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定すること、および第１の経験的手段および第２の経験的手段を使用して、量子プロセッサのカプラおよびキュービットの対応する重みおよびバイアスを更新することを行うための命令と、訓練されたニューラル・ネットワークを表すデータとして量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供するための命令とを備える。
【００３３】
広い態様によれば、コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体が開示され、コンピュータ実行可能命令は、実行されたとき、量子プロセッサに実装されたニューラル・ネットワークを訓練するための方法をデジタル・コンピュータに行わせ、この方法は、量子プロセッサの複数のカプラおよび複数のキュービットを初期化するための初期化データを提供する工程と、基準が満たされるまで、量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供する工程、ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得する工程、量子プロセッサの量子サンプリングを行う工程であって、量子プロセッサの所与の複数のキュービットのキュービットに対してバイアスが割り当てられず、所与の複数のキュービットのキュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、所与の複数のうちの少なくとも１つのキュービットと結合されたキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定する工程、および第１の経験的手段および第２の経験的手段を使用して、量子プロセッサのカプラおよびキュービットの対応する重みおよびバイアスを更新する工程と、訓練されたニューラル・ネットワークを表すデータを示す量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程とを備える。
【００３４】
ある実施形態によれば、ニューラル・ネットワークはディープ・ボルツマン・マシンである。
【発明の効果】
【００３５】
本明細書に開示されている量子プロセッサの利点は、次数２（ｄｅｇｒｅｅ  ｔｗｏ）の相互作用を有する量子回路のシステムのみから構成されることである。
本明細書に開示されている量子プロセッサの別の利点は、ディープ・ボルツマン・マシンを実装するために使用されることが可能なことである。
【００３６】
量子プロセッサに実装されたディープ・ボルツマン・マシンを訓練するための本明細書に開示されている方法の別の利点は、従来技術の方法よりも速いことである。
量子プロセッサに実装されたディープ・ボルツマン・マシンを訓練するための本明細書に開示されている方法の別の利点は、制限付きボルツマン・マシン訓練方法による従来技術の制限付きボルツマン・マシンと比較してより精密なことである。
【００３７】
本発明が容易に理解されることを可能にするために、本発明の実施形態が例として添付の図面に示される。
【図面の簡単な説明】
【００３８】
【図１】アナログ・コンピュータに結合されたデジタル・システムを備えるシステムの実施形態を示す図。
【図２】ある実施形態による量子プロセッサ・アーキテクチャを示す図。この実施形態ではスパイラル配置が開示される。
【図３】別の量子プロセッサ・アーキテクチャを示す図。この実施形態では交互パターン配置が開示される。
【図４】図２および図３に示されたタイプの量子プロセッサに実装されたニューラル・ネットワークを訓練するための方法の実施形態を示す流れ図。
【図５】対応する訓練されたニューラル・ネットワークから取得されたデータを用いて、アプリケーションにおいて量子プロセッサを使用するための方法の実施形態を示す流れ図。
【発明を実施するための形態】
【００３９】
本発明およびその利点のさらなる詳細は、以下に含まれる詳細な説明から明らかになるであろう。
実施形態の以下の説明において、本発明が実施され得る例を示すために添付の図面に対する参照が行われる。
用語
「発明」および類似の用語は、他に明示的に指定されない限り、「本願で開示された１つまたは複数の発明」を意味する。
【００４０】
「態様」、「ある実施形態」、「実施形態」、「複数の実施形態」、「その実施形態」、「それらの実施形態」、「１つまたは複数の実施形態」、「いくつかの実施形態」、「いくつかの特定の実施形態」、「一実施形態」、および「別の実施形態」などの用語は、他に明示的に指定されない限り、「開示された発明の１つまたは複数の（ただしすべてではない）実施形態」を意味する。
【００４１】
実施形態を説明する際の「別の実施形態」または「別の態様」に対する参照は、他に明示的に指定されない限り、言及された実施形態が、別の実施形態（たとえば、言及された実施形態の前に説明された実施形態）と相互排他的であることを含意しない。
【００４２】
「含む」、「備える」およびそれらの変形の用語は、他に明示的に指定されない限り、「含むが、それに限定されない」を意味する。
「ある（ａ、ａｎ）」、「その（ｔｈｅ）」および「少なくとも１つの」という用語は、他に明示的に指定されない限り、「１つまたは複数の」を意味する。
【００４３】
「複数」という用語は、他に明示的に指定されない限り、「２つ以上」を意味する。
「本明細書では」という用語は、他に明示的に指定されない限り、「本願明細書に援用し得るものを含めて本願において」を意味する。
【００４４】
「それによって（ｗｈｅｒｅｂｙ）」という用語は、本明細書では、以前に明示的に記載されたものの意図された結果、目的、または帰結のみを表す節または他の単語のセットに単に先行するために使用される。したがって、請求項において「それによって」という用語が使用されたとき、「それによって」という用語が修飾する節または他の単語は、請求項の特定のさらなる限定を確立せず、または他の形式で請求項の範囲の意味または範囲を限定しない。
【００４５】
「例：」などの用語は、「たとえば」を意味し、したがって、それらが説明する用語または語句を限定しない。たとえば、「コンピュータがインターネットを介してデータ（例：命令、データ構造）を送る」という文において、「例：」という用語は、「命令」が、コンピュータがインターネットを介して送り得る「データ」の例であることを説明し、また「データ構造」が、コンピュータがインターネットを介して送り得る「データ」の例であることを説明する。しかしながら、「命令」および「データ構造」は共に「データ」の例にすぎず、「命令」および「データ構造」以外の他のものも「データ」であり得る。
【００４６】
「すなわち」という用語および類似の用語は、「換言すれば」を意味し、それらが説明する用語または語句をそのように限定する。
用語「アナログ・コンピュータ」は、通信バスを介して互いにすべて接続された量子プロセッサ、キュービットの制御システム、結合デバイス、および読み出しシステムを備えるシステムを意味する。
【００４７】
発明の名称または要約書のいずれも、開示された発明の範囲を何ら限定するものとして解釈されるべきではない。本願の発明の名称および本願で提供される節の見出しは、単に便宜のためであり、開示を何ら限定するものとして解釈されるべきではない。
【００４８】
本願に数多くの実施形態が記載されているが、単に例示のために提示されている。記載された実施形態は、いかなる意味でも限定することを意図していない。本開示された発明は、本開示から容易に明らかとなるように、数多くの実施形態に広く適用可能である。開示された発明が構造的および論理的改変など様々な改変および変更を伴って実施され得ることは、当業者であれば認識されよう。開示された発明の特定の特徴は、１つまたは複数の特定の実施形態および／または図面を参照して説明され得るが、他に明示的に指定されない限り、そのような特徴は、１つまたは複数の特定の実施形態またはそれらの説明で参照される図面における使用に限定されないことを理解されたい。
【００４９】
本発明が数多くの方法で実装され得ることは理解されよう。本明細書において、これらの実装形態または本発明が取り得る他の任意の形態は、システムまたは技術と呼ばれることがある。タスクを行うように構成されていると説明されるプロセッサまたはメモリなどのコンポーネントは、所与の時間にタスクを行うように一時的に構成された汎用コンポーネント、またはタスクを行うように製造された専用のコンポーネントを含む。
【００５０】
このすべてを考慮して、本発明は、ニューラル・ネットワークを実装するための量子プロセッサおよびその使用を対象とする。
次に図１を参照すると、アナログ・コンピュータ１０に結合されたデジタル・システム８を備えるシステムの実施形態を示す図が示されている。
【００５１】
デジタル・コンピュータ８は、任意のタイプのデジタル・コンピュータであってよいことは理解されよう。
一実施形態では、デジタル・コンピュータ８は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、タブレットＰＣ、サーバ、スマートフォンなどからなる群から選択される。また、上記においてデジタル・コンピュータ８が広くプロセッサと呼ばれ得ることは理解されよう。
【００５２】
図１に示される実施形態では、デジタル・コンピュータ８は、マイクロプロセッサとも呼ばれる中央処理装置１２、表示デバイス１４、入力デバイス１６、通信ポート２０、データバス１８、およびメモリ２２を備える。
【００５３】
中央処理装置１２は、コンピュータ命令を処理するために使用される。中央処理装置１２の様々な実施形態が提供され得ることは当業者には理解されよう。
一実施形態では、中央処理装置１２は、インテル（Ｉｎｔｅｌ）により製造され２．５  ＧＨｚで動作するＣＰＵ  Ｃｏｒｅ  ｉ５  ３２１０を備える。
【００５４】
表示デバイス１４は、ユーザに対してデータを表示するために使用される。様々なタイプの表示デバイス１４が使用され得ることは当業者には理解されよう。
一実施形態では、表示デバイス１４は標準的な液晶ディスプレイ（ＬＣＤ）モニタである。
【００５５】
入力デバイス１６は、デジタル・コンピュータ８にデータを入力するために使用される。
通信ポート２０は、デジタル・コンピュータ８とデータを共有するために使用される。
【００５６】
通信ポート２０は、たとえば、キーボードおよびマウスをデジタル・コンピュータ８に接続するためのユニバーサルシリアルバス（ＵＳＢ）ポートを含んでよい。
通信ポート２０は、アナログ・コンピュータ１０とのデジタル・コンピュータ８の接続を確立するためのＩＥＥＥ８０２．３ポートなどのデータネットワーク通信ポートをさらに含んでよい。
【００５７】
通信ポート２０の様々な代替実施形態が提供され得ることは当業者には理解されよう。
メモリ・ユニット２２は、コンピュータ実行可能命令を記憶するために使用される。
メモリ・ユニット２２は、システム制御プログラム（たとえば、ＢＩＯＳ、オペレーティング・システム・モジュール、アプリケーションなど）を記憶するための高速ランダム・アクセス・メモリ（ＲＡＭ）、および読み出し専用メモリ（ＲＯＭ）などのシステム・メモリを備えてよい。
【００５８】
メモリ・ユニット２２は、一実施形態ではオペレーティング・システム・モジュールを備えることは理解されよう。
オペレーティング・システム・モジュールは様々なタイプであってよいことは理解されよう。
【００５９】
一実施形態では、オペレーティング・システム・モジュールは、Ａｐｐｌｅ（商標）によって製造されたＯＳ  Ｘ  Ｙｏｓｅｍｉｔｅである。
メモリ・ユニット２２は、アナログ・コンピュータ１０の量子プロセッサ２８に実装されたニューラル・ネットワークを訓練するためのアプリケーションをさらに備える。
【００６０】
メモリ・ユニット２２は、アナログ・コンピュータ１０を使用するためのアプリケーションをさらに備えてよい。
メモリ・ユニット２２は、量子プロセッサ２８の各カプラについての対応する重み、および量子プロセッサ２８の各キュービットについての対応するバイアスなどの量子プロセッサ・データをさらに備えてよい。
【００６１】
アナログ・コンピュータ１０は、キュービット制御システム２４、読み出し制御システム２６、量子プロセッサ２８、および結合デバイス制御システム３０を備える。
量子プロセッサ２８は様々なタイプであってよい。一実施形態では、量子プロセッサは超伝導キュービットを備える。
【００６２】
読み出し制御システム２６は、量子プロセッサ２８のキュービットを読み取るために使用される。実際、本明細書に開示されている方法で量子プロセッサが使用されるために、量子系のキュービットをそれらの量子力学的状態で測定する読み出しシステムが必要とされることは理解されよう。複数の測定により、キュービットの状態のサンプルを提供する。さらに、このサンプルは、系のエネルギー関数によって定義された分布からのサンプルであることが必要とされる。この読み取り値の結果は、デジタル・コンピュータ８に対して供給される。量子プロセッサ２８のキュービットのバイアスは、キュービット制御システム２４を用いて制御される。カプラは、結合デバイス制御システム３０を用いて制御される。
【００６３】
読み出し制御システム２６は様々なタイプであってよいことは理解されよう。たとえば、読み出し制御システム２６は、複数のｄｃ−ＳＱＵＩＤ磁力計を備えてよく、各磁力計は、量子プロセッサ２８の異なるキュービットに誘導的に接続されている。読み出し制御システム２６は、電圧値または電流値を提供することができる。一実施形態では、ｄｃ−ＳＱＵＩＤ磁力計は、当該技術分野でよく知られるように、少なくとも１つのジョセフソン接合によって割り込まれた超伝導材料のループを備える。
【００６４】
結合デバイス制御システム３０は、「カプラ」とも呼ばれる結合デバイスに対する１つまたは複数の結合コントローラを備えてよい。各結合コントローラは、対応する結合デバイスの結合強度をゼロから最大値まで調整するように構成され得る。結合デバイスは、たとえば、量子プロセッサ２８のキュービットの間の強磁性または反強磁性結合を提供するように調整され得ることは理解されよう。そのようなアナログ・コンピュータの例は、米国特許第８，４２１，０５３号および米国特許出願公開第２０１５／００４６６８１号に開示されている。
【００６５】
次に図２を参照すると、量子プロセッサ１９９の第１の実施形態が示されている。図２に示される量子プロセッサ１９９は螺旋状配置を開示し、図３に示される量子プロセッサ２９９は交互パターン配置を開示することは理解されよう。
【００６６】
さらに図２を参照すると、量子プロセッサ１９９は、複数のキュービットの７つの連続したグループを備えている。
図２に示されている実施形態では、複数の実質的に平行なキュービットの１番目のグループがＭ０キュービットを含む。より詳細には、複数のキュービットの１番目のグループは、キュービットｖ１２００、キュービットｖ２２０２、…、およびキュービットｖＭ０２０４を含む。
【００６７】
図２に示されている実施形態では、複数のキュービットの残りのＮ−１個のグループは、複数のキュービットの６つのグループを含む。
複数のキュービットの各グループは、複数の実質的に平行なキュービットを含むことは理解されよう。
【００６８】
さらに、キュービットの１番目のグループの第１の複数の実質的に平行なキュービットの各キュービットは、キュービットの２番目のグループの複数の実質的に平行なキュービットの一部分に対して実質的に垂直に交差することは理解されよう。
【００６９】
図２に示されている実施形態では、第２の複数の実質的に平行なキュービットは、キュービットｈ１，１２１０、キュービットｈ１，２２０８、…、およびキュービットｈ１，Ｍ１２０６を含む。したがって、キュービットの２番目のグループがＭ１個のキュービットを含むことは理解されよう。
【００７０】
キュービットの３番目のグループは、キュービットｈ２，１２１２、キュービットｈ２，２２１４、…、およびキュービットｈ２，Ｍ２２１６を含む。したがって、複数の実質的に平行なキュービットの３番目のグループがＭ２個のキュービットを含むことは理解されよう。
【００７１】
キュービットの４番目のグループは、キュービットｈ３，１２１８、キュービットｈ３，２２２０、…、およびキュービットｈ３，Ｍ３２２２を含む。したがって、複数の実質的に平行なキュービットの４番目のグループがＭ３個のキュービットを含むことは理解されよう。
【００７２】
複数のキュービットの５番目のグループは、キュービットｈ４，１２２４、キュービットｈ４，２２２６、…、およびキュービットｈ４，Ｍ４２２８を含む。したがって、複数の実質的に平行なキュービットの５番目のグループがＭ４個のキュービットを含むことは理解されよう。
【００７３】
複数のキュービットの６番目のグループは、キュービットｈ５，１２３４、キュービットｈ５，２２３２、…、およびキュービットｈ５，Ｍ５２３０を含む。したがって、複数の実質的に平行なキュービットの６番目のグループがＭ５個のキュービットを含むことは理解されよう。
【００７４】
最後に、複数のキュービットの７番目のグループは、キュービットｈ６，１２３６、キュービットｈ６，２２３８、…、およびキュービットｈ６，Ｍ６２４０を含む。したがって、複数の実質的に平行なキュービットの７番目のグループがＭ６個のキュービットを含むことは理解されよう。
【００７５】
さらに、複数のキュービットの７番目のグループの各キュービットが、複数のキュービットの６番目のグループの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、複数のキュービットの第２、第３、第４、第５、または第６の連続したグループの任意の所与のグループの各キュービットが、複数のキュービットの７つの連続したグループの対応する後続するグループおよび対応する先行するグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされることは理解されよう。
【００７６】
たとえば、キュービットｈ２，１２１２、キュービットｈ２，２２１４、…、およびキュービットｈ２，Ｍ２２１６を含む複数のキュービットの３番目のグループは、キュービットｈ１，１２１０、キュービットｈ１，２２０８、およびキュービットｈ１，Ｍ１２０６を含む複数のキュービットの２番目のグループのキュービットの一部分に対して垂直に交差する。
【００７７】
複数のキュービットの３番目のグループはさらに、キュービットｈ３，１２１８、キュービットｈ３，２２２０、およびキュービットｈ３，Ｍ３２２２を含む複数のキュービットの４番目のグループのキュービットの一部分に対して垂直に交差する。
【００７８】
同様に、複数のキュービットの４番目のグループ、すなわち、キュービットｈ３，１２１８、キュービットｈ３，２２２０、…、およびキュービットｈ３，Ｍ３２２２は、キュービットｈ２，１２１２、キュービットｈ２，２２１４、…、およびキュービットｈ２，Ｍ２２１６を含む複数のキュービットの３番目のグループのキュービットの一部分、ならびにキュービットｈ４，１２２４、キュービットｈ４，２２２６、…、およびキュービットｈ４，Ｍ４２２８を含むキュービットの５番目のグループの複数のキュービットのうちのあるキュービットの一部分に対して実質的に垂直に交差する。
【００７９】
キュービットの５番目のグループ、すなわち、キュービットｈ４，１２２４、キュービットｈ４，２２２６、…、およびキュービットｈ４，Ｍ４２２８の各キュービットは、２つの他の隣接するグループの各グループ、すなわち、キュービットｈ５，１２３４、キュービットｈ５，２２３２、…、およびキュービットｈ５，Ｍ５２３０を含む複数のキュービットの６番目のグループのキュービットの一部分に対して実質的に垂直に交差する。
【００８０】
キュービットの５番目のグループの各キュービットはまた、キュービットｈ３，１２１８、キュービットｈ３，２２２０、…、およびキュービットｈ３，Ｍ３２２２を含むキュービットの４番目のグループのキュービットの一部分に対して実質的に垂直に交差する。
【００８１】
キュービットｈ５，１２３４、キュービットｈ５，２２３２、…、およびキュービットｈ５，Ｍ５２３０を含むキュービットの６番目のグループの各キュービットは、キュービットｈ４，１２２４、キュービットｈ４，２２２６、…、およびキュービットｈ４，Ｍ４２２８を含むキュービットの５番目のグループの各々のキュービットの対応するセットのキュービットの一部分、ならびにキュービットｈ６，１２３６、キュービットｈ６，２２３８、…、およびキュービットｈ６，Ｍ６２４０を含む複数のキュービットの７番目のグループの一部分に対して実質的に垂直に交差する。
【００８２】
量子プロセッサ１９９が複数のカプラをさらに備えることは理解されよう。各カプラは、２つのキュービットの交差部における通信結合を提供するために使用される。
たとえば、カプラ２４２は、キュービットｖ１２００とキュービットｈ１，Ｍ１２０６の交差部において提供される。
【００８３】
カプラ２４４は、キュービットｖ１２００とキュービットｈ１，２２０８の交差部において提供される。
カプラ２４６は、キュービットｖ１２００とキュービットｈ１，１２１０の交差部において提供される。
【００８４】
カプラ２５２は、キュービットｖ２２０２とキュービットｈ１，１２１０の交差部において提供される。
カプラ２５０は、キュービットｖ２２０２とキュービットｈ１，２２０８の交差部において提供される。
【００８５】
カプラ２４８は、キュービットｖ２２０２とキュービットｈ１，Ｍ１２０６の交差部において提供される。
カプラ２５８は、キュービットｈ１，１２１０とキュービットｖＮ２０４の交差部において提供される。
【００８６】
カプラ２５６は、キュービットｖＭ０２０４とキュービットｈ１，２２０８の交差部において提供される。
カプラ２５４は、キュービットｖＭ０２０４とキュービットｈ１，Ｍ１２０６の交差部において提供される。
【００８７】
カプラ２６０は、キュービットｈ２，１２１２とキュービットｈ１，Ｍ１２０６の交差部において提供される。
カプラ２６２は、キュービットｈ１，Ｍ１２０６とキュービットｈ２，２２１４の交差部において提供される。
【００８８】
カプラ２６４は、キュービットｈ１，Ｍ１２０６とキュービットｈ２，Ｍ２２１６の交差部において提供される。
カプラ２６６は、キュービットｈ１，２２０８とキュービットｈ２，１２１２の交差部において提供される。
【００８９】
カプラ２６８は、キュービットｈ２，２２１４とキュービットｈ１，２２０８の交差部において提供される。
カプラ２７０は、キュービットｈ１，２２０８とキュービットｈ２，Ｍ２２１６の交差部において提供される。
【００９０】
カプラ２８０は、キュービットｈ２，１２１２とキュービットｈ１，１２１０の交差部において提供される。
カプラ２８２は、キュービットｈ２，２２１４とキュービットｈ１，１２１０の交差部において提供される。
【００９１】
カプラ２８４は、キュービットｈ２，Ｍ２２１６とキュービットｈ１，１２１０の交差部において提供される。
次に図３を参照すると、量子プロセッサ２９９の別の実施形態が示されている。
【００９２】
さらに図２を参照すると、量子プロセッサ２９９は、複数のキュービットの８つの連続したグループを備えている。
量子プロセッサ２９９はさらに、各カプラが２つのキュービットの交差部における通信結合を提供するためのカプラである、複数のカプラを備える。
【００９３】
より詳細には、複数のキュービットの１番目のグループは、キュービットｖ１３００、キュービットｖ２３０２、…、およびキュービットｖＭ０３０４を含む。したがって、複数の実質的に平行なキュービットの１番目のグループがＭ０個のキュービットを含むことは理解されよう。
【００９４】
図３に示されている実施形態では、複数のキュービットの残りのＮ−１個のグループは、複数のキュービットの７つのグループを含む。
複数のキュービットの各グループは、複数の実質的に平行なキュービットを含むことは理解されよう。
【００９５】
さらに、キュービットの１番目のグループの第１の複数の実質的に平行なキュービットの各キュービットは、キュービットの２番目のグループの複数の実質的に平行なキュービットのみの一部分に対して実質的に垂直に交差することは理解されよう。
【００９６】
図３に示されている実施形態では、第２の複数の実質的に平行なキュービットは、キュービットｈ１，１３０６、キュービットｈ１，２３０８、…、およびキュービットｈ１，Ｍ１３１０を含む。したがって、キュービットの２番目のグループがＭ１個のキュービットを含むことは理解されよう。
【００９７】
キュービットの３番目のグループは、キュービットｈ２，１３１２、キュービットｈ２，２３１４、…、およびキュービットｈ２，Ｍ２３１６を含む。したがって、複数の実質的に平行なキュービットの３番目のグループがＭ２個のキュービットを含むことは理解されよう。
【００９８】
キュービットの４番目のグループは、キュービットｈ３，１３１８、キュービットｈ３，２３２０、…、およびキュービットｈ３，Ｍ３３２２を含む。したがって、複数の実質的に平行なキュービットの４番目のグループがＭ３個のキュービットを含むことは理解されよう。
【００９９】
複数のキュービットの５番目のグループは、キュービットｈ４，１３２４、キュービットｈ４，２３２６、…、およびキュービットｈ４，Ｍ４３２８を含む。したがって、複数の実質的に平行なキュービットの５番目のグループがＭ４個のキュービットを含むことは理解されよう。
【０１００】
複数のキュービットの６番目のグループは、キュービットｈ５，１３３０、キュービットｈ５，２３３２、…、およびキュービットｈ５，Ｍ５３３４を含む。したがって、複数の実質的に平行なキュービットの６番目のグループがＭ５個のキュービットを含むことは理解されよう。
【０１０１】
複数のキュービットの７番目のグループは、キュービットｈ６，１３３６、キュービットｈ６，２３３８、…、およびキュービットｈ６，Ｍ６３４０を含む。したがって、複数の実質的に平行なキュービットの７番目のグループがＭ６個のキュービットを含むことは理解されよう。
【０１０２】
最後に、複数のキュービットの８番目のグループは、キュービットｈ７，１３４２、キュービットｈ７，２３４４、およびキュービットｈ７，Ｍ７３４６を含む。したがって、複数の実質的に平行なキュービットの７番目のグループがＭ６個のキュービットを含むことは理解されよう。
【０１０３】
さらに、複数のキュービットの８番目のグループの各キュービットが、複数のキュービットの７番目のグループの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、複数のキュービットの第２、第３、第４、第５、第６、または第７の連続したグループの任意の所与のグループの各キュービットが、複数のキュービットの７つの連続したグループの対応する後続するグループおよび対応する先行するグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされることは理解されよう。
【０１０４】
たとえば、キュービットｈ２，１３１２、キュービットｈ２，２３１４、…、およびキュービットｈ２，Ｍ２３１６を含む複数のキュービットの３番目のグループは、キュービットｈ１，１３０６、キュービットｈ１，２３０８、およびキュービットｈ１，Ｍ１３０８を含む複数のキュービットの２番目のグループのキュービットの一部分に対して垂直に交差する。
【０１０５】
複数のキュービットの３番目のグループはさらに、キュービットｈ３，１３１８、キュービットｈ３，２３２０、およびキュービットｈ３，Ｍ３３２２を含む複数のキュービットの４番目のグループのキュービットの一部分に対して垂直に交差する。
【０１０６】
同様に、複数のキュービットの４番目のグループ、すなわち、キュービットｈ３，１３１８、キュービットｈ３，２３２０、…、およびキュービットｈ３，Ｍ３３２２は、キュービットｈ２，１３１２、キュービットｈ２，２３１４、…、およびキュービットｈ２，Ｍ２３１６を含む複数のキュービットの３番目のグループのキュービットの一部分、ならびにキュービットｈ４，１３２４、キュービットｈ４，２３２６、…、およびキュービットｈ４，Ｍ４３２８を含むキュービットの５番目のグループの複数のキュービットのキュービットの一部分に対して実質的に垂直に交差する。
【０１０７】
キュービットの５番目のグループ、すなわち、キュービットｈ４，１３２４、キュービットｈ４，２３２６、…、およびキュービットｈ４，Ｍ４３２８の各キュービットは、２つの他の隣接するグループの各グループ、すなわち、キュービットｈ５，１３３０、キュービットｈ５，２３３２、…、およびキュービットｈ５，Ｍ５３３４を含む複数のキュービットの６番目のグループのキュービットの一部分に対して実質的に垂直に交差する。
【０１０８】
キュービットの５番目のグループの各キュービットはまた、キュービットｈ３，１３１８、キュービットｈ３，２３２０、…、およびキュービットｈ３，Ｍ３３２２を含むキュービットの４番目のグループのキュービットの一部分に対して実質的に垂直に交差する。
【０１０９】
キュービットｈ５，１３３０、キュービットｈ５，２３３２、…、およびキュービットｈ５，Ｍ５３３４を含むキュービットの６番目のグループの各キュービットは、キュービットｈ４，１３２４、キュービットｈ４，２３２６、…、およびキュービットｈ４，Ｍ４３２８を含むキュービットの５番目のグループの各々のキュービットの対応するセットのキュービットの一部分、ならびにキュービットｈ６，１３３６、キュービットｈ６，２３３８、…、およびキュービットｈ６，Ｍ６３４０を含む複数のキュービットの７番目のグループの一部分に対して実質的に垂直に交差する。
【０１１０】
量子プロセッサ２９９が複数のカプラをさらに備えることは理解されよう。各カプラは、２つのキュービットの交差部における通信結合を提供するために使用される。
たとえば、カプラ３５４は、キュービットｖ１３００とキュービットｈ１，Ｍ１３１０の交差部において提供される。
【０１１１】
カプラ３５２は、キュービットｖ１３００とキュービットｈ１，２３０８の交差部において提供される。
カプラ３５０は、キュービットｖ１３００とキュービットｈ１，１３０６の交差部において提供される。
【０１１２】
カプラ３５６は、キュービットｖ２３０２とキュービットｈ１，１３０６の交差部において提供される。
カプラ３５８は、キュービットｖ２３０２とキュービットｈ１，２３０８の交差部において提供される。
【０１１３】
カプラ３６０は、キュービットｖ２３０２とキュービットｈ１，Ｍ１３１０の交差部において提供される。
量子プロセッサのセットアップ
一実施形態では、複数のキュービットの１番目のグループの各キュービットは、ディープ・ボルツマン・マシンの可視ノードとして解釈されることが可能であり、量子プロセッサの他の各キュービットは、ディープ・ボルツマン・マシンの隠れノードとして解釈されることが可能であることは理解されよう。この意味で、対応するディープ・ボルツマン・マシン・ネットワークのキュービット・ラベルとノード・ラベルは交換可能である。図２は、この実施形態の一例であり、ここで、ｖ１２００、ｖ２２０２、…、およびｖＭ０２０４とラベル付けされたキュービットは、ディープ・ボルツマン・マシンの可視ノードとして解釈され、残りのキュービットは、同じディープ・ボルツマン・マシンの隠れノードとして解釈される。
【０１１４】
さらに、別の実施形態では、複数のキュービットの任意の所与のグループの各キュービットのそれぞれまたはいくつかが、ディープ・ボルツマン・マシンの可視ノードとして解釈されることが可能であり、量子プロセッサの他の各キュービットは、ディープ・ボルツマン・マシンの隠れノードとして解釈されることが可能であることは理解されよう。
【０１１５】
可視ノードとして解釈される複数のキュービットのうちのキュービットと隠れノードとして解釈される複数のキュービットのうちのキュービットとの間の各「オン」結合は、対応する可視ノードと対応する隠れノードとの間の二次重みと考えられる。連続する層における隠れノードとして解釈される複数のキュービットのうちの他の任意の２つのキュービットの間の「オン」結合は、連続する層における２つの対応する隠れノードの間の二次重みと考えられる。連続する層における可視ノードとして解釈される複数のキュービットのうちの他の任意の２つのキュービットの間の「オン」結合は、連続する層における２つの対応する可視ノードの間の二次重みと考えられる。本明細書に開示されている量子プロセッサにおいて、複数のキュービットの所与のグループのキュービットの間の層内接続がないことは理解されよう。
【０１１６】
一実施形態では、各「オン」結合は、対応する重みの近似である浮動小数点値の強度を有する。２つのノード間の非ゼロの重みがノードの「接続性」を示すことは理解されよう。
【０１１７】
一実施形態では、各「オフ」結合は、実質的にゼロ値の強度を有し、ディープ・ボルツマン・マシンにおける任意の２つのノード間の切断の近似である。
一実施形態では、対応するディープ・ボルツマン・マシンにおける可視ノードとして解釈される複数のキュービットのうちのキュービットｖｉを、対応するディープ・ボルツマン・マシンにおける隠れノードとして解釈される複数のキュービットに属する連続する層におけるキュービットｈｊに接続する重みが、ｗｉｊによって表される。
【０１１８】
さらにこの実施形態では、対応するディープ・ボルツマン・マシンにおける隠れノードとして解釈される複数のキュービットのうちのキュービットｈｋを、対応するディープ・ボルツマン・マシンにおける隠れノードとして解釈される複数のキュービットに属する連続する層におけるキュービットｈｊに接続する重みが、ｕｋｊによって表される。
【０１１９】
さらにこの実施形態では、対応するディープ・ボルツマン・マシンにおける可視ノードとして解釈される複数のキュービットのうちのキュービットｖｉを、対応するディープ・ボルツマン・マシンにおける可視ノードとして解釈される複数のキュービットに属する連続する層におけるキュービットｖｊに接続する重みが、ｓｉｊによって表される。
【０１２０】
バイアスは、対応するディープ・ボルツマン・マシンにおける可視ノードとして解釈される複数のキュービットのうちのキュービットｖｉに対するａｉ、および対応するディープ・ボルツマン・マシンにおける隠れノードとして解釈される複数のキュービットの所与のグループにおけるキュービットｈｊに対するｂｊとして表せる各単一ノードに対する重みとして定義される。
【０１２１】
クランプされたディープ・ボルツマン・マシン（ｃｌａｍｐｅｄ  Ｄｅｅｐ  Ｂｏｌｔｚｍａｎｎ  Ｍａｃｈｉｎｅ）は、可視ノードが特定のバイナリ値ｖ’に設定されたディープ・ボルツマン・マシンであることは理解されよう。
【０１２２】
クランプされた量子プロセッサにおいて、可視ノードとして解釈されるキュービットは使用されていない。クランプされた量子プロセッサは、可視ノードとして解釈される複数のキュービットのキュービットと残りのキュービットとの間の結合が「オフ」にされた量子プロセッサとみなされ得ることは理解されよう。代わりに、可視キュービットｖｉと隠れキュービットｈｊとの間の結合の値が、可視ノードｖｉ’の値で乗算されたバイアスｂｊに加えられる。具体的には、ディープ・ボルツマンにおける可視ノードに接続された隠れノードに対応する各キュービットのバイアスは、ｖ’・ｗｊを加えることによって調節され、ここで、ｗｊ＝Σｉｗｉｊであり、ｉは可視ノードに対する添字である。
【０１２３】
クランプされていない量子プロセッサとしてアンクランプされた（ｕｎｃｌａｍｐｅｄ）量子プロセッサが定義され得ることは理解されよう。
次に図４を参照すると、たとえば図２および図３で開示された量子プロセッサに実装されたニューラル・ネットワークを訓練するための方法の実施形態が示されており、ここで、ニューラル・ネットワークはディープ・ボルツマン・マシンである。
【０１２４】
処理工程４００によれば、初期化データが提供される。
一実施形態では、初期化データは、重み、バイアス、および学習率スケジュール、ならびにおそらくはシステム温度を含む。
【０１２５】
バイアスは、対応するディープ・ボルツマン・マシンに存在する初期バイアスに対応して、複数のキュービットの各キュービットに対して提供される。バイアスは、バイアスａおよびｂを含む。
【０１２６】
重みは、対応するディープ・ボルツマン・マシンに存在する初期重みに対応して、量子プロセッサの複数のカプラの、一緒に接続された２つのキュービットの間の各カプラに対して提供される。重みは、初期重みｗ、ｕ、およびｓを含む。
【０１２７】
学習率εは、クランプされたディープ・ボルツマン・マシンとクランプされていないディープ・ボルツマン・マシンとの間の経験的手段の差を乗算する浮動小数点数である。それは、訓練サンプルを導入するときにディープ・ボルツマン・マシンの重みおよびバイアスの変化の大きさをスケール化するために使用される。
【０１２８】
学習率スケジュールは、訓練サンプル毎に変わっていく学習率のシーケンスである。一実施形態では、学習率スケジュールは、浮動小数点数のシーケンス
【０１２９】
【数１】
2019514135.tif 000003
であり、ここで、ｉ＝｛１，…，Ｋ｝は、ディープ・ボルツマン・マシンに対して適用されている訓練サンプルのカウント数である。たとえば、学習シーケンスは、サンプルのカウントに従って学習率を低下させることもある。別の例では、学習率は、すべての訓練サンプルについて同じ学習率を維持することがある。
【０１３０】
重み、バイアス、および学習率スケジュールは様々な実施形態に従って実施され得ることは理解されよう。
一実施形態では、重み、バイアス、および学習率スケジュールの提供は、アナログ・コンピュータ１０およびデジタル・コンピュータ８を使用して行われる。
【０１３１】
より詳細には、各重みは、アナログ・コンピュータ１０の結合デバイス制御システム３０によって提供される。
一実施形態では、提供する重みの標識は、デジタル・コンピュータ８のメモリ・ユニット２２から結合デバイス制御システム３０に対して提供される。
【０１３２】
各バイアスは、アナログ・コンピュータ１０のキュービット制御システム２４を使用して提供される。
一実施形態では、提供するバイアスの標識は、デジタル・コンピュータ８のメモリ・ユニット２２からキュービット制御システム２４に対して提供される。
【０１３３】
処理工程４０２によれば、量子サンプリングは、キュービットの第１のセットのキュービットがクランプされていない状態で行われる。
量子プロセッサの第１のセットのキュービットがクランプされていない状態で量子サンプリングを行う目的は、クランプされていない量子プロセッサのための経験的手段を提供することであることは理解されよう。
【０１３４】
クランプされていない量子プロセッサを考慮すると、量子サンプリングは、クランプされていない量子プロセッサのエネルギー関数−Ｅ（ｖ，ｈ）＝Σｉｊｗｉｊｖｉｈｊ＋Σｉａｉｖｉ＋Σｋｌｕｋｌｈｋｈｌ＋Σｊｂｊｈｊ＋Σｉｊｓｉｊｖｉｖｊについて、ボルツマン分布
【０１３５】
【数２】
2019514135.tif 000004
を近似する分布からサンプルを提供するために使用される。
【０１３６】
上記において、Ｚは分配関数（正規化定数）であり、Ｔは量子プロセッサの有効温度であることは理解されよう。
さらに、量子プロセッサが動作している物理的温度が本来的に使用されるので、量子プロセッサの有効温度Ｔを指定または識別する必要がないことは理解されよう。
【０１３７】
この処理工程からの結果は、〈ｖｉｈｊ〉ｍｏｄｅｌ、〈ｈｊ，ｈｋ〉ｍｏｄｅｌ、〈ｖｉ〉ｍｏｄｅｌ、〈ｈｊ〉ｍｏｄｅｌ、および〈ｖｉｖｊ〉ｍｏｄｅｌを含む、クランプされていないネットワークに関する第１の経験的手段とも呼ばれる経験的手段であることは理解されよう。
【０１３８】
経験的手段〈ｖｉｈｊ〉ｍｏｄｅｌは、可視ノードおよび隠れノードｉ，ｊの積のモデル・ベースの経験的手段と呼ばれることは理解されよう。それは、クランプされていない量子プロセッサ上で行われた量子サンプリングにより提供された複数のサンプルに基づいて計算される。
【０１３９】
経験的手段〈ｈｊｈｋ〉ｍｏｄｅｌは、隠れノードおよび隠れノードｊ，ｋの積のモデル・ベースの経験的手段と呼ばれることは理解されよう。それは、クランプされていない量子プロセッサ上で行われた量子サンプリングにより提供された複数のサンプルに基づいて計算される。
【０１４０】
経験的手段〈ｖｉ〉ｍｏｄｅｌは、可視ノードｉのモデル・ベースの経験的手段と呼ばれることは理解されよう。それは、クランプされていない量子プロセッサ上で行われた量子サンプリングにより提供された複数のサンプルに基づいて計算される。
【０１４１】
経験的手段〈ｈｊ〉ｍｏｄｅｌは、隠れノードｊのモデル・ベースの経験的手段と呼ばれることは理解されよう。それは、クランプされていない量子プロセッサ上で行われた量子サンプリングにより提供された複数のサンプルに基づいて計算される。
【０１４２】
経験的手段〈ｖｉｖｊ〉ｍｏｄｅｌは、可視ノードおよび可視ノードｉ，ｊの積のモデル・ベースの経験的手段と呼ばれることは理解されよう。それは、クランプされていない量子プロセッサ上で行われた量子サンプリングにより提供された複数のサンプルに基づいて計算される。
【０１４３】
処理工程４０４によれば、少なくとも１つの訓練データ・インスタンスが、提供される。
提供される少なくとも１つの訓練データ・インスタンスは、ディープ・ボルツマン・マシンを訓練するために使用されることは理解されよう。
【０１４４】
少なくとも１つの訓練データ・インスタンスは、ディープ・ボルツマン・マシンによって訓練を通じて分布が近似されている多変量バイナリ確率変数の実現を表すバイナリ値のベクトルであることは理解されよう。一実施形態では、訓練データのサイズがＫで表される。
【０１４５】
少なくとも１つの訓練データ・インスタンスは様々な実施形態に従って提供され得ることは理解されよう。
一実施形態では、少なくとも１つの訓練データ・インスタンスは、以前に生成されたデータ・セットから取得される。たとえば、以前に生成されたデータ・セットは、デジタル・コンピュータ８のメモリ・ユニット２２に記憶されてよい。以前に生成されたデータ・セットは、次いで、デジタル・コンピュータ８の通信ポート２０を介してアナログ・コンピュータ１０のキュービット制御システム２４に対して提供される。
【０１４６】
一代替実施形態では、少なくとも１つの訓練データ・インスタンスはリアルタイム・ソースから取得される。
一実施形態では、リアルタイム・ソースはデジタル・コンピュータ８から発生することが可能である。
【０１４７】
代替実施形態では、リアルタイム・ソースは、アナログ・コンピュータ１０に対し動作的に結合された別の処理ユニットから発生することが可能である。
処理工程４０６によれば、量子サンプリングは、可視ノードとして解釈されるキュービットがクランプされている状態で行われる。
【０１４８】
より詳細には、可視ノードに接続されたディープ・ボルツマン・マシンの隠れノードとして解釈される複数のキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定することは理解されよう。
【０１４９】
実際、少なくとも１つの訓練データ・インスタンスがディープ・ボルツマン・マシンの可視ノードに対して順次提供されることは理解されよう。これは、訓練データｖ’の１つのインスタンスに対してディープ・ボルツマン・マシンの可視ノードをクランプすることによって行われる。
【０１５０】
一実施形態では、これは、アナログ・コンピュータ１０の結合デバイス制御システム３０によって提供されるように、ディープ・ボルツマン・マシンの可視ノードとして解釈される複数のキュービットと、可視ノードに接続された隠れノードとして解釈される複数のキュービットとの間のカプラを「オフ」にすることによって、ならびに、アナログ・コンピュータ１０のキュービット制御システム２４によって提供されるように、クランプされた量子プロセッサの説明で上述されたように可視ノードに接続された隠れノードとして解釈される複数のキュービットのバイアスを設定することによって行われる。
【０１５１】
対応するボルツマン分布は、上述されたように訓練データｖ’にクランプされた量子プロセッサを用いる量子サンプリングを使用して近似される。ｖ’が与えられると、ネットワークのエネルギー関数は、Ｅ（ｈ）＝Ｅ（ｈ，ｖ’）によって与えられ、したがって単にｈの関数である。
【０１５２】
対応するボルツマン分布は、
【０１５３】
【数３】
2019514135.tif 000005
の近似値である。
【０１５４】
この処理工程は、〈ｈｊ，ｈｋ〉ｄａｔａおよび〈ｈｊ〉ｄａｔａからなるクランプされたネットワークに関する第２の経験的手段とも呼ばれる経験的手段を提供する。
経験的手段〈ｈｊｈｋ〉ｄａｔａは、隠れノードおよび隠れノードｊ，ｋの積のデータ・ベースの経験的手段と呼ばれることは理解されよう。それは、クランプされた量子プロセッサ上で行われた量子サンプリングにより提供された複数のサンプルに基づいて計算される。
【０１５５】
経験的手段〈ｈｊ〉ｄａｔａは、隠れノードｊのデータ・ベースの経験的手段と呼ばれることは理解されよう。それは、クランプされた量子プロセッサ上で行われた量子サンプリングにより提供された複数のサンプルに基づいて計算される。
【０１５６】
処理工程４０８によれば、量子プロセッサの重みおよびバイアスが更新される。
量子プロセッサの重みおよびバイアスは、クランプされた経験的手段およびクランプされていない経験的手段を使用して、すなわち、第１の経験的手段および第２の経験的手段を使用して更新されることは理解されよう。
【０１５７】
より詳細には、モデルおよびデータの経験的手段が与えられたとすると、量子プロセッサの重みおよびバイアスは以下を用いて更新される。
Δｗｉｊ＝ε（ｖｉ’〈ｈｊ〉ｄａｔａ−〈ｖｉｖｊ〉ｍｏｄｅｌ），  Δｕｋｌ＝ε（〈ｈｋｈｊ〉ｄａｔａ−〈ｈｋｈｊ〉ｍｏｄｅｌ），
Δｓｉｊ＝ε（ｖｉ’ｖｊ’−〈ｖｉｖｊ〉ｍｏｄｅｌ），
Δａｉ＝ε（ｖｉ’−〈ｖｉ〉ｍｏｄｅｌ），  Δｂｊ＝ε（〈ｈｊ〉ｄａｔａ−〈ｈｊ〉ｍｏｄｅｌ）
式中、εは、学習率スケジュールから提供される学習率である。
【０１５８】
処理工程４１０によれば、停止条件が満たされたかどうかを調べるためにテストが行われる。
実際、提供された訓練データ・セットにおいて残された訓練データ・インスタンスがない場合、またはさらなる訓練データ・インスタンスが提供されないと決定された場合、ディープ・ボルツマン・マシンの訓練が停止され得ることは理解されよう。
【０１５９】
オンライン学習シナリオでは、さらなる訓練データ・インスタンスが提供されないと決定された場合に、ディープ・ボルツマン・マシンの訓練が停止され得る。
オンライン訓練において、すべての以前の訓練データを用いて訓練されたディープ・ボルツマン・マシンが、任意の２つの連続する訓練サンプルの間の意図されたタスクのために使用されるように利用できる。
【０１６０】
オフライン学習シナリオでは、訓練は、提供された訓練データ・セットにおいて残された訓練データ・インスタンスがない場合、または何らかの理由でさらなる訓練データ・インスタンスが提供されないと決定された場合、訓練が停止され得る。オフライン訓練において、ディープ・ボルツマン・マシンは、任意の２つの連続する訓練サンプルの間の意図されたタスクのために使用されるようには利用できない。
【０１６１】
処理工程４１２によれば、訓練されたディープ・ボルツマン・マシン・データが提供される。
訓練されたディープ・ボルツマン・マシン・データはディープ・ボルツマン・マシンの最終の重みおよびバイアスを含むことは理解されよう。
【０１６２】
訓練されたディープ・ボルツマン・マシン・データは様々な実施形態に従って提供され得ることは理解されよう。
一実施形態では、訓練されたディープ・ボルツマン・マシン・データはデジタル・コンピュータ２２のメモリ・ユニットに記憶される。
【０１６３】
代替実施形態では、訓練されたディープ・ボルツマン・マシン・データは、デジタル・コンピュータ８に対し動作的に接続された別の処理ユニット（図示せず）に対して提供される。
【０１６４】
ディープ・ボルツマン・マシンは、ディープ・ボルツマン・マシン・ノード上の近似分布からサンプリングするために訓練される。これは、アプリケーションに応じて、可視ノードの全部もしくは一部をクランプし、または全部をクランプせず、残りのディープ・ボルツマン・マシン・ノードの全部または一部の近似分布からサンプリングすることによって行われることが可能である。
【０１６５】
訓練されたディープ・ボルツマン・マシン・データは、様々な用途に非常に有用であり得ることは理解されよう。
たとえば、訓練されたディープ・ボルツマン・マシン・データは、対応する量子プロセッサに実装されたとき、視覚物体認識、音声認識、分類タスク、回帰タスク、次元削減、情報検索、画像パッチのモデリング、オプティカル・フローの抽出、およびロボット工学を含むがそれらに限定されない群から選択された適用例に使用され得る。
【０１６６】
次に図５を参照すると、アプリケーションにおいて、訓練されたディープ・ボルツマン・マシン・データを用いて量子プロセッサを使用するための実施形態が示されている。
処理工程５００によれば、訓練されたディープ・ボルツマン・マシン重みおよびバイアス・データが取得される。
【０１６７】
訓練された量子プロセッサ・データは様々な実施形態に従って取得され得ることは理解されよう。
一実施形態では、訓練されたディープ・ボルツマン・マシン・データは、量子プロセッサを備えるアナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータから取得される。
【０１６８】
代替実施形態では、訓練されたディープ・ボルツマン・マシン・データは、デジタル・コンピュータのメモリ・ユニットから取得される。
処理工程５０２によれば、ディープ・ボルツマン・マシンのゼロ個以上の可視ノードが、対応する可視ノードに対して提供されるデータに従ってクランプされる。
【０１６９】
処理工程５０４によれば、量子プロセッサは、上述されたのと同じ方法で、処理工程５０２で提供されたデータにクランプされる。
量子プロセッサは、様々な実施形態に従って、訓練されたディープ・ボルツマン・マシン・データを用いてセットアップされ得ることは理解されよう。たとえば、アナログ・コンピュータが結合デバイス制御システムおよびキュービット制御システムを備える場合、量子プロセッサは、アナログ・コンピュータの結合デバイス制御システムおよびキュービット制御システムを使用して、訓練されたディープ・ボルツマン・マシン・データを用いてセットアップされ得る。
【０１７０】
ディープ・ボルツマン・マシン・データは、訓練されたディープ・ボルツマン・マシンの重みおよびバイアスからなるが、入力データは、ディープ・ボルツマン・マシンの可視ノードに適用されたバイナリ・ベクトルであることは理解されよう。
【０１７１】
処理工程５０６によれば、ボルツマン分布の量子サンプリング近似が行われる。ボルツマン分布の量子サンプリング近似の目的は、そのような分布のサンプルを取得することである。
【０１７２】
処理工程５０８によれば、量子サンプリングからの分布サンプル結果がアプリケーションのために使用される。１つのシナリオでは、分布サンプルは画像を再構成するために使用されてよい。別のシナリオでは、入力データを分類するために分布が使用されてよい。別のシナリオでは、決定プロセスにおいて適切なアクションを識別するために分布が使用されてよい。
【０１７３】
デジタル・コンピュータ８のメモリ・ユニット２２は、量子プロセッサ２８に実装されたディープ・ボルツマン・マシンを訓練するためのアプリケーション特有プログラムを備えてよいことは理解されよう。
【０１７４】
量子プロセッサ２８に実装されたディープ・ボルツマン・マシンを訓練するためのアプリケーション特有プログラムは、量子プロセッサ２８の複数のカプラおよび複数のキュービットを初期化するための初期化データを提供するための命令を備えることができる。
【０１７５】
量子プロセッサ２８に実装されたディープ・ボルツマン・マシンを訓練するためのアプリケーション特有プログラムは、基準が満たされるまで、量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供すること、ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得すること、量子プロセッサの量子サンプリングを行うことであって、量子プロセッサの所与の複数のキュービットのキュービットに対してバイアスが割り当てられず、所与の複数のキュービットのキュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、所与の複数のうちの少なくとも１つのキュービットと結合されたキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定すること、ならびに第１の経験的手段および第２の経験的手段を使用して、量子プロセッサのカプラおよびキュービットの対応する重みおよびバイアスを更新することを行うための命令をさらに備えることができる。
【０１７６】
量子プロセッサ２８に実装されたディープ・ボルツマン・マシンを訓練するためのアプリケーション特有プログラムは、訓練されたニューラル・ネットワークを表すデータとして量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供するための命令をさらに備えることができる。
【０１７７】
さらに、コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体が開示され、コンピュータ実行可能命令は、実行されたとき、上記に開示されたような量子プロセッサに実装されたディープ・ボルツマン・マシンを訓練するための方法をデジタル・コンピュータに行わせ、この方法は、量子プロセッサの複数のカプラおよびキュービットの複数のバイアスを初期化するための初期化データを提供する工程と、基準が満たされるまで、量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供する工程、ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得する工程、量子プロセッサの量子サンプリングを行う工程であって、量子プロセッサの所与の複数のキュービットのキュービットに対してバイアスが割り当てられず、所与の複数のキュービットのキュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、所与の複数のうちの少なくとも１つのキュービットと結合されたキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定する工程、第１の経験的手段および第２の経験的手段を使用して、量子プロセッサのカプラおよびキュービットの対応する重みおよびバイアスを更新する工程と、基準が満たされた後、量子プロセッサに対応するディープ・ボルツマン・マシンのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程とを含むことは理解されよう。
【０１７８】
本明細書に開示されている量子プロセッサの利点は、次数２の相互作用を有する量子回路のシステムのみから構成されることであることは理解されよう。さらに、そのような量子プロセッサは、一実施形態では米国特許第８，４２１，０５３号に開示された方法を使用して製造され得ることは理解されよう。
【０１７９】
量子プロセッサに実装されたディープ・ボルツマン・マシンを訓練するための本明細書に開示されている方法の別の利点は、従来技術の方法よりも速いことであることは理解されよう。
【０１８０】
さらに、量子プロセッサに実装されたディープ・ボルツマン・マシンを訓練するための本明細書に開示されている方法の別の利点は、制限付きボルツマン・マシン訓練方法による制限付きボルツマン・マシンと比較してより精密なことであることは理解されよう。
【０１８１】
上記の説明は、本発明者らによって現在企図されている特定の実施形態に関するが、本発明はその広い態様では、本明細書に記載された要素の機能的等価物を含むことは理解されよう。
第１項
複数のキュービットのＮ個の連続したグループ（１，２，…，Ｎ）であって、Ｎは３以上であり、
複数のキュービットのＮ個の連続したグループのキュービットの各グループは、複数の実質的に平行なキュービットを備え、
複数のキュービットのＮ個の連続したグループの１番目のグループの各キュービットは、複数のキュービットのＮ個の連続したグループのキュービットの２番目のグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、
複数のキュービットのＮ個の連続したグループの最後のグループの各キュービットは、複数のキュービットのＮ個の連続したグループの最後から２番目のグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされ、
１番目のグループおよび最後のグループを含まない、複数のキュービットのＮ−２個の連続したグループの任意の所与のグループの各キュービットは、複数のキュービットのＮ個の連続したグループの対応する後続するグループおよび対応する先行するグループのみの各キュービットの一部分に対して実質的に垂直に交差するようなサイズおよび形状になされた、複数のキュービットのＮ個の連続したグループ（１，２，…，Ｎ）と、
各カプラが２つのキュービットの交差部における通信結合を提供するためのカプラである、複数のカプラと
を備える量子プロセッサ。
第２項
量子プロセッサは、複数のニューロンおよび複数のシナプスを備えるニューラル・ネットワークを実装するために使用され、複数のニューロンの各ニューロンは、キュービットに関連付けられ、複数のシナプスの各シナプスは、量子プロセッサのカプラに関連付けられる、第１項に記載の量子プロセッサ。
第３項
第２項に記載の量子プロセッサに実装されたニューラル・ネットワークを訓練するための方法であって、
量子プロセッサの複数のカプラおよび複数のキュービットを初期化するための初期化データを提供する工程と、
基準が満たされるまで、
量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供する工程、
ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得する工程、
量子プロセッサの量子サンプリングを行う工程であって、量子プロセッサの所与の複数のキュービットのキュービットに対してバイアスが割り当てられず、所与の複数のキュービットのキュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、所与の複数のうちの少なくとも１つのキュービットと結合されたキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定する工程、および
第１の経験的手段および第２の経験的手段を使用して、量子プロセッサのカプラおよびキュービットの対応する重みおよびバイアスを更新する工程と、
訓練されたニューラル・ネットワークを表すデータを示す量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程と
を備える方法。
第４項
初期化データは、各バイアスが複数のキュービットのうちのキュービットに対するバイアスである、複数のバイアスと、各重みが複数のカプラのうちのカプラに対する重みである、複数の重みと、学習率スケジュールとを備える、第３項に記載の方法。
第５項
初期化データを提供する工程は、量子プロセッサを備えるアナログ・コンピュータと、アナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータとを使用して行われる、第４項に記載の方法。
第６項
少なくとも１つの訓練データ・インスタンスは、以前に生成されたデータ・セットから取得される、第３項乃至第４項のいずれか１項に記載の方法。
第７項
少なくとも１つの訓練データ・インスタンスは、リアルタイム・ソースから取得される、第３項乃至第４項のいずれか１項に記載の方法。
第８項
生成されたデータ・セットは、量子プロセッサを備えるアナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータに記憶される、第６項に記載の方法。
第９項
リアルタイム・ソースは、量子プロセッサを備えるアナログ・コンピュータに対し動作的に接続されたデジタル・コンピュータから発生する、第７項に記載の方法。
第１０項
基準は、停止条件を備え、停止条件は、使用可能なさらなる訓練データ・インスタンスが存在しないかどうかを決定することを備える、第３項乃至第９項のいずれか１項に記載の方法。
第１１項
デジタル・コンピュータは、メモリを備え、さらに、量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程は、量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを、デジタル・コンピュータのメモリに記憶する工程を備える、第５項、第８項、および第９項のいずれか１項に記載の方法。
第１２項
量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程は、量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを、デジタル・コンピュータに対し動作的に接続された別の処理ユニットに対して提供する工程を備える、第５項、第８項、および第９項のいずれか１項に記載の方法。
第１３項
デジタル・コンピュータであって、
中央処理装置と、
表示デバイスと、
第２項に記載のニューラル・ネットワークを実装するために使用される量子プロセッサを備えるアナログ・コンピュータに対し、デジタル・コンピュータを動作的に接続するための通信ポートと、
ニューラル・ネットワークを訓練するためのアプリケーションを備えるメモリ・ユニットと
を備え、アプリケーションは、
量子プロセッサの複数のカプラおよびキュービットの複数のバイアスを初期化するための初期化データを提供するための命令と、
基準が満たされるまで、
量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供すること、
ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得すること、
量子プロセッサの量子サンプリングを行うことであって、量子プロセッサの所与の複数のキュービットのキュービットに対してバイアスが割り当てられず、所与の複数のキュービットのキュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、所与の複数のうちの少なくとも１つのキュービットと結合されたキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定すること、および
第１の経験的手段および第２の経験的手段を使用して、量子プロセッサのカプラおよびキュービットの対応する重みおよびバイアスを更新すること
を行うための命令と、
訓練されたニューラル・ネットワークを表すデータとして量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供するための命令と
を備える、デジタル・コンピュータ。
第１４項
コンピュータ実行可能命令を記憶するための非一時的コンピュータ可読記憶媒体であって、コンピュータ実行可能命令は、実行されたとき、第２項に記載の量子プロセッサに実装されたニューラル・ネットワークを訓練するための方法をデジタル・コンピュータに行わせ、上記方法は、
量子プロセッサの複数のカプラおよび複数のキュービットを初期化するための初期化データを提供する工程と、
基準が満たされるまで、
量子プロセッサの量子サンプリングを行って、第１の経験的手段を提供する工程、
ニューラル・ネットワークを訓練するための少なくとも１つの訓練データ・インスタンスを取得する工程、
量子プロセッサの量子サンプリングを行う工程であって、量子プロセッサの所与の複数のキュービットのキュービットに対してバイアスが割り当てられず、所与の複数のキュービットのキュービットと他のキュービットとの間の結合がオフに切り替えられ、さらに、所与の複数のうちの少なくとも１つのキュービットと結合されたキュービットのバイアスが、オフに切り替えられた結合の重みおよび少なくとも１つの訓練データ・インスタンスを使用して変更されて、第２の経験的手段を決定する工程、および
第１の経験的手段および第２の経験的手段を使用して、量子プロセッサのカプラおよびキュービットの対応する重みおよびバイアスを更新する工程と、
訓練されたニューラル・ネットワークを表すデータを示す量子プロセッサのカプラおよびキュービットの最終の重みおよびバイアスを提供する工程と
を備える、非一時的コンピュータ可読記憶媒体。
第１５項
ニューラル・ネットワークはディープ・ボルツマン・マシンである、第２項乃至第１２項のいずれか１項に記載の方法。
【図１】
2019514135.tif 000006
【図２】
2019514135.tif 000007
【図３】
2019514135.tif 000008
【図４】
2019514135.tif 000009
【図５】
2019514135.tif 000010
【国際調査報告】
2019514135.tif 000011
2019514135.tif 000012