(57)【要約】  量子回路学習装置、量子回路学習方法、コンピュータプログラム、及び記録媒体の提供。  複数の量子ビットを備える量子回路に対して入力信号を与える信号入力部と、前記量子回路が備える量子ビットの状態を観測し、観測した状態に基づく出力信号を取得する信号取得部と、該信号取得部が取得した出力信号と、該出力信号に対する教師信号とに基づいて設定されるコスト関数を用いて、前記量子回路の回路構成を規定する回路パラメータを調整する調整部とを備える。
2019163866.tif 000002
【特許請求の範囲】
【請求項１】
複数の量子ビットを備える量子回路に対して入力信号を与える信号入力部と、
前記量子回路が備える量子ビットの状態を観測し、観測した状態に基づく出力信号を取得する信号取得部と、
該信号取得部が取得した出力信号と、該出力信号に対する教師信号とに基づいて設定されるコスト関数を用いて、前記量子回路の回路構成を規定する回路パラメータを調整する調整部と
を備える量子回路学習装置。
【請求項２】
前記調整部は、
前記コスト関数を最小化するように前記回路パラメータを調整する
請求項１に記載の量子回路学習装置。
【請求項３】
前記調整部は、
前記量子回路の回路構成の一部を変更することにより観測される勾配の値を用いて、勾配法により前記コスト関数を最小化する
請求項２に記載の量子回路学習装置。
【請求項４】
前記調整部は、
前記回路パラメータを設定値だけ増加させた場合の前記量子回路の出力と、前記回路パラメータを前記設定値だけ減少させた場合の前記量子回路の出力との差分により計算される勾配を用いて、前記回路パラメータを調整する
請求項３に記載の量子回路学習装置。
【請求項５】
前記回路パラメータは、前記量子ビットに作用する作用素を制御するためのパラメータを含む
請求項１から請求項４の何れか１つに記載の量子回路学習装置。
【請求項６】
前記量子ビットにより構成される量子系のテンソル積構造と、前記入力信号が入力される前記量子回路のユニタリ入力ゲートとにより非線形性が誘導される
請求項１から請求項５の何れか１つに記載の量子回路学習装置。
【請求項７】
複数の量子ビットを備える量子回路に対して入力信号を付与し、
前記量子回路が備える量子ビットの状態を観測し、観測した状態に基づく出力信号を取得し、
取得した出力信号と、該出力信号に対する教師信号とに基づいて設定されるコスト関数を用いて、前記量子回路の回路構成を規定する回路パラメータを調整する
処理をコンピュータに実行させる量子回路学習方法。
【請求項８】
コンピュータに、
複数の量子ビットを備える量子回路に対して入力信号を付与し、
前記量子回路が備える量子ビットの状態を観測し、観測した状態に基づく出力信号を取得し、
取得した出力信号と、該出力信号に対する教師信号とに基づいて設定されるコスト関数を用いて、前記量子回路の回路構成を規定する回路パラメータを調整する
処理を実行させるためのコンピュータプログラム。
【請求項９】
コンピュータに、
複数の量子ビットを備える量子回路に対して入力信号を付与し、
前記量子回路が備える量子ビットの状態を観測し、観測した状態に基づく出力信号を取得し、
取得した出力信号と、該出力信号に対する教師信号とに基づいて設定されるコスト関数を用いて、前記量子回路の回路構成を規定する回路パラメータを調整する
処理を実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、量子回路学習装置、量子回路学習方法、コンピュータプログラム、及び記録媒体に関する。
【背景技術】
【０００２】
ソーシャルネットワークやＩｏＴ（Internet of Things）の発展に伴い、従来の計算機システムでは取り扱いが困難なビッグデータを取り扱う新たな情報処理の枠組みが求められている。その一つの可能性として人間の脳をヒントに構成されたニューラルネットワークをソフトウェアとして用いた機械学習が近年盛んに研究開発され、従来では困難であった画像処理、認識、パターンマッチングや非線形時系列データ処理において威力を発揮しつつある。【０００３】
一方、ハードウェアに関しては、従来の半導体技術の限界を超える情報処理デバイスの代表格として、物理学におけるもっとも基本的な枠組みである量子力学に基づき情報処理システムを構築する、いわゆる量子情報処理は、素因数分解など一部の特殊な問題に対して指数的な高速化を可能とするとして盛んに研究されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Jaeger, H. & Haas, H. “Harnessing nonlinearity: predicting chaotic systems and saving energy in wireless communication.” Science 304, 78-80 (2004)
【非特許文献２】Jacob Biamonte、外５名、 “Quantum machine learning.” Nature, volume 549, 195-202 (2017)
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、量子回路をうまく設計し、外界からの雑音を遮断して、万能な量子計算機を実現することは依然として困難である。また、機械学習分野で扱われているような汎用性の高い情報処理タスクへの応用方法は確立されていないという問題点を有している。【０００６】
本発明は、斯かる事情に鑑みてなされたものであり、量子回路における回路パラメータを調整することができ、情報処理タスクへの応用が可能な量子回路学習装置、量子回路学習方法、コンピュータプログラム、及び記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願の量子回路学習装置は、複数の量子ビットを備える量子回路に対して入力信号を与える信号入力部と、前記量子回路が備える量子ビットの状態を観測し、観測した状態に基づく出力信号を取得する信号取得部と、該信号取得部が取得した出力信号と、該出力信号に対する教師信号とに基づいて設定されるコスト関数を用いて、前記量子回路の回路構成を規定する回路パラメータを調整する調整部とを備える。
【発明の効果】
【０００８】
本願によれば、量子回路における回路パラメータを調整することができ、情報処理タスクへの応用を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施の形態に係る量子情報処理システムの全体構成を説明するブロック図である。
【図２】量子回路が備える量子系のダイナミクスを説明する説明図である。
【図３】本実施の形態に係る量子情報処理システムにおいて実行される処理の手順を説明するフローチャートである。
【図４Ａ】非線形関数のフィッティング結果を示すグラフである。
【図４Ｂ】非線形関数のフィッティング結果を示すグラフである。
【図５Ａ】非線形関数のフィッティング結果を示すグラフである。
【図５Ｂ】非線形関数のフィッティング結果を示すグラフである。
【図６Ａ】分類問題に対する適用例を説明する説明図である。
【図６Ｂ】分類問題に対する適用例を説明する説明図である。
【発明を実施するための形態】
【００１０】
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
図１は本実施の形態に係る量子情報処理システムの全体構成を説明するブロック図である。本実施の形態に係る量子情報処理システムは、二値のビットデータを処理する古典コンピュータとして機能する古典コンピュータ部１０と、互いに相互作用する複数の量子ビットにより構成される量子系を含み、各量子ビットの状態の重ね合わせに基づいて得られる信号を出力する量子コンピュータ部２０とを備える。
【００１１】
古典コンピュータ部１０は、制御部１１、記憶部１２、入出力部１３、観測部１４、及び学習部１５を含む。
【００１２】
制御部１１は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を備える。制御部１１のＣＰＵは、ＲＯＭ又は記憶部１２に予め記憶された各種プログラムを実行することにより、古典コンピュータ部１０及び量子コンピュータ部２０の動作を制御する。制御部１１のＲＡＭは、各種プログラムの実行中に生成されるデータ等を一時的に記憶する。
【００１３】
なお、本実施の形態では、ＣＰＵ、ＲＯＭ、ＲＡＭ等を備えた制御部１１により量子コンピュータ部２０の動作を制御する構成について説明するが、制御部１１は、上記の構成に限定されるものではなく、マルチコアＣＰＵ、ＧＰＵ（Graphics Processing Unit）、マイコン、ＦＰＧＡ（Field Programmable Gate Array）、アナログ回路等を含む任意の処理回路であればよい。また、制御部１１は、日時情報を出力するクロック、計測開始指示を与えてから計測終了指示を与えるまでの経過時間を計測するタイマ、数をカウントするカウンタ等を備えていてもよい。
【００１４】
また、本実施の形態では、古典コンピュータ部１０が、制御部１１、記憶部１２、入出力部１３、観測部１４、及び学習部１５を含む構成としたが、例えば、学習部１５の機能を古典コンピュータ部１０から独立した別のコンピュータ又は仮想コンピュータ等により実現してもよいことは勿論のことである。
【００１５】
記憶部１２は、ＨＤＤ（Hard Disk Drive）などの記憶装置を備え、各種プログラム及びデータを記憶する。記憶部１２が記憶するプログラムには、古典コンピュータ部１０の動作全体を制御するためのプログラムであるオペレーティングシステム（ＯＳ）１２Ａ、量子コンピュータ部２０の動作を制御するためのプログラム（量子プログラム）１２Ｂ等が含まれる。また、記憶部１２が記憶するデータには、量子コンピュータ部２０に入力する入力データ、量子コンピュータ部２０の動作を制御するために必要な制御データ等が含まれる。
【００１６】
なお、量子プログラム１２Ｂは、当該プログラムを読み取り可能に記録した非一時的な記録媒体Ｍによって提供されるものであってよい。記録媒体Ｍは、例えば、ＣＤ−ＲＯＭ、ＵＳＢメモリ、ＳＤ（Secure Digital）カード、マイクロＳＤカード、コンパクトフラッシュ（登録商標）などの可搬型メモリである。この場合、量子情報処理システムが備える古典コンピュータ部１０は、図に示していない読取装置を用いて、記録媒体Ｍから量子プログラム１２Ｂを読み取り、読み取った量子プログラム１２Ｂを記憶部１２にインストールしてもよい。また、古典コンピュータ部１０が通信部を備え、通信部を通じて外部の通信装置と通信可能である場合、量子プログラム１２Ｂは通信部を介した通信により提供されてもよい。この場合、古典コンピュータ部１０は、通信部を介して外部の通信装置から量子プログラム１２Ｂを取得し、取得した量子プログラム１２Ｂを記憶部１２にインストールしてもよい。
【００１７】
入出力部１３は、キーボード、マウス等の入力デバイス、及びディスプレイ装置等の出力デバイスを接続する入出力インタフェースを備える。入出力部１３は、入力デバイスを通じて入力されるデータを制御部１１へ送出し、制御部１１は、入出力部１３からのデータに基づいて各種処理を実行する。また、制御部１１は、量子コンピュータ部２０から出力される出力データ等のユーザへ報知すべきデータを取得した場合、当該データを、入出力部１３を通じて出力デバイスへ出力する。
【００１８】
観測部１４は、量子コンピュータ部２０の出力層２３に接続されており、量子回路２２から読み出される出力データを、出力層２３を通じて取得する。観測部１４は、取得した出力データを制御部１１へ送出する。
【００１９】
学習部１５は、量子コンピュータ部２０に入力する入力データについて理想的な出力データを示す教師データを記憶するためのメモリ（不図示）を備える。学習部１５は、出力層２３に接続されており、出力層２３を通じて読み出された出力データと、予め記憶されている教師データとに基づき、量子回路２２の回路構成を規定する回路パラメータθを学習する。学習部１５により決定された回路パラメータθは、制御部１１を通じて量子回路２２にフィードバックされる。なお、回路パラメータθは単一のパラメータである必要はなく、複数のパラメータからなるパラメータ群であってもよい。
【００２０】
なお、本実施の形態では、古典コンピュータ部１０が学習部１５を独立した構成要素として備える構成としたが、制御部１１が学習部１５の機能を備えていてもよい。この場合、回路パラメータθを学習する際の処理手順は量子プログラム１２Ｂによって提供され、教師データは例えば記憶部１２に記憶される。制御部１１は、学習フェーズにおいて量子プログラム１２Ｂを実行することにより、観測部１４を通じて取得した量子コンピュータ部２０からの出力データと、記憶部１２から読み出した教師データとに基づき、量子回路２２を規定する回路パラメータθを学習し、量子回路２２へのフィードバックを行うことにより、学習部１５の機能を実現する。
【００２１】
量子コンピュータ部２０は、入力層２１、量子回路２２、及び出力層２３を含む。
【００２２】
入力層２１は、古典コンピュータ部１０から入力される入力データに基づく信号を、量子回路２２の量子系が備える量子ビットへ出力する。量子ビットへ出力する信号は、０又は１（−１又は＋１）の値を取るバイナリの信号であってもよく、０から１（−１から＋１）の範囲の連続変数の信号であってもよい。
【００２３】
量子回路２２は、互いに相互作用する複数の量子ビットにより構成され、その回路構成が回路パラメータθによって規定される量子系を含む。量子系としては、例えば、液体及び固体ＮＭＲ（Nuclear Magnetic Resonance）量子スピンアンサンブル、超伝導量子回路、トラップイオン、量子ドット、光格子上の中性原子に代表されるような量子力学に基づいて振る舞う物理系を含む制御性のある任意の量子系を用いることができる。量子回路２２の回路構成を規定する回路パラメータθは、例えば、量子ビットを任意の回転軸の回りに設定角度だけ回転させる演算子である。
【００２４】
出力層２３は、例えば、単電子トランジスタ、超電導増幅・検出器、電磁波を検出するコイル、光子検出器などの観測手段を各量子ビットに対応して備える。出力層２３は、各量子ビットの状態を観測し、適宜選定した出力関数Ｆ（後述）を適用することにより、学習部１５にて決定される回路パラメータθを用いた出力データを読み出す。このとき、必要に応じて観測を複数回繰り返してサンプリングすることにより、物理量の平均値を取得してもよい。
【００２５】
なお、上述した量子情報処理システムでは、古典コンピュータ部１０と量子コンピュータ部２０とを便宜的に分離した構成としたが、必ずしも両者を分離して備える必要はなく、古典コンピュータ部１０及び量子コンピュータ部２０を一体に備えたシステム（装置）として構築してもよい。
【００２６】
図２は量子回路２２が備える量子系のダイナミクスを説明する説明図である。量子回路２２が備える量子系は、Ｎ個（Ｎは２以上の整数）の量子ビットにより構成されるものとする。
【００２７】
量子ダイナミクスを情報処理に活用するために、量子回路２２が備える量子系への入力信号ｘi （ｉ＝１，２，３，…）を導入する。ここで、入力信号ｘi は、画像信号等の静的なデジタル信号を示している。量子回路２２において、初期化された量子ビット（キュービット）に入力信号ｘi が付与された場合、その量子ビットの入力状態｜ψin（ｘi ）＞は、｜ψin （ｘi ）＞＝Ｖ（ｘi ）｜０＞に置き換えられる。ここで、Ｖ（ｘi ）は、ユニタリ入力ゲートを表す。
【００２８】
本実施の形態では、制御部１１は、量子回路２２の回路パラメータθによってパラメータ化されたユニタリ演算子Ｕ（θ）を入力状態に適用する。これにより、出力状態として、｜ψout （ｘi ，θ）＞＝Ｕ（θ）｜ψin（ｘi ）＞が得られる。ここで、Ｕ（θ）は、回転角度などのパラメータ付き基本量子演算子により構成された量子回路であってもよく、ハミルトニアンによる時間発展を含んでもよい。なお、量子回路２２は、ユニタリ演算子Ｕ（θ）だけでなく、回路パラメータθに依存しない別の量子回路や任意の処理回路を含んでもよい。
【００２９】
各量子ビットから得られる信号は、各量子ビットにおいて局所的に観測可能な物理量に対する射影測定の結果や、それを繰り返しサンプリングすることによって得られる物理量の平均値により定義される。ここで、観測可能な物理量として、ｊ番目の量子ビットに作用するパウリ演算子｛Ｂj ｝を使用する。例えば、スピンを量子ビットとして用いる場合、観測可能な物理量は、核スピンの磁化率に対応する。パウリ演算子｛Ｂj ｝を適用して得られる出力信号は、例えば、ｙ（ｘi ，θ）＝Ｆ（｛Ｂj （ｘi , θ）｝）により記述される。ここで、Ｆは適宜の出力関数を表している。
【００３０】
量子回路２２における回路パラメータθを調整する学習フェーズでは、コスト関数を用いて、回路パラメータθの最適化を行う。コスト関数は、例えば、量子コンピュータ部２０からの出力信号ｙi と、入力信号ｘi に対して理想的な出力信号を示す教師信号ｆ（ｘi ）とを用いて、例えば、次式により表される。
【００３１】
【数１】
2019163866.tif 000003
【００３２】
ここで、ｙi は、入力信号ｘi と、回路パラメータθ＝｛θi｝とを与えた場合に、量子コンピュータ部２０から読み出される出力信号である。
また、||・||の演算子は、ユークリッド・ノルムを表す。
【００３３】
学習部１５は、量子回路２２の回路パラメータθを最適化する学習フェーズにおいて、量子コンピュータ部２０からの出力である出力信号ｙi を取得した場合、出力信号ｙi と教師信号ｆ（ｘi ）とにより設定される上記コスト関数を最小化するように、回路パラメータθを調整する。
【００３４】
なお、本実施の形態では、コスト関数は数１の式に限定されるものではない。例えば、次式で表されるコスト関数を用いてもよい。
【００３５】
【数２】
2019163866.tif 000004
【００３６】
以下、量子回路２２における回路パラメータθを調整する際の量子情報処理システムの動作について説明する。
図３は本実施の形態に係る量子情報処理システムにおいて実行される処理の手順を説明するフローチャートである。なお、図３のフローチャートにより示される動作は、制御部１１が、記憶部１２に記憶されたＯＳ１２Ａ、量子プログラム１２Ｂ等の各種プログラムを読み出して実行し、古典コンピュータ部１０及び量子コンピュータ部２０が備える各部の動作を制御することによって実現するものである。
【００３７】
制御部１１は、現時点が量子回路２２の回路パラメータθを学習する学習フェーズであるか否かを判断する（ステップＳ１０１）。学習フェーズでないと判断した場合（Ｓ１０１：ＮＯ）、制御部１１は、以下の処理を実行せずに本フローチャートによる処理を終了する。
【００３８】
制御部１１は、例えば、入出力部１３を通じて、運用フェーズから学習フェーズへの変更指示を受付けた場合、現時点が学習フェーズであると判断し（Ｓ１０１：ＹＥＳ）、処理対象となる入力データ｛ｘi ｝に基づく入力信号を、量子コンピュータ部２０の入力層２１を通じて量子回路２２に付与する（ステップＳ１０２）。すなわち、初期化されたキュービット｜０＞に対して、ユニタリ入力ゲートＶ（ｘi ）が適用されることにより、入力状態として、
｜ψin（ｘi ）＞＝Ｖ（ｘi ）｜０＞
が得られる。また、入力信号ｘi に適宜の非線形関数ｇを適用させたｇ（ｘi ）を入力として、
｜ψin（ｘi ）＞＝Ｖ（ｇ（ｘi ））｜０＞
としてもよい。
【００３９】
非線形性は量子系のテンソル積構造とユニタリ入力ゲートＶ（ｘi ）とによって誘導される。また、量子回路２２において、入力状態にユニタリ演算子Ｕ（θ）を適用して得られる量子状態に対し、量子アナログデジタル変換を行い、波動関数のアナログ情報を量子ランダムアクセスメモリに格納し、デジタル量子情報として非線形変換を施し、再び量子アナログデジタル変換をすることによって非線形性を誘導してもよい。すなわち、量子回路２２は、ユニタリ演算子Ｕ（θ）だけでなく、アナログ情報をデジタル情報に変換する第１の量子アナログデジタル変換Ａ、非線形演算に関する別の量子回路Ｒ、及びデジタル情報をアナログ情報に変換する第２の量子アナログデジタル変換回路Ｄを含んでもよい。
【００４０】
また、制御部１１は、量子回路２２の回路パラメータθによってパラメータ化されたユニタリ演算子Ｕ（θ）を入力状態に適用する。これにより、出力状態として、
｜ψout （ｘi ，θ）＞＝Ｕ（θ）｜ψin（ｘi ）＞
が得られる。
【００４１】
次いで、観測部１４は、量子回路２２の選択された量子ビットの状態を観測し（ステップＳ１０３）、出力層２３を通じて出力信号を取得する（ステップＳ１０４）。なお、必要に応じて、観測結果を複数回繰り返しサンプリングすることによって物理量の期待値を出力信号として取得してもよい。出力信号ｙi ＝ｙ（ｘi ，θ）は、パウリ演算子｛Ｂj ｝を用いて、
ｙ（ｘi ，θ）＝Ｆ（｛Ｂj （ｘi ,θ）｝）
のように記述することができる。ここで、Ｆは適宜の出力関数を表す。
【００４２】
学習部１５は、観測部１４を通じて入力される出力信号ｙi と、入力信号ｘi の理想的な出力を示す教師信号ｆ（ｘi ）とに基づき設定されるコスト関数Ｌ（ｆ（ｘi ），ｙ（ｘi ，θ））を算出する（ステップＳ１０５）。
【００４３】
次いで、学習部１５は、算出したコスト関数Ｌの値が閾値ε以下であるか否かを判断する（ステップＳ１０６）。ここで、閾値εは、コスト関数が収束したか否かを判定するための閾値であり、適宜の微小な値が設定される。
【００４４】
算出したコスト関数Ｌの値が閾値ε以下でないと判断した場合（Ｓ１０６：ＮＯ）、学習部１５は、回路パラメータθを変更する（ステップＳ１０７）。例えば、回路パラメータθが量子回路２２を構成する量子ビットを任意の回転軸の回りに回転させる演算子を含む場合、当該演算子の回転角度を変更することにより、回路パラメータθを変更してもよい。また、量子回路２２が量子アニーリングマシン若しくは量子アニーリングマシンをデジタル化したものであれば、量子ビット間の結合定数を変更することにより、回路パラメータθを変更してもよい。
【００４５】
また、学習部１５は、ステップＳ１０５で算出されるコスト関数Ｌの値を保持しておき、今回算出したコスト関数の値Ｌn が、前回算出したコスト関数の値Ｌn-1 よりも小さくなるように、勾配法を用いて回路パラメータθを設定してもよい。コスト関数のあるパラメータに対する勾配の値については、量子回路２２の回路構成を部分的に適切に変更することによって、通常の読み出しと同じ方法で直接観測により得られる。
【００４６】
学習部１５は、回路パラメータθを設定値ε（例えば差分が最大となるπ／２）だけ増加させた場合の量子回路２２の出力と、回路パラメータθをεだけ減少させた場合の量子回路２２の出力との差分により計算される勾配を用いて、回路パラメータθを調整してもよい。
【００４７】
量子回路２２の出力から計算される値は、例えば次式にように表すことができる。
【００４８】
【数３】
2019163866.tif 000005
【００４９】
ここで、Ｖ（ｘ）は入力のための量子演算であり、Ｕ（｛θk ｝）はパラメータ付き量子回路である。このとき、教師データを｛ｘ(j) ，ｙ(j) ｝とすると、コスト関数Ｌ（｛θk ｝）は次式のように表される。
【００５０】
【数４】
2019163866.tif 000006
【００５１】
コスト関数Ｌ（｛θk ｝）の勾配は、次式により表される。
【００５２】
【数５】
2019163866.tif 000007
【００５３】
すなわち、コスト関数が解析的な関数である場合、出力＜Ａ＞の偏微分が計算できればよい。例えば、Ｕ（｛θk ｝）が数６により表され、かつ、Ｐk2＝Ｉの場合、コスト関数Ｌ（｛θk ｝）の偏微分を解析的に実行することが可能であり、数７のように表すことができる。
【００５４】
【数６】
2019163866.tif 000008
【００５５】
【数７】
2019163866.tif 000009
【００５６】
学習部１５は、数７で表されるように、ｌ番目の回路パラメータを＋εだけシフトさせた場合の量子回路２２の出力と、ｌ番目の回路パラメータを−εだけシフトさせた場合の量子回路２２の出力との差分に基づき勾配を計算することができる。また、学習部１５は、計算した勾配に基づき、量子パラメータθを調整すればよい。
【００５７】
学習部１５は、変更した回路パラメータθの値を制御部１１へ出力する。制御部１１は、学習部１５から出力される回路パラメータθに基づき、量子回路２２の回路構成を変更し、処理をステップＳ１０２へ戻す。
【００５８】
一方、算出したコスト関数Ｌの値が閾値ε以下であると判断した場合（Ｓ１０６：ＹＥＳ）、学習部１５は、そのときの回路パラメータθの値を、運用フェーズで用いる回路パラメータθの値として決定する（ステップＳ１０８）。学習部１５は、決定した回路パラメータθを制御部１１へ出力し、本フローチャートによる処理を終了する。
【００５９】
以下、本実施の形態に係る量子情報処理システムを用いて典型的な機械学習タスクを行った数値シミュレーションの結果について説明する。
【００６０】
図４Ａ及び図４Ｂ並びに図５Ａ及び図５Ｂは非線形関数のフィッティング結果を示すグラフである。図４Ａ及び図４ＢはそれぞれＰ（ｘ）＝ｘ2 ，ｓｉｎｘのフィッティング結果を示し、図５Ａ及び図５ＢはそれぞれＰ（ｘ）＝ｅx ，｜ｘ｜のフィッティング結果を示している。
【００６１】
各グラフの横軸は関数への入力値ｘを示し、縦軸は関数の出力値Ｐ（ｘ）を示している。グラフ中の一点鎖線は、回路パラメータθをランダムに設定した場合の量子コンピュータ部２０の出力（初期データ）を示し、実線は、回路パラメータθを最適化した場合の量子コンピュータ部２０の出力（最終データ）を示している。なお、グラフ中の黒丸は、回路パラメータθを最適化する際に用いた教データを示している。
【００６２】
本実施の形態に係る量子回路学習のフレームワークを用いて量子回路２２における回路パラメータθを最適化することにより、全ての関数を精度良く再現することが可能であることが分かる。
【００６３】
図６Ａ及び図６Ｂは分類問題に対する適用例を説明する説明図である。図６Ａは教師データの一例を示している。図６Ａに示す黒丸はクラス０に属する点を表し、白丸はクラス１に属する点を表している。図６Ａの例は、合計２００個の教師データ（クラス０及び１に属する点はそれぞれ１００個）を示す点が、ｘ＝−１〜＋１、及びｙ＝−１〜＋１の範囲に分布していることを示している。
【００６４】
図６Ｂは、Softmax変換を行った後の量子ビットからの最適化された出力値を示している。図６Ｂにおいて、出力値「０．５」は分類における閾値を示しており、閾値以上（すなわち０．５以上）はクラス１に分類されるべき点、閾値未満（すなわち０．５未満）はクラス０に分類されるべき点を表している。図６Ｂの出力結果は、灰色の点で示される環状の領域の外側がクラス１に分類されるべき点であることを示し、その内側がクラス０に分類されるべき点であることを示しており、図６Ａに示される教師データの分布を適切に分類していることが分かる。
【００６５】
図６Ｂに示すように、本実施の形態では、量子回路学習のフレームワークを用いて量子回路２２における回路パラメータθを最適化することにより、非線形の分類問題を解くことができる。
【００６６】
以上のように、本実施の形態では、汎化及び予測等に用いられる量子回路２２における回路パラメータを適宜の値に調整することができる。これにより、近未来的に実現される５０−１００量子ビットを用いた浅い回路を実行できる量子コンピュータ上で動作し、実用的な機械学習タスクを実行することができる量子アルゴリズムを提供することができる。回路パラメータが増えた場合のシステマティックな調整方法を提供し、教師あり学習をするときのコスト関数の設定、入力の量子状態への埋め込み方法を提供することができる。
【００６７】
なお、本実施の形態に係る量子回路学習のフレームワークを量子回路２２における精度改善の最適化に利用してもよい。例えば、ある量子計算Ｗをできるだけ高い忠実度で実行したいが、実験的に実現される量子計算Ｗ’が未知のパラメータを含むため、理想的な量子計算Ｗから大きくずれた忠実度の低いものとなっている状況を考える。
【００６８】
この場合、理想的な量子計算Ｗに対する入出力関係｛ｘi ｝，｛ｙi ｝を予め用意しておく。そして、実験的に実現される量子計算Ｗ’に対して、よく制御された回路パラメータθを有する量子回路２２（ユニタリ演算子Ｕ（θ））を作用させ、得られるＵ（θ）Ｗ’｜ｘi ＞が理想的な出力信号ｙi を示すように、本実施の形態に係る量子回路学習のフレームワークを用いて回路パラメータθを決定する。決定された回路パラメータθを用いることにより、忠実度が高い（理想的な量子計算Ｗに近い）Ｕ（θ）Ｗ’が実現され、量子計算の忠実度が改善される。
【００６９】
今回開示された実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【００７０】
１０  古典コンピュータ部
１１  制御部
１２  記憶部
１３  入出力部
１４  観測部
１５  学習部
２０  量子コンピュータ部
２１  入力層
２２  量子回路
２３  出力層
【図１】
2019163866.tif 000010
【図２】
2019163866.tif 000011
【図３】
2019163866.tif 000012
【図４Ａ】
2019163866.tif 000013
【図４Ｂ】
2019163866.tif 000014
【図５Ａ】
2019163866.tif 000015
【図５Ｂ】
2019163866.tif 000016
【図６Ａ】
2019163866.tif 000017
【図６Ｂ】
2019163866.tif 000018
【手続補正書】
【提出日】令和1年12月23日(2019.12.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の量子ビットを備える量子回路Ｕ（｛θｋ｝）（但し、θｋは回路構成を規定する回路パラメータ、ｋは回路パラメータのインデックス）に対して入力信号ｘ（ｊ）（但し、ｊは信号のインデックス）を与える信号入力部と、
前記量子回路Ｕ（｛θｋ｝）が備える量子ビットの状態を観測し、観測した状態に基づく出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞を取得する信号取得部と、
該信号取得部が取得した出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞と、該出力信号に対する教師信号ｙ（ｊ）とに基づいて設定されるコスト関数を用いて、前記量子回路Ｕ（｛θｋ｝）の回路構成を規定する回路パラメータθｋを調整する調整部と、
を備え、
前記調整部は、ｌ番目の回路パラメータθｌについての、前記量子回路Ｕ（｛θｋ｝）からの出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞の勾配を以下の式（１）により計算し、計算された勾配を用いて前記コスト関数を最小化するように、前記回路パラメータθｋを調整する、
量子回路学習装置。
【数１】
2019163866.tif 000019
但し、εは予め設定される設定値である。
【請求項２】
（削除）
【請求項３】
前記調整部は、
前記量子回路の回路構成の一部を変更することにより観測される勾配の値を用いて、勾配法により前記コスト関数を最小化する
請求項２に記載の量子回路学習装置。
【請求項４】
前記調整部は、
前記回路パラメータを設定値だけ増加させた場合の前記量子回路の出力と、前記回路パラメータを前記設定値だけ減少させた場合の前記量子回路の出力との差分により計算される勾配を用いて、前記回路パラメータを調整する
請求項３に記載の量子回路学習装置。
【請求項５】
前記回路パラメータは、前記量子ビットに作用する作用素を制御するためのパラメータを含む
請求項１から請求項４の何れか１つに記載の量子回路学習装置。
【請求項６】
前記量子ビットにより構成される量子系のテンソル積構造と、前記入力信号が入力される前記量子回路のユニタリ入力ゲートとにより非線形性が誘導される
請求項１から請求項５の何れか１つに記載の量子回路学習装置。
【請求項７】
複数の量子ビットを備える量子回路Ｕ（｛θｋ｝）（但し、θｋは回路構成を規定する回路パラメータ、ｋは回路パラメータのインデックス）に対して入力信号ｘ（ｊ）（但し、ｊは信号のインデックス）を付与し、
前記量子回路Ｕ（｛θｋ｝）が備える量子ビットの状態を観測し、観測した状態に基づく出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞を取得し、
取得した出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞と、該出力信号に対する教師信号ｙ（ｊ）とに基づいて設定されるコスト関数を用いて、前記量子回路Ｕ（｛θｋ｝）の回路構成を規定する回路パラメータθｋを調整し、ｌ番目の回路パラメータθｌについての、前記量子回路Ｕ（｛θｋ｝）からの出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞の勾配を以下の式（１）により計算し、計算された勾配を用いて前記コスト関数を最小化するように、前記回路パラメータθｋを調整する、
処理をコンピュータに実行させる量子回路学習方法。
【数１】
2019163866.tif 000020
但し、εは予め設定される設定値である。
【請求項８】
コンピュータに、
複数の量子ビットを備える量子回路Ｕ（｛θｋ｝）（但し、θｋは回路構成を規定する回路パラメータ、ｋは回路パラメータのインデックス）に対して入力信号ｘ（ｊ）（但し、ｊは信号のインデックス）を付与し、
前記量子回路Ｕ（｛θｋ｝）が備える量子ビットの状態を観測し、観測した状態に基づく出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞を取得し、
取得した出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞と、該出力信号に対する教師信号ｙ（ｊ）とに基づいて設定されるコスト関数を用いて、前記量子回路Ｕ（｛θｋ｝）の回路構成を規定する回路パラメータθｋを調整し、ｌ番目の回路パラメータθｌについての、前記量子回路Ｕ（｛θｋ｝）からの出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞の勾配を以下の式（１）により計算し、計算された勾配を用いて前記コスト関数を最小化するように、前記回路パラメータθｋを調整する、
処理を実行させるためのコンピュータプログラム。
【数１】
2019163866.tif 000021
但し、εは予め設定される設定値である。
【請求項９】
コンピュータに、
複数の量子ビットを備える量子回路Ｕ（｛θｋ｝）（但し、θｋは回路構成を規定する回路パラメータ、ｋは回路パラメータのインデックス）に対して入力信号ｘ（ｊ）（但し、ｊは信号のインデックス）を付与し、
前記量子回路Ｕ（｛θｋ｝）が備える量子ビットの状態を観測し、観測した状態に基づく出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞を取得し、
取得した出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞と、該出力信号に対する教師信号ｙ（ｊ）とに基づいて設定されるコスト関数を用いて、前記量子回路Ｕ（｛θｋ｝）の回路構成を規定する回路パラメータθｋを調整し、ｌ番目の回路パラメータθｌについての、前記量子回路Ｕ（｛θｋ｝）からの出力信号の期待値＜Ａ（ｘ（ｊ），｛θｋ｝）＞の勾配を以下の式（１）により計算し、計算された勾配を用いて前記コスト関数を最小化するように、前記回路パラメータθｋを調整する、
処理を実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【数１】
2019163866.tif 000022
但し、εは予め設定される設定値である。
【請求項１０】
前記量子回路Ｕ（｛θｋ｝）の回路構成は、以下の式（２）の形式で表される、
請求項１〜請求項６の何れか１項に記載の量子回路学習装置。
【数２】
2019163866.tif 000023
但し、Ｗｋは任意の回転ゲートを表し、Ｐｋは任意の量子ゲートを表し、Ｐｋ２＝Ｉ（但し、Ｉは単位行列を表す）が成立する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
／２）だけ増加させた場合の量子回路２２の出力と、回路パラメータθをεだけ減少させた場合の量子回路２２の出力との差分により計算される勾配を用いて、回路パラメータθを調整してもよい。
［００４７］
量子回路２２の出力から計算される値は、例えば次式にように表すことができる。
［００４８］
［数３］
2019163866.tif 000024
［００４９］
ここで、Ｖ（ｘ）は入力のための量子演算であり、Ｕ（｛θｋ｝）はパラメータ付き量子回路である。このとき、教師データを｛ｘ（ｊ），ｙ（ｊ）｝とすると、コスト関数Ｌ（｛θｋ｝）は次式のように表される。
［００５０］
［数４］
2019163866.tif 000025
［００５１］
コスト関数Ｌ（｛θｋ｝）の勾配は、次式により表される。
［００５２］
［数５］
2019163866.tif 000026
［００５３］
すなわち、コスト関数が解析的な関数である場合、出力＜Ａ＞の偏微分が計算できればよい。例えば、Ｕ（｛θｋ｝）が数６により表され、かつ、Ｐｋ２＝Ｉの場合、コスト関数Ｌ（｛θｋ｝）の偏微分を解析的に実行することが可能であり、数７のように表すことができる。なお、数６におけるＷｋは任意の回転ゲートを表し、Ｐｋは任意の量子ゲートを表す。なお、任意の回転ゲートＷｋにはノイズが含まれていてもよい。また、数７におけるεは、予め設定される設定値である。
【手続補正書】
【提出日】令和2年4月30日(2020.4.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の量子ビットを備える量子回路Ｕ（｛θｋ｝）（但し、θｋは回路構成を規定する回路パラメータ、ｋは回路パラメータのインデックス）に対して入力信号ｘ（ｊ）（但し、ｊは信号のインデックス）を与える信号入力部と、
前記量子回路Ｕ（｛θｋ｝）が備える量子ビットの状態を観測し、観測した状態に基づく前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θｋ｝）＞を取得する信号取得部と、
該信号取得部が取得した前記値＜Ａ（ｘ（ｊ），｛θｋ｝）＞と、該値＜Ａ（ｘ（ｊ），｛θｋ｝）＞に対する教師信号ｙ（ｊ）とに基づいて設定されるコスト関数を用いて、前記量子回路Ｕ（｛θｋ｝）の回路構成を規定する回路パラメータθｋを調整する調整部と、
を備え、
前記調整部は、前記回路パラメータθｋのうちのｌ番目の前記回路パラメータθｌを調整する際に、
ｌ番目の前記回路パラメータθｌを設定値εだけ増加させた場合の前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θ１，．．．θｌ＋ε，θｌ＋１，．．．｝）＞と、ｌ番目の前記回路パラメータθｌを前記設定値εだけ減少させた場合の前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θ１，．．．θｌ−ε，θｌ＋１，．．．｝）＞との差分により計算される勾配を以下の式（１）により計算し、計算された勾配の値を用いて、勾配法により前記コスト関数を最小化するように、前記回路パラメータθｌを調整する、
量子回路学習装置。
【数１】
2019163866.tif 000027
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
（削除）
【請求項５】
前記回路パラメータは、前記量子ビットに作用する作用素を制御するためのパラメータを含む
請求項１に記載の量子回路学習装置。
【請求項６】
（削除）
【請求項７】
複数の量子ビットを備える量子回路Ｕ（｛θｋ｝）（但し、θｋは回路構成を規定する回路パラメータ、ｋは回路パラメータのインデックス）に対して入力信号ｘ（ｊ）（但し、ｊは信号のインデックス）を与え、
前記量子回路Ｕ（｛θｋ｝）が備える量子ビットの状態を観測し、観測した状態に基づく前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θｋ｝）＞を取得し、
取得した前記値＜Ａ（ｘ（ｊ），｛θｋ｝）＞と、該値＜Ａ（ｘ（ｊ），｛θｋ｝）＞に対する教師信号ｙ（ｊ）とに基づいて設定されるコスト関数を用いて、前記量子回路Ｕ（｛θｋ｝）の回路構成を規定する回路パラメータθｋを調整し、
前記回路パラメータθｋのうちのｌ番目の前記回路パラメータθｌを調整する際に、
ｌ番目の前記回路パラメータθｌを設定値εだけ増加させた場合の前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θ１，．．．θｌ＋ε，θｌ＋１，．．．｝）＞と、１番目の前記回路パラメータθｌを前記設定値εだけ減少させた場合の前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θ１，．．．θｌ−ε，θｌ＋１，．．．｝）＞との差分により計算される勾配を以下の式（１）により計算し、計算された勾配の値を用いて、勾配法により前記コスト関数を最小化するように、前記回路パラメータθｌを調整する、
処理をコンピュータに実行させる量子回路学習方法。
【数２】
2019163866.tif 000028
【請求項８】
コンピュータに、
複数の量子ビットを備える量子回路Ｕ（｛θｋ｝）（但し、θｋは回路構成を規定する回路パラメータ、ｋは回路パラメータのインデックス）に対して入力信号ｘ（ｊ）（但し、ｊは信号のインデックス）を与え、
前記量子回路Ｕ（｛θｋ｝）が備える量子ビットの状態を観測し、観測した状態に基づく前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θｋ｝）＞を取得し、
取得した前記値＜Ａ（ｘ（ｊ），｛θｋ｝）＞と、該値＜Ａ（ｘ（ｊ），｛θｋ｝）＞に対する教師信号ｙ（ｊ）とに基づいて設定されるコスト関数を用いて、前記量子回路Ｕ（｛θｋ｝）の回路構成を規定する回路パラメータθｋを調整し、
前記回路パラメータθｋのうちのｌ番目の前記回路パラメータθｌを調整する際に、
ｌ番目の前記回路パラメータθｌを設定値εだけ増加させた場合の前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θ１，．．．θｌ＋ε，θｌ＋１，．．．｝）＞と、ｌ番目の前記回路パラメータθｌを前記設定値εだけ減少させた場合の前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θ１，．．．θｌ−ε，θｌ＋１，．．．｝）＞との差分により計算される勾配を以下の式（１）により計算し、計算された勾配の値を用いて、勾配法により前記コスト関数を最小化するように、前記回路パラメータθｌを調整する、
処理を実行させるためのコンピュータプログラム。
【数３】
2019163866.tif 000029
【請求項９】
コンピュータに、
複数の量子ビットを備える量子回路Ｕ（｛θｋ｝）（但し、θｋは回路構成を規定する回路パラメータ、ｋは回路パラメータのインデックス）に対して入力信号ｘ（ｊ）（但し、ｊは信号のインデックス）を与え、
前記量子回路Ｕ（｛θｋ｝）が備える量子ビットの状態を観測し、観測した状態に基づく前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θｋ｝）＞を取得し、
取得した前記値＜Ａ（ｘ（ｊ），｛θｋ｝）＞と、該値＜Ａ（ｘ（ｊ），｛θｋ｝）＞に対する教師信号ｙ（ｊ）とに基づいて設定されるコスト関数を用いて、前記量子回路Ｕ（｛θｋ｝）の回路構成を規定する回路パラメータθｋを調整し、
前記回路パラメータθｋのうちのｌ番目の前記回路パラメータθｌを調整する際に、
ｌ番目の前記回路パラメータθｌを設定値εだけ増加させた場合の前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θ１，．．．θｌ＋ε，θｌ＋１，．．．｝）＞と、ｌ番目の前記回路パラメータθｌを前記設定値εだけ減少させた場合の前記量子回路Ｕ（｛θｋ｝）の出力から計算される値＜Ａ（ｘ（ｊ），｛θ１，．．．θｌ−ε，θｌ＋１，．．．｝）＞との差分により計算される勾配を以下の式（１）により計算し、計算された勾配の値を用いて、勾配法により前記コスト関数を最小化するように、前記回路パラメータθｌを調整する、
処理を実行させるためのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体。
【数４】
2019163866.tif 000030
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
／２）だけ増加させた場合の量子回路２２の出力と、回路パラメータθをεだけ減少させた場合の量子回路２２の出力との差分により計算される勾配を用いて、回路パラメータθを調整してもよい。
［００４７］
量子回路２２の出力から計算される値は、例えば次式にように表すことができる。
［００４８］
［数３］
2019163866.tif 000031
［００４９］
ここで、Ｖ（ｘ）は入力のための量子演算であり、Ｕ（｛θｋ｝）はパラメータ付き量子回路である。このとき、教師データを｛ｘ（ｊ），ｙ（ｊ）｝とすると、コスト関数Ｌ（｛θｋ｝）は次式のように表される。
［００５０］
［数４］
2019163866.tif 000032
［００５１］
コスト関数Ｌ（｛θｋ｝）の勾配は、次式により表される。
［００５２］
［数５］
2019163866.tif 000033
［００５３］
すなわち、コスト関数が解析的な関数である場合、出力＜Ａ＞の偏微分が計算できればよい。例えば、Ｕ（｛θｋ｝）が数６により表され、かつ、ＰｋがＰｋ２＝Ｉを満たす場合、コスト関数Ｌ（｛θｋ｝）の偏微分を解析的に実行することが可能であり、数７のように表すことができる。また、数７におけるεは、予め設定される設定値である。
【国際調査報告】
2019163866.tif 000034
2019163866.tif 000035
2019163866.tif 000036
2019163866.tif 000037
2019163866.tif 000038
2019163866.tif 000039