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

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

▶ キューシー ウェア コーポレーションの特許一覧

<>
  • 特表-量子データローダ 図1A
  • 特表-量子データローダ 図1B
  • 特表-量子データローダ 図2
  • 特表-量子データローダ 図3
  • 特表-量子データローダ 図4A
  • 特表-量子データローダ 図4B
  • 特表-量子データローダ 図5A
  • 特表-量子データローダ 図5B
  • 特表-量子データローダ 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-05-25
(54)【発明の名称】量子データローダ
(51)【国際特許分類】
   G06N 10/20 20220101AFI20230518BHJP
【FI】
G06N10/20
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022562088
(86)(22)【出願日】2021-03-16
(85)【翻訳文提出日】2022-12-01
(86)【国際出願番号】 US2021022548
(87)【国際公開番号】W WO2021206872
(87)【国際公開日】2021-10-14
(31)【優先権主張番号】16/987,235
(32)【優先日】2020-08-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/986,553
(32)【優先日】2020-08-06
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/007,325
(32)【優先日】2020-04-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522396252
【氏名又は名称】キューシー ウェア コーポレーション
【氏名又は名称原語表記】QC WARE CORP.
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100166213
【弁理士】
【氏名又は名称】永久保 宅哉
(72)【発明者】
【氏名】ヨルダニス ケレニディス
(57)【要約】
本開示は、概して量子アルゴリズム及び量子データローディングの分野に関連するのであり、より具体的には、古典データを量子状態内へとロードするための量子回路を構築することに関連するのであり、これによって回路の演算資源(例えば、キュービット数、量子回路の深度、及び回路内のゲートのタイプ)を減じ得る。
【特許請求の範囲】
【請求項1】
古典データを表すn次元ベクトルをnキュービットの量子状態内へとエンコードするに際して用いるための量子回路であって、該量子回路は、
nキュービットと、
前記キュービットの1つに適用されるXゲートを備える第1の層と、
バイナリツリーパターンに従ってBSゲートを前記キュービットに適用する複数の後続の層であって、各BSゲートは単一パラメータ化2キュービットゲートであり、また、後続の層の個数は上限(log2 (n))を超過しない、複数の後続の層と、
を備える、量子回路。
【請求項2】
請求項1に記載の量子回路において、nは2の累乗である、量子回路。
【請求項3】
請求項1に記載の量子回路において、前記バイナリツリーパターンのルートノードはXゲートが適用されるキュービットである、量子回路。
【請求項4】
請求項1に記載の量子回路において、前記量子回路内のキュービット総数はnを超過しない、量子回路。
【請求項5】
請求項1に記載の量子回路において、前記量子回路内のBSゲートの総数はn-1を超過しない、量子回路。
【請求項6】
請求項1に記載の量子回路において、前記複数の後続の層の個数はnの対数である、量子回路。
【請求項7】
請求項1に記載の量子回路において、各BSゲートは次の形式をとる、量子回路:
【数1】
【請求項8】
請求項7に記載の量子回路において、nは2の累乗であり、前記n次元ベクトルは(x1, x2, …, xn)の形式をとり、また、jが1からn/2-1とされるに際して、
【数2】
【数3】
【請求項9】
請求項1に記載の量子回路において、前記キュービットは超伝導キュービットである、量子回路。
【請求項10】
請求項1に記載の量子回路において、前記BSゲートは再構成可能ビームスプリッタとして実装される、量子回路。
【請求項11】
古典データを表すn次元ベクトルを量子状態内へとエンコードするに際して用いるための量子回路であって、該量子回路は、
【数4】
キュービットの第1群及び
【数5】
キュービットの第2群と、
前記第1群内のキュービットに適用される第1のXゲートと前記第2群内のキュービットに適用される第2のXゲートとを備える第1の層と、
バイナリツリーパターンに従ってBSゲートをキュービットの前記第1群に適用する第1の複数の後続の層であって、各BSゲートは単一パラメータ化2キュービットゲートである、第1の複数の後続の層と、
制御BSゲート(c-BSゲート)を前記第1群及び第2群内のキュービットに適用する第2の複数の後続の層であって、各c-BSゲートは、BSゲートを前記第2群内のキュービットに適用し且つ前記第1群内のキュービットによって制御される、第2の複数の後続の層とを備え、
層の個数は
を超過しない、量子回路。
【請求項12】
請求項11に記載の量子回路において、前記第2の複数の後続の層はc-BSゲートの群を
【数6】

