(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-05
(45)【発行日】2023-12-13
(54)【発明の名称】情報処理装置、情報処理方法、および、情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20231206BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2022543827
(86)(22)【出願日】2020-08-17
(86)【国際出願番号】 JP2020031001
(87)【国際公開番号】W WO2022038660
(87)【国際公開日】2022-02-24
【審査請求日】2023-01-06
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100129230
【氏名又は名称】工藤 理恵
(72)【発明者】
【氏名】孫 晶玉
(72)【発明者】
【氏名】竹内 亨
(72)【発明者】
【氏名】前大道 浩之
(72)【発明者】
【氏名】山崎 育生
【審査官】藤原 敬利
(56)【参考文献】
【文献】特開2018-147474(JP,A)
【文献】特表2018-525734(JP,A)
【文献】特開2018-081442(JP,A)
【文献】WENG, Shuchen et al.,DUAL-STREAM CNN FOR STRUCTURED TIME SERIES CLASSIFICATION,2019 IEEE International Conference on Accoustics, Speech and Signal Processing,英国,IEEE Signal Processing Society,2019年05月12日
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
時系列データを学習ネットワークで学習または分類する情報処理装置において、
前記学習ネットワークは、
異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第1のインセプションニューラルネットワークを用いて、サポートセットに指定された異なる複数の教師データの各特徴ベクトルをそれぞれ抽出する第1の抽出部と、
異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第2のインセプションニューラルネットワークを用いて、クエリセットに指定された教師データの特徴ベクトルを抽出する第2の抽出部と、
前記複数の教師データの各特徴ベクトルと前記教師データの特徴ベクトルとを用いて、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致または類似するポジティブサンプルとの特徴ベクトル間の相対距離を小さくし、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致および類似しないネガティブサンプルとの特徴ベクトル間の相対距離を大きくするように、前記学習ネットワークのネットワークパラメータを更新する学習部と、
を備える情報処理装置。
【請求項2】
前記ネットワークパラメータが更新された前記学習ネットワークを用いて、前記サポートセットに指定された複数の教師データに対する、前記クエリセットに指定された分類対象の時系列データの分類先を推定計算する分類部をさらに備える請求項1に記載の情報処理装置。
【請求項3】
前記第2の抽出部は、
前記複数の畳み込み層を並列的に用いて前記クエリセットに指定された一の教師データについて複数の特徴ベクトルを抽出し、
前記第1の抽出部は、
前記複数の畳み込み層を並列的に用いて前記サポートセットに指定された一の教師データについて複数の特徴ベクトルを抽出し、前記第1の抽出部が抽出した前記複数の特徴ベクトルと前記第2の抽出部が抽出した前記複数の特徴ベクトルとの類似度に基づく各アテンションスコアをそれぞれ計算し、前記第1の抽出部が抽出した前記複数の特徴ベクトルに対して前記各アテンションスコアをそれぞれ付与する請求項1または2に記載の情報処理装置。
【請求項4】
時系列データを学習ネットワークで学習または分類する情報処理方法において、
前記学習ネットワークは、
異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第1のインセプションニューラルネットワークを用いて、サポートセットに指定された異なる複数の教師データの各特徴ベクトルをそれぞれ抽出するステップと、
異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第2のインセプションニューラルネットワークを用いて、クエリセットに指定された教師データの特徴ベクトルを抽出するステップと、
前記複数の教師データの各特徴ベクトルと前記教師データの特徴ベクトルとを用いて、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致または類似するポジティブサンプルとの特徴ベクトル間の相対距離を小さくし、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致および類似しないネガティブサンプルとの特徴ベクトル間の相対距離を大きくするように、前記学習ネットワークのネットワークパラメータを更新するステップと、
を行う情報処理方法。
【請求項5】
前記ネットワークパラメータが更新された前記学習ネットワークを用いて、前記サポートセットに指定された複数の教師データに対する、前記クエリセットに指定された分類対象の時系列データの分類先を推定計算するステップをさらに行う請求項4に記載の情報処理方法。
【請求項6】
請求項1ないし3のうちいずれかに記載の情報処理装置としてコンピュータを機能させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、および、情報処理プログラムに関する。
【背景技術】
【0002】
従来、IoT(Internet of Things)など多様なデバイスから収集した実世界上のデータを活用することにより、様々な社会的課題を解決できることが知られている。特に、様々な場面では時間的に変化したデータ値を持つ時系列データが用いられており、ある事象についての異常検知や傾向分析などを行う際に、その事象に関する時系列データを適切に分類することが重要な課題となっている。
【0003】
伝統的な時系列データの分類手法には、ARIMA(Auto Regressive Integrated Moving Average)モデルなど、様々な分類モデル(例えば、統計モデル、回帰モデル)が用いられている。このような分類モデルでは、入力された時系列データの特徴に基づき分類を行う。分類モデルを上手く活用するには、分類モデルおよび分類モデルのパラメータに関する知識が必要である。しかし、複数の種類の分類モデルの中から要求を満たす分類モデルを選択し、かつ、その分類モデルのパラメータを設定することを人手で行う必要があり、多大な労力が必要になるため、分類の精度は不安定である。また、時系列データに多くのノイズ成分が含まれる場合、時系列データの特徴を正確に捉えることができず、分類モデルに上手く適合しない場合もある。
【0004】
一方、機械学習を用いて複数の時系列データの様々な特徴を予め自動学習しておき、入力された時系列データの特徴がどの特徴に類似するかに基づき分類を行う手法もある。しかし、機械学習を用いて時系列データを分類可能にするためには、時系列データの特徴を学習する際に大量の教師データが必要になり、現実的に難しい場合が多い。
【0005】
例えば、機械学習には、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)、回帰型ニューラルネットワーク(RNN:Recurrent Neural Network)がある。
【0006】
CNNは、画像または映像を分類するために用いられ、入力層と出力層との間に畳み込み演算を行う複数の畳み込み層を直列的に配置し、入力された画像に対して各畳み込み層のフィルタをかけて特徴マップを段階的に生成していき、最終的に得られた特徴マップの特徴に基づき画像を分類する手法である。しかし、通常、畳み込み層のフィルタサイズは固定されており、そのフィルタサイズを動的に変更できない。また、畳み込み層の設計によっては分類結果が大きく異なる可能性が高い。
【0007】
RNNは、文章を分類するために用いられ、ある層Aの出力が遡って次の層Aに入力される再帰結合構造を備え、文脈に着目して文章を分類する手法である。しかし、文字を再帰的に処理するため、処理全体を並列化することは難しい。また、文章が長すぎる場合には、連続する文字または単語の文脈の特徴を正確に把握できず、適切に分類できない場合がある。さらに、層Aの設計によっては分類結果が大きく異なる可能性が高い。
【0008】
一方、非特許文献1では、インセプションモジュール(Inception Module)を取り入れた機械学習手法を提案している。インセプションモジュールとは、ネットワークを分岐させ、異なるフィルタサイズの各畳み込み層でそれぞれ畳み込み演算を並列的に行った後、それにより抽出された複数の特徴を最後に連結する処理を行うニューラルネットワークである。
【0009】
非特許文献1の
図1では、左側の時系列データに対して、それぞれの長さが{10}、{20}、{40}であるフィルタサイズの各畳み込み層を並列に適用し、それぞれの畳み込み演算の結果を最後に連結している。このように、非特許文献1では、時系列データに対して異なるフィルタサイズの各畳み込み層を並列に適用して複数の特徴を抽出するため、畳み込み層のフィルタサイズを動的に変更できないCNNや処理全体を並列化することが難しいRNNよりも分類精度が高い。
【先行技術文献】
【非特許文献】
【0010】
【文献】Hassan Ismail Fawaz、外9名、“InceptionTime: Finding AlexNet for Time Series Classification”、arXiv:1909.04939v2 [cs.LG] 13 Sep 2019、p.1-p.27
【発明の概要】
【発明が解決しようとする課題】
【0011】
非特許文献1では、一の時系列データに対して異なるフィルタサイズの各畳み込み層を並列に適用して複数の特徴を抽出するため、複数の特徴を活用することで時系列データを高精度に分類できる。しかしながら、非特許文献1の機械学習手法であっても、大量の教師データが必要である。また、非特許文献1では、各畳み込み層を並列に適用して得られた複数の特徴をそのまま連結するため、時系列データを効率的に分類できない。
【0012】
本発明は、上記事情に鑑みてなされたものであり、本発明の目的は、少数の教師データで精度よく時系列データを分類可能な技術を提供することである。
【課題を解決するための手段】
【0013】
本発明の一態様の情報処理装置は、時系列データを学習ネットワークで学習または分類する情報処理装置において、前記学習ネットワークは、異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第1のインセプションニューラルネットワークを用いて、サポートセットに指定された異なる複数の教師データの各特徴ベクトルをそれぞれ抽出する第1の抽出部と、異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第2のインセプションニューラルネットワークを用いて、クエリセットに指定された教師データの特徴ベクトルを抽出する第2の抽出部と、前記複数の教師データの各特徴ベクトルと前記教師データの特徴ベクトルとを用いて、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致または類似するポジティブサンプルとの特徴ベクトル間の相対距離を小さくし、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致および類似しないネガティブサンプルとの特徴ベクトル間の相対距離を大きくするように、前記学習ネットワークのネットワークパラメータを更新する学習部と、を備える。
【0014】
本発明の一態様の情報処理方法は、時系列データを学習ネットワークで学習または分類する情報処理方法において、前記学習ネットワークは、異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第1のインセプションニューラルネットワークを用いて、サポートセットに指定された異なる複数の教師データの各特徴ベクトルをそれぞれ抽出するステップと、異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第2のインセプションニューラルネットワークを用いて、クエリセットに指定された教師データの特徴ベクトルを抽出するステップと、前記複数の教師データの各特徴ベクトルと前記教師データの特徴ベクトルとを用いて、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致または類似するポジティブサンプルとの特徴ベクトル間の相対距離を小さくし、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致および類似しないネガティブサンプルとの特徴ベクトル間の相対距離を大きくするように、前記学習ネットワークのネットワークパラメータを更新するステップと、を行う。
【0015】
本発明の一態様の情報処理プログラムは、上記情報処理装置としてコンピュータを機能させる。
【発明の効果】
【0016】
本発明によれば、少数の教師データで精度よく時系列データを分類可能な技術を提供できる。
【図面の簡単な説明】
【0017】
【
図1】
図1は、本実施形態に係る情報処理装置の構成を示す図である。
【
図2】
図2は、学習ネットワークに入力する時系列データおよび学習ネットワークから出力する分類結果を示す図である。
【
図3】
図3は、学習ネットワークの構成を示す図である。
【
図4】
図4は、第1のインセプションニューラルネットワークの構成を示す図である。
【
図5】
図5は、第2のインセプションニューラルネットワークの構成を示す図である。
【
図6】
図6は、第1および第2のインセプションニューラルネットワークの配置例を示す図である。
【
図7】
図7は、スコア付与部の動作イメージを示す図である。
【
図8】
図8は、ポジティブサンプルおよびネガティブサンプルの例を示す図である。
【
図9】
図9は、情報処理装置の動作イメージを示す図である。
【
図10】
図10は、情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の実施形態を説明する。図面の記載において同一部分には同一符号を付し説明を省略する。
【0019】
[発明の概要]
[1つ目の特徴]
非特許文献1の機械学習手法であっても、大量の教師データが必要であった。
【0020】
そこで、本発明では、時系列データの特徴値を異なるフィルタサイズの各畳み込み層で抽出するインセプションニューラルネットワークを複数配置し、これをPrototypical分類フレームワークのサポートセットとクエリセットとにそれぞれ適用することによって、少数の教師データだけで学習および推論が可能なアーキテクチャを実現する。
【0021】
具体的には、非特許文献1のインセプションニューラルネットワークと原則同じ構成を備えるインセプションニューラルネットワークを少なくとも2つ用意(以下、第1および第2のインセプションニューラルネットワーク)する。また、複数の教師データが指定されたサポートセットを用意する。さらに、1つの教師データが指定されたクエリセットを用意する。そして、サポートセットに指定された複数の教師データに対して第1のインセプションニューラルネットワークを適用し、その複数の教師データの各特徴ベクトルをそれぞれ抽出する。同様に、クエリセットに指定された1つの教師データに対して第2のインセプションニューラルネットワークを適用し、その1つの教師データの特徴ベクトルを抽出する。その後、クエリセットの教師データとサポートセットの教師データのうちポジティブサンプルとの特徴ベクトル間の相対距離を小さくし、クエリセットの教師データとサポートセットの教師データのうちネガティブサンプルとの特徴ベクトル間の相対距離を大きくするように、学習ネットワークのネットワークパラメータを更新する。これにより、少数の教師データで精度よく時系列データを分類可能となる。
【0022】
[2つ目の特徴]
非特許文献1の機械学習手法では、時系列データを効率的に分類できなかった。
【0023】
そこで、本発明では、異なるフィルタサイズの各畳み込み層を並列的に処理し、サポートセットに対応する第1のインセプションニューラルネットワークの各畳み込み層でそれぞれ抽出された教師データの各特徴値を、クエリセットに対応する第2のインセプションニューラルネットワークの各畳み込み層でそれぞれ抽出された教師データの各特徴値とそれぞれ比較し、その比較結果に基づくスコアをそれぞれ計算して、第1のインセプションニューラルネットワークの各畳み込み層に対して各スコアを付与することによって、分類タスクに有効な畳み込み層を重み付け、効率的な学習プロセスを実現する。
【0024】
具体的には、第1のインセプションニューラルネットワークの並列的な各畳み込み層でそれぞれ抽出された一の教師データの特徴ベクトルと、第2のインセプションニューラルネットワークの並列的な各畳み込み層でそれぞれ抽出された一の特徴ベクトルとの類似度、関連度、関係度に基づく各アテンションスコアをそれぞれ計算し、各アテンションスコアを重みとしてそれぞれ付与する。これにより、時系列データを効率的に分類可能となる。
【0025】
[情報処理装置の構成]
図1は、本実施形態に係る情報処理装置の構成を示す図である。
【0026】
情報処理装置1は、時系列データを学習ネットワークθで学習する時系列データ学習装置であり、かつ、時系列データを学習ネットワークθで分類する時系列データ分類装置である。時系列データとは、時間的に変化したデータ値を持つデータである。例えば、正常と認定される電圧変化の電圧値を記録したデータ、異常と認定される電圧変化の電圧値を記録したデータである。
【0027】
学習ネットワークθは、第1の抽出部11と、第2の抽出部12と、学習部13と、分類部14と、を備える。第1の抽出部11、第2の抽出部12、学習部13が、時系列データ学習装置を構成する。第1の抽出部11、第2の抽出部12、分類部14が、時系列データ分類装置を構成する。情報処理装置1は、学習ネットワークθを記憶する記憶部15を備える。
【0028】
[入出力データ]
図2は、学習ネットワークに入力する時系列データおよび学習ネットワークから出力する分類結果を示す図である。
【0029】
学習ネットワークθに入力する教師データとして、サポートセットおよびクエリセットを用意する。教師データとは、正解である学習データ、または、正解のフラグが付与された学習データである。
【0030】
ユーザは、手動で各クラスCnの教師データXn
nmをサポートセットに指定する。各クラスの教師データの数は、5~100個のサンプルで足りる。例えば、異常検出クラスC1の場合、100個の異常パターンの教師データを指定する。データ分類クラスC2の場合、50個の分類パターンの教師データを指定する。サポートセットに指定された複数の教師データS={(X1
1,C1),…,(Xn
nm,Cn)}は、学習ネットワークθを構成する第1の抽出部11に入力される。
【0031】
サポートセットに指定される複数の教師データの指定パターンは、例えば、1つのクラスのみについて、複数の教師データを指定する第1の指定パターン、複数のクラスについて、各クラスごとに1つの教師データのみを指定する第2の指定パターン、複数のクラスについて、各クラスごとに複数の教師データを指定する第3の指定パターンが考えられる。
図2では、第2の指定パターンを示している。
【0032】
クエリセットには、学習時には、サポートセットに指定された複数の教師データSの中から抽出した所定クラスCqの教師データXq
iが指定される。学習を繰り返すごとに、サポートセットから異なる一の教師データXq
i+1が順次指定され、個々の教師データXq
iについて学習がそれぞれ行われる。一方、分類先推論時には、推論ターゲットとなる分類対象の時系列データXqが指定される。クエリセットに指定された学習時の教師データ(Xq
i,Cq)、または、分類先推論時の時系列データXqは、学習ネットワークθを構成する第2の抽出部12に入力される。
【0033】
分類先推論時には、学習ネットワークθを構成する分類部14から、クエリセットに指定された分類対象の時系列データXqが、サポートセットに指定された複数の教師データのうちどの教師データに属するかについて推定計算した分類結果が出力される。例えば、上記第1の指定パターンの場合、各教師データXn
nmに対する時系列データXqの類似度が出力される。上記第2の指定パターンの場合、各クラスCnに対する時系列データXqの類似度が出力される。類似度の出力方法は、例えば、数字(%)、文字、グラフである。
【0034】
[学習ネットワークの構成]
図3は、学習ネットワークの構成を示す図である。
【0035】
第1の抽出部11は、第1のインセプションニューラルネットワークを備える。第1の抽出部11は、第1のインセプションニューラルネットワークを用いて、サポートセットに指定された異なる複数の教師データの各特徴ベクトルをそれぞれ抽出する機能を備える。例えば、第1の抽出部11は、第1のインセプションニューラルネットワークを用いて、サポートセットに指定されたクラスC1の教師データX1
1の特徴ベクトルO1を抽出し、クラスC2の教師データX2
1の特徴ベクトルO2を抽出する。
【0036】
第2の抽出部12は、第1のインセプションニューラルネットワークと原則同じ構成を備える第2のインセプションニューラルネットワークを備える。第2の抽出部12は、第2のインセプションニューラルネットワークを用いて、クエリセットに指定された学習時の教師データ(Xq
i,Cq)、または、分類先推論時の時系列データXqの特徴ベクトルOを抽出する機能を備える。
【0037】
第1および第2のインセプションニューラルネットワークは、いずれも、入力側に畳み込み層および出力側に連結層を備える。第1のインセプションニューラルネットワークは、アテンション用のアテンションスコアを付与するスコア付与部(CBA;Cross Branch Attention)をさらに備える。第2のインセプションニューラルネットワークは、スコア付与部を備えていない。
【0038】
スコア付与部は、第1のインセプションニューラルネットワークの第1の畳み込み層を構成する並列的な各畳み込み層(Branch)に対して、第2のインセプションニューラルネットワークの第2の畳み込み層を構成する並列的な各畳み込み層(Branch)との特徴ベクトルの類似度に関する関係性を表すアテンション(Cross Attention)スコアを計算し、サポートセットに指定された複数の時系列データの各特徴ベクトルの連結時における重みを調整する。
図3以降の図面では、第1のインセプションニューラルネットワークを「Inception NN with CBA」と示し、第2のインセプションニューラルネットワークを「Inception NN」と示す。
【0039】
第1および第2のインセプションニューラルネットワークの詳細については、後述する。
【0040】
学習部13は、第1の抽出部11で抽出された複数の教師データの各特徴ベクトルOnと、第2の抽出部12で抽出された教師データの特徴ベクトルOとを用いて、学習ネットワークθのネットワークパラメータを調整する学習処理を行う機能を備える。ネットワークパラメータとは、例えば、第1および第2のインセプションニューラルネットワークを構成している各畳み込み層の重み変数、バイアス変数である。
【0041】
分類部14は、サポートセットに指定されていた複数の教師データの各特徴ベクトルOnと、クエリセットに指定された推論ターゲットである分類対象の時系列データの特徴ベクトルOとの類似度をそれぞれ計算し、当該分類対象の時系列データに関する分類ラベルベクトルを計算する機能を備える。分類ラベルベクトルの計算には、例えばソフトマックス(Softmax)関数を用いる。
【0042】
具体的には、分類部14は、ネットワークパラメータが更新された学習済みの学習ネットワークθを用いて、サポートセットに指定された複数の教師データに対する、クエリセットに指定された分類対象の時系列データの分類先を推定計算する。例えば、分類対象の時系列データが教師データAである確率は72%、教師データBである確率は28%が計算される。
【0043】
[第1および第2のインセプションニューラルネットワークの構成]
図4は、第1のインセプションニューラルネットワークの構成を示す図である。
【0044】
第1のインセプションニューラルネットワークは、異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を並列的に用いて、サポートセットに指定された教師データの特徴ベクトルを抽出するニューラルネットワークである。例えば、第1のインセプションニューラルネットワークは、第1の畳み込み層(Convolution Layers)111と、スコア付与部(CBA)112と、第1の連結層(Depth Concatenation)113と、を備える。
【0045】
第1の畳み込み層111では、例えば、{1×10}のフィルタで畳み込み演算を行う第1畳み込み層L11と、{1×20}のフィルタで畳み込み演算を行う第2畳み込み層L12と、{1×50}のフィルタで畳み込み演算を行う第3畳み込み層L13と、{1×1}のフィルタで畳み込み演算を行う第4畳み込み層L14と、が並列に実行される。
【0046】
第1畳み込み層L11は、サポートセットに指定された教師データについて、前段の{1×1}の畳み込み層で抽出された当該教師データの特徴ベクトルを、{1×10}のフィルタでさらに畳み込み演算を行い、畳み込み演算により抽出された特徴ベクトルS1を、スコア付与部112を介して第1の連結層113に出力する。
【0047】
第2畳み込み層L12は、サポートセットに指定された教師データについて、前段の{1×1}の畳み込み層で抽出された当該教師データの特徴ベクトルを、{1×20}のフィルタでさらに畳み込み演算を行い、畳み込み演算により抽出された特徴ベクトルS2を、スコア付与部112を介して第1の連結層113に出力する。
【0048】
第3畳み込み層L13は、サポートセットに指定された教師データについて、前段の{1×1}の畳み込み層で抽出された当該教師データの特徴ベクトルを、{1×50}のフィルタでさらに畳み込み演算を行い、畳み込み演算により抽出された特徴ベクトルS3を、スコア付与部112を介して第1の連結層113に出力する。
【0049】
第4畳み込み層L14は、サポートセットに指定された教師データについて、前段のマックスプーリング層で抽出された当該教師データの教師ベクトルを、{1×1}のフィルタで畳み込み演算を行い、畳み込み演算により抽出された特徴ベクトルS4を、スコア付与部112を介して第1の連結層113に出力する。
【0050】
第1の連結層113は、スコア付与部112を介して第1~第4畳み込み層L11~L14からそれぞれ出力された全ての特徴ベクトルS1~S4を連結して一の特徴ベクトルOnを出力する。この一の特徴ベクトルOnは、サポートセットに指定された複数の教師データのうち一の教師データの特徴ベクトルである。
【0051】
図5は、第2のインセプションニューラルネットワークの構成を示す図である。
【0052】
第2のインセプションニューラルネットワークは、異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を並列的に用いて、クエリセットに指定された学習時の教師データまたは分類先推論時の時系列データの特徴ベクトルを抽出するニューラルネットワークである。例えば、第2のインセプションニューラルネットワークは、第2の畳み込み層121と、第2の連結層123と、を備える。
【0053】
第2の畳み込み層121は、第1のインセプションニューラルネットワークの第1の畳み込み層111と同じ構成を備え、第1~第4畳み込み層L21~L24が並列に実行される。第1~第4畳み込み層L21~L24は、クエリセットに指定された学習時の教師データまたは分類先推論時の時系列データについて、畳み込み演算により特徴ベクトルQ1~Q4をそれぞれ抽出し、その特徴ベクトルQ1~Q4を第2の連結層123に出力し、かつ、第1のインセプションニューラルネットワークのスコア付与部112にも出力する。
【0054】
第2の連結層123は、第1~第4畳み込み層L1~L4からそれぞれ出力された全ての特徴ベクトルQ1~Q4を連結して一の特徴ベクトルOを出力する。
【0055】
ここで、第1のインセプションニューラルネットワークのスコア付与部112について説明する(
図4参照)。スコア付与部112は、前段の第1の畳み込み層111からサポートセットに指定された一の教師データについての特徴ベクトルS
1~S
4(=S
i)を入力し、第2のインセプションニューラルネットワークの第2の畳み込み層121からクエリセットに指定された一の教師データまたは時系列データについての特徴ベクトルQ
1~Q
4(=Q
i)を入力する。スコア付与部112は、入力された各特徴ベクトルS
iと各特徴ベクトルQ
iとを用いて、サポートセットとクエリセットとの間の時系列データの類似的関係性を考慮してそれぞれのアテンションスコアを計算し、各畳み込み層L11~L14でそれぞれ抽出された各特徴ベクトルS
1~S
4、または、各畳み込み層L11~L14に対して、計算した各アテンションスコアを重みとしてそれぞれ付与する。
【0056】
図6は、第1および第2のインセプションニューラルネットワークの配置例を示す図である。
【0057】
第1および第2のインセプションニューラルネットワークは、互いを対として、直列的にj個(j≧1)配置される。また、サポートセットにはn個(n≧2)の教師データが指定されており、第1インセプションニューラルネットワークのスコア付与部112は、そのn個の教師データについてそれぞれ抽出された各i個の特徴ベクトルSiをそれぞれ入力し、第2インセプションニューラルネットワークから出力された教師データまたは時系列データのi個の特徴ベクトルQiを用いて、各アテンションスコアをそれぞれ計算する。
【0058】
[スコア付与部の動作]
図7は、スコア付与部の動作イメージを示す図である。
【0059】
スコア付与部112は、既に説明した通り、分類に有効な畳み込み層(Branch)を効率に重み付けられるクロスブランチアテンション(Cross Branch Attention)を付与する処理を行う。以下、詳述する。
【0060】
まず、スコア付与部112は、第1の畳み込み層111の各畳み込み層L11~L14でそれぞれ抽出された各特徴ベクトルSi
jと、第2の畳み込み層121の各畳み込み層L21~L24でそれぞれ抽出された各特徴ベクトルQi
jとを、例えば式(1)のようにモデル定義したスコア関数に代入し、各畳み込み層ごとに対応する各一対の特徴ベクトル(Si
j,Qi
j)のアテンションスコアScorei
jをそれぞれ算出する。va
TとWaは、モデルのパラメータである。Waは、Si
jとQi
jとの行列関数である。
【0061】
【0062】
式(1)は、アテンション用のスコアを算出するスコア関数の例である。スコア付与部112は、式(1)のスコア関数に代えて、特徴ベクトル間の類似度に基づくスコアを算出可能な任意の関数を用いることができる。
【0063】
次に、スコア付与部112は、各アテンションスコアScorei
jを式(2)に代入し、アテンションスコアの総スコアに対する各アテンションスコアの割合ai
jをそれぞれ算出する。
【0064】
【0065】
次に、スコア付与部112は、式(3)を用いて、第1の畳み込み層111の各畳み込み層L11~L14でそれぞれ抽出された各特徴ベクトルSi
jに対して、各アテンションスコアの割合ai
jをそれぞれ重み付けする。
【0066】
【0067】
最後に、第1の連結層113は、式(4)を用いて、各アテンションスコアの割合ai
jがそれぞれ重み付けられた各特徴ベクトルSi
jを連結する。
【0068】
【0069】
式(4)では、a1
j×S1
j+a2
j×S2
j+a3
j×S3
j…が計算される。つまり、各特徴ベクトルSi
jに対して、対応する特徴ベクトル(Si
j,Qi
j)間の類似度に基づくスコアを重みとして乗算し、それらの連結した一の特徴ベクトルを、サポートセットに指定された一の教師データの特徴ベクトルOjとしている。
【0070】
[学習部の動作]
学習部13は、サポートセットに指定された複数の教師データの各特徴ベクトルOnと、クエリセットに指定された学習時の教師データの特徴ベクトルOとについて、例えば式(5)のようにモデル定義したロス関数(損失関数)を用いて、Nペアロス(N-pair-ms Loss)を算出し、算出するロスが小さくなるように、学習ネットワークθのネットワークパラメータを繰り返し更新する。
【0071】
【0072】
xは、サポートセットに指定された複数の教師データの各特徴ベクトルである。x
+は、サポートセット内のポジティブサンプル(
図8参照)の特徴ベクトルである。{x
i}
i=1
n-1は、サポートセット内のネガティブサンプル(
図8参照)の特徴ベクトルである。fは、学習ネットワークθのネットワークパラメータ(Embedding Kernel)である。
【0073】
具体的には、学習部13は、クエリセットの教師データとサポートセットのポジティブサンプルとの特徴ベクトル間の相対距離を小さくし、クエリセットの教師データとサポートセットのネガティブサンプルとの特徴ベクトル間の相対距離を大きくするように、学習ネットワークθのネットワークパラメータを更新する。ポジティブサンプルとは、サポートセットの教師データであってクエリセットの教師データに一致または類似する教師データである。ネガティブサンプルとは、サポートセットの教師データであってクエリセットの教師データに一致および類似しない教師データである。
【0074】
学習部13は、サポートセットから抽出してクエリセットに指定された各一の教師データについて、それぞれ学習処理を繰り返し行う。
【0075】
[全体動作]
図9は、情報処理装置の動作イメージを示す図である。
図9(a)は学習時の動作イメージであり、
図9(b)は分類先推論時の動作イメージである。
【0076】
[学習時の動作]
学習部13は、Forward Propagationにより、例えば式(6)のようにモデル定義したロス関数を用いて、学習ネットワークθのロスEを計算する(ステップS1)。
【0077】
【0078】
学習ネットワークθは、デープニューラルネットワークであり、各ニューロンには、重み変数およびバイアス変数がある。この重み変数およびバイアス変数が、学習ネットワークθのネットワークパラメータである。
【0079】
W
convは、サポートセット側の各畳み込み層L11~L14の重み変数である。B
convは、サポートセット側の各畳み込み層L11~L14のバイアス変数である。W
aは、式(1)のW
aである。V
aは、式(1)のv
a
Tである。W
fcは、スコア付与部(CBA)112内のFully Connect層(
図7参照)の重み変数である。b
fcは、スコア付与部(CBA)112内のFully Connect層(
図7参照)のバイアス変数である。なお、スコア付与部(CBA)112内のFully Connect層は、第1の畳み込み層111から出力された特徴ベクトルに対して当該特徴ベクトルの次元数を削減する層である。
【0080】
Wは、サポートセット側の第1の連結層113の重み変数である。bは、サポートセット側の第1の連結層113のバイアス変数である。W’は、クエリセット側の第2の連結層123の重み変数である。b’は、クエリセット側の第2の連結層123のバイアス変数である。Wfc1は、第1の連結層113内のFully Connect層の重み変数である。Bfc1は、第1の連結層113内のFully Connect層のバイアス変数である。
【0081】
式(6)の変数sは、サポートセットに指定された教師データ(input)に対して畳み込み演算を行うことで抽出された教師データの特徴ベクトルである。変数vは、その変数sに対してアテンションスコアの重み付けを行った値である。式(6)では、各変数vを連結してロスEを計算している。
【0082】
次に、学習部13は、Back Propagationにより、例えば式(7)のようにモデル定義したネットワークパラメータの更新関数を用いて、学習ネットワークθのネットワークパラメータであるWconv,bconv,Wa,Va,Wfc,bfc,W,b,W’,b’,Wfc1,bfc1をそれぞれ更新する。τは、学習率である(ステップS2)。
【0083】
【0084】
なお、式(6)は、ロス関数の例である。学習部13は、他のロス関数を用いてもよい。
【0085】
[分類先推論時の動作]
分類部14は、例えば式(8)のようにソフトマックス(Softmax)関数を用いてモデル定義した分類ラベルベクトルの計算関数を用いて、学習済みの学習ネットワークθでone hot label vectorを計算する。
【0086】
【0087】
なお、式(8)は、分類ラベルベクトルの計算関数の例である。分類部14は、他の計算関数を用いてもよい。
【0088】
[実施形態の効果]
本実施形態によれば、学習ネットワークθは、異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第1のインセプションニューラルネットワークを用いて、サポートセットに指定された異なる複数の教師データの各特徴ベクトルをそれぞれ抽出する第1の抽出部11と、異なるフィルタサイズで畳み込み演算をそれぞれ行う複数の畳み込み層を用いて時系列データの特徴ベクトルを抽出する第2のインセプションニューラルネットワークを用いて、クエリセットに指定された教師データの特徴ベクトルを抽出する第2の抽出部12と、前記複数の教師データの各特徴ベクトルと前記教師データの特徴ベクトルとを用いて、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致または類似するポジティブサンプルとの特徴ベクトル間の相対距離を小さくし、前記クエリセットの教師データと前記サポートセットの教師データであって前記クエリセットの教師データに一致および類似しないネガティブサンプルとの特徴ベクトル間の相対距離を大きくするように、前記学習ネットワークのネットワークパラメータを更新する学習部13と、を備えるので、少数の教師データで精度よく時系列データを分類可能となる。
【0089】
つまり、解析者は、各業界の知識を生かしながら、少数の正解である学習データのサポートセットを作るだけで学習処理の設定を完了できる。特殊な回帰モデルや各モデルのパラメータ設定などの知識は不要である。ニューラルネットワークの構成が共通化されるため、時系列データの入出力の仕方も一義に決められ、分類の作業も簡単になり、各種分類技術に精通していない解析者でも分類解析を簡便に行うことができる。
【0090】
また、本実施形態によれば、前記第2の抽出部12は、前記複数の畳み込み層を並列的に用いて前記クエリセットに指定された一の教師データについて複数の特徴ベクトルを抽出し、前記第1の抽出部11は、前記複数の畳み込み層を並列的に用いて前記サポートセットに指定された一の教師データについて複数の特徴ベクトルを抽出し、前記第1の抽出部が抽出した前記複数の特徴ベクトルと前記第2の抽出部が抽出した前記複数の特徴ベクトルとの類似度に基づく各アテンションスコアをそれぞれ計算し、前記第1の抽出部が抽出した前記複数の特徴ベクトルに対して前記各アテンションスコアをそれぞれ付与するので、時系列データを効率的に分類可能となる。
【0091】
[その他]
本発明は、上記実施形態に限定されない。本発明は、本発明の要旨の範囲内で数々の変形が可能である。
【0092】
上記説明した本実施形態の情報処理装置1は、例えば、
図10に示すように、CPU(Central Processing Unit、プロセッサ)901と、メモリ902と、ストレージ(HDD:Hard Disk Drive、SSD:Solid State Drive)903と、通信装置904と、入力装置905と、出力装置906と、を備えた汎用的なコンピュータシステムを用いて実現できる。メモリ902及びストレージ903は、記憶装置である。当該コンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、情報処理装置1の各機能が実現される。
【0093】
情報処理装置1は、1つのコンピュータで実装されてもよい。情報処理装置1は、複数のコンピュータで実装されてもよい。情報処理装置1は、コンピュータに実装される仮想マシンであってもよい。情報処理装置1用のプログラムは、HDD、SSD、USB(Universal Serial Bus)メモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)などのコンピュータ読取り可能な記録媒体に記憶できる。情報処理装置1用のプログラムは、通信ネットワークを介して配信することもできる。
【符号の説明】
【0094】
1:情報処理装置
11:第1の抽出部
12:第2の抽出部
13:学習部
14:分類部
15:記憶部
111:第1の畳み込み層
112:スコア付与部
113:第1の連結層
121:第2の畳み込み層
123:第2の連結層
901:CPU
902:メモリ
903:ストレージ
904:通信装置
905:入力装置
906:出力装置