(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-13
(45)【発行日】2025-02-21
(54)【発明の名称】統計的機械学習のための時系列データの情報処理技術
(51)【国際特許分類】
G06N 20/00 20190101AFI20250214BHJP
G06F 18/10 20230101ALI20250214BHJP
G06N 3/09 20230101ALI20250214BHJP
G06F 123/02 20230101ALN20250214BHJP
【FI】
G06N20/00
G06F18/10
G06N3/09
G06F123:02
(21)【出願番号】P 2020194716
(22)【出願日】2020-11-24
【審査請求日】2023-09-08
(73)【特許権者】
【識別番号】513190830
【氏名又は名称】Fairy Devices株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100116850
【氏名又は名称】廣瀬 隆行
(74)【代理人】
【識別番号】100165847
【氏名又は名称】関 大祐
(72)【発明者】
【氏名】佐藤 可直
(72)【発明者】
【氏名】高橋 宏知
(72)【発明者】
【氏名】池田 成満
【審査官】新井 則和
(56)【参考文献】
【文献】特開2021-051642(JP,A)
【文献】特開2020-106657(JP,A)
【文献】山本 敏行 外,ニューラルネットを利用した送電線着雪情報判定手法,電気学会論文誌B 第112巻 第7号,1992年07月20日,pp. 585-592
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06F 18/10
G06N 3/09
G06F 123/02
(57)【特許請求の範囲】
【請求項1】
時系列データの特徴量を抽出する第1の学習層と、
前記第1の学習層の中で抽出される時系列データの特徴量系列を複数のブロックに分割する分割部、及び、前記複数のブロックの時系列順序を少なくとも部分的に
ランダムに並び替えるシャッフル部を含むシャッフル層と、
前記並び替えにより得られた特徴量系列データについて統計的機械学習を行う第2の学習層を備える
情報処理装置。
【請求項2】
前記分割部は、さらに、前記時系列データの特徴量系列を複数の前記ブロックを包含する複数の上位ブロックに区分し、
前記シャッフル部は、前記上位ブロック内における前記ブロックの時系列順序を並び替えるか、又は、前記上位ブロックの時系列順序を並び替える
請求項1に記載の情報処理装置。
【請求項3】
前記シャッフル部は、前記上位ブロック内における前記ブロックの時系列順序を保持しながら、前記上位ブロックの時系列順序を少なくとも部分的に並び替える
請求項2に記載の情報処理装置。
【請求項4】
前記シャッフル部は、前記上位ブロックの時系列順序を保持しながら、前記上位ブロック内の前記ブロックの時系列順序を少なくとも部分的に並び替える
請求項2に記載の情報処理装置。
【請求項5】
前記シャッフル部は、所定の確率分布に基づいて、あるブロックの並び替えの当否と、当該あるブロックと入れ替える他のブロックとを決定する
請求項1に記載の情報処理装置。
【請求項6】
前記分割部は、前記時系列データの特徴量系列を含む前記複数のブロックを階層化し、
前記シャッフル部は、階層ごとに、前記ブロックの時系列順序の並び替えを行うか否か、又は並び替えの方式が定められている
請求項1に記載の情報処理装置。
【請求項7】
前記シャッフル層は、前記並び替えにより得られた特徴量系列データとともに、特徴量の時系列順序の並
び替えが行われていない元の時系列データを前記第2の学習層へ出力するか、又は、前記特徴量系列データと前記元の時系列データを合流させた上で前記第2の学習層へ出力する
請求項1に記載の情報処理装置。
【請求項8】
コンピュータを請求項1に記載の情報処理
装置として機能させるためのプログラム。
【請求項9】
第1の学習層が、時系列データの特徴量を抽出する第1の学習工程と、
シャッフル層に含まれる分割部が、前記第1の学習工程中に抽出される時系列データの特徴量系列を複数のブロックに分割する工程と、
前記シャッフル層に含まれるシャッフル部が、前記複数のブロックの時系列順序を少なくとも部分的に
ランダムに並び替える工程と、
第2の学習層が、前記並び替えにより得られた特徴量系列データについて統計的機械学習を行う第2の学習工程を含む
コンピュータによる情報処理方法。
【請求項10】
第1の学習層が、時系列データの特徴量を抽出する第1の学習工程と、
シャッフル層に含まれる分割部が、前記第1の学習工程中に抽出される時系列データの特徴量系列を複数のブロックに分割する工程と、
前記シャッフル層に含まれるシャッフル部が、前記複数のブロックの時系列順序を少なくとも部分的に
ランダムに並び替える工程
と、
第2の学習層が、前記並び替えにより得られた特徴量系列データについて統計的機械学習を行う第2の学習工程を含む
コンピュータによる学習済みモデルの生産方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、統計的機械学習に適した時系列データの情報処理技術に関する。具体的には、本発明は、時系列データを処理するための情報処理装置、コンピュータプログラム、及び情報処理方法に関する。また、本発明は、統計的機械学習用の特徴量系列データの生産方法に関する。さらに、本発明は、時系列データの処理層を含むニューラルネットワーク構造に関する。
【背景技術】
【0002】
統計的機械学習で時系列データを扱う際には、注目している現象を分析するための特有の時間解像度(すなわち現象の物理量やその変化を捉える時間間隔)が重要となる。例えば、あるクラス分類問題においては短い時間におけるに変動が重要な役割を果たす一方で、ある回帰問題においては長い時間の変動が重要な役割を果たす。
【0003】
時系列データを処理するための手法は、典型的には以下のよう構造を持つ。まず、時系列データを複数の短いブロックに分割し、移動平均、短時間フーリエ変換、ドメイン知識に基づく特徴量抽出、ニューラルネットワークなどによって、そのブロックの中で特徴量を抽出する。なお、ここでのブロックは、所望の特徴量を抽出できる程度の時間解像度を持つものとされる。次に、ブロック単位の特徴量列について統計量を計算する手法により処理したり、あるいは時系列データを扱う統計的手法(リカレントニューラルネットワーク、隠れマルコフモデルなど)により処理する。例えば、前者に関して、特許文献1には、時系列データの周波数を所定の周波数幅毎にブロック化して、ブロック化された周波数に基づいた特徴量を抽出する技術が開示されている。また、後者に関して、例えば、特許文献2には、時系列で入力された情報をニューラルネットワークを用いて認識する技術が開示されている。しかしながら、このような従来手法において、特徴量系列の順番は、完全に無視されて統計量に帰着されるか、あるいは完全に保持されたまま扱われるかのいずれかである。
【先行技術文献】
【特許文献】
【0004】
【文献】国際公開WO2015/071925号パンフレット
【文献】特開2019-159654号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、時系列データを所定のブロックに分割した上でブロック単位の特徴量列について統計量を計算する手法では、ブロック単位での変動を考慮することはできないという問題がある。また、この手法では、平均や分散など少数の統計量に情報を帰着させるため、単純な情報しか取り扱うことができないという問題もある。さらに、統計量の信頼性を担保するために学習時にも推論時も長い系列データが必要となる。
【0006】
また、時系列データの処理にリカレントニューラルネットワーク等の統計的手法を利用する場合、ターゲットとしている機械学習のタスクにとって不要な時間スケールにおける変動パターンも保持されることになり、対象となる時系列データの中から事前に必要な情報のみを取り出すことが困難である。さらに、時系列データでは、本質的な情報が時間的に局在していることも考えられるが、統計的手法によって時系列データを時間軸に沿って逐次的に処理していく際に、しばしば情報を蓄積できず本質的な情報が失われてしまうことがある。したがって、情報処理の効率が非常に低くなって精度が低くなるか、あるいは高い精度を達成するために学習時に膨大な量のデータと計算が必要となる。
【0007】
そこで、本発明は、データ量の少ない時系列データであっても、少ない計算量あるいは軽量な統計的機械学習モデルによって効率的に処理できるようにすることを主たる目的とする。
【課題を解決するための手段】
【0008】
本発明の発明者らは、上記の従来技術が抱える問題を解決する手段について鋭意検討した結果、処理対象となる時系列データを、特徴量が失われない時間解像度で複数のブロックに分割した上で、各ブロックの時系列順序を並び替えてから統計的機械学習モデルへと出力することとした。すなわち、時系列データは、しばしば、着目している現象あるいは機械学習のタスクにとって特有の時間解像度において、本質的な情報が局在あるいは偏在している。また、時系列データに不要な情報が大量に埋め込まれていることもある。このため、時系列データを処理する際には、どの経時的範囲から情報を抽出するのかが大きな課題となる。本発明では、この課題の解決策として、あえて、時系列データの経時的順序を並び替える方法を提案する。適切に並び替えられた時系列データは、不要な時間解像度の情報が除去され、注目している現象にとって本質的な時間解像度の情報のみが保持されることになる。また、時系列データの並び替えを行うことで、時間あたりの本質的な情報の量が均質化される。また、本質的な情報が保持される限りにおいて、さまざまな並び替えの方法が同等の効果を持つため、複数の並び替えの手法を実行することにより、実質的なデータ数を増やすこと、すなわちデータの拡張が可能である。従って、このような手法を利用することにより、リカレント構造を持つニューラルネットワークなど、時系列データを扱う統計的機械学習の手法を用いて、時系列データを効率的に処理することが可能となる。具体的に説明すると、本発明は以下の構成又は工程を有する。
【0009】
本発明の第1の側面は、時系列データの情報処理を高精度かつ効率的に実行するための情報処理装置に関する。「時系列データ」とは、ある現象の物理量又はその変化量を経時的に連続する値によって表した情報である。本発明で扱う「時系列データ」の代表例は、音データである。音データは、音声、音楽、環境音などの人間の可聴域にある周波数の音であることが好ましいが、その他の超音波や低周波などの非可聴域の音であってもよい。また、本発明で扱うことのできる時系列データは音データに限られず、例えば動画データ、静止画データ、文字列データ、売上データ、株価データ、気象データなどの様々な時系列データを扱うことができる。
【0010】
本発明に係る情報処理装置は、分割部、シャッフル部、及び出力部を備える。
【0011】
分割部は、時系列データを特徴量を含む複数のブロックに分割する。例えば、音データに関しては、一定の時間間隔ごとにブロックに分割してもよいし、音データから音素や単語などの特徴量を抽出してからブロックに分割してもよい。また、動画データに関しては、例えば所定のフレーム数ごとにブロックに分割することができる。また、静止画データに関しては、例えば空間方向を時間方向として捉えて、局所的なピクセルあるいは水平ラインごとにブロックに分割することができる。また、文字列データに関しては、文字列方向を時間方向として捉えて、文字単位、単語単位、あるいは発話単位ごとにブロックに分割することができる。その他の時系列データに関しては、秒単位、分単位、時間単位、日単位、月単位、年単位などのブロックに分割することが可能である。
【0012】
シャッフル部は、分割部によって得られた複数のブロックの時系列順序を少なくとも部分的に並び替える。並び替え処理としては、典型的に、ある対象(ブロック等)と別の対象の順序を入れ替える処理と、ある対象を別の順位に挿し込む処理が挙げられる。シャッフル部による並び替え処理に関しては、様々な態様が考えられるが、その例についての詳細は後述する。
【0013】
出力部は、並び替えにより得られた特徴量系列データを統計的機械学習モデルへ出力する。統計的機械学習モデルは、特に限定されることなく公知のモデルを採用することができる。例えば、統計的機械学習モデルは、深層学習モデルのように教師あり学習するもの、リザバー計算モデルのように教師なし学習あるいは学習自体しないものなど、その構造や学習手法は問わない。また、統計的機械学習モデルという用語には、学習フェーズにおけるモデル(すなわち学習前のもの)と、推論フェーズにおけるモデル(すなわち学習済みのもの)の両方が含まれる。なお、本願明細書においては、基本的に、並び替え処理が行われる前のデータを「時系列データ」、並び替え処理が行われた後のデータを「特徴量系列データ」と称している。
【0014】
本発明に係る情報処理装置において、分割部は、さらに、時系列データを複数のブロックを包含する複数の上位ブロックに区分することとしてもよい。上位ブロックに内包されるブロックの数は任意であるが、例えば2~10程度とすればよい。この場合に、シャッフル部は、上位ブロック内における複数のブロックの時系列順序を並び替えるか、又は、上位ブロックの時系列順序を並び替えることができる。
【0015】
より具体的には、シャッフル部は、上位ブロック内におけるブロックの時系列順序を保持しながら、上位ブロックの時系列順序を少なくとも部分的に並び替えることができる(LONG-TERM SHUFFLE)。また、シャッフル部は、上位ブロックの時系列順序を保持しながら、上位ブロック内のブロックの時系列順序を少なくとも部分的に並び替えることができる(SHORT-TERM SHUFFLE)。これらの並び替え手法のいずれを採用するかについては、時系列データの性質や、着目している現象、機械学習のタスクを考慮して適切な手法を選択すればよい。
【0016】
本発明に係る情報処理装置において、シャッフル部は、所定の確率分布に基づいて、あるブロックの並び替えの当否と、当該あるブロックと入れ替える他のブロックとを決定することとしてもよい(PROBABILISTIC SHUFFLE)。この場合、複数のブロックを上位ブロックに区分することは必須とされない。確率分布は、正規分布のような連続確率分布であってもよいし、二項分布や幾何分布のような離散確率分布であってもよい。
【0017】
本発明に係る情報処理装置において、分割部は、時系列データに含まれる複数のブロックを階層化することとしてもよい。例えば、所定数のブロックを第1上位ブロックにまとめるとともに、所定数の第1上位ブロックを第2上位ブロックにまとめるといったように、時系列データの階層化を行う。そして、シャッフル部は、階層ごとに、ブロックの時系列順序の並び替えを行うか否か、又は並び替えの方式(LONG-TERM SHUFFLE、SHORT-TERM SHUFFLE、PROBABILISTIC SHUFFLEなど)が定められている。具体的には、階層ごとに並び替え処理を行うか否かを決定することができる。また、階層ごとに異なる並び替え方式を実行することとしてもよいし、場合によっては同じ並び替え方式を実行することとしてもよい。
【0018】
本発明に係る情報処理装置において、出力部は、並び替えにより得られた特徴量系列データとともに、特徴量の時系列順序の並べ替えが行われていない元の時系列データを統計的機械学習モデルへ出力してもよい。また、出力部は、並び替えにより得られた特徴量系列データと元の時系列データを合流させた上で統計的機械学習モデルへ出力することとしてもよい。これにより、ある時間解像度の情報を保持する場合とランダム化する場合の両方を並列に扱うことが可能となる。分岐したパスをどの段階で合流させるかについては、さまざまな選択肢がある。例えば、分岐したパスの情報を合流させてから、単一の時系列データを扱う機械学習モデルへ出力することとしてもよい。また、機械学習モデルへ情報を出力する段階では、分岐したパスごとに独立に情報を受け渡すこととしてもよい。なお、機械学習モデルの内部において情報を合流させることもできる。また、分岐したパスごとに機械学習モデルを準備しておき、それぞれの機械学習モデルに対して情報を出力する。この場合、機械学習モデルの最終段階で情報を合流させることもできる。
【0019】
本発明の第2の側面は、時系列データを処理するためのコンピュータプログラムに関する。本発明に係るプログラムは、汎用的なコンピュータを、前述した第1の側面に係る情報処理(すなわち、分割部、シャッフル部、及び出力部を備える情報処理装置)として機能させる。本発明に係るプログラムは、CD-ROM等の記録媒体に記録されたものであってもよいし、インターネット等の情報通信回線を通じてダウンロード可能なものであってもよい。
【0020】
本発明の第3の側面は、コンピュータによる情報処理方法に関する。本発明に係る情報処理方法では、コンピュータが、分割工程、並び替え工程、及び出力工程を実行する。分割工程は、時系列データを特徴量を含む複数のブロックに分割する工程である。並び替え工程は、複数のブロックの時系列順序を少なくとも部分的に並び替える工程である。出力工程は、並び替えにより得られた特徴量系列データを統計的機械学習モデルへ出力する工程である。
【0021】
本発明の第4の側面は、コンピュータによる統計的機械学習用の特徴量系列データの生産方法に関する。本発明に係る特徴量系列データの生産方法では、コンピュータが、分割工程と並び替え工程を実行する。分割工程は、時系列データを特徴量を含む複数のブロックに分割する工程である。並び替え工程は、複数のブロックの時系列順序を少なくとも部分的に並び替える工程である。この並び替え工程において得られた特徴量系列データは、例えば統計的機械学習モデルの学習時において教師データとして利用される。
【0022】
本発明の第5の側面は、ニューラルネットワーク構造に関する。本発明に係るニューラルネットワーク構造は、シャッフル層と学習層を少なくとも含む。シャッフル層は、時系列データを特徴量を含む複数のブロックに分割し、複数のブロックの時系列順序を少なくとも部分的に並び替えて、特徴量系列データを得る。学習層は、シャッフル層で得られた特徴量系列データに基づいて統計的機械学習を行う。このニューラルネットワーク構造において、シャッフル層による並び替え処理は、時系列データを利用した学習時だけでなく、時系列データのパターン解析などのテスト時(推論時)にも実行することができる。
【発明の効果】
【0023】
上記構成のように、本発明に係る情報処理装置では、対象となる時系列データに関して、ある着目する時間スケールの変動パターンは保持しつつ、その他の時間スケールにおいて順序がランダム化されている。これにより、具体的には以下に説明する[1]~[3]のような効果をもたらす。これらの効果により、本発明によれば、データ量の少ない時系列データであっても、少ない計算量あるいは軽量な統計的機械学習モデルによって効率的に処理できるようになる。
【0024】
[1]情報選択の効率化
本発明では、並び替え処理により、着目していない時間スケールにおける時系列パターンに関する情報が特徴量列から除外される。これにより、時系列パターンを扱う後段の統計的学習モデルにおいて、余計な情報を取り除く必要がなくなる。したがって、軽量なモデル・少ない計算量・少ないデータ量でも効率的に時系列データを処理できるようになる。
【0025】
[2]情報量の均質化
時系列データは、ターゲットとする機械学習のタスクのために有用な情報が時間方向に均質に存在するとは限らない。この点、本発明では、並び替え処理により、有用な情報の時間方向における分布が均質化される。このため、時系列パターンを扱う統計的学習モデルが、時系列データを逐次的に扱う際に、長い時間情報を保持し続ける必要がなくなる。したがって、軽量なモデル・少ない計算量・少ないデータ量でも効率的に時系列データを処理できるようになる。
【0026】
[3]データ拡張
時系列データを構成するブロックの順番の並び替え方はランダムである。このため、元々は同じ時系列データであっても、異なる方法で並び替え処理を行うことで、異なる特徴量系列データを出力できる。これにより、元の時系列データから統計的機械学習モデルの学習に有用な特徴量系列データを大量に生成することができる。すなわち、データ拡張が可能である。したがって、少量の時系列データしか準備できない場合でも、効率的に時系列データを扱うモデルの学習が行えるようになる。
【図面の簡単な説明】
【0027】
【
図1】
図1は、情報処理装置の機能構成の一例を示したブロック図である。
【
図2】
図2は、時系列データを複数のブロックに分割する処理を模式的に示している。
【
図3】
図3は、上位ブロックの並び替え処理(LONG-TERM SHUFFLE)を模式的に示している。
【
図4】
図4は、上位ブロック内のブロックの並び替え処理(SHORT-TERM SHUFFLE)を模式的に示している。
【
図5】
図5は、並び替え処理の応用例を示している。
【
図6】
図6は、時系列データのブロックの階層化を模式的に示している。
【
図7】
図7は、確率分布による並び替え処理(PROBABILISTIC SHUFFLE)を模式的に示している。
【
図8】
図8は、並び替え処理の一例を模式的に示している。
【
図9】
図9は、元の順序を保った時系列データと並び替えた特徴量系列データに処理系列を分岐させる場合の機能構成例を示したブロック図である。
【
図10】
図19は、ニューラルネットワーク構造の一例を示したブロック図である。
【
図11】
図11は、パス分岐を含むニューラルネットワーク構造の一例を示したブロック図である。
【発明を実施するための形態】
【0028】
以下、図面を用いて本発明を実施するための形態について説明する。本発明は、以下に説明する形態に限定されるものではなく、以下の形態から当業者が自明な範囲で適宜変更したものも含む。
【0029】
図1は、本発明の一実施形態に係る情報処理装置10の機能ブロックを示している。情報処理装置10は、汎用的なコンピュータによって構成されたものであり、入力装置を介して入力された情報を、ストレージやメモリ等の記憶装置に記憶されている所定のコンピュータプログラムに従って、プロセッサ等の制御演算装置によって演算し、その演算結果を出力装置を介して出力する。
図1に示されるように、情報処理装置10は、機能ブロックとして、入力部11、前処理部12、特徴抽出部13、分割部14、シャッフル部15、出力部16、統計的機械学習モデル17、及び学習済みモデル18を含む。これらの機能ブロック11~18は、前述した入力装置、記憶装置、制御演算装置、及び出力装置などのハードウェアによって実現される。
【0030】
本実施形態に係る情報処理装置10は、時系列データの処理をして、学習、推論、又は識別が可能なニューラルネットワーク系情報処理装置に関する。時系列データとしては、例えば、音(音声や音楽等)、文章、動画、静止画等を扱うことができる。以下に説明する実施形態においては、時系列データの例として主に音データを処理することを想定している。
【0031】
入力部11は、処理対象となる時系列データの入力を受け付ける。入力部11は、情報処理装置10の内部ストレージや外部記憶媒体に記憶されている時系列データを読み出すこととしてもよいし、インターネット等の通信回線を介して時系列データを受け取ることとしてもよい。また、入力部11は、マイクロフォン等の集音装置から時系列データとしての音データの入力を受け付けることとしてもよい。
【0032】
前処理部12は、時系列データの種類や、着目している現象あるいはその物理量に応じて所定の前処理を行う。例えば、入力された時系列データが音データ(音響信号)である場合、前処理部12は、音データの増幅や、音声成分の抽出・分離、ノイズの除去、所定周波数のフィルタリングなどの任意の処理を行うことができる。
【0033】
特徴抽出部13は、時系列データから、学習、推論、あるいは識別用の特徴量を抽出する。時系列データが音データである場合、特徴抽出部13は音データから音の特徴量を抽出する。特徴抽出部13の例は、ディープニューラルネットワーク(DNN)である。DNNは、入力層、畳み込み層、プーリング層、全結合層、及び出力層を有する畳み込みニューラルネットワーク(CNN)であってもよいし、入力層、隠れ層、及び出力層を有し隠れ層の値を再帰させるリカレントニューラルネットワーク(RNN)であってもよい。その他、長時間前のデータが関連付けて記録されるデータ貯蔵部を有するLSTM(Long Short-Term Memory)など、公知のニューラルネットワーク構造を採用することも可能である。
【0034】
分割部14は、時系列データを時間軸方向に複数のブロックに分割する。分割部14は、各ブロックが、特徴抽出部13で抽出した特徴量が失われない程度の時間長を持つように分割を行う。各ブロックの時間長は、着目する現象や物理量に応じて任意に設定できる。例えば、音データの音素に着目している場合には、ブロックを音素に対応する長さとすればよく、また単音あるいは単語に着目している場合には、ブロックをそれぞれに対応する長さとすればよい。
図2(a)及び(b)では、時系列データを特徴量を持つ複数のブロックに分割する処理を模式的に表している。
【0035】
シャッフル部15は、時系列データを構成するブロックの時系列順序の並び替えを行う。並び替え処理は、典型的には、
図2(c1)に示すようにある対象(ブロック等)と別の対象の順序を入れ替える処理(Swap)と、
図2(c2)に示すようにある対象を別の順位に挿し込む処理(Insertion)が挙げられる。入れ替え処理の場合、対象となった2つのブロックの順序のみが入れ替わり、他のブロックについては順序は変わらない。入れ替え処理を行う場合、ある対象(ブロック等)について2回以上入れ替えを行うこととしてもよいし、すでに入れ替えが行われた対象を記憶しておき同じ対象について2回以上入れ替えが行われないようにしてもよい。他方で、挿し込み処理の場合、処理の対象となったブロック以外のブロックについても、時系列の順位が変動することとなる。挿し込み処理の場合も同様に、ある対象(ブロック等)について2回以上別の順位への挿し込みが行われることとしてもよいし、すでに挿し込みが行われた対象を記憶しておき同じ対象について2回以上挿し込みが行われないようにしてもよい。
【0036】
続いて、
図3から
図7を参照して、シャッフル部15による並び替え処理の様々な方式についてさらに詳しく説明する。
【0037】
図3は、複数のブロックを含む複数の上位ブロックを画定し、上位ブロックの並び替えを行う処理(LONG-TERM SHUFFLE)を示している。
図3(a)に示されるように、まず、分割部14は、各ブロックの時系列順序を保持したまま、複数のブロックをひとまとまりとする上位ブロックを画定する。各上位ブロック内において、複数のブロックの順序は元の時系列データのままである。
図3に示した例では、1つの上位ブロックの中に5つのブロックが包含される。上位ブロック内のブロックの数は、任意に設定することができ、例えば2~10の範囲とすればよい。
【0038】
次に、シャッフル部15は、上位ブロック内のブロックの順序を保持したまま、上位ブロックの順序を並び替える。シャッフル部15は、
図3(b1)に示すように、2つの上位ブロックを特定して、これら2つの上位ブロックの順序を入れ替えることとしてもよい。また、シャッフル部15は、
図3(b1)に示すように、1つの上位ブロックを特定して、特定した上位ブロックの順位を別の順位に挿し込むこととしてもよい。このような並び替え処理を、時系列データを構成する複数の上位ブロックに対して実行する。
【0039】
このような上位ブロックの並び替えは、短い時間スケール(上位ブロック内)では変動パターンを保持しつつ、長い時間スケールでは変動パターンをランダム化することを意味する。従って、この並び替え方式は、着目する時間スケールの変動パターンが短い時間スケール(上位ブロック内)である場合に有効である。着目していない長い時間スケールにおける時系列パターンに関する情報は、ランダム化されて特徴量列から除外されることとなる。
【0040】
図4は、複数のブロックを含む複数の上位ブロックを画定し、上位ブロック内のブロックの並び替えを行う処理(SHORT-TERM SHUFFLE)を示している。
図4(a)に示されるように、まず、分割部14は、各ブロックの時系列順序を保持したまま、複数のブロックをひとまとまりとする上位ブロックを画定する。ここまでは、
図3の処理と同様である。
【0041】
次に、シャッフル部15は、上位ブロック同士の順序を保持したまま、上位ブロック内のブロックの順序を並び替える。シャッフル部15は、
図4(b1)に示すように、ある上位ブロック内において2つのブロックを特定して、これら2つのブロックの順序を入れ替えることとしてもよい。また、シャッフル部15は、
図4(b1)に示すように、ある上位ブロック内において1つのブロックを特定して、特定したブロックの順位を同じブロック内の別の順位に挿し込むこととしてもよい。このような並び替え処理を、時系列データを構成する上位ブロックごとに実行する。
【0042】
このような上位ブロック内におけるブロックの並び替えは、長い時間スケールでは変動パターンを保持しつつ、短い時間スケール(上位ブロック内)では変動パターンをランダム化することを意味する。従って、この並び替え方式は、着目する時間スケールの変動パターンが長い時間スケールである場合に有効である。着目していない短い時間スケール(上位ブロック内)における時系列パターンに関する情報は、ランダム化されて特徴量列から除外されることとなる。
【0043】
図5は、
図3及び
図4に示した並び替え処理の変化例を示している。
図5(a)に示すように、上位ブロック内に包含されるブロックの数は、上位ブロックごとに異なっていてもよい。例えば、上位ブロック内の包含するブロックの数を、2~10の範囲からランダムに定めることとしてもよい。また、
図5(b)に示すように、ある時系列データに対して、上位ブロックの並び替えを行う処理(LONG-TERM SHUFFLE)と上位ブロック内のブロックの並び替えを行う処理(SHORT-TERM SHUFFLE)の両方を組み合わせて適用することも可能である。また、その際に、2つの対象(ブロック又は上位ブロック)の順序の入れ替える処理(Swap)と、ある対象を別の順位へ挿し込む処理(Insertion)を組み合わせて適用することとしてもよい。
【0044】
図6は、ブロックの階層化の例を示している。
図6(a)に示されるように、まず、分割部14は、各ブロックの時系列順序を保持したまま、複数のブロックをひとまとまりとする第1上位ブロックを画定する。さらに、分割部14は、複数の第1上位ブロックをひとまとまりとする第2上位ブロックを確定する。第1上位ブロックに包含されるブロック数と、第2上位ブロックに包含される第1上位ブロックの数は、それぞれ任意に設定することができる。
図6に示した例では、少なくとも2つの第2上位ブロックが形成されている。このため、時系列データは、少なくとも2つの階層に分かれていると捉えることができる。このように、第2上位ブロックは、階層の境界を形成するためのブロックであり、階層ごと(第2上位ブロックごと)に、並び替え処理の適否あるいは並び替え処理の方式が決定される。なお、階層(第2上位ブロック)は、時系列パターンの長さが許す限りにおいて任意の数まで増やすことが可能である。
【0045】
例えば、シャッフル部15は、
図6(b1)に示されるように、ある第2上位ブロック内においては第1上位ブロックの並び替えを行い、別の第2上位ブロック内においては第1上位ブロックの順序を保持したまま第1上位ブロック内のブロック並べ替えを行うことができる。また、
図6(b1)の例では、2つの第2上位ブロック内において第1上位ブロックの順序を保持したまま第1上位ブロック内のブロック並べ替えを行うこととしているが、並び替えの手法が入れ替え(Swap)と挿し込み(Insertion)とで異なっている。このように、階層(第2上位ブロック)ごとに並び替え処理の方式を変化させることができる。また、図示は省略しているが、階層ごとに並べ替えを処理を行うか、あるいは行わないかを決めることもできる。
【0046】
このように、階層(第2上位ブロック)を形成するとともに、各階層の順序を保つことにより、階層間での整合性が保たれる。このような階層構造を導入することにより、時間解像度ごとに、時系列パターンの情報をランダム化するか否かを選択することや、ランダム化の方式を選択することが可能となる。
【0047】
図7は、上位ブロックを形成せずに、各ブロックの並び替えを確率分布に基づいて行う方式(PROBABILISTIC SHUFFLE)を示している。
図7に示した例では、正規分布を採用している。シャッフル部15は、まず各ブロックについて並び替えの対象とするか否かを判断する。具体的に説明すると、「09」のブロックが対象として選択されている場合に、0.5の確率でこの「09」のブロックが並び替えの対象として決定される。なお、この確率は任意に設定することができる。次に、この並び替えの対象となった「09」のブロックを中心とし、0.5を頂点とする正規分布を設定する。次に、「09」のブロックと順序の入れ替え(Swap)の対象となる他のブロックを決定する。この他のブロックは、前述のように設定された正規分布の確率に従って決定される。これにより、「09」のブロックは、これに近いブロックとの入れ替えの確率が高く、遠いブロックほど入れ替えの確率が低いものとなる。なお、図示した例では、確率分布として、正規分布を挙げているが、その他の連続確率分布であってもよいし、二項分布や幾何分布のような離散確率分布であってもよい。また、図示した例では、確率分布に基づいてあるブロックと入れ替える別のブロックを決定することとしているが、確率分布に基づいてあるブロックを挿し込む順位を決定することとしてもよい(Insertion)。
【0048】
ここまで、並び替え処理の様々な方式について説明した。ここで、シャッフル部15は、前述した並び替え処理の方式のいずれを採用するかによらず、
図8(a)に示すように、データを処理する度にランダムに並び替え処理を実行することとしてもよい。具体的には、
図8(a)に示したように、シャッフル部15に入力される時系列データが同じデータであっても、異なるデータであっても、1回目、2回目、3回目・・・において並び替え後のブロックの順序がランダムに変化するようにすることが可能である。
【0049】
他方で、計算効率やプログラムの実装の効率性を考慮して、ある一定の時系列データ(例えばDNNの学習におけるミニバッチなど)に対しては、シャッフル部15は、並び替え後の順序が毎回同じになるように並び替え処理を実行することも可能である。この場合には、異なる時系列データの間では異なる並び替えが実行されることになる。
【0050】
また、
図8(b)に示したように、時系列データを複数の上位ブロックに分けたうえで、各上位ブロック内でブロックの並び替えを行う処理(SHORT-TERM SHUFFLE)を実行する場合、上位ブロックごとに並び替え後のブロックの順序が異なるように、当該並び替え処理を実行することも当然に可能である。また、上位ブロックごとに、並び替え処理の方式を変えることもできる。
【0051】
図3や
図4に示した方式のように上位ブロックを形成する場合、上位ブロック境界をハードに決定する必要がある。これに対して、
図6に示したように確率分布を利用する方式では、上位ブロック境界は設けずに、確率的に並び替えを制御することができる。確率分布は、典型的な時間差と統計的なばらつきをパラメータで制御できるものであることが好ましく、特に正規分布が好ましい。
【0052】
図1に戻り情報処理装置10の機能ブロックの説明を続けると、出力部16は、シャッフル部15によって時系列順序の並び替えを行うことによって得られた特徴量系列データを、後段の統計的機械学習モデル17へ出力する。出力部16は、特徴量系列データを記憶装置に記憶させることもできる。
【0053】
統計的機械学習モデル17は、時系列データを扱うのに適した機械学習モデルである。このようなモデルとしては、特に限定されないが、例えば畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク(RNN)、LSTM(Long Short-Term Memory)、及び隠れマルコフモデルが挙げられる。
【0054】
また、統計的機械学習モデル17としては、リザバー計算(Reservoir Computing)モデルを利用することもできる。リザバー計算モデルは、入力層、リザバー層(隠れ層)、出力層の3層で構成されているRNNの一種であるが、入力層とリザバー層間、リサバー層内のエッジにおける結合荷重は初期値のまま変更することはなく、リザバー層と出力層と結合するエッジにおいてのみ結合荷重を調整して学習するという点に特徴がある。リザバー層は、ノードが規則性なくエッジで結合されており、入力されてきた情報を教師なし学習で学習しつつ、その学習された情報を蓄積していく機能を有している。また、リザバー計算の範疇に属するアルゴリズムには、ESN(Echo State Network)及びLSM(Liquid State Machine)等があり、いずれも演算に掛かる負担が少なく、時系列データを扱うことができ、RNN等と遜色ない学習結果を得ることができる。ESNのリザバー層は、非線型関数ニューロンモデルで表現されたニューロンの再帰的ネットワークで構成されている。ニューロン間連結の仕方と重みはランダムに決められるものの、過去の情報を持つニューロンの状態により、時系列データが学習される。
【0055】
統計的機械学習モデル17の学習結果は、学習済みモデル18として保存される。この学習結果は、時系列データのパターンの推論や識別に利用される。
【0056】
次に、
図9を参照して、元の順序を保った時系列データと並び替えを行った特徴量系列データの処理系列を分岐させる構造について説明する。この方法により、ある時間解像度の情報を保持する場合とランダム化する場合の両方を並列に扱うことが可能となる。
【0057】
図9(a)に示した構造では、時系列データの処理系列が、特徴抽出部13によって特徴量を抽出した後、分割部14及びシャッフル部15で処理されてから出力部16へ至る第1のパスと、これらの機能ブロック14,15を経由せずに出力部16へと至る第2のパスとに分岐している。第1のパスでは、分割及び並び替えの処理が行われた特徴量系列データが、第1出力部16aによって統計的機械学習モデル17へ出力される。他方で、第2のパスでは、元の順序を保った時系列データが、そのまま第2出力部16bによって統計的機械学習モデル17へ出力される。その後、これらの特徴量系列データと元の時系列データは、統計的機械学習モデル17の内部において情報が統合されることとなる。
【0058】
図9(a)に示した構造の変形例として、図示は省略するが、第1のパスと第2のパスのそれぞれについて別の統計的機械学習モデル17を用意して、第1出力部16aと第2出力部16bとがそれぞれ別の統計的機械学習モデル17に対してデータを出力するように構成することも可能である。この場合、機械学習モデルの最終段階で情報を統合させればよい。
【0059】
他方で、
図9(b)に示した構造では、第1のパスで分割及び並び替えの処理が行われた特徴量系列データと、第2のパスで元の順序を保ったままの時系列データとが、統計的機械学習モデル17に出力される前段階において、出力部18が備える統合部16cにより統合される。このように、分岐したパスの情報を合流させてから、単一の時系列データを扱う統計的機械学習モデル17へ出力することもできる。
【0060】
また、
図6に示すように時間解像度に階層構造を導入して時系列データを階層化した上で、各階層において、第1のパス(分割及び並び替えを行う処理系列)と第2のパス(元の順序を保ったままとする処理系列)を分岐させることも可能である。これにより異なる時間解像度における元の時系列情報とランダム化された時系列情報を一度に扱うことが可能である。これらの拡張により、典型的な時間解像度が事前に分からない場合や、複数の時間解像度の間で相関あるいは依存関係がある場合など、複雑な時系列パターンにも対応することが可能となる。なお、どの解像度が重要かを決定したり、どのように異なる解像度の情報の組み合わせることが有効であるかを判断するのは、統計的機械学習モデル17が行うことになる。
【0061】
続いて、
図10を参照して、前述した時系列データの特徴列の並び替え処理を、ニューラルネットワークの層に応用した実施形態について説明する。
図10に示したニューラルネットワーク構造20は、第1の学習層21と第2の学習層23の間にシャッフル層22を備える。シャッフル層22は、分割部22a及びシャッフル部22bを含む。第1の学習層21は、基本的に、時系列データの特徴量を抽出する機能を担うものであり、
図1に示した特徴抽出部13と同等の機能を有する。このため、第1の学習層21には、任意のニューラルネットワーク(適切な入出力データの構造を持つもの)を使用することができる。また、シャッフル層22に含まれる分割部22a及びシャッフル部22bは、基本的に、
図1に示し分割部14及びシャッフル部15と同等の機能を有する。分割部及びシャッフル部による並び替え処理については、前述したとおりである。また、第2の学習層23は、基本的に、
図1に示した統計的機械学習モデル17に相当する。このため、第2の学習層23には、リカレント構造あるいは注意機構を含むニューラルネットワーク(適切な入出力データの構造を持つもの)を使用することができる。
【0062】
また、
図11は、
図10の応用例として、パスの分岐を持つニューラルネットワーク構造30を示している。
図11に示した例において、あるパスでは、第1の学習層31において時系列データの特徴量抽出を行い、第1のシャッフル層32において時系列データの並び替え処理を行い、第2の学習層33において並び替え後の特徴量系列データに基づいた機械学習が実行される。また別のパスでは、第1の学習層31において時系列データの特徴量抽出が行われた後、第3の学習層34において元の時系列データの機械学習が実行され、その第2のシャッフル層35において第3の学習層34から出力されたデータに対して並び替え処理を行う。2つのパスにて別々に処理された各データは、最終的には統合層36において統合される。
【0063】
上述の階層構造及びパス分岐を合わせて考えると、ニューラルネットワーク構造全体としては、次のような構造上の特性を持つことになる。すなわち、時系列データを入力とする。また、時間解像度に対応する階層構造を持つことができる。また、各階層において、時系列の並び替え処理を行うシャッフル層を使用してもよい。また、 各階層において、時間並び替え層を使う系統と使わない系統にパスを分岐させてもよい。また、対象とする機械学習のタスクに応じた出力層を持つことができる。その他、上記以外の構造は任意に設計できる。
【0064】
また、本発明に係るニューラルネットワーク構造では、深層学習のように誤差逆伝播法などによって教師あり学習させてもよいし、リザバー計算のように教師なし学習させたり、あるいはランダム初期値に固定してもよい。また、学習層ごとに、異なる学習方法を採用することもできる。なお、いずれの場合においても、シャッフル層は学習可能なパラメータは含まない。一例としては、TCN(Temporal Convolutional Network)を拡張して、CNNとシャッフル層を交互に重ねたネットワーク構造が考えられる。また、他の例として、ディープLSTMを拡張して、LSTMとシャッフル層を交互に重ねたネットワーク構造が考えられる。
【0065】
続いて、本発明に係る情報処理装置あるいはニューラルネットワーク構造の適用例として、文非依存(登録時と識別時で発話文が異なる条件)の話者識別を行うことを具体例に挙げて説明する。ここでは、深層学習、およびリザバー計算、特にESNの二種類の統計的機械学習モデル(ESNとx-vector)へのシャッフル層の適用例を説明する。
【0066】
ここで、音声信号は、時間周波数領域におけるスペクトログラムに変換して処理することが多い。短時間フーリエ変換のフレーム単位では話者を識別することは難しい。しかし、知っている人の声であれば短い音声でも聞き分けが出来るため、比較的短い発話区間にも話者性が埋め込まれていると予想される。実際、現時点で最高水準の性能を達成しているx-vectorと呼ばれる手法では15フレームの音声区間から三層のニューラルネットワークを用いて低次元への埋め込みを行い、さらに時間フレームごとに変換を行ってから、平均を計算している。一方で話者識別のためには、音素列のような長い時間スケールの変動パターンは余計な情報であると考えられる。
【0067】
そこでx-vectorにシャッフル層を適用する場合には、ニューラルネットワークの第二層と第三層の間にシャッフル層を挟み込むこととする。また、ESNにシャッフル層を適用する場合には、mel-log-spectrogramを特徴量とし、短時間フーリエ変換のフレームをブロックとし、15フレームの音声区間を上位ブロックとして、LONG-TERM SHUFFLEを用いることとする。スペクトログラムは自己組織化マップ(別に教師なし学習されたもの)により変換された後に、リザバー層へ引き渡される。識別は話者ベクトルの線形回帰により行う。このように時系列データの並び替えを導入することにより局所的な特徴量の変動は保持しつつ、長い時間スケールの変動パターンはランダム化される。また、学習時と識別時ともに短い発話(例えば1000ミリ秒)の音声を用いることとする。話者登録時、話者識別時ともに同一の音声を10回入力することにする。その結果、時間並び替えによる時間的情報量の均質化・情報選択・データ拡張の効果により、並び替えを行わない場合と比較して、より高い話者識別精度が達成される。このように時間並び替えを用いることにより、極めて短い音声の場合においても、音声データを効率的に処理できるようになると考えられる。
【0068】
本発明に係る情報処理装置及びニューラルネットワーク構造は、時系列データを統計的機械学習で扱う場合に適応可能である。本発明は、特にリカレント構造を持つニューラルネットワークとの併用において効果を発揮すると期待される。特に、統計的機械学習モデルとしては、教師あり学習するRNN、教師なし学習あるいはランダム初期値で固定されるリザバー計算など有用である。さらに、リザバー計算(ESN、LSMなど)と併用することにより、少量データ、少量計算リソース、低レイテンシが要求される場合への応用が可能である。さらに、ニューロモルフィック・チップを用いたハードウェアへの実装も可能である。
【0069】
また、本発明の適用が効果的であるタスクとして、まず始めに音声データのクラス分類が挙げられる。例えば、話者認識、感情認識、環境音認識、態度認識などのタスクにおいて本発明は好適に利用することができる。また、画像データについては、静止画の空間方向を例えばピクセルの時間方向の羅列と捉えることで、局所的なピクセルをシャッフルしても残るような大域的な構造の検知や、大域的な構造を無視した局所的なテクスチャの認識、あるいはそれらの階層的構造の組み合わせにおいて有用である。また、動画データについては、行動の分類など時系列パターンを扱うタスクにおいて有用である。自然言語処理については、文字列方向を例えば文字の時間方向の羅列と捉えることで、文字単位、単語単位、又は発話単位においてランダムシャッフルを提供することも可能である。また、株価や売上データなどについては、分単位・時間単位・日単位・月単位・年単位など、複数のことなる時間解像度を並列して扱いたい場合には有用である。さらに、本発明は、ランダムシャッフルによる意図的な情報消失処理を含むため、プライバシー保護や情報秘匿への配慮が必要なタスクにも応用できる。
【0070】
以上、本願明細書では、本発明の内容を表現するために、図面を参照しながら本発明の実施形態の説明を行った。ただし、本発明は、上記実施形態に限定されるものではなく、本願明細書に記載された事項に基づいて当業者が自明な変更形態や改良形態を包含するものである。
【符号の説明】
【0071】
10…情報処理装置 11…入力部
12…前処理部 13…特徴抽出部
14…分割部 15…シャッフル部
16…出力部 16a…第1出力部
16b…第2出力部 16c…統合部
17…統計的機械学習モデル 18…学習済みモデル
20…ニューラルネットワーク構造 21…第1の学習層
22…シャッフル層 22a…分割部
22b…シャッフル部 23…第2の学習層
30…ニューラルネットワーク構造 31…第1の学習層
32…第1のシャッフル層 33…第2の学習層
34…第3の学習層 35…第2のシャッフル層
36…統合層