(57)【要約】【課題】入力情報の特徴に応じて出力される出力情報をより適切にする。【解決手段】本願に係る学習装置は、入力情報が入力される入力層、当該入力層の出力から前記入力情報の特徴を段階的に抽出する複数の中間層、および前記複数の中間層により抽出された前記入力情報の特徴を出力する出力層とを有する符号化器と、前記符号化器の出力に対して、前記複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記入力情報に応じた出力情報を生成する復元器とを学習する学習部を有することを特徴とする。【選択図】図１
2019079088.tif 000002
【特許請求の範囲】
【請求項１】
入力情報が入力される入力層、当該入力層の出力から前記入力情報の特徴を段階的に抽出する複数の中間層、および前記複数の中間層により抽出された前記入力情報の特徴を出力する出力層とを有する符号化器と、前記符号化器の出力に対して、前記複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記入力情報に応じた出力情報を生成する復元器とを学習する学習部
を有することを特徴とする学習装置。
【請求項２】
前記学習部は、前記入力層に対して情報を入力した際における前記中間層に含まれるノードの状態に基づいた複数の列成分を有するアテンション行列を適用する適用器
を学習することを特徴とする請求項１に記載の学習装置。
【請求項３】
前記学習部は、同じ中間層に含まれる各ノードの状態に応じた値を同じ列に配置したアテンション行列を適用する適用器を学習する
ことを特徴とする請求項２に記載の学習装置。
【請求項４】
前記学習部は、前記複数の中間層に含まれるノードのうち、一部のノードの状態に応じた複数の小行列に基づいたアテンション行列を適用する適用器を学習する
ことを特徴とする請求項３に記載の学習装置。
【請求項５】
前記学習部は、新たに入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成するノードを含む複数の中間層を有する符号化器を学習する
ことを特徴とする請求項１〜４のうちいずれか１つに記載の学習装置。
【請求項６】
前記学習部は、前記符号化器が有する複数の中間層が他の層に情報を提供する時系列的な構造に応じた要素の値を有するアテンション行列を適用する適用器を学習する
ことを特徴とする請求項５に記載の学習装置。
【請求項７】
前記学習部は、前記複数の中間層が有するノードと対応する要素を含むアテンション行列であって、所定の情報を前記入力層に入力した際における各ノードの状態に応じた列成分を有し、各ノードの時系列的な状態に応じた行成分を有するアテンション行列を適用する適用器を学習する
ことを特徴とする請求項５または６に記載の学習装置。
【請求項８】
前記学習部は、ある時系列において他のノードから情報が提供されないノードと対応する行成分を０とするアテンション行列を適用する適用器を学習する
ことを特徴とする請求項７に記載の学習装置。
【請求項９】
前記学習部は、前記符号化器の出力に対して、前記アテンション行列の固有値、固有ベクトル、若しくは特異値を適用する適用器を学習する
ことを特徴とする請求項１〜８のうちいずれか１つに記載の学習装置。
【請求項１０】
入力情報が入力される入力層、当該入力層の出力から前記入力情報の特徴を段階的に抽出する複数の中間層、および前記複数の中間層により抽出された前記入力情報の特徴を出力する出力層とを有する符号化器と、前記符号化器の出力に対して、前記複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記入力情報に応じた出力情報を生成する復元器とを学習する学習工程
を含むことを特徴とする学習方法で生成される符号化器と適用器と復元器とからなるリカレントニューラルネットワークを含むプログラムパラメータ。
【請求項１１】
学習装置が実行する学習方法であって、
入力情報が入力される入力層、当該入力層の出力から前記入力情報の特徴を段階的に抽出する複数の中間層、および前記複数の中間層により抽出された前記入力情報の特徴を出力する出力層とを有する符号化器と、前記符号化器の出力に対して、前記複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記入力情報に応じた出力情報を生成する復元器とを学習する学習工程
を含むことを特徴とする学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、プログラムパラメータおよび学習方法に関する。
【背景技術】
【０００２】
近年、多段に接続されたニューロンを有するＤＮＮ（Deep  Neural  Network）を利用して言語認識や画像認識等、入力された情報の特徴を学習する技術が知られている。例えば、このような技術が適用されたモデルは、入力情報の次元量を圧縮することで特徴を抽出し、抽出した特徴の次元量を徐々に拡大することで、入力情報の特徴に応じた出力情報を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１２７０７７号公報
【非特許文献】
【０００４】
【非特許文献１】“Learning  Phrase  Representations  using  RNN  Encoder−Decoder  for  Statistical  Machine  Translation”，Kyunghyun  Cho,  Bart  van  Merrienboer,  Caglar  Gulcehre,  Dzmitry  Bahdanau,  Fethi  Bougares,  Holger  Schwenk,  Yoshua  Bengio,  arXiv:1406.1078v3  [cs.CL]  3  Sep  2014
【非特許文献２】“Neural  Responding  Machine  for  Short-Text  Conversation”  Lifeng  Shang,  Zhengdong  Lu,  Hang  Li<https://arxiv.org/pdf/1503.02364.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、入力情報の特徴に応じて適切な出力情報を出力しているとは言えない場合がある。
【０００６】
例えば、入力情報の次元数を圧縮することで特徴を抽出した場合、特徴の周辺情報が消失してしまう恐れがある。このような特徴の周辺情報が消失した場合、入力情報が有する特徴の周辺情報を考慮した出力情報を生成することができない。このため、例えば、上述した従来技術では、利用者の発話を入力情報とし、発話に対する応答を出力情報とした場合、発話に含まれる特徴のみを用いて応答を出力してしまうため、発話に直接現れていない意図を反映させた応答等、自然な内容の文章を出力情報として生成できない恐れがある。
【０００７】
本願は、上記に鑑みてなされたものであって、入力情報の特徴に応じて出力される出力情報をより適切にすることを目的とする。
【課題を解決するための手段】
【０００８】
本願に係る学習装置は、入力情報が入力される入力層、当該入力層の出力から前記入力情報の特徴を段階的に抽出する複数の中間層、および前記複数の中間層により抽出された前記入力情報の特徴を出力する出力層とを有する符号化器と、前記符号化器の出力に対して、前記複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、前記適用器によってアテンション行列が適用された前記符号化器の出力から、前記入力情報に応じた出力情報を生成する復元器とを学習する学習部を有することを特徴とする。
【発明の効果】
【０００９】
実施形態の一態様によれば、入力情報の特徴に応じて出力される出力情報をより適切にすることができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態に係る学習装置が実行する学習処理の一例を示す図である。
【図２】図２は、実施形態に係るエンコーダの中間層における時系列的な構造の一例を示す図である。
【図３】図３は、実施形態に係る学習装置の構成例を示す図である。
【図４】図４は、実施形態に係る正解データデータベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る処理の流れの一例を説明するフローチャートである。
【図６】図６は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願に係る学習装置、プログラムパラメータおよび学習方法を実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、プログラムパラメータおよび学習方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１２】
［実施形態］
〔１−１．学習装置の一例〕
まず、図１を用いて、学習装置が実行する学習処理の一例について説明する。図１は、実施形態に係る学習装置が実行する学習処理の一例を示す図である。図１では、学習装置１０は、以下に説明する学習処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１３】
より具体的には、学習装置１０は、インターネット等の所定のネットワークＮ（例えば、図３参照）を介して、任意の利用者が使用する情報処理装置１００、２００と通信可能である。例えば、学習装置１０は、情報処理装置１００、２００との間で、各種データの送受信を行う。
【００１４】
なお、情報処理装置１００、２００は、スマートフォンやタブレット等のスマートデバイス、デスクトップＰＣ（Personal  Computer）やノートＰＣ等、サーバ装置等の情報処理装置により実現されるものとする。
【００１５】
〔１−２．情報処理装置が学習するモデルの概要について〕
ここで、学習装置１０は、入力された情報（以下、「入力情報」と記載する。）に対し、入力情報に対応する情報（以下、「出力情報」と記載する。）を出力するモデルＬ１０の作成を行う。例えば、モデルＬ１０は、w２v（word2vec）やs２v(sentence2vec)等、単語や文章をベクトル（多次元量）に変換し、変換後のベクトルを用いて入力された文章に対応する応答を出力する。また、他の例では、モデルＬ１０は、入力された静止画像や動画像に対応する静止画像や動画像を出力する。また、他の例では、モデルＬ１０は、利用者の属性が入力情報として入力された際に、利用者に対して提供する広告の内容や種別を示す情報を出力する。
【００１６】
また、モデルＬ１０は、例えば、ニュースやＳＮＳ（Social  Networking  Service）に利用者が投稿した各種の投稿情報等、任意のコンテンツが入力情報として入力された際に、対応する任意のコンテンツを出力情報として出力する。すなわち、モデルＬ１０は、入力情報が入力された際に対応する出力情報を出力するのであれば、任意の種別の情報を入力情報および出力情報としてよい。
【００１７】
ここで、モデルＬ１０として、ＤＮＮが採用される場合、入力情報の特徴を抽出し、抽出した特徴に基づいて出力情報を生成する構成が考えられる。例えば、モデルＬ１０の構成として、入力情報の特徴を抽出するエンコーダＥＮと、エンコーダＥＮの出力に基づいて、出力情報を生成するデコーダＤＣとを有する構成が考えられる。このようなモデルＬ１０のエンコーダＥＮやデコーダＤＣは、オートエンコーダ、ＲＮＮ（Recurrent  Neural  Networks）、ＬＳＴＭ（Long  short-term  memory）等、各種のニューラルネットで構成される。
【００１８】
ここで、エンコーダＥＮは、入力情報の特徴を抽出するため、例えば、入力情報から入力情報が有する特徴を抽出するための複数の中間層を有する。例えば、エンコーダＥＮがオートエンコーダにより実現される場合、エンコーダＥＮは、入力情報の次元数を徐々に減少させる複数の中間層を有する。このような中間層は、入力情報の次元数を徐々に減少させることで、入力情報が有する特徴を抽出する。
【００１９】
ここで、モデルＬ１０のデコーダＤＣは、入力情報が有する特徴に基づいて、出力情報を生成する。しかしながら、エンコーダＥＮが出力する特徴は、入力情報の次元数を徐々に減少させることにより抽出されるため、出力情報の生成に有用な情報が欠落している恐れがある。すなわち、エンコーダＥＮは、入力情報が有する特徴のみをデコーダＤＣに引き渡すこととなるため、デコーダＤＣが出力する出力情報の精度を悪化させる恐れがある。
【００２０】
そこで、学習装置１０は、以下の学習処理を実行する。例えば、学習装置１０は、入力情報が入力される入力層、入力層の出力から入力情報の特徴を段階的に抽出する複数の中間層、および複数の中間層により抽出された入力情報の特徴を出力する出力層とを有する符号化器と、符号化器の出力に対して、複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、適用器によってアテンション行列が適用された符号化器の出力から、入力情報に応じた出力情報を生成する復元器とを学習する。
【００２１】
例えば、学習装置１０は、入力層に対して情報を入力した際における中間層に含まれるノードの状態に基づいた複数の列成分を有するアテンション行列を適用する適用器の学習を行う。また、例えば、学習装置１０は、同じ中間層に含まれる各ノードの状態に応じた値を同じ列に配置したアテンション行列を適用する適用器を学習する。
【００２２】
すなわち、情報処理装置１００は、エンコーダの出力に対し、エンコーダが入力情報から抽出する複数の特徴に基づいたアテンション行列を適用し、エンコーダの出力を値としてではなく行列としてデコーダに引き渡す。そして、学習装置１０は、アテンション行列を適用したエンコーダの出力から、出力情報を生成するようにデコーダの学習を行う。
【００２３】
このようにして適用されるアテンション行列は、入力情報をエンコーダに入力した際の、中間層におけるノードの状態の特徴を示す。換言すると、アテンション行列は、入力情報が有する特徴のみならず、特徴の周辺情報を示すと考えられる。このようなアテンション行列をエンコーダの出力、すなわち、エンコーダが入力情報から抽出した特徴を示す情報に適用することで、情報処理装置１００は、中間層において消失される情報（すなわち、特徴の周辺情報の特徴）を、エンコーダの出力に適用することができる。そして、情報処理装置１００は、エンコーダが抽出した特徴と、アテンション行列が示す特徴とを示す行列から出力情報をデコーダに生成させる。この結果、情報処理装置１００は、モデルが生成する出力情報の精度を向上させることができる。
【００２４】
〔１−３．エンコーダについて〕
ここで、学習装置１０は、エンコーダとして、ＲＮＮ、ＬＳＴＭ、ＣＮＮ（Convolutional  Neural  Network）、ＤＰＣＮ（Deep  Predictive  Coding  Networks）等、任意の構造を有するニューラルネットワークをエンコーダとして採用してよい。また、学習装置１０は、各レイヤごとに、ＤＰＣＮの構造を有するニューラルネットワークを採用してもよい。
【００２５】
例えば、学習装置１０は、エンコーダとして、ＲＮＮの構造を有するニューラルネットワークを採用する場合、新たに入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成するノードを含む複数の中間層を有するエンコーダを学習することとなる。このように、学習装置１０は、複数のレイヤを有する中間層を備えたエンコーダを学習するのであれば、任意の形式のエンコーダを学習してよい。
【００２６】
〔１−４．アテンション行列の生成について〕
ここで、学習装置１０は、エンコーダが有する中間層、すなわち、入力情報の特徴を抽出する中間層のうち、複数のノードの状態に基づいて、アテンション行列の列成分を設定するのであれば、任意の手法によりアテンション行列の列成分を設定してよい。例えば、学習装置１０は、エンコーダが出力層側から第１中間層、第２中間層、および第３中間層を有する場合、第１中間層に含まれるノードをアテンション行列の第１の行に対応付け、第２中間層に含まれるノードをアテンション行列の第２の行に対応付け、第３中間層に含まれるノードをアテンション行列の第３の行に対応付ける。そして、学習装置１０は、各ノードが出力する値やノードの状況等に基づいて、アテンション行列の各値を設定する。すなわち、学習装置１０は、複数の中間層に含まれるノードのそれぞれに基づいて、複数の列成分を有するアテンション行列を生成する適用器の学習を行う。
【００２７】
ここで、学習装置１０は、複数の中間層に対して所定の大きさの窓を設定し、中間層に含まれるノードのうち、窓に含まれるノードの状態や出力に基づいてアテンション行列を構成する小行列を設定してもよい。また、学習装置１０は、このような窓を適宜移動させることで、複数の小行列を生成し、生成した複数の小行列からアテンション行列を設定してもよい。すなわち、学習装置１０は、複数の中間層に含まれるノードのうち、一部のノードの状態に応じた複数の小行列に基づいたアテンション行列を適用する適用器を学習してもよい。
【００２８】
また、学習装置１０は、エンコーダの中間層がＲＮＮ等、前回出力した情報と新たに入力された情報とに基づいて新たな情報を出力する構造を有する場合、中間層が他の層に情報を提供する時系列的な構造に応じた要素の値を有するアテンション行列を適用する適用器を学習してもよい。例えば、出力層側から第１中間層、第２中間層、および第３中間層を有するエンコーダについて考える。このようなエンコーダの各中間層に属するノードは、前回出力した情報と新たに受付けた情報とに基づいて、新たな情報を出力することとなるが、どのタイミングで新たな情報を次の層へと伝達するか、どの情報に基づいて新たな情報を生成するかといった情報を提供する時系列的なバリエーションが存在する。
【００２９】
例えば、図２は、実施形態に係るエンコーダの中間層における時系列的な構造の一例を示す図である。なお、図２に示す例では、エンコーダが有する３つの中間層が情報を提供する際の時系列的な構造の一例について記載した。また、図２は、中間層が情報を提供する際の時系列的な構造の一例を示すに過ぎず、実施形態を限定するものではない。
【００３０】
例えば、学習装置１０は、第１中間層から第ｍ中間層までの中間層を有するデコーダにおいて、タイミングｔからタイミングｔ＋ｎまでの間における各中間層の状況に応じたアテンション行列を適用する場合、ｍ行ｎ−１列のアテンション行列を適用する適用器の学習を行う。すなわち、学習装置１０は、複数の中間層が有するノードと対応する要素を含むアテンション行列であって、所定の情報を入力した際における各ノードの状態に応じた列成分を有し、各ノードの時系列的な状態に応じた行成分を有するアテンション行列を適用する適用器を学習する。
【００３１】
例えば、図２中（Ａ）に示すように、ある情報が入力されたタイミングｔにおいて、第１中間層のノードから第２中間層のノードへと情報が伝達され、第２中間層のノードから第３中間層のノードへと情報が伝達されるｏｎｅ  ｔｏ  ｏｎｅ構造を有するエンコーダを考える。このような場合、学習装置１０は、第３中間層のノードに基づく要素ｘ１１と、第２中間層のノードに基づく要素ｘ２１と、第１中間層のノードに基づく要素ｘ３１とを有するアテンション行列を適用する適用器を学習する。すなわち、学習装置１０は、各ノードに応じた要素を列方向に並べたアテンション行列を設定する。
【００３２】
また、例えば、図２中（Ｂ）に示すように、タイミングｔにおいて、第１中間層のノードから第２中間層のノードへと情報が伝達され、第２中間層のノードから第３中間層のノードへと情報が伝達されるとともに、タイミングｔ＋１において、第２中間層のノードがタイミングｔで出力した値に基づいて新たな値を第３中間層へと伝達し、タイミングｔ＋２において第２中間層のノードがタイミングｔ＋１で出力した値に基づいて新たな値を第３中間層へと伝達するｏｎｅ  ｔｏ  ｍａｎｙ構造を有するエンコーダを考える。このような場合、学習装置１０は、タイミングｔにおける各ノードの状態に基づく要素を第１列目に配置し、タイミングｔ＋１における各ノードの状態に基づく要素を第２列目に配置し、タイミングｔ＋３における各ノードの状態に基づく要素を第３列目に配置したアテンション行列を設定する適用器を学習する。
【００３３】
より具体的には、学習装置１０は、タイミングｔにおける第３中間層のノードに基づく要素ｘ１１と、第２中間層のノードに基づく要素ｘ２１と、第１中間層のノードに基づく要素ｘ３１とを有するアテンション行列を適用する適用器を学習する。また、学習装置１０は、タイミングｔ＋１における第３中間層のノードに基づく要素ｘ１２と、第２中間層のノードに基づく要素ｘ２２と、第１中間層のノードに基づく要素ｘ３２とを有するアテンション行列を適用する適用器を学習する。また学習装置１０は、タイミングｔ＋２における第３中間層のノードに基づく要素ｘ１３と、第２中間層のノードに基づく要素ｘ２３と、第１中間層のノードに基づく要素ｘ３３とを有するアテンション行列を適用する適用器を学習する。
【００３４】
ここで、タイミングｔ＋１およびタイミングｔ＋２において、第１中間層のノードには、入力層から情報が入力されず、情報を出力しない。そこで、学習装置１０は、ある時系列において他のノードから情報が提供されないノードと対応する行成分を０とするアテンション行列を適用する適用器を学習する。より具体的には、学習装置１０は、要素ｘ３２と要素ｘ３３の値として「０」を採用する。
【００３５】
同様に、図２中（Ｃ）に示すように、タイミングｔにおいて、第１中間層のノードから第２中間層のノードへと情報が伝達され、タイミングｔ＋１において、第１中間層のノードから第２中間層のノードへと情報が伝達されるとともに、第２中間層のノードがタイミングｔで生成した情報が第２中間層のノードへとフィードバックされ、タイミングｔ＋２において、第１中間層のノードから第２中間層のノードへと情報が伝達され、第２中間層のノードがタイミングｔ＋１で生成した情報と第１中間層のノードから伝達された情報とに基づいた情報を第３中間層のノードへと伝達するｍａｎｙ  ｔｏ  ｏｎｅ構造を有するエンコーダを考える。このような場合、学習装置１０は、タイミングｔおよびタイミングｔ＋１において、第３中間層のノードは、値が入力されない。そこで、学習装置１０は、要素ｘ１１と要素ｘ１２の値がして「０」となり、各ノードが各タイミングにおいて各ノードが出力した情報に基づく値となるアテンション行列を適用する適用器を学習する。
【００３６】
ここで、適用器は、１つの中間層に含まれるノードの状態に基づいて、アテンション行列が有する複数の要素を設定してもよい。例えば、適用器は、第１中間層から第３中間層までの中間層を有するデコーダにおいて、タイミングｔからタイミングｔ＋４までの間における各中間層の状況に応じたアテンション行列を適用する場合、３行５列のアテンション行列を適用してもよい。
【００３７】
例えば、図２中（Ｄ）に示すように、タイミングｔ〜ｔ＋２の間、第１中間層のノードから第２中間層のノードへと情報が伝達され、タイミングｔ〜ｔ＋４の間、第２中間層のノードの出力が第２中間層のノードへとフィードバックされるとともに、タイミングｔ＋２〜ｔ＋４の間、第２中間層のノードの出力が第３中間層のノードへと伝達されるｍａｎｙ  ｔｏ  ｍａｎｙ構造を有するエンコーダを考える。このような場合、適用器は、タイミングｔ〜ｔ＋４における第１中間層の出力に基づいて、アテンション行列の５行目の要素ｘ５１〜ｘ５５を設定し、タイミングｔ〜ｔ＋４における第２中間層の出力に基づいて、アテンション行列の２行目〜４行目の要素ｘ２１〜ｘ２５、ｘ３１〜ｘ３５、ｘ４１〜ｘ４５を設定し、タイミングｔ〜ｔ＋４における第３中間層の出力に基づいて、アテンション行列の１行目の要素ｘ１１〜ｘ１５を設定してもよい。
【００３８】
なお、適用部は、例えば、第２中間層に対する入力に基づいて、アテンション行列の４行目の要素ｘ４１〜ｘ４５を設定し、第２中間層の状態に基づいて、アテンション行列の３行目の要素ｘ３１〜ｘ３５を設定し、第２中間層の出力に基づいて、アテンション行列の２行目の要素ｘ２１〜ｘ２５を設定してもよい。また、適用部は、例えば、第１中間層から第２中間層への接続係数に基づいてアテンション行列の４行目の要素ｘ４１〜ｘ４５を設定し、第２中間層の出力に基づいて、アテンション行列の３行目の要素ｘ３１〜ｘ３５を設定し、第２中間層から第３中間層へと接続係数に基づいて、アテンション行列の２行目の要素ｘ２１〜ｘ２５を設定してもよい。
【００３９】
また、例えば、図２中（Ｅ）に示すように、タイミングｔ〜ｔ＋２の間、第１中間層のノードから第２中間層のノードへと情報が伝達され、タイミングｔ〜ｔ＋２の間、第２中間層のノードの出力が第２中間層のノードへとフィードバックされるとともに、タイミングｔ〜ｔ＋２の間、第２中間層のノードの出力が第３中間層のノードへと伝達されるｍａｎｙ  ｔｏ  ｍａｎｙ構造を有するエンコーダを考える。このような場合、適用器は、各タイミングｔ〜ｔ＋２における第１中間層の出力に基づいて、アテンション行列の３行目の要素ｘ３１〜ｘ３３を設定し、第２中間層の出力に基づいて、アテンション行列の２行目の要素ｘ２１〜ｘ２３を設定し、第３中間層の出力に基づいて、アテンション行列の１行目の要素ｘ１１〜ｘ１３を設定してもよい。
【００４０】
また、学習装置１０は、任意の手法により、アテンション行列をエンコーダの出力に適用してよい。例えば、学習装置１０は、単純にエンコーダの出力にアテンション行列を積算した行列を特徴行列として採用してもよい。また、学習装置１０は、アテンション行列に基づいた行列をエンコーダの出力に適用してもよい。
【００４１】
例えば、アテンション行列の固有値や固有ベクトルは、アテンション行列が有する特徴、すなわち、単語群が有する特徴を示すとも考えられる。そこで、学習装置１０は、エンコーダの出力に対して、アテンション行列の固有値や固有ベクトルを適用してもよい。例えば、学習装置１０は、アテンション行列の固有値とエンコーダの出力との積をデコーダに入力してもよく、アテンション行列の固有ベクトルとエンコーダの出力との積をデコーダに入力してもよい。また、学習装置１０は、アテンション行列の特異値をエンコーダの出力に適用し、デコーダに入力してもよい。
【００４２】
〔１−５．デコーダの構成について〕
ここで、学習装置１０は、アテンション行列が適用されたエンコーダの出力から、出力情報を生成するデコーダであれば、任意の構成を有するデコーダの学習をおこなってよい。例えば、学習装置１０は、ＣＮＮ、ＲＮＮ、ＬＳＴＭ、ＤＰＣＮ等のニューラルネットワークにより実現されるデコーダの学習を行ってよい。
【００４３】
例えば、デコーダは、入力層側から出力層側に向けて、状態レイヤ、復元レイヤ、および単語復元レイヤを有する。このようなデコーダは、アテンション行列が適用されたエンコーダの出力を受付けると、状態レイヤが有する１つ又は複数のノードの状態を状態ｈ１へと遷移させる。そして、デコーダは、復元レイヤにて、状態レイヤのノードの状態ｈ１から最初に入力された入力情報の属性ｚ１を復元するとともに、単語復元レイヤにて、状態ｈ１と属性ｚ１とから最初の入力情報ｙ１を復元し、入力情報ｙ１と状態ｈ１から状態レイヤのノードの状態を状態ｈ２へと遷移させる。なお、デコーダは、状態レイヤにＬＳＴＭやＤＰＣＮの機能を持たせることで、出力した属性ｚ１を考慮して状態レイヤのノードの状態を状態ｈ２へと遷移させてもよい。続いて、デコーダは、復元レイヤにて、前回復元した属性ｚ１と状態レイヤのノードの現在の状態ｈ２から、２番目に入力された入力情報の属性ｚ２を復元し、属性ｚ２と前回復元した入力情報ｙ１とから、２番目に入力された入力情報ｙ２を復元する。
【００４４】
このようなデコーダにおいて、復元レイヤにＤＰＣＮ等といった再帰型ニューラルネットワークの機能を持たせた状態で、エンコーダに入力された入力情報を復元するようにデコーダの学習を行った場合、復元レイヤは、入力情報の順序の特徴を学習することとなる。この結果、デコーダは、前回復元した入力情報の属性に基づいて、次に復元する入力情報の属性の予測を行うこととなる。すなわち、デコーダは、入力情報の出現順序を予測することとなる。このようなデコーダは、測定時において複数の入力情報が順次入力された場合に、順序に応じた入力情報の重要度を考慮して、出力情報を生成することとなる。
【００４５】
〔１−６．測定処理について〕
なお、学習装置１０は、上述した学習処理により学習が行われたモデルを用いて、情報処理装置１００から受信した入力情報から出力情報を生成する測定処理を実行する。例えば、学習装置１０は、情報処理装置１００から入力情報を受信すると、受信した入力情報を順にモデルのエンコーダに入力し、デコーダが生成した出力情報を順次情報処理装置１００へと出力する。
【００４６】
〔１−７．学習装置１０が実行する処理の一例〕
次に、図１を用いて、学習装置１０が実行する学習処理および測定処理の一例について説明する。まず、学習装置１０は、正解データとなる入力情報を情報処理装置２００から取得する（ステップＳ１）。なお、正解データとなる入力情報は、例えば、論文や特許公報、ブログ、マイクロブログ、インターネット上のニュース記事等、任意のコンテンツが採用可能である。
【００４７】
このような場合、学習装置１０は、複数の中間レイヤを有するエンコーダＥＮと、中間レイヤのノードの状態遷移の特徴を示すアテンション行列をエンコーダの出力に適用する適用器ＣＧと、適用器の出力から出力情報を出力するデコーダＤＣとを学習する（ステップＳ２）。例えば、図１に示す例では、学習装置１０は、エンコーダＥＮとなるモデルと、適用器ＣＧとなるモデルと、デコーダＤＣとなるモデルとを有するモデルＬ１０を生成する。
【００４８】
より詳細には、学習装置１０は、入力情報の入力を受付ける入力層Ｌ１１、入力層Ｌ１１からの出力に基づいて入力情報の特徴を抽出する複数の中間層Ｌ１２、および中間層Ｌ１２の出力に基づいて入力情報の特徴を出力する出力層Ｌ１３とを有するエンコーダＥＮを生成する。ここで、中間層Ｌ１２は、入力層Ｌ１１が出力した情報の次元数を段階的に減少させることで、入力情報の特徴を抽出する機能を有するものとする。
【００４９】
また、学習装置１０は、入力情報が入力される度にエンコーダＥＮが生成した値、すなわち、特徴を示す値に対して、中間層Ｌ１２における各ノードの状態や接続係数に基づいたアテンション行列を適用する適用器ＣＧを生成する。例えば、学習装置１０は、ある入力情報を入力した際における中間層Ｌ１２に含まれる各ノードの状態、出力、或いは接続係数に基づいた値を列成分とし、入力情報を順次入力した際における各ノードの状態の時系列的な変化を行成分としたアテンション行列を生成し、生成したアテンション行列をエンコーダＥＮの出力に対して適用する適用器ＣＧを生成する。
【００５０】
また、学習装置１０は、ＲＮＮであるデコーダＤＣであって、状態レイヤＬ２０、復元レイヤＬ２１、および復元レイヤＬ２２を有するデコーダＤＣを生成する。そして、学習装置１０は、文章に含まれる各入力情報を順次エンコーダＥＮに入力した際に、適用器ＣＧがエンコーダＥＮにアテンション行列ＡＭを適用した特徴行列Ｃｔを出力し、デコーダＤＣが、特徴行列Ｃｔから元の入力情報を順に復元するように、モデルＬ１０の学習を行う。
【００５１】
例えば、図１に示す例では、学習装置１０は、入力情報Ｃ１０を入力層Ｌ１１のノードに入力する。この結果、エンコーダＥＮは、入力情報の特徴Ｃを出力層Ｌ１３から出力する。また、適用器ＣＧは、特徴Ｃに対し、中間層Ｌ１２に含まれる各ノードの状態に基づくアテンション行列ＡＭを生成し、生成したアテンション行列ＡＭを特徴Ｃと積算することで、特徴行列Ｃｔを生成する。そして、適用器ＣＧは、生成した特徴行列ＣｔをデコーダＤＣに入力する。このような場合、デコーダＤＣは、特徴行列Ｃｔから出力情報Ｃ２０を生成する。
【００５２】
ここで、学習装置１０は、入力情報Ｃ１０と出力情報Ｃ２０とが同じになるように、若しくは、出力情報Ｃ２０が入力情報Ｃ１０と対応する内容となるように、モデルＬ１０の各種パラメータを調整する。例えば、学習装置１０は、エンコーダＥＮやデコーダＤＣが有するノード間の接続係数を調整するとともに、適用器ＣＧがエンコーダＥＮの中間層Ｌ１２からアテンション行列ＡＭを生成する際のパラメータを調整する。例えば、学習装置１０は、ノードの状態がどのような状態である際に、アテンション行列ＡＭの対応する要素の値をどのような値にするかを示すパラメータ（例えば、係数等）の修正を行う。
【００５３】
この結果、学習装置１０は、入力情報Ｃ１０が有する特徴をモデルＬ１０に学習させるとともに、入力情報Ｃ１０が有する特徴に応じた出力情報Ｃ２０を生成するように、モデルＬ１０の学習を行わせることができる。ここで、モデルＬ１０は、出力情報を生成する際に、エンコーダＥＮが出力する単純な値ではなく、エンコーダＥＮが有する中間層Ｌ１２のノードの状態に基づいたアテンション行列ＡＭに基づいて、出力情報を生成する。すなわち、モデルＬ１０は、エンコーダＥＮに入力した入力情報が有するトピックを示すアテンション行列ＡＭと、エンコーダＥＮに入力した入力情報の特徴とに基づいて、出力情報を生成する。このため、学習装置１０は、入力情報の特徴のみならず、エンコーダＥＮにおいて除外される特徴の周辺情報に基づいて、出力情報を生成させることができるので、入力情報の特徴に応じて出力される出力情報をより適切にすることができる。
【００５４】
続いて、学習装置１０は、情報処理装置１００から入力情報Ｃ３１を取得する（ステップＳ３）。このような場合、学習装置１０は、学習したモデルＬ１０に入力情報Ｃ３１を入力することで、出力情報Ｃ３０を生成する測定処理を実行する（ステップＳ４）。そして、学習装置１０は、生成した出力情報Ｃ３０を情報処理装置１００へと出力する（ステップＳ５）。
【００５５】
〔２．学習装置の構成〕
以下、上記した学習処理を実現する学習装置１０が有する機能構成の一例について説明する。図３は、実施形態に係る学習装置の構成例を示す図である。図３に示すように、学習装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００５６】
通信部２０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部２０は、ネットワークＮと有線または無線で接続され、情報処理装置１００、２００との間で情報の送受信を行う。
【００５７】
記憶部３０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部３０は、正解データデータベース３１およびモデルデータベース３２を記憶する。
【００５８】
正解データデータベース３１には、正解データとなる入力情報と出力情報とが登録されている。例えば、図４は、実施形態に係る正解データデータベースに登録される情報の一例を示す図である。図４に示す例では、正解データデータベース３１には、「正解データＩＤ（Identifier）」、「入力情報」、「出力情報」等といった項目を有する情報が登録される。
【００５９】
ここで、「正解データＩＤ」は、正解データとなる入力情報や出力情報を識別するための情報である。また、「入力情報」とは、正解データとなる入力情報である。また、「出力情報」とは、対応付けられた「入力情報」がエンコーダＥＮに入力された際に、デコーダＤＣに出力させたい出力情報、すなわち、正解データとなるｓｈ通力情報である。なお、正解データデータベース３１には、「入力情報」や「出力情報」以外にも、正解データに関する各種の情報が登録されているものとする。
【００６０】
例えば、図４に示す例では、正解データＩＤ「ＩＤ＃１」、入力情報「入力情報＃１」、出力情報「出力情報＃１」が対応付けて登録されている。このような情報は、正解データＩＤ「ＩＤ＃１」が示す正解データが、入力情報「入力情報＃１」と出力情報「出力情報＃１」である旨を示す。なお、図４に示す例では、「入力情報＃１」、「出力情報＃１」等といった概念的な値について記載したが、実際には、入力情報やその入力情報が出力された際に所望される出力情報の各種コンテンツデータが登録されることとなる。
【００６１】
図３に戻り、説明を続ける。モデルデータベース３２には、学習対象となるエンコーダＥＮおよびデコーダＤＣを含むモデルＬ１０のデータが登録される。例えば、モデルデータベース３２には、モデルＬ１０として用いられるニューラルネットワークにおけるノード同士の接続関係、各ノードに用いられる関数、各ノード間で値を伝達する際の重みである接続係数等が登録される。
【００６２】
なお、モデルＬ１０は、例えば、入力情報群に関する情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、各入力情報の属性と出現順序とに応じた重要度に基づいて、入力情報と対応する出力情報を生成し、生成した出力情報を出力層から出力するよう、コンピュータを機能させるためのモデルである。
【００６３】
制御部４０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等のプロセッサによって、学習装置１０内部の記憶装置に記憶されている各種プログラムがＲＡＭ等を作業領域として実行されることにより実現される。また、制御部４０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００６４】
また、制御部４０は、記憶部３０に記憶されるモデルＬ１０に従った情報処理により、モデルＬ１０の入力層に入力された入力情報群に関する情報に対し、モデルＬ１０が有する係数（すなわち、モデルＬ１０が学習した特徴に対応する係数）に基づく演算を行い、入力情報が入力される入力層、入力層の出力から入力情報の特徴を段階的に抽出する複数の中間層、および複数の中間層により抽出された入力情報の特徴を出力する出力層とを有する符号化器と、符号化器の出力に対して、複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、適用器によってアテンション行列が適用された符号化器の出力から、入力情報に応じた出力情報を生成する復元器として動作する。
【００６５】
図３に示すように、制御部４０は、抽出部４１、学習部４２、受付部４３、生成部４４、および出力部４５を有する。なお、抽出部４１および学習部４２は、上述した学習処理を実行し、受付部４３〜出力部４５は、上述した測定処理を実行する。
【００６６】
抽出部４１は、入力情報を抽出する。例えば、抽出部４１は、情報処理装置２００から正解データとして入力情報と出力情報とを受信すると、受信した入力情報と出力情報とを正解データデータベース３１に登録する。また、抽出部４１は、学習処理を実行する所定のタイミングで、正解データデータベース３１に登録された入力情報と出力情報との組を抽出し、抽出した入力情報と出力情報との組を学習部４２に出力する。
【００６７】
学習部４２は、入力情報が入力される入力層、入力層の出力から入力情報の特徴を段階的に抽出する複数の中間層、および複数の中間層により抽出された入力情報の特徴を出力する出力層とを有する符号化器、すなわちエンコーダＥＮの学習を行う。また、学習部４２は、符号化器の出力に対して、複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器の学習を行う。また、学習部４２は、適用器によってアテンション行列が適用された符号化器の出力から、入力情報に応じた出力情報を生成する復元器の学習を行う。
【００６８】
ここで、学習部４２は、入力層に対して情報を入力した際における中間層に含まれるノードの状態に基づいた複数の列成分を有するアテンション行列を適用する。例えば、学習部４２は、同じ中間層に含まれる各ノードの状態に応じた値を同じ列に配置したアテンション行列を適用する適用器を学習する。
【００６９】
なお、学習部４２は、複数の中間層に含まれるノードのうち、一部のノードの状態に応じた複数の小行列に基づいたアテンション行列を適用する適用器を学習してもよい。また、学習部４２は、新たに入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成するノードを含む複数の中間層を有する符号化器、すなわち、ＲＮＮの機能を有する中間層を有する符号化器を学習してもよい。
【００７０】
ここで、学習部４２は、符号化器がＲＮＮの機能を有する中間層を有する場合、複数の中間層が他の層に情報を提供する時系列的な構造に応じた要素の値を有するアテンション行列を適用する適用器を学習する。例えば、学習部４２は、複数の中間層が有するノードと対応する要素を含むアテンション行列であって、所定の情報を入力層に入力した際における各ノードの状態に応じた列成分を有し、各ノードの時系列的な状態に応じた行成分を有するアテンション行列を適用する適用器を学習する。また、学習部４２は、ある時系列において他のノードから情報が提供されないノードと対応する行成分を０とするアテンション行列を適用する適用器を学習する。
【００７１】
なお、学習部４２は、符号化器の出力に対して、アテンション行列の固有値、固有ベクトル、若しくは特異値を適用する適用器を学習してもよい。
【００７２】
例えば、学習部４２は、入力層と複数の中間層と出力層とを有するエンコーダＥＮを生成する。また、学習部４２は、エンコーダＥＮが有する複数の中間層の状態に基づいて、アテンション行列を生成し、生成したアテンション行列をエンコーダＥＮの出力に対して適用する適用器ＣＧを生成する。また、学習部４２は、適用器ＣＧによってアテンション行列が適用されたエンコーダＥＮの出力、すなわち、特徴行列から入力情報に対応する出力情報を出力するデコーダＤＣを生成する。
【００７３】
また、学習部４２は、正解データとなる入力情報と出力情報との組を抽出部４１から受付けると、受付けた入力情報をエンコーダＥＮの入力層に入力し、デコーダＤＣに出力情報を出力させる。そして、学習部４２は、デコーダＤＣが出力する出力情報が、正解データとなる出力情報に近づくように、デコーダＤＣ、適用器ＣＧ、およびエンコーダＥＮの学習を行う。例えば、学習部４２は、バックプロパゲーション等の手法により、デコーダＤＣやエンコーダＥＮが有する接続係数を修正する。なお、学習部４２は、適用器ＣＧが中間層の状態からアテンション行列を生成する際の各種パラメータを修正してもよい。そして、学習部４２は、学習が行われたエンコーダＥＮ、適用器ＣＧ、およびデコーダＤＣを有するモデルＬ１０をモデルデータベース３２へと登録する。
【００７４】
ここで、エンコーダＥＮがＲＮＮの機能を有する中間層を有する場合、中間層が有するノードの時刻ｔにおける出力は、例えば、式（１）中の関数ｆとして示されるロジスティック関数により表すことができる。ここで、式（１）における添え字のｔは、入力情報群のうちどの入力情報までが入力されたかという時系列を示す。また、式（１）中のｙｔ−１は、エンコーダの出力層のノードの前回の出力を示し、Ｓｔ−１は、中間層のノードの前回の出力を示し、Ｃｔは、新たな入力層の出力を示す。
【００７５】
【数１】
2019079088.tif 000003
【００７６】
ここで、以下の式（２）のαｔｊで示される重みパラメータを導入する。ここで、式（２）中のｈは、エンコーダの出力を示す。
【００７７】
【数２】
2019079088.tif 000004
【００７８】
このような重みパラメータによる行列をアテンション行列とした場合、適用器が出力する特徴行列は、以下の式（３）で示される行列により表すことができる。
【００７９】
【数３】
2019079088.tif 000005
【００８０】
受付部４３は、情報処理装置１００から入力情報を受付ける。このような場合、受付部４３は、受付けた入力情報を生成部４４に出力する。
【００８１】
生成部４４は、上述した学習処理により学習が行われたモデルＬ１０を用いて、入力情報から出力情報を生成する。例えば、生成部４４は、モデルＬ１０が有するエンコーダＥＮの入力層に入力情報を入力する。そして、生成部４４は、モデルＬ１０が有するデコーダＤＣの出力層から出力される情報に基づいて、出力情報を生成する。
【００８２】
出力部４５は、情報処理装置１００から受信した入力情報に対応する出力情報を出力する。例えば、出力部４５は、生成部４４が生成した出力情報を情報処理装置１００へと送信する。
【００８３】
〔３．学習装置が実行する処理の流れの一例〕
次に、図５を用いて、学習装置１０が実行する処理の流れの一例について説明する。図５は、実施形態に係る処理の流れの一例を説明するフローチャートである。まず、学習装置１０は、正解データを取得する（ステップＳ１０１）。続いて、学習装置１０は、正解データとして取得した入力情報と出力情報とを抽出し（ステップＳ１０２）、複数の中間レイヤを有するエンコーダと、中間レイヤのノードの状態遷移の特徴を示すアテンション行列をエンコーダの出力に適用する適用器と、適用器の出力から出力情報を出力するデコーダとを学習する（ステップＳ１０３）。また、学習装置１０は、測定対象として受付けた入力情報をエンコーダに入力し（ステップＳ１０４）、モデルが出力した出力情報を出力し（ステップＳ１０５）、処理を終了する。
【００８４】
〔４．変形例〕
上記では、学習装置１０による学習処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、学習装置１０が実行する学習処理のバリエーションについて説明する。
【００８５】
〔４−１．ＤＰＣＮについて〕
また、学習装置１０は、全体で一つのＤＰＣＮにより構成されるエンコーダＥＮやデコーダＤＣを有するモデルＬ１０の学習を行ってもよい。また、学習装置１０は、状態レイヤＬ２０、復元レイヤＬ２１、復元レイヤＬ２２がそれぞれＤＰＣＮにより構成されるデコーダＤＣを有するモデルＬ１０の学習を行ってもよい。
【００８６】
〔４−２．装置構成〕
上述した例では、学習装置１０は、学習装置１０内で学習処理および測定処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、学習装置１０は、学習処理のみを実行し、測定処理については、他の装置が実行してもよい。例えば、学習装置１０が上述した学習処理によって生成したエンコーダおよびデコーダを有するモデルＬ１０を含むプログラムパラメータを用いることで、学習装置１０以外の情報処理装置が、上述した測定処理を実現してもよい。また、学習装置１０は、正解データデータベース３１を外部のストレージサーバに記憶させてもよい。
【００８７】
〔４−３．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【００８８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００８９】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【００９０】
〔５．プログラム〕
また、上述してきた実施形態に係る学習装置１０は、例えば図６に示すような構成のコンピュータ１０００によって実現される。図６は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（Interface）１０６０、入力ＩＦ１０７０、ネットワークＩＦ１０８０がバス１０９０により接続された形態を有する。
【００９１】
演算装置１０３０は、一次記憶装置１０４０や二次記憶装置１０５０に格納されたプログラムや入力装置１０２０から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置１０４０は、ＲＡＭ等、演算装置１０３０が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置１０５０は、演算装置１０３０が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ＲＯＭ(Read  Only  Memory)、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等により実現される。
【００９２】
出力ＩＦ１０６０は、モニタやプリンタといった各種の情報を出力する出力装置１０１０に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、ＵＳＢ（Universal  Serial  Bus）やＤＶＩ（Digital  Visual  Interface）、ＨＤＭＩ（登録商標）（High  Definition  Multimedia  Interface）といった規格のコネクタにより実現される。また、入力ＩＦ１０７０は、マウス、キーボード、およびスキャナ等といった各種の入力装置１０２０から情報を受信するためのインタフェースであり、例えば、ＵＳＢ等により実現される。
【００９３】
なお、入力装置１０２０は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置１０２０は、ＵＳＢメモリ等の外付け記憶媒体であってもよい。
【００９４】
ネットワークＩＦ１０８０は、ネットワークＮを介して他の機器からデータを受信して演算装置１０３０へ送り、また、ネットワークＮを介して演算装置１０３０が生成したデータを他の機器へ送信する。
【００９５】
演算装置１０３０は、出力ＩＦ１０６０や入力ＩＦ１０７０を介して、出力装置１０１０や入力装置１０２０の制御を行う。例えば、演算装置１０３０は、入力装置１０２０や二次記憶装置１０５０からプログラムを一次記憶装置１０４０上にロードし、ロードしたプログラムを実行する。
【００９６】
例えば、コンピュータ１０００が学習装置１０として機能する場合、コンピュータ１０００の演算装置１０３０は、一次記憶装置１０４０上にロードされたプログラムまたはデータ（例えば、モデル）を実行することにより、制御部４０の機能を実現する。コンピュータ１０００の演算装置１０３０は、これらのプログラムまたはデータ（例えば、モデル）を一次記憶装置１０４０から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【００９７】
〔６．効果〕
上述したように、学習装置１０は、入力情報が入力される入力層、入力層の出力から入力情報の特徴を段階的に抽出する複数の中間層、および複数の中間層により抽出された入力情報の特徴を出力する出力層とを有する符号化器と、符号化器の出力に対して、複数の中間層が抽出した複数の属性に基づいた複数の列成分を有するアテンション行列を適用する適用器と、適用器によってアテンション行列が適用された符号化器の出力から、入力情報に応じた出力情報を生成する復元器とを学習する。
【００９８】
また、学習装置１０は、入力層に対して情報を入力した際における中間層に含まれるノードの状態に基づいた複数の列成分を有するアテンション行列を適用する適用器を学習する。また、学習装置１０は、同じ中間層に含まれる各ノードの状態に応じた値を同じ列に配置したアテンション行列を適用する適用器を学習する。
【００９９】
また、学習装置１０は、複数の中間層に含まれるノードのうち、一部のノードの状態に応じた複数の小行列に基づいたアテンション行列を適用する適用器を学習する。また、学習装置１０は、新たに入力された情報と、前回出力した情報とに基づいて新たに出力する情報を生成するノードを含む複数の中間層を有する符号化器を学習する。
【０１００】
また、学習装置１０は、符号化器が有する複数の中間層が他の層に情報を提供する時系列的な構造に応じた要素の値を有するアテンション行列を適用する適用器を学習する。また、学習装置１０は、複数の中間層が有するノードと対応する要素を含むアテンション行列であって、所定の情報を前記入力層に入力した際における各ノードの状態に応じた列成分を有し、各ノードの時系列的な状態に応じた行成分を有するアテンション行列を適用する適用器を学習する。例えば、学習装置１０は、ある時系列において他のノードから情報が提供されないノードと対応する行成分を０とするアテンション行列を適用する適用器を学習する。
【０１０１】
また、学習装置１０は、符号化器の出力に対して、アテンション行列の固有値、固有ベクトル、若しくは特異値を適用する適用器を学習する。
【０１０２】
このような処理の結果、学習装置１０は、符号化の際に損失する情報（すなわち、特徴の周辺情報）を考慮して、入力情報から出力情報を生成するモデルＬ１０を学習することができるので、入力情報の特徴に応じて適切な出力情報を出力することができる。
【０１０３】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１０４】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【０１０５】
１０  学習装置
２０  通信部
３０  記憶部
３１  正解データデータベース
３２  モデルデータベース
４０  制御部
４１  抽出部
４２  学習部
４３  受付部
４４  生成部
４５  出力部
１００、２００  情報処理装置
【図１】
2019079088.tif 000006
【図２】
2019079088.tif 000007
【図３】
2019079088.tif 000008
【図４】
2019079088.tif 000009
【図５】
2019079088.tif 000010
【図６】
2019079088.tif 000011