個有し、c-BSゲートの各群はバイナリツリーパターンに従ってBSゲートをキュービットの前記第2群に適用する、量子回路。
【請求項13】
請求項12に記載の量子回路において、同一群内のc-BSゲートは第1の群内の同じキュービットによって制御される、量子回路。
【請求項14】
請求項12に記載の量子回路において、c-BSゲートの各群内の各バイナリツリーパターンのルートノードは、Xゲートが適用されるキュービットの前記第2群内のキュービットである、量子回路。
【請求項15】
請求項11に記載の量子回路において、前記バイナリツリーパターンのルートノードは、Xゲートが適用されるキュービットの前記第1群内のキュービットである、量子回路。
【請求項16】
請求項11に記載の量子回路において、nは4の累乗である、量子回路。
【請求項17】
請求項11に記載の量子回路において、前記BSゲートの個数は
【数7】
を超過しない、量子回路。
【請求項18】
請求項11に記載の量子回路において、前記c-BSゲートの個数は
【数8】
を超過しない、量子回路。
【請求項19】
請求項11に記載の量子回路において、前記キュービットは超伝導キュービットである、量子回路。
【請求項20】
請求項11に記載の量子回路において、前記BSゲートは再構成可能ビームスプリッタとして実装される、量子回路。
【請求項21】
古典データを表す第1のn次元ベクトルをnキュービットの第1の量子状態内へとエンコードし、古典データを表す第2のn次元ベクトルをnキュービットの第2の量子状態内へとエンコードし、前記第1のn次元ベクトルと前記第2のn次元ベクトルとの間の距離を決定するに際して用いるための量子回路であって、該量子回路は、
2nキュービットと、
前記キュービットの1つに適用されるXゲートを備える第1の層と、
バイナリツリーパターンに従ってBSゲートを前記キュービットに適用する第1の後続層群であって、各BSゲートは単一パラメータ化2キュービットゲートである、第1の後続層群と、
並列的にキュービットのペアにBSゲートを適用する前記第1群後の追加層であって、ペア内の第1のキュービットは第1の量子状態と関連付けられており且つペア内の第2のキュービットは第2の量子状態と関連付けられている、追加層とを備え、
層の個数は上限(log2 (n) + 3)を超過しない、量子回路。
【請求項22】
請求項21に記載の量子回路において、nは2の累乗である、量子回路。
【請求項23】
請求項21に記載の量子回路において、前記バイナリツリーパターンのルートノードはXゲートが適用されるキュービットである、量子回路。
【請求項24】
請求項21に記載の量子回路において、前記量子回路内のキュービット総数は2nを超過しない、量子回路。
【請求項25】
請求項21に記載の量子回路において、前記量子回路内のBSゲートの総数は3n-1を超過しない、量子回路。
【請求項26】
請求項21に記載の量子回路において、前記第1の後続層群の個数はnの対数である、量子回路。
【請求項27】
請求項21に記載の量子回路において、各BSゲートは次の形式をとる、量子回路:
【数9】
【請求項28】
請求項27に記載の量子回路において、前記バイナリツリーの第1のBSゲートについて
【数10】
である、量子回路。
【請求項29】
請求項27に記載の量子回路において、前記追加層内のBSゲートについてθ=π/4である、量子回路。
【請求項30】
請求項21に記載の量子回路において、初めのnキュービットにて全てゼロを観測する確率が前記第1のn次元ベクトルと前記第2のn次元ベクトルとの間の距離を4で除したものに等しい、量子回路。
【請求項31】
古典データを表す第1のn次元ベクトルをnキュービットの第1の量子状態内へとエンコードし、古典データを表す第2のn次元ベクトルをnキュービットの第2の量子状態内へとエンコードし、前記第1のn次元ベクトルと前記第2のn次元ベクトルとの間の距離を決定するに際して用いるための量子回路であって、該量子回路は、
nキュービットと、
前記キュービットの1つに適用されるXゲートを備える第1の層と、
バイナリツリーパターンに従ってBSゲートを前記キュービットに適用する第1の後続層群であって、各BSゲートは単一パラメータ化2キュービットゲートである、第1の後続層群と、
前記バイナリツリーパターンの逆に従ってBSゲートを同じキュービットに適用する第2の後続層群とを備え、
層の個数は上限(2log2 (n) + 1)を超過しない、量子回路。
【請求項32】
請求項31に記載の量子回路において、nは2の累乗である、量子回路。
【請求項33】
請求項31に記載の量子回路において、前記第1の後続層群内の前記バイナリツリーパターンのルートノードは、Xゲートが適用されるキュービットである、量子回路。
【請求項34】
請求項31に記載の量子回路において、前記第2の後続層群内の前記バイナリツリーパターンのルートノードは、Xゲートが適用されるキュービットである、量子回路。
【請求項35】
請求項31に記載の量子回路において、前記量子回路内のキュービット総数はnを超過しない、量子回路。
【請求項36】
請求項31に記載の量子回路において、前記量子回路内のBSゲートの総数は2nー2を超過しない、量子回路。
【請求項37】
請求項31に記載の量子回路において、前記第2の後続層群内のBSゲートは、前記第1の後続層群内のBSゲートの共役ゲートである、量子回路。
【請求項38】
請求項31に記載の量子回路において、前記第1の後続層群内の各BSゲートは次の形式をとる、量子回路:
【数11】
【請求項39】
請求項38に記載の量子回路において、前記第2の後続層群内の各BSゲートは次の形式をとる、量子回路:
【数12】
【請求項40】
請求項31に記載の量子回路において、前記第2の後続層群内のBSゲートの個数は、前記第1の後続層群内のBSゲートの個数に等しい、量子回路。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概して量子アルゴリズム及び量子データローディングの分野に関連するのであり、より具体的には、古典データを量子状態内へとロードするための量子回路を構築することに関連するのであり、これによって回路の演算資源(例えば、キュービット数、量子回路の深度、及び回路内のゲートのタイプ)を減じ得る。
【背景技術】
【0002】
量子機械学習及び最適化アルゴリズムの多くでは、古典データを量子状態にロードするのであり、これは、分類、クラスタリング又は線形システムの解決等のタスクのために量子的手順を用いるためになされる。このこと故に、これらのアルゴリズムは近時にもたらされるとは言い難い。なぜならば、量子RAM(QRAM、Quantum Random Access Memory)とも称されるこれらのローダは、キュービット数及び量子回路の深度の両側面にて大規模且つ複雑な回路となるからである。例えば、従来的なQRAM回路は深度がO(n)となるのであって、nは古典データポイントを表すベクトルの次元である。
【図面の簡単な説明】
【0003】
本開示の実施形態は、添付の図面の実施例と合わせて捉えると、以下の詳細な説明及び添付の請求項からより容易に明らかとなる他の利点及び特徴を有している。
【0004】
図1A】実施形態による、単一のパラメータ化2キュービットゲート(BSと称する)を用いて古典データを量子状態内へとロードするために用いられる、量子回路を表す概略図である。
図1B】異なる実施形態による、単一のパラメータ化2キュービットゲート(BSと称する)及びその制御型(controlled version、c-BSと称する)を用いて古典データを量子状態内へとロードするために用いられる、量子回路を表す概略図である。
図2】実施形態による、2つのデータポイント間の距離(或いは等価的には内積)を推定するために量子データローダを適用する一例を示す概略図である。
図3】別の実施形態による、2つのデータポイント間の距離(或いは等価的には内積)を推定するために量子データローダを適用する一例を示す概略図である。
図4A】幾つかの実施形態による、超伝導キュービットを用いての、量子データローダのハードウェア実装例の一例を示す概略図である。
図4B】幾つかの実施形態による、超伝導キュービットを用いての、量子データローダのハードウェア実装例の一例を示す概略図である。
図5A】幾つかの実施形態による、線形光学系を用いての、量子データローダのハードウェア実装例を示す概略図である。
図5B】幾つかの実施形態による、線形光学系を用いての、量子データローダのハードウェア実装例を示す概略図である。
図6】実施形態による、マシン可読媒体から命令を読み取り、それらを1つ以上の(量子プロセッサを含む)プロセッサにて実行できる、例示的コンピューティングシステムのコンポーネントを示すブロック図である。
【0005】
図面は例示目的のみにおいて様々な実施形態について表している。本明細書において記述されている原理から逸脱することなく、本明細書において示されている構造及び方法の代替実施形態が採用されることが可能であるということを当業者であれば以降の論考から容易に認識するであろうといえ、例えば、BSゲートの詳細を変更できよう。
【発明を実施するための形態】
【0006】
図および以下の説明は、例示のみを目的とした好ましい実施形態に関するものである。以下の議論から、本明細書に開示された構造および方法の代替的な実施形態が、特許請求の範囲の原理から逸脱することなく採用され得る、実行可能な代替として容易に認識されることに留意すべきである。
【0007】
本明細書では、キュービット数及び量子回路の深度の両方を減じ得る、古典データを量子コンピュータにロードするための新規な回路構成について説明する。
【0008】
第1部:古典データを量子状態内へとロードする方法
1つの態様では、古典データポイントはn次元ベクトル(x1,x2,…,xn)によって表されるのであって、xiは実数であり、ベクトルのユークリッドノルムは1である。この態様について明確性をもって提示するために、nは2の累乗であるものと仮定するも、我々の方法は一般化されることができる。
【0009】
我々が説明するのは、古典データポイント(x1,x2,…,xn)から、この古典データをエンコードした量子状態を効率的に作成できる回路の具体的な実装例であり、具体的には以下の状態の作成を伴う:
【数1】
ここで、eiはiの単項表現である。同じファミリーの他の等価な回路を構築することもできる。
【0010】
第1のステップは、古典データポイント(x1,x2,…,xn)から一組の角度(θ1, θ2,…, θn-1)を古典的に計算することである。1つの態様では、角度は、次のようにして計算される:
【0011】
【数2】
j=1についてはrn/2の定義が得られ、j=2についてはrn/2+1の定義が得られ、j=n/2についてはrn-1の定義が得られることに留意されたい。
【0012】
最初のn/2-1個の値(即ち、r1,r2,…,rn/2-1)についてはまた定義するのであり、指数jは区間[1,n/2]内で値をとるのであり、値は次のように定義される:
【数3】

