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

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

▶ 株式会社Preferred Networksの特許一覧

<>
  • 特許-変換方法、訓練装置及び推論装置 図1A
  • 特許-変換方法、訓練装置及び推論装置 図1B
  • 特許-変換方法、訓練装置及び推論装置 図1C
  • 特許-変換方法、訓練装置及び推論装置 図2A
  • 特許-変換方法、訓練装置及び推論装置 図2B
  • 特許-変換方法、訓練装置及び推論装置 図3
  • 特許-変換方法、訓練装置及び推論装置 図4
  • 特許-変換方法、訓練装置及び推論装置 図5
  • 特許-変換方法、訓練装置及び推論装置 図6
  • 特許-変換方法、訓練装置及び推論装置 図7
  • 特許-変換方法、訓練装置及び推論装置 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-23
(45)【発行日】2024-01-31
(54)【発明の名称】変換方法、訓練装置及び推論装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20240124BHJP
【FI】
G06N20/00
【請求項の数】 13
(21)【出願番号】P 2020571126
(86)(22)【出願日】2020-01-29
(86)【国際出願番号】 JP2020003260
(87)【国際公開番号】W WO2020162294
(87)【国際公開日】2020-08-13
【審査請求日】2023-01-24
(31)【優先権主張番号】62/802,317
(32)【優先日】2019-02-07
(33)【優先権主張国・地域又は機関】US
【新規性喪失の例外の表示】特許法第30条第2項適用 2019年2月8日にhttps://arxiv.org/abs/1902.02992v1にて公開 2019年5月10日にhttps://arxiv.org/abs/1902.02992v2にて公開 2019年6月12日にhttps://icml.cc/Conferences/2019/ScheduleMultitrack?event=4813にて公開 2019年7月21日にhttps://connpass.com/event/138672/にて公開
(73)【特許権者】
【識別番号】515130201
【氏名又は名称】株式会社Preferred Networks
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】長野 祥大
(72)【発明者】
【氏名】山口 正一朗
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2019-204362(JP,A)
【文献】白川 達也,実ユークリッド空間を超えた埋込み手法の新展開,人工知能,日本,一般社団法人 人工知能学会,2018年03月01日,第33巻 第2号,P.163-169
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換するステップをコンピュータが実行する変換方法。
【請求項2】
前記空間は前記双曲空間に接するよう定義された、請求項1に記載の変換方法。
【請求項3】
前記変換するステップは、指数写像を用いて、前記空間上の確率分布を、前記双曲空間上の確率分布に変換することを含む、請求項1又は2に記載の変換方法。
【請求項4】
前記変換するステップは、前記空間上の確率分布の平行移動を含む、請求項1から3のいずれか一項に記載の変換方法。
【請求項5】
前記確率分布に関するデータの種類はツリー構造を有するものである、請求項1から4のいずれか1項に記載の変換方法。
【請求項6】
第1のニューラルネットワークで実現され、入力データを符号化するエンコーダと、
前記エンコーダによって符号化された入力データによって定義される、双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換する変換部と、
第2のニューラルネットワークで実現され、変換された前記双曲空間上の確率分布に基づいて出力データを得るデコーダと、
前記入力データと前記出力データに基づいて、前記第1のニューラルネットワークと前記第2のニューラルネットワークのパラメータを更新する訓練部と、
を備える訓練装置。
【請求項7】
前記変換部は、指数写像を用いて、前記空間上の確率分布を、前記双曲空間上の確率分布に変換する、請求項6に記載の訓練装置。
【請求項8】
前記変換部は、前記空間上の確率分布を平行移動させる、請求項6又は7に記載の訓練装置。
【請求項9】
前記デコーダは、前記双曲空間上の確率分布からサンプリングされたデータを入力して、前記出力データを得る、請求項6から8のいずれか1項に記載の訓練装置。
【請求項10】
第1の機械学習で実現され、入力データを入力するエンコーダと、
前記エンコーダの出力によって定義される、双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換する変換部と、
第2の機械学習で実現され、変換された前記双曲空間上の確率分布に基づいて出力データを得るデコーダと、
を備える推論装置。
【請求項11】
前記変換部は、指数写像を用いて、前記空間上の確率分布を、前記双曲空間上の確率分布に変換する、請求項10に記載の推論装置。
【請求項12】
前記変換部は、前記空間上の確率分布を平行移動させる、請求項10又は11に記載の推論装置。
【請求項13】
前記デコーダは、前記双曲空間上の確率分布からサンプリングされたデータを入力して、前記出力データを得る、請求項10から12のいずれか1項に記載の推論装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、変換方法、訓練装置及び推論装置に関する。
【背景技術】
【0002】
木構造等の階層構造を有するデータを容易に取り扱うことができる空間として双曲空間が知られており、近年、機械学習の分野等で注目されている。
【0003】
しかしながら、双曲空間は非ユークリッド空間であるため、双曲空間上で一般的な確率分布を定義した場合、その取り扱いが困難(例えば、確率密度が計算できない等)であった。
【先行技術文献】
【非特許文献】
【0004】
【文献】Nickel, M. and Kiela, D. Poincar´e embeddings for learning hierarchical representations. In Advances in Neural Information Processing Systems 30, pp. 6338-6347. 2017.
【発明の概要】
【発明が解決しようとする課題】
【0005】
本開示は、上記の点に鑑みてなされたもので、双曲空間上の確率分布を得ることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、一実施形態に係る変換方法は、双曲空間に対して定義された空間上の確率分布を、前記双曲空間上の確率分布に変換するステップをコンピュータが実行する。
【図面の簡単な説明】
【0007】
図1A】双曲空間及び接空間の一例を説明するための図である。
図1B】平行移動の一例を説明するための図である。
図1C】指数写像の一例を説明するための図である。
図2A】接空間及び双曲空間上の確率分布の対数尤度の一例を説明するための図(その1)である。
図2B】接空間及び双曲空間上の確率分布の対数尤度の一例を説明するための図(その2)である。
図3】変分オートエンコーダへの応用例を説明するための図である。
図4】一実施形態に係る訓練装置の機能構成の一例を示す図である。
図5】一実施形態に係る訓練処理の一例を示すフローチャートである。
図6】一実施形態に係る推論装置の機能構成の一例を示す図である。
図7】一実施形態に係る推論処理の一例を示すフローチャートである。
図8】コンピュータ装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0008】
以下、本発明の一実施形態について説明する。本実施形態では、双曲空間に接する接空間上で定義された確率分布を変換することで、当該双曲空間上の確率分布を得る場合について説明する。
【0009】
<理論構成>
まず、本実施形態の理論的構成について説明する。
【0010】
双曲空間とは負のガウス曲率を持つ非ユークリッド空間のことである。双曲空間の一例(又は、双曲空間の表現方法の1つ)としてローレンツモデルが知られている。n次元のローレンツモデルは、z=(z,z,・・・,z)∈Rn+1として、以下の式(1)で表される。なお、Rは実数全体の集合を表す。
【0011】
【数1】
ここで、
【0012】
【数2】
はローレンツ積である。なお、明細書のテキスト中ではローレンツ積を<z,z’>と表記する。
【0013】
本実施形態では、双曲空間の一例としてローレンツモデルを想定し、ローレンツモデルに対して定義された空間、具体的にはローレンツモデルに接する接空間上で定義された確率分布を変換することで、当該ローレンツモデル上の確率分布を得るものとする。ただし、ローレンツモデルは双曲空間の一例であって、本実施形態は任意の双曲空間に対して適用可能である。また、異なる種類の双曲空間を相互に変換して用いることもできる。なお、ローレンツモデルを表す記号は、上記の式(1)に示す通り、白抜きのHであるが、明細書のテキスト中では単にHと表記する。このことは、実数全体の集合を表す記号Rについても同様である。
【0014】
μ=(1,0,・・・,)∈H⊂Rn+1をn次元のローレンツモデルの原点とする。また、n次元のローレンツモデルHにμ∈Hで接する接空間をTμと表記する。ここで、接空間Tμは以下の式(2)で定義される。
【0015】
【数3】
一例として、1次元のローレンツモデルHとμ∈Hにおける接空間Tμ図1Aに示す。図1Aに示されるように、接空間Tμは、μ∈Hで双曲空間Hに接する双曲平面である。
【0016】
このとき、本実施形態では、確率分布の一例であるガウス分布を決定するパラメータμとΣが与えられた場合に、以下の(S1)~(S4)により、双曲空間H上の確率分布を得ることができる。なお、Σはn×nの行列である。
【0017】
(S1)R上のガウス分布N(0,Σ)からベクトルv’∈Rをサンプリングする。
【0018】
(S2)上記のS1でサンプリングしたベクトルv’からベクトルv=(0,v’)∈Rn+1を作成する。これは、ベクトルv’を接空間Tμ0⊂Rn+1上の点と見做すことを意味する。
【0019】
(S3)後述する平行移動PTμ0→μにより、このベクトルvを接空間Tμ上に移動させる。この移動後のベクトルをuと表す。
【0020】
(S4)後述する指数写像expμにより、上記のS2で接空間Tμ上に平行移動させたベクトルuを双曲空間H上に写像する。これにより、双曲空間H上の確率分布が得られる。このようにして得られた確率分布を本実施形態では、擬双曲ガウス分布G(μ,Σ)とも称する。
【0021】
なお、接空間Tμ上の点を双曲空間H上に写像することを「双曲空間H上に埋め込む」、「双曲空間H上に貼り付ける」又は「双曲空間H上の点に変換する」等と称されてもよい。このため、擬双曲ガウス分布G(μ,Σ)を得ることは、例えば、「R上のガウス分布N(0,Σ)を双曲空間H上に埋め込むことで、擬双曲ガウス分布G(μ,Σ)を得る」と表現してもよいし、「R上のガウス分布N(0,Σ)を双曲空間H上に貼り付けることで、擬双曲ガウス分布G(μ,Σ)を得る」と表現してもよいし、「R上のガウス分布N(0,Σ)を双曲空間H上の擬双曲ガウス分布G(μ,Σ)に変換することで、擬双曲ガウス分布G(μ,Σ)を得る」と表現してもよい。
【0022】
また、上記のS2により、R上のガウス分布N(0,Σ)は、接空間Tμ0上の確率分布(ガウス分布)と見做すこともできる。
【0023】
≪平行移動≫
任意のμ,ν∈Hに対して、平行移動PTν→μは、接空間Tν上のベクトルを測地線に沿って、かつ、計量テンソルを変えずに、接空間Tνから接空間Tμに移動させる写像と定義される。したがって、PTν→μを平行移動とすれば、任意のv,v’∈Tνに対して、<PTν→μ(v),PTν→μ(v’)>=<v,v’>が成り立つ。
【0024】
ローレンツモデルH上の平行移動PTν→μは、v∈Tνに対して、以下の式(3)で表すことができる。
【0025】
【数4】
ここで、α=-<ν,μ>である。
【0026】
また、上記の式(3)に示す平行移動PTν→μの逆写像PTμ→ν -1は、以下の式(4)で表すことができる。
【0027】
【数5】
一例として、1次元のローレンツモデルHの原点μにおける接空間Tμ0上のベクトルvを、平行移動PTν→μにより接空間Tμ上のベクトルuに移動させる場合を図1Bに示す。図1Bに示されるように、接空間Tμ0上のベクトルvは、平行移動PTν→μによりローレンツモデルHの測地線に沿って、接空間Tμの上のベクトルuに移動する。
【0028】
≪指数写像≫
任意のu∈Tμに対して、γμ(0)=μ、かつ、
【0029】
【数6】
となる極大測地線γμ:[0,1]→Hが一意に定義できることが一般に知られている。このとき、指数写像expμ:Tμ→Hは、expμ(u)=γμ(1)で定義される。
【0030】
これに対して、本実施形態では、H上のμ及びexpμ(u)の距離が||u||=√(<u,u>)と一致するように、上記の指数写像expμ:Tμ→Hを構成する。すなわち、u∈Tμに対して、指数写像expμ:Tμ→Hは、以下の式(5)で表すことができる。
【0031】
【数7】
また、上記の式(5)をuに関して解くことで、指数写像expμの逆写像を得ることができる。すなわち、以下の式(6)で表される逆写像expμ -1が得られる。
【0032】
【数8】
ここで、α=-<μ,z>である。
【0033】
一例として、1次元のローレンツモデルHのμにおける接空間Tμ上のベクトルuを、指数写像expμによりローレンツモデルH上に写像する場合を図1Cに示す。図1Cに示されるように、接空間Tμ上のベクトルuは、指数写像expμによりローレンツモデルH上のベクトルz=expμ(u)に写像される。
【0034】
≪確率密度関数≫
上記で説明した平行移動PTμ0→μ及び指数写像expμは共に微分可能であるため、その合成写像も微分可能である。つまり、
【0035】
【数9】
は微分可能である。このため、上記のS1~S4により得られた擬双曲ガウス分布G(μ,Σ)は、z∈Hで確率密度関数を計算することができる。
【0036】
一般には、確率密度関数f(x)に与えられた確率変数をXとして、yにおけるY=f(X)の対数尤度は、
【0037】
【数10】
と表すことができる。ここで、fは、逆写像が存在する連続な写像である。
【0038】
したがって、z=projμにおける擬双曲ガウス分布G(μ,Σ)の対数尤度は、以下の式(7)で表すことができる。
【0039】
【数11】
ここで、上記の式(7)の右辺の第2項中の行列式は、連鎖律により以下の式(8)のように表すことができる。
【0040】
【数12】
上記の式(8)の右辺の第1項及び第2項は、それぞれ
【0041】
【数13】
と計算することができる。したがって、上記の式(7)の右辺の第2項中の行列式は、
【0042】
【数14】
と計算することができる。
【0043】
以上により、上記の式(7)によって擬双曲ガウス分布G(μ,Σ)の確率密度を陽に計算することが可能となる。ここで、接空間上のガウス分布の対数尤度と、この確率分布をprojμにより双曲空間上に写像して得られた擬双曲ガウス分布G(μ,Σ)の対数尤度とをヒートマップで表現した例を図2A及び図2Bに示す。図2A及び図2Bに示されるように、平行移動PTμ0→μ及び指数写像expμの性質(つまり、計量テンソルを変えないことや、μとexpμ(u)の距離が||u||と一致すること等)から、接空間上の確率分布が双曲空間上に適切に埋め込まれていることがわかる。なお、図2A及び図2B中で×印は原点(つまり、μ)を示している。
【0044】
このように、本実施形態では、ユークリッド空間上の確率分布を用いて、確率密度が陽に計算可能であり、かつ、サンプリングが微分可能な、双曲空間上の確率分布を得ることができる。サンプリングが可能な確率分布からの変数変換によって双曲空間上の確率分布を得ることができるため、双曲空間上の確率分布でも容易にサンプリングを行うことができる。また、例えば、確率密度関数の値が計算可能であるため、或る特定のサンプルが出現する確率を計算することができる。また、例えば、計算が困難な項が存在することに起因する誤差の発生や近似値の利用の必要性を低減することができ、機械学習における訓練や推論等の精度を向上させることができる。
【0045】
なお、上記においては、接空間Tμ0は双曲空間Hにμで接するものとして説明したが、コンピュータが実行する処理により接空間Tμ0を定義する場合には双曲空間Hに厳密に(つまり、数学的に厳密に)接していない場合がある。すなわち、本開示において「接する」という用語は、例えば、コンピュータの有効桁数や計算誤差等によって接空間Tμ0が双曲空間Hに厳密に接していない場合も含む。また、双曲空間上の確率分布を適切に得ることができれば、双曲空間に接する空間に基づいた空間に確率分布が定義されてもよい。例えば、双曲空間と厳密に接していない空間や、双曲空間または双曲空間に接する空間等に対し所定の操作を行って得られた空間を利用する場合も含んでよい。
【0046】
[実施例]
一実施例として、本実施形態を変分オートエンコーダ(VAE:Variational Autoencoder)に応用する場合について説明する。本実施例では、変分オートエンコーダに含まれるエンコーダの出力を用いてガウス分布から擬双曲ガウス分布を得て、この擬双曲ガウス分布からサンプリングされる点を潜在変数としてデコーダに入力する。すなわち、図3に示されるように、変分オートエンコーダに含まれるエンコーダ110にデータx入力して、μ及びσを得る。次に、上記のS1及びS2で説明したように、このσで決定されるガウス分布からベクトルv∈Tμ0を得る。そして、上記のS3で説明したように、μを用いた平行移動PTμ0→μによりベクトルvを移動させてベクトルuを得た後、上記のS4で説明したように、指数写像expμによりベクトルuを双曲空間H上に写像して潜在変数z∈Hを得る。この潜在変数zは、変分オートエンコーダに含まれるデコーダ120に入力され、データ^xが出力される。なお、「^x」は、xの推論結果を表す。
【0047】
なお、データxは、例えば、木構造等の階層構造を有するデータセットからサンプリングされたデータである。エンコーダ110は変分オートエンコーダのエンコーダとして利用可能な任意の機械学習モデルを用いることができるが、例えば、入力層と複数のノードを含む少なくとも1つの隠れ層と出力層とを含むニューラルネットワークを用いることができる。同様に、デコーダ120は変分オートエンコーダのデコーダとして利用可能な任意の機械学習モデルを用いることができるが、例えば、入力層と複数のノードを含む少なくとも1つの隠れ層と出力層とを含むニューラルネットワークを用いることができる。
【0048】
<訓練装置10>
以降では、訓練データセットを用いて変分オートエンコーダを訓練(学習)する訓練装置10について説明する。なお、訓練データセットをD={x(1),x(2),・・・,x(N)}と表す。各x(i)は訓練データ、Nは訓練データ数である。上述したように、訓練データセットは何等かの階層構造を有していてもよい。
【0049】
≪機能構成≫
一実施形態に係る訓練装置10の機能構成を図4に示す。図4は、一実施形態に係る訓練装置10の機能構成の一例を示す図である。
【0050】
図4に示す訓練装置10は、エンコード部201と、変換部202と、デコード部203と、訓練部204とを有する。
【0051】
エンコード部201は、変分オートエンコーダのエンコーダ110により実現される。エンコード部201は、訓練データx(i)を入力して、σ∈Hとμ∈Rを出力する。言い換えれば、エンコード部201は、入力された訓練データをσ及びμに符号化(エンコード)する。
【0052】
変換部202は、σ及びμを入力して、双曲空間上の確率分布からサンプリングされたzを潜在変数として得る。すなわち、変換部202は、例えば、σの各要素を対角成分に持つn×n行列Σを作成した上で、上記のS1~S4により擬双曲ガウス分布G(μ,Σ)からサンプリングされたz∈Hを得る。
【0053】
デコード部203は、変分オートエンコーダのデコーダ120により実現される。デコード部203は、潜在変数zを入力して、訓練データx(i)の推論結果であるデータ^x(i)を得る。言い換えれば、デコード部203は、入力された潜在変数zをデータ^x(i)に復号(デコード)する。
【0054】
訓練部204は、訓練データx(i)とその推論結果であるデータ^x(i)とを入力して、変分オートエンコーダに含まれるエンコーダ110及びデコーダ120を訓練(学習)する。例えば、変分オートエンコーダに含まれるエンコーダ110及びデコーダ120がニューラルネットワークで実現されている場合、訓練部204は、確率的勾配降下法と誤差逆伝播法等により変分下限を最大化することで、エンコーダ110及びデコーダ120を同時に訓練する。
【0055】
≪訓練処理≫
一実施形態に係る訓練処理の流れを図5に示す。図5は、一実施形態に係る訓練処理の一例を示すフローチャートである。
【0056】
エンコード部201は、訓練データx(i)を入力して、σ∈Hとμ∈Rを出力する(ステップS11)。
【0057】
次に、変換部202は、分散σを用いて、ノイズvを生成する(ステップS12)。すなわち、変換部202は、例えば、分散σの各要素を対角成分に持つn×n行列Σを作成した上で、R上のガウス分布N(0,Σ)からベクトルv’∈Rをサンプリングし、このベクトルv’からノイズv=(0,v’)∈Rn+1を生成する。なお、このノイズvは、v∈Tμ0である。
【0058】
次に、変換部202は、ν=μとして、上記の式(4)に示す平行移動PTμ0→μ(v)によりノイズvをu=PTμ0→μ(v)∈Tμに移動させる(ステップS13)。言い換えれば、変換部202は、ノイズv∈Tμ0をu=PTμ0→μ(v)∈Tμに変換する。
【0059】
次に、変換部202は、上記の式(5)に示す指数写像expμによりuを双曲空間上に写像して、潜在変数zを得る(ステップS14)。すなわち、変換部202は、z=expμ(u)により双曲空間上の点z∈Hを得る。これは、双曲空間上の擬双曲ガウス分布G(μ,Σ)から潜在変数zをサンプリングすることと等価である。
【0060】
次に、デコード部203は、上記のステップS14で得られた潜在変数zを入力して、訓練データx(i)の推論結果であるデータ^x(i)を出力する(ステップS15)。
【0061】
そして、訓練部204は、訓練データx(i)とその推論結果であるデータ^x(i)とを入力して、変分オートエンコーダに含まれるエンコーダ110及びデコーダ120を訓練(学習)する(ステップS16)。なお、変分オートエンコーダに含まれるエンコーダ110及びデコーダ120の訓練方法は既知の訓練方法を用いることが可能である。例えば、ミニバッチ学習、バッチ学習、オンライン学習等によりエンコーダ110及びデコーダ120のパラメータを更新すればよい。これにより、変分オートエンコーダが訓練される。このように訓練された変分オートエンコーダは確率分布の確率蜜が陽に計算可能である。このため、従来の双曲空間を潜在変数空間に用いた場合と異なり、サンプリングにあたって誤差や近似値を用いる必要がなく、所定の精度の変分オートエンコーダを得るまでの時間(つまり、訓練完了までの時間)やコストを削減させることが可能となる。また、精度の高い変分オートエンコーダのモデルを得ることが可能となる。
【0062】
なお、このように訓練された変分オートエンコーダは、例えば、訓練データに類似する新規データの生成、既存のデータ点間の補完、データ間の関係の解釈等の様々なことに用いることが可能である。
【0063】
<推論装置20>
以降では、訓練済みの変分オートエンコーダを用いて推論を行う推論装置20について説明する。
【0064】
≪機能構成≫
一実施形態に係る推論装置20の機能構成を図6に示す。図6は、一実施形態に係る推論装置20の機能構成の一例を示す図である。
【0065】
図6に示す推論装置20は、エンコード部201と、変換部202と、デコード部203と、訓練部204とを有する。これらは、訓練装置10のエンコード部201、変換部202及びデコード部203と同様である。ただし、推論装置20のエンコード部201及びデコード部203は、訓練済みのエンコーダ110及びデコーダ120でそれぞれ実現される。
【0066】
≪推論処理≫
一実施形態に係る推論処理の流れを図7に示す。図7は、一実施形態に係る推論処理の一例を示すフローチャートである。
【0067】
エンコード部201は、データxを入力して、σ∈Hとμ∈Rを出力する(ステップS21)。
【0068】
次に、変換部202は、図5のステップS12と同様に、分散σを用いて、ノイズvを生成する(ステップS22)。
【0069】
次に、変換部202は、図5のステップS13と同様に、ν=μとして、上記の式(4)に示す平行移動PTμ0→μ(v)によりノイズvをu=PTμ0→μ(v)∈Tμに移動させる(ステップS23)。
【0070】
次に、変換部202は、図5のステップS14と同様に、上記の式(5)に示す指数写像expμによりuを双曲空間上に写像して、潜在変数zを得る(ステップS24)。
【0071】
そして、デコード部203は、上記のステップS24で得られた潜在変数zを入力して、データxの推論結果であるデータ^xを出力する(ステップS25)。このデータ^xは、所定の精度でデータxを推論した結果である。また、このときの潜在変数zは、入力されたデータxの潜在的な構造を抽出したものである。このため、訓練済みの変分オートエンコーダに入力されるデータとしては、潜在的な構造を抽出可能なものであればどのようなデータが入力されてもよい。このようなデータとしては、例えば、手書きの文字、手書きのスケッチ、音楽、化学物質等を表すデータ等が挙げられる。また、特に、木構造(ツリー構造)を有する種類のデータの潜在的な構造を好適に抽出することができる。
【0072】
木構造を有するデータとしては、例えば、自然言語(より詳細には、例えば、Zipf則が見られる自然言語)。スケールフリー性を持つネットワーク(例えば、ソーシャルネットワークや意味ネットワーク等)が挙げられる。双曲空間は一定の負の曲率を持つ曲がった空間であるため、本実施形態によれば、木構造のようにそのボリューム(データ数)が指数的に増加するような構造を効率的に表現することができる。
【0073】
本実施例では、ガウス分布を双曲空間に埋め込んだ分布を潜在変数zの分布(潜在分布)としたが、変分下限を最大化することができる確率分布であれば、任意の確率分布を双曲空間に埋め込んだ分布を潜在分布として使用することができる。通常、潜在分布としてはガウス分布が良く用いられるが、変分オートエンコーダに入力されるデータの特徴に応じて、例えば、時間ベースの特徴がある場合はポアソン分布、空間ベースの特徴がある場合にはレイリー分布等が用いられる。したがって、これらの分布を双曲空間に埋め込んだ分布が潜在分布として用いられてもよい。
【0074】
なお、本実施例では、擬双曲ガウス分布を用いた変分オーエンコードへの応用例を説明したが、例えば、単語埋め込みに対しても応用可能である。本実施形態を単語埋め込みに応用することで、単語埋め込みのような潜在空間が確率的な生成モデルであっても、各エントリー(単語)の潜在空間での表現を点ではなく分布として扱うことができる。このため、各エントリーの不確実性や包含関係をモデル化でき、より豊かな構造を潜在空間に埋め込むことが可能になる。
【0075】
<ハードウェア構成>
上記の実施例に係る訓練装置10及び推論装置20は装置又はシステムで実現され、これらの装置、システムは、例えば、図8に示すコンピュータ装置500のハードウェア構成で実現可能である。図8は、コンピュータ装置500のハードウェア構成の一例を示す図である。
【0076】
図8に示すコンピュータ装置500は、プロセッサ501と、主記憶装置502と、補助記憶装置503と、ネットワークインタフェース504と、デバイスインタフェース505とを備え、これらがバス506を介して接続されている。なお、図8に示すコンピュータ装置500は、各構成要素を1つずつ備えているが、同一の構成要素を複数備えていてもよい。また、1台のコンピュータ装置500が示されているが、ソフトウェアが複数のコンピュータ装置にインストールされて、当該複数のコンピュータ装置それぞれがソフトウェアの項となる一部の処理を実行してもよい。
【0077】
プロセッサ501は、コンピュータ装置500の制御装置及び演算装置を含む電子回路(処理回路、Processing circuit、Processing circuitry)である。プロセッサ501は、コンピュータ装置500の内部構成の各装置等から入力されたデータやプログラムに基づいて演算処理を行い、演算結果や制御信号を各装置等に出力する。具体的には、プロセッサ501は、コンピュータ装置500のOS(Operating System)や、アプリケーションプログラム等を実行することにより、コンピュータ装置500を構成する各構成要素を制御する。プロセッサ501は、上記の処理を行うことができればどのようなものも用いることができる。装置、システム等及びそれらの各構成要素は、プロセッサ501により実現される。ここで、処理回路とは、1チップ上に配置された1又は複数の電気回路を指してもよいし、2つ以上のチップあるいはデバイス上に配置された1又は複数の電気回路を指してもよい。
【0078】
主記憶装置502は、プロセッサ501が実行する命令及び各種データ等を記憶する記憶装置であり、主記憶装置502に記憶された情報がプロセッサ501により直接読み出される。補助記憶装置503は、主記憶装置502以外の記憶装置である。なお、これらの記憶装置は、電子情報を格納可能な任意の電子部品を意味するものとし、メモリでもストレージでもよい。また、メモリには、揮発性メモリと不揮発性メモリとがあるが、いずれでもよい。装置、システム等が各種データを保存するためのメモリは主記憶装置502又は補助記憶装置503により実現されてもよい。別の例として、装置、システム等にアクセラレータが備えられている場合には、各種データを保存するためのメモリは、当該アクセラレータに備えられているメモリにより実現されてもよい。
【0079】
ネットワークインタフェース504は、無線又は有線により、通信ネットワーク600に接続するためのインタフェースである。ネットワークインタフェース504は、既存の通信規格に適合したものを用いればよい。ネットワークインタフェース504により、通信ネットワーク600を介して通信接続された外部装置700Aと情報のやり取りが行なわれてもよい。
【0080】
外部装置700Aには、例えば、カメラ、モーションキャプチャ、出力先デバイス、外部のセンサ、入力元デバイス等が含まれる。また、外部装置700Aは、訓練装置10又は推論装置20の構成要素の一部の機能を有する装置であってもよい。そして、コンピュータ装置500は、訓練装置10又は推論装置20の処理結果の一部を、クラウドサービスのように通信ネットワーク600を介して受け取ってもよい。また、外部装置700Aとしてサーバを通信ネットワーク600に接続し、訓練済みモデルを外部装置700Aに記憶させるようにしてもよい。この場合には、推論装置20は、通信ネットワーク600を介して外部装置700Aにアクセスし、訓練済みモデルを用いた推論を行ってもよい。
【0081】
デバイスインタフェース505は、外部装置700Bと直接接続するUSB(Universal Serial Bus)等のインタフェースである。外部装置700Bは、外部記録媒体でもよいし、ストレージ装置でもよい。装置、システム等が各種データを保存するためのメモリは外部装置700Bにより実現されていてもよい。
【0082】
外部装置700Bは、出力装置であってもよい。出力装置は、例えば、画像を表示するための表示装置でもよいし、音声等を出力する装置等でもよい。例えば、LCD(Liquid Crystal Display)、CRT(Cathode Ray Tube)、PDP(Plasma Display Panel)、スピーカ等があるが、これらに限られるものではない。
【0083】
なお、外部装置700Bは、入力装置であってもよい。入力装置は、例えば、キーボード、マウス、タッチパネル等のデバイスであり、これらのデバイスにより入力された情報がコンピュータ装置500に与えられる。入力装置からの信号はプロセッサ501に出力される。
【0084】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既存の技術との組み合わせ等が可能である。
【0085】
本願は、アメリカ合衆国に2019年2月7日に出願された仮出願62/802,317号に基づくものであり、その全内容はここに参照をもって援用される。
【符号の説明】
【0086】
10 訓練装置
20 推論装置
201 エンコード部
202 変換部
203 デコード部
204 訓練部
図1A
図1B
図1C
図2A
図2B
図3
図4
図5
図6
図7
図8