(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025149718
(43)【公開日】2025-10-08
(54)【発明の名称】情報処理プログラム、情報処理方法、および情報処理装置
(51)【国際特許分類】
G06N 10/20 20220101AFI20251001BHJP
G06F 18/213 20230101ALI20251001BHJP
G06F 18/24 20230101ALI20251001BHJP
【FI】
G06N10/20
G06F18/213
G06F18/24
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2024050527
(22)【出願日】2024-03-26
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【弁理士】
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】五木田 駿
(57)【要約】
【課題】量子回路による分類精度を向上すること。
【解決手段】情報処理装置100は、学習済みモデル110を取得する。情報処理装置100は、特定の種類のデータを含む第2データセット102を記憶する。情報処理装置100は、特定の種類のデータの分類精度が向上するよう、第2データセット102に基づいて、取得した学習済みモデル110を更新する。情報処理装置100は、第2データセット102に基づいて、更新した学習済みモデル111によって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路120を学習するよう、演算部130を制御する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する学習済みモデルを取得し、
特定の種類のデータの分類精度が向上するよう、前記特定の種類のデータを含むデータセットに基づいて、取得した前記学習済みモデルを更新し、
前記データセットに基づいて、更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【請求項2】
前記演算部を前記学習に利用するリクエストを、前記演算部に送信する、
処理を前記コンピュータに実行させ、
前記更新する処理は、前記リクエストに応じて前記演算部が前記学習に利用可能になる前に開始される、ことを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記更新する処理は、前記リクエストに応じて前記演算部が前記学習に利用可能になるまでに繰り返し実行され、
前記制御する処理は、
前記演算部が前記学習に利用可能になった後に、前記データセットに基づいて、最後に更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、前記演算部を制御する、ことを特徴とする請求項2に記載の情報処理プログラム。
【請求項4】
入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する学習済みモデルを取得し、
特定の種類のデータの分類精度が向上するよう、前記特定の種類のデータを含むデータセットに基づいて、取得した前記学習済みモデルを更新し、
前記データセットに基づいて、更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【請求項5】
入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する学習済みモデルを取得し、
特定の種類のデータの分類精度が向上するよう、前記特定の種類のデータを含むデータセットに基づいて、取得した前記学習済みモデルを更新し、
前記データセットに基づいて、更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御する、
制御部を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
【背景技術】
【0002】
従来、入力されたデータの分類結果を出力する量子回路を学習する技術がある。また、学習済みモデルを活用して、入力されたデータから、学習済みモデルによって抽出した特徴量に応じて、当該データの分類結果を出力する量子回路を学習する手法がある。
【0003】
先行技術としては、例えば、データセットの第1の表現と第2の表現との間の差を最小化する損失項と複雑度を最小化する正則化項を含む目的関数を定式化するものがある。また、例えば、ユーザの不満度を考慮して、実行中のジョブの一時的な停止または一時的な中断を行う技術がある。また、例えば、ニューラルネットワークの1または複数のコンポーネントを、量子コンポーネントに置換する技術がある。また、例えば、離散変分自動エンコーダを介して、入力空間に対して教師なし学習を実行する技術がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2019-096334号公報
【特許文献2】特開2001-022601号公報
【特許文献3】米国特許出願公開第2020/0285947号明細書
【特許文献4】米国特許出願公開第2021/0365826号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、量子回路による分類精度を向上することが難しい場合がある。例えば、学習済みモデルを学習する際のデータセットと、学習済みモデルを活用して、量子回路を学習する際のデータセットとの関連性が小さいほど、量子回路による分類精度を向上することが難しくなる傾向がある。
【0006】
1つの側面では、本発明は、量子回路による分類精度を向上することを目的とする。
【課題を解決するための手段】
【0007】
1つの実施態様によれば、入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する学習済みモデルを取得し、特定の種類のデータの分類精度が向上するよう、前記特定の種類のデータを含むデータセットに基づいて、取得した前記学習済みモデルを更新し、前記データセットに基づいて、更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御する情報処理プログラム、情報処理方法、および情報処理装置が提案される。
【発明の効果】
【0008】
一態様によれば、量子回路による分類精度を向上することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。
【
図2】
図2は、情報処理システム200の一例を示す説明図である。
【
図3】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
【
図4】
図4は、計算装置201のハードウェア構成例を示すブロック図である。
【
図5】
図5は、情報処理装置100の機能的構成の一例を示すブロック図である。
【
図6】
図6は、情報処理システム200の機能的構成の具体例を示すブロック図(その1)である。
【
図7】
図7は、情報処理システム200の機能的構成の具体例を示すブロック図(その2)である。
【
図8】
図8は、情報処理システム200の動作の一例を示す説明図(その1)である。
【
図9】
図9は、情報処理システム200の動作の一例を示す説明図(その2)である。
【
図10】
図10は、情報処理システム200の動作の一例を示す説明図(その3)である。
【
図11】
図11は、全体処理手順の一例を示すフローチャートである。
【
図12】
図12は、更新処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
【0011】
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、データの分類結果を出力する機能を実現する量子回路120を学習するためのコンピュータである。情報処理装置100は、例えば、サーバまたはPC(Personal Computer)などである。
【0012】
従来、入力されたデータの分類結果を出力する機能を有する量子回路を学習する技術として、QCL(Quantum Circuit Learning)がある。例えば、サンプルデータと、サンプルデータに対する出力の正解とを対応付けて表すデータセットに基づいて、入力されたデータの分類結果を出力する機能を有する量子回路を学習することが考えられる。具体的には、サンプルデータを第1量子回路で変換した量子状態に応じた第2量子回路の出力が、サンプルデータに対する出力の正解に近付くよう、第2量子回路のパラメータを更新することにより、第2量子回路を学習することが考えられる。QCLでは、量子回路が有するユニタリ性により、過学習を防止し易くすることができると考えられる。また、QCLでは、指数関数的な数の基底関数により、データセットを説明する表現力が向上すると考えられる。
【0013】
一方で、QCLでは、分類精度を向上することが難しいという問題、または、量子回路を学習する際にかかる所要時間が増大してしまうという問題などがある。例えば、現状の量子コンピュータの実機上では、利用し得る量子ビットの数が比較的少なく、量子回路の規模を大きくすることが難しいため、分類精度を向上することが難しい場合がある。また、現状の量子コンピュータの実機上では、量子ビットのエラー頻度が比較的高く、量子回路の深さを大きくすることが難しいため、分類精度を向上することが難しい場合がある。また、現状の量子コンピュータの実機は、複数のユーザが共用する傾向があり、QCLを実施するにあたって、現状の量子コンピュータの実機の利用待ちが発生してしまい、量子回路を学習する際にかかる所要時間が増大し易い。
【0014】
これに対し、分類精度を向上し、または、所要時間を低減することを目的として、転移学習の手法を、QCLに適用する技術として、C2Q(Classical to Quantum)転移学習がある。具体的には、学習済みモデルを活用して、入力されたデータから、学習済みモデルによって抽出した特徴量に応じて、当該データの分類結果を出力する量子回路を学習することが考えられる。
【0015】
しかしながら、依然として、量子回路による分類精度を向上することが難しい場合がある。例えば、学習済みモデルを学習する際のデータセットと、学習済みモデルを活用して、量子回路を学習する際のデータセットとの関連性が小さいほど、量子回路による分類精度を向上することが難しくなる傾向がある。具体的には、学習済みモデルを学習する際のデータセットが、英語の文書に関し、量子回路を学習する際のデータセットが、日本語の文書に関する場合、学習済みモデルを活用しても、量子回路による分類精度を向上することが難しくなる傾向がある。また、C2Q転移学習を実施するにあたって、現状の量子コンピュータの実機の利用待ちが発生してしまい、量子回路を学習する際にかかる所要時間が増大し易いという問題は解消されない。
【0016】
そこで、本実施の形態では、量子回路による分類精度を向上することができる情報処理方法について説明する。
【0017】
図1において、量子計算を実施可能な演算部130が存在する。演算部130は、例えば、量子コンピュータの実機である。情報処理装置100は、演算部130と通信可能である。また、例えば、演算部130が、情報処理装置100に含まれる場合があってもよい。また、例えば、演算部130が、量子シミュレータである場合があってもよい。
【0018】
(1-1)情報処理装置100は、学習済みモデル110を取得する。学習済みモデル110は、入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する。学習済みモデル110は、例えば、第1データセット101に基づいて学習されるとする。学習済みモデル110は、例えば、ニューラルネットワークなどである。学習済みモデル110は、例えば、パラメータを有する。パラメータは、例えば、ニューラルネットワークのエッジに対応付けられた重みなどである。学習済みモデル110は、例えば、複数の層を有する。情報処理装置100は、例えば、第1データセット101に基づいて、学習済みモデル110を学習することにより、学習済みモデル110を取得する。情報処理装置100は、例えば、学習済みモデル110を他のコンピュータから受信することにより、学習済みモデル110を取得してもよい。
【0019】
(1-2)情報処理装置100は、特定の種類のデータを含む第2データセット102を記憶する。情報処理装置100は、特定の種類のデータの分類精度が向上するよう、第2データセット102に基づいて、取得した学習済みモデル110を更新する。情報処理装置100は、例えば、ファインチューニングにより、特定の種類のデータの分類精度が向上するよう、第2データセット102に基づいて、取得した学習済みモデル110の前半の層にかかるパラメータを更新する。
【0020】
(1-3)情報処理装置100は、第2データセット102に基づいて、量子回路120を学習するよう、演算部130を制御する。量子回路120は、更新した学習済みモデル111によって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を実現するよう学習される。情報処理装置100は、例えば、更新した学習済みモデル111の前半の層を、量子回路120に付す特徴量抽出部112に設定する。情報処理装置100は、例えば、第2データセット102に基づいて、設定した特徴量抽出部112によってデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を実現するよう、量子回路120のパラメータを更新する。
【0021】
これにより、情報処理装置100は、量子回路120による分類精度を向上することができる。情報処理装置100は、例えば、第1データセット101と、第2データセット102の関連性が比較的小さくても、学習済みモデル110を、第2データセット102に合わせて一旦更新することができる。情報処理装置100は、例えば、第2データセット102に合わせて、更新した学習済みモデル111を活用して、分類精度が比較的よい量子回路120を学習することができる。分類精度は、特定の種類のデータに関する。
【0022】
また、情報処理装置100は、量子回路120が有するユニタリ性により、過学習を防止し易くすることができ、汎化性能を向上することができる。また、情報処理装置100は、指数関数的な数の基底関数により、データセットを説明する表現力を向上することができる。また、情報処理装置100は、演算部130の利用待ちが発生した場合に、待ち時間を活用して、学習済みモデル110を更新する場合があってもよい。この場合、情報処理装置100は、演算部130の利用待ちが発生しても、量子回路120を学習する際にかかる所要時間の増大を抑制することができる。
【0023】
ここでは、情報処理装置100としての機能が、単独のコンピュータで実現される場合について説明したが、これに限らない。例えば、情報処理装置100としての機能が、複数のコンピュータの協働で実現される場合があってもよい。例えば、情報処理装置100としての機能が、クラウド上に実現される場合があってもよい。
【0024】
(情報処理システム200の一例)
次に、
図2を用いて、
図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
【0025】
図2は、情報処理システム200の一例を示す説明図である。
図2において、情報処理システム200は、情報処理装置100と、計算装置201と、クライアント装置202とを含む。
【0026】
情報処理システム200において、情報処理装置100と計算装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。また、情報処理システム200において、情報処理装置100とクライアント装置202とは、有線または無線のネットワーク210を介して接続される。
【0027】
情報処理装置100は、データの分類結果を出力する機能を実現する量子回路を学習するためのコンピュータである。情報処理装置100は、例えば、量子回路を学習するジョブの処理依頼を取得する。処理依頼は、例えば、サンプルデータと、サンプルデータに応じた量子回路の出力の正解とを対応付けたデータセットを含む。処理依頼は、例えば、学習済みモデルを含んでいてもよい。処理依頼は、学習の雛型となる量子回路を含んでいてもよい。雛型は、例えば、量子ビットを定義し、量子回路を形成する量子ゲートを定義し、量子ゲートに関するパラメータの初期値を含む。
【0028】
情報処理装置100は、具体的には、処理依頼を他のコンピュータから受信することにより、処理依頼を取得する。他のコンピュータは、例えば、クライアント装置202などである。情報処理装置100は、具体的には、ユーザの操作入力に基づき、処理依頼の入力を受け付けることにより、処理依頼を取得してもよい。
【0029】
情報処理装置100は、処理依頼に応じて、データセットに基づいて、量子回路を学習する。情報処理装置100は、例えば、処理依頼に応じて、量子回路を学習するジョブの実行依頼を、計算装置201に送信する。情報処理装置100は、例えば、量子回路を学習するジョブの実行依頼を計算装置201に送信したことに応じて、量子回路を学習するジョブの実行待ちの状態に移行する。情報処理装置100は、例えば、量子回路を学習するジョブの実行待ちの間に、データセットに基づいて、学習済みモデルをファインチューニングする。
【0030】
情報処理装置100は、例えば、量子回路を学習するジョブが実行可能であることを示す通知を、計算装置201から受信する。情報処理装置100は、例えば、通知を受信したことに応じて、ファインチューニングした学習済みモデルを活用して、データの分類結果を出力する機能を実現する量子回路を学習するよう、計算装置201を制御する。情報処理装置100は、例えば、学習した量子回路を、計算装置201から受信する。
【0031】
情報処理装置100は、例えば、受信した量子回路を出力する。情報処理装置100は、具体的には、受信した量子回路を、他のコンピュータに送信する。他のコンピュータは、例えば、クライアント装置202などである。情報処理装置100は、具体的には、受信した量子回路を、ユーザが参照可能に出力してもよい。情報処理装置100は、例えば、サーバまたはPCなどである。
【0032】
計算装置201は、量子計算を実行するためのコンピュータである。計算装置201は、情報処理装置100の制御に従って、特定の計算処理の全部または一部を分担する。計算装置201は、例えば、量子コンピュータの実機である。計算装置201は、例えば、複数のユーザが共用するコンピュータである場合がある。
【0033】
クライアント装置202は、量子回路を学習するジョブの処理依頼を発行するためのコンピュータである。クライアント装置202は、ユーザの操作入力に基づき、量子回路を学習するジョブの処理依頼を生成し、情報処理装置100に送信する。クライアント装置202は、量子回路を、情報処理装置100から受信する。クライアント装置202は、受信した量子回路を、ユーザが参照可能に出力する。クライアント装置202は、例えば、PC、タブレット端末、または、スマートフォンなどである。
【0034】
ここでは、情報処理装置100と計算装置201とが異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、計算装置201としての機能を有し、計算装置201としても動作する場合があってもよい。また、情報処理装置100とクライアント装置202とが異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、クライアント装置202としての機能を有し、クライアント装置202としても動作する場合があってもよい。
【0035】
(情報処理システム200の適用例)
情報処理システム200は、例えば、画像を表すデータの分類結果を出力する機能を実現する量子回路を学習する用途に適用することができる。分類結果は、例えば、画像に映った物体の認識結果に対応する。情報処理システム200は、例えば、文書を表すデータの分類結果を出力する機能を実現する量子回路を学習する用途に適用することができる。分類結果は、例えば、文書の種類などである。
【0036】
(情報処理装置100のハードウェア構成例)
次に、
図3を用いて、情報処理装置100のハードウェア構成例について説明する。
【0037】
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。
図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
【0038】
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
【0039】
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
【0040】
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
【0041】
情報処理装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
【0042】
(計算装置201のハードウェア構成例)
次に、
図4を用いて、計算装置201のハードウェア構成例について説明する。
【0043】
図4は、計算装置201のハードウェア構成例を示すブロック図である。
図4において、計算装置201は、CPU401と、メモリ402と、ネットワークI/F403と、記録媒体I/F404と、記録媒体405とを有する。計算装置201は、さらに、演算筐体I/F406と、演算筐体407とを有する。また、各構成部は、バス400によってそれぞれ接続される。
【0044】
ここで、CPU401は、計算装置201の全体の制御を司る。メモリ402は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることにより、コーディングされている処理をCPU401に実行させる。
【0045】
ネットワークI/F403は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F403は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F403は、例えば、モデムやLANアダプタなどである。
【0046】
記録媒体I/F404は、CPU401の制御に従って記録媒体405に対するデータのリード/ライトを制御する。記録媒体I/F404は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体405は、記録媒体I/F404の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体405は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体405は、計算装置201から着脱可能であってもよい。
【0047】
演算筐体I/F406は、CPU401の制御に従って演算筐体407に対するアクセスを制御する。演算筐体I/F406は、マイクロ波パルス発生器を利用して、CPU401からの出力信号を、演算筐体407に対する入力信号に変換し、演算筐体407に送信する。演算筐体I/F406は、マイクロ波パルス復調器を利用して、演算筐体407からの出力信号を、CPU401に対する入力信号に変換し、CPU401に送信する。演算筐体407は、10mKの極低温に冷却された、1以上の量子ビットチップを搭載した演算装置である。量子ビットチップは、例えば、論理量子ビットを表す。演算筐体407は、1以上の量子ビットチップを利用して、入力信号に応じて所定の演算を実施し、所定の演算を実施した結果に対応する出力信号を出力する。
【0048】
計算装置201は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、計算装置201は、記録媒体I/F404や記録媒体405を複数有していてもよい。また、計算装置201は、記録媒体I/F404や記録媒体405を有していなくてもよい。また、演算筐体407における量子ビットチップは、マイクロ波以外の方法で制御されていてもよい。演算筐体407における量子ビットチップは、例えば、光量子ビットを実現していてもよい。
【0049】
(情報処理装置100の機能的構成の一例)
次に、
図5を用いて、情報処理装置100の機能的構成の一例について説明する。
【0050】
図5は、情報処理装置100の機能的構成の一例を示すブロック図である。情報処理装置100は、記憶部500と、取得部501と、第1学習部502と、更新部503と、第2学習部504と、出力部505とを含む。また、量子計算を実施可能な演算部510が存在する。演算部510は、情報処理装置100と通信可能である。
【0051】
記憶部500は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部500が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部500が、情報処理装置100とは異なる装置に含まれ、記憶部500の記憶内容が情報処理装置100から参照可能である場合があってもよい。
【0052】
取得部501~出力部505は、制御部の一例として機能する。取得部501~出力部505は、具体的には、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、
図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
【0053】
記憶部500は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部500は、例えば、学習済みモデルを記憶する。学習済みモデルは、入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する。学習済みモデルは、例えば、ニューラルネットワークである。
【0054】
学習済みモデルは、例えば、第1データセットを利用して学習される。第1データセットは、例えば、複数の種類のそれぞれの種類のデータを含む。第1データセットは、例えば、それぞれの種類のデータと、当該データの分類結果の正解とを対応付けて表す。学習済みモデルは、例えば、取得部501によって取得される。学習済みモデルは、例えば、第1データセットを利用して、第1学習部502によって学習されていてもよい。
【0055】
記憶部500は、例えば、データセットを記憶する。記憶部500は、具体的には、第1データセットを記憶する。第1データセットは、例えば、取得部501によって取得される。第1データセットは、例えば、予めユーザによって設定されていてもよい。
【0056】
記憶部500は、具体的には、量子回路を学習する際に利用される第2データセットを記憶する。量子回路は、データの分類結果を出力する機能を有する。第2データセットは、例えば、特定の種類のデータを含む。特定の種類は、例えば、複数の種類のいずれかの種類である。特定の種類は、例えば、複数の種類とは異なる種類であってもよい。第2データセットは、例えば、特定の種類のデータと、当該データの分類結果の正解とを対応付けて表す。第2データセットは、例えば、取得部501によって取得される。第2データセットは、例えば、予めユーザによって設定されていてもよい。
【0057】
記憶部500は、例えば、学習の雛型となる量子回路を記憶する。学習の雛型は、例えば、量子ビットを定義し、量子回路を形成する量子ゲートを定義し、量子ゲートに関するパラメータの初期値を含む。学習の雛型は、例えば、取得部501によって取得される。学習の雛型は、例えば、予めユーザによって設定されていてもよい。
【0058】
取得部501は、各機能部の処理に用いられる各種情報を取得する。取得部501は、取得した各種情報を、記憶部500に記憶し、または、各機能部に出力する。また、取得部501は、記憶部500に記憶しておいた各種情報を、各機能部に出力してもよい。取得部501は、例えば、ユーザの操作入力に基づき、各種情報を取得する。取得部501は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
【0059】
取得部501は、例えば、量子回路を学習することを要求する処理依頼を取得する。処理依頼は、例えば、第1データセットを含んでいてもよい。処理依頼は、例えば、学習済みモデルを含んでいてもよい。処理依頼は、例えば、第2データセットを含んでいてもよい。処理依頼は、例えば、学習の雛型となる量子回路を含んでいてもよい。取得部501は、具体的には、処理依頼を他のコンピュータから受信することにより、処理依頼を取得する。他のコンピュータは、例えば、クライアント装置202などである。取得部501は、具体的には、不図示の入力装置を介したユーザの操作入力に基づき、処理依頼の入力を受け付けることにより、処理依頼を取得してもよい。
【0060】
取得部501は、例えば、第1学習部502で学習済みモデルを生成する場合には、第1データセットを取得する。取得部501は、具体的には、第1データセットを処理依頼から抽出することにより、第1データセットを取得する。取得部501は、具体的には、第1データセットを他のコンピュータから受信することにより、第1データセットを取得してもよい。他のコンピュータは、例えば、クライアント装置202などである。取得部501は、具体的には、不図示の入力装置を介したユーザの操作入力に基づき、第1データセットの入力を受け付けることにより、第1データセットを取得してもよい。
【0061】
取得部501は、例えば、第1学習部502で学習済みモデルを生成しない場合には、学習済みモデルを取得する。取得部501は、具体的には、学習済みモデルを処理依頼から抽出することにより、学習済みモデルを取得する。取得部501は、具体的には、学習済みモデルを他のコンピュータから受信することにより、学習済みモデルを取得してもよい。他のコンピュータは、例えば、クライアント装置202などである。取得部501は、具体的には、不図示の入力装置を介したユーザの操作入力に基づき、学習済みモデルの入力を受け付けることにより、学習済みモデルを取得してもよい。
【0062】
取得部501は、例えば、第2データセットを取得する。取得部501は、具体的には、第2データセットを処理依頼から抽出することにより、第2データセットを取得する。取得部501は、具体的には、第2データセットを他のコンピュータから受信することにより、第2データセットを取得してもよい。他のコンピュータは、例えば、クライアント装置202などである。取得部501は、具体的には、不図示の入力装置を介したユーザの操作入力に基づき、第2データセットの入力を受け付けることにより、第2データセットを取得してもよい。
【0063】
取得部501は、例えば、学習の雛型となる量子回路を取得する。取得部501は、具体的には、量子回路を処理依頼から抽出することにより、量子回路を取得する。取得部501は、具体的には、量子回路を他のコンピュータから受信することにより、量子回路を取得してもよい。他のコンピュータは、例えば、クライアント装置202などである。取得部501は、具体的には、不図示の入力装置を介したユーザの操作入力に基づき、量子回路の入力を受け付けることにより、量子回路を取得してもよい。
【0064】
取得部501は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、ユーザによる所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。取得部501は、例えば、処理依頼を取得したことを、第1学習部502と、更新部503と、第2学習部504との処理を開始する開始トリガーとして受け付けてもよい。
【0065】
第1学習部502は、学習済みモデルを生成する。第1学習部502は、例えば、第1データセットに基づいて、複数の種類のそれぞれの種類のデータに応じて雛型となるモデルが出力する当該データの分類結果が正解に近付くよう、雛型となるモデルのパラメータを更新することにより、学習済みモデルを生成する。これにより、第1学習部502は、量子回路に付す特徴量抽出部の元となる学習済みモデルを用意することができる。
【0066】
更新部503は、特定の種類のデータの分類精度が向上するよう、第2データセットに基づいて、取得部501で取得した学習済みモデルを更新する。更新は、例えば、ファインチューニングである。更新部503は、例えば、第2データセットに基づいて、特定の種類のデータに応じて学習済みモデルが出力する当該データの分類結果が正解に近付くよう、学習済みモデルのパラメータを更新することにより、学習済みモデルをファインチューニングする。これにより、更新部503は、量子回路を学習する前に、量子回路に付す特徴量抽出部の元となる学習済みモデルを、第2データセットに合わせて一旦更新し、分類精度が比較的よい量子回路を学習し易くすることができる。
【0067】
更新部503は、例えば、処理依頼に応じて、演算部510を学習に利用するリクエストを、演算部510に送信してもよい。更新部503は、例えば、リクエストに応じて演算部510が学習に利用可能になる前に、特定の種類のデータの分類精度が向上するよう、第2データセットに基づいて、取得部501で取得した学習済みモデルを更新する処理を開始する。更新部503は、例えば、リクエストに応じて演算部510が学習に利用可能になるまでに、特定の種類のデータの分類精度が向上するよう、第2データセットに基づいて、取得部501で取得した学習済みモデルを更新する処理を繰り返し実行してもよい。これにより、更新部503は、リクエストに応じて演算部510が学習に利用可能になるまでの待ち時間を活用して、学習済みモデルを更新することができる。このため、更新部503は、量子回路を学習する際にかかる所要時間の増大を抑制することができる。
【0068】
第2学習部504は、第2データセットに基づいて、量子回路を学習するよう、演算部510を制御する。量子回路は、更新部503で更新した学習済みモデルによって入力されたデータから抽出される特徴量に応じて、当該データの分類結果を出力する機能を有する。第2学習部504は、例えば、演算部510が学習に利用可能になった後に、更新部503で更新した学習済みモデルの前半の層を、量子回路に付す特徴量抽出部に設定する。特徴量抽出部は、例えば、演算部510が学習に利用可能になった後に、更新部503で最後に更新した学習済みモデルの前半の層であることが好ましい。
【0069】
第2学習部504は、例えば、第2データセットに基づいて、設定した特徴量抽出部によって入力されたデータから抽出される特徴量に応じて、当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部510を制御する。これにより、第2学習部504は、分類精度が比較的よい量子回路を学習することができる。第2学習部504は、第1データセットと、第2データセットの関連性が比較的小さくても、分類精度が比較的よい量子回路を学習することができる。
【0070】
第2学習部504は、例えば、演算部510が学習に利用可能になった後に、更新部503で更新が完了していない場合には、元の学習済みモデルの前半の層を、量子回路に付す特徴量抽出部に設定してもよい。第2学習部504は、例えば、第2データセットに基づいて、設定した特徴量抽出部によって入力されたデータから抽出される特徴量に応じて、当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部510を制御する。これにより、第2学習部504は、更新の完了を待たずに、量子回路を学習することができ、量子回路を学習する際にかかる所要時間の増大を抑制することができる。
【0071】
出力部505は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部505は、少なくともいずれかの機能部の処理結果をユーザに通知可能にし、情報処理装置100の利便性の向上を図ることができる。
【0072】
出力部505は、例えば、第2学習部504で学習した量子回路を出力する。出力部505は、具体的には、量子回路を、他のコンピュータに送信する。他のコンピュータは、例えば、クライアント装置202などである。出力部505は、具体的には、量子回路を、ユーザが参照可能に出力してもよい。これにより、出力部505は、量子回路を、外部で利用可能にすることができる。
【0073】
ここでは、情報処理装置100が、第1学習部502と、更新部503と、第2学習部504とを含む場合について説明したが、これに限らない。例えば、情報処理装置100が、いずれかの機能部を含まない場合があってもよい。具体的には、情報処理装置100が、第1学習部502を含まない場合があってもよい。ここでは、情報処理装置100が、演算部510を含まない場合について説明したが、これに限らない。例えば、情報処理装置100が、演算部510を含む場合があってもよい。演算部510が、量子シミュレータである場合があってもよい。
【0074】
(情報処理システム200の機能的構成の具体例)
次に、
図6および
図7を用いて、情報処理システム200の機能的構成の具体例について説明する。
【0075】
図6および
図7は、情報処理システム200の機能的構成の具体例を示すブロック図である。情報処理システム200は、クラウドシステム600を含む。クラウドシステム600は、例えば、ファインチューニング実施部601と、ハイパーパラメータ最適化部602と、転移学習実施部603とを含む。ファインチューニング実施部601と、ハイパーパラメータ最適化部602とは、例えば、情報処理装置100によって実現される。転移学習実施部603は、例えば、計算装置201によって実現される。
【0076】
クライアント装置202は、不図示の入力装置を介したユーザの操作入力に基づき、転移学習ジョブ610を生成し、クラウドシステム600に送信する。転移学習ジョブ610は、入力データセット611と、学習済みモデル612と、量子回路モデル613とを含む。クラウドシステム600で、情報処理装置100は、転移学習ジョブ610を受信し、キュー604に投入する。キュー604は、FIFO(First in First out)である。キュー604は、計算装置201が有していてもよい。キュー604は、計算装置201を管理する不図示の管理装置が有していてもよい。計算装置201は、キュー604からジョブを順に取り出して、ジョブに対応する量子計算を実行する。
【0077】
ファインチューニング実施部601は、転移学習ジョブ610がキュー604に投入されたことに応じて、学習済みモデル612をファインチューニングする。ファインチューニング実施部601は、例えば、転移学習ジョブ610が実行可能になるまでの間に、ハイパーパラメータを参照して、入力データセット611に基づいて、学習済みモデル612を繰り返しファインチューニングする。ハイパーパラメータは、例えば、固定する層および更新する層を指定する値である。ハイパーパラメータは、例えば、学習率である。ハイパーパラメータは、例えば、エポック数である。ファインチューニング実施部601が、学習済みモデル612をファインチューニングする都度、ハイパーパラメータ最適化部602は、ハイパーパラメータを更新する。
【0078】
計算装置201は、キュー604から転移学習ジョブ610を取り出す。計算装置201が、キュー604から転移学習ジョブ610を取り出したことに応じて、転移学習実施部603は、ファインチューニングした学習済みモデル612の前半の層を、量子回路モデル613に付す特徴量抽出部に設定する。転移学習実施部603は、入力データセット611に基づいて、特徴量抽出部によってデータから抽出した特徴量に応じて当該データの分類結果を出力する機能を実現するよう、量子回路モデル613の変分パラメータを更新する。これにより、転移学習実施部603は、分類精度が比較的よい量子回路モデル613を学習することができる。次に、
図7の説明に移行する。
【0079】
図7に示す通り、ファインチューニング実施部601は、具体的には、入力データ保持部701と、再学習実施部702と、出力モデル保持部703とを含む。入力データ保持部701は、入力データセット611と、初期状態の学習済みモデル612とを保持する。再学習実施部702は、学習済みモデル612をファインチューニングする。出力モデル保持部703は、ファインチューニングした学習済みモデル612を保持する。
【0080】
ハイパーパラメータ最適化部602は、具体的には、グリッドサーチ実施部711と、ランダムサーチ実施部712と、ベイズ最適化実施部713とを含む。グリッドサーチ実施部711は、グリッドサーチによって、ハイパーパラメータを更新する。ランダムサーチ実施部712は、ランダムサーチによって、ハイパーパラメータを更新する。ベイズ最適化実施部713は、ベイズ最適化によって、ハイパーパラメータを更新する。
【0081】
ハイパーパラメータ最適化部602は、具体的には、グリッドサーチ実施部711と、ランダムサーチ実施部712と、ベイズ最適化実施部713との少なくともいずれかによって、ハイパーパラメータを更新する。ハイパーパラメータ最適化部602は、具体的には、グリッドサーチ実施部711と、ランダムサーチ実施部712と、ベイズ最適化実施部713とを順に選択し、選択した機能部によって、ハイパーパラメータを更新してもよい。ハイパーパラメータ最適化部602は、具体的には、グリッドサーチ実施部711と、ランダムサーチ実施部712と、ベイズ最適化実施部713とのうち、指定の機能部によって、ハイパーパラメータを更新してもよい。
【0082】
転移学習実施部603は、具体的には、入力データ保持部721と、量子回路学習部722と、変分パラメータ更新部723と、出力モデル保持部724とを含む。入力データ保持部721は、入力データセット611と、ファインチューニングした学習済みモデル612と、量子回路モデル613とを保持する。
【0083】
量子回路学習部722は、ファインチューニングした学習済みモデル612の前半の層を、量子回路モデル613に付す特徴量抽出部に設定する。量子回路学習部722は、入力データセット611に基づいて、特徴量抽出部によってデータから抽出した特徴量に対して、量子回路モデル613を実行し、量子状態を求める。変分パラメータ更新部723は、量子回路学習部722で求めた量子状態に基づいて、データの分類結果が正解に近付くよう、量子回路モデル613の変分パラメータを更新することにより、量子回路モデル613を更新する。出力モデル保持部724は、更新した量子回路モデル613を保持する。これにより、転移学習実施部603は、分類精度が比較的よい量子回路モデル613を学習することができる。
【0084】
(情報処理システム200の動作の一例)
次に、
図8~
図10を用いて、情報処理システム200の動作の一例について説明する。
【0085】
図8~
図10は、情報処理システム200の動作の一例を示す説明図である。
図8において、大規模汎用データセットA801に基づいて学習された事前学習済みモデル810が存在する。事前学習済みモデル810は、1000ラベルのうち、入力されたデータの分類結果となるいずれかのラベルを出力する機能を有する。事前学習済みモデル810は、例えば、1000ラベルでデータを分類するタスクA830を解決する。事前学習済みモデル810は、例えば、ResNetなどである。大規模汎用データセットA801は、画像を表すデータと、当該データの分類結果の正解として、1000ラベルのいずれかのラベルとを対応付けて表す。
【0086】
ここで、事前学習済みモデル810を活用して、特定データセットB802に基づいて、特定データの分類精度が比較的よい量子回路モデルを学習することが望まれる場合がある。例えば、情報処理装置100が、量子回路モデルを学習する転移学習ジョブを、クライアント装置202から受信することにより受け付ける場合が考えられる。量子回路モデルは、2ラベルのうち、入力されたデータの分類結果となるいずれかのラベルを出力する機能を実現することが望まれる。量子回路モデルは、例えば、2ラベルでデータを分類するタスクB840を解決する。
【0087】
量子回路モデルは、例えば、CNN(Convolutional Neural Network)821と、量子状態埋込部822と、推論部823と、CNN824とを含む。CNN821は、N次元の特徴量をM次元の量子状態に変換する。量子状態埋込部822と、推論部823とは、M次元の量子状態を取り扱う。CNN824は、M次元の量子状態をL次元の特徴量に変換する。特定データセットB802は、特定の画像を表すデータと、当該データの分類結果の正解として、2ラベルのいずれかのラベルとを対応付けて表す。ここで、
図9の説明に移行する。
【0088】
図9に示す通り、情報処理装置100は、受信した転移学習ジョブを、キューに投入する。ファインチューニング実施部601は、転移学習ジョブがキューに投入されたことに応じて、転移学習ジョブが実行可能になるまでの間に、事前学習済みモデル810をファインチューニングする。
図8の説明に戻り、ファインチューニング実施部601は、例えば、ハイパーパラメータを参照して、特定データセットB802に基づいて、事前学習済みモデル810を繰り返しファインチューニングする。ファインチューニング実施部601が、事前学習済みモデル810をファインチューニングする都度、ハイパーパラメータ最適化部602は、ハイパーパラメータを更新する。これにより、ファインチューニング実施部601は、量子回路モデルに付す特徴量抽出部812の元となる事前学習済みモデル810を、特定データセットB802に合わせて更新することができる。再び、
図9の説明に移行する。
【0089】
図9に示す通り、転移学習ジョブが実行可能になると、転移学習実施部603は、ファインチューニングした事前学習済みモデル811を活用して、量子回路モデルを学習する。学習は、例えば、量子回路モデルの推論部823の変分パラメータの更新に対応する。ここで、
図10を用いて、量子回路モデルの推論部823の一例について説明する。
【0090】
図10に示す通り、推論部823は、例えば、量子ビットq
0,q
1,q
2,q
3に関する量子回路である。推論部823は、例えば、アダマールゲート1001を含む。推論部823は、例えば、回転ゲート1002を含む。推論部823は、例えば、CNOT(Controlled NOT)ゲート1003を含む。推論部823は、例えば、回転ゲート1004を含む。推論部823は、例えば、CNOTゲート1005を含む。推論部823は、例えば、回転ゲート1006を含む。推論部823は、例えば、量子状態を測定して古典ビットc
4に複製する測定部1007を含む。変分パラメータは、例えば、回転ゲート1002,1004,1006の回転角などである。
【0091】
図8の説明に戻り、転移学習実施部603は、ファインチューニングした事前学習済みモデル811の前半の層を、量子回路モデルに付す特徴量抽出部812に設定する。転移学習実施部603は、特定データセットB802に基づいて、特徴量抽出部812によってデータから抽出した特徴量に応じて当該データの分類結果を出力する機能を実現するよう、推論部823の変分パラメータを更新する。
【0092】
これにより、転移学習実施部603は、大規模汎用データセットA801と、特定データセットB802の関連性が比較的小さくても、分類精度が比較的よい量子回路モデルを学習することができる。転移学習実施部603は、例えば、事前学習済みモデル811を、特定データセットB802に合わせて一旦更新してから、事前学習済みモデル811を活用して、量子回路モデルの推論部823を学習することができる。
【0093】
また、情報処理装置100は、量子回路モデルが有するユニタリ性により、過学習を防止し易くすることができ、汎化性能を向上することができる。また、情報処理装置100は、指数関数的な数の基底関数により、データセットを説明する表現力を向上することができる。また、情報処理装置100は、転移学習ジョブが実行可能になるまでの待ち時間を活用して、事前学習済みモデル811をファインチューニングすることができ、量子回路モデルを学習する際にかかる所要時間の増大を抑制することができる。
【0094】
また、転移学習実施部603は、転移学習ジョブが実行可能になるまでに、事前学習済みモデル811をファインチューニングし終えていない場合、元の事前学習済みモデル811の前半の層を、量子回路モデルに付す特徴量抽出部812に設定してもよい。これにより、転移学習実施部603は、量子回路モデルを学習する際にかかる所要時間の増大を抑制することができる。
【0095】
(全体処理手順)
次に、
図11を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0096】
図11は、全体処理手順の一例を示すフローチャートである。
図11において、情報処理装置100は、量子回路を学習するジョブを受け付ける(ステップS1101)。情報処理装置100は、量子回路を学習するジョブを、キューに投入する(ステップS1102)。
【0097】
情報処理装置100は、
図12に後述する更新処理を実行することにより、学習済みモデルをファインチューニングする(ステップS1103)。情報処理装置100は、ファインチューニングした学習済みモデルを、量子回路に付す特徴量抽出部に設定する(ステップS1104)。
【0098】
情報処理装置100は、特定のデータセットに基づいて、特徴量抽出部を付した量子回路を学習するよう、計算装置201を制御する(ステップS1105)。情報処理装置100は、学習した量子回路を出力する(ステップS1106)。情報処理装置100は、全体処理を終了する。
【0099】
(更新処理手順)
次に、
図12を用いて、情報処理装置100が実行する、更新処理手順の一例について説明する。更新処理は、例えば、
図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
【0100】
図12は、更新処理手順の一例を示すフローチャートである。
図12において、情報処理装置100は、ファインチューニングの複数のハイパーパラメータの指定を受け付ける(ステップS1201)。情報処理装置100は、複数のハイパーパラメータのそれぞれのハイパーパラメータに対する複数の候補値の指定を受け付ける(ステップS1202)。
【0101】
情報処理装置100は、複数のハイパーパラメータの探索手法の指定を受け付ける(ステップS1203)。情報処理装置100は、それぞれのハイパーパラメータに対する候補値を参照して、特定のデータセットに基づいて、学習済みモデルをファインチューニングする(ステップS1204)。
【0102】
情報処理装置100は、キューに先行する他のジョブが残っているか否かを判定する(ステップS1205)。ここで、他のジョブが残っている場合(ステップS1205:Yes)、情報処理装置100は、指定の探索手法で、ファインチューニングの複数のハイパーパラメータをアップデートし(ステップS1206)、ステップS1204の処理に戻る。一方で、他のジョブが残っていない場合(ステップS1205:No)、情報処理装置100は、更新処理を終了する。
【0103】
以上説明したように、情報処理装置100によれば、入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する学習済みモデルを取得することができる。情報処理装置100によれば、特定の種類のデータの分類精度が向上するよう、特定の種類のデータを含むデータセットに基づいて、取得した学習済みモデルを更新することができる。情報処理装置100によれば、データセットに基づいて、更新した学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御することができる。これにより、情報処理装置100は、分類精度が比較的よい量子回路を学習することができる。
【0104】
情報処理装置100によれば、演算部を学習に利用するリクエストを、演算部に送信することができる。情報処理装置100によれば、更新する処理を、リクエストに応じて演算部が学習に利用可能になる前に開始することができる。これにより、情報処理装置100は、リクエストに応じて演算部が学習に利用可能になるまでの待ち時間を活用して、量子回路を学習する際にかかる所要時間の増大を抑制することができる。
【0105】
情報処理装置100によれば、更新する処理を、リクエストに応じて演算部が学習に利用可能になるまでに繰り返し実行することができる。情報処理装置100によれば、演算部が学習に利用可能になった後に、最後に更新した学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御することができる。これにより、情報処理装置100は、リクエストに応じて演算部が学習に利用可能になるまでの待ち時間を活用して、量子回路を学習する際にかかる所要時間の増大を抑制することができる。情報処理装置100は、リクエストに応じて演算部が学習に利用可能になるまで、学習済みモデルをより適切な状態に更新することができる。
【0106】
情報処理装置100によれば、学習した量子回路を出力することができる。これにより、情報処理装置100は、分類精度が比較的よい量子回路を外部で利用可能にすることができる。
【0107】
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
【0108】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0109】
(付記1)入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する学習済みモデルを取得し、
特定の種類のデータの分類精度が向上するよう、前記特定の種類のデータを含むデータセットに基づいて、取得した前記学習済みモデルを更新し、
前記データセットに基づいて、更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
【0110】
(付記2)前記演算部を前記学習に利用するリクエストを、前記演算部に送信する、
処理を前記コンピュータに実行させ、
前記更新する処理は、前記リクエストに応じて前記演算部が前記学習に利用可能になる前に開始される、ことを特徴とする付記1に記載の情報処理プログラム。
【0111】
(付記3)前記更新する処理は、前記リクエストに応じて前記演算部が前記学習に利用可能になるまでに繰り返し実行され、
前記制御する処理は、
前記演算部が前記学習に利用可能になった後に、前記データセットに基づいて、最後に更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、前記演算部を制御する、ことを特徴とする付記2に記載の情報処理プログラム。
【0112】
(付記4)学習した前記量子回路を出力する、
処理を前記コンピュータに実行させることを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
【0113】
(付記5)入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する学習済みモデルを取得し、
特定の種類のデータの分類精度が向上するよう、前記特定の種類のデータを含むデータセットに基づいて、取得した前記学習済みモデルを更新し、
前記データセットに基づいて、更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御する、
処理をコンピュータが実行することを特徴とする情報処理方法。
【0114】
(付記6)入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する学習済みモデルを取得し、
特定の種類のデータの分類精度が向上するよう、前記特定の種類のデータを含むデータセットに基づいて、取得した前記学習済みモデルを更新し、
前記データセットに基づいて、更新した前記学習済みモデルによって入力されたデータから抽出される特徴量に応じて当該データの分類結果を出力する機能を有する量子回路を学習するよう、演算部を制御する、
制御部を有することを特徴とする情報処理装置。
【符号の説明】
【0115】
100 情報処理装置
101 第1データセット
102 第2データセット
110,111,612 学習済みモデル
120 量子回路
130,510 演算部
200 情報処理システム
201 計算装置
202 クライアント装置
210 ネットワーク
300,400 バス
301,401 CPU
302,402 メモリ
303,403 ネットワークI/F
304,404 記録媒体I/F
305,405 記録媒体
406 演算筐体I/F
407 演算筐体
500 記憶部
501 取得部
502 第1学習部
503 更新部
504 第2学習部
505 出力部
600 クラウドシステム
601 ファインチューニング実施部
602 ハイパーパラメータ最適化部
603 転移学習実施部
610 転移学習ジョブ
611 入力データセット
613 量子回路モデル
701,721 入力データ保持部
702 再学習実施部
703,724 出力モデル保持部
711 グリッドサーチ実施部
712 ランダムサーチ実施部
713 ベイズ最適化実施部
722 量子回路学習部
723 変分パラメータ更新部
801 大規模汎用データセットA
802 特定データセットB
810,811 事前学習済みモデル
112,812 特徴量抽出部
821,824 CNN
822 量子状態埋込部
823 推論部
830 タスクA
840 タスクB
1001 アダマールゲート
1002,1004,1006 回転ゲート
1003 ゲート
1005 CNOTゲート
1007 測定部