【数4】
【0013】
最初のn/2-1個の値(即ち、θ12,…,θn/2-1)についてはまた定義するのであり、指数jは区間[1,n/2]内で値をとるのであり、値は次のように定義される:
【数5】
【0014】
角度の値を設定する類似の手法もあり得るのであり、それらも我々の手法と同じ類いに属する。
【数6】
他の似たゲートを用いることができることにも留意されたいのであり、例えば次のようにしてそれらを導出できる:上述の行列の行と列とをパミュートすることによって、或いは、「1」の代わりに位相の要素としてeipを行列の(4,4)の位置にて導入することによって、或いは、2つの要素たるsin(θ)及び-sin(θ)を例えばi*sin(θ)及びi*sin(θ)に変更することによってそれらを導出できる。これらのゲートはいずれも実際的には等価であり、我々の手法はいずれのゲートを用い得る。代替的ゲートについての具体例を以下列挙するが、これは網羅的でないことに留意されたい:
【数7】


回路においてはXゲートをも用いるのであり、これはX = [[0, 1], [1, 0]]として定義され得る。
【0015】
一部の場合では、BS(θ)ゲートの制御型(controlled version)を用いることもあり、これはc-BS(θ)と称する。他の制御ゲートに似ており、このゲートは次のように定義される:
【数8】
【0016】
換言するに、これは3キュービットゲートであり、第1のキュービット(制御キュービット)が|0>の状態にある場合、第2及び第3のキュービット(ターゲットキュービット)に対して恒等行列(Id、Identity matrix)が適用されるのであり、また、第1のキュービットが|1>である場合、第2及び第3のキュービットに対して(BS(θ))ゲートが適用される。
【0017】
該回路を構築する例示的方法について以下の通りであり、それを「並列」ローダと称する。全てのキュービットを0状態に初期化して開始する。第1のステップでは、Xゲートを第1のキュービットに適用する。そして、以前に構築した角度θを用いて、階層的にBSゲートを追加することによって回路が構築される。第1の層は1つのBSゲートを有し、第2の層は2つのBSゲートを有し、第3の層は4つのBSゲートを有し、logn番目の層に至ってはn/2のゲートを有する。BSゲートの総数はn-1であり、以前に算出した角度θの個数と完全に同じである。ゲートが追加されるキュービットは、ツリー構造(例えば、バイナリツリー構造)に従う。第1の層に関しては角度θを伴うキュービット(0,n/2)間に1つのBSゲートがあり、第2の層に関しては角度θ2を伴う(0,n/4)と角度θ3を伴う(n/2,3n/4)との間に2つのBSゲートがあり、第3の層に関しては角度θ4を伴う(0,n/8)とθ5を伴う(n/4,3n/8)とθ6を伴う(n/2,5n/8)とθ7を伴う(3n/4,7n/8)との間に4つのBSゲートがあるのであり、他の層に関しても同様となる。
【0018】
図1Aは、8次元データポイント(x1,x2,…,x8)をロードするための我々の方法についての1つの具体的実装例を示す。図1Aでは、Tは時間ステップであり、q0-q7はキュービットであり、XはXゲートであり、また、垂直の線はどのキュービットにBSゲートが適用されるかを示す。図1B-3についても類似の表記がなされている。図1Aでは、Xゲートが第1の層内のキュービットq0に適用されて、後続の層はバイナリツリーパターンに従ってBSゲートを適用するのであって、ツリーのルートノードはq0である。図1AのゲートBSは、左から右へと向かって及び上部から下部へとむかって、パラメータとして角度(θ1, θ2,…,θ7)を伴うのであり、我々の説明又は類似の説明に従って算出できる。量子回路に用いられるキュービット数と、回路の深度と、2キュービット及び3キュービットのゲート数とについては、異なる次元に関して後述されるも、一般的には次の通りである:
【0019】
8次元の場合:キュービット数=8;深度=4;2キュービットゲートの個数=7;3キュービットゲートの個数=0。
【0020】
1024次元の場合:キュービット数=1024;深度=11;2キュービットゲートの個数=1023;3キュービットゲートの個数=0。
【0021】
n次元:キュービット数=n;深度=log(n)+1;2キュービットゲートの個数=n-1。3キュービットゲートの個数=0。
【0022】
回路の深度が、回路の実行時間又は時間複雑度に対応し得るため、ベクトルを~ O(log(n))にて量子状態に転換することができる。
【0023】
以下は並列ローダ用の例示的な量子回路についての説明である:古典データを表すn次元ベクトルをnキュービットの量子状態内へとエンコードするに際して用いるための量子回路が作成される。量子回路は、n個のキュービットと、キュービットの1つに適用されるXゲートを備える第1の層と、複数の後続の層とを含む。複数の後続の層は、バイナリツリーパターンに従ってBSゲートをキュービットに適用するのであって、各BSゲートは単一パラメータ化2キュービットゲートであり、また、後続の層の個数は上限(log2 (n))を超過しない。幾つかの実施形態では、この量子回路は、追加の層を含むより大きな量子回路の一部となっている。
【0024】
【0025】
【0026】
上述の構造は、nが4の累乗でない場合や、先述のようにキュービットの2つのセットが等しいサイズでない場合(例えば、サイズがt及びn/tである場合(これらの積が未だnに等しいことに留意されたい))にも機能するようにこしらえることができる。
【0027】
図1Bは、16次元データポイント(x1,x2,…,x16)をロードするための我々の方法についての1つの例示的実装例を示す。
【0028】
図1BのゲートBS及びc-BSは、左から右へと向かって及び上部から下部へとむかって、パラメータとして角度(θ1, θ2,…,θ15)を伴うのであり、我々の説明又は類似の説明に従って算出できる。「@」は、各c-BSゲートについての制御キュービットを示していることに留意されたい。
【0029】
図1Bの回路の深度に関しては、多くのゲートが異なるキュービットに適用されていることに気付くことによって改善できるのであり(例えば、時刻4及び8、又は5及び7等のゲート)、したがって、回路の総深度が
となるように再配置できる。
【0030】
量子回路に用いられるキュービット数と、回路の深度と、2キュービット及び3キュービットのゲート数とについては、一般的には次の通りである:
【0031】
【0032】
【0033】
【0034】
第2部:古典データを量子状態内へとロードする方法の適用例
以下では、他の用途もあるが例えば機械学習及び最適化において有用となる幾つかの基本的手順を実行するために、第1部にて説明した量子データローダをどのようにして用いるかについて示すのであり、次の用途が含まれる:距離推定、内積推定、線形代数、分類、クラスタリング、ニューラルネットワーク、及び多数の更なる用途。これらは、可能な用途の一部に過ぎず、本明細書にて開示される方法に基づいてさらなる用途を決することができる。以下の説明は、便宜上並列ローダを用いている。これらの手順をなすために、例えば第2ローダ等の他の量子データローダの実施形態も用い得る。
【0035】
【0036】
データポイント間の距離については異なるタイプをもって定義できるのであり、ここでは、1つの態様として、これら2つのデータポイント間の距離として次のように定義する:
【数9】
【0037】
図2は、2つの8次元データポイントたるx=(x1,x2,…,x8)及びy=(y1,y2,…,y8)の間の距離を推定するための我々の方法についての1つの具体的実装例を示す。この実装例では、左の1つめのゲートBSは(T=1にて)パラメータたる
【数10】
を伴っている。
【0038】
図2の回路の上半分内のゲートBSのパラメータは(q0-q7に関連する)、ベクトル(x1, x2,…,xn)についての量子データローダのパラメータに対応する。図2の回路の下半分内のゲートBSは(q8-q15に関連する)、ベクトル(y1, y2,…,yn)についての量子データローダのパラメータに対応する。図2の最も右側の部分のBSゲートの最後のセットは(T=5にて)、θ=π/4を伴う。BSゲートの最後のセットは、単一の時間ステップ中に並列で実行され得る。
【0039】
図2に説明される回路の結果は、次の量子状態である:
【数11】

