(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-23
(45)【発行日】2024-05-02
(54)【発明の名称】計算機、計算方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240424BHJP
【FI】
G06N20/00
(21)【出願番号】P 2020044786
(22)【出願日】2020-03-13
【審査請求日】2023-03-09
(73)【特許権者】
【識別番号】504182255
【氏名又は名称】国立大学法人横浜国立大学
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】島 圭介
(72)【発明者】
【氏名】迎田 隆幸
【審査官】武田 広太郎
(56)【参考文献】
【文献】特開2019-023801(JP,A)
【文献】迎田 隆幸 ほか,未分類状態を考慮した隠れセミマルコフモデルによる時系列パターン解析,電気学会研究会資料 システム研究会 ST-18-039~054・056~078・080~084,日本,一般社団法人電気学会,2018年09月26日,pp. 89-93
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
特徴ベクトルと、複数のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成する正規分布計算部と、
前記特徴ベクトルと、前記正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成する二次関数計算部と、
前記第1中間ベクトルと前記第2中間ベクトルとの積に基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を算出する余事象尤度計算部と、
を備える計算機。
【請求項2】
前記第1中間ベクトルに基づいて、前記複数のクラスそれぞれについて前記特徴ベクトルが属することの尤度であるクラス尤度を算出するクラス尤度計算部
を備える請求項1に記載の計算機。
【請求項3】
前記余事象尤度計算部は、前記第1中間ベクトルと前記第2中間ベクトルとの積と、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの事前確率とに基づいて、前記余事象尤度を算出し、
前記クラス尤度計算部は、
前記第1中間ベクトルと、前記事前確率の補確率とに基づいて、前記クラス尤度を算出する
請求項2に記載の計算機。
【請求項4】
前記特徴ベクトルの次元数を拡張した変換特徴ベクトルを生成する変換部と、
前記正規分布計算部は、前記複数の正規分布の確率密度関数の対数を取った関数に、前記変換特徴ベクトルを代入することで、前記第1中間ベクトルを生成し、
前記二次関数計算部は、前記複数の二次関数の対数を取った関数に、前記変換特徴ベクトルを代入することで、前記第2中間ベクトルを生成する
請求項1から請求項3の何れか1項に記載の計算機。
【請求項5】
特徴ベクトルと、前記複数のクラスのうち当該特徴ベクトルが属するクラスとの組み合わせからなる学習用データセットを用いて、前記複数の確率密度関数に係る係数を学習する学習部
を備え、
前記複数の二次関数は、学習された前記係数を用いて表される
請求項1から請求項4の何れか1項に記載の計算機。
【請求項6】
特徴ベクトルと、前記複数のクラスのうち当該特徴ベクトルが属するクラスとの組み合わせからなる学習用データセットを用いて、前記複数の確率密度関数に係る係数を学習する第1学習部と、
前記事前確率を、前記学習用データセットに係る特徴ベクトルを、基前記クラス尤度計算部が正しく識別できた確率に基づいて決定する第2学習部と
を備え、
前記複数の二次関数は、学習された前記係数を用いて表される
請求項3に記載の計算機。
【請求項7】
複数のクラスに係る分布を表す複数の正規分布の確率密度関数を算出するクラス分布特定部と、
前記複数の確率密度関数のそれぞれと、当該確率密度関数に係る係数に基づく二次関数との積によって表される複数の余事象分布関数によって、前記複数のクラスのいずれにも属しないアイテムの分布を示す混合余事象分布関数を生成する余事象分布特定部と
を備える計算機。
【請求項8】
計算機が、特徴ベクトルと、複数のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成するステップと、
前記計算機が、前記特徴ベクトルと、前記正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成するステップと、
前記計算機が、前記第1中間ベクトルと前記第2中間ベクトルとの積に基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を算出するステップと、
を備える計算方法。
【請求項9】
計算機に、
特徴ベクトルと、複数のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成するステップと、
前記特徴ベクトルと、前記正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成するステップと、
前記第1中間ベクトルと前記第2中間ベクトルとの積に基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を算出するステップと、
を実行させるためのプログラム。
【請求項10】
特徴ベクトルと、複数のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成する正規分布計算部と、
前記特徴ベクトルと、前記正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成する二次関数計算部と、
前記第1中間ベクトルと前記第2中間ベクトルとの積に基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を算出する余事象尤度計算部と、
のそれぞれをハードウェアとして構成させるコンフィグレーションの処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、計算機、計算方法及びプログラムに関する。
【背景技術】
【0002】
機械学習によるパターン識別法が広い分野において用いられている。一般的なパターン識別法は、予め設定した複数のクラスの中から入力信号の識別がなされるため、学習時に想定されていないパターンの入力がされた場合に誤識別を起こす。これに対し、非特許文献1には、想定しないクラスに属する事後確率を推定するモデルが提示されている。非特許文献1によれば、平均値を同じくし、分散の異なる2つの正規分布の差分により余事象の分布を表現している。
【先行技術文献】
【非特許文献】
【0003】
【文献】K. Shima and T. Aoki, "A novel classification method with unlearned-class detection based on a gaussian mixture model," 2014 IEEE International Conference on Systems, Man, and Cybernetics (SMC), San Diego, CA, 2014, pp. 3747-3752.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1に記載の手法は、学習データ数が少ないときにモデルパラメータを正しく求めることが困難である。これは、非特許文献1に記載の手法が、2つの正規分布の差によって余事象を表現するため、2つの正規分布の差が正数でなければならないなどの制約が生じるためである。
本開示の目的は、制約の少ないモデルにより、想定しないクラスに属する事後確率の推定を可能とするための計算機、計算方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0005】
本発明の第1の態様によれば、計算機は、特徴ベクトルと、複数のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成する正規分布計算部と、前記特徴ベクトルと、前記正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成する二次関数計算部と、前記第1中間ベクトルと前記第2中間ベクトルとの積に基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を算出する余事象尤度計算部と、を備える。
【0006】
本発明の第2の態様によれば、第1の態様に係る計算機が、前記第1中間ベクトルに基づいて、前記複数のクラスそれぞれについて前記特徴ベクトルが属することの尤度であるクラス尤度を算出するクラス尤度計算部を備えるものであってよい。
【0007】
本発明の第3の態様によれば、第2の態様に係る計算機において、前記余事象確率計算部は、前記第1中間ベクトルと前記第2中間ベクトルとの積と、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの事前確率とに基づいて、前記余事象尤度を算出し、前記クラス尤度計算部は、前記第1中間ベクトルと、前記事前確率の補確率とに基づいて、前記クラス尤度を算出するものであってよい。
【0008】
本発明の第4の態様によれば、第1から第3の何れかの態様に係る計算機において、前記特徴ベクトルの次元数を拡張した変形特徴ベクトルを生成する次元拡張部と、前記正規分布計算部は、前記複数の正規分布の確率密度関数の対数を取った関数に、前記変形特徴ベクトルを代入することで、前記第1中間ベクトルを生成し、前記二次関数計算部は、前記複数の二次関数の対数を取った関数に、前記変形特徴ベクトルを代入することで、前記第2中間ベクトルを生成するものであってよい。
【0009】
本発明の第5の態様によれば、第1から第4の何れかの態様に係る計算機が、特徴ベクトルと、前記複数のクラスのうち当該特徴ベクトルが属するクラスとの組み合わせからなる学習用データセットを用いて、前記複数の確率密度関数に係る係数を学習する学習部を備え、前記複数の二次関数は、学習された前記係数を用いて表されるものであってよい。
【0010】
本発明の第6の態様によれば、第3の態様に係る計算機が、特徴ベクトルと、前記複数のクラスのうち当該特徴ベクトルが属するクラスとの組み合わせからなる学習用データセットを用いて、前記複数の確率密度関数に係る係数を学習する第1学習部と、前記事前確率を、前記学習用データセットに係る特徴ベクトルを、基前記クラス尤度計算部が正しく識別できた確率に基づいて決定する第2学習部とを備え、前記複数の二次関数は、学習された前記係数を用いて表されるものであってよい。
【0011】
本発明の第7の態様によれば、計算機は、複数のクラスに係る分布を表す複数の正規分布の確率密度関数を算出するクラス分布特定部と、前記複数の確率密度関数のそれぞれと、当該確率密度関数に係る係数に基づく二次関数との積によって表される複数の余事象分布関数によって、前記複数のクラスのいずれにも属しないアイテムの分布を示す混合余事象分布関数を生成する余事象分布特定部とを備える。
【0012】
本発明の第8の態様によれば、計算方法は、計算機が、特徴ベクトルと、複数のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成するステップと、前記計算機が、前記特徴ベクトルと、前記正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成するステップと、前記計算機が、前記第1中間ベクトルと前記第2中間ベクトルとの積に基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を算出するステップと、を備える。
【0013】
本発明の第9の態様によれば、プログラムは、計算機に、特徴ベクトルと、複数のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成するステップと、前記特徴ベクトルと、前記正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成するステップと、前記第1中間ベクトルと前記第2中間ベクトルとの積に基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を算出するステップと、を実行させる。
【0014】
本発明の第10の態様によれば、プログラムは、特徴ベクトルと、複数のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成する正規分布計算部と、前記特徴ベクトルと、前記正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成する二次関数計算部と、前記第1中間ベクトルと前記第2中間ベクトルとの積に基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を算出する余事象尤度計算部と、のそれぞれをハードウェアとして構成させるコンフィグレーションの処理をコンピュータに実行させる。
【発明の効果】
【0015】
上記態様のうち少なくとも1つの態様によれば、余事象を正規分布と二次関数の積によって表すことができるため、制約の少ないモデルにより、想定しないクラスに属する事後確率の推定が可能となる。
【図面の簡単な説明】
【0016】
【
図1】第1の実施形態に係るクラス識別システム1の構成を示す概略ブロック図である。
【
図2】第1の実施形態に係る余事象分布関数の例を示すグラフである。
【
図3】第1の実施形態に係る数理モデルの構造を示す図である。
【
図4】第1の実施形態に係る学習装置20の構成を示す概略ブロック図である。
【
図5】第1の実施形態に係る学習装置20の動作を示すフローチャートである。
【
図6】第1の実施形態に係る識別装置10の構成を示す概略ブロック図である。
【
図7】第1の実施形態に係る識別装置10の動作を示すフローチャートである。
【
図8】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0017】
〈第1の実施形態〉
《クラス識別システム1》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係るクラス識別システム1の構成を示す概略ブロック図である。クラス識別システム1は、複数のクラスの中から入力信号が属するクラスを識別するためのシステムである。クラス識別システム1は、学習段階において設定された複数の既知クラスと、当該複数の既知クラスのいずれにも属しないことを示す余事象クラスについて、入力信号の尤度を計算する。
【0018】
クラス識別システム1は、識別装置10と学習装置20とを備える。識別装置10は、学習装置20によって訓練された学習済みモデルを用いて、入力信号が属するクラスを識別する。学習装置20は、学習用データセットを用いて数理モデルを訓練する。識別装置10および学習装置20は、計算機の一例である。学習済みモデルとは、数理モデルと、訓練によって決定されたパラメータの組み合わせである。
【0019】
《数理モデルについて》
第1の実施形態に係る数理モデルについて説明する。
第1の実施形態に係るクラス識別システム1は、混合正規分布モデル(Gaussian Mixture Model:GMM)によって既知クラスの分布を表し、以下に示す混合余事象分布モデル(Complementary Gaussian Mixture Model:CGMM)によって余事象クラスの分布を表す。
【0020】
《既知クラスのGMM》
既知クラスの数がK個である場合、各既知クラスは、GMMにより、以下の式(1)によって表される。すなわち、第1の実施形態において、信号xnの既知クラスkにおける生起確率f(xn)は、以下の式(1)によって表される。
【0021】
【0022】
ここで、Mkは、GMMにおいて既知クラスkを表す正規分布コンポーネントの数を示す。また、αk、mは、既知クラスkのm番目の正規分布コンポーネントの混合度を示す。
g(xn:μ(k,m),Σ(k,m))は、式(2)で表される正規分布コンポーネントを示す。μ(k,m)は、既知クラスkのm番目の正規分布コンポーネントの平均値ベクトルを示し、Σ(k,m)は、既知クラスkのm番目の正規分布コンポーネントの共分散行列を示す。
また、式(2)のq(xn)は、既知クラスkのm番目の正規分布コンポーネントにおける信号xnの偏差を変数とする二次関数を示す。
【0023】
このとき、既知クラスkの事後確率p(k|xn)は、以下の式(5)で表される。
【0024】
【0025】
《余事象クラスのCGMM》
発明者らは、既知クラスの数がK個である場合における余事象クラスを、以下の式(6)として定義した。すなわち、第1の実施形態において、信号xnがいずれの既知クラスkにも属しない確率fc(xn)は、以下の式(6)によって表される。
【0026】
【0027】
関数h(x
n:μ
(k,m),Σ
(k,m))は、式(7)で表される余事象分布を示す。すなわち、余事象分布関数h(x
n:μ
(k,m),Σ
(k,m))は、信号x
nが既知クラスkのm番目の正規分布コンポーネントに従わない確率を示す。なお、Dは、信号x
nの次元数である。ここで、式(3)で表されるように、正規分布関数が関数g(x
n)で表され、二次関数が関数q(x
n)で表されることから、余事象分布関数h(x
n)は、分散Σを持つ正規分布関数と、当該正規分布関数と中心を同じくする二次関数との積によって表される。
図2は、第1の実施形態に係る余事象分布関数の例を示すグラフである。
図2の横軸は信号x
nの値であり、縦軸は生起確率を示す。
図2に示すように、正規分布関数g(x)に二次関数q(x)を乗算することで、既知クラスkのm番目の正規分布コンポーネントの周りに信号が分布するドーナツ状の分布を表すことができる。
【0028】
《既知クラスおよび余事象クラスのモデル》
これらを総合し、信号xnのK個の既知クラスおよび1個の余事象クラスにおける生起確率F(xn)は、以下の式(8)によって表される。以下、余事象クラスをk=0のクラスとして表す。
【0029】
【0030】
ここで、βk,mは既知クラスkのm番目の正規分布コンポーネントに対応する余事象分布の混合度を示す。またp(k=0)は、余事象クラスの事前確率を示す。
【0031】
このとき、既知クラスおよび余事象クラスの事後確率p´(k|xn)は、以下の式(9)で表される。
【0032】
【0033】
これにより、以下のパラメータθを求めることで、既知クラスに属さないことを示す余事象クラスを含めたクラス識別を行うことができる。パラメータθは、余事象クラスの事前確率p(k=0)、混合度α、混合度β、平均値μ、共分散行列Σ、および重み係数εを含む。なお、確率(1-p(k=0))、すなわち余事象クラスの事前確率の補確率は、既知クラスの何れかに属することの事前確率を表す。
【0034】
《対数線形化》
ここで、上記のパラメータθの制約を緩和するため、上記のCGMMを対数線形化する。既知クラスのGMMを構成する複数の正規分布コンポーネントの対数をYn
(k,m)とおくと、当該関数Yn
(k,m)は、以下の式(10)のように表される。
【0035】
【0036】
ここで、δi,jは、クロネッカーのδ(i=jのときδi,j=1、i≠jのときδi,j=0)を示す。信号xnから非線形変換された信号Xnの次元数は、1+D(D+3)/2である。コンポーネントを式(10)のように、信号と係数ベクトルw(k,m)の積として表すことで、パラメータの制約を低減することができる。
【0037】
また、信号Xnを用いることで、複数の余事象分布コンポーネントβk,mh(xn)は、以下の式(14)のように表される。
【0038】
【数14】
【数15】
【数16】
【数17】
なお、式(17)で示されるω
0
(k,m)は、式(13)で示されるw
0
(k,m)の第1項と等しい。つまり、ω
(k,m)は、式(12)で示されるw
(k,m)から導出される。
【0039】
ここで、余事象分布コンポーネントの対数をZn
(k,m)とおくと、式(9)に当てはめることで、Xnの関数としての事後確率p´(k|Xn)を、以下の式(19)で表すことができる。
【0040】
【0041】
式(18)によれば、以下のパラメータθ´を求めることで、既知クラスに属さないことを示す余事象クラスを含めたクラス識別を行うことができる。パラメータθ´は、余事象クラスの事前確率p(k=0)、重み係数w(k、m)、重み係数ω(k、m)、および重み係数C(k、m)を含む。
【0042】
《数理モデルのネットワーク構造》
以下、式(18)に示される事後確率を表す数理モデルの構成について説明する。
図3は、第1の実施形態に係る数理モデルの構造を示す図である。
図3に示すように、数理モデル90は、5層のフィードフォワード型ネットワークである。つまり、数理モデル90は、第1層91、第2層92、第3層93、第4層94および第5層95を備える。
【0043】
数理モデル90の第1層91は、式(11)による非線形変換により得られたベクトルXnの入力を受け付ける。ベクトルXnは、特徴ベクトルの一例である。つまり、第1層91のノード数は、信号Xnの次元数(1+D(D+3)/2)と等しい。第1層91の各ノードは、入力された値をそのまま出力する。すなわち、第1層91のh番目のノードの入力値(1)Ihは、以下の式(20)に示すとおりであり、第1層91のh番目のノードの出力値(1)Ohは、以下の式(21)に示すとおりである。
【0044】
【0045】
数理モデル90の第2層92は、2×K×M個のノードを有する。第2層92は、K×M個のノードを有する正規分布計算部92Aと、K×M個のノードを有する二次関数計算部92Bとからなる。
【0046】
正規分布計算部92Aの各ノードは、正規分布コンポーネントを表す。正規分布計算部92Aのうちk番目のクラスのm番目の正規分布コンポーネントを表すノードは、第1層91の出力ベクトルすなわち信号Xnの各要素と重み係数wh
(k、m)の総和を入力値として受け付け、当該入力値をネイピア数eの指数とした値を出力する。すなわち、正規分布計算部92Aのk×m番目のノードの入力値(2A)Ik,mは、以下の式(22)に示すとおりであり、正規分布計算部92Aのk×m番目のノードの出力値(2A)Ok,mは、以下の式(23)に示すとおりである。
【0047】
【0048】
二次関数計算部92Bの各ノードは、余事象分布コンポーネントの二次関数の項を表す。二次関数計算部92Bのうちk×m番目のノードは、第1層91の出力ベクトルの各要素と重み係数ωh
(k、m)の総和を入力値として受け付け、当該入力値を出力する。すなわち、二次関数計算部92Bのk×m番目のノードの入力値(2B)Ik,mは、以下の式(24)に示すとおりであり、二次関数計算部92Bのk×m番目のノードノードの出力値(2B)Ok,mは、以下の式(25)に示すとおりである。
【0049】
【0050】
数理モデル90の第3層93は、2×K×M個のノードを有する。第3層93は、K×M個のノードを有する対数計算部93Aと、K×M個のノードを有する余事象対数計算部93Bとからなる。
【0051】
対数計算部93Aの各ノードは、正規分布コンポーネントの対数Yn
(k,m)を表す。対数計算部93Aのうちk×m番目のノードは、正規分布計算部92Aのk×m番目のノードの出力値を受け付け、当該入力値の対数を出力する。すなわち、対数計算部93Aのk×m番目のノードの入力値(3A)Ik,mは、以下の式(26)に示すとおりであり、対数計算部93Aのk×m番目のノードの出力値(3A)Ok,mは、以下の式(27)に示すとおりである。
【0052】
【0053】
余事象対数計算部93Bの各ノードは、余事象分布コンポーネントの対数Zn
(k,m)を表す。余事象対数計算部93Bのうちk×m番目のノードは、正規分布計算部92Aのk×m番目のノードと二次関数計算部92Bのk×m番目のノードの出力値と重み係数C(k,m)の積の入力を受け付ける。つまり、k×m番目のノードの入力値は、上記の式(14)の右辺に相当する。そして、余事象対数計算部93Bのうちk×m番目のノードは、当該入力値の対数を出力する。すなわち、余事象対数計算部93Bのk×m番目のノードの入力値(3B)Ik,mは、以下の式(28)に示すとおりであり、余事象対数計算部93Bのk×m番目のノードの出力値(3B)Ok,mは、以下の式(29)に示すとおりである。
【0054】
【0055】
数理モデル90の第4層94は、2×K×M個のノードを有する。第4層94は、K×M個のノードを有するクラスコンポーネント計算部94Aと、K×M個のノードを有する余事象コンポーネント計算部94Bとからなる。
【0056】
クラスコンポーネント計算部94Aのk×m番目のノードの入力値(4A)Ik,mは、以下の式(30)に示すとおりであり、クラスコンポーネント計算部94Aのk×m番目のノードの出力値(4A)Ok,mは、以下の式(31)に示すとおりである。つまり、クラスコンポーネント計算部94Aは、式(18)のk≠0の計算を実現する。
【0057】
【0058】
余事象コンポーネント計算部94Bのk×m番目のノードの入力値(4B)Ik,mは、以下の式(33)に示すとおりであり、余事象コンポーネント計算部94Bのk×m番目のノードの出力値(4B)Ok,mは、以下の式(34)に示すとおりである。つまり、クラスコンポーネント計算部94Aは、式(18)のk=0の計算を実現する。
【0059】
【0060】
数理モデル90の第5層95は、K+1個のノードを有する。第5層95は、K個のノードを有する既知クラス尤度計算部95Aと、1個のノードを有する余事象尤度計算部95Bとからなる。
【0061】
既知クラス尤度計算部95Aのk番目のノードの入力値(5A)Ikは、クラスコンポーネント計算部94Aのk番目のコンポーネントに対応するノードの出力値の総和の入力を受け付け、当該入力値を出力する。すなわち、既知クラス尤度計算部95Aのk番目のノードの入力値(5A)Ik,mは、以下の式(35)に示すとおりであり、クラスコンポーネント計算部94Aのk番目のノードの出力値(5A)Ok,mは、以下の式(36)に示すとおりである。
【0062】
【0063】
余事象尤度計算部95Bのノードの入力値(5B)Iは、余事象コンポーネント計算部94Bのすべてのノードの出力値の総和の入力を受け付け、当該入力値を出力する。すなわち、余事象尤度計算部95Bのノードの入力値(5B)Iは、以下の式(37)に示すとおりであり、余事象尤度計算部95Bのノードの出力値(5B)Oは、以下の式(38)に示すとおりである。
【0064】
【0065】
このように、上述した数理モデル90により、K個の既知クラスおよび1個の余事象クラスのそれぞれについての信号xnの尤度の計算を表すことができる。
【0066】
《学習装置20の構成》
ここで、
図1に示すクラス識別システム1が備える学習装置20の構成について説明する。学習装置20は、数理モデル90を訓練し、各ノードのパラメータの値を決定する。
図4は、第1の実施形態に係る学習装置20の構成を示す概略ブロック図である。学習装置20は、モデル記憶部21、データセット受付部22、分割部23、変換部24、第1学習部25、評価部26、第2学習部27、出力部28を備える。
【0067】
モデル記憶部21は、数理モデル90および当該モデルのパラメータの値を記憶する。数理モデル90のパラメータは、余事象クラスの事前確率p(k=0)、重み係数w(k、m)、重み係数ω(k、m)、および重み係数C(k、m)である。
データセット受付部22は、数理モデル90の訓練に用いる複数のデータセットの入力を受け付ける。データセットは、信号xnを入力サンプルとし、当該信号xnが属するクラスのラベルを出力サンプルとする。
【0068】
分割部23は、データセット受付部22が受け付けた複数のデータセットを、学習用データセットと検証用データセットに分割する。例えば、分割部23は、予め定められた分割割合に基づいてデータセットを分割する。
【0069】
変換部24は、式(11)に従って、入力サンプルxnを非線形変換し、信号Xnを得る。
【0070】
第1学習部25は、N個の学習用データセットを用いて、誤差逆伝搬法により、数理モデル90の重み係数w(k、m)、重み係数ω(k、m)、および重み係数C(k、m)の値を更新する。具体的には、入力サンプルを数理モデル90に入力して計算される出力値と、出力サンプルの値とに基づいて、あるサンプルにおける識別誤差を計算する。例えば、第1学習部25は、以下の式(39)により、識別誤差を評価するカルバックライブラ情報量Jを得る。第1学習部25は、カルバックライブラ情報量Jが最小となるように重み係数w(k、m)、重み係数ω(k、m)、および重み係数C(k、m)の値を更新する。第1学習部25は、カルバックライブラ情報量Jが予め定めた目標値以下となるか、学習回数が予め定めた最大数を超えた場合に、重み係数の更新を終了する。なお、事前確率p(k=0)については、後述の第2学習部27にて更新するため、他の重み係数の学習段階では、事前確率p(k=0)に仮の値(例えば、0.01)を代入しておく。
【0071】
【0072】
評価部26は、第1学習部25による数理モデル90の訓練後、検証用データセットを用いて数理モデル90を評価する。つまり、評価部26は、数理モデル90に従って計算をすることで、正規分布計算部92A、二次関数計算部92B、対数計算部93A、余事象対数計算部93B、クラスコンポーネント計算部94A、余事象コンポーネント計算部94B、既知クラス尤度計算部95A、および余事象尤度計算部95Bとして機能する。具体的には、評価部26は、以下の式(40)を用いて評価値PRecallを算出する。
【0073】
【0074】
ここで、Φkは、クラスkの入力サンプルを正しく識別できた数を示す。Ψkは、クラスkの入力サンプルを誤って識別した数を示す。
【0075】
第2学習部27は、評価値PRecallに基づいて学習処理を終了するか否かを判定し、学習を終了しない場合に、余事象クラスの事前確率p(k=0)を更新する。具体的には、第2学習部27は、現在の余事象クラスの事前確率p(k=0)に、所定の更新量p0を加算することで、余事象クラスの事前確率p(k=0)を更新する。
第2学習部27は、評価値PRecallと、新たな事前確率を適用した場合の評価値との差が所定の終了判定閾値以下である場合に、学習処理を終了すると判定する。
【0076】
出力部28は、学習処理を終了した数理モデル90の学習済みモデルを、識別装置10に出力する。
【0077】
《学習装置20の動作》
図5は、第1の実施形態に係る学習装置20の動作を示すフローチャートである。
学習装置20のデータセット受付部22が複数のデータセットの入力を受け付けると(ステップS1)、分割部23は、複数のデータセットを、学習用データセットと検証用データセットに分割する(ステップS2)。
【0078】
変換部24は、複数の入力サンプルを非線形変換し入力信号を得る(ステップS3)。次に、第1学習部25は、学習用データセットから変換された入力信号を用いて、誤差逆伝搬法により、数理モデル90の重み係数w(k、m)、重み係数ω(k、m)、および重み係数C(k、m)の値を更新する(ステップS4)。第1学習部25は、式(39)で得られる識別誤差Jが目標値以下となったか否か、および学習回数が最大数を超えたか否かを判定する(ステップS5)。識別誤差Jが目標値より大きく、かつ学習回数が最大数未満である場合(ステップS5:NO)、学習装置20はステップS3に処理を戻す。
【0079】
他方、識別誤差Jが目標値以下となった場合、または学習回数が最大数を超えた場合(ステップS5:YES)、第1学習部25は、重み係数の更新を終了する。次に、評価部26は、検証用データセットから変換された入力信号を用いて数理モデル90の評価値PRecallを算出する(ステップS6)。第2学習部27は、ステップS6で算出した評価値PRecallが予め定めた識別率の許容閾値以下となったか否かを判定する(ステップS7)。
【0080】
評価値PRecallが許容閾値より大きい場合場合(ステップS7:NO)、評価部26は、余事象クラスの事前確率p(k=0)を更新し、ステップS6に処理を戻す(ステップS8)。
他方、評価値PRecallが許容閾値以下となった場合(ステップS7:YES)、出力部28は、学習処理を終了した数理モデル90の学習済みモデルを、識別装置10に出力する(ステップS9)。
【0081】
《識別装置10の構成》
ここで、
図1に示すクラス識別システム1が備える識別装置10の構成について説明する。識別装置10は、学習装置20によって訓練された学習済みの数理モデル90を用いて、入力データのクラスを識別する。
図6は、第1の実施形態に係る識別装置10の構成を示す概略ブロック図である。識別装置10は、モデル取得部11、モデル記憶部12、データ入力部13、変換部14、識別部15、出力部16を備える。
【0082】
モデル取得部11は、学習装置20から学習済みの数理モデル90を取得する。モデル取得部11は、取得した学習済みの数理モデル90をモデル記憶部12に記録する。
モデル記憶部12は、モデル取得部11が取得した学習済みの数理モデル90を記憶する。
データ入力部13は、クラスの識別対象となる入力データの入力を受け付ける。
変換部14は、式(11)に従って、入力データxnを非線形変換し、信号Xnを得る。
識別部15は、変換部14が変換した信号Xnをモデル記憶部12が記憶する学習済みモデルに入力することで、当該信号Xnの複数のクラスの尤度を算出し、当該尤度に基づいて、入力データが属するクラスを評価する。つまり、識別部15は、数理モデル90に従って計算をすることで、正規分布計算部92A、二次関数計算部92B、対数計算部93A、余事象対数計算部93B、クラスコンポーネント計算部94A、余事象コンポーネント計算部94B、既知クラス尤度計算部95A、および余事象尤度計算部95Bとして機能する。
出力部16は、識別部15による評価結果を出力する。
【0083】
《識別装置10の動作》
図7は、第1の実施形態に係る識別装置10の動作を示すフローチャートである。なお、以下の説明では、学習装置20による学習済みの数理モデル90は、モデル記憶部12に既に記憶されているものとする。
【0084】
識別装置10のデータ入力部13は、クラスの識別対象となる入力データの入力を受け付ける(ステップS11)。次に、変換部14は、式(11)に従って、入力データを非線形変換し、信号を得る(ステップS12)。識別部15は、ステップS12で変換した信号Xnをモデル記憶部12が記憶する学習済みモデルに入力することで、当該信号Xnの複数のクラスの尤度を算出する(ステップS13)。識別部15は、算出された尤度に基づいて、入力データが属するクラスを評価する(ステップS14)。出力部16は、識別部15による評価結果を出力する(ステップS15)。
【0085】
《作用・効果》
このように、第1の実施形態に係るクラス識別システム1によれば、識別装置10は、K個のクラスに係る分布を表す複数の正規分布の確率密度関数とに基づいて第1中間ベクトルを生成する正規分布計算部92Aと、正規分布に係る係数に基づく複数の二次関数とに基づいて第2中間ベクトルを生成する二次関数計算部92Bと、第1中間ベクトルと第2中間ベクトルとの積に基づいて、入力データがK個のクラスのいずれにも属しないことの尤度である余事象尤度を算出する余事象尤度計算部95Bと、を備える数理モデル90を用いた演算を行う。
このように、識別装置10は、正規分布と二次関数の積によって余事象尤度を表すため、計算に用いるパラメータの制約を少なくすることができる。
【0086】
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
【0087】
上述の実施形態においては、数理モデル90を用いてクラス識別を行ったが、他の実施形態においては、これに限られない。例えば、他の実施形態においては、生成装置が数理モデル90を用いて余事象クラスに属するデータを生成してもよい。
また、上述の実施形態においては、クラス識別システム1が機械学習を用いてクラス識別を行うが、これに限られない。例えば、他の実施形態においては、機械学習によらず、数理モデル90を用いた計算を行ってもよい。
【0088】
また、上述のクラス識別システム1は、識別装置10と学習装置20とを備えるが、これに限られない。例えば、他の実施形態に係るクラス識別システム1は、同一の装置において学習処理と識別処理を行ってもよい。
また、上述のクラス識別システム1は、学習段階のステップS2においてデータセットを学習用データセットと検証用データセットとに分割し、検証用データセットを用いて評価値を算出するが、これに限られない。例えば、他の実施形態においては、すべてのデータセットを学習用に用い、同じデータセットを用いて評価値を算出してもよい。
【0089】
また、上述のクラス識別システム1は、式(9)の対数線形化によって得られる式(18)に基づく数理モデル90を用いてクラスの識別処理を行うが、これに限られない。例えば、他の実施形態に係るクラス識別システム1は、式(9)に基づく数理モデル90を用いてクラスの識別処理を行ってもよい。
【0090】
〈コンピュータ構成〉
図8は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ100は、プロセッサ110、メインメモリ130、ストレージ150、インタフェース170を備える。
上述の識別装置10および学習装置20は、コンピュータ100に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ150に記憶されている。プロセッサ110は、プログラムをストレージ150から読み出してメインメモリ130に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ110は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ130に確保する。プロセッサ110の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
【0091】
プログラムは、コンピュータ100に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータ100は、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ110によって実現される機能の一部または全部が当該集積回路によって実現されてよい。このような集積回路も、プロセッサの一例に含まれる。プロセッサ110がFPGAである場合、上述の学習済みの数理モデル90をハードウェアとして構成させるコンフィグレーションの処理をコンピュータに実行させるためのコンフィグレーションプログラムの実行により、FPGAが識別装置10として機能するように構成される。
【0092】
ストレージ150の例としては、光ディスク、磁気ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ150は、コンピュータ100のバスに直接接続された内部メディアであってもよいし、インタフェース170または通信回線を介してコンピュータ100に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ100に配信される場合、配信を受けたコンピュータ100が当該プログラムをメインメモリ130に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ150は、一時的でない有形の記憶媒体である。
【0093】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ150に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0094】
1 クラス識別システム
10 識別装置
11 モデル取得部
12 モデル記憶部
13 データ入力部
14 変換部
15 識別部
16 出力部
20 学習装置
21 モデル記憶部
22 データセット受付部
23 分割部
24 変換部
25 第1学習部
26 評価部
27 第2学習部
28 出力部
90 数理モデル
91 第1層
92 第2層
92A 正規分布計算部
92B 二次関数計算部
93 第3層
93A 対数計算部
93B 余事象対数計算部
94 第4層
94A クラスコンポーネント計算部
94B 余事象コンポーネント計算部
95 第5層
95A 既知クラス尤度計算部
95B 余事象尤度計算部
100 コンピュータ
110 プロセッサ
130 メインメモリ
150 ストレージ
170 インタフェース