JP7206898B2 - 学習装置、学習方法および学習プログラム - Google Patents

学習装置、学習方法および学習プログラム Download PDF

Info

Publication number
JP7206898B2
JP7206898B2 JP2018241129A JP2018241129A JP7206898B2 JP 7206898 B2 JP7206898 B2 JP 7206898B2 JP 2018241129 A JP2018241129 A JP 2018241129A JP 2018241129 A JP2018241129 A JP 2018241129A JP 7206898 B2 JP7206898 B2 JP 7206898B2
Authority
JP
Japan
Prior art keywords
learning
data
unit
parameter
rnn
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018241129A
Other languages
English (en)
Other versions
JP2020102107A (ja
Inventor
将治 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018241129A priority Critical patent/JP7206898B2/ja
Priority to US16/696,514 priority patent/US20200202212A1/en
Publication of JP2020102107A publication Critical patent/JP2020102107A/ja
Application granted granted Critical
Publication of JP7206898B2 publication Critical patent/JP7206898B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Machine Translation (AREA)

Description

本発明は、学習装置等に関する。
時系列データを学習するRNN(Recurrent Neural Network)において、そのネットワークを効率よくかつ安定して学習することが求められている。RNNの学習では、時系列データと教師データとの学習データをRNNに与え、時系列データを入力した際に、RNNから出力される値が教師データに近づくように、RNNのパラメータを学習する。
たとえば、時系列データが映画のレビュー(単語列)である場合には、教師データは、レビューが肯定的であるか否定的であるかを示すもの(正解ラベル)となる。時系列データが文(文字列)である場合には、教師データは、何の言語かを示すものとなる。ここで、時系列データに対応する教師データは、時系列データ全体に対応するもので、部分的な時系列データに対してそれぞれ対応するものではない。
図39は、従来のRNNの処理の一例を示す図である。図39に示すように、RNN10は、Mean Pooling1に接続され、時系列データに含まれるデータ(たとえば、各単語x)が入力されると、パラメータに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling1に出力する。RNN10は、次のデータが入力されると、前のデータで算出した隠れ状態ベクトルhと、次のデータとを用いて、パラメータに基づく計算を行い、隠れ状態ベクトルhを算出する処理を繰り返し実行する。
たとえば、RNN10が、時系列データに含まれる単語x(0)、x(1)、x(2)、・・・x(n)を順に取得した場合について説明する。RNN10-0は、データx(0)を取得すると、データx(0)とパラメータとに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling1に出力する。RNN10-1は、データx(1)を取得すると、データx(1)と、隠れ状態ベクトルhと、パラメータとに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling1に出力する。RNN10-2は、データx(2)を取得すると、データx(2)と、隠れ状態ベクトルhと、パラメータとに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling1に出力する。RNN10-nは、データx(n)を取得すると、データx(n)と、隠れ状態ベクトルhn-1と、パラメータとに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling1に出力する。
Mean Pooling1は、隠れ状態ベクトルh~hを平均化したベクトルhaveを出力する。たとえば、時系列データが映画のレビューである場合、ベクトルhaveは、レビューが肯定的であるか否定的であるかの判定に用いられる。
図39に示したRNN10の学習を行う場合、学習データに含まれる時系列データの長さが長くなるほど、1回の学習(パラメータ更新)に時系列分の計算を行うことになるため、計算時間が掛かり、学習の効率が低下する。
RNNの学習方法に関する技術として、図40に示す従来技術がある。図40は、従来のRNNの学習方法の一例を示す図である。この従来技術では、初期学習区間として、短い時系列区間を設定して学習する。従来技術は、徐々に学習区間を拡張していき、最終的には時系列データの全体学習を行う。
たとえば、従来技術は、初期学習として、時系列データのx(0)、x(1)を用いて学習し、この学習が終了すると、2回目において、時系列データのx(0)、x(1)、x(2)を用いて学習する。従来技術は、徐々に学習区間を拡張していき、最終的には、時系列データx(0)、x(1)、x(2)、・・・、x(n)を用いて全体学習を行う。
特開平8-227410号公報 特開2010-266975号公報 特開平5-265994号公報 特開平6-231106号公報
しかしながら、上述した従来技術では、安定した学習を効率よく短時間で行うことができないという問題がある。
図40で説明した従来技術では、時系列データを分割して学習するものであるが、時系列データに対する教師データ自体は、時系列データ全体に対するものである。このため、従来技術では、RNNに対する適切なパラメータを更新することが難しい。適切なパラメータを学習するためには、結局のところ、時系列データ全体(x(0)、x(1)、x(2)、・・・、x(n))と、教師データとの学習データを用いることになり、従来技術では、学習効率が低下する。
1つの側面では、本発明は、安定した学習を効率よく短時間で行うことができる学習装置、学習方法および学習プログラムを提供することを目的とする。
第1の案では、学習装置は、第1生成部と、第1学習部と、学習処理部とを有する。第1生成部は、時系列に複数のデータが並んだ時系列データを所定区間に分割することで、複数の第1部分時系列データを生成し、複数の第1部分時系列データと、時系列データ全体に対する教師データとをそれぞれ対応付けた第1学習データを生成する。第1学習部は、第1学習データを基にして、複数の層に含まれる各RNN(Recurrent Neural Network)のうち、第1層に含まれる第1RNNの第1パラメータを学習する。学習処理部は、複数の層に含まれる各RNNのパラメータを学習する場合、学習済みの第1パラメータを第1RNNに設置して、第1部分時系列データをそれぞれ入力して得られるデータと、教師データとを基にして、複数の層に含まれる各RNNのパラメータを学習する。
安定した学習を効率よく短時間で行うことができる。
図1は、本実施例1に係る学習装置の処理を説明するための図(1)である。 図2は、本実施例1に係る学習装置の処理を説明するための図(2)である。 図3は、本実施例1に係る学習装置の処理を説明するための図(3)である。 図4は、本実施例1に係る学習装置の構成を示す機能ブロック図である。 図5は、本実施例1に係る学習データテーブルのデータ構造の一例を示す図である。 図6は、本実施例1に係る第1学習データテーブルのデータ構造の一例を示す図である。 図7は、本実施例1に係る第2学習データテーブルのデータ構造の一例を示す図である。 図8は、本実施例1の階層型のRNNの一例を示す図である。 図9は、本実施例1に係る第1生成部の処理を説明するための図である。 図10は、本実施例1に係る第1学習部の処理を説明するための図である。 図11は、本実施例1に係る第2生成部の処理を説明するための図である。 図12は、本実施例1に係る第2学習部の処理を説明するための図である。 図13は、本実施例1に係る学習装置の処理手順を示すフローチャートである。 図14は、本実施例2の階層型のRNNの一例を示す図である。 図15は、本実施例2に係る学習装置の構成を示す機能ブロック図である。 図16は、本実施例2に係る第1学習データテーブルのデータ構造の一例を示す図である。 図17は、本実施例2に係る第2学習データテーブルのデータ構造の一例を示す図である。 図18は、本実施例2に係る第3学習データテーブルのデータ構造の一例を示す図である。 図19は、本実施例2に係る第1生成部の処理を説明するための図である。 図20は、本実施例2に係る第1学習部の処理を説明するための図である。 図21は、本実施例2に係る第1学習部の教師ラベル更新処理の一例を示す図である。 図22は、本実施例2に係る第2生成部の処理を説明するための図である。 図23は、本実施例2に係る第2学習部の処理を説明するための図である。 図24は、本実施例2に係る第3生成部の処理を説明するための図である。 図25は、本実施例2に係る第3学習部の処理を説明するための図である。 図26は、本実施例2に係る学習装置の処理手順を示すフローチャートである。 図27は、本実施例3の階層型のRNNの一例を示す図である。 図28は、本実施例3に係る学習装置の構成を示す機能ブロック図である。 図29は、本実施例3に係る学習データテーブルのデータ構造の一例を示す図である。 図30は、本実施例3に係る第1学習データテーブルのデータ構造の一例を示す図である。 図31は、本実施例3に係る第2学習データテーブルのデータ構造の一例を示す図である。 図32は、本実施例3に係る第1生成部の処理を説明するための図である。 図33は、本実施例3に係る第1学習部の処理を説明するための図である。 図34は、本実施例3に係る第1学習部の教師ラベル更新処理の一例を示す図である。 図35は、本実施例3に係る第2生成部の処理を説明するための図である。 図36は、本実施例3に係る第2学習部の処理を説明するための図である。 図37は、本実施例3に係る学習装置の処理手順を示すフローチャートである。 図38は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図39は、従来のRNNの処理の一例を示す図である。 図40は、従来のRNNの学習方法の一例を示す図である。
以下に、本願の開示する学習装置、学習方法および学習プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係る学習装置の処理を説明するための図(1)である。本実施例1に係る学習装置では、時系列方向に分割した所定単位の下層のRNN20と、それらを時系列方向に集約する上層のRNN30とからなる階層型のリカレント型ネットワーク15を用いて学習を行う。
まず、階層型のリカレント型ネットワーク15に時系列データを入力した場合の処理の一例について説明する。RNN20は、RNN30に接続され、時系列データに含まれるデータ(たとえば、各単語x)が入力されると、RNN20のパラメータθ20に基づく計算を行って、隠れ状態ベクトルhを算出し、RNN20,30に出力する。RNN20は、次のデータが入力されると、前のデータで算出した隠れ状態ベクトルhと、次のデータと用いて、パラメータθ20に基づく計算を行い、隠れ状態ベクトルhを算出する処理を繰り返し実行する。
たとえば、本実施例1に係るRNN20を、時系列方向に4つ単位のRNNとする。時系列データには、データx(0)、x(1)、x(2)、x(3)、x(4)、・・・、x(n)が含まれているものとする。
RNN20-0は、データx(0)を取得すると、データx(0)とパラメータθ20とに基づく計算を行って、隠れ状態ベクトルhを算出し、RNN30-0に出力する。RNN20-1は、データx(1)を取得すると、データx(1)と、隠れ状態ベクトルhと、パラメータθ20とに基づく計算を行って、隠れ状態ベクトルhを算出し、RNN30-0に出力する。
RNN20-2は、データx(2)を取得すると、データx(2)と、隠れ状態ベクトルhと、パラメータθ20とに基づく計算を行って、隠れ状態ベクトルhを算出し、RNN30-0に出力する。RNN20-3は、データx(3)を取得すると、データx(3)と、隠れ状態ベクトルhと、パラメータθ20とに基づく計算を行って、隠れ状態ベクトルhを算出し、RNN30-0に出力する。
RNN20-4~20-7は、RNN20-0~20-3と同様にして、データx(4)~x(7)を取得すると、前のデータで算出された隠れ状態ベクトルhと、取得したデータとを用いて、パラメータθ20に基づく計算を行い、隠れ状態ベクトルhを算出する。RNN20-4~20-7は、隠れ状態ベクトルh~hを、RNN30-1に出力する。
RNN20-n-3~20-nは、RNN20-0~20-3と同様にして、データx(n-3)~x(n)を取得すると、前のデータで算出された隠れ状態ベクトルhと、取得したデータとを用いて、パラメータθ20に基づく計算を行い、隠れ状態ベクトルhを算出する。RNN20-n-3~20-nは、隠れ状態ベクトルhn-3~hを、RNN30-mに出力する。
RNN30は、RNN20から入力される複数の隠れ状態ベクトルh~hを集約し、RNN30のパラメータθ30に基づく計算を行って、隠れ状態ベクトルYを出力する。たとえば、RNN30は、RNN20から4つの隠れ状態ベクトルhが入力されると、RNN30のパラメータθ30に基づく計算を行って、隠れ状態ベクトルYを算出する。RNN30は、続く4つの隠れ状態ベクトルhが入力されると、一つ前に算出した隠れ状態ベクトルYと、4つの隠れ状態ベクトルhと、パラメータθ30とを基にして、隠れ状態ベクトルYを算出する処理を繰り返し実行する。
RNN30-0は、隠れ状態ベクトルh~hと、パラメータθ30に基づく計算を行って、隠れ状態ベクトルYを算出する。RNN30-1は、隠れ状態ベクトルYと、隠れ状態ベクトルh~hと、パラメータθ30に基づく計算を行って、隠れ状態ベクトルYを算出する。RNN30-mは、一つ前に算出された隠れ状態ベクトルYm-1と、隠れ状態ベクトルhn-3~hと、パラメータθ30に基づく計算を行って、Yを算出する。Yは、時系列データに対する推定結果のベクトルとなる。
次に、本実施例1に係る学習装置が、リカレント型ネットワーク15を学習する処理について説明する。学習装置は、第1学習処理を行った後に、第2学習処理を行う。第1学習処理において、学習装置は、下層の時系列方向に分割した各RNN20-0~20-nに与える教師データを、全体の教師データと見なして、パラメータθ20を学習する。第2学習処理において、学習装置は、下層のパラメータθ20を更新しないで、RNN30-0~30-nのパラメータθ30の学習を、全体の教師データを用いて行う。
図2を用いて、第1学習処理を説明する。学習データには、時系列データと、教師データとが含まれる。時系列データには、「データx(0)、x(1)、x(2)、x(3)、x(4)、・・・、x(n)」が含まれているものとする。教師データを「Y」とする。
学習装置は、RNN20-0に対して、データx(0)を入力し、データx(0)とパラメータθ20とに基づく計算を行って、隠れ状態ベクトルhを算出し、ノード35-0に出力する。学習装置は、RNN20-1に対して、隠れ状態ベクトルhデータx(1)を入力し、隠れ状態ベクトルhデータx(1)とパラメータθ20とに基づく計算を行って、隠れ状態ベクトルhを算出し、ノード35-0に出力する。学習装置は、RNN20-2に対して、隠れ状態ベクトルhデータx(2)を入力し、隠れ状態ベクトルhデータx(2)とパラメータθ20とに基づく計算を行って、隠れ状態ベクトルhを算出し、ノード35-0に出力する。学習装置は、RNN20-3に対して、隠れ状態ベクトルhデータx(3)を入力し、隠れ状態ベクトルhデータx(3)とパラメータθ20とに基づく計算を行って、隠れ状態ベクトルhを算出し、ノード35-0に出力する。
学習装置は、ノード35-0に入力される各隠れ状態ベクトルh~hを集約したベクトルが、教師データ「Y」に近づくように、RNN20のパラメータθ20を更新する。
同様にして、学習装置は、時系列データx(4)~x(7)を、RNN20-4~20-7に入力し、各隠れ状態ベクトルh~hを算出する。学習装置は、ノード35-1に入力される各隠れ状態ベクトルh~hを集約したベクトルが、教師データ「Y」に近づくように、RNN20のパラメータθ20を更新する。
学習装置は、時系列データx(n-3)~x(n)を、RNN20-n-3~20-nに入力し、各隠れ状態ベクトルhn-3~hを算出する。学習装置は、ノード35-mに入力される各隠れ状態ベクトルhn-3~hを集約したベクトルが、教師データ「Y」に近づくように、RNN20のパラメータθ20を更新する。学習装置は、複数の時系列データの組(x(0)~x(3))、(x(4)~x(7))、(x(n-3)~x(n))を用いて、上記処理を繰り返し実行する。
図3を用いて、第2学習処理を説明する。学習装置は、第2学習処理を行う場合に、第2学習処理を行うための時系列データの各データhm(0)、hm(4)、・・、hm(t1)を生成する。データhm(0)は、隠れ状態ベクトルh~hを集約したベクトルである。データhm(4)は、隠れ状態ベクトルh~hを集約したベクトルである。データhm(t1)は、隠れ状態ベクトルhn-3~hを集約したベクトルである。
学習装置は、データhm(0)を、RNN30-0に入力し、データhm(0)と、パラメータθ30とに基づく計算を行って、隠れ状態ベクトルYを算出し、RNN30-1に出力する。学習装置は、データhm(4)と、隠れ状態ベクトルYとをRNN30-1に入力し、データhm(0)と、隠れ状態ベクトルYとパラメータθ30とに基づく計算を行って、隠れ状態ベクトルYを算出し、次の時系列のRNN30-2(図示略)に出力する。学習装置は、データhm(t1)と、一つ前に算出された隠れ状態ベクトルYm-1と、パラメータθ30とに基づく計算を行って、隠れ状態ベクトルYを算出する。
学習装置は、RNN30-mから出力されるYが、教師データの「Y」に近づくように、RNN30のパラメータθ30を更新する。学習装置は、複数の時系列データの組(hm(0)~hm(t1))を用いて、上記処理を繰り返し実行する。第2学習処理では、RNN20のパラメータθ20の更新は行わない。
上記のように、本実施例1に係る学習装置は、下層の時系列方向に分割した各RNN20-0~20-nに与える教師データを、全体の教師データと見なして、パラメータθ20を学習する。また、学習装置は、下層のパラメータθ20を更新しないで、RNN30-0~30-nのパラメータθ30の学習を、全体の教師データを用いて行う。このように、下層のパラメータθ20をまとめて学習し、上層のパラメータθ30をまとめて学習するため、安定した学習を行うことができる。
また、本実施例1に係る学習装置は、上層、下層に分けて所定範囲内で学習を行うため、学習効率を向上させることができる。たとえば、上層の計算コストを、1/下層区間長(たとえば、4)に削減することができる。下層については、従来技術と同一の演算回数で、「時系列データ長/下層区間長」倍の学習(パラメータθ20を更新する学習)を行うことができる。
次に、本実施例1に係る学習装置の構成の一例について説明する。図4は、本実施例1に係る学習装置の構成を示す機能ブロック図である。図4に示すように、この学習装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。なお、本実施例1に係る学習装置100は、RNNの一例として、LSTM(Long Short Term Memory)を用いる。
通信部110は、ネットワーク等を介して、外部装置(図示略)と通信を実行する処理部である。たとえば、通信部110は、後述する学習データテーブル141の情報を外部装置から受信する。通信部110は、通信装置の一例である。後述する制御部150は、通信部110を介して、外部装置とデータをやり取りする。
入力部120は、各種の情報を、学習装置100に入力するための入力装置である。たとえば、入力部120は、キーボードやタッチパネル等に対応する。
表示部130は、制御部150から出力される各種の情報を表示する表示装置である。表示部130は、液晶ディスプレイやタッチパネル等に対応する。
記憶部140は、学習データテーブル141、第1学習データテーブル142、第2学習データテーブル143、パラメータテーブル144を有する。記憶部140は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
学習データテーブル141は、学習データを格納するテーブルである。図5は、本実施例1に係る学習データテーブルのデータ構造の一例を示す図である。図5に示すように、学習データテーブル141は、教師ラベルと、時系列データとを対応付ける。たとえば、時系列データ「x1(0)、x1(1)、・・・、x1(n)」に対応する教師ラベル(教師データ)は、「Y」となる。
第1学習データテーブル142は、学習データテーブル141に格納される時系列データを分割した、第1部分時系列データを格納するテーブルである。図6は、本実施例1に係る第1学習データテーブルのデータ構造の一例を示す図である。図6に示すように、第1学習データテーブル142は、教師ラベルと、第1部分時系列データとを対応付ける。各第1部分時系列データは、時系列データを4つ毎に分割したデータである。各第1部分時系列データを生成する処理は後述する。
第2学習データテーブル143は、第1学習データテーブル142の各第1部分時系列データを、下層のLSTMに入力して得られる第2部分時系列データを格納するテーブルである。図7は、本実施例1に係る第2学習データテーブルのデータ構造の一例を示す図である。図7に示すように、第2学習データテーブル143は、教師ラベルと、第2部分時系列データとを対応付ける。各第2部分時系列データは、第1学習データテーブル142の各第1部分時系列データを、下層のLSTMに入力して得られる。各第2部分時系列データを生成する処理は後述する。
パラメータテーブル144は、下層のLSTMのパラメータ、上層のLSTMのパラメータ、Affine変換部のパラメータを格納するテーブルである。
制御部150は、図8に示す階層型のRNNを実行して、パラメータの学習処理を行う。図8は、本実施例1の階層型のRNNの一例を示す図である。図8に示すように、この階層型のRNNは、LSTM50,60と、Mean Pooling部55、Affine変換部65aと、Softmax部65bとを有する。
LSTM50は、図1で説明した下層のRNN20に対応するRNNである。LSTM50は、Mean Pooling部55に接続される。LSTM50は、時系列データに含まれるデータが入力されると、LSTM50のパラメータθ50に基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling部55に出力する。LSTM50は、次のデータが入力されると、前のデータで算出した隠れ状態ベクトルhと、次のデータと用いて、パラメータθ50に基づく計算を行い、隠れ状態ベクトルhを算出する処理を繰り返し実行する。
LSTM50-0は、データx(0)を取得すると、データx(0)とパラメータθ50とに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling部55-0に出力する。LSTM50-1は、データx(1)を取得すると、データx(1)と、隠れ状態ベクトルhと、パラメータθ50とに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling部55-0に出力する。
LSTM50-2は、データx(2)を取得すると、データx(2)と、隠れ状態ベクトルhと、パラメータθ50とに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling部55-0に出力する。LSTM50-3は、データx(3)を取得すると、データx(3)と、隠れ状態ベクトルhと、パラメータθ50とに基づく計算を行って、隠れ状態ベクトルhを算出し、Mean Pooling部55-0に出力する。
LSTM50-4~50-7は、LSTM50-0~50-3と同様にして、データx(4)~x(7)を取得すると、前のデータで算出された隠れ状態ベクトルhと、取得したデータとを用いて、パラメータθ50に基づく計算を行い、隠れ状態ベクトルhを算出する。LSTM50-4~50-7は、隠れ状態ベクトルh~hを、Mean Pooling部55-1に出力する。
LSTM50-n-3~50-nは、LSTM50-0~50-3と同様にして、データx(n-3)~x(n)を取得すると、前のデータで算出された隠れ状態ベクトルhと、取得したデータとを用いて、パラメータθ50に基づく計算を行い、隠れ状態ベクトルhを算出する。LSTM50-n-3~50-nは、隠れ状態ベクトルhn-3~hを、Mean Pooling部55-mに出力する。
Mean Pooling部55は、下層のLSTM50から入力される各隠れ状態ベクトルhを集約し、集約したベクトルhmを、上層のLSTM60に出力する。たとえば、Mean Pooling部55-0は、隠れ状態ベクトルh~hを、平均化したベクトルhm(0)を、LSTM60-0に入力する。Mean Pooling部55-1は、隠れ状態ベクトルh~hを、平均化したベクトルhm(4)を、LSTM60-1に入力する。Mean Pooling部55-mは、隠れ状態ベクトルhn-3~hを、平均化したベクトルhm(n-3)を、LSTM60-mに入力する。
LSTM60は、図1で説明した上層のRNN30に対応するRNNである。LSTM60は、Mean Pooling部55から入力される複数の隠れ状態ベクトルhmと、LSTM60のパラメータθ60に基づく計算を行って、隠れ状態ベクトルYを出力する。LSTM60は、Mean Pooling部55から、続く隠れ状態ベクトルhmが入力されると、一つ前に算出した隠れ状態ベクトルYと、隠れ状態ベクトルhmと、パラメータθ60とを基にして、隠れ状態ベクトルYを算出する処理を繰り返し実行する。
LSTM60-0は、隠れ状態ベクトルhm(0)と、パラメータθ60に基づく計算を行って、隠れ状態ベクトルYを算出する。LSTM60-1は、隠れ状態ベクトルYと、隠れ状態ベクトルhm(4)と、パラメータθ60に基づく計算を行って、隠れ状態ベクトルYを算出する。LSTM60-mは、一つ前に算出された隠れ状態ベクトルYm-1と、隠れ状態ベクトルhm(n-3)と、パラメータθ60に基づく計算を行って、隠れ状態ベクトルYを算出する。LSTM60-mは、YをAffine変換部65aに出力する。
Affine変換部65aは、LSTM60から出力される隠れ状態ベクトルYに対して、アフィン変換を実行する処理部ある。たとえば、Affine変換部65aは、式(1)に基づいて、アフィン変換を実行し、ベクトルYを算出する。式(1)に含まれるAは、行列であり、bは、ベクトルである。行列Aの各要素、ベクトルbの各要素には、学習される重みが設定される。
=AYm+b・・・(1)
Softmax部65bは、アフィン変換されたベクトルYをソフトマック関数に入力して、値「Y」を算出する処理部である。Yは、時系列データに対する推定結果のベクトルとなる。
図4の説明に戻る。制御部150は、取得部151と、第1生成部152と、第1学習部153と、第2生成部154と、第2学習部155とを有する。制御部150は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部150は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。第2生成部154および第2学習部155は、学習処理部の一例である。
取得部151は、外部装置(図示略)からネットワークを介して、学習データテーブル141の情報を取得する処理部である。取得部151は、取得した学習データテーブル141の情報を、学習データテーブル141に格納する。
第1生成部152は、学習データテーブル141を基にして、第1学習データテーブル142の情報を生成する処理部である。図9は、本実施例1に係る第1生成部の処理を説明するための図である。第1生成部152は、学習データテーブル141のレコードを選択し、選択したレコードの時系列データを所定区間である4つ単位に分割する。第1生成部152は、分割した4つのデータの組(第1部分時系列データ)それぞれと、分割前の時系列データに対応する教師ラベルとを対応付けて、第1学習データテーブル142に格納する。
たとえば、第1生成部152は、時系列データ「x1(0)、x1(1)、・・・、x(n1)」を、第1部分時系列データ「x1(0)、x1(1)、x1(2)、x1(3)」、「x1(4)、x1(5)、x1(6)、x1(7)」、・・・、「x1(n1-3)、x1(n1-2)、x1(n1-1)、x1(n1)」に分割する。第1生成部152は、各第1部分時系列データに、分割前の時系列データ「x1(0)、x1(1)、・・・、x(n1)」に対応する教師ラベル「Y」を対応付けて、第1学習データテーブル142に格納する。
第1生成部152は、学習データテーブル141の他のレコードについても、上記処理を繰り返し実行することで、第1学習データテーブル142の情報を生成する。第1生成部152は、第1学習データテーブル142の情報を、第1学習データテーブル142に格納する。
第1学習部153は、第1学習データテーブル142を基にして、階層型のRNNのLSTM50のパラメータθ50を学習する処理部である。第1学習部153は、学習したパラメータθ50をパラメータテーブル144に格納する。第1学習部153の処理は、上述した、第1学習処理に対応する。
図10は、本実施例1に係る第1学習部の処理を説明するための図である。第1学習部153は、LSTM50、Mean Pooling部55、Affine変換部65a、Softmax部65bを実行する。第1学習部153は、LSTM50をMean Pooling部55に接続し、Mean Pooling部55をAffine変換部65aに接続し、Affine変換部65aをSoftmax部65bに接続する。第1学習部153は、LSTM50のパラメータθ50を初期値に設定する。
第1学習部153は、第1学習データテーブル142の第1部分時系列データに格納された各データを、LSTM50-0~50-3に順に入力し、Softmax部65bから出力される推測ラベルが、教師ラベルに近づくように、LSTM50のパラメータθ50およびAffine変換部65aのパラメータを学習する。第1学習部153は、第1学習データテーブル142に格納された各第1部分時系列データについて、上記処理を繰り返し実行する。たとえば、第1学習部153は、勾配降下法等を用いて、LSTM50のパラメータθ50およびAffine変換部65aのパラメータを学習する。
第2生成部154は、第1学習データテーブル142を基にして、第2学習データテーブル143の情報を生成する処理部である。図11は、本実施例1に係る第2生成部の処理を説明するための図である。
第2生成部154は、LSTM50と、Mean Pooling部55とを実行し、第1学習部153によって学習済みのパラメータθ50を、LSTM50に設定する。第2生成部154は、各第1部分時系列データを、LSTM50-1~50-3に順に入力し、Mean Pooling部55から出力されるデータhmを算出する処理を繰り返し実行する。第2生成部154は、学習データテーブル141の1つのレコードの時系列データから分割された各第1部分時系列データをLSTM50に入力することで、一組の第2部分時系列データを算出する。かかる一組の第2部分時系列データに対応する教師ラベルは、分割元の時系列データに対応する教師ラベルとなる。
たとえば、第2生成部154は、各第1部分時系列データ「x1(0)、x1(1)、x1(2)、x1(3)」、「x1(4)、x1(5)、x1(6)、x1(7)」、・・・、「x1(n1-3)、x1(n1-2)、x1(n1-1)、x1(n1)」をLSTM50にそれぞれ入力することで、第2部分時系列データ「hm1(0)、hm1(4)、・・・、hm1(t1)」を算出する。かかる第2部分時系列データ「hm1(0)、hm1(4)、・・・、hm1(t1)」に対応する教師ラベルは、時系列データ「x1(0)、x1(1)、・・・、x(n1)」の教師ラベル「Y」となる。
第2生成部154は、第1学習データテーブル142の他のレコードについても、上記処理を繰り返し実行することで、第2学習データテーブル143の情報を生成する。第2生成部154は、第2学習データテーブル143の情報を、第2学習データテーブル143に格納する。
第2学習部155は、第2学習データテーブル143を基にして、階層型のRNNのLSTM60のパラメータθ60を学習する処理部である。第2学習部155は、学習したパラメータθ60をパラメータテーブル144に格納する。第2学習部155の処理は、上述した第2学習処理に対応する。また、第2学習部155は、Affine変換部65aのパラメータを、パラメータテーブル144に格納する。
図12は、本実施例1に係る第2学習部の処理を説明するための図である。第2学習部155は、LSTM60、Affine変換部65a、Softmax部65bを実行する。第2学習部155は、LSTM60をAffine変換部65aに接続し、Affine変換部65aをSoftmax部65bに接続する。第2学習部155は、LSTM60のパラメータθ60を初期値に設定する。
第2学習部155は、第2学習データテーブル143の第2部分時系列データに格納された各データを、LSTM60-0~60-mに順に入力し、Softmax部65bから出力される推測ラベルが、教師ラベルに近づくように、LSTM60のパラメータθ60およびAffine変換部65aのパラメータを学習する。第2学習部155は、第2学習データテーブル143に格納された各第2部分時系列データについて、上記処理を繰り返し実行する。たとえば、第2学習部155は、勾配降下法等を用いて、LSTM60のパラメータθ60およびAffine変換部65aのパラメータを学習する。
次に、本実施例1に係る学習装置100の処理手順の一例について説明する。図13は、本実施例1に係る学習装置の処理手順を示すフローチャートである。図13に示すように、学習装置100の第1生成部152は、学習データテーブル141に含まれる時系列データを所定区間に分割して、第1部分時系列データを生成し、第1学習データテーブル142の情報を生成する(ステップS101)。
学習装置100の第1学習部153は、第1学習データテーブル142を基にして、下層のLSTM50のパラメータθ50を学習する(ステップS102)。第1学習部153は、学習済みの下層のLSTM50のパラメータθ50をパラメータテーブル144に格納する(ステップS103)。
学習装置100の第2生成部154は、第1学習データテーブルと、学習済みの下層のLSTMのパラメータθ50を用いて、第2学習データテーブル143の情報を生成する(ステップS104)。
学習装置100の第2学習部155は、第2学習データテーブル143を基にして、上層のLSTM60のパラメータθ60をおよびAffine変換部のパラメータを学習する(ステップS105)。第2学習部155は、学習済みの上層のLSTM60のパラメータθ60をおよびAffine変換部のパラメータをパラメータテーブル144に格納する(ステップS106)。なお、パラメータテーブル144の情報は、外部装置に通知されてもよいし、管理者端末に出力して表示されてもよい。
次に、本実施例1に係る学習装置100の効果について説明する。学習装置100は、時系列データを所定区間に分割した第1部分時系列データと生成し、下層の時系列方向に分割した各LSTM50-0~50-nに与える教師データを、全体の教師データと見なして、パラメータθ50を学習する。また、学習装置100は、学習済みのパラメータθ60を更新しないで、上層のLSTM60-0~60-mのパラメータθ60の学習を、全体の教師データを用いて行う。このように、下層のパラメータθ50をまとめて学習した後に、上層のパラメータθ60をまとめて学習するため、安定した学習を行うことができる。
また、本実施例1に係る学習装置100は、上層、下層に分けて所定範囲内で学習を行うため、学習効率を向上させることができる。たとえば、上層の計算コストを、1/下層区間長(たとえば、4)に削減することができる。下層については、従来技術と同一の演算回数で、「時系列データ長/下層区間長」倍の学習を行うことができる。
図14は、本実施例2の階層型のRNNの一例を示す図である。図14に示すように、この階層型のRNNは、RNN70と、GRU(Gated Recurrent Unit)71と、LSTM72と、Affine変換部75aと、Softmax部75bとを有する。図14では一例として、下層のRNNとして、GRU71、RNN70を用いて説明するが、下層のRNNに他のRNNが更に接続されていてもよい。
RNN70は、GRU71に接続され、時系列データに含まれるデータ(たとえば、単語x)が入力されると、RNN70のパラメータθ70に基づく計算を行って、隠れ状態ベクトルhを算出し、RNN70に入力する。RNN70は、次のデータが入力されると、前のデータで計算した隠れ状態ベクトルhと、次のデータとを用いて、パラメータθ70に基づく計算を行い、隠れ状態ベクトルrを算出し、GRU71に入力する。RNN70は、2つのデータが入力された際に算出された隠れ状態ベクトルrを、GRU71に入力する処理を繰り返し実行する。
たとえば、本実施例2に係るRNN70に入力する時系列データには、データx(0)、x(1)、x(2)、x(3)、x(4)、・・・、x(n)が含まれているものとする。
RNN70-0は、データx(0)を取得すると、データx(0)とパラメータθ70とに基づく計算を行って、隠れ状態ベクトルhを算出し、RNN70-1に出力する。RNN70-1は、データx(1)を取得すると、データx(1)と、隠れ状態ベクトルhと、パラメータθ70とに基づく計算を行って、隠れ状態ベクトルr(1)を算出し、GRU71-0に出力する。
RNN70-2は、データx(2)を取得すると、データx(2)とパラメータθ70とに基づく計算を行って、隠れ状態ベクトルhを算出し、RNN70-3に出力する。RNN70-3は、データx(3)を取得すると、データx(3)と、隠れ状態ベクトルhと、パラメータθ70とに基づく計算を行って、隠れ状態ベクトルr(3)を算出し、GRU71-1に出力する。
RNN70-4,70-5は、RNN70-0,70-1と同様にして、データx(4)、x(5)が入力されると、パラメータθ70に基づく計算を行って、隠れ状態ベクトルh、r(5)を算出し、隠れ状態ベクトルr(5)を、GRU71-2に出力する。
RNN70-6,70-7は、RNN70-2,70-3と同様にして、データx(6)、x(7)が入力されると、パラメータθ70に基づく計算を行って、隠れ状態ベクトルh、r(7)を算出し、隠れ状態ベクトルr(7)を、GRU71-3に出力する。
RNN70-n-3,70-n-2は、RNN70-0,70-1と同様にして、データx(n-3)、x(n-2)が入力されると、パラメータθ70に基づく計算を行って、隠れ状態ベクトルhn-3、r(n-2)を算出し、隠れ状態ベクトルr(n-2)を、GRU71-m-1に出力する。
RNN70-n-1,70-nは、RNN70-2,70-3と同様にして、データx(n-1)、x(n)が入力されると、パラメータθ70に基づく計算を行って、隠れ状態ベクトルhn-1、r(n)を算出し、隠れ状態ベクトルr(n)を、GRU71-mに出力する。
GRU71は、RNN70から入力される複数の隠れ状態ベクトルrに対して、GRU71のパラメータθ71に基づく計算を行い、隠れ状態ベクトルhgを算出し、GRU71に入力する。GRU71は、次の隠れ状態ベクトルrが入力されると、隠れ状態ベクトルhgと、次の隠れ状態ベクトルrと用いて、パラメータθ71に基づく計算を行い、隠れ状態ベクトルgを算出する。GRU71は、隠れ状態ベクトルgを、LSTM72に出力する。GRU71は、2つの隠れ状態ベクトルrが入力された際に算出された隠れ状態ベクトルgを、LSTM72に入力する処理を繰り返し実行する。
GRU71-0は、隠れ状態ベクトルr(1)を取得すると、隠れ状態ベクトルr(1)とパラメータθ71とに基づく計算を行って、隠れ状態ベクトルhgを算出し、GRU71-1に出力する。GRU71-1は、隠れ状態ベクトルr(3)を取得すると、隠れ状態ベクトルr(3)と、隠れ状態ベクトルhgと、パラメータθ71とに基づく計算を行って、隠れ状態ベクトルg(1)を算出し、LSTM72-0に出力する。
GRU71-2,71-3は、GRU71-0,71-1と同様にして、隠れ状態ベクトルr(5)、r(7)が入力されると、パラメータθ71に基づく計算を行って、隠れ状態ベクトルhg、g(7)を算出し、隠れ状態ベクトルg(7)を、LSTM72-1に出力する。
GRU71-m-1,71-mは、GRU71-0,71-1と同様にして、隠れ状態ベクトルr(n-2)、r(n)が入力されると、パラメータθ71に基づく計算を行って、隠れ状態ベクトルhgm-1、g(n)を算出し、隠れ状態ベクトルg(n)を、LSTM72-lに出力する。
LSTM72は、GRU71から隠れ状態ベクトルgが入力されると、隠れ状態ベクトルgとLSTM72のパラメータθ72とに基づく計算を行い、隠れ状態ベクトルhlを算出する。LSTM72は、次の隠れ状態ベクトルgが入力されると、隠れ状態ベクトルhl、gと、パラメータθ72に基づく計算を行い、隠れ状態ベクトルhlを算出する。LSTM72は、隠れ状態ベクトルgが入力されるたびに、上記処理を繰り返し実行する。そして、LSTM72は、隠れ状態ベクトルh1を、Affine変換部65aに出力する。
LSTM72-0は、GRU71-1から隠れ状態ベクトルg(3)が入力されると、隠れ状態ベクトルg(3)とLSTM72のパラメータθ72とに基づく計算を行い、隠れ状態ベクトルhlを算出する。LSTM72-0は、隠れ状態ベクトルhlを、LSTM72-1に出力する。
LSTM72-1は、GRU71-3から隠れ状態ベクトルg(7)が入力されると、隠れ状態ベクトルg(7)とLSTM72のパラメータθ72とに基づく計算を行い、隠れ状態ベクトルhlを算出する。LSTM72-1は、隠れ状態ベクトルhlを、LSTM72-2(図示略)に出力する。
LSTM72-lは、GRU71-mから隠れ状態ベクトルg(n)が入力されると、隠れ状態ベクトルg(n)とLSTM72のパラメータθ72とに基づく計算を行い、隠れ状態ベクトルhlを算出する。LSTM72-lは、隠れ状態ベクトルhlを、Affine変換部65aに出力する。
Affine変換部75aは、LSTM72から出力される隠れ状態ベクトルhlに対して、アフィン変換を実行する処理部ある。たとえば、Affine変換部75aは、式(2)に基づいて、アフィン変換を実行し、ベクトルYを算出する。式(2)に含まれるA、bに関する説明は、式(1)に含まれるA、bに関する説明と同様である。
=Ahl+b・・・(2)
Softmax部75bは、アフィン変換されたベクトルYをソフトマック関数に入力して、値「Y」を算出する処理部である。Yは、時系列データに対する推定結果のベクトルとなる。
次に、本実施例2に係る学習装置の構成の一例について説明する。図15は、本実施例2に係る学習装置の構成を示す機能ブロック図である。図15に示すように、この学習装置200は、通信部210、入力部220、表示部230、記憶部240、制御部250を有する。
通信部210は、ネットワーク等を介して、外部装置(図示略)と通信を実行する処理部である。たとえば、通信部210は、後述する学習データテーブル241の情報を外部装置から受信する。通信部210は、通信装置の一例である。後述する制御部250は、通信部210を介して、外部装置とデータをやり取りする。
入力部220は、各種の情報を、学習装置200に入力するための入力装置である。たとえば、入力部220は、キーボードやタッチパネル等に対応する。
表示部230は、制御部250から出力される各種の情報を表示する表示装置である。表示部230は、液晶ディスプレイやタッチパネル等に対応する。
記憶部240は、学習データテーブル241、第1学習データテーブル242、第2学習データテーブル243、第3学習データテーブル244、パラメータテーブル245を有する。記憶部240は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
学習データテーブル241は、学習データを格納するテーブルである。学習データテーブル241のデータ構造は、図5に示した学習データテーブル141のデータ構造と同様であるため、説明を省略する。
第1学習データテーブル242は、学習データテーブル241に格納される時系列データを分割した、第1部分時系列データを格納するテーブルである。図16は、本実施例2に係る第1学習データテーブルのデータ構造の一例を示す図である。図16に示すように、第1学習データテーブル242は、教師ラベルと、第1部分時系列データとを対応付ける。本実施例2の各第1部分時系列データは、時系列データを2つ毎に分割したデータである。各第1部分時系列データを生成する処理は後述する。
第2学習データテーブル243は、第1学習データテーブル242の各第1部分時系列データを、下層のRNN70に入力して得られる第2部分時系列データを格納するテーブルである。図17は、本実施例2に係る第2学習データテーブルのデータ構造の一例を示す図である。図17に示すように、第2学習データテーブル243は、教師ラベルと、第2部分時系列データとを対応付ける。各第2部分時系列データを生成する処理は後述する。
第3学習データテーブル244は、学習データテーブル241の時系列データを、下層のRNN70に入力した場合に、上層のGRU71から出力される第3部分時系列データを格納するテーブルである。図18は、本実施例2に係る第3学習データテーブルのデータ構造の一例を示す図である。図18に示すように、第3学習データテーブル244は、教師ラベルと、第3部分時系列データとを対応付ける。各第3部分時系列データを生成する処理は後述する。
パラメータテーブル245は、下層のRNN70のパラメータθ70、GRUのパラメータθ71、上層のLSTM72のパラメータθ72、Affine変換部75aのパラメータを格納するテーブルである。
制御部250は、図14で説明した階層型のRNNを実行して、パラメータの学習を行う処理部である。制御部250は、取得部251、第1生成部252、第1学習部253、第2生成部254、第2学習部255、第3生成部256、第3学習部257を有する。制御部250は、CPUやMPUなどによって実現できる。また、制御部250は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
取得部251は、外部装置(図示略)からネットワークを介して、学習データテーブル241の情報を取得する処理部である。取得部251は、取得した学習データテーブル241の情報を、学習データテーブル241に格納する。
第1生成部252は、学習データテーブル241を基にして、第1学習データテーブル242の情報を生成する処理部である。図19は、本実施例2に係る第1生成部の処理を説明するための図である。第1生成部252は、学習データテーブル241のレコードを選択し、選択したレコードの時系列データを所定区間である2つ単位に分割する。第1生成部252は、分割した2つのデータの組(第1部分時系列データ)それぞれと、分割前の時系列データに対応する教師ラベルとを対応付けて、第1学習データテーブル242に格納する。
たとえば、第1生成部252は、時系列データ「x1(0)、x1(1)、・・・、x(n1)」を、第1部分時系列データ「x1(0)、x1(1)」、「x1(2)、x1(3)」、・・・、「x1(n1-1)、x1(n1)」に分割する。第1生成部252は、各第1部分時系列データに、分割前の時系列データ「x1(0)、x1(1)、・・・、x(n1)」に対応する教師ラベル「Y」を対応付けて、第1学習データテーブル242に格納する。
第1生成部252は、学習データテーブル241の他のレコードについても、上記処理を繰り返し実行することで、第1学習データテーブル242の情報を生成する。第1生成部252は、第1学習データテーブル242の情報を、第1学習データテーブル242に格納する。
第1学習部253は、第1学習データテーブル242を基にして、RNN70のパラメータθ70を学習する処理部である。第1学習部253は、学習したパラメータθ70をパラメータテーブル245に格納する。
図20は、本実施例2に係る第1学習部の処理を説明するための図である。第1学習部253は、RNN70、Affine変換部75a、Softmax部75bを実行する。第1学習部253は、RNN70をAffine変換部75aに接続し、Affine変換部75aをSoftmax部75bに接続する。第1学習部253は、RNN70のパラメータθ70を初期値に設定する。
第1学習部253は、第1学習データテーブル242の第1部分時系列データに格納された各データを、RNN70-0~70-1に順に入力し、Softmax部75bから出力される推測ラベルYが、教師ラベルに近づくように、RNN70のパラメータθ70およびAffine変換部75aのパラメータを学習する。第1学習部253は、第1学習データテーブル242に格納された各第1部分時系列データについて、上記処理を「D」回繰り返し実行する。Dは予め設定される値であり、たとえば、「D=10」とする。第1学習部253は、勾配降下法等を用いて、RNN70のパラメータθ70およびAffine変換部75aのパラメータを学習する。
第1学習部253は、D回学習を行った場合、第1学習データテーブル242の教師ラベルを更新する処理を実行する。図21は、本実施例2に係る第1学習部の教師ラベル更新処理の一例を示す図である。
図21の学習結果5Aは、第1部分時系列データ(データ1、データ2、・・・)と、教師ラベルと、推定ラベルとを対応付ける。たとえば、x1(0、1)は、RNN70-0、RNN70-1に、データx1(0)、x(1)を入力したことを示す。教師ラベルは、第1学習データテーブル242で定義された、第1部分時系列データに対応する教師ラベルである。推定ラベルは、第1部分時系列データを、図20のRNN70-0,70-1に、入力した場合に、Softmax部75bから出力される推定ラベルである。学習結果5Aにおいて、x1(0、1)の教師ラベルは「Y」であり、推定ラベルが「Y」であることが示される。
学習結果5Aに示す例では、x1(2、3)、x1(6、7)、x2(2、3)、x2(4、5)において、教師ラベルと、推定ラベルとが異なっている。第1学習部253は、教師ラベルと、推定ラベルとが異なっている教師ラベルのうち、所定の割合の教師ラベルを、推定ラベルに更新する。更新結果5Bに示すように、第1学習部253は、x1(2、3)に対応する教師ラベルを「Not Y」に更新し、x2(4、5)に対応する教師ラベルを「Y」に更新する。第1学習部253は、図21で説明した更新を、第1学習データテーブル242の教師ラベルに反映させる。
第1学習部253は、更新した第1学習データテーブル242を用いて、再度、RNN70のパラメータθ70およびAffine変換部75aのパラメータを学習する。第1学習部253は、学習したRNN70のパラメータθ70を、パラメータテーブル245に格納する。
図15の説明に戻る。第2生成部254は、学習データテーブル241を基にして、第2学習データテーブル243の情報を生成する処理部である。図22は、本実施例2に係る第2生成部の処理を説明するための図である。第2生成部254は、RNN70を実行し、第1学習部253によって学習済みのパラメータθ70を、RNN70に設定する。
第2生成部254は、時系列データを、RNN70の所定区間である2つ毎の単位、GRU71の時系列としては4つ毎の単位に分割する。第2生成部254は、分割したデータを、RNN70-0~70-3にそれぞれ入力し、RNN70-0,70-3から出力される隠れ状態ベクトルrを算出する処理を繰り返し実行する。第2生成部254は、学習データテーブル141の1つのレコードの時系列データを分割し、入力することで、複数の第2部分時系列データを算出する。かかる複数の第2部分時系列データに対応する教師ラベルは、分割元の時系列データに対応する教師ラベルとなる。
たとえば、第2生成部254は、時系列データ「x1(0)、x1(1)、x1(2)、x1(3)」をRNN70にそれぞれ入力することで、第2部分時系列データ「r1(0)、r1(3)」を算出する。かかる第2部分時系列データ「r1(0)、r1(3)」に対応する教師ラベルは、時系列データ「x1(0)、x1(1)、・・・、x(n1)」の教師ラベル「Y」となる。
第2生成部254は、学習データテーブル241の他のレコードについても、上記処理を繰り返し実行することで、第2学習データテーブル243の情報を生成する。第2生成部254は、第2学習データテーブル243の情報を、第2学習データテーブル243に格納する。
第2学習部255は、第2学習データテーブル243を基にして、階層型のRNNのGRU71のパラメータθ71を学習する処理部である。第2学習部255は、学習したパラメータθ71をパラメータテーブル245に格納する。
図23は、本実施例2に係る第2学習部の処理を説明するための図である。第2学習部255は、GRU71、Affine変換部75a、Softmax部75bを実行する。第2学習部255は、GRU71をAffine変換部75aに接続し、Affine変換部75aをSoftmax部75bに接続する。第2学習部255は、GRU71のパラメータθ71を初期値に設定する。
第2学習部255は、第2学習データテーブル243の第2部分時系列データに格納された各データを、GRU71-0,71-1に順に入力し、Softmax部75bから出力される推測ラベルが、教師ラベルに近づくように、GRU71のパラメータθ71およびAffine変換部75aのパラメータを学習する。第2学習部255は、第2学習データテーブル243に格納された各第2部分時系列データについて、上記処理を繰り返し実行する。たとえば、第2学習部255は、勾配降下法等を用いて、GRU71のパラメータθ71およびAffine変換部75aのパラメータを学習する。
図15の説明に戻る。第3生成部256は、学習データテーブル241を基にして、第3学習データテーブル244の情報を生成する処理部である。図24は、本実施例2に係る第3生成部の処理を説明するための図である。第3生成部256は、RNN70、GRU71を実行し、第1学習部253によって学習済みのパラメータθ70を、RNN70に設定する。第3生成部256は、第2学習部255によって学習済みのパラメータθ71を、GRU71に設定する。
第3生成部256は、時系列データを4つ毎の単位に分割する。第3生成部256は、分割したデータを、RNN70-0~70-3にそれぞれ入力し、GRU71-1から出力される隠れ状態ベクトルgを算出する処理を繰り返し実行する。第3生成部256は、学習データテーブル241の1つのレコードの時系列データを分割し、入力することで、一つのレコードの第3部分時系列データを算出する。かかる第3部分時系列データに対応する教師ラベルは、分割元の時系列データに対応する教師ラベルとなる。
たとえば、第3生成部256は、時系列データ「x1(0)、x1(1)、x1(2)、x1(3)」をRNN70にそれぞれ入力することで、第3部分時系列データ「g1(3)」を算出する。第3生成部256は、時系列データ「x1(4)、x1(5)、x1(6)、x1(7)」をRNN70にそれぞれ入力することで、第3部分時系列データ「g1(7)」を算出する。第3生成部256は、時系列データ「x1(n1-3)、x1(n1-2)、x1(n1-1)、x1(n1)」をRNN70にそれぞれ入力することで、第3部分時系列データ「g1(n1)」を算出する。かかる第3部分時系列データ「g1(3)、g1(7)、・・・、g1(n1)」に対応する教師ラベルは、時系列データ「x1(0)、x1(1)、・・・、x(n1)」の教師ラベル「Y」となる。
第3生成部256は、学習データテーブル241の他のレコードについても、上記処理を繰り返し実行することで、第3学習データテーブル244の情報を生成する。第3生成部256は、第3学習データテーブル244の情報を、第3学習データテーブル244に格納する。
第3学習部257は、第3学習データテーブル244を基にして、階層型のRNNのLSTM72のパラメータθ72を学習する処理部である。第3学習部257は、学習したパラメータθ72をパラメータテーブル245に格納する。
図25は、本実施例2に係る第3学習部の処理を説明するための図である。第3学習部257は、LSTM72、Affine変換部75a、Softmax部75bを実行する。第3学習部257は、LSTM72をAffine変換部75aに接続し、Affine変換部75aをSoftmax部75bに接続する。第3学習部257は、LSTM72のパラメータθ72を初期値に設定する。
第3学習部257は、第3学習データテーブル244の第3部分時系列データに格納された各データを、LSTM72に順に入力し、Softmax部75bから出力される推測ラベルが、教師ラベルに近づくように、LSTM72のパラメータθ72およびAffine変換部75aのパラメータを学習する。第3学習部257は、第3学習データテーブル244に格納された各第3部分時系列データについて、上記処理を繰り返し実行する。たとえば、第3学習部257は、勾配降下法等を用いて、LSTM72のパラメータθ72およびAffine変換部75aのパラメータを学習する。
次に、本実施例2に係る学習装置200の処理手順の一例について説明する。図26は、本実施例2に係る学習装置の処理手順を示すフローチャートである。図26に示すように、学習装置200の第1生成部252は、学習データテーブル241に含まれる時系列データを所定区間に分割して、第1部分時系列データを生成し、第1学習データテーブル242の情報を生成する(ステップS201)。
学習装置200の第1学習部253は、第1学習データテーブル242を基にして、RNN70のパラメータθ70の学習をD回実行する(ステップS202)。第1学習部253は、第1学習データテーブル242について、推定ラベルと教師ラベルとが異なる教師ラベルの内、所定割合の教師ラベルを、推定ラベルに変更する(ステップS203)。
第1学習部253は、更新した第1学習データテーブル242を基にして、RNN70のパラメータθ70を学習する(ステップS204)。ここで、第1学習部253は、ステップS203、S204の処理を所定回数繰り返した後に、ステップS205に移行してもよい。第1学習部253は、学習済みのRNNのパラメータθ70をパラメータテーブル245に格納する(ステップS205)。
学習装置200の第2生成部254は、学習データテーブル241と、学習済みのRNN70のパラメータθ70を用いて、第2学習データテーブル243の情報を生成する(ステップS206)。
学習装置200の第2学習部255は、第2学習データテーブル243を基にして、GRU71のパラメータθ71を学習する(ステップS207)。第2学習部255は、GRU71のパラメータθ71をパラメータテーブル245に格納する(ステップS208)。
学習装置200の第3生成部256は、学習データテーブル241と、学習済みのRNN70のパラメータθ70と、学習済みのGRU71のパラメータθ71とを用いて、第3学習データテーブル244の情報を生成する(ステップS209)。
第3学習部257は、第3学習データテーブル244を基にして、LSTM72のパラメータθ72およびAffine変換部75aのパラメータを学習する(ステップS210)。第3学習部257は、学習済みのLSTM72のパラメータθ72およびAffine変換部75aのパラメータをパラメータテーブル245に格納する(ステップS211)。なお、パラメータテーブル245の情報は、外部装置に通知されてもよいし、管理者端末に出力して表示されてもよい。
次に、本実施例2に係る学習装置200の効果について説明する。学習装置200は、学習データテーブル241の時系列データを所定区間に分割して、第1学習データテーブル242を生成し、第1学習データテーブル242を基にして、RNN70のパラメータθ70を学習する。学習装置200は、学習済みのパラメータθ70と、学習データテーブル241の時系列データを所定区間に分割したデータとを用いて、第2学習データテーブル243を生成し、第2学習データテーブル243を基にして、GRU71のパラメータθ71を学習する。学習装置200は、学習済みのパラメータθ70、θ71と、学習データテーブル241の時系列データを所定区間に分割したデータとを用いて、第3学習データテーブル244を生成し、第3学習データテーブル244を基にして、LSTM72のパラメータθ72を学習する。このように、学習装置200は、各層のパラメータθ70、θ71、θ72を順にまとめて学習していくため、安定した学習を行うことができる。
学習装置200は、第1学習データテーブル242を基にして、RNN70のパラメータθ70を学習する際に、D回学習を行った後に、教師ラベルと推定ラベルとを比較する。学習装置200は、教師ラベルと、推定ラベルとが異なっている教師ラベルのうち、所定の割合の教師ラベルを、推定ラベルに更新する。かかる処理を実行することで、短い区間で学習することでの過学習を抑止することができる。
なお、本実施例2に係る学習装置200は、RNN70,GRU71に2単位でデータを入力する場合について説明したがこれに限定されるものではない。たとえば、RNN70に対しては、単語長相当の8~16単位、GRU71に対しては文相当の5~10単位でデータを入力することが好ましい。
図27は、本実施例3の階層型のRNNの一例を示す図である。図27に示すように、この階層型のRNNは、LSTM80aと、LSTM80bと、GRU81aと、GRU81bと、Affine変換部85aと、Softmax部85bとを有する。図27では一例として、下層のLSTMとして、2つのLSTM80を用いる場合について説明するが、これに限定されるものでは無く、n個のLSTM80を配置してもよい。
LSTM80aは、LSTM80bに接続され、LSTM80bは、GRU81aに接続される。LSTM80aは、時系列データに含まれるデータ(たとえば、単語x)が入力されると、LSTM80aのパラメータθ80aに基づく計算を行って、隠れ状態ベクトルを算出し、LSTM80bに入力する。LSTM80aは、次のデータが入力されると、前のデータで算出した隠れ状態ベクトルと、次のデータと用いて、パラメータθ80aに基づく計算を行い、隠れ状態ベクトルを算出する処理を繰り返し実行する。LSTM80bは、LSTM80aから入力される隠れ状態ベクトルと、LSTM80bのパラメータθ80bに基づく計算を行って、隠れ状態ベクトルを算出し、GRU81aに出力する。たとえば、LSTM80bは、4つのデータが入力される度に、隠れ状態ベクトルを、GRU81aに出力する。
たとえば、本実施例3に係るLSTM80a、LSTM80bを、時系列方向に4つ単位のLSTMとする。時系列データには、データx(0)、x(1)、x(2)、x(3)、x(4)、・・・、x(n)が含まれているものとする。
LSTM80a-01は、データx(0)が入力されると、データx(0)とパラメータθ80aとに基づく計算を行って隠れ状態ベクトルを算出し、隠れ状態ベクトルをLSTM80b-02,80a-11に出力する。LSTM80b-02は、隠れ状態ベクトルの入力を受け付けると、パラメータθ80bに基づく計算を行って、隠れ状態ベクトルを算出し、LSTM80b-12に出力する。
LSTM80a-11は、データx(1)と、隠れ状態ベクトルとが入力されると、パラメータθ80aに基づく計算を行って隠れ状態ベクトルを算出し、隠れ状態ベクトルをLSTM80b-12,80a-21に出力する。LSTM80b-12は、2つの隠れ状態ベクトルの入力を受け付けると、パラメータθ80bに基づく計算を行って、隠れ状態ベクトルを算出し、LSTM80b-22に出力する。
LSTM80a-21は、データx(2)と、隠れ状態ベクトルとが入力されると、パラメータθ80aに基づく計算を行って隠れ状態ベクトルを算出し、隠れ状態ベクトルをLSTM80b-22,80a-31に出力する。LSTM80b-22は、2つの隠れ状態ベクトルの入力を受け付けると、パラメータθ80bに基づく計算を行って、隠れ状態ベクトルを算出し、LSTM80b-32に出力する。
LSTM80a-31は、データx(3)と、隠れ状態ベクトルとが入力されると、パラメータθ80aに基づく計算を行って隠れ状態ベクトルを算出し、隠れ状態ベクトルをLSTM80b-32に出力する。LSTM80b-32は、2つの隠れ状態ベクトルの入力を受け付けると、パラメータθ80bに基づく計算を行って、隠れ状態ベクトルh(3)を算出し、GRU81a-01に出力する。
LSTM80a-41~80a-71,80b-42~80b-72は、データx(4)~x(7)が入力されると、LSTM80a-01~80a-31,80b-02~80b-32と同様に隠れ状態ベクトルを算出する。LSTM80b-32は、隠れ状態ベクトルh(7)を、GRU81a-11に出力する。
LSTM80a-n21~80a-n1,80b-n-22~80b-n2は、データx(n-2)~x(n)が入力されると、LSTM80a-01~80a-31,80b-02~80b-32と同様に隠れ状態ベクトルを算出する。LSTM80b-n2は、隠れ状態ベクトルh(n)を、GRU81a-m1に出力する。
GRU81aは、GRU81bに接続され、GRU81bは、Affine変換部85aに接続される。GRU81aは、LSTM80bから隠れ状態ベクトルが入力されると、GRU81aのパラメータθ81aに基づく計算を行って、隠れ状態ベクトルを算出し、GRU81bに入力する。GRU81bは、GRU81aから隠れベクトルが入力されると、GRU81bのパラメータθ81bに基づく計算を行って、隠れ状態ベクトルを算出し、Affine変換部85aに出力する。GRU81a、GRU81bは、上記処理を繰り返し実行する。
GRU81a-01は、隠れ状態ベクトルh(3)が入力されると、隠れ状態ベクトルh(3)とパラメータθ81aに基づく計算を行って隠れ状態ベクトルを算出し、隠れ状態ベクトルを、GRU81b-02,81a-11に出力する。GRU81b-02は、隠れベクトルの入力を受け付けると、パラメータθ81bに基づく計算を行って、隠れ状態ベクトルを算出し、GRU81b-12に出力する。
GRU81a-11は、隠れ状態ベクトルh(7)と、前のGRUの隠れ状態ベクトルとが入力されると、パラメータθ81aに基づく計算を行って隠れ状態ベクトルを算出し、隠れ状態ベクトルをGRU81b-12,81a-31(図示略)に出力する。GRU81b-12は、2つの隠れ状態ベクトルの入力を受け付けると、パラメータθ81bに基づく計算を行って、隠れ状態ベクトルを算出し、GRU81b-22(図示略)に出力する。
GRU81a-m1は、隠れ状態ベクトルh(n)と、前のGRUの隠れ状態ベクトルとが入力されると、パラメータθ81aに基づく計算を行って隠れ状態ベクトルを算出し、隠れ状態ベクトルをGRU81b-m2に出力する。GRU81b-m2は、2つの隠れ状態ベクトルの入力を受け付けると、パラメータθ81bに基づく計算を行って、隠れ状態ベクトルg(n)を算出し、隠れ状態ベクトルg(n)をAffine変換部85aに出力する。
Affine変換部85aは、GRU81bから出力される隠れ状態ベクトルg(n)に対して、アフィン変換を実行する処理部ある。たとえば、Affine変換部85aは、式(3)に基づいて、アフィン変換を実行し、ベクトルYを算出する。式(3)に含まれるA、bに関する説明は、式(1)に含まれるA、bに関する説明と同様である。
=Ag(n)+b・・・(3)
Softmax部85bは、アフィン変換されたベクトルYをソフトマック関数に入力して、値「Y」を算出する処理部である。Yは、時系列データに対する推定結果のベクトルとなる。
次に、本実施例3に係る学習装置の構成の一例について説明する。図28は、本実施例3に係る学習装置の構成を示す機能ブロック図である。図28に示すように、この学習装置300は、通信部310、入力部320、表示部330、記憶部340、制御部350を有する。
通信部310は、ネットワーク等を介して、外部装置(図示略)と通信を実行する処理部である。たとえば、通信部310は、後述する学習データテーブル341の情報を外部装置から受信する。通信部210は、通信装置の一例である。後述する制御部350は、通信部310を介して、外部装置とデータをやり取りする。
入力部320は、各種の情報を、学習装置300に入力するための入力装置である。たとえば、入力部320は、キーボードやタッチパネル等に対応する。
表示部330は、制御部350から出力される各種の情報を表示する表示装置である。表示部330は、液晶ディスプレイやタッチパネル等に対応する。
記憶部340は、学習データテーブル341、第1学習データテーブル342、第2学習データテーブル343、パラメータテーブル344を有する。記憶部340は、RAM、ROM、フラッシュメモリなどの半導体メモリ素子や、HDDなどの記憶装置に対応する。
学習データテーブル341は、学習データを格納するテーブルである。図29は、本実施例3に係る学習データテーブルのデータ構造の一例を示す図である。図29に示すように、学習データテーブル341は、教師ラベルと、時系列データと、音声データとを対応付ける。本実施例3に係る時系列データは、ユーザ音声に関する、音素列のデータである。音声データは、時系列データの生成元となる音声データである。
第1学習データテーブル342は、学習データテーブル341に格納される時系列データを分割した、第1部分時系列データを格納するテーブルである。本実施例3では、時系列データは、発声の区切り、話者交代といった所定の基準で分割される。図30は、本実施例3に係る第1学習データテーブルのデータ構造の一例を示す図である。図30に示すように、第1学習データテーブル342は、教師ラベルと、第1部分時系列データとを対応付ける。各第1部分時系列データは、時系列データを、所定の基準で分割したデータである。
第2学習データテーブル343は、第1学習データテーブル342の各第1部分時系列データを、LSTM80a、LSTM80bに入力して得られる第2部分時系列データを格納するテーブルである。図31は、本実施例3に係る第2学習データテーブルのデータ構造の一例を示す図である。図31に示すように、第2学習データテーブル343は、教師ラベルと、第2部分時系列データとを対応付ける。各第2部分時系列データは、第1学習データテーブル142の各第1部分時系列データを、LSTM80a、80bに入力して得られる。
パラメータテーブル344は、LSTM80aのパラメータθ80a、LSTM80bのパラメータθ80b、GRU81aのパラメータθ81a、GRU81bのパラメータθ81b、Affine変換部85aのパラメータを格納するテーブルである。
制御部350は、図27に示す階層型のRNNを実行して、パラメータの学習を行う処理部である。制御部350は、取得部351、第1生成部352、第1学習部353、第2生成部354、第2学習部355を有する。制御部350は、CPUやMPUなどによって実現できる。また、制御部350は、ASICやFPGAなどのハードワイヤードロジックによっても実現できる。
取得部351は、外部装置(図示略)からネットワークを介して、学習データテーブル341の情報を取得する処理部である。取得部351は、取得した学習データテーブル341の情報を、学習データテーブル341に格納する。
第1生成部352は、学習データテーブル341を基にして、第1学習データテーブル342の情報を生成する処理部である。図32は、本実施例3に係る第1生成部の処理を説明するための図である。第1生成部352は、学習データテーブル341の時系列データを選択する。たとえば、時系列データには、発話者Aおよび発話者Bの音声データが対応付けられているものとする。第1生成部352は、時系列データに対応する音声の特徴量を算出し、たとえば、音声パワーが閾値未満となる発話の区切り時刻を特定する。図32に示す例では、発話の区切り時刻を、t1、t2、t3とする。
第1生成部352は、発話の区切り時刻t1、t2、t3を基にして、時系列データを、複数の第1部分時系列データに分割する。図32に示す例では、第1生成部352は、時系列データ「ohayokyowaeetoneesanjidehairyokai」を「ohayo」、「kyowa」、「eetoneesanjide」、「hairyokai」の各第1部分時系列データに分割する。第1生成部352は、時系列データに対応する教師ラベル「Y」と、各第1部分時系列データとを対応付けて、第1学習データテーブル342に格納する。
第1学習部353は、第1学習データテーブル342を基にして、LSTM80のパラメータθ80を学習する処理部である。第1学習部353は、学習したパラメータθ80をパラメータテーブル344に格納する。
図33は、本実施例3に係る第1学習部の処理を説明するための図である。第1学習部353は、LSTM80a、LSTM80b、Affine変換部85a、Softmax部85bを実行する。第1学習部353は、LSTM80aをLSTM80bに接続し、LSTM80bをAffine変換部85aに接続し、Affine変換部85aをSoftmax部85bに接続する。第1学習部353は、LSTM80aのパラメータθ80aを初期値に設定し、LSTM80bのパラメータθ80bを初期値に設定する。
第1学習部353は、第1学習データテーブル342の第1部分時系列データに格納された各データを、LSTM80a,80bに順に入力し、Softmax部85bから出力される推測ラベルYが、教師ラベルに近づくように、LSTM80aのパラメータθ80a、LSTM80aのパラメータθ80b、Affine変換部85aのパラメータを学習する。第1学習部353は、第1学習データテーブル342に格納された各第1部分時系列データについて、上記処理を「D」回繰り返し実行する。Dは予め設定される値であり、たとえば、「D=10」とする。第1学習部353は、勾配降下法等を用いて、LSTM80aのパラメータθ80a、LSTM80aのパラメータθ80b、Affine変換部85aのパラメータを学習する。
第1学習部353は、D回学習を行った場合、第1学習データテーブル342の教師ラベルを更新する処理を実行する。図34は、本実施例3に係る第1学習部の教師ラベル更新処理の一例を示す図である。
図34の学習結果6Aは、第1部分時系列データ(データ1、データ2、・・・)と、教師ラベルと、推定ラベルとを対応付ける。たとえば、データ1「ohayo」は、LSTM80に、音素列「o」、「h」、「a」、「y」、「o」を入力したことを示す。教師ラベルは、第1学習データテーブル342で定義された、第1部分時系列データに対応する教師ラベルである。推定ラベルは、第1部分時系列データを、図33のLSTM80に、入力した場合に、Softmax部75bから出力される推定ラベルである。学習結果6Aにおいて、データ1「ohayo」の教師ラベルは「Y」であり、推定ラベルが「Z」であることが示される。
学習結果6Aに示す例では、データ1「ohayo」、データ1「kyowa」、データ2「hai」、データ2「sodesu」において、教師ラベルと、推定ラベルとが異なっている。第1学習部353は、教師ラベルと、推定ラベルとが異なっている教師ラベルのうち、所定の割合の教師ラベルを、推定ラベル、推定ラベル以外の他のラベル(たとえば、カテゴリ無しのラベル)に更新する。更新結果6Bに示すように、第1学習部353は、データ1「ohayo」に対応する教師ラベルを「No Class」に更新し、データ1「hai」に対応する教師ラベルを「No Class」に更新する。第1学習部353は、図34で説明した更新を、第1学習データテーブル342の教師ラベルに反映させる。
第1学習部353は、更新した第1学習データテーブル342を用いて、再度、LSTM80のパラメータθ80およびAffine変換部85aのパラメータを学習する。第1学習部353は、学習したLSTM80のパラメータθ80を、パラメータテーブル344に格納する。
図28の説明に戻る。第2生成部354は、第1学習データテーブル342を基にして、第2学習データテーブル343の情報を生成する処理部である。図35は、本実施例3に係る第2生成部の処理を説明するための図である。
第2生成部354は、LSTM80a,80bを実行し、第1学習部353によって学習済みのパラメータθ80aを、LSTM80aに設定し、パラメータθ80bを、LSTM80bに設定する。第2生成部354は、各第1部分時系列データを、LSTM80a-01~80a-41に順に入力し、隠れ状態ベクトルhを算出する処理を繰り返し実行する。第2生成部354は、学習データテーブル341の1つのレコードの時系列データから分割された各第1部分時系列データをLSTM80aに入力することで、一組の第2部分時系列データを算出する。かかる一組の第2部分時系列データに対応する教師ラベルは、分割元の時系列データに対応する教師ラベルとなる。
たとえば、第2生成部354は、各第1部分時系列データ「ohayo」、「kyowa」、「eetoneesanjide」、「hairyokai」、をLSTM80aにそれぞれ入力することで、第2部分時系列データ「h1、h2、h3、h4」を算出する。かかる第2部分時系列データ「h1、h2、h3、h4」に対応する教師ラベルは、時系列データ「ohayokyowaeetoneesanjidehairyokai」の教師ラベル「Y」となる。
第2生成部354は、第1学習データテーブル342の他のレコードについても、上記処理を繰り返し実行することで、第2学習データテーブル343の情報を生成する。第2生成部354は、第2学習データテーブル343の情報を、第2学習データテーブル343に格納する。
第2学習部355は、第2学習データテーブル343を基にして、階層型のRNNのGRU81aのパラメータθ81aおよびGRU81bのパラメータθ81bを学習する処理部である。第2学習部355は、学習したパラメータθ81a,θ81bをパラメータテーブル344に格納する。また、第2学習部355は、Affine変換部85aのパラメータを、パラメータテーブル344に格納する。
図36は、本実施例3に係る第2学習部の処理を説明するための図である。第2学習部355は、GRU81a、GRU81b、Affine変換部85a、Softmax部85bを実行する。第2学習部355は、GRU81aをGRU81bに接続し、GRU81bをAffine変換部85aに接続し、Affine変換部85aをSoftmax部85bに接続する。第2学習部355は、GRU81aのパラメータθ81aを初期値に設定し、GRU81bのパラメータθ81bを初期値に設定する。
第2学習部355は、第2学習データテーブル343の第2部分時系列データに格納された各データを、GRU81に順に入力し、Softmax部85bから出力される推測ラベルが、教師ラベルに近づくように、GRU81a,81bのパラメータθ81a,θ81bおよびAffine変換部85aのパラメータを学習する。第2学習部355は、第2学習データテーブル343に格納された各第2部分時系列データについて、上記処理を繰り返し実行する。たとえば、第2学習部355は、勾配降下法等を用いて、GRU81a,81bのパラメータθ81a,θ81bおよびAffine変換部85aのパラメータを学習する。
次に、本実施例3に係る学習装置300の処理手順の一例について説明する。図37は、本実施例3に係る学習装置の処理手順を示すフローチャートである。以下の説明では、適宜、LSTM80aおよびLSTM80aをまとめて、LSTM80と表記する。パラメータθ80a、パラメータθ80bをまとめて、パラメータθ80と表記する。GRU81aと、GRU81bとをまとめて、GRU81と表記する。パラメータθ81a、パラメータθ81bをまとめて、パラメータθ81と表記する。図37に示すように、学習装置300の第1生成部352は、学習データテーブル341に含まれる時系列データを発話の区切りを基にして分割し、第1部分時系列データを生成する(ステップS301)。第1生成部352は、第1部分時系列データと教師ラベルとの組を第1学習データテーブルに格納する(ステップS302)。
学習装置300の第1学習部353は、第1学習データテーブル242を基にして、LSTM80のパラメータθ80の学習をD回実行する(ステップS303)。第1学習部353は、第1学習データテーブル342について、推定ラベルと教師ラベルとが異なる教師ラベルの内、所定割合の教師ラベルを、「No Class」に変更する(ステップS304)。
第1学習部353は、更新した第1学習データテーブル342を基にして、LSTM80のパラメータθ80を学習する(ステップS305)。第1学習部353は、学習済みのLSTMのパラメータθ80をパラメータテーブル344に格納する(ステップS306)。
学習装置300の第2生成部354は、第1学習データテーブル342と、学習済みのLSTM80のパラメータθ80を用いて、第2学習データテーブル343の情報を生成する(ステップS307)。
学習装置300の第2学習部355は、第2学習データテーブル343を基にして、GRU81のパラメータθ81およびAffine変換部85aのパラメータを学習する(ステップS308)。第2学習部255は、GRU81のパラメータθ81およびAffine変換部85aのパラメータをパラメータテーブル344に格納する(ステップS309)。
次に、本実施例3に係る学習装置300の効果について説明する。学習装置300は、時系列データに対応する音声の特徴量を算出し、たとえば、音声パワーが閾値未満となる発話の区切り時刻を特定し、特定した区切り時刻を基にして、第1部分時系列データを生成する。これにより、発話区間を一つの単位として、LSTM80、GRU81の学習を行うことができる。
学習装置300は、第1学習データテーブル342を基にして、LSTM80のパラメータθ80を学習する際に、D回学習を行った後に、教師ラベルと推定ラベルとを比較する。学習装置300は、教師ラベルと、推定ラベルとが異なっている教師ラベルのうち、所定の割合の教師ラベルを、カテゴリ無しのラベルに更新する。かかる処理を実行することで、全体の識別に寄与しない音素列の区間の影響を抑止することができる。
次に、本実施例に示した学習装置100(200,300)と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図38は、本実施例に係る学習装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図38に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータの入力を受け付ける入力装置402と、ディスプレイ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る読み取り装置404と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置405とを有する。コンピュータ400は、各種情報を一時記憶するRAM406と、ハードディスク装置407とを有する。そして、各装置401~407は、バス408に接続される。
ハードディスク装置407は、取得プログラム407a、第1生成プログラム407b、第1学習プログラム407c、第2生成プログラム407d、第2学習プログラム407eを有する。CPU401は、取得プログラム407a、第1生成プログラム407b、第1学習プログラム407c、第2生成プログラム407d、第2学習プログラム407eを読み出して、RAM406に展開する。
取得プログラム407aは、取得プロセス406aとして機能する。第1生成プログラム407bは、第1生成プロセス406bとして機能する。第1学習プログラム407cは、第1生成プロセス406cとして機能する。第2生成プログラム407dは、第2生成プロセス406dとして機能する。第2学習プログラム407eは、第2学習プロセス406eとして機能する。
取得プロセス406aの処理は、取得部151、251,351の処理に対応する。第1生成プロセス406bの処理は、第1生成部152,252,352の処理に対応する。第1学習プロセス406cの処理は、第1学習部153,253,353の処理に対応する。第2生成プロセス406dの処理は、第2生成部154,254,354の処理に対応する。第2学習プロセスの処理は、第2学習部155,255,355の処理に対応する。
なお、各プログラム407a~407eについては、必ずしも最初からハードディスク装置407に記憶させておかなくてもよい。例えば、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ400が各プログラム407a~407eを読み出して実行するようにしてもよい。
図示を省略したが、ハードディスク装置407は、第3生成プログラムおよび第3学習プログラムを有していてもよい。CPU401は、第3生成プログラムおよび第3学習プログラムを読み出して、RAM406に展開する。第3生成プログラムおよび第3学習プログラムは、第3生成プロセスおよび第3学習プロセスとして機能する。第3生成プロセスは、第3生成部256の処理に対応する。第3学習プロセスは、第3学習部257の処理に対応する。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)時系列に複数のデータが並んだ時系列データを所定区間に分割することで、複数の第1部分時系列データを生成し、前記複数の第1部分時系列データと、前記時系列データ全体に対する教師データとをそれぞれ対応付けた第1学習データを生成する第1生成部と、
前記第1学習データを基にして、複数の層に含まれる各RNN(Recurrent Neural Network)のうち、第1層に含まれる第1RNNの第1パラメータを学習する第1学習部と、
前記複数の層に含まれる各RNNのパラメータを学習する場合、学習済みの前記第1パラメータを前記第1RNNに設置して、前記第1部分時系列データをそれぞれ入力して得られるデータと、前記教師データとを基にして、前記複数の層に含まれる各RNNのパラメータを学習する学習処理部と
を有することを特徴とする学習装置。
(付記2)前記学習処理部は、前記第1RNNの学習済みの前記第1パラメータを設置して、前記第1部分時系列データをそれぞれ入力して得られる複数の第2部分時系列データと、前記教師データとをそれぞれ対応付けた第2学習データを生成する第2生成部と、
前記第2学習データを基にして、前記第1層よりも一つ上層となる第2層に含まれる第2RNNの第2パラメータを学習する第2学習部とを有することを特徴とする付記1に記載の学習装置。
(付記3)前記第1生成部は、前記第1RNNに前記第1部分時系列データを入力した場合に出力される出力データと、前記教師データとが異なる場合に、前記第1学習データに含まれる第1部分時系列データと前記教師データとの複数の組のうち、一部の組について、第1部分時系列データに対応する前記教師データを、前記出力データに更新することで、前記第1学習データを生成することを特徴とする付記1または2に記載の学習装置。
(付記4)前記第1生成部は、前記第1RNNに前記第1部分時系列データを入力した場合に出力される出力データと、前記教師データとが異なる場合に、前記第1学習データに含まれる第1部分時系列データと前記教師データとの複数の組のうち、一部の組について、第1部分時系列データに対応する前記教師データを、前記教師データおよび前記出力データとは異なる他のデータに更新することで、前記第1学習データを生成することを特徴とする付記1または2に記載の学習装置。
(付記5)前記第1生成部は、前記時系列データに対応する音声データの特徴を基にして、前記時系列データを前記複数の第1部分時系列データに分割することを特徴とする付記1~4のいずれか一つに記載の学習装置。
(付記6)コンピュータが実行する学習方法であって、
時系列に複数のデータが並んだ時系列データを所定区間に分割することで、複数の第1部分時系列データを生成し、前記複数の第1部分時系列データと、前記時系列データ全体に対する教師データとをそれぞれ対応付けた第1学習データを生成し、
前記第1学習データを基にして、複数の層に含まれる各RNN(Recurrent Neural Network)のうち、第1層に含まれる第1RNNの第1パラメータを学習し、
前記複数の層に含まれる各RNNのパラメータを学習する場合、学習済みの前記第1パラメータを前記第1RNNに設置して、前記第1部分時系列データをそれぞれ入力して得られるデータと、前記教師データとを基にして、前記複数の層に含まれる各RNNのパラメータを学習する
処理を実行することを特徴とする学習方法。
(付記7)前記複数の層に含まれる各RNNのパラメータを学習する処理は、前記第1RNNの学習済みの前記第1パラメータを設置して、前記第1部分時系列データをそれぞれ入力して得られる複数の第2部分時系列データと、前記教師データとをそれぞれ対応付けた第2学習データを生成し、前記第2学習データを基にして、前記第1層よりも一つ上層となる第2層に含まれる第2RNNの第2パラメータを学習することを特徴とする付記6に記載の学習方法。
(付記8)前記第1学習データを生成する処理は、前記第1RNNに前記第1部分時系列データを入力した場合に出力される出力データと、前記教師データとが異なる場合に、前記第1学習データに含まれる第1部分時系列データと前記教師データとの複数の組のうち、一部の組について、第1部分時系列データに対応する前記教師データを、前記出力データに更新することで、前記第1学習データを生成することを特徴とする付記6または7に記載の学習方法。
(付記9)前記第1学習データを生成する処理は、前記第1RNNに前記第1部分時系列データを入力した場合に出力される出力データと、前記教師データとが異なる場合に、前記第1学習データに含まれる第1部分時系列データと前記教師データとの複数の組のうち、一部の組について、第1部分時系列データに対応する前記教師データを、前記教師データおよび前記出力データとは異なる他のデータに更新することで、前記第1学習データを生成することを特徴とする付記6または7に記載の学習方法。
(付記10)前記第1学習データを生成する処理は、前記時系列データに対応する音声データの特徴を基にして、前記時系列データを前記複数の第1部分時系列データに分割することを特徴とする付記6~9のいずれか一つに記載の学習方法。
(付記11)コンピュータに、
時系列に複数のデータが並んだ時系列データを所定区間に分割することで、複数の第1部分時系列データを生成し、前記複数の第1部分時系列データと、前記時系列データ全体に対する教師データとをそれぞれ対応付けた第1学習データを生成し、
前記第1学習データを基にして、複数の層に含まれる各RNN(Recurrent Neural Network)のうち、第1層に含まれる第1RNNの第1パラメータを学習し、
前記複数の層に含まれる各RNNのパラメータを学習する場合、学習済みの前記第1パラメータを前記第1RNNに設置して、前記第1部分時系列データをそれぞれ入力して得られるデータと、前記教師データとを基にして、前記複数の層に含まれる各RNNのパラメータを学習する
処理を実行させることを特徴とする学習プログラム。
(付記12)前記複数の層に含まれる各RNNのパラメータを学習する処理は、前記第1RNNの学習済みの前記第1パラメータを設置して、前記第1部分時系列データをそれぞれ入力して得られる複数の第2部分時系列データと、前記教師データとをそれぞれ対応付けた第2学習データを生成し、前記第2学習データを基にして、前記第1層よりも一つ上層となる第2層に含まれる第2RNNの第2パラメータを学習することを特徴とする付記11に記載の学習プログラム。
(付記13)前記第1学習データを生成する処理は、前記第1RNNに前記第1部分時系列データを入力した場合に出力される出力データと、前記教師データとが異なる場合に、前記第1学習データに含まれる第1部分時系列データと前記教師データとの複数の組のうち、一部の組について、第1部分時系列データに対応する前記教師データを、前記出力データに更新することで、前記第1学習データを生成することを特徴とする付記11または12に記載の学習プログラム。
(付記14)前記第1学習データを生成する処理は、前記第1RNNに前記第1部分時系列データを入力した場合に出力される出力データと、前記教師データとが異なる場合に、前記第1学習データに含まれる第1部分時系列データと前記教師データとの複数の組のうち、一部の組について、第1部分時系列データに対応する前記教師データを、前記教師データおよび前記出力データとは異なる他のデータに更新することで、前記第1学習データを生成することを特徴とする付記11または12に記載の学習プログラム。
(付記15)前記第1学習データを生成する処理は、前記時系列データに対応する音声データの特徴を基にして、前記時系列データを前記複数の第1部分時系列データに分割することを特徴とする付記11~14のいずれか一つに記載の学習プログラム。
100,200,300 学習装置
110,210,310 通信部
120,220,320 入力部
130,230,330 表示部
140,240,340 記憶部
141,241,341 学習データテーブル
142,242,342 第1学習データテーブル
143,243,343 第2学習データテーブル
144,245,344 パラメータテーブル
150,250,350 制御部
151、251,351 取得部
152,252,352 第1生成部
153,253,353 第1学習部
154,254,354 第2生成部
155,255,355 第2学習部
256 第3生成部
257 第3学習部
244 第3学習データテーブル

