(57)【要約】  一実施形態に係る変換方法は、双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換するステップをコンピュータが実行する。
2020162294.tif 000002
【特許請求の範囲】
【請求項１】
双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換するステップをコンピュータが実行する変換方法。
【請求項２】
前記空間は前記双曲空間に接するよう定義された、請求項１に記載の変換方法。
【請求項３】
前記変換するステップは、指数写像を用いて、前記空間上の確率分布を、前記双曲空間上の確率分布に変換することを含む、請求項１又は２に記載の変換方法。
【請求項４】
前記変換するステップは、前記空間上の確率分布の平行移動を含む、請求項１から３のいずれか一項に記載の変換方法。
【請求項５】
前記確率分布に関するデータの種類はツリー構造を有するものである、請求項１から４のいずれか１項に記載の変換方法。
【請求項６】
第１のニューラルネットワークで実現され、入力データを符号化するエンコーダと、
前記エンコーダによって符号化された入力データによって定義される、双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換する変換部と、
第２のニューラルネットワークで実現され、変換された前記双曲空間上の確率分布に基づいて出力データを得るデコーダと、
前記入力データと前記出力データに基づいて、前記第１のニューラルネットワークと前記第２のニューラルネットワークのパラメータを更新する訓練部と、
を備える訓練装置。
【請求項７】
前記変換部は、指数写像を用いて、前記空間上の確率分布を、前記双曲空間上の確率分布に変換する、請求項６に記載の訓練装置。
【請求項８】
前記変換部は、前記空間上の確率分布を平行移動させる、請求項６又は７に記載の訓練装置。
【請求項９】
前記デコーダは、前記双曲空間上の確率分布からサンプリングされたデータを入力して、前記出力データを得る、請求項６から８のいずれか１項に記載の訓練装置。
【請求項１０】
第１の機械学習で実現され、入力データを入力するエンコーダと、
前記エンコーダの出力によって定義される、双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換する変換部と、
第２の機械学習で実現され、変換された前記双曲空間上の確率分布に基づいて出力データを得るデコーダと、
を備える推論装置。
【請求項１１】
前記変換部は、指数写像を用いて、前記空間上の確率分布を、前記双曲空間上の確率分布に変換する、請求項１０に記載の推論装置。
【請求項１２】
前記変換部は、前記空間上の確率分布を平行移動させる、請求項１０又は１１に記載の推論装置。
【請求項１３】
前記デコーダは、前記双曲空間上の確率分布からサンプリングされたデータを入力して、前記出力データを得る、請求項１０から１２のいずれか１項に記載の推論装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、変換方法、訓練装置及び推論装置に関する。
【背景技術】
【０００２】
木構造等の階層構造を有するデータを容易に取り扱うことができる空間として双曲空間が知られており、近年、機械学習の分野等で注目されている。【０００３】
しかしながら、双曲空間は非ユークリッド空間であるため、双曲空間上で一般的な確率分布を定義した場合、その取り扱いが困難（例えば、確率密度が計算できない等）であった。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Nickel, M. and Kiela, D. Poincar´e embeddings for learning hierarchical representations. In Advances in Neural Information Processing Systems 30, pp. 6338-6347. 2017.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、上記の点に鑑みてなされたもので、双曲空間上の確率分布を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、一実施形態に係る変換方法は、双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換するステップをコンピュータが実行する。
【図面の簡単な説明】
【０００７】
【図１Ａ】双曲空間及び接空間の一例を説明するための図である。
【図１Ｂ】平行移動の一例を説明するための図である。
【図１Ｃ】指数写像の一例を説明するための図である。
【図２Ａ】接空間及び双曲空間上の確率分布の対数尤度の一例を説明するための図（その１）である。
【図２Ｂ】接空間及び双曲空間上の確率分布の対数尤度の一例を説明するための図（その２）である。
【図３】変分オートエンコーダへの応用例を説明するための図である。
【図４】一実施形態に係る訓練装置の機能構成の一例を示す図である。
【図５】一実施形態に係る訓練処理の一例を示すフローチャートである。
【図６】一実施形態に係る推論装置の機能構成の一例を示す図である。
【図７】一実施形態に係る推論処理の一例を示すフローチャートである。
【図８】コンピュータ装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【０００８】
以下、本発明の一実施形態について説明する。本実施形態では、双曲空間に接する接空間上で定義された確率分布を変換することで、当該双曲空間上の確率分布を得る場合について説明する。
【０００９】
＜理論構成＞
まず、本実施形態の理論的構成について説明する。
【００１０】
双曲空間とは負のガウス曲率を持つ非ユークリッド空間のことである。双曲空間の一例（又は、双曲空間の表現方法の１つ）としてローレンツモデルが知られている。ｎ次元のローレンツモデルは、ｚ＝（ｚ０，ｚ１，・・・，ｚｎ）∈Ｒｎ＋１として、以下の式（１）で表される。なお、Ｒは実数全体の集合を表す。
【００１１】
【数１】
2020162294.tif 000003
ここで、
【００１２】
【数２】
2020162294.tif 000004
はローレンツ積である。なお、明細書のテキスト中ではローレンツ積を＜ｚ，ｚ’＞Ｌと表記する。
【００１３】
本実施形態では、双曲空間の一例としてローレンツモデルを想定し、ローレンツモデルに対して定義された空間、具体的にはローレンツモデルに接する接空間上で定義された確率分布を変換することで、当該ローレンツモデル上の確率分布を得るものとする。ただし、ローレンツモデルは双曲空間の一例であって、本実施形態は任意の双曲空間に対して適用可能である。また、異なる種類の双曲空間を相互に変換して用いることもできる。なお、ローレンツモデルを表す記号は、上記の式（１）に示す通り、白抜きのＨであるが、明細書のテキスト中では単にＨと表記する。このことは、実数全体の集合を表す記号Ｒについても同様である。
【００１４】
μ０＝（１，０，・・・，）∈Ｈｎ⊂Ｒｎ＋１をｎ次元のローレンツモデルの原点とする。また、ｎ次元のローレンツモデルＨｎにμ∈Ｈｎで接する接空間をＴμＨｎと表記する。ここで、接空間ＴμＨｎは以下の式（２）で定義される。
【００１５】
【数３】
2020162294.tif 000005
一例として、１次元のローレンツモデルＨ１とμ∈Ｈ１における接空間ＴμＨ１を図１Ａに示す。図１Ａに示されるように、接空間ＴμＨ１は、μ∈Ｈ１で双曲空間Ｈ１に接する双曲平面である。
【００１６】
このとき、本実施形態では、確率分布の一例であるガウス分布を決定するパラメータμとΣが与えられた場合に、以下の（Ｓ１）〜（Ｓ４）により、双曲空間Ｈｎ上の確率分布を得ることができる。なお、Σはｎ×ｎの行列である。
【００１７】
（Ｓ１）Ｒｎ上のガウス分布Ｎ（０，Σ）からベクトルｖ’∈Ｒｎをサンプリングする。
【００１８】
（Ｓ２）上記のＳ１でサンプリングしたベクトルｖ’からベクトルｖ＝（０，ｖ’）∈Ｒｎ＋１を作成する。これは、ベクトルｖ’を接空間Ｔμ０Ｈｎ⊂Ｒｎ＋１上の点と見做すことを意味する。
【００１９】
（Ｓ３）後述する平行移動ＰＴμ０→μにより、このベクトルｖを接空間ＴμＨｎ上に移動させる。この移動後のベクトルをｕと表す。
【００２０】
（Ｓ４）後述する指数写像ｅｘｐμにより、上記のＳ２で接空間ＴμＨｎ上に平行移動させたベクトルｕを双曲空間Ｈｎ上に写像する。これにより、双曲空間Ｈｎ上の確率分布が得られる。このようにして得られた確率分布を本実施形態では、擬双曲ガウス分布Ｇ（μ，Σ）とも称する。
【００２１】
なお、接空間ＴμＨｎ上の点を双曲空間Ｈｎ上に写像することを「双曲空間Ｈｎ上に埋め込む」、「双曲空間Ｈｎ上に貼り付ける」又は「双曲空間Ｈｎ上の点に変換する」等と称されてもよい。このため、擬双曲ガウス分布Ｇ（μ，Σ）を得ることは、例えば、「Ｒｎ上のガウス分布Ｎ（０，Σ）を双曲空間Ｈｎ上に埋め込むことで、擬双曲ガウス分布Ｇ（μ，Σ）を得る」と表現してもよいし、「Ｒｎ上のガウス分布Ｎ（０，Σ）を双曲空間Ｈｎ上に貼り付けることで、擬双曲ガウス分布Ｇ（μ，Σ）を得る」と表現してもよいし、「Ｒｎ上のガウス分布Ｎ（０，Σ）を双曲空間Ｈｎ上の擬双曲ガウス分布Ｇ（μ，Σ）に変換することで、擬双曲ガウス分布Ｇ（μ，Σ）を得る」と表現してもよい。
【００２２】
また、上記のＳ２により、Ｒｎ上のガウス分布Ｎ（０，Σ）は、接空間Ｔμ０Ｈｎ上の確率分布（ガウス分布）と見做すこともできる。
【００２３】
≪平行移動≫
任意のμ，ν∈Ｈｎに対して、平行移動ＰＴν→μは、接空間ＴνＨｎ上のベクトルを測地線に沿って、かつ、計量テンソルを変えずに、接空間ＴνＨｎから接空間ＴμＨｎに移動させる写像と定義される。したがって、ＰＴν→μを平行移動とすれば、任意のｖ，ｖ’∈ＴνＨｎに対して、＜ＰＴν→μ（ｖ），ＰＴν→μ（ｖ’）＞Ｌ＝＜ｖ，ｖ’＞Ｌが成り立つ。
【００２４】
ローレンツモデルＨｎ上の平行移動ＰＴν→μは、ｖ∈ＴνＨｎに対して、以下の式（３）で表すことができる。
【００２５】
【数４】
2020162294.tif 000006
ここで、α＝−＜ν，μ＞Ｌである。
【００２６】
また、上記の式（３）に示す平行移動ＰＴν→μの逆写像ＰＴμ→ν−１は、以下の式（４）で表すことができる。
【００２７】
【数５】
2020162294.tif 000007
一例として、１次元のローレンツモデルＨ１の原点μ０における接空間Ｔμ０Ｈ１上のベクトルｖを、平行移動ＰＴν→μにより接空間ＴμＨ１上のベクトルｕに移動させる場合を図１Ｂに示す。図１Ｂに示されるように、接空間Ｔμ０Ｈ１上のベクトルｖは、平行移動ＰＴν→μによりローレンツモデルＨ１の測地線に沿って、接空間ＴμＨ１の上のベクトルｕに移動する。
【００２８】
≪指数写像≫
任意のｕ∈ＴμＨｎに対して、γμ（０）＝μ、かつ、
【００２９】
【数６】
2020162294.tif 000008
となる極大測地線γμ：［０，１］→Ｈｎが一意に定義できることが一般に知られている。このとき、指数写像ｅｘｐμ：ＴμＨｎ→Ｈｎは、ｅｘｐμ（ｕ）＝γμ（１）で定義される。
【００３０】
これに対して、本実施形態では、Ｈｎ上のμ及びｅｘｐμ（ｕ）の距離が||ｕ||Ｌ＝√（＜ｕ，ｕ＞Ｌ）と一致するように、上記の指数写像ｅｘｐμ：ＴμＨｎ→Ｈｎを構成する。すなわち、ｕ∈ＴμＨｎに対して、指数写像ｅｘｐμ：ＴμＨｎ→Ｈｎは、以下の式（５）で表すことができる。
【００３１】
【数７】
2020162294.tif 000009
また、上記の式（５）をｕに関して解くことで、指数写像ｅｘｐμの逆写像を得ることができる。すなわち、以下の式（６）で表される逆写像ｅｘｐμ−１が得られる。
【００３２】
【数８】
2020162294.tif 000010
ここで、α＝−＜μ，ｚ＞Ｌである。
【００３３】
一例として、１次元のローレンツモデルＨ１のμにおける接空間ＴμＨ１上のベクトルｕを、指数写像ｅｘｐμによりローレンツモデルＨ１上に写像する場合を図１Ｃに示す。図１Ｃに示されるように、接空間ＴμＨ１上のベクトルｕは、指数写像ｅｘｐμによりローレンツモデルＨ１上のベクトルｚ＝ｅｘｐμ（ｕ）に写像される。
【００３４】
≪確率密度関数≫
上記で説明した平行移動ＰＴμ０→μ及び指数写像ｅｘｐμは共に微分可能であるため、その合成写像も微分可能である。つまり、
【００３５】
【数９】
2020162294.tif 000011
は微分可能である。このため、上記のＳ１〜Ｓ４により得られた擬双曲ガウス分布Ｇ（μ，Σ）は、ｚ∈Ｈｎで確率密度関数を計算することができる。
【００３６】
一般には、確率密度関数ｆ（ｘ）に与えられた確率変数をＸとして、ｙにおけるＹ＝ｆ（Ｘ）の対数尤度は、
【００３７】
【数１０】
2020162294.tif 000012
と表すことができる。ここで、ｆは、逆写像が存在する連続な写像である。
【００３８】
したがって、ｚ＝ｐｒｏｊμにおける擬双曲ガウス分布Ｇ（μ，Σ）の対数尤度は、以下の式（７）で表すことができる。
【００３９】
【数１１】
2020162294.tif 000013
ここで、上記の式（７）の右辺の第２項中の行列式は、連鎖律により以下の式（８）のように表すことができる。
【００４０】
【数１２】
2020162294.tif 000014
上記の式（８）の右辺の第１項及び第２項は、それぞれ
【００４１】
【数１３】
2020162294.tif 000015
と計算することができる。したがって、上記の式（７）の右辺の第２項中の行列式は、
【００４２】
【数１４】
2020162294.tif 000016
と計算することができる。
【００４３】
以上により、上記の式（７）によって擬双曲ガウス分布Ｇ（μ，Σ）の確率密度を陽に計算することが可能となる。ここで、接空間上のガウス分布の対数尤度と、この確率分布をｐｒｏｊμにより双曲空間上に写像して得られた擬双曲ガウス分布Ｇ（μ，Σ）の対数尤度とをヒートマップで表現した例を図２Ａ及び図２Ｂに示す。図２Ａ及び図２Ｂに示されるように、平行移動ＰＴμ０→μ及び指数写像ｅｘｐμの性質（つまり、計量テンソルを変えないことや、μとｅｘｐμ（ｕ）の距離が||ｕ||Ｌと一致すること等）から、接空間上の確率分布が双曲空間上に適切に埋め込まれていることがわかる。なお、図２Ａ及び図２Ｂ中で×印は原点（つまり、μ０）を示している。
【００４４】
このように、本実施形態では、ユークリッド空間上の確率分布を用いて、確率密度が陽に計算可能であり、かつ、サンプリングが微分可能な、双曲空間上の確率分布を得ることができる。このため、例えば、確率分布の持つ確率密度が厳密に求まるため、サンプリングが容易となる。また、例えば、確率密度関数の値が計算可能であるため、或る特定のサンプルが出現する確率を計算することができる。また、例えば、計算が困難な項が存在することに起因する誤差の発生や近似値の利用の必要性を低減することができ、機械学習における訓練や推論等の精度を向上させることができる。
【００４５】
なお、上記においては、接空間Ｔμ０Ｈｎは双曲空間Ｈｎにμ０で接するものとして説明したが、コンピュータが実行する処理により接空間Ｔμ０Ｈｎを定義する場合には双曲空間Ｈｎに厳密に（つまり、数学的に厳密に）接していない場合がある。すなわち、本開示において「接する」という用語は、例えば、コンピュータの有効桁数や計算誤差等によって接空間Ｔμ０Ｈｎが双曲空間Ｈｎに厳密に接していない場合も含む。また、双曲空間上の確率分布を適切に得ることができれば、双曲空間に接する空間に基づいた空間に確率分布が定義されてもよい。例えば、双曲空間と厳密に接していない空間や、双曲空間または双曲空間に接する空間等に対し所定の操作を行って得られた空間を利用する場合も含んでよい。
【００４６】
［実施例］
一実施例として、本実施形態を変分オートエンコーダ（ＶＡＥ：Variational Autoencoder）に応用する場合について説明する。本実施例では、変分オートエンコーダに含まれるエンコーダの出力を用いてガウス分布から擬双曲ガウス分布を得て、この擬双曲ガウス分布からサンプリングされる点を潜在変数としてデコーダに入力する。すなわち、図３に示されるように、変分オートエンコーダに含まれるエンコーダ１１０にデータｘ入力して、μ及びσを得る。次に、上記のＳ１及びＳ２で説明したように、このσで決定されるガウス分布からベクトルｖ∈Ｔμ０Ｈｎを得る。そして、上記のＳ３で説明したように、μを用いた平行移動ＰＴμ０→μによりベクトルｖを移動させてベクトルｕを得た後、上記のＳ４で説明したように、指数写像ｅｘｐμによりベクトルｕを双曲空間Ｈｎ上に写像して潜在変数ｚ∈Ｈｎを得る。この潜在変数ｚは、変分オートエンコーダに含まれるデコーダ１２０に入力され、データ＾ｘが出力される。なお、「＾ｘ」は、ｘの推論結果を表す。
【００４７】
なお、データｘは、例えば、木構造等の階層構造を有するデータセットからサンプリングされたデータである。エンコーダ１１０は変分オートエンコーダのエンコーダとして利用可能な任意の機械学習モデルを用いることができるが、例えば、入力層と複数のノードを含む少なくとも１つの隠れ層と出力層とを含むニューラルネットワークを用いることができる。同様に、デコーダ１２０は変分オートエンコーダのデコーダとして利用可能な任意の機械学習モデルを用いることができるが、例えば、入力層と複数のノードを含む少なくとも１つの隠れ層と出力層とを含むニューラルネットワークを用いることができる。
【００４８】
＜訓練装置１０＞
以降では、訓練データセットを用いて変分オートエンコーダを訓練（学習）する訓練装置１０について説明する。なお、訓練データセットをＤ＝｛ｘ（１），ｘ（２），・・・，ｘ（Ｎ）｝と表す。各ｘ（ｉ）は訓練データ、Ｎは訓練データ数である。上述したように、訓練データセットは何等かの階層構造を有していてもよい。
【００４９】
≪機能構成≫
一実施形態に係る訓練装置１０の機能構成を図４に示す。図４は、一実施形態に係る訓練装置１０の機能構成の一例を示す図である。
【００５０】
図４に示す訓練装置１０は、エンコード部２０１と、変換部２０２と、デコード部２０３と、訓練部２０４とを有する。
【００５１】
エンコード部２０１は、変分オートエンコーダのエンコーダ１１０により実現される。エンコード部２０１は、訓練データｘ（ｉ）を入力して、σ∈Ｈｎとμ∈Ｒｎを出力する。言い換えれば、エンコード部２０１は、入力された訓練データをσ及びμに符号化（エンコード）する。
【００５２】
変換部２０２は、σ及びμを入力して、双曲空間上の確率分布からサンプリングされたｚを潜在変数として得る。すなわち、変換部２０２は、例えば、σの各要素を対角成分に持つｎ×ｎ行列Σを作成した上で、上記のＳ１〜Ｓ４により擬双曲ガウス分布Ｇ（μ，Σ）からサンプリングされたｚ∈Ｈｎを得る。
【００５３】
デコード部２０３は、変分オートエンコーダのデコーダ１２０により実現される。デコード部２０３は、潜在変数ｚを入力して、訓練データｘ（ｉ）の推論結果であるデータ＾ｘ（ｉ）を得る。言い換えれば、デコード部２０３は、入力された潜在変数ｚをデータ＾ｘ（ｉ）に復号（デコード）する。
【００５４】
訓練部２０４は、訓練データｘ（ｉ）とその推論結果であるデータ＾ｘ（ｉ）とを入力して、変分オートエンコーダに含まれるエンコーダ１１０及びデコーダ１２０を訓練（学習）する。例えば、変分オートエンコーダに含まれるエンコーダ１１０及びデコーダ１２０がニューラルネットワークで実現されている場合、訓練部２０４は、確率的勾配降下法と誤差逆伝播法等により変分下限を最大化することで、エンコーダ１１０及びデコーダ１２０を同時に訓練する。
【００５５】
≪訓練処理≫
一実施形態に係る訓練処理の流れを図５に示す。図５は、一実施形態に係る訓練処理の一例を示すフローチャートである。
【００５６】
エンコード部２０１は、訓練データｘ（ｉ）を入力して、σ∈Ｈｎとμ∈Ｒｎを出力する（ステップＳ１１）。
【００５７】
次に、変換部２０２は、分散σを用いて、ノイズｖを生成する（ステップＳ１２）。すなわち、変換部２０２は、例えば、分散σの各要素を対角成分に持つｎ×ｎ行列Σを作成した上で、Ｒｎ上のガウス分布Ｎ（０，Σ）からベクトルｖ’∈Ｒｎをサンプリングし、このベクトルｖ’からノイズｖ＝（０，ｖ’）∈Ｒｎ＋１を生成する。なお、このノイズｖは、ｖ∈Ｔμ０Ｈｎである。
【００５８】
次に、変換部２０２は、ν＝μ０として、上記の式（４）に示す平行移動ＰＴμ０→μ（ｖ）によりノイズｖをｕ＝ＰＴμ０→μ（ｖ）∈ＴμＨｎに移動させる（ステップＳ１３）。言い換えれば、変換部２０２は、ノイズｖ∈Ｔμ０Ｈｎをｕ＝ＰＴμ０→μ（ｖ）∈ＴμＨｎに変換する。
【００５９】
次に、変換部２０２は、上記の式（５）に示す指数写像ｅｘｐμによりｕを双曲空間上に写像して、潜在変数ｚを得る（ステップＳ１４）。すなわち、変換部２０２は、ｚ＝ｅｘｐμ（ｕ）により双曲空間上の点ｚ∈Ｈｎを得る。これは、双曲空間上の擬双曲ガウス分布Ｇ（μ，Σ）から潜在変数ｚをサンプリングすることと等価である。
【００６０】
次に、デコード部２０３は、上記のステップＳ１４で得られた潜在変数ｚを入力して、訓練データｘ（ｉ）の推論結果であるデータ＾ｘ（ｉ）を出力する（ステップＳ１５）。
【００６１】
そして、訓練部２０４は、訓練データｘ（ｉ）とその推論結果であるデータ＾ｘ（ｉ）とを入力して、変分オートエンコーダに含まれるエンコーダ１１０及びデコーダ１２０を訓練（学習）する（ステップＳ１６）。なお、変分オートエンコーダに含まれるエンコーダ１１０及びデコーダ１２０の訓練方法は既知の訓練方法を用いることが可能である。例えば、ミニバッチ学習、バッチ学習、オンライン学習等によりエンコーダ１１０及びデコーダ１２０のパラメータを更新すればよい。これにより、変分オートエンコーダが訓練される。このように訓練された変分オートエンコーダは確率分布の確率蜜が陽に計算可能である。このため、従来の双曲空間を潜在変数空間に用いた場合と異なり、サンプリングにあたって誤差や近似値を用いる必要がなく、所定の精度の変分オートエンコーダを得るまでの時間（つまり、訓練完了までの時間）やコストを削減させることが可能となる。また、精度の高い変分オートエンコーダのモデルを得ることが可能となる。
【００６２】
なお、このように訓練された変分オートエンコーダは、例えば、訓練データに類似する新規データの生成、既存のデータ点間の補完、データ間の関係の解釈等の様々なことに用いることが可能である。
【００６３】
＜推論装置２０＞
以降では、訓練済みの変分オートエンコーダを用いて推論を行う推論装置２０について説明する。
【００６４】
≪機能構成≫
一実施形態に係る推論装置２０の機能構成を図６に示す。図６は、一実施形態に係る推論装置２０の機能構成の一例を示す図である。
【００６５】
図６に示す推論装置２０は、エンコード部２０１と、変換部２０２と、デコード部２０３と、訓練部２０４とを有する。これらは、訓練装置１０のエンコード部２０１、変換部２０２及びデコード部２０３と同様である。ただし、推論装置２０のエンコード部２０１及びデコード部２０３は、訓練済みのエンコーダ１１０及びデコーダ１２０でそれぞれ実現される。
【００６６】
≪推論処理≫
一実施形態に係る推論処理の流れを図７に示す。図７は、一実施形態に係る推論処理の一例を示すフローチャートである。
【００６７】
エンコード部２０１は、データｘを入力して、σ∈Ｈｎとμ∈Ｒｎを出力する（ステップＳ２１）。
【００６８】
次に、変換部２０２は、図５のステップＳ１２と同様に、分散σを用いて、ノイズｖを生成する（ステップＳ２２）。
【００６９】
次に、変換部２０２は、図５のステップＳ１３と同様に、ν＝μ０として、上記の式（４）に示す平行移動ＰＴμ０→μ（ｖ）によりノイズｖをｕ＝ＰＴμ０→μ（ｖ）∈ＴμＨｎに移動させる（ステップＳ２３）。
【００７０】
次に、変換部２０２は、図５のステップＳ１４と同様に、上記の式（５）に示す指数写像ｅｘｐμによりｕを双曲空間上に写像して、潜在変数ｚを得る（ステップＳ２４）。
【００７１】
そして、デコード部２０３は、上記のステップＳ２４で得られた潜在変数ｚを入力して、データｘの推論結果であるデータ＾ｘを出力する（ステップＳ２５）。このデータ＾ｘは、所定の精度でデータｘを推論した結果である。また、このときの潜在変数ｚは、入力されたデータｘの潜在的な構造を抽出したものである。このため、訓練済みの変分オートエンコーダに入力されるデータとしては、潜在的な構造を抽出可能なものであればどのようなデータが入力されてもよい。このようなデータとしては、例えば、手書きの文字、手書きのスケッチ、音楽、化学物質等を表すデータ等が挙げられる。また、特に、木構造（ツリー構造）を有する種類のデータの潜在的な構造を好適に抽出することができる。
【００７２】
木構造を有するデータとしては、例えば、自然言語（より詳細には、例えば、Zipf則が見られる自然言語）。スケールフリー性を持つネットワーク（例えば、ソーシャルネットワークや意味ネットワーク等）が挙げられる。双曲空間は一定の負の曲率を持つ曲がった空間であるため、本実施形態によれば、木構造のようにそのボリューム（データ数）が指数的に増加するような構造を効率的に表現することができる。
【００７３】
本実施例では、ガウス分布を双曲空間に埋め込んだ分布を潜在変数ｚの分布（潜在分布）としたが、変分下限を最大化することができる確率分布であれば、任意の確率分布を双曲空間に埋め込んだ分布を潜在分布として使用することができる。通常、潜在分布としてはガウス分布が良く用いられるが、変分オートエンコーダに入力されるデータの特徴に応じて、例えば、時間ベースの特徴がある場合はポアソン分布、空間ベースの特徴がある場合にはレイリー分布等が用いられる。したがって、これらの分布を双曲空間に埋め込んだ分布が潜在分布として用いられてもよい。
【００７４】
なお、本実施例では、擬双曲ガウス分布を用いた変分オーエンコードへの応用例を説明したが、例えば、単語埋め込みに対しても応用可能である。本実施形態を単語埋め込みに応用することで、単語埋め込みのような潜在空間が確率的な生成モデルであっても、各エントリー（単語）の潜在空間での表現を点ではなく分布として扱うことができる。このため、各エントリーの不確実性や包含関係をモデル化でき、より豊かな構造を潜在空間に埋め込むことが可能になる。
【００７５】
＜ハードウェア構成＞
上記の実施例に係る訓練装置１０及び推論装置２０は装置又はシステムで実現され、これらの装置、システムは、例えば、図８に示すコンピュータ装置５００のハードウェア構成で実現可能である。図８は、コンピュータ装置５００のハードウェア構成の一例を示す図である。
【００７６】
図８に示すコンピュータ装置５００は、プロセッサ５０１と、主記憶装置５０２と、補助記憶装置５０３と、ネットワークインタフェース５０４と、デバイスインタフェース５０５とを備え、これらがバス５０６を介して接続されている。なお、図８に示すコンピュータ装置５００は、各構成要素を１つずつ備えているが、同一の構成要素を複数備えていてもよい。また、１台のコンピュータ装置５００が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの項となる一部の処理を実行してもよい。
【００７７】
プロセッサ５０１は、コンピュータ装置５００の制御装置及び演算装置を含む電子回路（処理回路、Processing circuit、Processing circuitry）である。プロセッサ５０１は、コンピュータ装置５００の内部構成の各装置等から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置等に出力する。具体的には、プロセッサ５０１は、コンピュータ装置５００のＯＳ（Operating System）や、アプリケーションプログラム等を実行することにより、コンピュータ装置５００を構成する各構成要素を制御する。プロセッサ５０１は、上記の処理を行うことができればどのようなものも用いることができる。装置、システム等及びそれらの各構成要素は、プロセッサ５０１により実現される。ここで、処理回路とは、１チップ上に配置された１又は複数の電気回路を指してもよいし、２つ以上のチップあるいはデバイス上に配置された１又は複数の電気回路を指してもよい。
【００７８】
主記憶装置５０２は、プロセッサ５０１が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置５０２に記憶された情報がプロセッサ５０１により直接読み出される。補助記憶装置５０３は、主記憶装置５０２以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと不揮発性メモリとがあるが、いずれでもよい。装置、システム等が各種データを保存するためのメモリは主記憶装置５０２又は補助記憶装置５０３により実現されてもよい。別の例として、装置、システム等にアクセラレータが備えられている場合には、各種データを保存するためのメモリは、当該アクセラレータに備えられているメモリにより実現されてもよい。
【００７９】
ネットワークインタフェース５０４は、無線又は有線により、通信ネットワーク６００に接続するためのインタフェースである。ネットワークインタフェース５０４は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース５０４により、通信ネットワーク６００を介して通信接続された外部装置７００Ａと情報のやり取りが行なわれてもよい。
【００８０】
外部装置７００Ａには、例えば、カメラ、モーションキャプチャ、出力先デバイス、外部のセンサ、入力元デバイス等が含まれる。また、外部装置７００Ａは、訓練装置１０又は推論装置２０の構成要素の一部の機能を有する装置であってもよい。そして、コンピュータ装置５００は、訓練装置１０又は推論装置２０の処理結果の一部を、クラウドサービスのように通信ネットワーク６００を介して受け取ってもよい。また、外部装置７００Ａとしてサーバを通信ネットワーク６００に接続し、訓練済みモデルを外部装置７００Ａに記憶させるようにしてもよい。この場合には、推論装置２０は、通信ネットワーク６００を介して外部装置７００Ａにアクセスし、訓練済みモデルを用いた推論を行ってもよい。
【００８１】
デバイスインタフェース５０５は、外部装置７００Ｂと直接接続するＵＳＢ（Universal Serial Bus）等のインタフェースである。外部装置７００Ｂは、外部記録媒体でもよいし、ストレージ装置でもよい。装置、システム等が各種データを保存するためのメモリは外部装置７００Ｂにより実現されていてもよい。
【００８２】
外部装置７００Ｂは、出力装置であってもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声等を出力する装置等でもよい。例えば、ＬＣＤ（Liquid Crystal Display）、ＣＲＴ（Cathode Ray Tube）、ＰＤＰ（Plasma Display Panel）、スピーカ等があるが、これらに限られるものではない。
【００８３】
なお、外部装置７００Ｂは、入力装置であってもよい。入力装置は、例えば、キーボード、マウス、タッチパネル等のデバイスであり、これらのデバイスにより入力された情報がコンピュータ装置５００に与えられる。入力装置からの信号はプロセッサ５０１に出力される。
【００８４】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既存の技術との組み合わせ等が可能である。
【００８５】
本願は、アメリカ合衆国に２０１９年２月７日に出願された仮出願６２／８０２，３１７号に基づくものであり、その全内容はここに参照をもって援用される。
【符号の説明】
【００８６】
１０        訓練装置
２０        推論装置
２０１      エンコード部
２０２      変換部
２０３      デコード部
２０４      訓練部
【図１Ａ】
2020162294.tif 000017
【図１Ｂ】
2020162294.tif 000018
【図１Ｃ】
2020162294.tif 000019
【図２Ａ】
2020162294.tif 000020
【図２Ｂ】
2020162294.tif 000021
【図３】
2020162294.tif 000022
【図４】
2020162294.tif 000023
【図５】
2020162294.tif 000024
【図６】
2020162294.tif 000025
【図７】
2020162294.tif 000026
【図８】
2020162294.tif 000027
【手続補正書】
【提出日】令和3年8月3日(2021.8.3)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
このように、本実施形態では、ユークリッド空間上の確率分布を用いて、確率密度が陽に計算可能であり、かつ、サンプリングが微分可能な、双曲空間上の確率分布を得ることができる。サンプリングが可能な確率分布からの変数変換によって双曲空間上の確率分布を得ることができるため、双曲空間上の確率分布でも容易にサンプリングを行うことができる。また、例えば、確率密度関数の値が計算可能であるため、或る特定のサンプルが出現する確率を計算することができる。また、例えば、計算が困難な項が存在することに起因する誤差の発生や近似値の利用の必要性を低減することができ、機械学習における訓練や推論等の精度を向上させることができる。
【国際調査報告】
2020162294.tif 000028
2020162294.tif 000029