(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024116007
(43)【公開日】2024-08-27
(54)【発明の名称】ニューラルネットワークモデル、計算機、計算方法およびプログラムの生成方法
(51)【国際特許分類】
G06N 3/047 20230101AFI20240820BHJP
G06N 3/08 20230101ALI20240820BHJP
【FI】
G06N3/047
G06N3/08
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023021972
(22)【出願日】2023-02-15
(71)【出願人】
【識別番号】504182255
【氏名又は名称】国立大学法人横浜国立大学
(71)【出願人】
【識別番号】317006683
【氏名又は名称】地方独立行政法人神奈川県立産業技術総合研究所
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】島 圭介
(72)【発明者】
【氏名】迎田 隆幸
(57)【要約】
【課題】正規分布関数と二次関数の軸を一致させた混合余事象分布に基づいて、想定しないクラスに属する確率の推定。
【解決手段】ニューラルネットワークは、入力層と、第1中間層と、第2中間層と、出力層と、を備える。入力層には特徴ベクトルが入力される。第1中間層は、複数のクラスに係る分布を表す複数の正規分布関数の指数部に係る複数の二次関数の係数を表す第1パラメータ群を有し、特徴ベクトルと第1パラメータ群とに基づいて第1中間ベクトルを計算する。第2中間層は、複数の正規分布関数の係数を表す第2パラメータ群を有し、第1中間ベクトルと第2パラメータ群とに基づいて第2中間ベクトルを計算する。出力層は、第1中間ベクトルと第2中間ベクトルとに基づいて、特徴ベクトルが複数のクラスのいずれにも属しないことの尤度である余事象尤度を計算する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
特徴ベクトルが入力される入力層と、
複数のクラスに係る分布を表す複数の正規分布関数の指数部に係る複数の二次関数の係数を表す第1パラメータ群を有し、前記特徴ベクトルと前記第1パラメータ群とに基づいて第1中間ベクトルを計算する第1中間層と、
前記複数の正規分布関数の係数を表す第2パラメータ群を有し、前記第1中間ベクトルと前記第2パラメータ群とに基づいて第2中間ベクトルを計算する第2中間層と、
前記第1中間ベクトルと前記第2中間ベクトルとに基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を計算する出力層と、
を備える学習済みのニューラルネットワークモデルであって、
計算機に、
前記特徴ベクトルを前記入力層に入力するステップと、
前記特徴ベクトルと前記第1パラメータ群とに基づいて前記第1中間ベクトルを計算するステップと、
前記第1中間ベクトルと前記第2パラメータ群とに基づいて前記第2中間ベクトルを計算するステップと、
前記第1中間ベクトルと前記第2中間ベクトルとに基づいて前記余事象尤度を計算するステップと
を実行させるニューラルネットワークモデル。
【請求項2】
前記複数のクラスそれぞれに係る分布を表す混合正規分布関数の係数を表す第4パラメータ群を有し、前記第1中間ベクトルと前記第4パラメータ群とに基づいて第4中間ベクトルを計算する第4中間層を備え、
前記出力層は、前記第1中間ベクトルと前記第2中間ベクトルとに基づいて前記余事象尤度を計算し、前記第4中間ベクトルに基づいて、前記複数のクラスそれぞれについて、前記特徴ベクトルが前記クラスに属する尤度であるクラス尤度を計算する
請求項1に記載のニューラルネットワークモデル。
【請求項3】
前記第2パラメータ群は、下限が0かつ上限が1である値域を有する関数によって表される
請求項1に記載のニューラルネットワークモデル。
【請求項4】
前記第1パラメータ群のうち、特徴ベクトルと特徴ベクトルの転置行列との積の対角要素に対応する要素は、下限が-∞かつ上限が0である値域を有する関数によって表される
請求項1に記載のニューラルネットワークモデル。
【請求項5】
請求項1から請求項4の何れか1項に記載のニューラルネットワークモデルを記憶する記憶部と、
特徴ベクトルと、複数のクラスのうち前記特徴ベクトルが属するクラスとの組み合わせからなる学習用データセットを用いて、前記ニューラルネットワークモデルが、前記特徴ベクトルを入力として前記余事象尤度を出力するように学習する学習部と
を備える計算機。
【請求項6】
請求項1から請求項4の何れか1項に記載のニューラルネットワークモデルを記憶する記憶部と、
前記ニューラルネットワークモデルの前記第1パラメータ群から、前記複数の二次関数の二次の項の係数に係るパラメータを抽出して、前記複数の正規分布関数の分散共分散行列を特定する共分散特定部と、
前記第1パラメータ群から前記複数の正規分布関数の平均値を特定する平均特定部と、
前記分散共分散行列および前記平均値に基づいて、前記複数の正規分布関数と前記複数の二次関数の積によって表される、前記複数のクラスのいずれにも属しない確率を表す余事象分布関数を生成する関数生成部と
を備える計算機。
【請求項7】
請求項1から請求項4の何れか1項に記載のニューラルネットワークモデルを用いた計算方法であって、
計算機が、
前記特徴ベクトルを前記ニューラルネットワークモデルの前記入力層に入力するステップと、
前記特徴ベクトルと前記ニューラルネットワークモデルの前記第1パラメータ群とに基づいて前記第1中間ベクトルを計算するステップと、
前記第1中間ベクトルと前記ニューラルネットワークモデルの前記第2パラメータ群とに基づいて前記第2中間ベクトルを計算するステップと、
前記第1中間ベクトルと前記ニューラルネットワークモデルの前記第2中間ベクトルとに基づいて前記余事象尤度を計算するステップと
を実行する計算方法。
【請求項8】
計算機が、特徴ベクトルと、複数のクラスのうち前記特徴ベクトルが属するクラスとの組み合わせからなる学習用データセットを用いて、請求項1から請求項4の何れか1項に記載のニューラルネットワークモデルが、前記特徴ベクトルを入力として前記余事象尤度を出力するように学習するステップと、
請求項1から請求項4の何れか1項に記載のニューラルネットワークモデルの前記第1パラメータ群から、前記複数の二次関数の二次の項の係数に係るパラメータを抽出して、前記複数の正規分布関数の分散共分散行列を特定するステップと、
前記第1パラメータ群から前記複数の正規分布関数の平均値を特定するステップと、
前記分散共分散行列および前記平均値に基づいて、前記複数の正規分布関数と前記複数の二次関数の積によって表される、前記複数のクラスのいずれにも属しない確率を表す余事象分布関数をコンピュータに計算させるプログラムを生成するステップと
を備えるプログラムの生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークモデル、計算機、計算方法およびプログラムの生成方法に関する。
【背景技術】
【0002】
特許文献1には、入力信号が予め設定した複数のクラスの何れに属するかを分類する分類器において、想定しないクラスに属する確率を推定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の手法では、複数の正規分布関数と複数の二次関数の積で表される混合余事象分布関数をニューラルネットワークモデルで表す。このニューラルネットワークモデルの中間層において正規分布関数と二次関数とをそれぞれ計算し、その計算結果の積を求めることで余事象尤度を算出する。
【0005】
理論上、混合余事象分布は、軸を同じくする正規分布関数と二次関数の組によって表される。軸とは極値点を通る説明変数を示す直線である。しかしながら、特許文献1に記載のニューラルネットワークモデルでは正規分布関数と二次関数とをそれぞれ別個に計算しているため、必ずしもその軸が一致するとは限らない。そのため、特許文献1に記載のニューラルネットワークモデルは適切に混合余事象分布を表せない可能性がある。
本発明の目的は、正規分布関数と二次関数の軸を一致させた混合余事象分布に基づいて、想定しないクラスに属する確率の推定を可能とするニューラルネットワークモデル、計算機、計算方法およびプログラムの生成方法を提供することにある。
【課題を解決するための手段】
【0006】
第1の態様によれば、ニューラルネットワークモデルは、特徴ベクトルが入力される入力層と、複数のクラスに係る分布を表す複数の正規分布関数の指数部に係る複数の二次関数の係数を表す第1パラメータ群を有し、前記特徴ベクトルと前記第1パラメータ群とに基づいて第1中間ベクトルを計算する第1中間層と、前記複数の正規分布関数の係数を表す第2パラメータ群を有し、前記第1中間ベクトルと前記第2パラメータ群とに基づいて第2中間ベクトルを計算する第2中間層と、前記第1中間ベクトルと前記第2中間ベクトルとに基づいて、前記特徴ベクトルが前記複数のクラスのいずれにも属しないことの尤度である余事象尤度を計算する出力層と、を備える学習済みのニューラルネットワークモデルであって、計算機に、前記特徴ベクトルを前記入力層に入力するステップと、前記特徴ベクトルと前記第1パラメータ群とに基づいて前記第1中間ベクトルを計算するステップと、前記第1中間ベクトルと前記第2パラメータ群とに基づいて前記第2中間ベクトルを計算するステップと、前記第1中間ベクトルと前記第2中間ベクトルとに基づいて前記余事象尤度を計算するステップとを実行させる。
【0007】
第2の態様によれば、第1の態様に係るニューラルネットワークモデルが、前記複数のクラスそれぞれに係る分布を表す混合正規分布関数の係数を表す第4パラメータ群を有し、前記第1中間ベクトルと前記第4パラメータ群とに基づいて第4中間ベクトルを計算する第4中間層を備え、前記出力層は、前記第1中間ベクトルと前記第2中間ベクトルとに基づいて前記余事象尤度を計算し、前記第4中間ベクトルに基づいて、前記複数のクラスそれぞれについて、前記特徴ベクトルが前記クラスに属する尤度であるクラス尤度を計算するものであってよい。
【0008】
第3の態様によれば、第1の態様に係るニューラルネットワークモデルにおいて、前記第2パラメータ群は、下限が0かつ上限が1である値域を有する関数によって表されるものであってよい。
【0009】
第4の態様によれば、第1の態様に係るニューラルネットワークモデルにおいて、前記第1パラメータ群は、下限が-∞かつ上限が0である値域を有する関数によって表されるものであってよい。
【0010】
第5の態様によれば、計算機は、第1から第4の何れかの態様に係るニューラルネットワークモデルを記憶する記憶部と、特徴ベクトルと、複数のクラスのうち前記特徴ベクトルが属するクラスとの組み合わせからなる学習用データセットを用いて、前記ニューラルネットワークモデルが、前記特徴ベクトルを入力として前記余事象尤度を出力するように学習する学習部とを備える。
【0011】
第6の態様によれば、計算機は、第1から第4の何れかの態様に係るニューラルネットワークモデルを記憶する記憶部と、前記ニューラルネットワークモデルの前記第1パラメータ群から、前記複数の二次関数の二次の項の係数に係るパラメータを抽出して、前記複数の正規分布関数の分散共分散行列を特定する共分散特定部と、前記第1パラメータ群から前記複数の正規分布関数の平均値を特定する平均特定部と、前記分散共分散行列および前記平均値に基づいて、前記複数の正規分布関数と前記複数の二次関数の積によって表される、前記複数のクラスのいずれにも属しない確率を表す余事象分布関数を生成する関数生成部とを備える。
【0012】
第7の態様によれば、計算方法は、第1から第4の何れかの態様に係るニューラルネットワークモデルを用いた計算方法であって、計算機が、前記特徴ベクトルを前記ニューラルネットワークモデルの前記入力層に入力するステップと、前記特徴ベクトルと前記ニューラルネットワークモデルの前記第1パラメータ群とに基づいて前記第1中間ベクトルを計算するステップと、前記第1中間ベクトルと前記ニューラルネットワークモデルの前記第2パラメータ群とに基づいて前記第2中間ベクトルを計算するステップと、前記第1中間ベクトルと前記ニューラルネットワークモデルの前記第2中間ベクトルとに基づいて前記余事象尤度を計算するステップとを実行する。
【0013】
第8の態様によれば、プログラムの生成方法は、計算機が、特徴ベクトルと、複数のクラスのうち前記特徴ベクトルが属するクラスとの組み合わせからなる学習用データセットを用いて、第1から第4の何れかの態様に係るニューラルネットワークモデルの前記第1パラメータ群から、前記複数の二次関数の二次の項の係数に係るパラメータを抽出して、前記複数の正規分布関数の分散共分散行列を特定するステップと、前記第1パラメータ群から前記複数の正規分布関数の平均値を特定するステップと、前記分散共分散行列および前記平均値に基づいて、前記複数の正規分布関数と前記複数の二次関数の積によって表される、前記複数のクラスのいずれにも属しない確率を表す余事象分布関数をコンピュータに計算させるプログラムを生成するステップとを備える。
【発明の効果】
【0014】
上記態様によれば、正規分布関数と二次関数の軸を一致させた混合余事象分布に基づいて、想定しないクラスに属する確率を推定することができる。
【図面の簡単な説明】
【0015】
【
図1】第1の実施形態に係るクラス識別システムの構成を示す概略ブロック図である。
【
図2】第1の実施形態に係る余事象分布関数の例を示すグラフである。
【
図3】第1の実施形態に係る数理モデルの構造を示す図である。
【
図4】第1の実施形態に係る学習装置の構成を示す概略ブロック図である。
【
図5】第1の実施形態に係る学習装置の動作を示すフローチャートである。
【
図6】第1の実施形態に係る識別装置の構成を示す概略ブロック図である。
【
図7】第1の実施形態に係る識別装置の動作を示すフローチャートである。
【
図8】第3の実施形態に係る解析装置の構成を示すブロック図である。
【
図9】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0016】
〈第1の実施形態〉
《クラス識別システム1》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係るクラス識別システム1の構成を示す概略ブロック図である。クラス識別システム1は、複数のクラスの中から入力信号が属するクラスを識別するためのシステムである。クラス識別システム1は、学習段階において設定された複数の既知クラスと、当該複数の既知クラスのいずれにも属しないことを示す余事象クラスについて、入力信号の尤度を計算する。
【0017】
クラス識別システム1は、識別装置10と学習装置20とを備える。識別装置10は、学習装置20によって訓練された学習済みモデルを用いて、入力信号が属するクラスを識別する。学習装置20は、学習用データセットを用いて数理モデルを訓練する。識別装置10および学習装置20は、計算機の一例である。学習済みモデルとは、数理モデルと、訓練によって決定されたパラメータの組み合わせである。
【0018】
《数理モデルについて》
第1の実施形態に係る数理モデルについて説明する。
第1の実施形態に係るクラス識別システム1は、混合正規分布モデル(Gaussian Mixture Model:GMM)によって既知クラスの分布を表し、以下に示す混合余事象分布モデル(Complementary Gaussian Mixture Model:CGMM)によって余事象クラスの分布を表す。
【0019】
《既知クラスのGMM》
既知クラスの数がK個である場合、各既知クラスは、GMMにより、以下の式(1)によって表される。すなわち、第1の実施形態において、信号xnの既知クラスkにおける生起確率f(xn)は、以下の式(1)によって表される。
【0020】
【0021】
ここで、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の偏差を変数とする二次関数を示す。
【0022】
このとき、既知クラスkの事後確率p(k|xn)は、以下の式(5)で表される。
【0023】
【0024】
《余事象クラスのCGMM》
発明者らは、既知クラスの数がK個である場合における余事象クラスを、以下の式(6)として定義した。すなわち、第1の実施形態において、信号xnがいずれの既知クラスkにも属しない確率fc(xn)は、以下の式(6)によって表される。
【0025】
【0026】
関数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番目の正規分布コンポーネントの周りに信号が分布するドーナツ状の分布を表すことができる。以下、軸を同じくする正規分布関数と二次関数q(x)の積によって表されるドーナツ状の分布を余事象分布コンポーネントと呼ぶ。
【0027】
《既知クラスおよび余事象クラスのモデル》
これらを総合し、信号xnのK個の既知クラスおよび1個の余事象クラスにおける生起確率F(xn)は、以下の式(8)によって表される。以下、余事象クラスをk=0のクラスとして表す。
【0028】
【0029】
ここで、βk,mは既知クラスkのm番目の正規分布コンポーネントに対応する余事象分布の混合度を示す。またp(k=0)は、余事象クラスの事前確率を示す。
【0030】
このとき、既知クラスおよび余事象クラスの事後確率p´(k|xn)は、以下の式(9)で表される。
【0031】
【0032】
これにより、以下の式(10)に示すパラメータθを求めることで、既知クラスに属さないことを示す余事象クラスを含めたクラス識別を行うことができる。パラメータθは、余事象クラスの事前確率p(k=0)、混合度α、混合度β、平均値μ、共分散行列Σ、および重み係数εを含む。なお、確率(1-p(k=0))、すなわち余事象クラスの事前確率の補確率は、既知クラスの何れかに属することの事前確率を表す。
【0033】
【0034】
《対数線形化》
ここで、上記のパラメータθの制約を緩和するため、上記のGMMおよびCGMMを対数線形化する。ここで、式(3)に示すq(x)はGMMおよびCGMMにおいて共通して出現しており、q(x)には平均値μが含まれている。したがって、GMMおよびCGMMに含まれるq(x)の値を一致させることで、GMMおよびCGMMの軸を一致させることができる。
q(x)を展開すると、以下の式(11)のように表される。
【0035】
【0036】
信号Xは、1、ベクトルxの各要素、およびxxTの上三角成分の各要素からなるベクトルである。xxTは対象行列であるため、信号XがxxTの上三角成分の要素を持つことで、xxTを表すことができる。ここで、δi,jは、クロネッカーのδ(i=jのときδi,j=1、i≠jのときδi,j=0)を示す。信号Xおよびベクトルw(k,m)の次元数は(1+D(D+3)/2)である。コンポーネントを式(11)のように、信号Xと係数ベクトルw(k,m)の積として表すことで、パラメータの制約を低減することができる。具体的には、係数ベクトルw(k,m)の制約は、xxTの対角成分に対応する要素の値が0未満であることだけである。xxTの対角成分に対応する要素は、係数ベクトルw(k,m)のうち(d/2(1D+3-d)|d=1、…、D)で表される要素である。
【0037】
ここで、式(2)および式(11)によれば、既知クラスのGMMを構成する複数の正規分布コンポーネントの対数は、以下の式(14)のように表される。wN
(k,m)は、対数化した正規分布コンポーネントの定数項である。
【0038】
【0039】
また、式(7)および式(11)によれば、CGMMを構成する複数の余事象分布コンポーネント(正規分布関数と二次関数の和)の対数は、以下の式(15)のように表される。wε
(k,m)は、対数化した余事象分布コンポーネントの一次関数項の係数である。wC
(k,m)は、対数化した余事象分布コンポーネントの定数項である。
【0040】
【0041】
このように、式(15)によれば、平均値μをCGMM関数の係数および定数項に含ませなくすることができる。したがって、式(15)に示す関数を実現するニューラルネットワークモデルを作成することで、必ず余事象分布コンポーネントにおける正規分布関数と二次関数の軸を一致させることができる。
【0042】
式(9)、式(14)および式(15)から、Xの関数としての事後確率は、以下の式(16)で表すことができる。
【0043】
【0044】
つまり式(16)によれば、式(18)に示すパラメータθ´を求めることで、既知クラスに属さないことを示す余事象クラスを含めたクラス識別を行うことができる。パラメータθ´は、余事象クラスの事前確率p(k=0)、重み係数w(k、m)、重み係数wε
(k、m)、定数wN
(k,m)、定数wC
(k,m)を含む。
【0045】
【0046】
《数理モデルのネットワーク構造》
以下、式(16)に示される事後確率を表す数理モデルの構成について説明する。
図3は、第1の実施形態に係る数理モデルの構造を示す図である。
図3に示すように、数理モデル90は、5層のフィードフォワード型ネットワークである。つまり、数理モデル90は、第1層91、第2層92、第3層93、第4層94および第5層95を備える。
【0047】
数理モデル90の第1層91は、式(11)による非線形変換により得られたベクトルXの入力を受け付ける。ベクトルXは、特徴ベクトルの一例である。つまり、第1層91のノード数は、信号Xの次元数(1+D(D+3)/2)と等しい。第1層91の各ノードは、入力された値をそのまま出力する。すなわち、第1層91のh番目のノードの線形変換関数(1)Ihは、以下の式(19)に示すとおりであり、第1層91のh番目のノードの活性化関数(1)Ohは、以下の式(20)に示すとおりである。
【0048】
【0049】
数理モデル90の第2層92は、K×M個のノードを有する。
第2層92の各ノードは、対数化した正規分布コンポーネントの正規分布の項の指数部、対数化した余事象分布コンポーネントの正規分布項の指数部、対数化した余事象分布コンポーネントの二次関数の項とで共通する二次関数を表す。第2層92のうちk×m番目のノードは、第1層91の出力ベクトル(1)Oすなわち信号Xの各要素を入力値として受け付ける。k×m番目のノードは、全結合により入力された第1層91の出力ベクトル(1)Oの各要素と重み係数w(k、m)の積の総和を計算し、その計算結果の値を出力する。すなわち、第2層92のk×m番目のノードの線形変換関数(2)Ik,mは、以下の式(21)に示すとおりであり、第2層92のk×m番目のノードの活性化関数(2)Ok,mは、以下の式(22)に示すとおりである。
【0050】
【0051】
数理モデル90の第3層93は、3×K×M個のノードを有する。第3層93は、K×M個のノードを有する第1正規分布計算部93Aと、K×M個のノードを有する第2正規分布計算部93Bと、K×M個のノードを有する二次関数計算部93Cとからなる。
【0052】
第1正規分布計算部93Aの各ノードは、対数化した正規分布コンポーネントを表す。第1正規分布計算部93Aのうちk番目のクラスのm番目の正規分布コンポーネントを表すノード(k×m番目のノード)は、第2層92のうち対応する出力ベクトル(2)Ok,mの要素を入力値として受け付ける。第1正規分布計算部93Aのk×m番目のノードは、出力ベクトル(2)Ok,mの要素と定数項wN
(k、m)の和を計算し、その計算結果の値を出力する。すなわち、第1正規分布計算部93Aのk×m番目のノードの線形変換関数(3A)Ik,mは、以下の式(23)に示すとおりであり、第1正規分布計算部93Aのk×m番目のノードの活性化関数(3A)Ok,mは、以下の式(24)に示すとおりである。
【0053】
【0054】
第2正規分布計算部93Bの各ノードは、対数化した余事象分布コンポーネントの正規分布項を表す。第2正規分布計算部93Bのうちk番目のクラスのm番目の余事象分布コンポーネントの正規分布項を表すノード(k×m番目のノード)は、第2層92のうち対応する出力ベクトル(2)Ok,mの要素を入力値として受け付ける。第2正規分布計算部93Bのk×m番目のノードは、出力ベクトル(2)Ok,mの要素と係数wε
(k,m)の積と定数項wC
(k、m)の和を計算し、その計算結果の値を出力する。すなわち、第2正規分布計算部93Bのk×m番目のノードの線形変換関数(3B)Ik,mは、以下の式(25)に示すとおりであり、第2正規分布計算部93Bのk×m番目のノードの活性化関数(3B)Ok,mは、以下の式(26)に示すとおりである。
【0055】
【0056】
二次関数計算部93Cの各ノードは、対数化した余事象分布コンポーネントの二次関数項を表す。二次関数計算部93Cのうちk番目のクラスのm番目の余事象分布コンポーネントの二次関数項を表すノード(k×m番目のノード)は、第2層92のうち対応する出力ベクトル(2)Ok,mの要素を入力値として受け付ける。二次関数計算部93Cのk×m番目のノードは、出力ベクトル(2)Ok,mの要素に-1を乗算し、その計算結果の対数を出力する。すなわち、二次関数計算部93Cのk×m番目のノードの線形変換関数(3C)Ik,mは、以下の式(27)に示すとおりであり、二次関数計算部93Cのk×m番目のノードの活性化関数(3B)Ok,mは、以下の式(28)に示すとおりである。
【0057】
【0058】
数理モデル90の第4層94は、2×K×M個のノードを有する。第4層94は、K×M個のノードを有する正規分布コンポーネント計算部94Aと、K×M個のノードを有する余事象分布コンポーネント計算部94Bとからなる。
【0059】
正規分布コンポーネント計算部94Aの各ノードは、正規分布コンポーネントを表す。正規分布コンポーネント計算部94Aのうちk×m番目のノードは、第1正規分布計算部93Aのk×m番目のノードの出力値を受け付け、当該入力値をネイピア数eの指数とする値を出力する。すなわち、正規分布コンポーネント計算部94Aのk×m番目のノードの線形変換関数(4A)Ik,mは、以下の式(29)に示すとおりであり、正規分布コンポーネント計算部94Aのk×m番目のノードの活性化関数(4A)Ok,mは、以下の式(30)に示すとおりである。
【0060】
【0061】
余事象分布コンポーネント計算部94Bの各ノードは、余事象分布コンポーネントを表す。余事象分布コンポーネント計算部94Bのうちk×m番目のノードは、第2正規分布計算部93Bのk×m番目のノードの出力値と二次関数計算部93Cのk×m番目のノードの出力値を受け付け、当該入力値をネイピア数eの指数とする値を出力する。すなわち、余事象分布コンポーネント計算部94Bのk×m番目のノードの線形変換関数(4B)Ik,mは、以下の式(31)に示すとおりであり、余事象分布コンポーネント計算部94Bのk×m番目のノードの活性化関数(4B)Ok,mは、以下の式(32)に示すとおりである。
【0062】
【0063】
数理モデル90の第5層95は、K+1個のノードを有する。第5層95は、K個のノードを有する既知クラス尤度計算部95Aと、1個のノードを有する余事象尤度計算部95Bとからなる。
【0064】
既知クラス尤度計算部95Aのk番目のノードは、正規分布コンポーネント計算部94Aのk番目のコンポーネントに対応する各ノードの出力値を受け付け、当該入力値の総和を出力する。すなわち、既知クラス尤度計算部95Aのk番目のノードの線形変換関数(5A)Ikは、以下の式(33)に示すとおりであり、既知クラス尤度計算部95Aのk番目のノードの活性化関数(5A)Okは、以下の式(34)に示すとおりである。
【0065】
【0066】
余事象尤度計算部95Bのノードは、余事象分布コンポーネント計算部94Bの各ノードの出力値を受け付け、当該入力値の総和を出力する。すなわち、余事象尤度計算部95Bのノードの線形変換関数(5B)Iは、以下の式(35)に示すとおりであり、既知クラス尤度計算部95Aのノードの活性化関数(5B)Oは、以下の式(36)に示すとおりである。
【0067】
【0068】
このように、上述した数理モデル90により、K個の既知クラスおよび1個の余事象クラスのそれぞれについての信号xnの尤度の計算を表すことができる。
【0069】
《学習装置20の構成》
ここで、
図1に示すクラス識別システム1が備える学習装置20の構成について説明する。学習装置20は、数理モデル90を訓練し、各ノードのパラメータの値を決定する。
図4は、第1の実施形態に係る学習装置20の構成を示す概略ブロック図である。学習装置20は、モデル記憶部21、データセット受付部22、分割部23、変換部24、第1学習部25、評価部26、第2学習部27、出力部28を備える。
【0070】
モデル記憶部21は、数理モデル90および当該モデルのパラメータθ´の値を記憶する。数理モデル90のパラメータθ´は、式(18)に示すように、余事象クラスの事前確率p(k=0)、重み係数w(k、m)、重み係数wε
(k、m)、定数wN
(k,m)、定数wC
(k,m)を含む。
データセット受付部22は、数理モデル90の訓練に用いる複数のデータセットの入力を受け付ける。データセットは、信号xnを入力サンプルとし、当該信号xnが属するクラスのラベルを出力サンプルとする。
【0071】
分割部23は、データセット受付部22が受け付けた複数のデータセットを、学習用データセットと検証用データセットに分割する。例えば、分割部23は、予め定められた分割割合に基づいてデータセットを分割する。
【0072】
変換部24は、式(12)に従って、入力サンプルxnを非線形変換し、信号Xnを得る。
【0073】
第1学習部25は、N個の学習用データセットを用いて、誤差逆伝搬法により、数理モデル90の重み係数w(k、m)、重み係数wε
(k、m)、定数wN
(k,m)、定数wC
(k,m)の値を更新する。具体的には、入力サンプルを数理モデル90に入力して計算される出力値と、出力サンプルの値とに基づいて、あるサンプルにおける識別誤差を計算する。例えば、第1学習部25は、以下の式(37)により、識別誤差を評価するカルバックライブラ情報量Jを得る。第1学習部25は、カルバックライブラ情報量Jが最小となるように重み係数w(k、m)、重み係数wε
(k、m)、定数wN
(k,m)、定数wC
(k,m)の値を更新する。第1学習部25は、カルバックライブラ情報量Jが予め定めた目標値以下となるか、学習回数が予め定めた最大数を超えた場合に、パラメータの更新を終了する。なお、事前確率p(k=0)については、後述の第2学習部27にて更新するため、他の重み係数の学習段階では、事前確率p(k=0)に仮の値(例えば、0.01)を代入しておく。
【0074】
【0075】
評価部26は、第1学習部25による数理モデル90の訓練後、検証用データセットを用いて数理モデル90を評価する。つまり、評価部26は、数理モデル90に従って計算をすることで、第1層91、第2層92、第3層93(第1正規分布計算部93A、第2正規分布計算部93B、二次関数計算部93C)、第4層94(正規分布コンポーネント計算部94A、余事象分布コンポーネント計算部94B)、第5層95(既知クラス尤度計算部95A、余事象尤度計算部95B)として機能する。具体的には、評価部26は、以下の式(38)を用いて評価値PRecallを算出する。
【0076】
【0077】
ここで、Φkは、クラスkの入力サンプルを正しく識別できた数を示す。Ψkは、クラスkの入力サンプルを誤って識別した数を示す。
【0078】
第2学習部27は、評価値PRecallに基づいて学習処理を終了するか否かを判定し、学習を終了しない場合に、余事象クラスの事前確率p(k=0)を更新する。具体的には、第2学習部27は、現在の余事象クラスの事前確率p(k=0)に、所定の更新量p0を加算することで、余事象クラスの事前確率p(k=0)を更新する。
第2学習部27は、評価値PRecallと、新たな事前確率を適用した場合の評価値との差が所定の終了判定閾値以下である場合に、学習処理を終了すると判定する。
【0079】
出力部28は、学習処理を終了した数理モデル90の学習済みモデルを、識別装置10に出力する。
【0080】
《学習装置20の動作》
図5は、第1の実施形態に係る学習装置20の動作を示すフローチャートである。
学習装置20のデータセット受付部22が複数のデータセットの入力を受け付けると(ステップS1)、分割部23は、複数のデータセットを、学習用データセットと検証用データセットに分割する(ステップS2)。
【0081】
変換部24は、複数の入力サンプルを非線形変換し入力信号を得る(ステップS3)。次に、第1学習部25は、学習用データセットから変換された入力信号を用いて、誤差逆伝搬法により、数理モデル90のパラメータ(重み係数w(k、m)、重み係数wε
(k、m)、定数wN
(k,m)、定数wC
(k,m))の値を更新する(ステップS4)。第1学習部25は、式(37)で得られる識別誤差Jが目標値以下となったか否か、および学習回数が最大数を超えたか否かを判定する(ステップS5)。識別誤差Jが目標値より大きく、かつ学習回数が最大数未満である場合(ステップS5:NO)、学習装置20はステップS3に処理を戻す。
【0082】
他方、識別誤差Jが目標値以下となった場合、または学習回数が最大数を超えた場合(ステップS5:YES)、第1学習部25は、重み係数の更新を終了する。次に、評価部26は、検証用データセットから変換された入力信号を用いて数理モデル90の評価値PRecallを算出する(ステップS6)。第2学習部27は、ステップS6で算出した評価値PRecallが予め定めた識別率の許容閾値以下となったか否かを判定する(ステップS7)。
【0083】
評価値PRecallが許容閾値より大きい場合(ステップS7:NO)、評価部26は、余事象クラスの事前確率p(k=0)を更新し、ステップS6に処理を戻す(ステップS8)。
他方、評価値PRecallが許容閾値以下となった場合(ステップS7:YES)、出力部28は、学習処理を終了した数理モデル90の学習済みモデルを、識別装置10に出力する(ステップS9)。
【0084】
《識別装置10の構成》
ここで、
図1に示すクラス識別システム1が備える識別装置10の構成について説明する。識別装置10は、学習装置20によって訓練された学習済みの数理モデル90を用いて、入力データのクラスを識別する。
図6は、第1の実施形態に係る識別装置10の構成を示す概略ブロック図である。識別装置10は、モデル取得部11、モデル記憶部12、データ入力部13、変換部14、識別部15、出力部16を備える。
【0085】
モデル取得部11は、学習装置20から学習済みの数理モデル90を取得する。モデル取得部11は、取得した学習済みの数理モデル90をモデル記憶部12に記録する。
モデル記憶部12は、モデル取得部11が取得した学習済みの数理モデル90を記憶する。
データ入力部13は、クラスの識別対象となる入力データの入力を受け付ける。
変換部14は、式(12)に従って、入力データxnを非線形変換し、信号Xnを得る。
識別部15は、変換部14が変換した信号Xnをモデル記憶部12が記憶する学習済みモデルに入力することで、当該信号Xnの複数のクラスの尤度を算出し、当該尤度に基づいて、入力データが属するクラスを評価する。つまり、識別部15は、数理モデル90に従って計算をすることで、第1層91、第2層92、第3層93(第1正規分布計算部93A、第2正規分布計算部93B、二次関数計算部93C)、第4層94(正規分布コンポーネント計算部94A、余事象分布コンポーネント計算部94B)、第5層95(既知クラス尤度計算部95A、余事象尤度計算部95B)として機能する。
出力部16は、識別部15による評価結果を出力する。
【0086】
《識別装置10の動作》
図7は、第1の実施形態に係る識別装置10の動作を示すフローチャートである。なお、以下の説明では、学習装置20による学習済みの数理モデル90は、モデル記憶部12に既に記憶されているものとする。
【0087】
識別装置10のデータ入力部13は、クラスの識別対象となる入力データの入力を受け付ける(ステップS11)。次に、変換部14は、式(11)に従って、入力データを非線形変換し、信号を得る(ステップS12)。識別部15は、ステップS12で変換した信号Xnをモデル記憶部12が記憶する学習済みモデルに入力することで、当該信号Xnの複数のクラスの尤度を算出する(ステップS13)。識別部15は、算出された尤度に基づいて、入力データが属するクラスを評価する(ステップS14)。出力部16は、識別部15による評価結果を出力する(ステップS15)。
【0088】
《作用・効果》
このように、第1の実施形態に係る数理モデル90は、第1層91、第2層92、第2正規分布計算部93Bを含む第3層93、余事象尤度計算部95Bを含む第5層95を備えるニューラルネットワークモデルである。第1層91には特徴ベクトルXnが入力される。第2層92は、複数のクラスに係る分布を表す複数の正規分布関数の指数部に係る複数の二次関数の係数を表す重み変数w(k,m)を有し、特徴ベクトルXnと重み変数w(k,m)とに基づいてベクトル(2)Ok,mを計算する。第2正規分布計算部93Bは、複数の正規分布関数の係数を表す重み変数wε
(k,m)を有し、ベクトル(2)Ok,mと重み変数wε
(k,m)とに基づいてベクトル(3B)Ok,mを計算する。余事象尤度計算部95Bは、ベクトル(2)Ok,mとベクトル(3B)Ok,mとに基づいて、特徴ベクトルが複数のクラスのいずれにも属しないことの尤度である余事象尤度を計算する。
数理モデル90は、識別装置10に特徴ベクトルXnを第1層91に入力するステップと、特徴ベクトルXnと重み変数w(k,m)とに基づいてベクトル(2)Ok,mを計算するステップと、ベクトル(2)Ok,mと重み変数wε
(k,m)とに基づいベクトル(3B)Ok,mを計算するステップと、ベクトル(2)Ok,mとベクトル(3B)Ok,mとに基づいて余事象尤度を計算するステップとを実行させる。
【0089】
このように、数理モデル90は、第2層92において、余事象分布コンポーネントに共通する二次関数部分を計算し、その計算結果を用いて余事象分布コンポーネントの正規分布部と二次関数項部とをそれぞれ計算するように構成される。正規分布部と二次関数項部の軸、即ち平均値μは共通する二次関数部分にのみ含まれるため、数理モデル90を用いて計算される余事象分布コンポーネントは、パラメータθ´によらず常に正規分布部と二次関数項部の軸を同じくする。したがって、第1の実施形態に係る数理モデル90は正規分布関数と二次関数の軸を一致させた混合余事象分布に基づいて、想定しないクラスに属する確率を推定することができる。
【0090】
〈第2の実施形態〉
第1の実施形態に係るパラメータθ´の重み係数w(k,m)および重み係数wε
(k,m)はそれぞれ定義域の制約を有する。具体的には、重み係数w(k,m)は、式(39)に示す制約を有し、重み係数wε
(k,m)は、式(40)に示す制約を有する。つまり、重み係数w(k,m)のうちxxTの対角要素に対応するものは0未満である必要があり、重み係数wε
(k,m)は、0より大きく1より小さい必要がある。
【0091】
【0092】
第1の実施形態に係るクラス識別システム1については、学習時にパラメータθ´について制約を逸脱していないかを確認し、制約を逸脱する場合に適宜修正することで演算エラーを回避することができる。これに対し、第2の実施形態に係るクラス識別システム1は、パラメータθ´が制約を逸脱しないように学習を実施する。
【0093】
具体的には、第2の実施形態の数理モデル90のうち、重み係数wh
(k,m)に対応するノードについて、wh
(k,m)を式(41)に示す指数関数に置き換え、重み係数wε
(k,m)に対応するノードについて、wε
(k,m)を式(42)に示すシグモイド関数に置き換える。そして、それぞれ代替パラメータrh
(k,m)およびrε
(k,m)を学習させる。
【0094】
【0095】
なお、他の実施形態においては、wh
(k,m)を表す式は式(41)に限られず、値域の下限が無く0を上限とする関数であればよい。また、他の実施形態においては、wε
(k,m)を表す式は式(42)に限られず、値域の下限が0であり上限が1である関数であればよい。
【0096】
このように、第2の実施形態によれば、クラス識別システム1は、パラメータθ´の一部の要素を、当該要素の定義域と一致する値域を有する関数に置き換えることで、パラメータθ´の制約を逸脱しないように学習を実施することができる。
【0097】
〈第3の実施形態〉
第1、第2の実施形態によれば、ニューラルネットワークである数理モデル90を用いてクラスの識別を行うことができる。一方で、数理モデル90の各パラメータθ´は、対数線形化したGMMおよびCGMMのパラメータであり、式(1)や式(6)に示すGMMおよびCGMMのパラメータであるμ(k,m)およびΣ(k,m)ではない。そのため、個別のGMMコンポーネントおよびCGMMコンポーネントの形状を認識することが困難である。第3の実施形態では、数理モデル90を解析し、GMMおよびCGMMの確率モデルを抽出する。
【0098】
図8は、第3の実施形態に係る解析装置30の構成を示すブロック図である。
解析装置30は、モデル取得部31、モデル記憶部32、共分散特定部33、平均特定部34、関数生成部35、出力部36を備える。
【0099】
モデル取得部31は、学習装置20から学習済みの数理モデル90を取得する。モデル取得部31は、取得した学習済みの数理モデル90をモデル記憶部32に記録する。
モデル記憶部32は、モデル取得部31が取得した学習済みの数理モデル90を記憶する。
【0100】
共分散特定部33は、モデル記憶部32が記憶する数理モデル90のパラメータθ´のうち、xxTに対応するパラメータを用いて、分散共分散行列Σ(k,m)を特定する。具体的には、共分散特定部33は、パラメータθ´のうちxxTに対応する各パラメータに(-2/(2-δi,j))を乗算することで、分散共分散行列Σ(k,m)の各要素を得ることができる。
平均特定部34は、数理モデル90の第2層92の出力に基づく勾配法により、平均ベクトルμ(k,m)を特定する。
【0101】
関数生成部35は、余事象分布の分散εk,m、混合度αk,m、βk,mをそれぞれ算出し、式(1)に示すGMM関数および式(6)に示すCGMM関数を生成する。具体的には、関数生成部35は、式(43)に示すwε
(k,m)の定義に基づいて分散εk,mを算出する。関数生成部35は、式(44)に示すwN
(k,m)の定義に基づいて混合度αk,mを算出する。関数生成部35は、式(45)に示すwC
(k,m)の定義に基づいて混合度βk,mを算出する。
【0102】
【0103】
関数生成部35は、特定したパラメータθを用いて、式(1)に示すGMM関数および式(6)に示すCGMM関数から入力データxのクラスを識別するためのプログラムを生成してもよい。当該プログラムは、入力データxの入力を受け付けるステップと、特定したパラメータθと式(1)に示すGMM関数とに基づいて、入力データxが既知のクラスに属する確率を算出するステップと、特定したパラメータθと式(6)に示すCGMM関数とに基づいて、入力データxが既知のクラスに属しない確率を算出するステップと、計算された確率を出力するステップとを、コンピュータに実行させる。
【0104】
このように、第3の実施形態に係る解析装置30は、学習済みの数理モデル90からGMMおよびCGMMを表す確率モデルを抽出することができる。これにより、解析装置30は、学習結果の可読性を高めることができる。また解析装置30は、解析結果に基づいて、GMM関数およびCGMM関数から入力データのクラスを識別するプログラムを生成することができる。このプログラムは人にとって理解しやすいGMM関数およびCGMM関数で表されるため、人手によるパラメータの調整が容易である。
【0105】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
【0106】
上述の実施形態においては、数理モデル90を用いてクラス識別を行ったが、他の実施形態においては、これに限られない。例えば、他の実施形態においては、生成装置が数理モデル90を用いて余事象クラスに属するデータを生成してもよい。
また、上述の実施形態においては、クラス識別システム1が機械学習を用いてクラス識別を行うが、これに限られない。例えば、他の実施形態においては、機械学習によらず、数理モデル90を用いた計算を行ってもよい。
【0107】
また、上述のクラス識別システム1は、識別装置10と学習装置20とを備えるが、これに限られない。例えば、他の実施形態に係るクラス識別システム1は、同一の装置において学習処理と識別処理を行ってもよい。
また、上述のクラス識別システム1は、学習段階のステップS2においてデータセットを学習用データセットと検証用データセットとに分割し、検証用データセットを用いて評価値を算出するが、これに限られない。例えば、他の実施形態においては、すべてのデータセットを学習用に用い、同じデータセットを用いて評価値を算出してもよい。
【0108】
〈コンピュータ構成〉
図9は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ100は、プロセッサ110、メインメモリ130、ストレージ150、インタフェース170を備える。
上述の識別装置10および学習装置20は、コンピュータ100に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ150に記憶されている。プロセッサ110は、プログラムをストレージ150から読み出してメインメモリ130に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ110は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ130に確保する。プロセッサ110の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
【0109】
プログラムは、コンピュータ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として機能するように構成される。また、他の実施形態においては、コンピュータ100は、1または複数のコンピュータ上で仮想化されたものであってもよい。
【0110】
ストレージ150の例としては、光ディスク、磁気ディスク、光磁気ディスク、半導体メモリ等が挙げられる。ストレージ150は、コンピュータ100のバスに直接接続された内部メディアであってもよいし、インタフェース170または通信回線を介してコンピュータ100に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ100に配信される場合、配信を受けたコンピュータ100が当該プログラムをメインメモリ130に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ150は、一時的でない有形の記憶媒体である。
【0111】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ150に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0112】
1…クラス識別システム 10…識別装置 11…モデル取得部 12…モデル記憶部 13…データ入力部 14…変換部 15…識別部 16…出力部 20…学習装置 21…モデル記憶部 22…データセット受付部 23…分割部 24…変換部 25…第1学習部 26…評価部 27…第2学習部 28…出力部 30…解析装置 31…モデル取得部 32…モデル記憶部 33…共分散特定部 34…平均特定部 35…関数生成部 36…出力部 90…数理モデル 91…第1層 92…第2層 93…第3層 93A…第1正規分布計算部 93B…第2正規分布計算部 93C…二次関数計算部 94…第4層 94A…正規分布コンポーネント計算部 94B…余事象分布コンポーネント計算部 95…第5層 95A…既知クラス尤度計算部 95B…余事象尤度計算部