(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-10
(45)【発行日】2025-03-18
(54)【発明の名称】検出方法、検出装置、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20250311BHJP
【FI】
G06N20/00
(21)【出願番号】P 2023567442
(86)(22)【出願日】2021-12-16
(86)【国際出願番号】 JP2021046559
(87)【国際公開番号】W WO2023112264
(87)【国際公開日】2023-06-22
【審査請求日】2024-04-25
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】岩田 具治
【審査官】千葉 久博
(56)【参考文献】
【文献】中国特許出願公開第113642671(CN,A)
【文献】REN Jie, et al.,Likelihood Ratios for Out-of-Distribution Detection,In: Proceedings of the 33rd Conference on Neural Information Processing Systems (NeurIPS 2019),[online],2019年,Pages 1-12,[retrieved on 2022.03.04], Retrieved from the Internet: <URL: https://proceedings.neurips.cc/paper/2019/hash/1e79596878b2320cac26dd792a6c51c9-Abstract.html>.
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
目的とするタスクである目的タスクを含む複数のタスクの学習データで構成される第1の学習データ集合を用いて、前記複数のタスクで共通の機械学習モデルである共通モデルを学習するメタ学習手順と、
学習済みの前記共通モデルと、前記目的タスクの学習データで構成される第2の学習データ集合と、前記目的タスクの機械学習モデルである目的タスク特化モデルとを用いて、
与えられたデータが分布外データであるか否かを判定する判定手順と、
をコンピュータが実行
し、
前記判定手順は、
前記データの分布外スコアを計算し、前記分布外スコアが所定の閾値以上である場合は前記データを分布外データであると判定し、前記分布外スコアが前記閾値未満である場合は前記データを分布外データでないと判定する、検出方法。
【請求項2】
前記検出方法には、
前記複数のタスクに含まれる各タスクの学習データを用いて、前記タスクの機械学習モデルであるタスク特化モデルを学習する適合手順が含まれ、
前記メタ学習手順は、
前記複数のタスクから選択した一のタスクの1以上の第1のデータと、前記一のタスク以外のタスクの1以上の第2のデータと、前記一のタスクの学習済みの前記タスク特化モデルとを用いて、前記1以上の第1のデータ及び前記1以上の第2のデータの各々に対する
前記分布外スコアを計算し、
前記分布外スコアによる前記分布外データの検出性能が向上するように、前記共通モデルを学習する、請求項1に記載の検出方法。
【請求項3】
前記分布外スコアは、潜在空間における負の対数尤度であり、
前記メタ学習手順は、
前記分布外データの検出性能の評価尺度としてAUCの期待値を計算し、
前記AUCの期待値を最大化するように、前記共通モデルを学習する、請求項2に記載の検出方法。
【請求項4】
前記タスク特化モデルは所定の密度分布モデルであり、
前記適合手順は、
最尤推定により前記タスク特化モデルのパラメータを推定することで、前記タスク特化モデルを学習する、請求項3に記載の検出方法。
【請求項5】
前記適合手順は、
前記第2の学習データ集合を用いて、前記目的タスク特化モデルを学習し、
前記
判定手順は、
学習済みの前記目的タスク特化モデルと与えられたデータとを用いて、前記データの前記分布外スコアを計算し、
前記分布外スコアが
前記閾値以上である場合、前記データを分布外データ
であると判定する、請求項2乃至4の何れか一項に記載の検出方法。
【請求項6】
目的とするタスクである目的タスクを含む複数のタスクの学習データで構成される第1の学習データ集合を用いて、前記複数のタスクで共通の機械学習モデルである共通モデルを学習するように構成されているメタ学習部と、
学習済みの前記共通モデルと、前記目的タスクの学習データで構成される第2の学習データ集合と、前記目的タスクの機械学習モデルである目的タスク特化モデルとを用いて、
与えられたデータが分布外データであるか否かを判定するように構成されている
判定部と、
を有
し、
前記判定部は、
前記データの分布外スコアを計算し、前記分布外スコアが所定の閾値以上である場合は前記データを分布外データであると判定し、前記分布外スコアが前記閾値未満である場合は前記データを分布外データでないと判定する、検出装置。
【請求項7】
コンピュータに、請求項1乃至5の何れか一項に記載の検出方法を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検出方法、検出装置、及びプログラムに関する。
【背景技術】
【0002】
機械学習モデルによりクラスの予測(又はクラスの分類)を行う場合、学習データにないクラスのデータに関する予測は大きく間違えることが多い。このため、学習データにないクラスのデータを検出する手法である分布外データ検出手法(例えば、非特許文献1)は重要である。分布外データ検出手法により、大きく間違える可能性があるデータを検出し、そのデータを別途処理することが可能になる。これ以外にも、分布外データ検出手法では、異常なデータを検出したり、収集したデータの品質を確認したりすることも可能である。
【先行技術文献】
【非特許文献】
【0003】
【文献】Liang, Shiyu, Yixuan Li, and R. Srikant. "Enhancing The Reliability of Out-of-distribution Image Detection in Neural Networks." International Conference on Learning Representations. 2018.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の分布外データ検出手法では、大量の学習データが必要であるという問題がある。
【0005】
本発明の一実施形態は、上記の点に鑑みてなされたもので、分布外データを高精度に検出することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、一実施形態に係る検出方法は、目的とするタスクである目的タスクを含む複数のタスクの学習データで構成される第1の学習データ集合を用いて、前記複数のタスクで共通の機械学習モデルである共通モデルを学習するメタ学習手順と、学習済みの前記共通モデルと、前記目的タスクの学習データで構成される第2の学習データ集合と、前記目的タスクの機械学習モデルである目的タスク特化モデルとを用いて、前記第2の学習データ集合に含まれる学習データには付与されていないラベルのデータを分布外データとして検出する検出手順と、をコンピュータが実行する。
【発明の効果】
【0007】
分布外データを高精度に検出することができる。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係る検出装置のハードウェア構成の一例を示す図である。
【
図2】本実施形態に係る検出装置の機能構成の一例を示す図である。
【
図3】本実施形態に係るメタ学習処理の一例を示すフローチャートである。
【
図4】本実施形態に係る検出処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態について説明する。本実施形態では、目的のタスク(以下、目的タスクともいう。)の学習データが少量しかない場合であっても、目的タスクにおける分布外データを高精度に検出することができる検出装置10について説明する。ここで、学習データとは、事例の特徴量と、その特徴量がどのクラスに属するかを表すラベルとの組で表されるデータのことである。
【0010】
本実施形態に係る検出装置10には、目的タスクを含む複数のタスクの学習データを用いてメタ学習を行うメタ学習時と、目的タスクのデータ(特徴量)が与えられた場合にその特徴量が分布外データであるか否かを判定する検出時とが存在する。
【0011】
メタ学習時には、各タスクのモデル(以下、タスク特化モデルともいう。)と、各タスクで共通のモデル(以下、共通モデルともいう。)と、メタ学習用の学習データ集合
【0012】
【数1】
とが検出装置10に与えられるものとする。ここで、Tはタスク数、N
tはt番目のタスクの学習データ数(言い換えれば、t番目のタスクのラベル付き事例数)、x
tnはt番目のタスクのn番目の事例の特徴量を表す。また、
【0013】
【数2】
はx
tnのラベル(クラスラベル)、c
tkはt番目のタスクのk番目のクラス、K
tはt番目のタスクのクラス数を表す。なお、以下では、D
t={(x
tn,y
tn)|n=1,・・・,N
t}と表記する。また、t番目のタスクを「タスクt」、n番目の事例を「事例n」、k番目のクラスを「クラスk」等とも表記する。
【0014】
検出時には、メタ学習時に学習した共通モデルと、目的タスクt'のタスク特化モデルと、目的タスクt'の学習データ集合Dt'={(xt'n,yt'n)|n=1,・・・,Nt'}と、分布外データであるか否かの判定対象となる特徴量x(又は、そのような判定対象の特徴量の集合{xn|n=1,・・・,N}、ただし、Nは特徴量数)とが与えられるものとする。ここで、目的タスクt'の学習データ集合Dt'に含まれる学習データ数Nt'は、比較的少量(すなわち、従来の分布外データ検出手法で必要な学習データ数よりも少量)であることを想定する。
【0015】
なお、各タスク特化モデル(機械学習モデル)としては、そのタスクに応じて任意のモデルが与えられるが、以下では一例として任意の密度分布モデルで与えられることを想定する。
【0016】
<検出装置10のハードウェア構成>
本実施形態に係る検出装置10のハードウェア構成例を
図1に示す。
図1に示すように、本実施形態に係る検出装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続されている。
【0017】
入力装置101は、例えば、キーボード、マウス、タッチパネル等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、検出装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
【0018】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。検出装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。記録媒体103aとしては、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
【0019】
通信I/F104は、検出装置10を通信ネットワークに接続するためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等のストレージ装置(記憶装置)である。プロセッサ108は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の演算装置である。
【0020】
本実施形態に係る検出装置10は、
図1に示すハードウェア構成を有することにより、後述するメタ学習処理や検出処理を実現することができる。なお、
図1に示すハードウェア構成は一例であって、検出装置10のハードウェア構成はこれに限られるものではない。例えば、検出装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェア以外の様々なハードウェアを有していてもよい。
【0021】
<検出装置10の機能構成>
本実施形態に係る検出装置10の機能構成例を
図2に示す。
図2に示すように、本実施形態に係る検出装置10は、メタ学習部201と、適合部202と、終了判定部203と、検出部204とを有する。これら各部は、例えば、検出装置10にインストールされた1以上のプログラムが、プロセッサ108に実行させる処理により実現される。また、本実施形態に係る検出装置10は、記憶部205を有する。記憶部205は、例えば、補助記憶装置107により実現される。なお、記憶部205は、例えば、検出装置10と通信ネットワークを介して接続される記憶装置(データベースサーバ等)により実現されていてもよい。
【0022】
メタ学習部201は、メタ学習時に、メタ学習用の学習データ集合Dを用いて、分布外データの検出性能が向上するように、共通モデルを学習する。
【0023】
適合部202は、メタ学習時及び検出時のそれぞれで或る学習データ集合(後述するサポート集合)に適合するようにタスク特化モデルを学習する。
【0024】
終了判定部203は、メタ学習時に、共通モデルを学習するための繰り返しに対する終了条件を満たすか否かを判定する。
【0025】
検出部204は、検出時に、メタ学習時に学習した共通モデルと目的タスクt'のタスク特化モデルとを用いて、分布外データを検出する。
【0026】
記憶部205は、メタ学習時に、学習対象の共通モデル(及びそのパラメータ)と各タスクのタスク特化モデル(及びそのパラメータ)とメタ学習用の学習データ集合Dとを少なくとも記憶する。また、記憶部205は、検出時に、学習済みの共通モデル(及びそのパラメータ)と目的タスクt'の学習データ集合Dt'と目的タスクt'のタスク特化モデル(及びそのパラメータ)と分布外データであるか否かの判定対象となる特徴量(又はそれらの集合)とを少なくとも記憶する。なお、これら以外にも、記憶部205には、例えば、メタ学習時や検出時における途中の計算結果等といった様々なデータが記憶されてもよい。
【0027】
<メタ学習処理>
本実施形態に係るメタ学習処理について、
図3を参照しながら説明する。
【0028】
まず、メタ学習部201は、共通モデルのパラメータΦ(以下、共通モデルパラメータΦともいう。)を初期化する(ステップS101)。なお、共通モデルパラメータΦは任意の手法により初期化(例えば、ランダムに初期化、或る分布に従って初期化等)すればよい。
【0029】
次に、メタ学習部201は、タスクt∈{1,・・・,T}をランダムに選択する(ステップS102)。
【0030】
次に、メタ学習部201は、上記のステップS102で選択したタスクtのサポート集合S⊂Dtをランダムにサンプリングする(ステップS103)。すなわち、メタ学習部201は、上記のステップS102で選択したタスクtの学習データ集合Dtからいくつかの学習データ(xtn,ytn)をランダムにサンプリングし、それらの学習データの集合をサポート集合Sとする。なお、学習データのサンプリング数はランダムに決定されてもよいし、予め決められた数であってもよい。
【0031】
次に、メタ学習部201は、上記のステップS102で選択したタスクtの分布内クエリ集合QIをランダムにサンプリングする(ステップS104)。すなわち、メタ学習部201は、上記のステップS102で選択したタスクtの学習データ集合Dtに含まれる特徴量の集合{xtn|n=1,・・・,Nt}からいくつかの特徴量xtnをランダムにサンプリングし、それらの特徴量の集合を分布内クエリ集合QIとする。なお、特徴量のサンプリング数はランダムに決定されてもよいし、予め決められた数であってもよい。
【0032】
次に、メタ学習部201は、上記のステップS102で選択したタスクtの分布外クエリ集合QOをランダムにサンプリングする(ステップS105)。すなわち、メタ学習部201は、上記のステップS102で選択したタスクt以外のタスクの学習データ集合D\Dtに含まれる特徴量の集合からいくつかの特徴量をランダムにサンプリングし、それらの特徴量の集合を分布外クエリ集合QOとする。なお、特徴量のサンプリング数はランダムに決定されてもよいし、予め決められた数であってもよい。
【0033】
次に、適合部202は、上記のステップS103で得られたサポート集合Sに適合するように、上記のステップS102で選択したタスクtのタスク特化モデルのパラメータを推定する(ステップS106)。以下、タスク特化モデルのパラメータをΘとする。なお、タスク特化モデルとして密度分布モデルを想定しているため、そのパラメータは、例えば、最尤推定等により推定することができるが、具体例については後述する。
【0034】
次に、メタ学習部201は、上記のステップS102で選択したタスクtのタスク特化モデルを用いて、クエリ集合Q=QI∪QOの分布外スコアを計算する(ステップS107)。
【0035】
ここで、サポート集合Sと共通モデルパラメータΦとが与えられたときの特徴量xの分布外スコアをu(x|S;Φ)とする。分布外スコアu(x|S;Φ)は、特徴量xのクラスが、サポート集合Sを構成する各学習データのラベルが表すクラスに含まれていなければ高い値を取り、含まれていれば低い値を取る。後述するように、検出時には、この分布外スコアの値により、与えられた特徴量が分布外データであるか否かを判定する。このような分布外スコアu(x|S;Φ)としては、例えば、潜在空間における負の対数尤度
【0036】
【数3】
を用いることができる。ここで、fは特徴量空間から潜在空間へ特徴量を写像するニューラルネットワーク、φはそのパラメータである。また、
【0037】
【数4】
はサポート集合Sに適合したときのタスク特化モデルのパラメータ(つまり、上記のステップS106で推定されたパラメータ)を表す。ニューラルネットワークfのパラメータφは、共通モデルパラメータに含まれる(つまり、φ∈Φである。)。以下、明細書のテキスト中では、推定値を表すハット「^」は記号の直前に記載する。例えば、サポート集合Sに適合したときのタスク特化モデルのパラメータを「^Θ(S;Φ)」と表記する。
【0038】
したがって、メタ学習部201は、各x∈Qに対して、例えば、上記の式(1)に示す分布外スコアu(x|S;Φ)をそれぞれ計算する。
【0039】
ここで、分布外スコアu(x|S;Φ)として負の対数尤度を用いる場合、タスク特化モデルとしては任意の密度分布モデルを用いることができる。このため、例えば、タスク特化モデルとして混合ガウス分布を用いた場合、上記のステップS106において、適合部202は、最尤推定により、以下の式(2)に示すパラメータを計算することができる。
【0040】
【数5】
ここで、S
kはサポート集合Sの中でクラスkである特徴量の集合、^γ
k(S)はクラスkの混合比、^μ
k(S)はクラスkの特徴量の潜在空間における平均、^Σ
k(S)はクラスkの特徴量の潜在空間における共分散、βはパラメータ、Iは単位行列である。これらの混合比^γ
k(S)、平均^μ
k(S)及び共分散^Σ
k(S)をまとめたものがパラメータ^Θ(S;Φ)、つまり^Θ(S;Φ)={^γ
k(S),^μ
k(S),^Σ
k(S)|k=1,・・・,K
t}である。なお、混合ガウス分布ではなく、例えば、カーネル密度推定やニューラルネットワークに基づく密度モデル等を用いることも可能である。
【0041】
次に、メタ学習部201は、上記のステップS107で計算した分布外スコア(つまり、クエリ集合Qに関する分布外スコア)を評価する(ステップS108)。
【0042】
ここで、分布外スコアの評価尺度(言い換えれば、分布外スコアによる分布外データの検出性能を評価する尺度)として、例えば、AUC(Area under the ROC curve)を用いることができる。このとき、クエリ集合Qに関するAUC(より正確には、上記のステップS106で推定されたパラメータ^Θ(S;Φ)と、共通モデルパラメータΦとが与えられたときの、クエリ集合Qに関するAUC)は、
【0043】
【数6】
と計算することができる。ここで、N
Oは分布外クエリ集合Q
Oの大きさ(要素数)、N
Iは分布内クエリ集合Q
Iの大きさ(要素数)を表す。また、I(・)は指示関数であり、Aが真のときI(A)=1、そうでないときI(A)=0を取る。なお、上記の式(3)において、指示関数の代わりに、指示関数をシグモイド関数で近似した微分可能な関数を用いてもよい。
【0044】
次に、メタ学習部201は、分布外データの検出性能が向上するように、共通モデルパラメータΦを更新する(ステップS109)。
【0045】
例えば、クエリ集合Qに関するAUCの期待値が最大となるように共通モデルパラメータΦを学習する。すなわち、以下の式(4)により共通モデルパラメータΦを学習する。
【0046】
【数7】
ここで、Eは期待値を表す。なお、共通モデルパラメータΦの更新は、例えば、既知の勾配法等により行うことができる。
【0047】
次に、終了判定部203は、所定の終了条件を満たすか否かを判定する(ステップS110)。終了条件としては、例えば、ステップS102~ステップS109の繰り返し回数が所定の閾値以上となったこと、最適化対象の目的関数(つまり、上記の式(4)の期待値E)の変化量が所定の閾値以下となったこと、モデル共通パラメータΦの変化量が所定の閾値以下となったこと、等が挙げられる。
【0048】
上記のステップS110で所定の終了条件を満たすと判定されなかった場合は、ステップS102に戻る。これにより、当該終了条件を満たすと判定されるまで、ステップS102~ステップS110が繰り返し実行される。一方で、上記のステップS110で所定の終了条件を満たすと判定された場合は、メタ学習処理を終了する。この場合、学習済み共通モデルが得られたことになる。
【0049】
<検出処理>
本実施形態に係る検出処理について、
図4を参照しながら説明する。
【0050】
適合部202は、目的タスクt'の学習データ集合D
t'をサポート集合Sとして、目的タスクt'のタスク特化モデルをサポート集合Sに適合させる(ステップS201)。すなわち、適合部202は、
図3のステップS106と同様に、当該サポート集合Sに適合するように、目的タスクt'のタスク特化モデルのパラメータ^Θ(S;Φ)を推定する。ただし、Φは学習済み共通モデルのパラメータである。
【0051】
次に、検出部204は、分布外データであるか否かの判定対象となる特徴量xの分布外スコアu(x|S:Φ)を計算する(ステップS202)。すなわち、検出部204は、例えば、上記の式(1)により分布外スコアu(x|S:Φ)を計算する。なお、分布外データであるか否かの判定対象となる特徴量の集合{xn|n=1,・・・,N}が与えられた場合、n=1,・・・,Nに対して分布外スコアu(xn|S:Φ)をそれぞれ計算すればよい。
【0052】
そして、検出部204は、上記のステップS202で計算した分布外スコアから該当の特徴量が分布外データであるか否かを判定する(ステップS203)。具体的には、例えば、分布外スコアu(x|S:Φ)が所定の閾値以上である場合はその特徴量xを分布外データであると判定し、そうでない場合は分布外データでないと判定する。これにより、分布外スコアu(x|S:Φ)が所定の閾値以上である特徴量xが、分布外データと検出される。
【0053】
<評価>
手書き文字を用いて、本実施形態に係る検出装置10を評価した結果を以下の表1に示す。
【0054】
【表1】
上記の表1中において、提案手法が検出装置10である。一方で、既存手法は既存のメタ学習法であるPrototypical networkとした。また、評価指標としてはAUCを用いた。上記の表1に示されるように、本実施形態に係る検出装置10は、既存手法と比べて、高いAUCを達成していることがわかる。
【0055】
<まとめ>
以上のように、本実施形態に係る検出装置10は、目的タスクを含む複数のタスクの学習データ集合を用いて、これら複数のタスクで共通の共通モデルのパラメータをメタ学習により学習する。そして、本実施形態に係る検出装置10は、学習済みの共通モデルと、目的タスクの学習データ集合に適合させたタスク特化モデルとを用いて、与えられた特徴量から目的タスクの分布外データを検出することができる。しかも、目的タスクの学習データ集合に少量の学習データしか含まれない場合であっても、既存手法と比較して高精度に分布外データを検出することができる。
【0056】
なお、上記では、与えられた特徴量から目的タスクの分布外データを検出する場合について説明したが、本実施形態に係る検出装置10は、その検出結果から種々の処理を実行してもよい。例えば、分布外データが異常データを表す場合には、例えば、異常となっている機器の停止、他の機器への切り替え等といった制御処理を実行してもよい。
【0057】
本発明は、具体的に開示された上記の実施形態に限られるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0058】
10 検出装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 メタ学習部
202 適合部
203 終了判定部
204 検出部
205 記憶部