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

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

▶ 富士通株式会社の特許一覧

特開2024-49515サンプリングプログラム、サンプリング方法、および情報処理装置
<>
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図1
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図2
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図3
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図4
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図5
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図6
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図7
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図8
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図9
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図10
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図11
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図12
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図13
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図14
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図15
  • 特開-サンプリングプログラム、サンプリング方法、および情報処理装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024049515
(43)【公開日】2024-04-10
(54)【発明の名称】サンプリングプログラム、サンプリング方法、および情報処理装置
(51)【国際特許分類】
   G06N 20/10 20190101AFI20240403BHJP
【FI】
G06N20/10
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022155772
(22)【出願日】2022-09-29
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】市川 佑馬
(57)【要約】
【課題】互いに独立と見なせる有効なサンプルの生成効率を向上させる。
【解決手段】情報処理装置10は、データ空間と同じ確率分布の等長空間に所定の変換規則で変換可能な潜在空間を有する機械学習モデル1を用いて、潜在空間内の第1のデータ4をデータ空間内の第2のデータ5に変換する。次に情報処理装置10は、データ空間内の採択済みの第1のサンプル6からのマルコフ連鎖モンテカルロ法における遷移先として第2のデータ5を採択するか否かを、変換規則に基づく採択確率で判断する。そして情報処理装置10は、採択すると判断した場合、第2のデータ5を、第1のサンプル6からの遷移先の第2のサンプル7として出力する。
【選択図】図1
【特許請求の範囲】
【請求項1】
データ空間と同じ確率分布の等長空間に所定の変換規則で変換可能な潜在空間を有する機械学習モデルを用いて、前記潜在空間内の第1のデータを前記データ空間内の第2のデータに変換し、
前記データ空間内の採択済みの第1のサンプルからのマルコフ連鎖モンテカルロ法における遷移先として前記第2のデータを採択するか否かを、前記変換規則に基づく採択確率で判断し、
採択すると判断した場合、前記第2のデータを、前記第1のサンプルからの遷移先の第2のサンプルとして出力する、
処理をコンピュータに実行させるサンプリングプログラム。
【請求項2】
前記第2のデータに変換する処理では、前記機械学習モデルとしてVAE(Variational AutoEncoder)を用い、前記VAEのデコーダによって前記第1のデータをデコードすることで前記第2のデータに変換する、
請求項1記載のサンプリングプログラム。
【請求項3】
前記第2のデータを採択するか否かを判断する処理では、
前記VAEのエンコーダによって前記第1のサンプルをエンコードして第1の平均値と第1の分散値と第1の計量テンソルを計算し、
前記VAEの前記エンコーダによって前記第2のデータをエンコードして第2の平均値と第2の分散値と第2の計量テンソルを計算し、
第1の平均値、第1の分散値、第1の計量テンソル、第2の平均値、第2の分散値、および第2の計量テンソルに基づいて、前記採択確率を計算する、
請求項2記載のサンプリングプログラム。
【請求項4】
前記第2のサンプルを用いて前記機械学習モデルの学習を実行する、
処理をコンピュータにさらに実行させる請求項1から3までのいずれかに記載のサンプリングプログラム。
【請求項5】
前記第2のデータに変換する処理、前記第2のデータを採択するか否かを判断する処理、および前記第2のデータを前記第2のサンプルとして採択する処理を含むサンプリング処理を、複数のプロセッサそれぞれで並列実行し、
前記複数のプロセッサそれぞれで採択した前記第2のサンプルを用いて前記機械学習モデルの学習を実行する、
処理をコンピュータにさらに実行させる請求項1から3までのいずれかに記載のサンプリングプログラム。
【請求項6】
データ空間と同じ確率分布の等長空間に所定の変換規則で変換可能な潜在空間を有する機械学習モデルを用いて、前記潜在空間内の第1のデータを前記データ空間内の第2のデータに変換し、
前記データ空間内の採択済みの第1のサンプルからのマルコフ連鎖モンテカルロ法における遷移先として前記第2のデータを採択するか否かを、前記変換規則に基づく採択確率で判断し、
採択すると判断した場合、前記第2のデータを、前記第1のサンプルからの遷移先の第2のサンプルとして出力する、
処理をコンピュータが実行するサンプリング方法。
【請求項7】
データ空間と同じ確率分布の等長空間に所定の変換規則で変換可能な潜在空間を有する機械学習モデルを用いて、前記潜在空間内の第1のデータを前記データ空間内の第2のデータに変換し、前記データ空間内の採択済みの第1のサンプルからのマルコフ連鎖モンテカルロ法における遷移先として前記第2のデータを採択するか否かを、前記変換規則に基づく採択確率で判断し、採択すると判断した場合、前記第2のデータを、前記第1のサンプルからの遷移先の第2のサンプルとして出力する処理部、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サンプリングプログラム、サンプリング方法、および情報処理装置に関する。
【背景技術】
【0002】
コンピュータによるサンプリングによって、数式で明示的に与えられた確率分布p(x)から、具体的なサンプルを得ることができる。サンプリングの手法の一つにマルコフ連鎖モンテカルロ法(MCMC:Markov chain Monte Carlo method)がある。MCMCは、マルコフ連鎖を用いて、確率分布からサンプリングを行う手法である。
【0003】
近年、MCMCはベイズ統計を中心に広い範囲の統計の問題に応用されている。例えば物理学で現れる多体問題は、一般的に解析的な計算が不可能となることが多い。その場合、物理系の状態をMCMCでサンプリングすることで、多体問題の性質を調べることができる。また、近年注目されている量子計算のシミュレーションにおいてもMCMCが使用されている。NP(Non-deterministic Polynomial time)困難な最適化問題の解探索にもMCMCを有効に利用することができる。
【0004】
さらにデータ解析に対するベイズ統計にもMCMCが利用できる。例えば実験により得られたデータをある有効モデルに当てはめる場合、ベイズ推定では事後分布からサンプリングを行うこととなる。この際のサンプリングにMCMCを用いることができる。
【0005】
MCMCによるサンプリングでは、直前のサンプルの状態とはできるだけ異なる状態に遷移させることが望まれる。互いに独立と見なせる有効なサンプルをMCMCで生成するための技術として、例えばメトロポリス法の提案確率分布に適当な変分モデルを用いる方法がある。変分モデルは前の状態を参照しておらず、大局的な遷移が可能となる。大局的な遷移により、互いに独立と見なせる有効なサンプル生成の効率が向上する。変分モデルとしては機械学習モデルを用いることができ、このようなサンプリング方法は、自己学習モンテカルロ法(SLMC:Self-Learning Monte Carlo method)と呼ばれる。
【0006】
SLMCにおける変分モデルとしては、例えば潜在空間を持つ機械学習モデルが利用される。潜在空間を持つ機械学習モデルを用いたSLMCには、制限ボルツマンマシン(RBM:Restricted Boltzmann Machine)を用いた手法、Flow型モデルを用いた手法、VAE(Variational AutoEncoder)を用いた手法がある。
【0007】
なお、VAEについては特性の定量的理解が進められている。例えばVAEについて、等長埋め込みにマッピングできることが明らかにされている。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Akira Nakagawa, Keizo Kato, Taiji Suzuki, "Quantitative Understanding of VAE as a Non-linearly Scaled Isometric Embedding", Proceedings of the 38th International Conference on Machine Learning, PMLR 139:7916-7926, 8-24 July 2021
【発明の概要】
【発明が解決しようとする課題】
【0009】
潜在空間を持つ機械学習モデルを用いた従来のSLMCでは、互いに独立と見なせる有効なサンプルの生成効率が十分ではない。例えばRBMを用いた手法は、確率分布の提案にMCMCを行うこととなり、処理量が大きい。Flow型モデルを用いた手法では、確率分布の提案コストは小さいが、使用するモデルに強い制約が課され、汎用性が低い。VAEを用いた手法は、確率分布の提案コストは小さいが、尤度関数を近似評価しており、近似が妥当でない場合がある。近似が妥当でないと採択確率が低くなり、サンプルの生成効率の悪化要因となる。
【0010】
1つの側面では、本件は、互いに独立と見なせる有効なサンプルの生成効率を向上させることを目的とする。
【課題を解決するための手段】
【0011】
1つの案では、以下の処理をコンピュータに実行させるエラー検知プログラムが提供される。
コンピュータは、データ空間と同じ確率分布の等長空間に所定の変換規則で変換可能な潜在空間を有する機械学習モデルを用いて、潜在空間内の第1のデータをデータ空間内の第2のデータに変換する。次にコンピュータは、データ空間内の採択済みの第1のサンプルからのマルコフ連鎖モンテカルロ法における遷移先として第2のデータを採択するか否かを、変換規則に基づく採択確率で判断する。そしてコンピュータは、採択すると判断した場合、第2のデータを、第1のサンプルからの遷移先の第2のサンプルとして出力する。
【発明の効果】
【0012】
1態様によれば、互いに独立と見なせる有効なサンプルの生成効率を向上させることができる。
【図面の簡単な説明】
【0013】
図1】第1の実施の形態に係るサンプリング方法の一例を示す図である。
図2】コンピュータのハードウェアの一例を示す図である。
図3】静的なモンテカルロ法とMCMCとの違いを示す図である。
図4】MCMCによるサンプリングの効率の違いを説明する図である。
図5】状態間の遷移確率を示す図である。
図6】局所的な提案分布の一例を示す図である。
図7】不適切なサンプリングの一例を示す図である。
図8】SLMCによるサンプリングの一例を示す図である。
図9】VAEによるサンプル生成の一例を示す図である。
図10】IVAE-SLMCによるサンプリングのためのコンピュータの機能の一例を示すブロック図である。
図11】サンプル生成処理の一例を示すフローチャートである。
図12】IVAE-SLMCによるサンプリング処理の手順の一例を示すフローチャートである。
図13】第3の実施の形態におけるサンプル生成処理の一例を示すフローチャートである。
図14】IVAE-SLMCの並列実行の一例を示す図である。
図15】第5の実施の形態に係るコンピュータの機能の一例を示すブロック図である。
図16】低次元圧縮処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
第1の実施の形態は、互いに独立と見なせる有効なサンプルの生成効率を向上させることが可能なサンプリング方法である。
【0015】
図1は、第1の実施の形態に係るサンプリング方法の一例を示す図である。図1には、第1の実施の形態に係るサンプリング方法を、情報処理装置10を用いて実施した場合の例を示している。情報処理装置10は、例えばサンプリングプログラムを実行することにより、サンプリング方法を実施することができる。
【0016】
情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサまたは演算回路である。
【0017】
記憶部11は、データ空間と同じ確率分布の等長空間に所定の変換規則で変換可能な潜在空間を有する機械学習モデル1を記憶する。
機械学習モデル1は、例えばVAEである。VAEは、エンコーダ2とデコーダ3とを有する。エンコーダ2は、データ空間内のデータが入力されると、潜在空間におけるデータの平均と分散(または標準偏差)を出力するニューラルネットワークである。デコーダ3は、潜在空間におけるデータが入力されると、データ空間におけるデータを出力するニューラルネットワークである。
【0018】
変換規則は、例えば非線形のマッピングである。機械学習モデル1がVAEであれば、非線形のマッピングは、次元ごとに異なる値でのスケーリング(拡大・縮小)となる。データ空間は、機械学習モデル1への入力データを定義する空間である。潜在空間は、機械学習モデル1内で生成するデータを定義する空間である。
【0019】
処理部12は、機械学習モデル1を用いて、MCMCによるサンプリングを行う。例えば処理部12は、機械学習モデル1を用いて、潜在空間内の第1のデータ4をデータ空間内の第2のデータ5に変換する。例えば処理部12は、VAEのデコーダ3によって第1のデータ4をデコードし、第2のデータ5を生成する。
【0020】
次に処理部12は、データ空間内の採択済みの第1のサンプル6からのマルコフ連鎖モンテカルロ法における遷移先として第2のデータ5を採択するか否かを、変換規則に基づく採択確率で確率的に判断する。例えば処理部12は、VAEのエンコーダ2によって第1のサンプル6をエンコードして第1の平均値と第1の分散値と第1の計量テンソルを計算する。また処理部12は、VAEのエンコーダ2によって第2のデータ5をエンコードして第2の平均値と第2の分散値と第2の計量テンソルを計算する。そして処理部12は、第1の平均値、第1の分散値、第1の計量テンソル、第2の平均値、第2の分散値、および第2の計量テンソルに基づいて、採択確率を計算する。
【0021】
処理部12は、採択すると判断した場合、第2のデータ5を、第1のサンプル6からの遷移先の第2のサンプル7として出力する。そして処理部12は、第1のサンプル6を第2のサンプル7に置き換えて、同様の処理を繰り返すことで、MCMCに基づくサンプリングを行うことができる。
【0022】
このようにしてサンプリングを行うことで、既にサンプルに採択済みのデータから独立と見なせる有効なデータを、第2のデータ5として効率的に生成することができ、かつ第2のデータ5を高い採択確率で第2のサンプル7として採択することができる。その結果、互いに独立と見なせる有効なサンプルの生成効率が向上する。
【0023】
出力された第2のサンプル7を、機械学習モデル1の学習に使用することができる。例えば処理部12は、出力された第2のサンプル7の数がある程度たまった場合、出力された第2のサンプル7を用いて機械学習モデル1の学習を行う。これにより、機械学習モデル1の精度を向上させることができる。
【0024】
また処理部12は、第2のデータ5に変換する処理、第2のデータ5を採択するか否かを確率的に判断する処理、および第2のデータ5を第2のサンプル7に決定する処理を含むサンプリング処理を、複数のプロセッサそれぞれで並列実行することもできる。その場合、処理部12は、複数のプロセッサそれぞれで決定した第2のサンプル7を用いて機械学習モデル1の学習を実行する。これにより、VAEの精度が向上し、互いに独立と見なせる有効なサンプルの生成効率が向上する。
【0025】
〔第2の実施の形態〕
第2の実施の形態は、生成モデルの1つであるVAEが潜在的に等長性を有することを利用し、高速かつ複雑な分布に適用可能なSLMCを実現するコンピュータである。ここで、潜在的に等長性を有するとは、入力データを表すデータ空間と同じ確率分布の等長空間に所定の変換規則で変換可能な潜在空間を有することである。
【0026】
図2は、コンピュータのハードウェアの一例を示す図である。コンピュータ100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0027】
メモリ102は、コンピュータ100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0028】
バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0029】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータ100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0030】
GPU104は画像処理を行う演算装置であり、グラフィックコントローラとも呼ばれる。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0031】
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0032】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
【0033】
機器接続インタフェース107は、コンピュータ100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
【0034】
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
【0035】
コンピュータ100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した装置も、図2に示したコンピュータ100と同様のハードウェアにより実現することができる。
【0036】
コンピュータ100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。コンピュータ100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、コンピュータ100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またコンピュータ100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0037】
コンピュータ100は、VAEが潜在的に等長性を有するという性質を有効に利用することで、VAEを用いたSLMCによるサンプル生成を効率的に行う。以下、VAEが潜在的に等長性を有するという性質を利用して、VAEを用いたSLMCを行うサンプリング技術をIVAE-SLMCと呼ぶこととする。それに対して、VAEが潜在的に等長性を有するという性質を利用せずに、VAEを用いたSLMCを行うサンプリング技術を、VAE-SLMCと呼ぶこととする。
【0038】
以下、VAE-SLMCにおいて効率的なサンプリングが困難である理由について説明する。
VAE-SLMCはMCMCの一形態である。またMCMCは、モンテカルロ法の一種である。モンテカルロ法は、確率分布p(x)からサンプリングを行う方法の総称である。広義では、数値計算を、乱数を用いて行う手法の総称である。マルコフ連鎖(現在の状態が直前の状態のみに依存する確率過程)を用いずに確率分布p(x)からサンプリングを行うモンテカルロ法は、静的なモンテカルロ法と呼ぶことができる。
【0039】
図3は、静的なモンテカルロ法とMCMCとの違いを示す図である。図3では、確率分布p(x)が曲線31で示されている。静的なモンテカルロ法では、確率分布p(x)に従って複数のサンプル32がランダムに生成される。確率分布p(x)に従うことで、確率が高いサンプルほど多く生成される。MCMC(マルコフ連鎖モンテカルロ法)では、現在の状態(サンプル)が直前の状態(サンプル)のみに依存する確率過程により、複数のサンプル33が生成される。
【0040】
MCMCにおいても、確率分布p(x)における確率が高いサンプルほど多く生成されるが、マルコフ連鎖によって順番に生成されてる点が、静的なモンテカルロ法と異なっている。静的なモンテカルロ法は、高次元確率分布のサンプリングは困難であるが、MCMCであれば、高次元確率分布のサンプリングも可能となる。
【0041】
MCMCにおいてサンプリングを効率的に行うには、直前の状態とはできるだけ異なる状態に遷移させることが望まれる。
図4は、MCMCによるサンプリングの効率の違いを説明する図である。サンプリングの効率化には、直前の状態とはできるだけ異なる状態に遷移できることが重要となる。直前の状態と異なる状態に遷移できない場合(非効率な例)では、サンプル列34において、各サンプル間の距離が近く、独立と見なせないサンプルが多数生成されている。他方、直前の状態とはできるだけ異なる状態に遷移させた場合(効率的な例)では、サンプル列35の自己相関が小さくなり、独立と見なせる有効なサンプル数が増加する。MCMCにおいて効率的なサンプリングを行うことで、現実的な時間で確率変数の空間のすべてに状態を遷移させることが可能となる。
【0042】
他方、目的の確率分布に収束するマルコフ連鎖は、ある状態Xから他の状態X’への遷移確率w(X’|X)が以下の2つの必要条件を満たすことが求められる。
1.つりあい条件:∫p(x)w(x’|x)dx=p(x’)
2.エルゴード条件:任意の2つの状態x,x’間の遷移確率が0でなく、有限個の0でない遷移確率の積で表される。
【0043】
これらの必要条件のうちのつりあい条件を満たすマルコフ連鎖の構成は一般的に困難である。そこで、より強い条件である詳細つりあい条件により遷移確率が構成される。
図5は、状態間の遷移確率を示す図である。詳細つりあい条件では、状態Xから状態X’への遷移確率w(X’|X)と、逆に状態X’から状態Xへの遷移確率w(X|X’)とが用いられる。これらの遷移確率の間に以下の関係を有することが詳細つりあい条件である。
詳細つりあい条件:p(x)w(x’|x)=p(x’)w(x|x’)
このような詳細つりあい条件を満たす更新則としては、メトロポリス法、ギブスサンプリング法、ハイブリッドモンテカルロ法(HMC:Hybrid Monte Carlo method)などがある。例えばメトロポリス法では、遷移を以下の2ステップで行う。
[第1のステップ]ある提案確率分布g(x’|x)に従いx’を生成
[第2のステップ]以下の受理確率A(x’、x)でx’を次の状態として採択する。
【0044】
【数1】
【0045】
このような遷移は詳細つりあい条件を満たしている。典型的には、提案確率分布g(x’|x)としては局所的な提案分布が利用される。
図6は、局所的な提案分布の一例を示す図である。例えば状態xが0または1の2値を取ることができる複数の要素を含むベクトルの場合、提案確率分布g(x’|x)に従い、ランダムにxの次元(要素)を選び、その値が反転される。その結果、状態x’が生成される。
【0046】
生成された状態x’は、受理確率A(x’、x)に従って、採択するか否かが決定される。採択すると決定された場合、状態がx’に遷移する。棄却すると決定された場合、状態がxのまま維持される。
【0047】
このように、メトロポリス法では前の状態xを参照して次の状態x’が生成される。ギブスサンプリングやHMCもメトロポリス法と同様、前の状態が遷移に利用される。これらの詳細つりあい条件を満たす更新則には、以下の課題がある。
【0048】
まず、特定の問題(例えば多峰的な分布)に対して、ある状態への遷移確率が小さくなり、実質的に遷移が行われず間違えた結果を導くことがある。また特定の問題(例えば相転移点近傍)に対して、確率変数の空間の中である局所的な空間に留まり続け、初期条件に強く依存し、適切なサンプリングが不可能となる。
【0049】
図7は、不適切なサンプリングの一例を示す図である。図7には、2次元2成分ガウス分布に対してメトロポリス法を実行して得られたサンプル列43を示している。図7の例では、多峰的な分布であり、確率分布で発生しうる状態を示す点は、2つのクラスタを構成している。サンプル列43は一方のクラスタ内でのみ遷移し、他方のクラスタには遷移できていない。
【0050】
そこで大局的な遷移が可能な変分モデルを機械学習によって生成するSLMCが提案されている。
図8は、SLMCによるサンプリングの一例を示す図である。機械学習によって生成された変分モデルp(pは^付き)は、状態xが入力されるとサンプルとして状態x’を出力する。そして採択確率A(x’,x)に従って、採択(x’に遷移)か棄却(xを維持)かが判断される。
【0051】
例えばメトロポリス法の提案確率分布に適当な変分モデルp(x)(pは^付き)を用いると、採択確率は以下の式で表される。
【0052】
【数2】
【0053】
式(2)では、仮にp=p(右辺のpは^付き)の場合、採択確率は1となる。また、前の状態を参照しないため大域的な遷移が可能である。さらに変分モデルの良し悪しを採択確率から定量的に評価可能である。
【0054】
変分モデルとして潜在表現を学習する機械学習モデル(制限ボルツマンマシン、Flow型のモデル、VAEなど)を利用することで、確率分布の特徴を学習することによる効率的な遷移が可能となる。これは、良い潜在空間の獲得が効率化につながることを示している。
【0055】
変分モデルとして潜在表現を学習する機械学習モデルを用いたSLMCのうち、VAEを用いた手法であれば、確率分布の提案コストが小さく、使用するモデルに強い制約が課されることもない。
【0056】
図9は、VAEによるサンプル生成の一例を示す図である。VAE50を利用する場合、学習データ{xμp μ=1を用いてエンコーダ(Encoder)51のパラメータθとデコーダ(Decoder)52のパラメータφが学習される。これにより、データの確率分布p(x)が模倣される。
【0057】
そしてVAE50では、確率分布p(x)に従った状態x(x~p(x))が入力されると、エンコーダ51により、その状態xに応じた平均μ(x:φ)と分散σ(x:φ)が出力される。そして、エンコーダ51が出力した平均μ(x:φ)と分散σ(x:φ)によって特定される確率分布q(z|x;φ)に従い、状態z(z~q(x;φ)が生成される。生成された状態zがデコーダ52に入力され、デコーダ52の確率分布p(x;θ)(xは^付き)に従いx(^付き)が生成される。
【0058】
生成されたx(^付き)が、尤度関数を用いて定義される採択確率で、採択するか否かが判断される。ただし、VAEを用いた手法では、尤度関数を以下の式で近似評価している。
【0059】
【数3】
【0060】
仮に生成モデルと一致する変分モデルが得られても、以下の式(4)の近似が妥当でない場合、採択確率は低い。
【0061】
【数4】
【0062】
典型的にデータが複雑かつ高次元の場合、式(4)を満たすのは困難である。このように、VAEを用いた手法であっても、近似が妥当でない場合に採択確率が低くなり、サンプルの生成効率が悪化するという問題が残る。しかも式(4)の近似の妥当性を定量的に評価するのは困難である。
【0063】
一方、VAEの潜在空間は、等長性を有する埋め込み(等長埋め込み)となる等長空間に、非線形なマッピングにより変換できることが分かっている。埋め込みとは、多様体Aから多様体B(共にリーマン多様体)への滑らかな単射(マッピング)である。等長性とは、埋め込み後に、両多様体の対応点において、点周辺の多様体上の二つの微小変異(正確には接ベクトル)の内積を保存することである。
【0064】
このような等長埋め込みでは、多様体Aの2つのデータ間の距離と、それらのデータを単射した多様体Bの2つのデータ間の距離とが等しくなる。また、等長埋め込みでは、多様体A上の点の確率密度と、その点に対応する多様体B上の点の確率密度も等しくなる。
【0065】
具体的には、VAEの潜在空間は、データ・次元ごとに異なる値(β/2σj 21/2でスケーリング(拡大または縮小)することで等長空間に変換することができる。これは以下の式(5)を満たす変数yを導入することで得られる。
【0066】
【数5】
【0067】
このような変数yは入力データのデータ空間に対して等長埋め込みとなる。すなわち、yの確率分布はデータ空間の確率分布と同等となる。より詳細には、計量テンソルGxの計量ベクトル空間での入力データの確率分布をpGx(x)、等長空間の確率分布をp(y)、潜在空間の確率分布をp(z)とすると、次の関係がある。
【0068】
【数6】
【0069】
式(6)には、式(5)に基づく「p(y)=Πjp(yj)=Πj(dyj/dμj(x)-1p(μj)」という関係が利用されている。ここで入力空間座標の確率分布をp(x)とすると、計量ベクトル空間の確率分布pGx(x)とは次の関係がある。
【0070】
【数7】
【0071】
よって、潜在空間の確率分布から、入力データのデータ空間の確率分布p(x)は次の式で導出可能となる。
【0072】
【数8】
【0073】
xは、VAEの誤差からなる計量テンソルである。このようなVAEは、確率分布p(z)(pは^付き)を確率分布p(x)に変数変換することで、穏やかな条件下で以下の式(9)のように尤度を評価可能である。
【0074】
【数9】
【0075】
Mは、潜在空間(エンコード後の空間)の次元数である。Lは、ELBO(Evidence Lower BOund)である。βは、β-VAEにおける調整可能なハイパーパラメータβである。式(9)の導出方法の詳細は、上記の非特許文献に記載されている。
【0076】
VAEの誤差を平均二乗誤差(MSE:Mean Squared Error)で表すとき、Gxは単位行列Iとなる。またVAEの誤差を係数付きMSEで表すとき、Gxは例えば「(1/2σ2)I」となる。
【0077】
潜在的等長性を有するVAEは、p=p(右辺のpは^付き)が成り立つとき、採択確率は式(4)の近似の妥当性によらず1となる。VAEは、学習の初期段階で潜在的等長性を獲得することができ、定量的に等長性を評価可能である。
【0078】
そこで第2の実施の形態におけるコンピュータ100は、効率的なサンプリングを実現するために、IVAE-SLMCによってサンプリングを行う。
図10は、IVAE-SLMCによるサンプリングのためのコンピュータの機能の一例を示すブロック図である。例えばコンピュータ100は、MCMC実行部110、VAE学習部120、モデル記憶部130、およびIVAE-SLMC実行部140を有する。
【0079】
MCMC実行部110は、IVAE-SLMCとは別のMCMCを用いて、目的の確率分布からサンプルを生成する。MCMC実行部110は、生成したサンプルを、VAE学習部120に送信する。
【0080】
VAE学習部120は、MCMC実行部110が生成したサンプルを用いて、VAEを学習する。VAEの学習によって、学習済みの変分モデルとして、潜在的等長性を有するVAEが生成される。VAE学習部120は、生成したVAEをモデル記憶部130に格納する。
【0081】
モデル記憶部130は、VAE学習部120で生成されたVAEを記憶する。
IVAE-SLMC実行部140は、モデル記憶部130からVAE学習部120により生成されたVAEを取得し、取得したVAEを用い、IVAE-SLMCによってサンプルを生成する。そしてIVAE-SLMC実行部140は、生成したサンプルを出力する。
【0082】
なお、図10に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
図11は、サンプル生成処理の一例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
【0083】
[ステップS101]MCMC実行部110は、MCMCにより、目的の確率分布からサンプルを生成する。
[ステップS102]VAE学習部120は、MCMC実行部110が生成したサンプルに基づいて潜在的等長性を有するVAEを学習する。VAE学習部120は、学習したVAEをモデル記憶部130に格納する。
【0084】
[ステップS103]IVAE-SLMC実行部140は、モデル記憶部130に格納されたVAEを用いて、IVAE-SLMCによるサンプリングを実行する。IVAE-SLMCによるサンプリングの詳細は後述する(図12参照)。
【0085】
[ステップS104]IVAE-SLMC実行部140は、IVAE-SLMC実行処理によって所定の遷移回数だけ状態の遷移が発生したか否かを判断する。遷移回数は、予めユーザによって指定されている。IVAE-SLMC実行部140は、所定の遷移回数だけ状態の遷移が発生した場合、処理をステップS105に進める。
【0086】
[ステップS105]IVAE-SLMC実行部140は、IVAE-SLMCによって生成したサンプルを出力する。
次に、IVAE-SLMCによるサンプリング処理について詳細に説明する。
【0087】
図12は、IVAE-SLMCによるサンプリング処理の手順の一例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS111]IVAE-SLMC実行部140は、VAEのエンコーダを用いて状態xをエンコードし、μ(x;θ)、σ(x;θ)、およびGxを計算する。
【0088】
[ステップS112]IVAE-SLMC実行部140は、状態z’を事前分布p(z)に従って生成する。すなわちIVAE-SLMC実行部140は、事前分布p(z)において確率の高い状態ほど生成されやすくして、確率的に状態z’を生成する。
【0089】
[ステップS113]IVAE-SLMC実行部140は、VAEのデコーダを用いて状態z’をデコードし、状態x’を生成する。
[ステップS114]IVAE-SLMC実行部140は、VAEのエンコーダを用いて状態x’をエンコードし、μ(x’;θ)、σ(x’;θ)、およびGx'を計算する。
【0090】
[ステップS115]IVAE-SLMC実行部140は、以下の式(10)に示す採択確率AIVAEを計算する。
【0091】
【数10】
【0092】
なお、採択確率は確率比で表されるため、尤度関数の規格化定数は未知でもよい。採択確率AIVAEは、式(9)に基づいている。式(9)は、VAEの潜在空間から等長空間への変換規則を表す式(5)から導出されている。従って、式(10)に示す採択確率AIVAEは、VAEの潜在空間から等長空間への変換規則に基づいている。
【0093】
[ステップS116]IVAE-SLMC実行部140は、採択確率AIVAEに従って、採択するか、棄却するかを判定する。例えばIVAE-SLMC実行部140は、0~1の実数の乱数を生成し、生成した乱数が採択確率AIVAE以下であれば採択すると判定する。またIVAE-SLMC実行部140は、生成した乱数が採択確率AIVAEを超えていれば棄却すると判定する。
【0094】
[ステップS117]IVAE-SLMC実行部140は、採択すると判定した場合、処理をステップS118に進める。またIVAE-SLMC実行部140は、棄却すると判定した場合、IVAE-SLMCによるサンプリング処理を終了する。
【0095】
[ステップS118]IVAE-SLMC実行部140は、状態x’を新たなサンプルとして決定し、状態x’を示す情報を記憶する。
このようにして、潜在的等長性を有する学習済みのVAEを用いて状態x’を生成し、生成された状態x’を採択確率AIVAEで次の遷移として受理することができる。受理された場合、状態x’がサンプルとして保存される。サンプリングにIVAE-SLMCを用いたことにより、採択確率の計算に近似式を用いずに済み、互いに独立と見なせる有効なサンプルの生成が効率的となる。
【0096】
例えばVAEの潜在的等長性を考慮せずにサンプリングを行うVAE-SLMCでは、式(3)に示した尤度関数の近似式を用いて採択確率を評価することとなる。そのため、近似式の精度が十分でなく、採択確率が低下する場合がある。また近似式を用いることで、採択してしまっても、独立と見なせる有効なサンプルとは認められない可能性が高くなる。それに対してIVAE-SLMCでは、採択確率の計算に近似式を用いていないため、独立と見なせる有効なサンプルの生成効率の向上が見込める。
【0097】
サンプリング効率は、例えばマルコフ連鎖の遷移を所定回数実施した場合に生成される、独立と見なせる有効なサンプル数で評価できる。独立と見なせる有効なサンプル数は、ESS(Effective Sample Size)で表される。
【0098】
例えば、連続確率分布に対して最も一般的に適用されるHMCにおいても、苦手とする確率分布がいくつか存在する。そのような確率分布として、100d Ill Conditioned Gaussian、2d Strongly Correlated Gaussian、Banana-shaped Density、Rough Well Densityなどがある。これらの確率分布に対してHMCによるサンプリングした場合とIVAE-SLMCでサンプリングした結果を以下に示す。
【0099】
HMCとIVAE-SLMCとを比較したときのマルコフ連鎖の遷移回数は「50000回」である。またVAEに使用した学習データは、メトロポリス法により生成された10000個のサンプルである。評価指標に用いたESSは、1次モーメントと2次モーメントとのESSである。そして、10回の数値実験における1次モーメントと2次モーメントそれぞれのESSの平均値によって評価した結果、HMCが苦手とする確率分布に対して、IVAE-SLMCによってESSが大幅に改善することが確認できている。
【0100】
また同じ条件でHMCとIVAE-SLMCとの採択確率を比較すると、高次元かつ複雑な確率分布の場合ほど、HMCの採択確率よりもIVAE-SLMCの採択確率の方が高くなることも確認できている。
【0101】
このようにIVAE-SLMCによりサンプリングを行うことで、高い採択確率でサンプルを生成でき、かつ採択されたサンプルが独立と見なせる有効なサンプルである確率が高い。これにより、適切なサンプルを効率的に生成される。
【0102】
〔第3の実施の形態〕
第3の実施の形態は、VAEの逐次学習を行い、VAEの精度を向上させるものである。例えばVAE学習部120は、IVAE-SLMC実行部140が出力したサンプルがある程度得られたら、そのサンプルを用いてVAEの学習を行う。これによりVAEについて、変分モデルとしての性能が向上する。VAEの性能が向上することで、サンプリング効率が向上する。
【0103】
図13は、第3の実施の形態におけるサンプル生成処理の一例を示すフローチャートである。図13に示す処理のうち、ステップS201~S203,S207の処理は、それぞれ図11に示した第2の実施の形態におけるステップS101~S103,S105の処理と同様である。第2の実施の形態と異なる処理は、以下のステップS204~S206である。
【0104】
[ステップS204]IVAE-SLMC実行部140は、ステップS203を繰り返すことで所定数のサンプルが得られたか否かを判断する。例えばIVAE-SLMC実行部140は、生成した状態x’が採択された回数をカウントし、その回数が所定数に達したら所定数のサンプルが得られたと判断する。IVAE-SLMC実行部140は、所定数のサンプルが得られた場合、処理をステップS205に進める。またIVAE-SLMC実行部140は、所定数のサンプルが得られていなければ、処理をステップS203に進め、IVAE-SLMCによるサンプリングを繰り返す。
【0105】
[ステップS205]IVAE-SLMC実行部140は、ステップS206によるVAEの学習処理を所定回数繰り返したか否かを判断する。IVAE-SLMC実行部140は、ステップS206によるVAEの学習処理を所定回数繰り返した場合、処理をステップS207に進める。またIVAE-SLMC実行部140は、ステップS206によるVAEの学習処理を所定回数繰り返していなければ、処理をステップS206に進める。
【0106】
[ステップS206]VAE学習部120は、IVAE-SLMCで生成したサンプル(既にVAEの学習に使用済みのサンプルを除く)を用いてVAEを学習する。VAE学習部120は、VAEを学習後、処理をステップS203に進める。
【0107】
このように、IVAE-SLMCで生成したサンプルが所定数に達すると、そのサンプルを用いてVAEの学習が行われる。これによりVAEの精度が向上し、IVAE-SLMCによるサンプリング効率も向上する。
【0108】
〔第4の実施の形態〕
第4の実施の形態は、IVAE-SLMCを並列に実行するものである。IVAE-SLMCを並列に実行することで、並列サンプリングにより得られたすべてのサンプルを用いて逐次学習を行うことができる。その結果、変分モデルとしてより性能の良いVAEを得ることができる。
【0109】
図14は、IVAE-SLMCの並列実行の一例を示す図である。例えば、コンピュータ100はプロセッサ101(またはプロセッサコア)を複数有し、プロセッサごとにIVAE-SLMCを並列に実行する。またネットワークで接続された複数のコンピュータで、IVAE-SLMCを並列処理することもできる。
【0110】
図14では、並列で実行するIVAE-SLMC(図13のステップS203の処理)それぞれを「chain 1」~「chain 4」としている。「chain 1」~「chain 4」それぞれで所定数のサンプルが得られたら、得られたサンプルを用いてVAEの学習が行われる。そして学習されたVAEを用いて、IVAE-SLMCが並列実行される。
【0111】
並列に実行される「chain 1」~「chain 4」それぞれは独立に行われるため、有効なサンプルを多数生成することができる。そのため学習に適した多数のサンプルを得ることができ、変分モデルとしてより性能の良いVAEを効率よく学習することができる。
【0112】
〔第5の実施の形態〕
第5の実施の形態は、IVAE-SLMCで取得したサンプルに基づいて、低次元への圧縮時における潜在空間に射影する次元を選択するものである。ベイズ統計学や自然科学では、生成されたサンプルから確率分布の構造を理解するために主成分分析等を行うことがある。主成分分析では、以下の手順で処理が行われる。
<第1のステップ>適当なMCMCによるサンプル取得
<第2のステップ>得られたサンプルに対する主成分分析実行
<第3のステップ>寄与度の大きい主成分を選び、選んだ主成分を主成分空間に射影
変分モデルとして潜在的等長性を有するVAEを用いることで、主成分分析をせずに、類似の低次元圧縮を低コストで行うことが可能となる。すなわち、潜在的等長性を有する潜在変数の各次元の分散が、該当次元の重要度を表す。そのため、潜在空間のj番目の次元の重要度(imporrancej)は、該当次元の分散の期待値(E[])を用いて、式(11)で計算できる。
【0113】
【数11】
【0114】
式(11)で得られる重要度の値が大きい次元ほど、低次元圧縮において重要となる。IVAE-SLMCにより得られたVAEを用いて、この重要度を評価し、重要度が大きい潜在空間を選び低次元領域へ次元圧縮することで、低コストでの次元圧縮が可能である。
【0115】
図15は、第5の実施の形態に係るコンピュータの機能の一例を示すブロック図である。図15において、第2の実施の形態と同じ機能を有する要素には同じ符号を付して説明を省略する。第5の実施の形態に係るコンピュータ100aは、第2の実施の形態のコンピュータ100と同様の機能(図10参照)に加え、低次元圧縮部150を有する。
【0116】
低次元圧縮部150は、VAE学習部120で得られたVAEを用いて、状態xを表す各次元の重要度を計算し、重要度に応じて選択した次元に次元圧縮を行う。
図16は、低次元圧縮処理の手順の一例を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
【0117】
[ステップS301]MCMC実行部110、VAE学習部120、およびIVAE-SLMC実行部140が協働し、IVAE-SLMCによるサンプル生成処理を行う。この処理の詳細は、図11図12に示した通りである。
【0118】
[ステップS302]低次元圧縮部150は、ステップS301で生成されたサンプルを、VAE学習部120が学習したVAEでエンコードし、式(7)によって次元ごとの重要度を計算する。
【0119】
[ステップS303]低次元圧縮部150は、重要度が大きい方から所定数の次元を選択し、選択した次元を潜在空間に射影する。
このようにして、重要な次元への低次元圧縮が行われる。図16に示した処理では、サンプルに対する主成分分析が不要となっている。主成分分析は、式(7)に示した重要度の計算に比べて計算量が非常に多い。そのため、第5の実施の形態では、計算量の大幅な削減が可能となっている。
【0120】
〔その他の実施の形態〕
第2の実施の形態では、採択確率AVAEの式(10)における尤度として以下の式を用いている。
【0121】
【数12】
【0122】
この尤度は、式(9)に示したように、以下の式で計算することもできる。
【0123】
【数13】
【0124】
すなわち、採択確率の計算には2つのバリエーションがある。式(12)を用いた採択確率と式(13)を用いた採択確率との計算結果はまったく同一とはならず、若干の誤差が生じる。そこでIVAE-SLMC実行部140は、予め採択確率が高くなる方の式を求めておき、該当する式を用いて採択確率を計算してもよい。
【0125】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0126】
1 機械学習モデル
2 エンコーダ
3 デコーダ
4 第1のデータ
5 第2のデータ
6 第1のサンプル
7 第2のサンプル
10 情報処理装置
11 記憶部
12 処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16