Claims (7)

  1. 時系列に複数のデータが並んだ時系列データを所定区間に分割することで、複数の第1部分時系列データを生成し、前記複数の第1部分時系列データと、前記時系列データ全体に対する教師データとをそれぞれ対応付けた第1学習データを生成する第1生成部と、
    前記第1学習データを基にして、複数の層に含まれる各RNN(Recurrent Neural Network)のうち、第1層に含まれる第1RNNの第1パラメータを学習する第1学習部と、
    前記複数の層に含まれる各RNNのパラメータを学習する場合、学習済みの前記第1パラメータを前記第1RNNに設置して、前記第1部分時系列データをそれぞれ入力して得られるデータと、前記教師データとを基にして、前記複数の層に含まれる各RNNのパラメータを学習する学習処理部と
    を有することを特徴とする学習装置。
  2. 前記学習処理部は、前記第1RNNの学習済みの前記第1パラメータを設置して、前記第1部分時系列データをそれぞれ入力して得られる複数の第2部分時系列データと、前記教師データとをそれぞれ対応付けた第2学習データを生成する第2生成部と、
    前記第2学習データを基にして、前記第1層よりも一つ上層となる第2層に含まれる第2RNNの第2パラメータを学習する第2学習部とを有することを特徴とする請求項1に記載の学習装置。
  3. 前記第1学習部は、前記第1RNNに前記第1部分時系列データを入力した場合に出力される出力データと、前記教師データとが異なる場合に、前記第1学習データに含まれる第1部分時系列データと前記教師データとの複数の組のうち、一部の組について、第1部分時系列データに対応する前記教師データのラベルを、前記出力データのラベルに更新することで、前記第1学習データを生成することを特徴とする請求項1または2に記載の学習装置。
  4. 前記第1学習部は、前記第1RNNに前記第1部分時系列データを入力した場合に出力される出力データと、前記教師データとが異なる場合に、前記第1学習データに含まれる第1部分時系列データと前記教師データとの複数の組のうち、一部の組について、第1部分時系列データに対応する前記教師データのラベルを、前記教師データのラベルおよび前記出力データのラベルとは異なる他のデータのラベルに更新することを特徴とする請求項1または2に記載の学習装置。
  5. 前記第1生成部は、前記時系列データに対応する音声データの特徴を基にして、前記時系列データを前記複数の第1部分時系列データに分割することを特徴とする請求項1~4のいずれか一つに記載の学習装置。
  6. コンピュータが実行する学習方法であって、
    時系列に複数のデータが並んだ時系列データを所定区間に分割することで、複数の第1部分時系列データを生成し、前記複数の第1部分時系列データと、前記時系列データ全体に対する教師データとをそれぞれ対応付けた第1学習データを生成し、
    前記第1学習データを基にして、複数の層に含まれる各RNN(Recurrent Neural Network)のうち、第1層に含まれる第1RNNの第1パラメータを学習し、
    前記複数の層に含まれる各RNNのパラメータを学習する場合、学習済みの前記第1パラメータを前記第1RNNに設置して、前記第1部分時系列データをそれぞれ入力して得られるデータと、前記教師データとを基にして、前記複数の層に含まれる各RNNのパラメータを学習する
    処理を実行することを特徴とする学習方法。
  7. コンピュータに、
    時系列に複数のデータが並んだ時系列データを所定区間に分割することで、複数の第1部分時系列データを生成し、前記複数の第1部分時系列データと、前記時系列データ全体に対する教師データとをそれぞれ対応付けた第1学習データを生成し、
    前記第1学習データを基にして、複数の層に含まれる各RNN(Recurrent Neural Network)のうち、第1層に含まれる第1RNNの第1パラメータを学習し、
    前記複数の層に含まれる各RNNのパラメータを学習する場合、学習済みの前記第1パラメータを前記第1RNNに設置して、前記第1部分時系列データをそれぞれ入力して得られるデータと、前記教師データとを基にして、前記複数の層に含まれる各RNNのパラメータを学習する
    処理を実行させることを特徴とする学習プログラム。
