(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-22
(45)【発行日】2022-12-01
(54)【発明の名称】量子回路学習装置、量子回路学習方法、コンピュータプログラム、及び記録媒体
(51)【国際特許分類】
G06N 10/20 20220101AFI20221124BHJP
G06N 20/00 20190101ALI20221124BHJP
【FI】
G06N10/20
G06N20/00 130
(21)【出願番号】P 2020501019
(86)(22)【出願日】2019-02-21
(86)【国際出願番号】 JP2019006456
(87)【国際公開番号】W WO2019163866
(87)【国際公開日】2019-08-29
【審査請求日】2021-08-27
(31)【優先権主張番号】P 2018032118
(32)【優先日】2018-02-26
(33)【優先権主張国・地域又は機関】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成28年度、国立研究開発法人科学技術振興機構 戦略的創造研究推進事業「スケーラブル分子スピン制御技術の高度化により可能になる量子情報処理の新機能」、及び、平成29年度、国立研究開発法人科学技術振興機構 戦略的創造研究推進事業「知的量子設計による量子計算・量子シミュレーションの新機能創出」に係る委託研究、産業技術力強化法第19条の適用を受ける特許出願
(73)【特許権者】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(73)【特許権者】
【識別番号】504176911
【氏名又は名称】国立大学法人大阪大学
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】藤井 啓祐
(72)【発明者】
【氏名】根耒 誠
(72)【発明者】
【氏名】御手洗 光祐
(72)【発明者】
【氏名】北川 勝浩
【審査官】山本 俊介
(56)【参考文献】
【文献】米国特許出願公開第2017/0286858(US,A1)
【文献】米国特許出願公開第2017/0364796(US,A1)
【文献】FARHI, Edward, et al.,"Classification with Quantum Neural Networks on Near Term Processors",arXiv:1802.06002v1,version v1,[online], arXiv (Cornell University),2018年02月16日,Pages 1-21,[retrieved on 2019.03.13], Retrieved from the Internet: <URL: https://arxiv.org/abs/1802.06002v1>
【文献】LI, Jun, et al.,"Hybrid Quantum-Classical Approach to Quantum Optimal Control",arXiv:1608.00677v4,version v4,[online], arXiv (Cornell University),2017年01月19日,Pages 1-8,[retrieved on 2019.03.13], Retrieved from the Internet: <URL: https://arxiv.org/abs/1608.00677>
【文献】MITARAI, K., et al.,"Quantum Circuit Learning",arXiv:1803.00745v2,version v2,[online], arXiv (Cornell University),2019年01月09日,Pages 1-7,[retrieved on 2020.06.05], Retrieved from the Internet: <URL: https://arxiv.org/abs/1803.00745v2>
【文献】SCHULD, Maria, et al.,"Evaluating analytic gradients on quantum hardware",arXiv:1811.11184v1,version v1,[online], arXiv (Cornell University),2018年11月27日,Pages 1-8,[retrieved on 2020.06.05], Retrieved from the Internet: <URL: https://arxiv.org/abs/1811.11184v1>
【文献】ROMERO, Jonathan, et al.,"Variational quantum generators: Generative adversarial quantum machine learning for continuous dist,arXiv:1901.00848v1,version v1,[online], arXiv (Cornell University),2019年01月03日,Pages 1-15,[retrieved on 2020.06.05], Retrieved from the Internet: <URL: https://arxiv.org/abs/1901.00848v1>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
複数の量子ビットを備える量子回路U({θ
k})(但し、θ
kは回路構成を規定する回路パラメータ、kは回路パラメータのインデックス)に対して入力信号
x
(j)(但し、jは信号のインデックス)を与える信号入力部と、
前記量子回路U({θ
k})が備える量子ビットの状態を観測し、観測した状態に基づく前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
k})>を取得する信号取得部と、
該信号取得部が取得した前記値<A(
x
(j),{θ
k})>と、該値<A(
x
(j),{θ
k})>に対する教師信号
y
(j)とに基づいて設定されるコスト関数を用いて、前記量子回路U({θ
k})の回路構成を規定する回路パラメータθ
kを調整する調整部と、
を備え、
前記調整部は、前記回路パラメータθ
kのうちのl番目の前記回路パラメータθ
lを調整する際に、
l番目の前記回路パラメータθ
lを設定値εだけ増加させた場合の前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
1,...θ
l+ε,θ
l+
1,...})>と、l番目の前記回路パラメータθ
lを前記設定値εだけ減少させた場合の前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
1,...θ
l-ε,θ
l+
1,...})>との差分により計算される勾配を以下の式(1)により計算し、計算された勾配の値を用いて、勾配法により前記コスト関数を最小化するように、前記回路パラメータθ
lを調整する、
量子回路学習装置
【数1】
【請求項5】
前記回路パラメータは、前記量子ビットに作用する作用素を制御するためのパラメータを含む
請求項1に記載の量子回路学習装置。
【請求項7】
複数の量子ビットを備える量子回路U({θ
k})(但し、θ
kは回路構成を規定する回路パラメータ、kは回路パラメータのインデックス)に対して入力信号
x
(j)(但し、jは信号のインデックス)を与え、
前記量子回路U({θ
k})が備える量子ビットの状態を観測し、観測した状態に基づく前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
k})>を取得し、
取得した前記値<A(
x
(j),{θ
k})>と、該値<A(
x
(j),{θ
k})>に対する教師信号
y
(j)とに基づいて設定されるコスト関数を用いて、前記量子回路U({θ
k})の回路構成を規定する回路パラメータθ
kを調整し、
前記回路パラメータθ
kのうちのl番目の前記回路パラメータθ
lを調整する際に、
l番目の前記回路パラメータθ
lを設定値εだけ増加させた場合の前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
1,...θ
l+ε,θl+
1,...})>と、1番目の前記回路パラメータθ
lを前記設定値εだけ減少させた場合の前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
1,...θ
l-ε,θ
l+
1,...})>との差分により計算される勾配を以下の式(1)により計算し、計算された勾配の値を用いて、勾配法により前記コスト関数を最小化するように、前記回路パラメータθ
lを調整する、
処理をコンピュータに実行させる量子回路学習方法。
【数2】
【請求項8】
コンピュータに、
複数の量子ビットを備える量子回路U({θ
k})(但し、θ
kは回路構成を規定する回路パラメータ、kは回路パラメータのインデックス)に対して入力信号
x
(j)(但し、jは信号のインデックス)を与え、
前記量子回路U({θ
k})が備える量子ビットの状態を観測し、観測した状態に基づく前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
k})>を取得し、
取得した前記値<A(
x
(j),{θ
k})>と、該値<A(
x
(j),{θ
k})>に対する教師信号
y
(j)とに基づいて設定されるコスト関数を用いて、前記量子回路U({θ
k})の回路構成を規定する回路パラメータθ
kを調整し、
前記回路パラメータθ
kのうちのl番目の前記回路パラメータθ
lを調整する際に、
l番目の前記回路パラメータθ
lを設定値εだけ増加させた場合の前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
1,...θ
l+ε,θ
l+
1,...})>と、l番目の前記回路パラメータθ
lを前記設定値εだけ減少させた場合の前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
1,...θ
l-ε,θ
l+
1,...})>との差分により計算される勾配を以下の式(1)により計算し、計算された勾配の値を用いて、勾配法により前記コスト関数を最小化するように、前記回路パラメータθ
lを調整する、
処理を実行させるためのコンピュータプログラム。
【数3】
【請求項9】
コンピュータに、
複数の量子ビットを備える量子回路U({θ
k})(但し、θ
kは回路構成を規定する回路パラメータ、kは回路パラメータのインデックス)に対して入力信号
x
(j)(但し、jは信号のインデックス)を与え、
前記量子回路U({θ
k})が備える量子ビットの状態を観測し、観測した状態に基づく前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
k})>を取得し、
取得した前記値<A(
x
(j),{θ
k})>と、該値<A(
x
(j),{θ
k})>に対する教師信号
y
(j)とに基づいて設定されるコスト関数を用いて、前記量子回路U({θ
k})の回路構成を規定する回路パラメータθ
kを調整し、
前記回路パラメータθ
kのうちのl番目の前記回路パラメータθ
lを調整する際に、
l番目の前記回路パラメータθ
lを設定値εだけ増加させた場合の前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
1,...θ
l+ε,θ
l+
1,...})>と、l番目の前記回路パラメータθ
lを前記設定値εだけ減少させた場合の前記量子回路U({θ
k})の出力から計算される値<A(
x
(j),{θ
1,...θ
l-ε,θ
l+
1,...})>との差分により計算される勾配を以下の式(1)により計算し、計算された勾配の値を用いて、勾配法により前記コスト関数を最小化するように、前記回路パラメータθ
lを調整する、
処理を実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【数4】
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、量子回路学習装置、量子回路学習方法、コンピュータプログラム、及び記録媒体に関する。
【背景技術】
【0002】
ソーシャルネットワークやIoT(Internet of Things)の発展に伴い、従来の計算機システムでは取り扱いが困難なビッグデータを取り扱う新たな情報処理の枠組みが求められている。その一つの可能性として人間の脳をヒントに構成されたニューラルネットワークをソフトウェアとして用いた機械学習が近年盛んに研究開発され、従来では困難であった画像処理、認識、パターンマッチングや非線形時系列データ処理において威力を発揮しつつある。
【0003】
一方、ハードウェアに関しては、従来の半導体技術の限界を超える情報処理デバイスの代表格として、物理学におけるもっとも基本的な枠組みである量子力学に基づき情報処理システムを構築する、いわゆる量子情報処理は、素因数分解など一部の特殊な問題に対して指数的な高速化を可能とするとして盛んに研究されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Jaeger, H. & Haas, H. “Harnessing nonlinearity: predicting chaotic systems and saving energy in wireless communication.” Science 304, 78-80 (2004)
【文献】Jacob Biamonte、外5名、 “Quantum machine learning.” Nature, volume 549, 195-202 (2017)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、量子回路をうまく設計し、外界からの雑音を遮断して、万能な量子計算機を実現することは依然として困難である。また、機械学習分野で扱われているような汎用性の高い情報処理タスクへの応用方法は確立されていないという問題点を有している。
【0006】
本発明は、斯かる事情に鑑みてなされたものであり、量子回路における回路パラメータを調整することができ、情報処理タスクへの応用が可能な量子回路学習装置、量子回路学習方法、コンピュータプログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0007】
本願の量子回路学習装置は、複数の量子ビットを備える量子回路に対して入力信号を与える信号入力部と、前記量子回路が備える量子ビットの状態を観測し、観測した状態に基づく出力信号を取得する信号取得部と、該信号取得部が取得した出力信号と、該出力信号に対する教師信号とに基づいて設定されるコスト関数を用いて、前記量子回路の回路構成を規定する回路パラメータを調整する調整部とを備える。
【発明の効果】
【0008】
本願によれば、量子回路における回路パラメータを調整することができ、情報処理タスクへの応用を実現することができる。
【図面の簡単な説明】
【0009】
【
図1】本実施の形態に係る量子情報処理システムの全体構成を説明するブロック図である。
【
図2】量子回路が備える量子系のダイナミクスを説明する説明図である。
【
図3】本実施の形態に係る量子情報処理システムにおいて実行される処理の手順を説明するフローチャートである。
【
図4A】非線形関数のフィッティング結果を示すグラフである。
【
図4B】非線形関数のフィッティング結果を示すグラフである。
【
図5A】非線形関数のフィッティング結果を示すグラフである。
【
図5B】非線形関数のフィッティング結果を示すグラフである。
【
図6A】分類問題に対する適用例を説明する説明図である。
【
図6B】分類問題に対する適用例を説明する説明図である。
【発明を実施するための形態】
【0010】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
図1は本実施の形態に係る量子情報処理システムの全体構成を説明するブロック図である。本実施の形態に係る量子情報処理システムは、二値のビットデータを処理する古典コンピュータとして機能する古典コンピュータ部10と、互いに相互作用する複数の量子ビットにより構成される量子系を含み、各量子ビットの状態の重ね合わせに基づいて得られる信号を出力する量子コンピュータ部20とを備える。
【0011】
古典コンピュータ部10は、制御部11、記憶部12、入出力部13、観測部14、及び学習部15を含む。
【0012】
制御部11は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備える。制御部11のCPUは、ROM又は記憶部12に予め記憶された各種プログラムを実行することにより、古典コンピュータ部10及び量子コンピュータ部20の動作を制御する。制御部11のRAMは、各種プログラムの実行中に生成されるデータ等を一時的に記憶する。
【0013】
なお、本実施の形態では、CPU、ROM、RAM等を備えた制御部11により量子コンピュータ部20の動作を制御する構成について説明するが、制御部11は、上記の構成に限定されるものではなく、マルチコアCPU、GPU(Graphics Processing Unit)、マイコン、FPGA(Field Programmable Gate Array)、アナログ回路等を含む任意の処理回路であればよい。また、制御部11は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等を備えていてもよい。
【0014】
また、本実施の形態では、古典コンピュータ部10が、制御部11、記憶部12、入出力部13、観測部14、及び学習部15を含む構成としたが、例えば、学習部15の機能を古典コンピュータ部10から独立した別のコンピュータ又は仮想コンピュータ等により実現してもよいことは勿論のことである。
【0015】
記憶部12は、HDD(Hard Disk Drive)などの記憶装置を備え、各種プログラム及びデータを記憶する。記憶部12が記憶するプログラムには、古典コンピュータ部10の動作全体を制御するためのプログラムであるオペレーティングシステム(OS)12A、量子コンピュータ部20の動作を制御するためのプログラム(量子プログラム)12B等が含まれる。また、記憶部12が記憶するデータには、量子コンピュータ部20に入力する入力データ、量子コンピュータ部20の動作を制御するために必要な制御データ等が含まれる。
【0016】
なお、量子プログラム12Bは、当該プログラムを読み取り可能に記録した非一時的な記録媒体Mによって提供されるものであってよい。記録媒体Mは、例えば、CD-ROM、USBメモリ、SD(Secure Digital)カード、マイクロSDカード、コンパクトフラッシュ(登録商標)などの可搬型メモリである。この場合、量子情報処理システムが備える古典コンピュータ部10は、図に示していない読取装置を用いて、記録媒体Mから量子プログラム12Bを読み取り、読み取った量子プログラム12Bを記憶部12にインストールしてもよい。また、古典コンピュータ部10が通信部を備え、通信部を通じて外部の通信装置と通信可能である場合、量子プログラム12Bは通信部を介した通信により提供されてもよい。この場合、古典コンピュータ部10は、通信部を介して外部の通信装置から量子プログラム12Bを取得し、取得した量子プログラム12Bを記憶部12にインストールしてもよい。
【0017】
入出力部13は、キーボード、マウス等の入力デバイス、及びディスプレイ装置等の出力デバイスを接続する入出力インタフェースを備える。入出力部13は、入力デバイスを通じて入力されるデータを制御部11へ送出し、制御部11は、入出力部13からのデータに基づいて各種処理を実行する。また、制御部11は、量子コンピュータ部20から出力される出力データ等のユーザへ報知すべきデータを取得した場合、当該データを、入出力部13を通じて出力デバイスへ出力する。
【0018】
観測部14は、量子コンピュータ部20の出力層23に接続されており、量子回路22から読み出される出力データを、出力層23を通じて取得する。観測部14は、取得した出力データを制御部11へ送出する。
【0019】
学習部15は、量子コンピュータ部20に入力する入力データについて理想的な出力データを示す教師データを記憶するためのメモリ(不図示)を備える。学習部15は、出力層23に接続されており、出力層23を通じて読み出された出力データと、予め記憶されている教師データとに基づき、量子回路22の回路構成を規定する回路パラメータθを学習する。学習部15により決定された回路パラメータθは、制御部11を通じて量子回路22にフィードバックされる。なお、回路パラメータθは単一のパラメータである必要はなく、複数のパラメータからなるパラメータ群であってもよい。
【0020】
なお、本実施の形態では、古典コンピュータ部10が学習部15を独立した構成要素として備える構成としたが、制御部11が学習部15の機能を備えていてもよい。この場合、回路パラメータθを学習する際の処理手順は量子プログラム12Bによって提供され、教師データは例えば記憶部12に記憶される。制御部11は、学習フェーズにおいて量子プログラム12Bを実行することにより、観測部14を通じて取得した量子コンピュータ部20からの出力データと、記憶部12から読み出した教師データとに基づき、量子回路22を規定する回路パラメータθを学習し、量子回路22へのフィードバックを行うことにより、学習部15の機能を実現する。
【0021】
量子コンピュータ部20は、入力層21、量子回路22、及び出力層23を含む。
【0022】
入力層21は、古典コンピュータ部10から入力される入力データに基づく信号を、量子回路22の量子系が備える量子ビットへ出力する。量子ビットへ出力する信号は、0又は1(-1又は+1)の値を取るバイナリの信号であってもよく、0から1(-1から+1)の範囲の連続変数の信号であってもよい。
【0023】
量子回路22は、互いに相互作用する複数の量子ビットにより構成され、その回路構成が回路パラメータθによって規定される量子系を含む。量子系としては、例えば、液体及び固体NMR(Nuclear Magnetic Resonance)量子スピンアンサンブル、超伝導量子回路、トラップイオン、量子ドット、光格子上の中性原子に代表されるような量子力学に基づいて振る舞う物理系を含む制御性のある任意の量子系を用いることができる。量子回路22の回路構成を規定する回路パラメータθは、例えば、量子ビットを任意の回転軸の回りに設定角度だけ回転させる演算子である。
【0024】
出力層23は、例えば、単電子トランジスタ、超電導増幅・検出器、電磁波を検出するコイル、光子検出器などの観測手段を各量子ビットに対応して備える。出力層23は、各量子ビットの状態を観測し、適宜選定した出力関数F(後述)を適用することにより、学習部15にて決定される回路パラメータθを用いた出力データを読み出す。このとき、必要に応じて観測を複数回繰り返してサンプリングすることにより、物理量の平均値を取得してもよい。
【0025】
なお、上述した量子情報処理システムでは、古典コンピュータ部10と量子コンピュータ部20とを便宜的に分離した構成としたが、必ずしも両者を分離して備える必要はなく、古典コンピュータ部10及び量子コンピュータ部20を一体に備えたシステム(装置)として構築してもよい。
【0026】
図2は量子回路22が備える量子系のダイナミクスを説明する説明図である。量子回路22が備える量子系は、N個(Nは2以上の整数)の量子ビットにより構成されるものとする。
【0027】
量子ダイナミクスを情報処理に活用するために、量子回路22が備える量子系への入力信号xi (i=1,2,3,…)を導入する。ここで、入力信号xi は、画像信号等の静的なデジタル信号を示している。量子回路22において、初期化された量子ビット(キュービット)に入力信号xi が付与された場合、その量子ビットの入力状態|ψin(xi )>は、|ψin (xi )>=V(xi )|0>に置き換えられる。ここで、V(xi )は、ユニタリ入力ゲートを表す。
【0028】
本実施の形態では、制御部11は、量子回路22の回路パラメータθによってパラメータ化されたユニタリ演算子U(θ)を入力状態に適用する。これにより、出力状態として、|ψout (xi ,θ)>=U(θ)|ψin(xi )>が得られる。ここで、U(θ)は、回転角度などのパラメータ付き基本量子演算子により構成された量子回路であってもよく、ハミルトニアンによる時間発展を含んでもよい。なお、量子回路22は、ユニタリ演算子U(θ)だけでなく、回路パラメータθに依存しない別の量子回路や任意の処理回路を含んでもよい。
【0029】
各量子ビットから得られる信号は、各量子ビットにおいて局所的に観測可能な物理量に対する射影測定の結果や、それを繰り返しサンプリングすることによって得られる物理量の平均値により定義される。ここで、観測可能な物理量として、j番目の量子ビットに作用するパウリ演算子{Bj }を使用する。例えば、スピンを量子ビットとして用いる場合、観測可能な物理量は、核スピンの磁化率に対応する。パウリ演算子{Bj }を適用して得られる出力信号は、例えば、y(xi ,θ)=F({Bj (xi , θ)})により記述される。ここで、Fは適宜の出力関数を表している。
【0030】
量子回路22における回路パラメータθを調整する学習フェーズでは、コスト関数を用いて、回路パラメータθの最適化を行う。コスト関数は、例えば、量子コンピュータ部20からの出力信号yi と、入力信号xi に対して理想的な出力信号を示す教師信号f(xi )とを用いて、例えば、次式により表される。
【0031】
【0032】
ここで、yi は、入力信号xi と、回路パラメータθ={θi}とを与えた場合に、量子コンピュータ部20から読み出される出力信号である。
また、||・||の演算子は、ユークリッド・ノルムを表す。
【0033】
学習部15は、量子回路22の回路パラメータθを最適化する学習フェーズにおいて、量子コンピュータ部20からの出力である出力信号yi を取得した場合、出力信号yi と教師信号f(xi )とにより設定される上記コスト関数を最小化するように、回路パラメータθを調整する。
【0034】
なお、本実施の形態では、コスト関数は数1の式に限定されるものではない。例えば、次式で表されるコスト関数を用いてもよい。
【0035】
【0036】
以下、量子回路22における回路パラメータθを調整する際の量子情報処理システムの動作について説明する。
図3は本実施の形態に係る量子情報処理システムにおいて実行される処理の手順を説明するフローチャートである。なお、
図3のフローチャートにより示される動作は、制御部11が、記憶部12に記憶されたOS12A、量子プログラム12B等の各種プログラムを読み出して実行し、古典コンピュータ部10及び量子コンピュータ部20が備える各部の動作を制御することによって実現するものである。
【0037】
制御部11は、現時点が量子回路22の回路パラメータθを学習する学習フェーズであるか否かを判断する(ステップS101)。学習フェーズでないと判断した場合(S101:NO)、制御部11は、以下の処理を実行せずに本フローチャートによる処理を終了する。
【0038】
制御部11は、例えば、入出力部13を通じて、運用フェーズから学習フェーズへの変更指示を受付けた場合、現時点が学習フェーズであると判断し(S101:YES)、処理対象となる入力データ{xi }に基づく入力信号を、量子コンピュータ部20の入力層21を通じて量子回路22に付与する(ステップS102)。すなわち、初期化されたキュービット|0>に対して、ユニタリ入力ゲートV(xi )が適用されることにより、入力状態として、
|ψin(xi )>=V(xi )|0>
が得られる。また、入力信号xi に適宜の非線形関数gを適用させたg(xi )を入力として、
|ψin(xi )>=V(g(xi ))|0>
としてもよい。
【0039】
非線形性は量子系のテンソル積構造とユニタリ入力ゲートV(xi )とによって誘導される。また、量子回路22において、入力状態にユニタリ演算子U(θ)を適用して得られる量子状態に対し、量子アナログデジタル変換を行い、波動関数のアナログ情報を量子ランダムアクセスメモリに格納し、デジタル量子情報として非線形変換を施し、再び量子アナログデジタル変換をすることによって非線形性を誘導してもよい。すなわち、量子回路22は、ユニタリ演算子U(θ)だけでなく、アナログ情報をデジタル情報に変換する第1の量子アナログデジタル変換A、非線形演算に関する別の量子回路R、及びデジタル情報をアナログ情報に変換する第2の量子アナログデジタル変換回路Dを含んでもよい。
【0040】
また、制御部11は、量子回路22の回路パラメータθによってパラメータ化されたユニタリ演算子U(θ)を入力状態に適用する。これにより、出力状態として、
|ψout (xi ,θ)>=U(θ)|ψin(xi )>
が得られる。
【0041】
次いで、観測部14は、量子回路22の選択された量子ビットの状態を観測し(ステップS103)、出力層23を通じて出力信号を取得する(ステップS104)。なお、必要に応じて、観測結果を複数回繰り返しサンプリングすることによって物理量の期待値を出力信号として取得してもよい。出力信号yi =y(xi ,θ)は、パウリ演算子{Bj }を用いて、
y(xi ,θ)=F({Bj (xi ,θ)})
のように記述することができる。ここで、Fは適宜の出力関数を表す。
【0042】
学習部15は、観測部14を通じて入力される出力信号yi と、入力信号xi の理想的な出力を示す教師信号f(xi )とに基づき設定されるコスト関数L(f(xi ),y(xi ,θ))を算出する(ステップS105)。
【0043】
次いで、学習部15は、算出したコスト関数Lの値が閾値ε以下であるか否かを判断する(ステップS106)。ここで、閾値εは、コスト関数が収束したか否かを判定するための閾値であり、適宜の微小な値が設定される。
【0044】
算出したコスト関数Lの値が閾値ε以下でないと判断した場合(S106:NO)、学習部15は、回路パラメータθを変更する(ステップS107)。例えば、回路パラメータθが量子回路22を構成する量子ビットを任意の回転軸の回りに回転させる演算子を含む場合、当該演算子の回転角度を変更することにより、回路パラメータθを変更してもよい。また、量子回路22が量子アニーリングマシン若しくは量子アニーリングマシンをデジタル化したものであれば、量子ビット間の結合定数を変更することにより、回路パラメータθを変更してもよい。
【0045】
また、学習部15は、ステップS105で算出されるコスト関数Lの値を保持しておき、今回算出したコスト関数の値Ln が、前回算出したコスト関数の値Ln-1 よりも小さくなるように、勾配法を用いて回路パラメータθを設定してもよい。コスト関数のあるパラメータに対する勾配の値については、量子回路22の回路構成を部分的に適切に変更することによって、通常の読み出しと同じ方法で直接観測により得られる。
【0046】
学習部15は、回路パラメータθを設定値ε(例えば差分が最大となるπ/2)だけ増加させた場合の量子回路22の出力と、回路パラメータθをεだけ減少させた場合の量子回路22の出力との差分により計算される勾配を用いて、回路パラメータθを調整してもよい。
【0047】
量子回路22の出力から計算される値は、例えば次式にように表すことができる。
【0048】
【0049】
ここで、V(x)は入力のための量子演算であり、U({θk })はパラメータ付き量子回路である。このとき、教師データを{x(j) ,y(j) }とすると、コスト関数L({θk })は次式のように表される。
【0050】
【0051】
コスト関数L({θk })の勾配は、次式により表される。
【0052】
【0053】
すなわち、コスト関数が解析的な関数である場合、出力<A>の偏微分が計算できればよい。例えば、U({θk})が数6により表され、かつ、PkがPk
2=Iを満たす場合、コスト関数L({θk})の偏微分を解析的に実行することが可能であり、数7のように表すことができる。また、数7におけるεは、予め設定される設定値である。
【0054】
【0055】
【0056】
学習部15は、数7で表されるように、l番目の回路パラメータを+εだけシフトさせた場合の量子回路22の出力と、l番目の回路パラメータを-εだけシフトさせた場合の量子回路22の出力との差分に基づき勾配を計算することができる。また、学習部15は、計算した勾配に基づき、量子パラメータθを調整すればよい。
【0057】
学習部15は、変更した回路パラメータθの値を制御部11へ出力する。制御部11は、学習部15から出力される回路パラメータθに基づき、量子回路22の回路構成を変更し、処理をステップS102へ戻す。
【0058】
一方、算出したコスト関数Lの値が閾値ε以下であると判断した場合(S106:YES)、学習部15は、そのときの回路パラメータθの値を、運用フェーズで用いる回路パラメータθの値として決定する(ステップS108)。学習部15は、決定した回路パラメータθを制御部11へ出力し、本フローチャートによる処理を終了する。
【0059】
以下、本実施の形態に係る量子情報処理システムを用いて典型的な機械学習タスクを行った数値シミュレーションの結果について説明する。
【0060】
図4A及び
図4B並びに
図5A及び
図5Bは非線形関数のフィッティング結果を示すグラフである。
図4A及び
図4BはそれぞれP(x)=x
2 ,sinxのフィッティング結果を示し、
図5A及び
図5BはそれぞれP(x)=e
x ,|x|のフィッティング結果を示している。
【0061】
各グラフの横軸は関数への入力値xを示し、縦軸は関数の出力値P(x)を示している。グラフ中の一点鎖線は、回路パラメータθをランダムに設定した場合の量子コンピュータ部20の出力(初期データ)を示し、実線は、回路パラメータθを最適化した場合の量子コンピュータ部20の出力(最終データ)を示している。なお、グラフ中の黒丸は、回路パラメータθを最適化する際に用いた教データを示している。
【0062】
本実施の形態に係る量子回路学習のフレームワークを用いて量子回路22における回路パラメータθを最適化することにより、全ての関数を精度良く再現することが可能であることが分かる。
【0063】
図6A及び
図6Bは分類問題に対する適用例を説明する説明図である。
図6Aは教師データの一例を示している。
図6Aに示す黒丸はクラス0に属する点を表し、白丸はクラス1に属する点を表している。
図6Aの例は、合計200個の教師データ(クラス0及び1に属する点はそれぞれ100個)を示す点が、x=-1~+1、及びy=-1~+1の範囲に分布していることを示している。
【0064】
図6Bは、Softmax変換を行った後の量子ビットからの最適化された出力値を示している。
図6Bにおいて、出力値「0.5」は分類における閾値を示しており、閾値以上(すなわち0.5以上)はクラス1に分類されるべき点、閾値未満(すなわち0.5未満)はクラス0に分類されるべき点を表している。
図6Bの出力結果は、灰色の点で示される環状の領域の外側がクラス1に分類されるべき点であることを示し、その内側がクラス0に分類されるべき点であることを示しており、
図6Aに示される教師データの分布を適切に分類していることが分かる。
【0065】
図6Bに示すように、本実施の形態では、量子回路学習のフレームワークを用いて量子回路22における回路パラメータθを最適化することにより、非線形の分類問題を解くことができる。
【0066】
以上のように、本実施の形態では、汎化及び予測等に用いられる量子回路22における回路パラメータを適宜の値に調整することができる。これにより、近未来的に実現される50-100量子ビットを用いた浅い回路を実行できる量子コンピュータ上で動作し、実用的な機械学習タスクを実行することができる量子アルゴリズムを提供することができる。回路パラメータが増えた場合のシステマティックな調整方法を提供し、教師あり学習をするときのコスト関数の設定、入力の量子状態への埋め込み方法を提供することができる。
【0067】
なお、本実施の形態に係る量子回路学習のフレームワークを量子回路22における精度改善の最適化に利用してもよい。例えば、ある量子計算Wをできるだけ高い忠実度で実行したいが、実験的に実現される量子計算W’が未知のパラメータを含むため、理想的な量子計算Wから大きくずれた忠実度の低いものとなっている状況を考える。
【0068】
この場合、理想的な量子計算Wに対する入出力関係{xi },{yi }を予め用意しておく。そして、実験的に実現される量子計算W’に対して、よく制御された回路パラメータθを有する量子回路22(ユニタリ演算子U(θ))を作用させ、得られるU(θ)W’|xi >が理想的な出力信号yi を示すように、本実施の形態に係る量子回路学習のフレームワークを用いて回路パラメータθを決定する。決定された回路パラメータθを用いることにより、忠実度が高い(理想的な量子計算Wに近い)U(θ)W’が実現され、量子計算の忠実度が改善される。
【0069】
今回開示された実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0070】
10 古典コンピュータ部
11 制御部
12 記憶部
13 入出力部
14 観測部
15 学習部
20 量子コンピュータ部
21 入力層
22 量子回路
23 出力層