(57)【要約】      （修正有）【課題】多層ニューラルネットワークによる判定の精度への影響を抑えつつ、判定に要する計算の量を削減する。【解決手段】本削減条件特定装置は、時系列データからアトラクタを生成し、生成したアトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行し、機械学習後の多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、特定されたベッチ数の範囲に基づき、時系列データの削減についての条件を特定する処理を行う。【選択図】図１
2018092349.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行し、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、
特定された前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する、
処理を実行させる削減条件特定プログラム。
【請求項２】
前記ベッチ数の範囲を特定する処理において、
前記全結合層の値の算出に使用される係数のうち所定の条件を満たす係数を特定し、特定した前記係数に対応する前記ベッチ数の範囲を特定する、
請求項１記載の削減条件特定プログラム。
【請求項３】
前記時系列データの削減についての条件は、前記時系列データのサンプル数についての条件を含む、
請求項１又は２記載の削減条件特定プログラム。
【請求項４】
前記コンピュータに、
特定された前記ベッチ数の範囲に基づき、前記位相的データ解析におけるパーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する、
処理をさらに実行させる請求項１乃至３のいずれか１つ記載の削減条件特定プログラム。
【請求項５】
前記所定の条件は、前記全結合層の値の算出に使用される係数のうち最大の係数に所定割合を乗じた値以上であるという条件を含み、
前記時系列データの削減についての条件を特定する処理において、
特定された前記ベッチ数の範囲の下限を用いて、前記時系列データのサンプル数についての条件を生成する、
請求項３記載の削減条件特定プログラム。
【請求項６】
前記パーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する処理において、
特定された前記ベッチ数の範囲の上限に対応する半径を、前記位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定し、特定した前記半径の情報を含む条件を生成する、
請求項４記載の削減条件特定プログラム。
【請求項７】
前記ベッチ数の範囲を特定する処理において、
前記所定の条件を満たす係数に対応する半径の範囲を特定し、特定した前記半径の範囲に対応するベッチ数の範囲を、前記位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定する、
請求項２記載の削減条件特定プログラム。
【請求項８】
コンピュータが、
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行し、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、
特定された前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する、
処理を実行する削減条件特定プログラム。
【請求項９】
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行する機械学習部と、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数よりベッチ数の範囲を特定し、特定した前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する特定部と、
を有する削減条件特定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習技術に関する。
【背景技術】
【０００２】
或る文献は、時系列データの分類に関して以下のような技術を開示する。具体的には、図形化手法を用いて時系列データを図形化し、図形化の結果に対して、位相幾何学に基づくデータ分析手法の一つである位相的データ解析（Topological Data Analysis）を実行する。そして、位相的データ解析の結果に対して、ＤＮＮ（Deep Neural Network）を用いた機械学習を実行し、機械学習後のＤＮＮを用いて時系列データをどのクラスに分類するかを判定する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】富士通株式会社、“人々の安心安全な暮らしを支える新しいAI「時系列ディープラーニング」”、［online］、平成２８年３月１０日、［平成２８年１２月１日検索］、インターネット＜URL：http://journal.jp.fujitsu.com/2016/03/10/01/＞
【発明の概要】
【発明が解決しようとする課題】
【０００４】
機械学習後のＤＮＮを用いて時系列データについて判定を行う処理においても、上記の図形化及び位相的データ解析等は実行されるが、特に位相的データ解析は計算量が多いため時間がかかる。
【０００５】
また、判定に要する計算量を減らし判定時間を短縮するために時系列データの一部を削除すると、削除の程度によっては判定の結果に影響が及ぶ可能性がある。
【０００６】
本発明の目的は、１つの側面では、多層ニューラルネットワークによる判定の精度への影響を抑えつつ、判定に要する計算の量を削減する技術を提供することである。
【課題を解決するための手段】
【０００７】
一態様に係る削減条件特定方法は、時系列データからアトラクタを生成し、生成したアトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行し、機械学習後の多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、特定されたベッチ数の範囲に基づき、時系列データの削減についての条件を特定する処理を含む。
【発明の効果】
【０００８】
１つの側面では、多層ニューラルネットワークによる判定の精度への影響を抑えつつ、判定に要する計算の量を削減できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、情報処理装置の機能ブロック図である。
【図２】図２は、ＤＮＮ処理部の機能ブロック図である。
【図３】図３は、時系列データ格納部に格納される時系列データの一例を示す図である。
【図４】図４は、情報処理装置が実行する処理の処理フローを示す図である。
【図５】図５は、疑似アトラクタの生成について説明するための図である。
【図６】図６は、バーコード図の一例を示す図である。
【図７】図７は、バーコードデータの一例を示す図である。
【図８】図８は、バーコードデータとベッチシリーズとの関係について説明するための図である。
【図９】図９は、パーシステント区間の一例を示す図である。
【図１０】図１０は、情報処理装置が実行する処理の処理フローを示す図である。
【図１１】図１１は、情報処理装置が実行する処理の処理フローを示す図である。
【図１２】図１２は、本実施の形態の１次元ＣＮＮの処理概要を示す図である。
【図１３】図１３は、ベッチシリーズと最終特徴層のユニットとの関係を示す図である。
【図１４】図１４は、左端ノード及び右端ノードの特定について説明するための図である。
【図１５】図１５は、左端ノード及び右端ノードの特定について説明するための図である。
【図１６】図１６は、０次のベッチシリーズの一例を示す図である。
【図１７】図１７は、情報処理装置が実行する処理の処理フローを示す図である。
【図１８】図１８は、時系列データのサンプル数の削減について説明するための図である。
【図１９】図１９は、情報処理装置が実行する処理の処理フローを示す図である。
【図２０】図２０は、本実施の形態の方法の効果を説明するための図である。
【図２１】図２１は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
図１に、本実施の形態の情報処理装置１の機能ブロック図を示す。例えばパーソナルコンピュータ或いはサーバ等である情報処理装置１は、ＤＮＮ（Deep Neural Network）処理部１０と、削減処理部１２と、時系列データ格納部１４と、処理結果格納部１６とを含む。
【００１１】
ＤＮＮ処理部１０は、時系列データ格納部１４に格納されている時系列データを用いて、削減処理部１２によって行われた設定に従って機械学習及び時系列データの分類を実行し、処理結果を処理結果格納部１６に格納する。削減処理部１２は、処理結果格納部１６に格納されている処理結果及びＤＮＮ処理部１０において管理されているデータを用いて処理を行い、処理結果に基づきＤＮＮ処理部１０に対して設定を行う。
【００１２】
図２に、ＤＮＮ処理部１０の機能ブロック図を示す。ＤＮＮ処理部１０は、第１生成部１０３と、疑似アトラクタデータ格納部１０５と、第２生成部１０７と、バーコードデータ格納部１０９と、第３生成部１１１と、ベッチシリーズ格納部１１３と、機械学習部１１５と、削除部１１９とを含む。
【００１３】
第１生成部１０３は、時系列データ格納部１４に格納された時系列データから疑似アトラクタを生成し、生成した疑似アトラクタを疑似アトラクタデータ格納部１０５に格納する。なお、削減処理部１２によって設定が行われた場合には、第１生成部１０３は設定に従って時系列データからデータを抽出する。
【００１４】
第２生成部１０７は、疑似アトラクタデータ格納部１０５に格納された疑似アトラクタから、バーコードデータをパーシステントホモロジー群の元（すなわち穴）の次元毎に生成し、生成したバーコードデータをバーコードデータ格納部１０９に格納する。なお、削減処理部１２によって設定が行われた場合には、第２生成部１０７は設定に従ってパーシステントホモロジーの計算を実行する。
【００１５】
削除部１１９は、バーコードデータ格納部１０９に格納されたデータのうちノイズに関係するデータを削除する。
【００１６】
第３生成部１１１は、バーコードデータ格納部１０９に格納されたバーコードデータからベッチ数の時系列データ（以下、ベッチシリーズと呼ぶ）を生成し、生成したベッチシリーズをベッチシリーズ格納部１１３に格納する。
【００１７】
機械学習部１１５は、ベッチシリーズ格納部１１３に格納されたベッチシリーズを入力とする機械学習を実行し、機械学習の結果（例えばエッジの重み）を処理結果格納部１６に格納する。また、機械学習部１１５は、時系列データがどのクラスに分類されるか判定する処理を実行する。
【００１８】
図３に、時系列データ格納部１４に格納される時系列データの一例を示す。図３は心拍数の変化を示す時系列データであり、縦軸が心拍数（beats per minute）を表し、横軸は時間を表す。
【００１９】
なお、ここでは時系列データとして心拍数の時系列データを例示したが、このような時系列データに限られるわけではない。例えば、心拍数以外の生体データ（脳波、脈拍或いは体温などの時系列データ）、ウェアラブルセンサのデータ（ジャイロセンサ、加速度センサ或いは地磁気センサなどの時系列データ）、金融データ（金利、物価、国際収支或いは株価などの時系列データ）、自然環境のデータ（気温、湿度或いは二酸化炭素濃度などの時系列データ）、又は社会データ（労働統計或いは人口統計などのデータ）等であってもよい。但し、本実施の形態の対象である時系列データは、少なくとも以下のルールに従って変化するデータであるとする。
【００２０】
【数１】
2018092349.tif 000003
【００２１】
例えば、不規則な時系列データ又は手書き文字の軌跡などの人為的な動きに関するデータは、本実施の形態の対象外であるとする。
【００２２】
次に、情報処理装置１が実行する処理について説明する。はじめに、図４乃至図９を用いて、ベッチシリーズを生成する処理について説明する。
【００２３】
まず、ＤＮＮ処理部１０の第１生成部１０３は、時系列データ格納部１４に格納されている未処理の時系列データを読み出す。時系列データ格納部１４に未処理の時系列データが複数セット格納されている場合には、未処理の１セットの時系列データが読み出される。そして、第１生成部１０３は、ターケンスの埋め込み定理に従って、読み出した時系列データから疑似アトラクタを生成し（図４：ステップＳ１０１）、生成した疑似アトラクタを疑似アトラクタデータ格納部１０５に格納する。なお、厳密には、ステップＳ１０１において生成される有限個の点集合は「アトラクタ」ではないため、本明細書ではステップＳ１０１において生成される点集合を「疑似アトラクタ」と呼ぶ場合がある。
【００２４】
図５を用いて、疑似アトラクタの生成について説明する。例えば図５に示すような、関数ｆ（ｔ）（ｔは時間を表す）で表される時系列データを考える。そして、実際の値としてｆ（１），ｆ（２），ｆ（３），．．．，ｆ（Ｔ）が与えられているとする。本実施の形態における疑似アトラクタは、時系列データから遅延時間τ（τ≧１）毎に取り出されたＮ点の値を成分とする、Ｎ次元空間上の点の集合である。ここで、Ｎは埋め込み次元を表し、一般的にはＮ＝３又は４である。例えばＮ＝３且つτ＝１である場合、（Ｔ−２）個の点を含む以下の疑似アトラクタが生成される。
【００２５】
【数２】
2018092349.tif 000004
【００２６】
ここでは、τ＝１であるため１つおきに要素が取り出されているが、例えばτ＝２である場合には点（ｆ（１），ｆ（３），ｆ（５））、点（ｆ（２），ｆ（４），ｆ（６））、・・・を含む疑似アトラクタが生成される。
【００２７】
疑似アトラクタの生成過程において、バタフライ効果等による見た目の違いの影響が取り除かれ、疑似アトラクタに元の時系列データの変化のルールが反映される。そして、疑似アトラクタ間の類似関係は、ルール間の類似関係と等価である。従って、或る疑似アトラクタと別の疑似アトラクタとが似ていることは、元の時系列データの変化のルールが似ていることを意味する。変化のルールが同じであるが現象（見た目）が異なる時系列データからは、互いに類似した疑似アトラクタが生成される。変化のルールが異なるが現象が似ている時系列データからは、異なる疑似アトラクタが生成される。
【００２８】
また、時系列データを直接機械学習の入力とする場合、開始位置を適切にそろえなければならないが、疑似アトラクタを使用すればそのような制約を受けることがない。
【００２９】
図４の説明に戻り、第２生成部１０７は、ステップＳ１０１において生成された疑似アトラクタを疑似アトラクタデータ格納部１０５から読み出す。そして、第２生成部１０７は、パーシステントホモロジー（Persistent Homology）の計算処理によって、疑似アトラクタからバーコードデータを穴の次元（以下、穴次元と呼ぶ）毎に生成する（ステップＳ１０３）。第２生成部１０７は、生成したバーコードデータをバーコードデータ格納部１０９に格納する。
【００３０】
「ホモロジー」とは、対象の特徴をｍ（ｍ≧０）次元の穴の数によって表現する手法である。ここで言う「穴」とはホモロジー群の元のことであり、０次元の穴は連結成分であり、１次元の穴は穴（トンネル）であり、２次元の穴は空洞である。各次元の穴の数はベッチ数と呼ばれる。
【００３１】
「パーシステントホモロジー」とは、対象（ここでは、点の集合（Point Cloud））におけるｍ次元の穴の遷移を特徴付けるための手法であり、パーシステントホモロジーによって点の配置に関する特徴を調べることができる。この手法においては、対象における各点が球状に徐々に膨らまされ、その過程において各穴が発生した時刻（発生時の球の半径で表される）と消滅した時刻（消滅時の球の半径で表される）とが特定される。
【００３２】
穴の発生半径と消滅半径とを使用することで、図６に示すようなバーコード図を生成することができる。図６において、横軸は半径を表し、各線分は１つの穴に対応する。線分の左端に対応する半径は穴の発生半径であり、線分の右端に対応する半径は穴の消滅半径である。線分はパーシステント区間と呼ばれる。このようなバーコード図から、例えば半径が０．１８である時には２つの穴が存在するということがわかる。
【００３３】
図７に、バーコード図を生成するためのデータ（以下、バーコードデータと呼ぶ）の一例を示す。図７の例では、穴次元を表す数値と、穴の発生半径と、穴の消滅半径とが含まれる。ステップＳ１０３において、バーコードデータは穴次元毎に生成される。
【００３４】
以上のような処理を実行すれば、或る疑似アトラクタから生成されるバーコードデータと他の疑似アトラクタから生成されるバーコードデータとの類似関係は、疑似アトラクタ間の類似関係と等価である。よって、疑似アトラクタとバーコードデータとの関係は１対１の関係である。
【００３５】
すなわち、疑似アトラクタが同じであれば、生成されるバーコードデータは同じである。つまり、時系列データの変化のルールが同じであれば生成されるバーコードデータは同じである。逆に、バーコードデータが同じであれば、疑似アトラクタも同じである。また、疑似アトラクタが類似している場合にはバーコードデータも類似するため、機械学習に必要な条件が満たされる。疑似アトラクタが異なる場合には、バーコードデータも異なる。
【００３６】
なお、パーシステントホモロジーの詳細については、例えば「平岡裕章、『タンパク質構造とトポロジー  パーシステントホモロジー群入門』、共立出版」を参照されたい。
【００３７】
図４の説明に戻り、削除部１１９は、長さが所定長未満であるパーシステント区間のデータをバーコードデータ格納部１０９から削除する（ステップＳ１０５）。なお、パーシステント区間の長さは、消滅半径−発生半径によって算出される。所定長は、例えば、０次元の穴が発生してから消滅するまでの時間をＫ等分した時間（以下、ブロックと呼ぶ）の長さである。但し、１ブロックの長さに限られるわけではなく、複数ブロックの長さを所定長としてもよい。
【００３８】
発生から消滅までの時間が短い元は、時系列に付加されるノイズによって発生するものがほとんどである。長さが所定長未満であるパーシステント区間のデータを削除すれば、ノイズの影響を緩和することができるので、分類性能を向上させることができるようになる。但し、削除の対象は次元が１以上であるパーシステント区間のデータであるとする。
【００３９】
ノイズが発生した場合においては、僅かな時間だけ１次元以上の穴が発生することがある。ステップＳ１０５の処理を実行すれば、両ケースにおいて生成されるデータはほぼ同じになるので、ノイズの影響を取り除くことができるようになる。
【００４０】
なお、長さが所定長未満であるパーシステント区間のデータが削除されるので、削除後のバーコードデータ間の類似関係は、元のバーコードデータ間の類似関係と厳密には等価ではない。削除が行われない場合には、類似関係は等価である。
【００４１】
図４の説明に戻り、第３生成部１１１は、バーコードデータ格納部１０９に格納されたバーコードデータを読み出す。そして、第３生成部１１１は、読み出されたバーコードデータを統合し、統合されたバーコードデータからベッチシリーズを生成する（ステップＳ１０７）。第３生成部１１１は、生成されたベッチシリーズをベッチシリーズ格納部１１３に格納する。
【００４２】
上で述べたように、バーコードデータは穴次元毎に生成されるので、第３生成部１１１は、複数の穴次元のバーコードデータを統合することで１塊のバーコードデータを生成する。ベッチシリーズは、パーシステントホモロジーにおける球の半径（すなわち時間）とベッチ数との関係を示すデータである。図８を用いて、バーコードデータと生成されるベッチシリーズとの関係について説明する。上段のグラフはバーコードデータから生成されるグラフであり、横軸が半径を表す。下段のグラフはベッチシリーズから生成されるグラフであり、縦軸はベッチ数を表し、横軸は時間を表す。上で述べたように、ベッチ数は穴の数を表しており、例えば上段のグラフにおいて破線に対応する半径の時には存在している穴の数が１０であるので、下段のグラフにおいては破線に対応するベッチ数も１０である。ベッチ数は、ブロック毎に計数される。なお、下段のグラフは疑似的な時系列データのグラフであるので、横軸の値自体が意味を持つわけではない。
【００４３】
基本的には、同じバーコードデータからは同じ時系列データが得られる。すなわち、元の疑似アトラクタが同じであれば同じ時系列データが得られる。但し、異なるバーコードから同じ時系列データが得られるケースが極めて稀に発生する。
【００４４】
例えば図９に示すようなバーコードデータを考える。このバーコードデータは１以上の次元の穴に関するデータであるとする。図９（ａ）のケースにおいては、パーシステント区間ｐ１が時刻ｔ１で開始し且つ時刻ｔ２で終了し、パーシステント区間ｐ２が時刻ｔ２で開始し且つ時刻ｔ３で終了する。一方、図９（ｂ）のケースにおいては、パーシステント区間ｐ４が時刻ｔ１で開始し且つ時刻ｔ３で終了する。両ケースにおけるパーシステント区間ｐ３は全く同じであるとする。
【００４５】
このような場合、両ケースにおけるバーコードデータからは全く同じベッチシリーズが得られるので、ベッチシリーズによっては両ケースを区別することができない。しかし、このような現象が発生する可能性は極めて低い。また、両ケースの疑似アトラクタは元々似ており、機械学習による分類に与える影響が極めて小さいので、上記のような現象が発生しても問題は無い。
【００４６】
従って、或るバーコードデータから生成されるベッチシリーズと、別のバーコードデータから生成されるベッチシリーズとの類似関係は、上で述べた稀なケースが発生しなければ、バーコードデータ間の類似関係と等価である。以上から、データ間の距離の定義は変わるものの、バーコードデータから生成されるベッチシリーズ間の類似関係は、元の時系列データ間の類似関係とほぼ等価である。
【００４７】
なお、疑似アトラクタが表す点集合の画像は疎な画像データであるため、識別が難しく、機械学習によって分類することは困難である。また、上記のようなバーコードデータにおいては、バーコードの本数が一定ではないため、機械学習の入力として扱うことが難しい。しかし、上で述べたようなベッチシリーズであれば、元の時系列データと比べると振動が緩和されており、機械学習の入力として適している。
【００４８】
図４の説明に戻り、機械学習部１１５は、未処理の時系列データが有るか判定する（ステップＳ１０９）。未処理の時系列データが有る場合（ステップＳ１０９：Ｙｅｓルート）、ステップＳ１０１の処理に戻る。未処理の時系列データが無い場合（ステップＳ１０９：Ｎｏルート）、処理は終了する。
【００４９】
以上のように、パーシステントホモロジーの計算を実行すれば、疑似アトラクタが表す、元の時系列データの変化のルールを、バーコードデータに反映することができる。これにより、元の時系列データの変化のルールに応じた分類を機械学習によって行うことができるようになる。
【００５０】
パーシステントホモロジーの計算は、位相幾何学の手法であり、点の集合で表される静的な対象（例えば、タンパク質、分子の結晶、センサネットワークなど）の構造の解析等に利用されてきた。これに対し本実施の形態においては、時間の経過に伴って連続的に変化するデータの変化のルールを表す点集合（すなわち疑似アトラクタ）を計算の対象としている。本実施の形態の場合、点集合の構造自体を解析することは目的ではないので、一般的なパーシステントホモロジーの計算とは対象及び目的が全く異なる。
【００５１】
また、パーシステントホモロジーの計算によって生成されたバーコードデータは、バーコードの本数が一定ではないため、そのままでは機械学習の入力とすることが難しい。そこで本実施の形態においては、時系列データに由来するバーコードデータをベッチシリーズに変換することで、機械学習の入力とすることを可能にすると共に、振動を緩和して分類の精度を向上させている。
【００５２】
また、上で述べたように、本実施の形態によれば時系列データに含まれるノイズの影響を取り除くことができる。
【００５３】
次に、図１０乃至図２０を用いて、情報処理装置１が実行する機械学習、機械学習の設定及び時系列データの分類について説明する。なお、本実施の形態においてはＤＮＮとして１次元ＣＮＮ（Convolutional Neural Network）が利用される。
【００５４】
まず、機械学習部１１５は、各ベッチシリーズをベッチシリーズ格納部１１３から読み出す（図１０：ステップＳ１）。
【００５５】
機械学習部１１５は、ステップＳ１の処理によって読み出された各ベッチシリーズに対して、１次元ＣＮＮを用いた学習処理を実行し（ステップＳ５）、学習処理の結果（例えば、重み行列など）を処理結果格納部１６に格納する。処理は端子Ａを介して図１１のステップＳ７に移行する。
【００５６】
図１１の説明に移行し、削減処理部１２は、ラベルを識別するための変数ｉをｉ＝１と設定し且つユニットを識別するための変数ｋをｋ＝１と設定する（図１１：ステップＳ７）。
【００５７】
削減処理部１２は、処理結果格納部１６から学習結果（ここでは、最終特徴層の値から出力層の値を求めるにあたって使用される重み行列（以下では、重み行列の要素を活性度と呼ぶ））を読み出す（ステップＳ９）。
【００５８】
例えば、本実施の形態の１次元ＣＮＮにおいて図１２に示すように入力のベッチシリーズが処理されるとする。全結合層の１つ前の層が最終特徴層である。図１２の例の場合には最終特徴層におけるユニットの数は３であり、各ユニットは入力のベッチシリーズの全区間に対応している。より具体的には、図１３に示すように、入力のベッチシリーズの半径０から３までの部分が最終特徴層の各ユニットの１番目のノードに対応し、入力のベッチシリーズの半径３から６までの部分が最終特徴層の各ユニットの２番目のノードに対応し、・・・、入力のベッチシリーズの半径（Ｒ−３）からＲまでの部分が最終特徴層の各ユニットの最終ノードに対応するというように、各ユニットが入力のベッチシリーズ全体に対応する。各ノードは１つの活性度に対応している。なお、ノードとは最終特徴層の要素のことであり、最終特徴層の要素と重み（すなわち活性度）とが乗じられることで全結合層の値が算出される。
【００５９】
図１１の説明に戻り、削減処理部１２は、ｋ番目のユニットについて、各ノードの活性度のうち最大活性度を特定する（ステップＳ１１）。
【００６０】
削減処理部１２は、ステップＳ１１において特定された最大活性度の所定割合以下の活性度を有する左端ノード及び右端ノードを、ｋ番目のユニットから特定する（ステップＳ１３）。
【００６１】
図１４及び図１５を用いて、左端ノード及び右端ノードの特定について説明する。図１４には０次元の穴についてのバーコードデータに対応するベッチシリーズ（以下、０次のベッチシリーズと呼ぶ）の活性度が示されており、縦軸が活性度を表し、横軸が時間（及び半径）を表す。０次のベッチシリーズは、図８に示したように、単調減少するという特徴を有し、０次のベッチシリーズの活性度は、図１４に示すように、時間の経過に伴い大きくなり、ピークに達した後は徐々に減少する。時間の経過が進んでいない（すなわち半径が小さい）段階において活性度が小さい場合、その段階において結合により消滅した点は、時系列データの判定に影響を与えていない。本実施の形態においては、活性度が最大活性度の所定割合以下であるノードのうち、最大活性度のノードの左側にあり且つ最大活性度のノードに最も近いノード（図１４におけるノードｎ１）が左端ノードとして特定される。図１５に左端ノードの特定の具体例を示す。図１５においては、時刻１から６００までのベッチシリーズに対応するノードの活性度が示されているが、０次のベッチシリーズに対応するノードは左から５つのノードである。ユニット１については、最大活性度が０．１２であり、左端ノードは左から３つ目のノードである。ユニット２については、最大活性度が０．１２であり、左端ノードは左から２つ目のノードである。
【００６２】
また、活性度が最大活性度の所定割合以下であるノードのうち、最大活性度のノードの右側にあり且つ最大活性度のノードに最も近いノード（図１４におけるノードｎ２）が右端ノードとして特定される。
【００６３】
図１１の説明に戻り、削減処理部１２は、ステップＳ１３において特定された左端ノードに対応する半径を特定する（ステップＳ１５）。図１３を用いて説明したように、ユニットの各ノードは半径の範囲に対応しているので、ステップＳ１５においては、その範囲における左端の値、中央の値、又は右端の値等が特定される。
【００６４】
削減処理部１２は、ステップＳ１５において特定された半径に対するベッチ数を、ベッチシリーズ格納部１１３に格納されている各ベッチシリーズの０次のベッチシリーズの部分から特定する（ステップＳ１７）。
【００６５】
図１６に、０次のベッチシリーズの一例を示す。図１６において、縦軸はベッチ数を表し、横軸は時間を表す。但し、０次のベッチシリーズの横軸は半径をも表す。ステップＳ１７においては、図１６に示すように、特定した半径に対するベッチ数ｎが、０次のベッチシリーズから特定される。
【００６６】
削減処理部１２は、ステップＳ１７において特定したベッチ数の統計量（ここでは、平均値又は最大値）を算出する（ステップＳ１９）。
【００６７】
削減処理部１２は、ステップＳ１３において特定された右端ノードに対応する半径を特定する（ステップＳ２１）。図１３を用いて説明したように、ユニットの各ノードは半径の範囲に対応しているので、ステップＳ２１においては、その範囲における左端の値、中央の値、又は右端の値等が特定される。
【００６８】
削減処理部１２は、ｋ＜（最終特徴層のユニット数）が成立するか判定する（ステップＳ２３）。ｋ＜（最終特徴層のユニット数）が成立する場合（ステップＳ２３：Ｙｅｓルート）、削減処理部１２はｋを１インクリメントし（ステップＳ２５）、処理はステップＳ１１に戻る。
【００６９】
一方、ｋ＜（最終特徴層のユニット数）が成立しない場合（ステップＳ２３：Ｎｏルート）、削減処理部１２は、以下の処理を実行する。具体的には、削減処理部１２は、ステップＳ１９において左端ノードについてユニット毎に算出された統計量の統計量（ここでは、最大値又は平均値）及びステップＳ２１において右端ノードについてユニット毎に特定された半径の統計量（ここでは、最大値又は平均値）を算出する（ステップＳ２７）。
【００７０】
削減処理部１２は、ｉ＜（ラベル数）が成立するか判定する（ステップＳ２９）。ｉ＜（ラベル数）が成立しない場合（ステップＳ２９：Ｎｏルート）、処理は端子Ｂを介して図１７のステップＳ３３に移行する。
【００７１】
一方、ｉ＜（ラベル数）が成立する場合（ステップＳ２９：Ｙｅｓルート）、削減処理部１２はｉを１インクリメントし（ステップＳ３１）、処理はステップＳ９に戻る。
【００７２】
図１７の説明に移行し、削減処理部１２は、ステップＳ２７において左端ノードについてラベル毎に算出された統計量の統計量（ここでは、最大値又は平均値）及びステップＳ２７において右端ノードについてラベル毎に算出された統計量の統計量（ここでは、最大値又は平均値）を算出する（図１７：ステップＳ３３）。
【００７３】
削減処理部１２は、ＤＮＮ処理部１０における第１生成部１０３が管理する時系列長を、ステップＳ３３において左端ノードについて算出された統計量に基づき設定する（ステップＳ３５）。例えば、ステップＳ３３において左端ノードについて算出された統計量がＮである場合、疑似アトラクタの次元をｄとすると、Ｎ＋ｄ−１が時系列長（すなわちサンプル数）として算出される。ステップＳ３５においては、例えば図１８に示すように前方抽出が行われるが、後方抽出或いは中央からの抽出であってもよい。
【００７４】
削減処理部１２は、ＤＮＮ処理部１０における第２生成部１０７が管理する、パーシステントホモロジーの最大半径に、ステップＳ３３において右端ノードについて算出された統計量を設定する（ステップＳ３７）。
【００７５】
そして、ＤＮＮ処理部１０は設定に従って機械学習を再度実行する。具体的には、第１生成部１０３は、時系列データ格納部１４に格納されている各時系列のデータから、ステップＳ３５において設定された時系列長分のデータを抽出する（ステップＳ３９）。
【００７６】
第２生成部１０７は、ステップＳ３９において抽出されたデータからバーコードデータを生成する。そして、第３生成部１１１は、各時系列のデータについて生成されたバーコードデータをベッチシリーズに変換し（ステップＳ４１）、ベッチシリーズ格納部１１３に格納する。ステップＳ４１においては、ステップＳ３７において設定された最大半径までパーシステントホモロジーの計算が行われる。
【００７７】
機械学習部１１５は、ステップＳ４１の処理によって生成された各ベッチシリーズに対して、１次元ＣＮＮを用いた学習処理を実行し（ステップＳ４３）、学習処理の結果（例えば、重み行列など）を処理結果格納部１６に格納する。ステップＳ４３の処理によって、ステップＳ５の学習処理の結果は置換される。そして処理は終了する。
【００７８】
図１９を用いて、時系列データの分類について説明する。
【００７９】
情報処理装置１は、例えばウエアラブルセンサにより取得された時系列データを受信し、時系列データ格納部１４に格納する。これに応じ、第１生成部１０３は、時系列データ格納部１４に格納された時系列データから、ステップＳ３５において設定された時系列長分のデータを抽出する（図１９：ステップＳ５１）。
【００８０】
第２生成部１０７は、ステップＳ５１において抽出されたデータからバーコードデータを生成する。そして、第３生成部１１１は、バーコードデータをベッチシリーズに変換し（ステップＳ５３）、ベッチシリーズ格納部１１３に格納する。ステップＳ５３においては、ステップＳ３７において設定された最大半径までパーシステントホモロジーの計算が行われる。
【００８１】
機械学習部１１５は、ステップＳ５３の処理によって生成されたベッチシリーズに対して、ステップＳ４３における機械学習後の１次元ＣＮＮを用いた判定処理を実行し（ステップＳ５５）、判定結果を処理結果格納部１６に格納する。そして処理は終了する。
【００８２】
以上のように、本実施の形態の方法によれば、取り扱う時系列データのデータ長が短くなり、また、パーシステントホモロジーの計算において最大半径が設定されるので、計算量が減少し、判定にかかる時間を短縮できるようになる。
【００８３】
図２０を用いて本実施の形態の方法の効果を説明する。図２０には、疑似アトラクタに含まれる点の数、１００の時系列についてベッチシリーズを生成するのにかかる時間および学習精度の比較結果が示されている。１行目は本実施の形態の方法を利用しない場合の結果を示す。２行目は本実施の形態の方法を利用した場合の結果を示す。３行目は本実施の形態の方法を利用した場合よりもさらにデータ長を短くした場合の結果を示す。４行目は、ランドマーク法（疑似アトラクタに含まれる点についての密度分布に基づき、代表的な点以外を削除する方法）の結果を示す。
【００８４】
本実施の形態の方法を利用すると、疑似アトラクタに含まれる点の数が減るので、ベッチシリーズの生成にかかる時間を約２６％短縮することができるようになる。一方で、本実施の形態の方法よりもデータ長を短くすると学習精度が大きく低下するが、本実施の形態の方法を利用した場合には学習精度はほとんど低下しない。また、ランドマーク法を利用した場合には、本実施の形態の方法を利用した場合ほど時間が短縮されないにもかかわらず、本実施の形態の方法よりも学習精度が低下する。
【００８５】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した情報処理装置１の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００８６】
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００８７】
なお、上で述べた情報処理装置１は、コンピュータ装置であって、図２１に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスクドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブルディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティングシステム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーションプログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーションプログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブルディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００８８】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００８９】
本実施の形態の第１の態様に係る削減条件特定方法は、（Ａ）時系列データからアトラクタ（例えば、実施の形態における疑似アトラクタ）を生成し、生成したアトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータ（例えば、実施の形態におけるベッチシリーズ）に対して、多層ニューラルネットワークを用いた機械学習を実行し、（Ｂ）機械学習後の多層ニューラルネットワークにおける全結合層の値の算出に使用される係数（例えば、実施の形態における活性度）より、ベッチ数の範囲を特定し、（Ｃ）特定されたベッチ数の範囲に基づき、時系列データの削減についての条件を特定する処理を含む。
【００９０】
多層ニューラルネットワークによる判定の精度への影響を抑えつつ、判定に要する計算の量を削減できるようになる。
【００９１】
また、ベッチ数の範囲を特定する処理において、（ｂ１）全結合層の値の算出に使用される係数のうち所定の条件を満たす係数を特定し、特定した係数に対応するベッチ数の範囲を特定してもよい。
【００９２】
また、時系列データの削減についての条件は、時系列データのサンプル数についての条件を含んでもよい。
【００９３】
時系列データの適切なサイズが決まるので、多層ニューラルネットワークによる判定の精度への影響を抑えつつ、判定に要する計算の量を削減できるようになる。
【００９４】
また、本削減条件特定方法は、（Ｄ）特定されたベッチ数の範囲に基づき、位相的データ解析におけるパーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する処理をさらに含んでもよい。
【００９５】
時間がかかるパーシステントホモロジーの計算の一部を省略できるようになるので、判定に要する計算の量をさらに削減できるようになる。
【００９６】
また、所定の条件は、全結合層の値の算出に使用される係数のうち最大の係数に所定割合を乗じた値以上であるという条件を含んでもよい。そして、時系列データの削減についての条件を特定する処理において、（ｃ１）特定されたベッチ数の範囲の下限を用いて、時系列データのサンプル数についての条件を生成してもよい。
【００９７】
パーシステントホモロジーの計算において半径が比較的小さい序盤については、アトラクタに含まれる点のうち近接する点についてベッチ数が減るものの判定に与える影響は比較的小さく、活性度が低くなる傾向がある。上で述べたようにすれば、判定の精度に影響を与えないようなサンプル数を決定できるようになる。
【００９８】
また、パーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する処理において、（ｄ１）特定されたベッチ数の範囲の上限に対応する半径を、位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定し、特定した半径の情報を含む条件を生成してもよい。
【００９９】
半径がある程度以上大きくなると、ベッチ数の変化がほとんど無くなり、判定の結果には影響を及ぼさなくなる。そこで、上で述べたようにすれば、判定精度への影響を抑えつつ計算量を削減できるようになる。
【０１００】
また、ベッチ数の範囲を特定する処理において、（ｂ２）所定の条件を満たす係数に対応する半径の範囲を特定し、特定した半径の範囲に対応するベッチ数の範囲を、位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定してもよい。
【０１０１】
また、本削減条件特定方法は、（Ｅ）時系列データの削減についての条件及びパーシステントホモロジーの計算で使用する半径の最大値についての条件の少なくともいずれかに従って、多層ニューラルネットワークを用いた第２の機械学習を実行する処理をさらに含んでもよい。
【０１０２】
また、本削減条件特定方法は、（Ｆ）時系列データの削減についての条件及びパーシステントホモロジーの計算で使用する半径の最大値についての条件の少なくともいずれかに従って、多層ニューラルネットワークを用いた判定を実行する処理をさらに含んでもよい。
【０１０３】
本実施の形態の第２の態様に係る削減条件特定装置は、（Ｇ）時系列データからアトラクタを生成し、生成したアトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行する機械学習部（例えばＤＮＮ処理部１０）と、（Ｈ）機械学習後の多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、特定したベッチ数の範囲に基づき、時系列データの削減についての条件を特定する特定部（例えば削減処理部１２）とを有する。
【０１０４】
なお、上記方法による処理をコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１０５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０６】
（付記１）
コンピュータに、
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行し、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、
特定された前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する、
処理を実行させる削減条件特定プログラム。
【０１０７】
（付記２）
前記ベッチ数の範囲を特定する処理において、
前記全結合層の値の算出に使用される係数のうち所定の条件を満たす係数を特定し、特定した前記係数に対応する前記ベッチ数の範囲を特定する、
付記１記載の削減条件特定プログラム。
【０１０８】
（付記３）
前記時系列データの削減についての条件は、前記時系列データのサンプル数についての条件を含む、
付記１又は２記載の削減条件特定プログラム。
【０１０９】
（付記４）
前記コンピュータに、
特定された前記ベッチ数の範囲に基づき、前記位相的データ解析におけるパーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する、
処理をさらに実行させる付記１乃至３のいずれか１つ記載の削減条件特定プログラム。
【０１１０】
（付記５）
前記所定の条件は、前記全結合層の値の算出に使用される係数のうち最大の係数に所定割合を乗じた値以上であるという条件を含み、
前記時系列データの削減についての条件を特定する処理において、
特定された前記ベッチ数の範囲の下限を用いて、前記時系列データのサンプル数についての条件を生成する、
付記３記載の削減条件特定プログラム。
【０１１１】
（付記６）
前記パーシステントホモロジーの計算で使用する半径の最大値についての条件を特定する処理において、
特定された前記ベッチ数の範囲の上限に対応する半径を、前記位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定し、特定した前記半径の情報を含む条件を生成する、
付記４記載の削減条件特定プログラム。
【０１１２】
（付記７）
前記ベッチ数の範囲を特定する処理において、
前記所定の条件を満たす係数に対応する半径の範囲を特定し、特定した前記半径の範囲に対応するベッチ数の範囲を、前記位相的データ解析の結果に含まれる、半径とベッチ数との関係に基づき特定する、
付記２記載の削減条件特定プログラム。
【０１１３】
（付記８）
前記コンピュータに、
前記時系列データの削減についての条件及び前記パーシステントホモロジーの計算で使用する半径の最大値についての条件の少なくともいずれかに従って、前記多層ニューラルネットワークを用いた第２の機械学習を実行する、
処理をさらに実行させる付記４記載の削減条件特定プログラム。
【０１１４】
（付記９）
前記コンピュータに、
前記時系列データの削減についての条件及び前記パーシステントホモロジーの計算で使用する半径の最大値についての条件の少なくともいずれかに従って、前記多層ニューラルネットワークを用いた判定を実行する、
処理をさらに実行させる付記８記載の削減条件特定プログラム。
【０１１５】
（付記１０）
コンピュータが、
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行し、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数より、ベッチ数の範囲を特定し、
特定された前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する、
処理を実行する削減条件特定プログラム。
【０１１６】
（付記１１）
時系列データからアトラクタを生成し、生成した前記アトラクタに対する位相的データ解析の結果から算出されたベッチ数のデータに対して、多層ニューラルネットワークを用いた機械学習を実行する機械学習部と、
前記機械学習後の前記多層ニューラルネットワークにおける全結合層の値の算出に使用される係数よりベッチ数の範囲を特定し、特定した前記ベッチ数の範囲に基づき、前記時系列データの削減についての条件を特定する特定部と、
を有する削減条件特定装置。
【符号の説明】
【０１１７】
１  情報処理装置    １０  ＤＮＮ処理部
１２  削減処理部    １４  時系列データ格納部
１６  処理結果格納部
１０３  第１生成部    １０５  疑似アトラクタデータ格納部
１０７  第２生成部    １０９  バーコードデータ格納部
１１１  第３生成部    １１３  ベッチシリーズ格納部
１１５  機械学習部    １１９  削除部
【図１】
2018092349.tif 000005
【図２】
2018092349.tif 000006
【図３】
2018092349.tif 000007
【図４】
2018092349.tif 000008
【図５】
2018092349.tif 000009
【図６】
2018092349.tif 000010
【図７】
2018092349.tif 000011
【図８】
2018092349.tif 000012
【図９】
2018092349.tif 000013
【図１０】
2018092349.tif 000014
【図１１】
2018092349.tif 000015
【図１２】
2018092349.tif 000016
【図１３】
2018092349.tif 000017
【図１４】
2018092349.tif 000018
【図１５】
2018092349.tif 000019
【図１６】
2018092349.tif 000020
【図１７】
2018092349.tif 000021
【図１８】
2018092349.tif 000022
【図１９】
2018092349.tif 000023
【図２０】
2018092349.tif 000024
【図２１】
2018092349.tif 000025