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

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

▶ 日本電信電話株式会社の特許一覧

特許7173308検知装置、検知方法および検知プログラム
<>
  • 特許-検知装置、検知方法および検知プログラム 図1
  • 特許-検知装置、検知方法および検知プログラム 図2
  • 特許-検知装置、検知方法および検知プログラム 図3
  • 特許-検知装置、検知方法および検知プログラム 図4
  • 特許-検知装置、検知方法および検知プログラム 図5
  • 特許-検知装置、検知方法および検知プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】検知装置、検知方法および検知プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20221109BHJP
【FI】
G06N20/00 130
【請求項の数】 5
(21)【出願番号】P 2021518274
(86)(22)【出願日】2019-05-09
(86)【国際出願番号】 JP2019018536
(87)【国際公開番号】W WO2020225902
(87)【国際公開日】2020-11-12
【審査請求日】2021-08-25
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】塩田 哲哉
(72)【発明者】
【氏名】境 美樹
(72)【発明者】
【氏名】石井 方邦
(72)【発明者】
【氏名】及川 一樹
【審査官】大桃 由紀雄
(56)【参考文献】
【文献】国際公開第2017/126046(WO,A1)
【文献】米国特許出願公開第2019/0065979(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
学習時のデータと予測時のデータとを、データの特徴量ごとに比較して類似するか否かを判定する比較部と、
類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値以上の場合に、データの目的変数の予測値を出力するためのモデルの精度が劣化していると判定する判定部と、
を備えることを特徴とする検知装置。
【請求項2】
前記比較部は、数値で表される特徴量と、カテゴリまたはテキストで表される特徴量とを異なる手法で比較することを特徴とする請求項1に記載の検知装置。
【請求項3】
前記比較部は、さらに目的変数の値ごとに、学習時のデータと予測時のデータとを比較して類似するか否かを判定することを特徴とする請求項1に記載の検知装置。
【請求項4】
検知装置で実行される検知方法であって、
学習時のデータと予測時のデータとを、データの特徴量ごとに比較して類似するか否かを判定する比較工程と、
類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値以上の場合に、データの目的変数の予測値を出力するためのモデルの精度が劣化していると判定する判定工程と、
を含んだことを特徴とする検知方法。
【請求項5】
学習時のデータと予測時のデータとを、データの特徴量ごとに比較して類似するか否かを判定する比較ステップと、
類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値以上の場合に、データの目的変数の予測値を出力するためのモデルの精度が劣化していると判定する判定ステップと、
をコンピュータに実行させるための検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検知装置、検知方法および検知プログラムに関する。
【背景技術】
【0002】
一般に、機械学習では、学習時には、過去に収集されたデータの説明変数である特徴量の値に、正解となる目的変数の値が正解データとして付与された教師データを用いて学習され、モデルが構築される。そして、予測時には、構築されたモデルに特徴量の値が入力されると、目的変数の予測値が出力される。
【0003】
ここで、時間の経過とともにモデルの精度が劣化するタスクが存在する。例えば、人の行動を表す特徴量を含むタスクのモデルや、季節変動のあるセンサデータを利用するタスクのモデルは、時間経過とともに精度が劣化する場合がある。また、道路の新設等の外的要因によって、交通量の予測等のモデルの精度が劣化する場合がある。そのような場合には、モデルの精度の劣化の検知が必要である。従来は、正解データを用いてモデルの精度を算出することにより、その劣化を検知している。
【0004】
なお、非特許文献1には、二つのデータの数値的な特徴量を用いて、データの傾向が変化したことを検知する技術が記載されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】Lee.J, Magoules.F, “Detection of Concept Drift for Learning from Stream Data”, 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems, 2012年, p.241-245
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の技術では、モデルの精度の劣化を検知することは困難であった。すなわち、モデル運用時には正解データは存在せず、正解データを手動で作成するには多大な稼働がかかるため、正解データを用意することが困難であった。
【0007】
本発明は、上記に鑑みてなされたものであって、モデルの精度の劣化を容易に検知することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明に係る検知装置は、学習時のデータと予測時のデータとを、データの特徴量ごとに比較して類似するか否かを判定する比較部と、類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値以上の場合に、データの目的変数の予測値を出力するためのモデルの精度が劣化していると判定する判定部と、を備えることを特徴とする。
【発明の効果】
【0009】
本発明によれば、モデルの精度の劣化を容易に検知することが可能となる。
【図面の簡単な説明】
【0010】
図1図1は、本実施形態の検知装置の概略構成を例示する模式図である。
図2図2は、検知装置の処理対象を説明するための図である。
図3図3は、比較部の処理を説明するための図である。
図4図4は、比較部の処理を説明するための図である。
図5図5は、検知処理手順を示すフローチャートである。
図6図6は、検知プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0012】
[検知装置の構成]
図1は、本実施形態の検知装置の概略構成を例示する模式図である。図1に例示するように、本実施形態の検知装置10は、パソコン等の汎用コンピュータで実現され、入力部11、出力部12、通信制御部13、記憶部14、および制御部15を備える。
【0013】
入力部11は、キーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部15に対して処理開始などの各種指示情報を入力する。出力部12は、液晶ディスプレイなどの表示装置、プリンター等の印刷装置等によって実現される。例えば、出力部12には、後述する検知処理の結果が表示される。
【0014】
通信制御部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した外部の装置と制御部15との通信を制御する。例えば、通信制御部13は、後述する検知処理の対象である過去のデータを管理する管理装置等と制御部15との通信を制御する。
【0015】
記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部14には、検知装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが予め記憶され、あるいは処理の都度一時的に記憶される。なお、記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。
【0016】
例えば、記憶部14は、後述する検知処理の対象である過去のデータを記憶する。このデータは、後述する検知処理に先立って、管理装置等から収集され、記憶部14に記憶される。なお、これらのデータは、検知装置10の記憶部14に記憶される場合に限定されず、例えば、後述する検知処理が実行される際に収集されてもよい。
【0017】
制御部15は、CPU(Central Processing Unit)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部15は、図1に例示するように、比較部15aおよび判定部15bとして機能する。なお、これらの機能部は、それぞれが異なるハードウェアに実装されてもよい。また、制御部15は、その他の機能部を備えてもよい。例えば、制御部15が、後述する比較部15aの処理に先立って、これらの情報を収集する収集部を備えてもよい。
【0018】
ここで、図2は、検知装置10の処理対象を説明するための図である。機械学習では、図2(a)に示すように、学習時には、過去に収集されたデータの説明変数である特徴量の値に、正解となる目的変数の値が正解データとして付与された教師データを用いて学習され、モデルMが構築される。
【0019】
図2(a)に示す例では、データの特徴量として、がくの長さ、がくの幅、花弁の長さ、花弁の幅が示されている。また、目的変数は品種名であり、各データに正解データとして、「setosa」、「versicolor」等の目的変数の値が付与されている。
【0020】
そして、図2(b)に示すように、予測時には、構築されたモデルMに特徴量の値が入力されると、目的変数の予測値が出力される。図2(b)に示す例では、例えば、がくの長さ=5.3、がくの幅=3.7、花弁の長さ=1.5、花弁の幅=0.2がモデルMに入力されると、品種名の予測値「setosa」が出力される。
【0021】
本実施形態の検知装置10は、後述する検知処理により、モデルMの予測精度の劣化を検知する。
【0022】
図1の説明に戻る。比較部15aは、学習時のデータと予測時のデータとを、データの特徴量ごとに比較して類似するか否かを判定する。具体的には、比較部15aは、数値で表される特徴量と、カテゴリまたはテキストで表される特徴量とを異なる手法で比較する。
【0023】
ここで、図3は、比較部15aの処理を説明するための図である。比較部15aは、数値で表される特徴量を、例えば、コルモゴロフ-スミルノフ検定を用いて比較する。つまり、比較部15aは、まず、数値で表される各特徴量を、学習時の特徴量の値域に合わせて正規化する。図3に示す例では、各データの特徴量「数値1」および「数値2」の値が、学習時の値域に合わせて正規化されている。
【0024】
次に、比較部15aは、数値で表される特徴量ごとに、学習時の特徴量と予測時の特徴量とを、コルモゴロフ-スミルノフ検定を用いて比較して、検定結果として2つの分布の有意差の有無を表すp値を算出する。p値とは小さいほど有意差があることを表す値である。そこで、比較部15aは、p値が所定の閾値以下である場合に有意差がある、すなわち類似しないと判定する。
【0025】
図3の(1)、(2)で示す例では、閾値を0.05として、比較部15aは、「数値1」に対するp値=0.9は有意差なし(類似する)と判定し、「数値2」に対するp値=0.04は有意差あり(類似しない)と判定する。
【0026】
また、比較部15aは、カテゴリまたはテキストで表される特徴量を、例えば、特徴量の各値の出現頻度と希少性とを要素とするTF(Term Frequency)/IDF(Inverse Document Frequency)ベクトルを用いて比較する。つまり、比較部15aは、図3に示すカテゴリで表される特徴量「カテゴリ1」、テキストで表される特徴量「テキスト1」のそれぞれについて、学習時の特徴量のTF/IDFベクトルと、予測時の特徴量のTF/IDFベクトルとの間のコサイン類似度を算出する。そして、比較部15aは、算出したコサイン類似度が所定の閾値以下である場合に、類似しないと判定する。
【0027】
図3の(3)、(4)で示す例では、閾値を0.71として、比較部15aは、「カテゴリ1」に対するコサイン類似度=0.9を類似すると判定し、「テキスト1」に対するコサイン類似度=0.6を類似しないと判定する。
【0028】
図1の説明に戻る。判定部15bは、類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値以上の場合に、データの目的変数の予測値を出力するためのモデルMの精度が劣化していると判定する。
【0029】
例えば、図3に示した例では、閾値を0.5として、判定部15bは、4つの特徴量のうち、類似しないと判定された2つの特徴量「数値2」、「テキスト1」の割合は0.5と算出されることから、モデルMの精度が劣化していると判定する。判定部15bは、検知処理の結果として、判定結果を出力部12に出力したり、通信制御部13を介して管理装置等に出力したりしてもよい。
【0030】
なお、図4は、上記の比較部15aの処理を説明するための図である。図4に示すように、比較部15aは、さらに目的変数の値ごとに、学習時のデータと予測時のデータとを比較して類似するか否かを判定してもよい。
【0031】
つまり、比較部15aは、図4(a)に示すように、予測結果の目的変数の値「a」「b」「c」に対応した正解データが付与された学習時のデータがあれば、目的変数の値ごとに集計できる。そこで、比較部15aは、図4(b)に示すように、目的変数の値ごとに、図3に示した手法と同様の比較を行って、各特徴量が類似するか否かを判定する。図4(b)に示した例では、比較部15aは、目的変数の値「a」について、各特徴量の比較を行っている。
【0032】
これにより、目的変数の特定の値に対応するデータの性質が変化した場合に、変化を検知することが可能となる。
【0033】
[検知処理]
次に、図5を参照して、本実施形態に係る検知装置10による検知処理について説明する。図5は、検知処理手順を示すフローチャートである。図5のフローチャートは、例えば、ユーザが開始を指示する操作入力を行ったタイミングで開始される。
【0034】
まず、比較部15aは、学習時のデータと予測時のデータとを、データの特徴量ごとに比較して類似するか否かを判定する(ステップS1)。その際に、比較部15aは、数値で表される特徴量と、カテゴリまたはテキストで表される特徴量とを異なる手法で比較する。
【0035】
例えば、比較部15aは、数値で表される特徴量を、コルモゴロフ-スミルノフ検定を用いて比較する。また、比較部15aは、カテゴリまたはテキストで表される特徴量を、TF/IDFベクトルを用いて比較する。
【0036】
そして、判定部15bが、類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値以上かを確認する(ステップS2)。類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値以上の場合に(ステップS2、Yes)、判定部15bは、データの目的変数の予測値を出力するためのモデルMの精度が劣化していると判定する(ステップS3)。
【0037】
一方、類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値未満の場合に(ステップS2、No)、判定部15bは、モデルMの精度は劣化していないと判定する(ステップS4)。これにより、一連の検知処理が終了する。
【0038】
以上、説明したように、本実施形態の検知装置10において、比較部15aは、学習時のデータと予測時のデータとを、データの特徴量ごとに比較して類似するか否かを判定する。また、判定部15bが、類似しないと判定された特徴量の全特徴量に対する割合が所定の閾値以上の場合に、データの目的変数の予測値を出力するためのモデルの精度が劣化していると判定する。
【0039】
これにより、検知装置10は、時間経過とともに精度が劣化するタスクのモデルMについて、正解データを用いずに特徴量のみを用いてモデルMの精度の劣化を検知することが可能となる。
【0040】
具体的には、比較部15aは、数値で表される特徴量と、カテゴリまたはテキストで表される特徴量とを異なる手法で比較する。これにより、検知装置10は、モデルMについて、正解データを用いなくても、数値的な特徴量/カテゴリ・テキスト型の特徴量のいずれかに限定することなく、特徴量を用いてモデルMの精度の劣化を検知することが可能となる。
【0041】
例えば、客層、顧客の好みや行動、流行の流行り廃り等の人の行動を表す特徴量を含むタスクのモデルMについて、正解データを用いずにモデルの精度の劣化を検知することが可能となる。また、温度や湿度によってセンサや部材の特性が変化する等、季節変動のあるセンサデータを利用するタスクのモデルMについて、正解データを用いずに精度の劣化を検知することが可能となる。また、道路の新設等の外的要因によって交通量の予測等のモデルについて、精度の劣化を検知することが可能となる。
【0042】
また、比較部15aは、さらに目的変数の値ごとに、学習時のデータと予測時のデータとを比較して類似するか否かを判定してもよい。これにより、検知装置10は、分類タスクのモデルMについて、予測時のデータに対応して、予測されたラベル値の正解データが付与された教師データが用意された場合には、ラベル値ごとに精度の劣化を検知することができる。これにより、特定のラベル値のデータの性質が変化した場合にも、変化を検知することができる。このように、検知装置10によれば、モデルMの精度の劣化を容易に検知することが可能となる。
【0043】
[プログラム]
上記実施形態に係る検知装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、検知装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の検知処理を実行する検知プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の検知プログラムを情報処理装置に実行させることにより、情報処理装置を検知装置10として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)などの移動体通信端末、さらには、PDA(Personal Digital Assistant)などのスレート端末などがその範疇に含まれる。また、検知装置10の機能を、クラウドサーバに実装してもよい。
【0044】
図6は、検知プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
【0045】
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
【0046】
ここで、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ1031やメモリ1010に記憶される。
【0047】
また、検知プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した検知装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
【0048】
また、検知プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
【0049】
なお、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、検知プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0050】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0051】
10 検知装置
11 入力部
12 出力部
13 通信制御部
14 記憶部
15 制御部
15a 比較部
15b 判定部
M モデル
図1
図2
図3
図4
図5
図6