JP2018241129A 2018-12-25 2018-12-25 学習装置、学習方法および学習プログラム Active JP7206898B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018241129A JP7206898B2 (ja) 2018-12-25 2018-12-25 学習装置、学習方法および学習プログラム
US16/696,514 US20200202212A1 (en) 2018-12-25 2019-11-26 Learning device, learning method, and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018241129A JP7206898B2 (ja) 2018-12-25 2018-12-25 学習装置、学習方法および学習プログラム

Publications (2)

Publication Number Publication Date
JP2020102107A JP2020102107A (ja) 2020-07-02
JP7206898B2 true JP7206898B2 (ja) 2023-01-18

Family

ID=71097676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018241129A Active JP7206898B2 (ja) 2018-12-25 2018-12-25 学習装置、学習方法および学習プログラム

Country Status (2)

Country Link
US (1) US20200202212A1 (ja)
JP (1) JP7206898B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11475327B2 (en) * 2019-03-12 2022-10-18 Swampfox Technologies, Inc. Apparatus and method for multivariate prediction of contact center metrics using machine learning
US11763160B2 (en) * 2020-01-16 2023-09-19 Avanseus Holdings Pte. Ltd. Machine learning method and system for solving a prediction problem

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010266974A (ja) 2009-05-13 2010-11-25 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2018081493A (ja) 2016-11-16 2018-05-24 株式会社東芝 パターン識別装置、パターン識別方法およびプログラム
JP2018128942A (ja) 2017-02-10 2018-08-16 ヤフー株式会社 解析装置、解析方法、およびプログラム
JP2018155939A (ja) 2017-03-17 2018-10-04 ヤフー株式会社 生成装置、生成方法および生成プログラム

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9400954B2 (en) * 2012-07-30 2016-07-26 International Business Machines Corporation Multi-scale spatio-temporal neural network system
US9536177B2 (en) * 2013-12-01 2017-01-03 University Of Florida Research Foundation, Inc. Distributive hierarchical model for object recognition in video
US10319374B2 (en) * 2015-11-25 2019-06-11 Baidu USA, LLC Deployed end-to-end speech recognition
JP2017138929A (ja) * 2016-02-05 2017-08-10 株式会社東芝 時系列データ波形分析装置、方法、及びプログラム
US11222253B2 (en) * 2016-11-03 2022-01-11 Salesforce.Com, Inc. Deep neural network model for processing data through multiple linguistic task hierarchies
US10417498B2 (en) * 2016-12-30 2019-09-17 Mitsubishi Electric Research Laboratories, Inc. Method and system for multi-modal fusion model
JP6791800B2 (ja) * 2017-04-05 2020-11-25 株式会社日立製作所 計算機システム及び再帰型ニューラルネットワークを用いた演算方法
US10949742B2 (en) * 2017-09-18 2021-03-16 International Business Machines Corporation Anonymized time-series generation from recurrent neural networks
US11164066B1 (en) * 2017-09-26 2021-11-02 Google Llc Generating parameter values for recurrent neural networks
US20190114546A1 (en) * 2017-10-12 2019-04-18 Nvidia Corporation Refining labeling of time-associated data
US10796686B2 (en) * 2017-10-19 2020-10-06 Baidu Usa Llc Systems and methods for neural text-to-speech using convolutional sequence learning
US10331490B2 (en) * 2017-11-16 2019-06-25 Sas Institute Inc. Scalable cloud-based time series analysis
US11030997B2 (en) * 2017-11-22 2021-06-08 Baidu Usa Llc Slim embedding layers for recurrent neural language models
US20190163806A1 (en) * 2017-11-28 2019-05-30 Agt International Gmbh Method of correlating time-series data with event data and system thereof
US11182677B2 (en) * 2017-12-13 2021-11-23 Cognizant Technology Solutions U.S. Corporation Evolving recurrent networks using genetic programming
US11003858B2 (en) * 2017-12-22 2021-05-11 Microsoft Technology Licensing, Llc AI system to determine actionable intent
US11150327B1 (en) * 2018-01-12 2021-10-19 Hrl Laboratories, Llc System and method for synthetic aperture radar target recognition using multi-layer, recurrent spiking neuromorphic networks
JP7020156B2 (ja) * 2018-02-06 2022-02-16 オムロン株式会社 評価装置、動作制御装置、評価方法、及び評価プログラム
CN109858615A (zh) * 2018-02-09 2019-06-07 渊慧科技有限公司 具有记忆的低通递归神经网络系统
EP3698283A1 (en) * 2018-02-09 2020-08-26 DeepMind Technologies Limited Generative neural network systems for generating instruction sequences to control an agent performing a task
US11538455B2 (en) * 2018-02-16 2022-12-27 Dolby Laboratories Licensing Corporation Speech style transfer
US11068474B2 (en) * 2018-03-12 2021-07-20 Microsoft Technology Licensing, Llc Sequence to sequence conversational query understanding
JP7052866B2 (ja) * 2018-04-18 2022-04-12 日本電信電話株式会社 自己訓練データ選別装置、推定モデル学習装置、自己訓練データ選別方法、推定モデル学習方法、およびプログラム
US20190354836A1 (en) * 2018-05-17 2019-11-21 International Business Machines Corporation Dynamic discovery of dependencies among time series data using neural networks
US10832139B2 (en) * 2018-06-22 2020-11-10 Moffett Technologies Co. Limited Neural network acceleration and embedding compression systems and methods with activation sparsification
EP3594860B1 (en) * 2018-07-09 2024-05-08 Tata Consultancy Services Limited Sparse neural network based anomaly detection in multi-dimensional time series
US20200050941A1 (en) * 2018-08-07 2020-02-13 Amadeus S.A.S. Machine learning systems and methods for attributed sequences
US20200097810A1 (en) * 2018-09-25 2020-03-26 Oracle International Corporation Automated window based feature generation for time-series forecasting and anomaly detection
US20200125945A1 (en) * 2018-10-18 2020-04-23 Drvision Technologies Llc Automated hyper-parameterization for image-based deep model learning
US11544530B2 (en) * 2018-10-29 2023-01-03 Nec Corporation Self-attentive attributed network embedding
CA3061745A1 (en) * 2018-11-16 2020-05-16 Royal Bank Of Canada System and method for generative model for stochastic point processes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010266974A (ja) 2009-05-13 2010-11-25 Sony Corp 情報処理装置、情報処理方法、およびプログラム
JP2018081493A (ja) 2016-11-16 2018-05-24 株式会社東芝 パターン識別装置、パターン識別方法およびプログラム
JP2018128942A (ja) 2017-02-10 2018-08-16 ヤフー株式会社 解析装置、解析方法、およびプログラム
JP2018155939A (ja) 2017-03-17 2018-10-04 ヤフー株式会社 生成装置、生成方法および生成プログラム