したがって、キュービットの前半部にて全てがゼロとなることを観測する確率は、厳密に、d2(x,y)/4となる。
【0040】
量子回路に用いられるキュービット数と、回路の深度と、2キュービット及び3キュービットのゲート数とについては、異なる次元に関して後述されるも、一般的には次の通りである:
【0041】
8次元の場合:キュービット数=16;深度=6;2キュービットゲートの個数=23;3キュービットゲートの個数=0。
【0042】
1024次元の場合:キュービット数=2048;深度=13;2キュービットゲートの個数=3071;3キュービットゲートの個数=0。
【0043】
n次元:キュービット数=2n;深度=log(n)+3;2キュービットゲートの個数=3n-1。3キュービットゲートの個数=0。
【0044】
回路の深度が、回路の実行時間又は時間複雑度に対応し得るため、したがって、2つのベクトル間の距離は~ O(log(n))にて決定することができる。
【0045】
以下は、第1の実施形態による量子回路についての説明である:古典データを表す第1のn次元ベクトルをnキュービットの第1の量子状態内へとエンコードし、古典データを表す第2のn次元ベクトルをnキュービットの第2の量子状態内へとエンコードし、また、第1のn次元ベクトルと前記第2のn次元ベクトルとの間の距離を決定するに際して用いるための量子回路が作成される。量子回路は、2n個のキュービットと、キュービットの1つに適用されるXゲートを備える第1の層と、第1の後続層群と、追加層とを含む。第1の後続層群は、バイナリツリーパターンに従ってBSゲートをキュービットに適用するのであって、各BSゲートは単一パラメータ化2キュービットゲートである。追加層は、第1の群の後にあり且つそれはキュービットのペアにBSゲートを並列で適用するのであって、ペア内の第1のキュービットは第1の量子状態と関連付けられており且つペア内の第2のキュービットは第2の量子状態と関連付けられている。回路内の層の個数は
を超過しない。幾つかの実施形態では、この量子回路は、より多くの層を含むより大きな量子回路の一部となっている。
【0046】
【0047】
図3は、2つの8次元データポイントたるx=(x1,x2,…,x8)及びy=(y1,y2,…,y8)の間の距離を推定するための我々の方法についての1つの具体的実装例を示す。この実装例では次のようになる:回路の前半部はず1Aと同様に正規化されたベクトルxについての並列ローダに対応し、また、回路の後半部はベクトルyについてのローダの複素共役に対応する。換言するに、回路は、yのローダについてのゲート順序を逆行させ且つ各ゲートを共役させて、作成される。
【0048】
【0049】
【0050】
量子回路に用いられるキュービット数と、回路の深度と、2キュービット及び3キュービットのゲート数とについては、異なる次元に関して後述されるも、一般的には次の通りである:
【0051】
8次元の場合:キュービット数=8;深度=7;2キュービットゲートの個数=14;3キュービットゲートの個数=0。
【0052】
1024次元の場合:キュービット数=1024;深度=21;2キュービットゲートの個数=2046;3キュービットゲートの個数=0。
【0053】
n次元:キュービット数=n;深度=2log(n)+1;2キュービットゲートの個数=2n-2;3キュービットゲートの個数=0。
【0054】
したがって、この回路の時間複雑度は~O(2log(n))に収まり得る。第1の実施形態に比して時間複雑度は倍になるも、キュービット数は半減する。
【0055】
以下は、第2の実施形態による量子回路についての説明である:古典データを表す第1のn次元ベクトルをnキュービットの第1の量子状態内へとエンコードし、古典データを表す第2のn次元ベクトルをnキュービットの第2の量子状態内へとエンコードし、また、第1のn次元ベクトルと前記第2のn次元ベクトルとの間の距離を決定するに際して用いるための量子回路が作成される。量子回路は、n個のキュービットと、キュービットの1つに適用されたXゲートを備える第1の層と、第1の後続層群と、第2の後続層群とを含む。第1の後続層群は、バイナリツリーパターンに従ってBSゲートをキュービットに適用するのであって、各BSゲートは単一パラメータ化2キュービットゲートである。第2の後続層群は、バイナリツリーパターンの逆に従って共役BSゲートを同じキュービットに適用するのであって、各BSゲートは単一パラメータ化2キュービットゲートである。層の個数は上限(2log2(n) + 1)を超過しない。幾つかの実施形態では、この量子回路は、追加の層を含むより大きな量子回路の一部となっている。
【0056】
2. 内積推定
2つのデータポイントの距離及びそれらの内積は次の数学的公式によって関連付けられている:
【数12】
よって、(距離に加えて)内積を推定できる。例えば、内積は、図2又は図3の回路を用いて2つの8次元データポイントについて決定できる。
【0057】
3. 行列と行列の乗算
先述の内積推定のための量子的方法を用いて線形代数における応用例(具体的には行列同士の乗算)をもたらし得るのであり、ここで、2つの行列A及びBに関してC=ABを計算する必要がある場合を想定する。1つの態様では、方法は古典-量子的なハイブリッド態様で具現化でき、行列の各行A及び行列の各列Bについて、内積推定用の量子的方法を採用して、Cij = AiBjとして行列Cの各要素を計算できる。
【0058】
行列の乗算を上述の距離推定方法を介してなすことによって、当該演算は、時間複雑度を~O(n2log(n))として行うことができる。時間複雑度が~O(n3)となる従来的な行列乗算アルゴリズムに比して、これは相当な改善となる。
【0059】
4. 分類
上述した距離推定方法は、分類に関する応用例をもたらすために容易に用い得る。この応用例に関する多数の可能な実施形態の内の一例を説明する。
【0060】
1つの態様では、知られている最寄りの重心アルゴリズムを用い得るのであり、この場合、データポイントの分類は、全ての重心へのデータポイントの距離を計算して、最小距離を伴う重心を選択することによってなされる。上述の距離推定方法を用いて古典-量子的なハイブリッド分類アルゴリズムをもたらし得るのであり、この場合、図2又は図3との関係で説明した量子的方法を用いてデータポイントを分類する。
【0061】
5. クラスタリング
上述した距離推定方法は、クラスタリングに関する応用例をもたらすために容易に用い得る。多数の可能な実施形態の内の一例を説明する。
【0062】
1つの態様では、周知のk平均アルゴリズム(k-means algorithm)に基づいた古典-量子的なハイブリッドアルゴリズムを用い得る。この場合、図2又は図3との関係で上述した量子的距離推定方法は、行列同士の乗算が用いられる場合との関連で、(分類の場合と同様に)データポイントを重心に割り当てるため、及び、重心を更新するための両目的のために用いられ得る。
【0063】
6. ニューラルネットワークの訓練及び評価
上述した内積推定方法は、ニューラルネットワークに関する応用例をもたらすために用いられ得る。この応用例に関する多数の可能な実施形態の内の一例を説明する。
【0064】
1つの態様では、周知のフィードフォワード及び逆伝播アルゴリズムに基づいた古典-量子的なハイブリッドアルゴリズムを用い得る。この場合、図2及び図3との関係で上述した量子的距離推定方法は、ここでも行列同士の乗算が用いられる場合との関連で、評価の際及び逆伝播アルゴリズム(勾配降下アルゴリズムの場合も有り得る)の際にデータポイントの行列及び重みを乗算するためのいずれにも用い得る。
【0065】
本明細書にて開示される我々の方法の代替的実施形態は、開示の原理から逸脱することなく採用され得る実行可能な代替として容易に認識されることに留意すべきである
【0066】
第3部:量子データローダのハードウェア実装例
量子データローダが異なるタイプの現行の量子ハードウェアを用いてどのように実装できるかを以下説明するのであり、超伝導キュービット又はフォトニクスも含まれる。これらは、可能なハードウェア実装例の一部に過ぎず、より多くのものを本明細書にて説明するのと同じ方法に基づいてより容易に構築でき、或いは、トラップイオンや原子等の異なるキュービット技術についてもそう言える。
【0067】
1. 超伝導キュービットを伴っての実装
BS(θ)と称するファミリー内のゲートを、次のゲートが任意のパラメータθに対して直接的に適用できるようにする態様で2つの超伝導キュービットを結合するために、用い得る:
【数13】
【0068】
よって、第1部にて説明した量子データローダは、これらのゲートを用いて実装できるも、2-Dグリッドとして接続されている超伝導キュービットマシンの現行の接続性との関連では、新たな接続性が必要とされ得る。
【0069】
量子データローダについての我々の提案は、(グリッドではなく)ツリー構造にて接続されており且つ上述したBS(θ)ファミリーのゲートを適用できる能力を有する超伝導キュービットを必要とする場合がある。
【0070】
ツリー構造接続を伴わせるためにキュービットを2-D平面にて配置することに関しては異なる代案が数多くあり、図4Aでは、寸法が9×5であるグリッド内にて35キュービットを用いる32次元ベクトル用の量子データローダについての例示的アーキテクチャを開示している(32はローダ用に必要とされるキュービット数に対応し、付随的な3キュービットは幾つかのキュービットの反復を伴ってローダをグリッド内に収めるためのものである)。図4Bは、32次元がどのようにグリッドのキュービットにマッピングされるかを図示する。多くの代替的実施形態が可能であり、そのいずれもが埋め込みツリー構造接続性を伴う我々の方法に準じる。
【0071】
図4A及び4Bにおいては、「O」は超伝導キュービットに対応し、また、水平(--)又は垂直(|)の接続はキュービットのペア間でBS(θ)ゲートを行う能力に対応する。
【0072】
2. 線形光学系を伴う実装例
BS(θ)と称するファミリー内のゲートは、線形光学系スキームにて実装することもできるのであり、調節可能ビームスプリッタ又は調節可能Mach-Zender干渉計とも称される再構成可能ビームスプリッタを実装することによってこれをなせる。
【0073】
図5Aでは、実施形態によれば、再構成可能ビームスプリッタは部分反射鏡として実装されている。
【0074】
図5Bでは、そのような再構成可能ビームスプリッタを2つの入力及び2つの出力を有しBS(θ)ファミリーの演算を行うゲートとして表す。再構成可能ビームスプリッタはパラメータθ(不図示)を伴うのであり、これは反射率対透過率の比率に対応する(例えば、これは結合された光を分解するのであり、cos(θ)が反射されてsin(θ)が透過する)。そうして、第1部にて説明した量子データローダは、単一光子源と、再構成可能ビームスプリッタと、光子検出器とを用いて実装できる。
【0075】
一部の実施形態では、量子データローダは、統合フォトニックチップ内にて実装される得る。
【0076】
ツリー構造接続性をもたらすには異なる代替的アーキテクチャが数多くあるも、図5A及び5Bでは、量子データローダとして用いられ得るフォトニック線形光学系スキームについての例示的アーキテクチャを開示している。ツリー構造接続性を伴う我々の方法に準じる多くの代替的実施形態が可能である。
【0077】
図6は、一部の実施形態による、マシン可読媒体から命令を読み取り、それらを1つ以上の(量子プロセッサを含む)プロセッサ(又はコントローラ)にて実行できる、例示的コンピューティングシステムのコンポーネントを示すブロック図である。具体的には、図6は、コンピュータシステム600についての図式的な表現を示す。コンピュータシステム600は、例えば方法100等の本明細書にて説明されている方法論(又は処理)のうちの任意の1つ以上をコンピューティングシステムに行わせる命令624(例えば、ソフトウェア)を実行するために用いられ得る。一部の実施形態では、コンピューティングシステムは、スタンドアロン装置として又は他のマシンと接続(例えば、ネットワーク化)された装置として動作できる。ネットワークで結ばれた展開において、コンピューティングシステムは、サーバクライアントネットワーク環境でサーバマシン又はクライアントマシンの役割にて動作でき、又はP2P型(若しくは分散型)ネットワーク環境でピアマシンとして動作できる。図6及びその説明は、例示的装置について説明することに留意されたい。量子プロセッサを有する他のコンピューティングシステムは、異なる挙動を示し得るのであり、また、より多くの、より少ない、若しくは異なるコンポーネントを有し得る。
【0078】
例示的コンピュータシステム600は、1つ以上の処理ユニット(例えば、プロセッサ601,602)を含む。例えば、従来型プロセッサ602は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、コントローラ、状態マシン、1つ以上の特定用途向け集積回路(ASIC)、又はこれらの任意の組み合わせとされ得る。
【0079】
量子プロセッサ601は、量子効果に基づいて処理をなす1つ以上の物理的装置、そのような挙動を伴う1つ以上の装置、又は量子処理挙動を示すものと合理的に解釈され得る任意の他の装置とされ得る。量子プロセッサ601は、演算をなすために量子力学の法則を活用する。量子プロセッサ601は、古典コンピュータにて用いられるビットの代わりにキュービット(qubit、quantum bit、量子ビット)を一般的に用いる。古典ビットは、値が常に0又は1のいずれかとされる。雑に言えば、キュービットは、0と1とについての重ね合わせ状態或いは線形結合となっている非ゼロの確率を有している。量子プロセッサ601がキュービットに付いての演算をなせるが故に、キュービットが0と1とについての重ね合わせ状態にて存在できることは、特定の計算タスクに関して大幅に強化された性能をもたらし得る。例えば、Shor氏のアルゴリズムは、効率的に大きな整数を因数分解するためにどのようにして量子プロセッサを用いるかについて説明するのであり、これは暗号学において相当な用途及び影響を伴う。Grover氏の探索アルゴリズムは、例えばリストやデータベース等の大きな情報セットを効率的に探索するためにどのようにして量子プロセッサを用いるかについて説明する。
【0080】
量子プロセッサ601は、1つ以上の量子回路626を構成及び実行することができ得る。量子回路とは量子計算のモデルであり、この計算は一連の量子ゲートであり、これは1つ以上のキュービットに対しての可逆的変換である。
【0081】
コンピュータシステム600はまた、主メモリ604をも含む。コンピュータシステムは、記憶ユニット616を含み得る。プロセッサ601,602、メモリ604、及び記憶ユニット616は、何らかの通信媒体608を介して通信する。例えば、従来型プロセッサ602、メインメモリ604及び記憶ユニット616はバスを介して通信でき、一方で、プロセッサ602及び601は別個の専用通信経路を介して相互に通信し得る。
【0082】
追加で、コンピュータシステム600は、静的メモリ、606及びディスプレイドライバ610(UI105をユーザに表示し得るプラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、又はプロジェクタを駆動する)を含み得る。コンピュータシステム600はまた、英数入力装置612(例えば、キーボード)、カーソル制御装置614(例えば、マウス、トラックボール、ジョイスティック、動きセンサ、又は他のポインティング機器)、信号生成装置618(例えば、スピーカ)、及びネットワークインタフェース装置620も含み得るのであり、これらもまた通信媒体608を介して通信するように構成されている。
【0083】
記憶装置616は、本明細書に記載された方法論または機能のいずれか一つまたはそれ以上を具現化する命令624(例えば、ソフトウェア)が格納されている機械可読媒体622を含む。また、命令624は、コンピュータシステム600による実行中に、完全に又は少なくとも部分的に、主メモリ604内又はプロセッサ601内(例えば、プロセッサのキャッシュメモリ内)に存在してもよく、主メモリ604及びプロセッサ601はマシン可読媒体を伴い得る。命令624は、上述の方法を用いて量子回路626によって部分的に実行され得る。命令624は、ネットワークインタフェース装置620を介して、ネットワーク626上で送信又は受信され得る。
【0084】
マシン可読媒体622は、例示的な実施形態では単一の媒体であることが示されているが、「マシン読取可能媒体」という用語は、命令624を格納することができる単一の媒体又は複数の媒体(例えば、集中型若しくは分散型データベース、又は関連するキャッシュ及びサーバ)を含むとみなされるべきである。また、「マシン可読媒体」という用語は、マシンによる実行のための命令624を格納することができ、本明細書に開示された方法論の任意の1つ以上をマシンに実行させる任意の媒体を含むものともみなされるべきである。「マシン可読媒体」という用語は、ソリッドステートメモリ、光学媒体、及び磁気媒体の形態のデータリポジトリを含むが、これらに限定されない。
【0085】
詳細な説明は多くの具体的事項を含むも、これらは本発明の範囲を限定するものと解されるべきではなく、単に異なる実施例を例示するものとして解されるべきである。本開示の範囲には、上記にて詳述していない他の実施形態も含まれることに留意されたい。当業者に明らかであろう他のさまざまな改変、変更、及びバリエーションが、添付の特許請求の範囲において定義される精神および範囲から逸脱することなく、本明細書に開示された方法及び装置の配列、操作、及び詳細においてもたらされ得る。よって、本発明の範囲は、添付の特許請求の範囲及びその法的等価物によって決定されるべきである。
図1A
図1B
図2
図3
図4A
図4B
図5A
図5B
図6
【国際調査報告】