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

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

▶ 株式会社グリッドの特許一覧

特許7441444コンピュータシステム、情報処理方法、プログラム及び情報処理装置
<>
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図1
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図2
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図3
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図4
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図5
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図6
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図7
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図8
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図9
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図10
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図11
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図12
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図13
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図14
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図15
  • 特許-コンピュータシステム、情報処理方法、プログラム及び情報処理装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-21
(45)【発行日】2024-03-01
(54)【発明の名称】コンピュータシステム、情報処理方法、プログラム及び情報処理装置
(51)【国際特許分類】
   G06N 10/60 20220101AFI20240222BHJP
【FI】
G06N10/60
【請求項の数】 11
(21)【出願番号】P 2021512186
(86)(22)【出願日】2020-04-01
(86)【国際出願番号】 JP2020015076
(87)【国際公開番号】W WO2020204093
(87)【国際公開日】2020-10-08
【審査請求日】2023-03-14
(31)【優先権主張番号】62/828,212
(32)【優先日】2019-04-02
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】510080727
【氏名又は名称】株式会社グリッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】斯波 廣大
(72)【発明者】
【氏名】曽我部 完
【審査官】坂庭 剛史
(56)【参考文献】
【文献】黄川田優太 ほか,"量子自己符号化器の開発",第32回全国大会論文集,一般社団法人人工知能学会,2018年06月05日,4Pin1-13
【文献】田中宗 ほか,"量子アニーリングの動作原理と応用探索",計測と制御,公益社団法人計測自動制御学会,2019年03月10日,Vol. 58,No. 3,p.203-208,ISSN 0453-4662
(58)【調査した分野】(Int.Cl.,DB名)
G06N 10/00-10/80
G06T 5/70
(57)【特許請求の範囲】
【請求項1】
古典プログラムを実行可能な古典コンピュータと、量子プログラムを実行可能な量子コンピュータとを備えるコンピュータシステムであって、
前記古典コンピュータは、生成部及び更新部を備え、
前記量子コンピュータは、制御部及び量子部を備え、
前記生成部は、要素値がそれぞれ対応付けられた複数の要素をマッピングした入力データに基づくパラメータを生成し、
前記制御部は、前記量子部を制御することにより、前記パラメータ及び前記入力データの特徴データに基づく量子計算アルゴリズムを前記量子部に実行させ、
前記更新部は、前記入力データと前記量子部による前記量子計算アルゴリズムの実行結果とに基づき前記特徴データを更新する、
コンピュータシステム。
【請求項2】
前記入力データは、前記複数の要素を2次元で格子状にマッピングしたデータであり、
前記特徴データは、前記入力データにおける互いに隣接する要素に対応する要素値の関係を表す、
請求項1に記載のコンピュータシステム。
【請求項3】
古典プログラムを実行可能な古典コンピュータと、量子プログラムを実行可能な量子コンピュータとを備えるコンピュータシステムのプロセッサによる情報処理方法であって、
前記プロセッサが、
要素値がそれぞれ対応付けられた複数の要素をマッピングした入力データに基づくパラメータを生成することと、
前記量子コンピュータが備える量子部を制御することにより、前記パラメータ及び前記入力データの特徴データに基づく量子計算アルゴリズムを前記量子部に実行させることと、
前記入力データと前記量子部による前記量子計算アルゴリズムの実行結果とを比較し、比較結果に基づき前記特徴データを更新することと、
を含む情報処理方法。
【請求項4】
古典プログラムを実行可能な古典コンピュータと、量子プログラムを実行可能な量子コンピュータとを備えるコンピュータシステムにより実行されるプログラムであって、
前記コンピュータシステムに、
要素値がそれぞれ対応付けられた複数の要素をマッピングした入力データに基づくパラメータを生成する機能と、
前記量子コンピュータが備える量子部を制御することにより、前記パラメータ及び前記入力データの特徴データに基づく量子計算アルゴリズムを前記量子部に実行させる機能と、
前記入力データと前記量子部による前記量子計算アルゴリズムの実行結果とを比較し、比較結果に基づき前記特徴データを更新する機能と、
を実現させるためのプログラム。
【請求項5】
古典プログラムを実行可能な古典コンピュータと、量子プログラムを実行可能な量子コンピュータとを備えるコンピュータシステムであって、
前記古典コンピュータは、抽出部、生成部及び合成部を備え、
前記量子コンピュータは、制御部及び量子部を備え、
前記抽出部は、要素値がそれぞれ対応付けられた複数の第1要素をマッピングした入力データから、前記第1要素の集合である第1要素群を複数抽出し、
前記生成部は、前記複数の第1要素群のそれぞれについて、対応する第1要素群に含まれる第1要素に基づくパラメータを生成し、
前記制御部は、前記量子部を制御することにより、前記複数の第1要素群のそれぞれについて、前記パラメータ及び対応する特徴データに基づく量子計算アルゴリズムを前記量子部に実行させ、
前記合成部は、前記複数の第1要素群のそれぞれについての前記量子部による前記量子計算アルゴリズムの実行結果を合成する、
コンピュータシステム。
【請求項6】
前記抽出部は、前記入力データに含まれる複数の第1要素のそれぞれに基づき、対応する第1要素を含む第1要素群を抽出し、
前記量子計算アルゴリズムの実行結果は、前記対応する第1要素に応じた第2要素を含む第2要素群であり、
前記合成部は、前記第2要素群のそれぞれに含まれる第2要素をマッピングする、
請求項5に記載のコンピュータシステム。
【請求項7】
前記第2要素は、前記第2要素群に含まれる他の要素よりも、隣接する要素を多く有する、
請求項6に記載のコンピュータシステム。
【請求項8】
古典プログラムを実行可能な古典コンピュータと、量子プログラムを実行可能な量子コンピュータとを備えるコンピュータシステムのプロセッサによる情報処理方法であって、
前記プロセッサが、
要素値がそれぞれ対応付けられた複数の第1要素をマッピングした入力データから、前記第1要素の集合である第1要素群を複数抽出することと、
前記複数の第1要素群のそれぞれについて、対応する第1要素群に含まれる第1要素に基づくパラメータを生成することと、
前記量子コンピュータが備える量子部を制御することにより、前記複数の第1要素群のそれぞれについて、前記パラメータ及び対応する特徴データに基づく量子計算アルゴリズムを前記量子部に実行させることと、
前記複数の第1要素群のそれぞれについての前記量子部による前記量子計算アルゴリズムの実行結果を合成することと、
を含む情報処理方法。
【請求項9】
古典プログラムを実行可能な古典コンピュータと、量子プログラムを実行可能な量子コンピュータとを備えるコンピュータシステムにより実行されるプログラムであって、
前記コンピュータシステムに、
要素値がそれぞれ対応付けられた複数の第1要素をマッピングした入力データから、前記第1要素の集合である第1要素群を複数抽出する機能と、
前記複数の第1要素群のそれぞれについて、対応する第1要素群に含まれる第1要素に基づくパラメータを生成する機能と、
前記量子コンピュータが備える量子部を制御することにより、前記複数の第1要素群のそれぞれについて、前記パラメータ及び対応する特徴データに基づく量子計算アルゴリズムを前記量子部に実行させる機能と、
前記複数の第1要素群のそれぞれについての前記量子部による前記量子計算アルゴリズムの実行結果を合成する機能と、
を実現させるためのプログラム。
【請求項10】
要素値がそれぞれ対応付けられた複数の要素をマッピングした入力データに基づくパラメータを生成する生成部と、
量子コンピュータを制御することにより、前記パラメータ及び前記入力データの特徴データに基づく量子計算アルゴリズムを前記量子コンピュータに実行させる制御部と、
前記入力データと前記量子コンピュータによる前記量子計算アルゴリズムの実行結果とに基づき前記特徴データを更新する更新部と、
を備える、情報処理装置。
【請求項11】
要素値がそれぞれ対応付けられた複数の第1要素をマッピングした入力データから、前記第1要素の集合である第1要素群を複数抽出する抽出部と、
前記複数の第1要素群のそれぞれについて、対応する第1要素群に含まれる第1要素に基づくパラメータを生成する生成部と、
量子コンピュータを制御することにより、前記複数の第1要素群のそれぞれについて、前記パラメータ及び対応する特徴データに基づく量子計算アルゴリズムを前記量子コンピュータに実行させる制御部と、
前記複数の第1要素群のそれぞれについての前記量子コンピュータによる前記量子計算アルゴリズムの実行結果を合成する合成部と、
を備える、情報処理装置。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2019年4月2日に出願された米国仮出願番号62/828,212に基づくもので、ここにその記載内容を援用する。
【技術分野】
【0002】
本発明は、コンピュータシステム、情報処理方法、プログラム及び情報処理装置に関する。
【背景技術】
【0003】
近年、物質の量子力学的性質を利用した計算を行う量子コンピュータの研究が行われている。量子ゲート方式の量子コンピュータは、解く問題に応じて量子ゲートを組み合わせて量子回路を構築でき、汎用性の高い量子コンピュータである。このため、量子ゲート方式の量子コンピュータの数十年後における実用化が期待されている。
【0004】
しかし、量子ゲート方式の量子コンピュータが用いる量子ビットは、外部からの干渉に非常に弱く、量子ビットの量子状態を長時間維持することが難しい。このため、量子ビットの数が多くなるほどノイズが含まれやすく、誤り訂正機能も実装できていない。よって、現在は誤り訂正機能がなく、量子ビット数が限られている量子ゲート方式の量子コンピュータであるNISQ(Noisy Intermediate-Scale Quantum computer)が開発されている(非特許文献1を参照)。
【先行技術文献】
【非特許文献】
【0005】
【文献】J. Preskill, ”Quantum computing in the NISQ era and beyond,” arXiv: 1801.00862, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0006】
NISQを用いる場合には、量子コンピュータと古典コンピュータとを組み合わせたハイブリッドのシステムが利用されている。しかしながら、ハイブリッドのシステムにおける処理の多くは、古典コンピュータにより実施されており、量子コンピュータにより実行の処理は限定的である。このため、量子コンピュータにより実行可能な処理の範囲を広げる技術が希求されている。
【0007】
そこで、本発明は、古典コンピュータと量子コンピュータのハイブリッドシステムにおいて、量子コンピュータにより実行可能な処理を拡張するコンピュータシステム、情報処理方法、プログラム及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様に係るコンピュータシステムは、古典プログラムを実行可能な古典コンピュータと、量子プログラムを実行可能な量子コンピュータとを備えるコンピュータシステムであって、古典コンピュータは、生成部及び更新部を備え、量子コンピュータは、制御部及び量子部を備え、生成部は、要素値がそれぞれ対応付けられた複数の要素をマッピングした入力データに基づくパラメータを生成し、制御部は、量子部を制御することにより、パラメータ及び入力データの特徴データに基づく量子計算アルゴリズムを量子部に実行させ、更新部は、入力データと量子部による量子計算アルゴリズムの実行結果とを比較し、比較結果に基づき特徴データを更新する。
【0009】
本発明の他の態様に係るコンピュータシステムは、古典プログラムを実行可能な古典コンピュータと、量子プログラムを実行可能な量子コンピュータとを備えるコンピュータシステムであって、古典コンピュータは、抽出部、生成部及び合成部を備え、量子コンピュータは、制御部及び量子部を備え、抽出部は、要素値がそれぞれ対応付けられた複数の第1要素をマッピングした入力データから、第1要素の集合である第1要素群を複数抽出し、生成部は、複数の第1要素群のそれぞれについて、対応する第1要素群に含まれる第1要素に基づくパラメータを生成し、制御部は、量子部を制御することにより、複数の第1要素群のそれぞれについて、パラメータ及び対応する特徴データに基づく量子計算アルゴリズムを量子部に実行させ、合成部は、複数の第1要素群のそれぞれについての量子部による量子計算アルゴリズムの実行結果を合成する。
【0010】
本発明の他の態様に係る情報処理装置は、要素値がそれぞれ対応付けられた複数の要素をマッピングした入力データに基づくパラメータを生成する生成部と、量子コンピュータを制御することにより、パラメータ及び入力データの特徴データに基づく量子計算アルゴリズムを量子コンピュータに実行させる制御部と、入力データと量子コンピュータによる量子計算アルゴリズムの実行結果とに基づき特徴データを更新する更新部と、を備える。
【0011】
本発明の他の態様に係る情報処理装置は、要素値がそれぞれ対応付けられた複数の第1要素をマッピングした入力データから、第1要素の集合である第1要素群を複数抽出する抽出部と、複数の第1要素群のそれぞれについて、対応する第1要素群に含まれる第1要素に基づくパラメータを生成する生成部と、量子コンピュータを制御することにより、複数の第1要素群のそれぞれについて、パラメータ及び対応する特徴データに基づく量子計算アルゴリズムを量子コンピュータに実行させる制御部と、複数の第1要素群のそれぞれについての量子コンピュータによる量子計算アルゴリズムの実行結果を合成する合成部と、を備える。
【発明の効果】
【0012】
本発明によれば、古典コンピュータと量子コンピュータのハイブリッドシステムにおいて、量子コンピュータにより実行可能な処理を拡張するコンピュータシステム、情報処理方法、プログラム及び情報処理装置を提供することができる。
【図面の簡単な説明】
【0013】
図1】本発明の一実施形態に係るコンピュータシステムの構成例を示す図である。
図2】本実施形態に係るコンピュータシステムによる処理の概略を示す図である。
図3】画素のそれぞれに対応するスピンの結合を説明するための図である。
図4】本実施形態に係る断熱量子計算に用いられる量子回路図の一部を示す図である。
図5】コンピュータシステムが、学習済みのWij(θ)を用いて、入力データ360に付与されたノイズを除去する処理を説明するための図である。
図6】コンピュータシステムが、入力データに基づくパラメータを用いて断熱量子計算を行い、その結果に応じて結合係数Wij(θ)を更新する流れの一例を示すフローチャートである。
図7】コンピュータシステム1が、学習済みの結合係数Wij(θ)を用いて、入力データからノイズを除去する処理の流れを示すフローチャートである。
図8】古典コンピュータによる量子シミュレータを用いて、図6及び図7に示した処理を100回実施した結果を示す図である。
図9】第2実施形態に係るコンピュータシステムによる処理を説明するための図である。
図10】コンピュータシステムがノイズを含む入力データに基づき、ノイズを含まない合成画像を生成するまでの処理の流れを示すフローチャートである。
図11】4×4画素の画像データを用いて図10に示した処理を量子シミュレータによりシミュレーションした結果を説明するための図である。
図12】、図9図11を参照して説明した処理によりノイズを50回除去するシミュレーションを、量子シミュレータにより行った結果を示す図である。
図13】量子シミュレータを用いて、28×28画素のサイズを有する1MNISTの数字「0」の画像データを復元して、合成画像を生成するシミュレーションを行った結果を示す図である。
図14】「0」のMNIST画像及び「1」のMNIST画像を示す図である。
図15】「0」のMNIST画像及び「1」のMNIST画像のそれぞれの画像を圧縮することで得られる2次元のデータをプロットした結果を示す図である。
図16】本実施形態に係る古典コンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0014】
添付図面を参照して、本発明の好適な実施形態について説明する。
【0015】
[第1実施形態]
図1は、本発明の一実施形態に係るコンピュータシステム1の構成例を示す図である。本実施形態に係るコンピュータシステム1は、古典コンピュータ10及び量子コンピュータ20を備える。したがって、コンピュータシステム1は、古典コンピュータ機能及び量子コンピュータ機能を有するハイブリッドシステムとして構成されている。古典コンピュータ10及び量子コンピュータ20は、通信ネットワークNを介して通信可能に接続されている。通信ネットワークNは、有線又は無線の通信ネットワークであり、例えばインターネットであってよいが、LAN(Local Area Network)等であってもよい。
【0016】
古典コンピュータ10は、古典プログラムを実行して各種の情報処理を行う。古典プログラムは、古典コンピュータにより実行可能なアルゴリズムを表現したコードである。古典プログラムは、例えばC言語のようなプログラミング言語により記述されたプログラムである。古典コンピュータ10は、記憶部110、処理部120及び通信部130を備える。
【0017】
記憶部110は、各種の情報を記憶している。具体的には、記憶部110は、処理部120が各種の処理を実行するための古典プログラム、処理部120による処理の対象となる情報、処理部120による処理の結果及び量子コンピュータ20により生成されたデータなどの情報を記憶している。例えば、記憶部110は、処理部120が処理を行う画像データ、及び処理部120が生成したパラメータなどの情報を記憶している。記憶部110が記憶している各種の情報は、必要に応じて処理部120により参照される。
【0018】
処理部120は、各種の情報処理を行う機能を有する。また、処理部120は、処理の結果を記憶部110に記憶させることができる。処理部120は、取得部121、抽出部122、生成部124、更新部126及び合成部128を備える。
【0019】
取得部121は、各種の情報を取得する機能を有する。例えば、取得部121は、記憶部110から画像データを取得することができる。
【0020】
抽出部122は、各種のデータから情報を抽出する機能を有する。例えば、抽出部122は、画像データから、当該画像データの少なくとも一部を構成する画素(要素)の集合である画素群(要素群)を抽出することができる。
【0021】
生成部124は、各種のパラメータを生成することができる。本実施形態では、生成部124は、画像データあるいは画像データから抽出された情報に基づくパラメータを生成することができる。例えば、生成部124は、要素値がそれぞれ対応付けられた複数の要素をマッピングした入力データに基づくパラメータを生成することができる。本実施形態では、入力データは、画素値を2次元で格子状にマッピングした画像データである。生成部124は、画像データに基づき、後述する量子計算アルゴリズムに用いられる縦磁場係数及び結合係数などのパラメータを生成することができる。
【0022】
更新部126は、各種のパラメータを更新することができる。例えば、更新部126は、量子コンピュータ20による量子計算アルゴリズムの実行結果に基づき、結合係数などのパラメータを更新することができる。具体的には、更新部126は、入力データと量子計算アルゴリズムの実行結果とを比較し、比較結果に基づき入力データに対応する特徴データを更新することができる。
【0023】
合成部128は、各種の情報を合成することができる。具体的には、合成部128は、量子コンピュータ20による量子計算アルゴリズムの実行結果を合成することができる。より具体的には、合成部128は、量子計算アルゴリズムの実行結果である複数の画素群を合成することにより合成画像を生成することができる。
【0024】
通信部130は、各種の情報を送受信することができる。通信部130は、例えば、生成部124により生成されたパラメータ及び更新部126により更新されたパラメータなどを量子コンピュータ20に送信することができる。また、通信部130は、量子コンピュータ20による量子計算アルゴリズムの実行結果を受信することができる。また、通信部130は、受信した情報を記憶部110に記憶させることができる。
【0025】
量子コンピュータ20は、物質の量子力学的性質を利用して計算を行うコンピュータであり、量子ゲート方式の量子コンピュータであってよい。量子コンピュータ20は、任意のハードウェアで構成されてよい。
【0026】
量子コンピュータ20は、量子プログラムに基づく量子計算アルゴリズムを実行することができる。量子プログラムは、各種の量子アルゴリズムを表現したコードである。量子プログラムは、例えば、量子回路として表現されてよい。なお、量子プログラムは、古典プログラムと同様に、プログラミング言語で記述されたプログラムを含んでよい。
【0027】
量子コンピュータ20は、記憶部210、制御部220、量子部230及び通信部240を備える。ここで、記憶部210、制御部220及び通信部240は、古典コンピュータ機能を含んでよい。
【0028】
記憶部210は、各種の情報を記憶している。例えば、記憶部210は、量子部230が量子計算アルゴリズムを実行するために用いられる量子プログラムを記憶している。記憶部210が記憶している各種の情報は、必要に応じて制御部220により参照される。
【0029】
制御部220は、量子プログラムに基づき、量子部230を制御することができる。具体的には、制御部220は、生成部124により生成されたパラメータ及び入力データに対応する特徴データに基づく量子計算アルゴリズムを量子部230に実行させることができる。
【0030】
量子部230は、量子コンピュータ20の中核部分であり、制御部220による制御に基づき、量子計算アルゴリズムを実行することができる。本実施形態では、量子部230は、断熱量子計算アルゴリズムを実行する。断熱量子計算アルゴリズムは、最適化アルゴリズムの1つとして知られている。以下では、断熱量子計算アルゴリズムを単に「断熱量子計算」ともいう。
【0031】
断熱量子計算は、イジングモデルを用いて計算されるアニーリング計算手法の1つとして知られている(参考文献1を参照)。イジングモデルとは、強磁性体及び反強磁性体などの磁性体におけるスピンの動作をモデル化した模型である。スピンは、アップスピン(+1)又はダウンスピン(-1)の2種類の状態をとる。
(参考文献1)E. Farhi, J. Goldstone, S. Gutmann, and M. Sipser, ”Quantum Computation by Adiabatic Evolution,” quant-ph/0001106, 2000.
【0032】
イジングモデルの系全体のハミルトニアンは、2つのスピンsi、sj間の結合係数Jijと、スピンsiの内部にかかる局所的な縦磁場hziを用いて、次の式(1)により表される。
【0033】
【数1】
【0034】
断熱量子計算では、ハミルトニアンの初期状態の設定のために、横磁場係数hxが追加される。また、スピンsiは、パウリ演算子σiに相当するため、行列で表される量子ゲートである位相反転演算ゲートZiにより表現され得る。さらに、時間tをtfにより規格化したパラメータs(=t/tf)を導入し、0≦s≦1とする。これにより、断熱量子計算におけるハミルトニアンは、次の式(2)により表される。
【0035】
【数2】
【0036】
Jij、hzi及びhxは、量子回路におけるユニタリ回転ゲートの位相のパラメータである。このため、これらのパラメータは、Wij(θ)、hzi(θ)及びhx(θ)と表される。量子コンピュータではユニタリ変換を順に行うことで、シュレディンガー方程式の時間発展を表すことができる。量子ビットの状態ベクトルを|ψ>とすると、シュレディンガー方程式は、次の式(3)により表される。
【0037】
【数3】
【0038】
状態ベクトルが時間に依存し、ハミルトニアンが時間に依存しないときのシュレディンガー方程式を解くと、次の式(4)及び(5)ように変形でき、ユニタリ変換U(t)が導出される。
【0039】
【数4】
【0040】
【数5】
【0041】
式(5)のHに式(2)を代入し、ユニタリ変換U(t)を繰り返し行うことにより、ハミルトニアンの最小値が求まり、最適なスピン状態を得ることができる。以上、量子部230が行う断熱量子計算の概略を説明した。
【0042】
通信部240は、各種の情報を送受信する機能を有する。通信部240は、例えば、量子部230による断熱量子計算アルゴリズムの実行結果を古典コンピュータ10に送信する。
【0043】
以上、本実施形態に係るコンピュータシステム1の機能の概略を説明した。図2図5を参照して、コンピュータシステム1が行う処理をより具体的に説明する。
【0044】
図2は、本実施形態に係るコンピュータシステム1による処理の概略を示す図である。ここでは、コンピュータシステム1は、3×3画素(=9画素)のサイズの画像データを入力データ300とし、入力データ300を復元するためのパラメータを学習するものとして説明する。入力データ300は、9つの画素のそれぞれには0又は1の画素値が対応付けられている。ここで、0の画素値は白に対応し、1の画素値は黒に対応しているものとする。
【0045】
古典コンピュータ10は、入力データ300に基づく縦磁場係数hz(θ)を生成することができる。具体的には、古典コンピュータ10は、入力データ300に含まれる9つの画素のそれぞれに対応する画素値に応じた縦磁場係数hz(θ)を生成することができる。また、古典コンピュータ10は、結合係数Wij(θ)を生成することもできる。ここでは、古典コンピュータ10は、ランダムの値を結合係数Wij(θ)として生成するものとする。なお、縦磁場係数hz(θ)及び結合係数Wij(θ)は、古典コンピュータ10が備える生成部124により実施され得る。
【0046】
量子コンピュータ20は、古典コンピュータ10により生成された縦磁場係数hz(θ)及び結合係数Wij(θ)を用いて断熱量子計算アルゴリズムを実行する。すなわち、量子コンピュータ20は、式(1)から(5)を参照して説明した断熱量子計算を実行する。このとき、横磁場係数hx(θ)は、予め指定された所定の値であってよい。
【0047】
入力データ30が含む画素のそれぞれは、量子ビットに対応しているものとする。また、量子ビットのそれぞれは、イジングモデルのスピンに対応しているものする。
【0048】
図3は、画素のそれぞれに対応するスピンの結合を説明するための図である。本実施形態では、各画素について、上下左右に隣接する4つのスピン(画素)との結合のみを考慮する。例えば、図3の中心に示されている画素320は、隣り合う4つの画素322、324,326,328のみと結合しているものとする。このとき、中心の画素320とその上側の画素322との結合係数をWi-1,j(θ)、中心の画素320とその右側の画素324との結合係数をWi,j+1(θ)、中心の画素320とその下側の画素326との結合係数をWi+1,j(θ)、中心の画素320とその左側の画素328との結合係数をWi,j-1(θ)とする。これらの結合係数は、結合している2つの画素の関係を表している。また、ここでは、周期境界条件が適用されているものとする。
【0049】
図4は、本実施形態に係る断熱量子計算に用いられる量子回路図の一部を示す図である。図4に示すHは、アダマールゲートである。また、ユニタリーゲートU3は、ハミルトニアンのXiに対応している。また、ユニタリーゲートU1は、ハミルトニアンのZiに対応している。さらに、破線で囲まれた量子回路350は、ハミルトニアンのZiZjに対応している。
【0050】
図2に戻って、量子コンピュータ20は、断熱量子計算を行うと、3×3画素の画像データを出力データ310として古典コンピュータ10に送信する。古典コンピュータ10は、入力データ300と出力データ310とに基づいて結合係数Wij(θ)を更新する。具体的には、古典コンピュータ10は、次の式(6)及び(7)を用いて結合係数Wij(θ)を更新する。
【0051】
Wij(θ)=Wij(θ)+εEij・・・(6)
Eij=(ZiZj)original-ZiZj・・・(7)
【0052】
ここで、Eijは、入力データ300に対応する2つのスピンの積sisjと、出力データ310に含まれる2つのスピンの積sisjとの差分である。また、εは学習率である。量子コンピュータ20による断熱量子計算と、古典コンピュータ10によるWij(θ)の更新が繰り返し行われることにより、Wij(θ)が学習(最適化)される。
【0053】
図5は、コンピュータシステム1が、学習済みのWij(θ)を用いて、入力データ360に付与されたノイズを除去する処理を説明するための図である。ここでは、入力データ360は、図2に示した入力データ300にノイズが付与されているデータである。
【0054】
古典コンピュータ10は、入力データ360に基づく縦結合係数hz(θ)と、図2を参照して説明した学習済みのWij(θ)と、を量子コンピュータ20に送信する。量子コンピュータ20は、hz(θ)及びWij(θ)を用いた断熱量子計算を行い、3×3画素の画像データを出力データ370として出力する。これにより、入力データ360に含まれているノイズが除去される。
【0055】
なお、ここでは、学習済みの結合係数Wij(θ)が用いられるものとして説明したが、これに限定されるものではない。結合係数Wij(θ)は、所定の条件に基づき設定されてもよい。例えば、入力データ300の特徴データは結合係数Wij(θ)とし、2つのスピンsi、sjが同じ向きの場合、つまり2つのマスが同じ色(白と白または黒と黒)の場合、結合係数をWij(θ)=-1とし、2つのスピンが違う向きの場合はWij(θ)=1として設定してもよい。
【0056】
次いで、図6及び図7を参照して、コンピュータシステム1による処理の流れを説明する。図6は、コンピュータシステム1が、入力データに基づくパラメータを用いて断熱量子計算を行い、その結果に応じて結合係数Wij(θ)を更新する流れの一例を示すフローチャートである。また、図7は、コンピュータシステム1が、学習済みの結合係数Wij(θ)を用いて、入力データからノイズを除去する処理の流れを示すフローチャートである。
【0057】
図6を参照して、コンピュータシステム1の処理を説明する。
【0058】
まず、古典コンピュータ10が備える取得部121は、記憶部110から入力データとなる画像データを取得する(ステップS101)。具体的には、取得部121は、3×3画素の画像データを入力データとして取得する。
【0059】
次いで、生成部124は、ステップS101において取得された入力データに基づき、縦磁場係数hz(θ)を生成する(ステップS103)。このとき、生成部124は、さらに、結合係数Wij(θ)をランダムな値として生成する。
【0060】
次いで、通信部130は、ステップS103において生成された縦磁場係数hz(θ)及び結合係数Wij(θ)を量子コンピュータ20に送信する(ステップS105)。量子コンピュータ20が備える通信部240は、量子コンピュータ20に送信された縦磁場係数hz(θ)及び結合係数Wij(θ)を受信し、制御部220に伝達する。
【0061】
制御部220は、ステップS105において送信された縦磁場係数hz(θ)及び結合係数Wij(θ)に基づき、断熱量子計算アルゴリズムを量子部330に実行させる(ステップS107)。このとき、量子部230は、量子ビットのそれぞれの値を観測し、観測結果を出力データとして通信部240に伝達する。観測された値のそれぞれは、3×3画素の画像データに含まれる画素に対応している。
【0062】
次いで、通信部240は、出力データを古典コンピュータ10の通信部130に送信する(ステップS109)。古典コンピュータ10の通信部130は、出力データを受信して、更新部126に伝達する。
【0063】
次いで、更新部126は、結合係数Wij(θ)を更新する(ステップS111)。具体的には、更新部126は、入力データと、ステップS109において送信された出力データとを比較し、比較結果に基づいて結合係数Wij(θ)を更新する。具体的には、更新部126は、上述の式(6)及び(7)を用いて結合係数Wij(θ)を更新する。
【0064】
通信部130は、ステップS111において更新された新たな結合係数Wij(θ)を、量子コンピュータ20が備える通信部240に送信する(ステップS113)。通信部240は、新たな結合係数Wij(θ)を受信し、制御部220に伝達する。
【0065】
制御部220は、縦磁場係数hz(θ)及び新たな結合係数Wij(θ)に基づき、量子部230に断熱量子計算アルゴリズムを実行させる(ステップS115)。断熱量子計算アルゴリズムの実行結果(すなわち、量子ビットの観測結果である出力データ)は、通信部240に伝達される。
【0066】
通信部240は、ステップS115において取得した断熱量子計算アルゴリズムの実行結果を出力データとして、出力データを古典コンピュータ10の通信部130に送信する(ステップS117)。通信部130は、出力データを受信し、更新部126に伝達する。
【0067】
次いで、更新部126は、ステップS111の処理と同様にして、結合係数Wij(θ)を更新する(ステップS119)。以下、ステップS113~ステップS119の処理が繰り返し実施されることにより、学習済みの結合係数Wij(θ)が生成される。学習済みの結合係数Wij(θ)は、記憶部110に記憶されてもよい。
【0068】
図7を参照して、コンピュータシステム1が、図6に示した処理により生成された学習済みの結合係数Wij(θ)を用いて、入力データからノイズを除去する処理を説明する。
【0069】
まず、古典コンピュータ10が備える取得部121は、記憶部110から入力データを取得する(ステップS201)。ここでは、入力データには、図5を参照して説明したノイズが含まれているものとする。
【0070】
次いで、生成部124は、ステップS201において取得された入力データに応じた縦結合係数hz(θ)を生成する(ステップS202)。したがって、ここで生成される縦結合係数hz(θ)は、ノイズの影響を受けている。
【0071】
次いで、通信部130は、ステップS202において生成された縦磁場係数hz(θ)と、学習済みの結合係数Wij(θ)とを量子コンピュータ20に送信する(ステップS203)。量子コンピュータ20の通信部240は、縦磁場係数hz(θ)及び学習済みの結合係数Wij(θ)を受信し、制御部220に伝達する。
【0072】
次いで、制御部220は、ステップS203において送信された縦磁場係数hz(θ)及び学習済みの結合係数Wij(θ)に基づき、量子部230に断熱計算アルゴリズムを実行させる(ステップS205)。断熱計算アルゴリズムの実行結果は、出力データとして通信部240に伝達される。ここで、出力データは、3×3画素の画像データである。
【0073】
次いで、通信部240は、出力データを古典コンピュータ10に送信する(ステップS207)。次いで、古典コンピュータ10の通信部130は、出力データを受信する(ステップS209)。これにより、古典コンピュータ10は、入力データからノイズが除去された出力データを取得できる。
【0074】
古典コンピュータによる量子シミュレータを用いて、図6及び図7に示した処理を100回実施した結果を図8に示す。図8に示すように、100回の処理のうち、入力データと同一の出力データを86回得ることができた。なお、14回の処理では、1画素のみ誤っている出力データが得られた。
【0075】
以上、本実施形態に係るコンピュータシステム1について説明した。本実施形態に係るコンピュータシステム1によれば、機械学習における自己符号化器と同様の処理を実施することができる。具体的には、コンピュータシステム1は、画像データの復元あるいは画像データに含まれるノイズを除去することができる。このため、本実施形態に係るコンピュータシステム1は、いわば量子自己符号化器として機能している。本実施形態によれば、コンピュータシステム1は、量子コンピュータ20を量子自己符号化器の機能の一部を担わせ、量子コンピュータ20が実行可能な処理を拡張することができる。
【0076】
[第2実施形態]
第2実施形態では第1実施形態と共通の事柄についての記述を省略し、異なる点についてのみ説明する。
【0077】
第1実施形態では、入力データが3×3画素のサイズの画像データであるものとして説明した。第2実施形態では、第1実施形態に係る入力データより大きなサイズを有する画像データを入力データとして扱う。
【0078】
図9は、第2実施形態に係るコンピュータシステムによる処理を説明するための図である。古典コンピュータ10は、100×100(=10000)の画素(第1画素)をマッピングした画像データを入力データ400として記憶しているものとする。入力データ400は、「0」の文字を表す画素と、ノイズの画素402と、残りの白い画素とを含む。
【0079】
古典コンピュータ10は、入力データ400から、入力データ400を構成する10000画素のそれぞれに対応する画素群(第1画素群)を抽出する。ここで、画素群は、3×3画素(=9画素)のサイズの画像データである。また、画素群に含まれる中心の画素は、入力データ400に含まれる対応する画素となっている。また、画素群に含まれる残りの8つの画素は、入力データ400に含まれる対応する画素の周りの8つの画素である。例えば、一番上に示されている画素群406は、入力データ400の左端の一番上の画素404に対応している。画素群406の中心の画素407は、画素404に対応している。なお、画素群の抽出は、古典コンピュータ10が備える抽出部122により実施されてもよい。
【0080】
量子コンピュータ20は、抽出された10000個の画素群のそれぞれに基づく断熱量子計算を行う。ここで、量子コンピュータ20は、図6を参照して生成された学習済みの結合係数Wij(θ)を用いて断熱量子計算を行ってもよいし、ノイズのない画像データに基づき設定された結合係数Wij(θ)を用いて断熱量子計算を行ってもよい。このため、出力データは、対応する画素群406からノイズを除去したデータを復元したデータとなる。
【0081】
また、量子コンピュータ20は、断熱量子計算の実行結果として、3×3(=9)の画素(第2画素)の画像データ(第2画素群)を出力データとして10000個出力する。例えば、一番上に示されている出力データ408は、画素群406に基づく断熱量子計算の実行結果である。
【0082】
上述のように、断熱量子計算は、画素群に含まれる画素が上下左右に隣接している画素と結合しているものとして実行される。画素群に含まれる9個の画素のうち、中心の画素のみが入力データに含まれる画素と同じ画素と結合する。このため、出力データに含まれる画素のうち、中心の画素がノイズを含まない画像データを最もよく復元すると考えられる。なお、中心の画素は、他の8つの画素よりも隣接する画素を多く有している。
【0083】
古典コンピュータ10は、量子コンピュータ20により出力された10000個の出力データを合成することにより、ノイズが除去された画像データを生成する。具体的には、古典コンピュータ10は、10000個の出力データのそれぞれに含まれる中心の画素を二次元でマッピングすることにより、合成画像410を生成する。したがって、合成画像410に含まれる画素のそれぞれは、対応する出力データに含まれる中心の画素となっている。例えば、合成画像410に含まれる左上の一番上の画素412は、出力データ408の中心の画素409に対応している。ここで、出力データを合成することにより合成画像410を生成する処理は、古典コンピュータ10が備える合成部128により実施される。
【0084】
図10に示すフローチャートを参照しながら、コンピュータシステム1がノイズを含む入力データに基づき、ノイズを含まない合成画像を生成するまでの処理の流れをより詳細に説明する。
【0085】
まず、古典コンピュータ10の取得部121は、入力データを取得する(ステップS301)。入力データは、3×3画素のサイズよりも大きいサイズを有するものとする。具体的には、入力データのサイズは、4×4画素(=16画素)のサイズである。また、入力データには、ノイズが含まれているものとする。
【0086】
次いで、抽出部122は、ステップS301において取得された入力データから複数の画素群を取得する(ステップS303)。具体的には、抽出部122は、入力データから、入力データに含まれる画素数に応じた数の画素群を抽出する。より具体的には、抽出部122は、16画素のそれぞれに対応する16個の画素群を抽出する。また、抽出される画素群のサイズは、3×3画素のサイズである。
【0087】
次いで、生成部124は、ステップS303において抽出された16個の画素群のそれぞれについて、縦磁場係数hz(θ)を生成する(ステップS305)。
【0088】
次いで、通信部130は、ステップS303において抽出された16個の画素群のそれぞれに対応する、縦磁場係数hz(θ)及び学習済みの結合係数Wij(θ)を量子コンピュータ20に送信する(ステップS307)。量子コンピュータ20のsは、縦磁場係数hz(θ)及び学習済みの結合係数Wij(θ)を受信し、制御部220に伝達する。ここで、学習済みの結合係数Wij(θ)は、ノイズを含まない入力データから抽出される画素群を復元するために予め記憶部110に記憶されているものとする。
【0089】
次いで、制御部220は、16個の画素群のそれぞれについて、縦磁場係数hz(θ)及び学習済みの結合係数Wij(θ)に基づき、量子部230に断熱量子計算アルゴリズムを実行させる(ステップS309)。これにより、量子部230より、16個の画素群のそれぞれについて、断熱量子計算の実行結果が出力データとして出力される。ここで、出力データは、3×3画素のサイズの画素群である。
【0090】
次いで、通信部240は、16個の画素群のそれぞれに対応する出力データを古典コンピュータ10に送信する(ステップS311)。古典コンピュータ10の通信部130は、16個の画素群のそれぞれに対応する出力データを受信し、合成部128に伝達する。
【0091】
合成部128は、16個の画素群のそれぞれに対応する出力データを合成することにより合成画像を生成する(ステップS313)。具体的には、合成部128は、出力データに含まれる中心の画素を2次元で格子状にマッピングすることにより、合成画像を生成する。これにより、入力データからノイズが除去された合成画像が得られる。
【0092】
4×4画素の画像データを用いて図10に示した処理を量子シミュレータによりシミュレーションした。図11を参照して、シミュレーション結果について説明する。図11には、左から順番に、ノイズを含まない画像データ450と、ノイズが付与された入力データ460と、復元された合成画像470とが示されている。
【0093】
画像データ450は、4×4画素のサイズを有する。画像データ450に含まれる画素のうち、左から2列目の画素454(斜線の付された画素)はすべて黒(画素値1)であり、残りの画素は白(画素値0)である。入力データ460は、画像データ450に30%のノイズを付与して得られたデータである。具体的には、入力データ460には、4つのノイズの画素461,462,463,464(点の付された画素)が付与されている。これらの画素461,462,463,464は黒である。図10を参照して説明した処理により入力データ460からノイズを除去すると、合成画像470が得られる。
【0094】
図12は、入力データ460について、図9図11を参照して説明した処理によりノイズを50回除去するシミュレーションを、量子シミュレータにより行った結果を示す図である。
【0095】
図12に示すように、50回の処理のうち、27回の処理では入力データから完全にノイズを除去することができた。ノイズ率が30%の場合、54%の割合で入力データからノイズを完全に除去することができた。また、22回の処理では、4画素のノイズのうちの3画素のノイズを除去することができた。本実施形態によれば、1画素のノイズを許容すれば、98%の割合でノイズを除去できたといえる。
【0096】
続いて、量子シミュレータを用いて、28×28画素(=784画素)のサイズを有する1MNISTの数字「0」の画像データを復元して、合成画像を生成するシミュレーションを行った。なお、ここで合成画像を生成する処理は、図9図11を参照して説明した処理と実質的に同一である。
【0097】
図13には、左から順番に、ノイズを含まない画像データ500と、ノイズを含む入力データ510と、入力データ510に基づく合成画像520とが示されている。図13に示すように、合成画像520は、ノイズを含まない画像データ500と全く同じ画像になっていることがわかる。このように、画像データ500に含まれる画素のすべてを量子ビットに対応させると784個の量子ビットが必要な場合であっても、本実施形態に係るコンピュータシステムによれば、9個の量子ビットにより画像データを復元することが可能になる。
【0098】
また、上述の4×4画素の入力データ及び28×28画素の入力データからノイズを除去するシミュレーションには、それぞれ、約8.4秒及び約395秒の時間がかかった。一方、仮に、4×4画素のサイズの量子ビット及び28×28画素のサイズの量子ビットが用意できた場合に、上述の量子自己符号化器の処理を実行すると、それぞれの処理には約54秒及び約10の23乗年の時間がかかると推測される。このため、本実施形態に係る処理を実行することにより、処理時間を大幅に短縮することができると推測される。
【0099】
以上、第2実施形態に係るコンピュータシステムについて説明した。本実施形態に係るコンピュータシステムによれば、利用できる量子ビットの数よりも大きなサイズ(例えば、上述の16画素あるいは784画素)のデータを処理することができる。本実施形態に係るコンピュータシステムは、機械学習における畳み込み自己符号化器と同様の機能を有する。具体的には、上述した3×3画素の画素群をフィルタとみたて、このフィルタを用いて入力データの全ての画素について量子計算を行い、その計算結果を合成することにより合成画像を得るものである。このため、本実施形態に係るコンピュータシステムは、いわば畳み込み量子自己符号化器として機能する。この結果、コンピュータシステム1は、量子コンピュータ20を畳み込み量子自己符号化器の機能の一部を担わせ、量子コンピュータ20が実行可能な処理を拡張することができる。
【0100】
また、本実施形態に係るコンピュータシステムによれば、入力データを、より低次元のデータに圧縮することができる。上述のように、入力データに含まれる画素のそれぞれについて、上下左右に隣接する画素との結合係数Wij(θ)が学習されている。この学習済みの結合係数Wij(θ)のうち、右側の画素との結合係数Wi,j+1(θ)と、下側の画素とのWi+1,j(θ)と、を取り出すことにより、入力データを2次元のデータに圧縮することができる。なお、取り出される結合係数の組み合わせは、これに限定されるものではない。例えば、上側の画素との結合係数と下側の画素との結合係数が取り出されてもよいし、他の結合係数の組み合わせが取り出されてもよい。
【0101】
本実施形態では、「0」の画像データと「1」の画像データの2種類の画像データについて、それぞれ30回ずつ2次元のデータに圧縮した。なお、いずれの画像データもMNIST画像である。図14には、圧縮される前の「0」の画像データ550及び「1」の画像データ560を示している。
【0102】
図15は、それぞれの画像について入力データを圧縮することで得られる2次元のデータをプロットした結果を示す図である。横軸には、右側の画素との結合係数Wi,j+1(θ)、縦軸には、下側の画素とのWi+1,j(θ)を示している。塗りつぶしの丸は、「0」のMNIST画像に対応するプロットであり、白抜きの丸は、「1」のMNIST画像に対応するプロットである。図15に示すように、画像データを圧縮して得られた2次元のデータにより、2種類の画像データがよく分類されていることがわかる。
【0103】
[ハードウェア構成]
図16は、本実施形態に係る古典コンピュータ10のハードウェア構成の一例を示す図である。古典コンピュータ10は、演算部に相当するCPU(Central Processing Unit)10aと、記憶部110に相当するRAM(Random Access Memory)10bと、記憶部110に相当するROM(Read only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では古典コンピュータ10が一台のコンピュータで構成される場合について説明するが、古典コンピュータ10は、複数のコンピュータが組み合わされて実現されてもよい。また、図16で示す構成は一例であり、古典コンピュータ10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。ここで、演算部は、処理部120を含む。
【0104】
CPU10aは、RAM10b又はROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0105】
RAM10bは、記憶部のうちデータの書き換えが可能なものであり、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行するプログラム及び画像データといったデータを記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
【0106】
ROM10cは、記憶部のうちデータの読み出しが可能なものであり、例えば半導体記憶素子で構成されてよい。ROM10cは、例えば書き換えが行われないデータを記憶してよい。
【0107】
通信部10dは、古典コンピュータ10を他の機器に接続するインターフェースである。通信部10dは、インターネット等の通信ネットワークに接続されてよい。
【0108】
入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード及びタッチパネルを含んでよい。
【0109】
表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、複数の物品の在庫数の推移や倉庫の容量の推移を表示してよい。
【0110】
プログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。古典コンピュータ10では、CPU10aがプログラムを実行することにより、図1を用いて説明した様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、古典コンピュータ10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0111】
また、量子コンピュータ20は、図16を参照して説明したCPU10aと、RAM10bと、記憶部110に相当するROM10cと、通信部10dと、入力部10eと、表示部10fと、を含んでよい。
【0112】
[補足]
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素及びその配置、材料、条件、形状、サイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【0113】
フローチャートを参照して説明した各ステップの処理は、本明細書で説明する順序に沿って時系列に実行されてもよいし、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。また、各ステップの処理は本明細書で説明したように直列で実施されてもよいし、複数のステップの処理が並列に実行されてもよい。
【0114】
上記実施形態では、コンピュータシステム1は、画像データに基づいて、パラメータの更新あるいは量子計算によるノイズの除去などの各種の処理を行うものとして説明した。コンピュータシステム1による処理の対象は、画像データに限定されるものではない。
【0115】
また、上記実施形態における図9等を参照して説明した処理では、抽出される画素群が3×3画素のサイズを有するものとして説明した。抽出される画素群のサイズは、これに限定されず、例えば4×4画素のサイズあるいは5×5画素のサイズなどであってよい。
【0116】
また、上記第2実施形態では、入力データの画素数だけ画素群を抽出して、断熱量子計算を実行するものとして説明した。これに限らず、コンピュータシステムは、入力データの画素数よりも小さい又は大きい数の画素群を複数抽出して、それぞれについて断熱量子計算を行い、合成画像を生成してもよい。
【0117】
また、上記実施形態では、古典コンピュータ10及び量子コンピュータ20が協働して古典コンピュータ機能を実現するものとして説明した。これに限らず、古典コンピュータ機能は、古典コンピュータ10単体により実現されてよい。具体的には、古典コンピュータ(情報処理装置)は、上述した記憶部110、処理部120及び通信部130に加えて、量子コンピュータ20が備える量子部230を制御する制御部220を備えてよい。
【0118】
この場合には、古典コンピュータ10が備える制御部は、記憶部110及び処理部120から量子部230を制御するための情報(例えば、量子計算パラメータ等)を取得してもよい。また、制御部は、量子計算パラメータに基づき量子部230を制御するための制御信号を生成し、当該制御信号が量子部230に送信することにより量子部230を制御してもよい。
【符号の説明】
【0119】
1…コンピュータシステム、10…古典コンピュータ、20…量子コンピュータ、30…入力データ、120…処理部、122…抽出部、124…生成部、126…更新部、128…合成部、220…制御部、230…量子部、240…通信部、300…入力データ、310…出力データ、320,322,324,326,328…画素、330…量子部、350…量子回路、360…入力データ、370…出力データ、400…入力データ、402,404,407,409,412…画素、406…画素群、408…出力データ、410…合成画像
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16