Also Published As

Publication number Publication date
US20200202212A1 (en) 2020-06-25
JP2020102107A (ja) 2020-07-02

Similar Documents

Publication Publication Date Title
JP6976804B2 (ja) 音源分離方法および音源分離装置
JP7206898B2 (ja) 学習装置、学習方法および学習プログラム
US20160241346A1 (en) Source separation using nonnegative matrix factorization with an automatically determined number of bases
JP6712644B2 (ja) 音響モデル学習装置、その方法、及びプログラム
CN107464554A (zh) 语音合成模型生成方法和装置
JP2017219948A (ja) 情報処理装置、イジング装置及び情報処理装置の制御方法
CN107644630A (zh) 基于神经网络的旋律生成方法及装置
JP6773618B2 (ja) 学習装置、情報処理装置、学習方法およびプログラム
JPWO2014087590A1 (ja) 最適化装置、最適化方法および最適化プログラム
JP2013068938A (ja) 信号処理装置、信号処理方法及びコンピュータプログラム
JP7109071B2 (ja) 学習装置、学習方法、音声合成装置、音声合成方法及びプログラム
JP6290803B2 (ja) モデル推定装置、目的音強調装置、モデル推定方法及びモデル推定プログラム
JP6910609B2 (ja) 信号解析装置、方法、及びプログラム
US11322169B2 (en) Target sound enhancement device, noise estimation parameter learning device, target sound enhancement method, noise estimation parameter learning method, and program
Kobayashi et al. Parametric approximation of piano sound based on Kautz model with sparse linear prediction
JP7452661B2 (ja) 学習装置、音声認識装置、学習方法、音声認識方法、学習プログラム及び音声認識プログラム
JP6869588B1 (ja) 情報処理装置、方法及びプログラム
JP2019185207A (ja) モデル学習装置、モデル学習方法、プログラム
JPWO2016002020A1 (ja) 行列生成装置及び行列生成方法及び行列生成プログラム
JP2000242624A (ja) 信号分離装置
JP2023003177A (ja) 推論プログラム、推論方法および情報処理装置
WO2022168162A1 (ja) 事前学習方法、事前学習装置及び事前学習プログラム
JP7462206B2 (ja) 学習装置、学習方法、及び学習プログラム
Cingolani et al. An extreme learning machine approach for training Time Variant Neural Networks
JP7485050B2 (ja) 信号処理装置、信号処理方法、信号処理プログラム、学習装置、学習方法、および、学習プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220920

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221219

R150 Certificate of patent or registration of utility model

Ref document number: 7206898

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150