(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-28
(45)【発行日】2023-03-08
(54)【発明の名称】特徴量抽出方法、特徴量抽出プログラムおよび特徴量抽出装置
(51)【国際特許分類】
G06N 7/00 20230101AFI20230301BHJP
G06N 20/00 20190101ALI20230301BHJP
【FI】
G06N7/00
G06N20/00
(21)【出願番号】P 2019064972
(22)【出願日】2019-03-28
【審査請求日】2021-12-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】角田 友将
(72)【発明者】
【氏名】梅田 裕平
【審査官】北川 純次
(56)【参考文献】
【文献】特開2017-097643(JP,A)
【文献】国際公開第2017/154844(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 7/00
G06N 3/02-3/10
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
コンピュータが、
周期的な性質を有する時系列データからアトラクタを生成し、
前記アトラクタをパーシステントホモロジ変換することにより、パーシステントダイアグラムを生成し、
前記パーシステントダイアグラム
の各データに対して、前記パーシステントホモロジ変換により生成される穴の生存時間
が閾値以下であるデータと穴の発生時刻
が閾値よりも早いデータとの各影響度が小さくなる重みを設定することで、前記パーシステントダイアグラムの各データの影響度を変更し、
前記影響度が変更された変更後のパーシステントダイアグラムから、前記時系列データの特徴量を抽出する
処理を実行することを特徴とする特徴量抽出方法。
【請求項2】
前記変更する処理は、前記生存時間が一定値以下では徐々に0に近づくとともに、前記生存時間が前記一定値以上であれば所定値となる重みを、前記パーシステントダイアグラムの各データに設定して前記影響度を変更し、
前記抽出する処理は、前記影響度が変更された変更後のパーシステントダイアグラムからバーコードデータを生成し、前記バーコードデータに基づきベッチ系列を生成することを特徴とする請求項1に記載の特徴量抽出方法。
【請求項3】
前記変更する処理は、前記発生時刻が閾値以下の穴に対応する、前記パーシステントダイアグラム上のデータに対して1未満の重みを設定して、前記影響度を変更し、
前記抽出する処理は、前記影響度が変更された変更後のパーシステントダイアグラムからバーコードデータを生成し、前記バーコードデータに基づきベッチ系列を生成することを特徴とする請求項1または2に記載の特徴量抽出方法。
【請求項4】
前記変更する処理は、前記生存時間が一定値以下では徐々に0に近づくとともに、前記生存時間が前記一定値以上であれば所定値となる重みを、前記パーシステントダイアグラムの各データに設定して前記影響度を変更し、
前記抽出する処理は、前記影響度が変更された変更後のパーシステントダイアグラムから、前記変更後のパーシステントダイアグラムにおける各データの生存時間の和を、前記特徴量として抽出することを特徴とする請求項1に記載の特徴量抽出方法。
【請求項5】
ユーザに設定されたセンサから前記時系列データを随時取得し、
随時取得される前記時系列データの特徴量を表示し、
前記時系列データの特徴量の変化を検出する、処理を前記コンピュータがさらに実行することを特徴とする請求項1から4のいずれか一つに記載の特徴量抽出方法。
【請求項6】
コンピュータに、
周期的な性質を有する時系列データからアトラクタを生成し、
前記アトラクタをパーシステントホモロジ変換することにより、パーシステントダイアグラムを生成し、
前記パーシステントダイアグラム
の各データに対して、前記パーシステントホモロジ変換により生成される穴の生存時間
が閾値以下であるデータと穴の発生時刻
が閾値よりも早いデータとの各影響度が小さくなる重みを設定することで、前記パーシステントダイアグラムの各データの影響度を変更し、
前記影響度が変更された変更後のパーシステントダイアグラムから、前記時系列データの特徴量を抽出する
処理を実行させることを特徴とする特徴量抽出プログラム。
【請求項7】
周期的な性質を有する時系列データからアトラクタを生成する生成部と、
前記アトラクタをパーシステントホモロジ変換することにより、パーシステントダイアグラムを生成する生成部と、
前記パーシステントダイアグラム
の各データに対して、前記パーシステントホモロジ変換により生成される穴の生存時間
が閾値以下であるデータと穴の発生時刻
が閾値よりも早いデータとの各影響度が小さくなる重みを設定することで、前記パーシステントダイアグラムの各データの影響度を変更する変更部と、
前記影響度が変更された変更後のパーシステントダイアグラムから、前記時系列データの特徴量を抽出する抽出部と
を有することを特徴とする特徴量抽出装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、特徴量抽出方法、特徴量抽出プログラムおよび特徴量抽出装置に関する。
【背景技術】
【0002】
脳波や加速度などの時系列データを解析してデータの異常に対応した変化を検知する技術として、トポロジカルデータ解析(TDA:Topological Data Analysis)を用いた解析手法が知られている。例えば、時系列データを入力とし、小区分に区切ったデータから有限個のアトラクタである疑似アトラクタと呼ばれる図形に変換する。そして、図形の特徴をパーシステントホモロジ変換(PH変換)により抽出する際に、特徴となる穴の生成(発生)と消失をプロットしたパーシステントダイアグラムを生成し、パーシステントダイアグラムからバーコードデータを生成した後、最終的にベッチ数を算出する。
【0003】
このようにして生成されたベッチ数を用いたベッチ系列を特徴ベクトルとして機械学習を実行して学習モデルを生成する。その後、学習済みの学習モデルを用いて、時系列データから異常を検出する。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開第2006/137142号
【文献】特開平11-142425号公報
【文献】特開2018-92349号公報
【文献】特開2017-97643号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、パーシステントダイアグラムのすべてのデータを用いてベッチ系列を生成する場合、生成と消滅のタイミングが近い、すなわち生存時間が短いノイズの情報が含まれる。このため、パーシステントダイアグラムから生存時間が短い情報を除去してベッチ系列を生成することで、時系列データの特徴量の抽出精度を高めることが考えられる。
【0006】
しかしながら、生存時間が短い情報を完全に除去してしまうと、すべてが除去条件に該当する時系列データが複数発生した場合に、それらが区別できない。また、振幅が小さい時系列データの場合、生存時間が短くはない範囲にノイズ成分が出現することがあり、特徴量抽出に悪影響を与えてしまう。
【0007】
一つの側面では、精度のよい特徴量を抽出することができる特徴量抽出方法、特徴量抽出プログラムおよび特徴量抽出装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
第1の案では、特徴量抽出方法は、コンピュータが、周期的な性質を有する時系列データからアトラクタを生成し、前記アトラクタをパーシステントホモロジ変換することにより、パーシステントダイアグラムを生成する処理を実行する。特徴量抽出方法は、コンピュータが、前記パーシステントダイアグラムに対して、前記パーシステントホモロジ変換により生成される穴の生存時間または穴の発生時刻に基づき、前記パーシステントダイアグラムの各データの影響度を変更する処理を実行する。特徴量抽出方法は、コンピュータが、前記影響度が変更された変更後のパーシステントダイアグラムから、前記時系列データの特徴量を抽出する処理を実行する。
【発明の効果】
【0009】
一実施形態によれば、精度のよい特徴量を抽出することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施例1にかかる特徴量抽出装置を説明する図である。
【
図2】
図2は、特徴抽出装置を学習処理および推論処理に適用した場合の全体図を説明する図である。
【
図3】
図3は、実施例1にかかる特徴量抽出装置の機能構成を示す機能ブロック図である。
【
図4】
図4は、時系列データの一例を示す図である。
【
図5】
図5は、時系列データの一例を示す図である。
【
図6】
図6は、パーシステントホモロジについて説明するための図である。
【
図7】
図7は、バーコードデータと生成される連続データとの関係について説明するための図である。
【
図8】
図8は、パーシステントダイアグラムを説明する図である。
【
図9】
図9は、一般的なノイズ除去を説明する図である。
【
図10】
図10は、一般的なノイズ除去の問題点を説明する図である。
【
図11】
図11は、生存時間が短い情報がノイズは限らない理由を説明する図である。
【
図12】
図12は、振幅が小さいデータのノイズ除去を説明する図である。
【
図13】
図13は、発生が早い成分がノイズとなる理由1を説明する図である。
【
図14】
図14は、発生が早い成分がノイズとなる理由2を説明する図である。
【
図17】
図17は、重み設定前後のベッチ系列の変化を説明する図である。
【
図19】
図19は、人の動作分類に適用した学習時の例を説明する図である。
【
図20】
図20は、人の動作分類に適用した推論時の例を説明する図である。
【
図21】
図21は、実施例2にかかる手法を説明する図である。
【
図22】
図22は、実施例2による手法を異常検知に適用した例を説明する図である。
【
図23】
図23は、実施例2による手法を異常検知に適用した例を説明する図である。
【発明を実施するための形態】
【0011】
以下に、本願の開示する特徴量抽出方法、特徴量抽出プログラムおよび特徴量抽出装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
【実施例1】
【0012】
[特徴量抽出装置の説明]
図1は、実施例1にかかる特徴量抽出装置10を説明する図である。
図1に示すように、特徴量抽出装置10は、時系列データである入力データに対して、複数の擬似アトラクタを生成し、複数の疑似アトラクタそれぞれにパーシステントホモロジ変換(PH変換)を実行して、穴の発生と消滅とを特定する。そして、特徴量抽出装置10は、穴の発生時刻(Birth)と消滅時刻(Death)とをプロットしたパーシステントダイアグラム(以下では、単に「ダイアグラム」と記載する場合がある)を生成し、生存時間が0を示す対角線からの距離により各穴の生存時間を抽出する。
【0013】
その後、特徴量抽出装置10は、生存時間や発生時刻に対して重みを設定して重要度を変更した後、バーコードデータの生成およびベッチ系列の生成を実行する。このようにして生成されたベッチ系列は、入力データの特徴量として、各データの特徴量を学習する学習処理、学習済みモデルを用いた推論処理、特徴量を用いた異常検知などを行う分析処理などに利用される。
【0014】
ここで、特徴量抽出装置10を学習処理および推論処理に適用した例を説明する。
図2は、特徴量抽出装置10を学習処理および推論処理に適用した場合の全体図を説明する図である。
【0015】
図2に示すように、学習フェーズでは、特徴量抽出装置10は、「ラベルA」が付与された「単位時間分の時系列データ」などのように、ラベル付きの入力データに対して、アトラクタ生成、PH変換、ダイアグラム生成、重み設定、ベッチ系列の生成を実行する。そして、特徴量抽出装置10は、ラベル付きの入力データに対応するラベル付きのベッチ系列(特徴量)を生成する。その後、特徴量抽出装置10は、ラベル付きのベッチ系列を機械学習へ入力し、ベッチ系列からラベルを推定するモデルを学習する。
【0016】
また、推論フェーズでは、特徴量抽出装置10は、測定データである「単位時間分の時系列データ」などのラベルなしの入力データに対して、アトラクタ生成、PH変換、ダイアグラム生成、重み設定、ベッチ系列の生成を実行する。そして、特徴量抽出装置10は、ラベルなしの入力データに対応するベッチ系列(特徴量)を生成し、学習済みモデルに入力して、学習済みモデルの出力結果を取得する。その後、特徴量抽出装置10は、学習済みモデルの出力結果に基づき、入力データのラベルを特定する。
【0017】
なお、ここでは、特徴量抽出装置10が学習処理と類推処理とを実行する例を説明したが、あくまで一例であり、特徴量抽出処理、学習処理、類推処理のそれぞれが別々の装置で実行されていてもよい。
【0018】
[機能構成]
図3は、実施例1にかかる特徴量抽出装置10の機能構成を示す機能ブロック図である。
図3に示すように、特徴量抽出装置10は、通信部11、記憶部12、制御部20を有する。
【0019】
通信部11は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、脳波測定器が測定した脳波データ、ウェアラブルセンサなどで取得された加速度データなどの時系列データを、入力データとして各測定器から受信する。
【0020】
記憶部12は、データや制御部20が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、入力データDB13、PH情報DB14、重み設定DB15、特徴量DB16を記憶する。
【0021】
入力データDB13は、特徴量抽出の対象である時系列データを記憶するデータベースである。ここでは、入力データとしては、心拍数の変化を示す時系列データなどの周期的な性質を有する時系列データを用いて説明する。
図4は、時系列データの一例を示す図である。
図4は心拍数の変化を示す時系列データであり、縦軸が心拍数(Beats Per Minute)を表し、横軸は時間を表す。
【0022】
なお、ここでは連続データとして心拍数の時系列データを例示したが、このような時系列データに限られるわけではない。例えば、心拍数以外の生体データ(脳波、脈拍或いは体温などの時系列データ)、ウェアラブルセンサのデータ(ジャイロセンサ、加速度センサ或いは地磁気センサなどの時系列データ)等であってもよい。また、金融データ(金利、物価、国際収支或いは株価などの時系列データ)、自然環境のデータ(気温、湿度或いは二酸化炭素濃度などの時系列データ)、又は社会データ(労働統計或いは人口統計などのデータ)等であってもよい。
【0023】
PH情報DB14は、アトラクタ生成やPH変換などで生成される情報を記憶するデータベースである。例えば、PH情報DB14は、疑似アトラクタの点群の各座標、PH変換で生成される各穴の発生時刻と消滅時刻、各穴の生存時間などを記憶する。
【0024】
重み設定DB15は、パーシステントダイアグラムに与える重み情報を記憶するデータベースである。例えば、重み設定DB15は、穴が生成された時刻である発生時刻(生存値)や、穴の発生時刻と消滅時刻との差分である生存時間などに対応付けて、設定する重みを記憶する。
【0025】
特徴量DB16は、制御部20によって生成された特徴量を記憶するデータベースである。例えば、特徴量DB16は、重みが設定されたバーコードデータに関する情報や、学習処理や類推処理などで特徴量として利用されるベッチ系列に関する情報を記憶する。
【0026】
制御部20は、特徴量抽出装置10全体の処理を司る処理部であり、例えばプロセッサなどである。この制御部20は、PH処理部21、ダイアグラム生成部22、重み設定部23、特徴量抽出部24、特徴量処理部25を有する。なお、PH処理部21、ダイアグラム生成部22、重み設定部23、特徴量抽出部24、特徴量処理部25は、プロセッサなどが有する電子回路やプロセッサなどが実行するプロセスの一例である。
【0027】
PH処理部21は、入力データに対してアトラクタの生成およびPH変換を実行する処理部である。具体的には、PH処理部21は、入力データDB13に記憶される入力データを読み出し、入力データから疑似アトラクタを生成する。そして、PH処理部21は、疑似アトラクタに対してパーシステントホモロジ変換を実行して、穴の発生時刻と消滅時刻とを抽出し、PH情報DB14に格納する。
【0028】
まず、
図5と
図6を用いて、特開2017-97643号公報と同様の手法によるベッチ系列の生成を簡単に説明する。なお、ここでは、0次元、1次元、2次元の穴次元について説明するが、このうち、実施例1では0次元の穴と1次元の穴を対象とする。特開2017-97643号公報では、ベッチ数を計算する半径の区間[r
min,r
max]をm-1等分し、各半径r
i(i=1,・・・,m)におけるベッチ数B(r
i)を計算し、ベッチ数を並べた[B(r
1),B(r
2),B(r
3),・・・,B(r
m)]のベッチ系列を生成する。
【0029】
図5は、時系列データの一例を示す図である。
図6は、パーシステントホモロジについて説明するための図である。
図5を用いて、疑似アトラクタの生成について説明する。例えば
図5に示すような、関数f(t)(tは時間を表す)で表される連続データを考える。そして、実際の値としてf(1),f(2),f(3),・・・,f(T)が与えられているとする。本実施の形態における疑似アトラクタは、連続データから遅延時間τ(τ≧1)毎に取り出されたN点の値を成分とする、N次元空間上の点の集合である。ここで、Nは埋め込み次元を表し、一般的にはN=3又は4である。例えばN=3且つτ=1である場合、(T-2)個の点を含む以下の疑似アトラクタが生成される。
【0030】
疑似アトラクタ={(f(1),f(2),f(3))、(f(2),f(3),f(4))、(f(3),f(4),f(5))、・・・、(f(T-2),f(T-1),f(T))}
【0031】
続いて、PH処理部21は、疑似アトラクタを生成し、パーシステントホモロジ変換を用いて穴の発生と消滅を抽出した後、最終的にベッチ系列への変換が実行される。なお、ここで生成されるアトラクタは、有限個の点集合であることから「疑似アトラクタ」と呼ぶこととする。
【0032】
ここで、「ホモロジ」とは、対象の特徴をm(m≧0)次元の穴の数によって表現する手法である。ここで言う「穴」とはホモロジ群の元のことであり、0次元の穴は連結成分であり、1次元の穴は穴(トンネル)であり、2次元の穴は空洞である。各次元の穴の数はベッチ数と呼ばれる。そして、「パーシステントホモロジ」とは、対象(ここでは、点の集合(Point Cloud))におけるm次元の穴の遷移を特徴付けるための手法であり、パーシステントホモロジによって点の配置に関する特徴を調べることができる。この手法においては、対象における各点が球状に徐々に膨らまされ、その過程において各穴が発生した時刻(発生時の球の半径で表される)と消滅した時刻(消滅時の球の半径で表される)とが特定される。
【0033】
図6を用いて、パーシステントホモロジをより具体的に説明する。ルールとして、1つの球が接した場合には2つの球の中心が線分で結ばれ、3つの球が接した場合には3つの球の中心が線分で結ばれる。ここでは、連結成分及び穴だけを考える。
図6(a)のケース(半径r=0)においては、連結成分のみが発生し、穴は発生していない。
図6(b)のケース(半径r=r
1)においては、穴が発生しており、連結成分の一部が消滅している。
図6(c)のケース(半径r=r
2)においては、さらに多くの穴が発生しており、連結成分は1つだけ持続している。
図6(d)のケース(半径r=r
3)においては、連結成分の数は1のままであり、穴が1つ消滅している。
【0034】
パーシステントホモロジの計算過程において、ホモロジ群の元(すなわち穴)の発生半径と消滅半径とが計算される。穴の発生半径と消滅半径とを使用することで、バーコードデータを生成することができる。バーコードデータは穴次元毎に生成されるので、複数の穴次元のバーコードデータを統合することで1塊のバーコードデータが生成できる。連続データは、パーシステントホモロジにおける球の半径(すなわち時間)とベッチ数との関係を示すデータである。
【0035】
なお、ここで、一般的なバーコードデータの生成について簡単に説明する。
図7は、バーコードデータと生成される連続データとの関係について説明するための図である。
図7の上段のグラフはバーコードデータから生成されるグラフであり、横軸が半径を表す。下段のグラフは連続データ(ベッチ系列と記載する場合がある)から生成されるグラフであり、縦軸はベッチ数を表し、横軸は時間を表す。上で述べたように、ベッチ数は穴の数を表しており、例えば上段のグラフにおいて破線に対応する半径の時には存在している穴の数が10であるので、下段のグラフにおいては破線に対応するベッチ数も10である。ベッチ数は、ブロック毎に計数される。なお、下段のグラフは疑似的な時系列データのグラフであるので、横軸の値自体が意味を持つわけではない。
【0036】
図3に戻り、ダイアグラム生成部22は、PH処理部21の処理結果を用いて、パーシステントダイアグラムを生成する処理部である。具体的には、ダイアグラム生成部22は、PH情報DB14から、PH変換で得られた各穴の発生時刻と消滅時刻とを取得し、パーシステントダイアグラムを生成する。そして、ダイアグラム生成部22は、パーシステントダイアグラムのプロット結果からバーコードデータを生成し、その結果をPH情報DB14に格納する。
【0037】
図8は、パーシステントダイアグラムを説明する図である。
図8に示すように、ダイアグラム生成部22は、横軸を発生時刻(Birth)、縦軸を消滅時刻(Death)とするダイアグラムを生成する。このダイアグラムの対角線は、発生してすぐに消滅した穴が該当し、生存時間がおおよそ0に近い穴が該当する。なお、本実施例では、PH処理で生成される0次元と1次元の穴についてプロットし、0次元の穴は白丸で記載し、1次元の穴は黒丸で示す。
【0038】
ここで、パーシステントダイアグラムについて説明する。パーシステントダイアグラムは、パーシステントホモロジの計算によって求められる発生半径と消滅半径とに基づき生成された図である。
【0039】
このようなパーシステントダイアグラムを本実施例に採用した場合、パーシステントダイアグラムにおける各点(本実施例では、データや穴データと記載する場合がある)は、パーシステントホモロジ変換で抽出される穴を示し、ある軸上に穴の発生パラメータである発生軸を、他の軸上に穴の消滅パラメータである消滅軸をとることにより、時系列データの特徴を抽出する。具体的には、パーシステントダイアグラムでは、穴の生成と消滅の時間間隔をみることが可能であり、ダイアグラム中央の対角線は、穴の発生と消滅の時間間隔が0であることを示し、穴の発生と消滅の時間間隔が小さい場合は、対角線付近にダイアグラムが生成され、その穴をノイズとみなすことができる。例えば、振幅の大きな波形から構成される心電波の場合、穴の発生から消滅までの時間間隔が大きくなるため、ダイアグラムが対角線から遠い位置に生成される。また、心電波形よりも振幅が小さくなる脳波の場合、穴の発生から消滅までの時間間隔が小さくなるため、ダイアグラムが対角線から離れた位置に生成される。
【0040】
重み設定部23は、ダイアグラム生成部22により生成されたパーシステントダイアグラムに重みを設定する処理部である。具体的には、重み設定部23は、生存時間が閾値以下のデータと生成のタイミング(発生時刻)が閾値よりも早いデータに対して、ノイズの可能性が高いと判定して、それらの重みを軽くして重要度を下げる。
【0041】
(一般的なノイズ除去の問題点)
ここで、一般的なノイズ除去としては、生存時間が短いデータを一律に除去する手法が知られている。なぜなら、微小振動や高周波成分などのノイズ成分の影響があるとアトラクタとして孤立点となり、生存時間が短くなることが多いからである。
図9は、一般的なノイズ除去を説明する図である。
図9に示すように、一般的なノイズ除去では、パーシステントダイアグラムのプロット結果のうち対角線から一定距離以下にあるデータ、すなわち対角線付近に出現する生存時間が短い領域(a)に該当するデータを削除する手法である。
【0042】
しかし、生存時間が短いデータが意味を持つ場合もあるので、完全に影響度を0としてしまうと不都合が生じる場合がある。
図10は、一般的なノイズ除去の問題点を説明する図である。
図10の(A)と(B)は、別々の時系列データから生成されたパーシステントダイアグラムを示している。これらは、パーシステントダイアグラムのプロット結果全体からは異なるデータの異なる特徴量として抽出することができるが、生存時間が短い領域(a)に該当するデータを削除すると、ほとんど同じデータとなり、区別することが難しい。
【0043】
これは、入力データに高周波成分が多く存在すると、生存時間が短いデータが増大するからである。
図11は、生存時間が短い情報がノイズは限らない理由を説明する図である。
図11に示すように、低周波成分が多い場合、値の動きが緩やかであるので、すぐ消滅する対角線付近の小さな穴ができにくい。一方、高周波成分が多い場合、値の動きが激しいので、すぐ消滅する対角線付近の小さな穴ができやすい。このため、高周波成分が多い入力データに対して、一般的な手法により、対角線付近に出現する生存時間が短いデータを一律に削除すると、入力データの特徴の一つである高周波成分が削除されてしまい、その入力データの特徴量の抽出精度が劣化する。
【0044】
また、振幅が小さいデータはノイズの影響を受けやすいので、上記一般的なノイズ除去では、ノイズを除去することが難しい。
図12は、振幅が小さいデータのノイズ除去を説明する図である。
図12に示すように、振幅が小さいデータは、発生時刻が早く、かつ、生存時間が短いことから、一般的なノイズ除去により通常は除去されるが、ノイズの影響で生存時間が少し長くなり、除去対象外となることがある。
【0045】
ここで、発生が早い成分がノイズとなる理由を説明する。
図13は、発生が早い成分がノイズとなる理由1を説明する図であり、
図14は、発生が早い成分がノイズとなる理由2を説明する図である。
図13に示すように、ノイズの変動により、穴の発生時刻や生存時間が影響を受けることがあるが、大まかな形状に与える影響は小さく、細かな形状に与える影響が大きい。つまり、同じノイズ成分であっても、元の振幅が小さい、発生時刻が早い穴の方が影響を受けやすい。また、
図14に示すように、一般的には、高周波のアトラクタは疎となる傾向にあるが、特定周波数の成分のみが支配的な場合、同じ軌跡上に点が継続して発生するので、点同士が近くなり、穴の発生時刻が早くなる。
【0046】
(重み設定の例)
そこで、重み設定部23は、パーシステントダイアグラムに対して、生存時間が短いデータの影響を抑えられるように重み付けを行うとともに、発生時刻が早い部分についても影響が抑えられるように重み付けを行う。
【0047】
図15は、実施例1の重み設定を説明する図である。
図15に示すように、重み設定部23は、生存時間または発生時刻が一定値以下では徐々に重みを0に近づけ、生存時間または発生時刻が一定値以上では重みを一律な値に設定する。このようにすることで、重み設定部23は、パーシステントダイアグラムの対角線から所定距離以下の範囲である領域(a)と、発生時刻が所定値以下の範囲である領域(b)の重みを変更することで、これらの領域に含まれるデータの影響度を小さくする。
【0048】
図16は、重み設定の一例を説明する図である。上述した
図15の条件を踏まえて、実施例1では、
図16に示す情報を重み設定DB15等に格納する。
図16に示すように、重み設定DB15に記憶される情報は、「条件1(生存値)、条件2(生存時間)、重み」が対応付けられる。「条件1」は、発生時刻の条件を示し、「条件2」は、生存時間の条件を示し、「重み」は、設定する重みを示す。
【0049】
図16の例では、発生時刻(生存値)が0から0.5の範囲にあるデータに対しては、生存時間に関わらず、重み「0」を設定する。また、生存時間が1.5以上であるデータに対しては、生存値に関わらず、重み「1」を設定し、生存時間が1.0以上かつ1.5未満であるデータに対しては、生存値に関わらず、重み「0.5」を設定し、生存時間が0.5以上かつ1.0未満であるデータに対しては、生存値に関わらず、重み「0.25」を設定し、生存時間が0.5未満であるデータに対しては、生存値に関わらず、重み「0.1」を設定する。
【0050】
そして、重み設定部23は、
図16に示した重み設定の情報にしたがって、ダイアグラム生成部22により生成されたパーシステントダイアグラムに対して重みを設定する。その後、重み設定部23は、重み付けされたパーシステントダイアグラムを特徴量抽出部24に出力する。
【0051】
図3に戻り、特徴量抽出部24は、重み設定部23により重みが設定されたパーシステントダウアグラムを用いて、時系列データの特徴量を抽出する処理部である。具体的には、特徴量抽出部24は、PH情報DB14に記憶されるパーシステントダイアグラムの情報を用いて、バーコードデータを生成する。そして、特徴量抽出部24は、バーコードデータからベッチ数を抽出し、ベッチ数を並べたベッチ系列を、時系列データの特徴量として生成する。その後、特徴量抽出部24は、ベッチ系列を特徴量DB16に格納する。
【0052】
図17は、重み設定前後のベッチ系列の変化を説明する図である。
図17では、同じ時系列データから生成されたパーシステントダイアグラムに基づくバーコードデータを示している。
図17の(a)が一般的なベッチ系列への変換を示し、
図17の(b)が重みを考慮したベッチ系列のへの変換を示す。
【0053】
一般的な手法の場合、
図17の(a)に示すように、t1でベッチ数「1」、t2でベッチ数「2」、t3でベッチ数「3」、t4でベッチ数「2」、t5でベッチ数「3」、t6でベッチ数「4」のように、ベッチ系列が生成される。
【0054】
一方、
図17の(b)に示すように、特徴量抽出部24は、重み設定部23により生成れた重み付けパーシステントダイアグラムからバーコードデータを生成する際に、設定される重みに基づいて、ベッチ数を変化させることができる。例を挙げると、特徴量抽出部24は、重みが0.5のバーコードを1ではなく0.5とカウントする。
【0055】
例えば、特徴量抽出部24は、t1で重み「0.5」が設定された穴が出現するのでベッチ数「0.5」を算出し、t2で重み「1」の穴がさらに出現するのでベッチ数「1.5」を算出し、t3で重み「1」の穴がさらに出現するのでベッチ数「2.5」を算出する。また、特徴量抽出部24は、t4で重み「0.5」の穴が消滅するのでベッチ数「2.0」を算出し、t5で重み「1」の穴がさらに出現するのでベッチ数「3.0」を算出し、t6で重み「0.5」の穴および「0.25」の穴が出現するとともに重み「1」の穴が消滅するのでベッチ数「2.75」を算出する。このようにして、特徴量抽出部24は、重みが考慮されたベッチ系列を算出するので、
図17の(a)とは異なる形のベッチ系列を生成することができる。
【0056】
図3に戻り、特徴量処理部25は、特徴量抽出部24に生成された特徴量を用いて、各種処理を実行する処理部である。例えば、特徴量処理部25は、特徴量DB16に記憶される各時系列データの特徴量と、当該特徴量に対応付けられるラベルとを用いて、機械学習を実行して学習モデルを生成する。また、特徴量処理部25は、特徴量DB16に記憶される各時系列データの特徴量を、学習済みのモデルに入力して、時系列データの分類処理を実行する。
【0057】
[処理の流れ]
図18は、処理の流れを示すフローチャートである。
図18に示すように、処理開始が指示されると(S101:Yes)、PH処理部21は、入力データDB13から入力データを読み込み(S102)、疑似アトラクタを生成する(S103)。
【0058】
続いて、ダイアグラム生成部22は、疑似トラクタを用いてTDA処理を実行してパーシステントダイアグラムを生成する(S104)。そして、重み設定部23は、穴の生存時間に基づき重みを設定するとともに(S105)、穴の発生時刻に基づき重みを設定する(S106)。なお、S105とS106は、順不同である。
【0059】
その後、特徴量抽出部24は、重み付けされたパーシステントダイアグラムからバーコードデータを生成し(S107)、バーコードデータに基づきベッチ系列を生成する(S108)。
【0060】
[効果]
上述したように、特徴量抽出装置10は、時系列データから疑似アトラクタを生成し、生成した疑似アトラクタからパーシステントダイアグラムを生成する際に、パーシステントダイアグラムのうち、生存時間が閾値以下のデータと発生時刻が閾値よりも早いデータの重みを軽くする。そして、特徴量抽出装置10は、重み付けしたパーシステントダイアグラムを用いて、時系列データの特徴量を抽出する。したがって、特徴量抽出装置10は、TDAを用いた特徴量の抽出において、生存時間が短いデータについても影響を残しつつ特徴を抽出できるので、特徴が弱いデータ間での比較も行えることができる。また、特徴量抽出装置10は、発生時刻が早いノイズ成分の影響を抑えることが出来るので、より精度の良い特徴抽出を実現することができる。
【0061】
[適用例]
次に、実施例1による手法を人の動作分類に適用した例を説明する。
図19は、人の動作分類に適用した学習時の例を説明する図であり、
図20は、人の動作分類に適用した推論時の例を説明する図である。
【0062】
ここでは、ユーザが装着するウェアラブルセンサから、ユーザが移動する際に測定された時系列データの一例である時間波形を収集し、各時間波形に人の動作を示すラベルを設定する。例えば、ラベル「歩く」と対応する時間波形、ラベル「走る」と対応する時間波形、ラベル「乗り物」と対応する時間波形、ラベル「座る」と対応する時間波形との各組を学習データとして生成する。
図19に示すように、乗り物と座る動作は、あまり揺れない動作であることから、時間波形が類似する傾向にある。このとき、一般的なノイズ除去では、区別できない事象が発生する可能性が高い。
【0063】
そこで、実施例1にかかる特徴量抽出装置10を用いることで、各学習データからベッチ系列を生成する際に、生存時間や発生時刻に対して重みを設定してベッチ系列を生成することができるので、各学習データを正確に区別して学習をすることができ、学習モデルの学習精度も向上させることができる。
【0064】
その後、ユーザのウェアラブルセンサから取得される時間波形を学習済みモデルに入力することで、ユーザの動作を類推することができる。例えば、ウェアラブルセンサが取得した朝から寝るまでの一日の時間波形を、所定時間で分割して学習済みモデルに入力する。この結果、特徴量抽出装置10は、ユーザのその一日の動作を類推した結果やグラフをディスプレイ等に表示するので、ユーザや管理者は、各動作の占める割合を把握することができ、健康診断や運動不足の解消などに役立てることができる。また、ウェアラブルセンサが取得した時間波形を随時学習済みモデルに入力することで、ユーザの現在の動作を類推ことができ、ユーザの仕事状況などを管理することができる。
【実施例2】
【0065】
ところで、実施例1では、重み付けしたパーシステントダイアグラムからバーコードデータの生成した後にベッチ系列の生成を行うことで、時系列データの特徴量を抽出する例を説明したが、これに限定されるものではない。例えば、重み付けしたパーシステントダイアグラムから生存時間の和を用いて、直接スコア化することもできる。
【0066】
図21は、実施例2にかかる手法を説明する図である。
図21に示すように、特徴量抽出装置10の重み設定部23は、パーシステントダイアグラムに対して、重み設定DB15に記憶される情報に基づいて、生存時間に対して重みを設定する。すなわち、重み設定部23は、パーシステントダイアグラムの対角線からの距離に基づき、重みを設定する。重みの設定は、実施例1と同様、
図15や
図16の手法を用いることができる。なお、ここでは、発生時刻に対する重みは省略したが、同様に、設定することができる。
【0067】
図21の例では、データAの生存時間がa、データBの生存時間がb、データCの生存時間がc、データDの生存時間がdであり、対角線から除去対象である範囲に属するデータAに対して重み「0.8」、データDに対して重み「0.5」が設定された例を示している。この場合、特徴量抽出部24は、「0.8×a+b+c+0.5×d」をスコア(特徴量)として抽出する。
【0068】
次に、
図21の手法を用いた異常検知の例を説明する。
図22と
図23は、実施例2による手法を異常検知に適用した例を説明する図である。
図22に示すように、滑車や歯車のような工業製品の部品は、正常な状態から徐々に劣化した後に故障が発生することが一般的である。ここでは、各状態に対応した加速度データを収集して、スコアに基づき状態変化を特定することで、早期の故障検出を実現する例を説明する。
【0069】
例えば、正常な状態で測定される加速度データは、測定器などによるノイズが重畳されるが、波形に大きな影響を与えるものではない。また、ひび割れなどの故障前の劣化状態で測定される加速度データは、ノイズに似ているが実は小さな異常を示す振幅の小さな波形が現れるので、パーシステントダイアグラムでは除去対象の範囲に出現するデータが多くなる。また、ひび割れなどの故障時に測定される加速度データは、正常時とは明らかに異なる波形であってピーク間隔が短い波形が現れるので、パーシステントダイアグラムでは除去対象の範囲に出現するデータが非常に多くなるとともに高周波成分に対応する生存時間の長いデータが頻出する。
【0070】
そこで、
図23に示すように、特徴量抽出装置10は、随時計測される波形を、
図21による重み付けした生存時間の和でスコア化してスコアを時系列に表示し、スコアの大きさで段階的に警告灯の色を変えてアラームを上げる。
【0071】
この結果、特徴量抽出装置10は、正常時のノイズを正確に除去することができるので、正常時にノイズでスコアが少し大きくなっている(a)の状態も、正確に正常と判定することができる。また、特徴量抽出装置10は、ノイズ除去範囲のデータが増える(b)のタイミングでは、一律に除去すると正常と判断されるが、重み付けしてスコア化することで、異常が発生しつつある状態と判定することができる。さらに、管理者などは、スコアの変化を随時確認することができるので、閾値などを設けることで、部分欠損などの深刻な異常が発生する前に、異常状態を検出することができる。
【実施例3】
【0072】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
【0073】
[特徴量の利用]
上記実施例では、特徴量抽出装置10が特徴量を使用して学習等を利用する例を説明したが、これに限定されるものではなく、特徴量抽出装置10が特徴量を抽出して記憶したり、他の装置に提供したりすることもできる。また、実施例1による手法で抽出した特徴量を用いて、
図23のような異常検知を行うこともできる。
【0074】
[重み設定]
上記実施例では、生存時間の長さに基づく重み設定と、発生時刻に基づく重み設定との両方を実行する例を説明したが、これに限定されるものではなく、いずれか一方のみを実行することもできる。また、重みの値も一例であり、
図15に示す領域(a)や領域(b)に属するデータの重要度が低くなるような重みであれば、任意に設定変更することができる。
【0075】
[数値等]
また、上記実施例で用いた数値、重みの設定値、疑似アトラクタの次元数等は、あくまで一例であり、任意に変更することができる。また、入力データや学習方法などもあくまで一例であり、任意に変更することができる。なお、特徴量も一例であり、ベッチ系列の特徴を示す情報であれば、他の情報を用いることもできる。また、学習モデルには、ニューラルネットワークなど様々な手法を採用することができる。
【0076】
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0077】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0078】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0079】
[ハードウェア]
図24は、ハードウェア構成例を説明する図である。
図24に示すように、特徴量抽出装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、
図24に示した各部は、バス等で相互に接続される。
【0080】
通信装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。HDD10bは、
図3に示した機能を動作させるプログラムやDBを記憶する。
【0081】
プロセッサ10dは、
図3に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、
図3等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、特徴量抽出装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、PH処理部21、ダイアグラム生成部22、重み設定部23、特徴量抽出部24、特徴量処理部25等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、PH処理部21、ダイアグラム生成部22、重み設定部23、特徴量抽出部24、特徴量処理部25等と同様の処理を実行するプロセスを実行する。
【0082】
このように、特徴量抽出装置10は、プログラムを読み出して実行することで特徴量抽出方法を実行する情報処理装置として動作する。また、特徴量抽出装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、特徴量抽出装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【0083】
10 特徴量抽出装置
11 通信部
12 記憶部
13 入力データDB
14 PH情報DB
15 重み設定DB
16 特徴量DB
20 制御部
21 PH処理部
22 ダイアグラム生成部
23 重み設定部
24 特徴量抽出部
25 特徴量処理部