(57)【要約】【課題】出力情報の精度を向上させること。【解決手段】本願に係る学習装置は、入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得部と、前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得部と、前記第１出力情報と前記中間出力情報とに基づいて、前記モデルの学習を行う学習部とを有することを特徴とする。【選択図】図１
2019079102.tif 000002
【特許請求の範囲】
【請求項１】
入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得部と、
前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得部と、
前記第１出力情報と前記中間出力情報とに基づいて、前記モデルの学習を行う学習部と
を有することを特徴とする学習装置。
【請求項２】
前記学習部は、前記第１出力情報と前記中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、前記モデルの学習を段階的に行う
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記学習部は、前記入力情報に対応する目的出力情報と前記第１出力情報とに基づく第１指標を用いて、前記モデルの学習を行い、その後、前記目的出力情報と前記中間出力情報とに基づく第２指標を用いて、前記モデルの学習を行う
ことを特徴とする請求項２に記載の学習装置。
【請求項４】
前記第２取得部は、前記中間層のうち、所定の中間層が出力する中間情報と、所定の中間層よりも入力層側の中間層が出力する中間情報とに基づく中間出力情報を取得する
ことを特徴とする請求項１〜３のうちいずれか１つに記載の学習装置。
【請求項５】
前記第２取得部は、前記所定の中間層が出力する中間情報と、それぞれ異なる中間層が出力する中間情報とに基づいて、複数の中間出力情報を取得する
ことを特徴とする請求項４に記載の学習装置。
【請求項６】
前記第２取得部は、複数の中間層が出力する中間情報に基づいて、第２出力情報を取得し、前記第２出力情報とは異なる中間層が出力する中間情報に基づいて、第３出力情報を取得し、
前記学習部は、前記第１出力情報と、前記第２出力情報と、前記第３出力情報とに基づいて、前記モデルの学習を段階的に行う
ことを特徴とする請求項４または５に記載の学習装置。
【請求項７】
前記学習部は、前記入力情報に対応する目的出力情報と前記第１出力情報とに基づく第１指標と、前記目的出力情報と前記第２出力情報とに基づく第２指標と、前記目的出力情報と前記第３出力情報とに基づく第３指標とを少なくとも生成し、前記第１指標と、前記第２指標と、前記第３指標とを段階的に用いて、前記モデルの学習を段階的に行う
ことを特徴とする請求項６に記載の学習装置。
【請求項８】
前記学習部は、前記第１指標と、前記第２指標と、前記第３指標とのうち、使用する指標を段階的に増加させながら、前記モデルの学習を段階的に行う
ことを特徴とする請求項７に記載の学習装置。
【請求項９】
前記第１取得部は、前記複数の中間層として、それぞれが複数の中間層を有する複数の中間ブロックを有するモデルに対して前記入力情報を入力した際に、前記出力層が出力する第１出力情報を取得し、
前記第２取得部は、前記中間ブロックのうち、所定の中間ブロックが出力する中間情報に基づく中間出力情報を取得する
ことを特徴とする請求項１〜８のうちいずれか１つに記載の学習装置。
【請求項１０】
入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得部と、
前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得部と、
前記第１出力情報と前記中間出力情報とに基づいて、前記入力情報に対応する対応情報を生成する生成部と
を有することを特徴とする生成装置。
【請求項１１】
前記生成部は、前記第１出力情報と、前記中間出力情報との荷重和に基づいて、前記対応情報を生成する
ことを特徴とする請求項１０に記載の生成装置。
【請求項１２】
前記第２取得部は、それぞれ異なる中間層が出力する中間情報に基づく複数の中間出力情報を取得し、
前記生成部は、前記中間出力情報のうち、最も入力層側の中間層が出力する中間情報に基づいて、前記対応情報を生成する
ことを特徴とする請求項１１に記載の生成装置。
【請求項１３】
入力層と、複数の中間層と、出力層とを有するモデルに対して音声に関する音声情報を入力した際に前記出力層が出力する前記音声情報の第１分類結果を取得する第１取得部と、
前記モデルに対して前記音声情報を入力した際に複数の中間層が出力する中間情報に基づく中間分類結果を取得する第２取得部と、
前記第１分類結果と前記中間分類結果とに基づいて、前記音声情報を分類する分類部と
を有することを特徴とする分類装置。
【請求項１４】
学習装置が実行する学習方法であって、
入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得工程と、
前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得工程と、
前記第１出力情報と前記中間出力情報とに基づいて、前記モデルの学習を行う学習工程と
を含むことを特徴とする学習方法。
【請求項１５】
入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得手順と、
前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得手順と、
前記第１出力情報と前記中間出力情報とに基づいて、前記モデルの学習を行う学習手順と
をコンピュータに実行させるための学習プログラム。
【請求項１６】
入力情報が入力される入力層と、
入力層に入力された入力情報に対して所定の処理を順次行う複数の中間層と、
前記複数の中間層のうち最後に処理を行う終端中間層の出力に基づいて、前記入力情報に対応する第１対応情報を生成する第１出力層と、
前記複数の中間層のうち、前記終端中間層の出力と、当該終端中間層以外の中間層の出力とに基づいて、前記入力情報に対応する第２対応情報を生成する第２出力層と
を有することを特徴とするモデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は学習装置、生成装置、分類装置、学習方法、学習プログラム、およびモデルに関する。
【背景技術】
【０００２】
従来、多層に接続されたニューロン（以下、ノードと記載する場合がある。）を有するＤＮＮ（Deep  Neural  Network）を利用して各種の処理を実現する技術が知られている。例えば、このようなＤＮＮでは、直列に接続された複数の中間層を有し、各中間層で情報の次元数を変化させることで、入力情報が有する特徴を抽出し、抽出した特徴に応じた出力情報を出力する。また、このようなＤＮＮを用いた技術の一例として、各中間層が出力する情報をまとめて用いることで、出力情報の精度を向上させるスキップコネクションの技術が知られている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】“Deep  Residual  Learning  for  Image  Recognition”  Kaiming  He,  Xiangyu  Zhang,  Shaoqing  Ren,  Jian  Sun  ＜インターネット＞https://arxiv.org/pdf/1512.03385.pdf
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、出力情報の精度の向上を必ずしも図ることができない場合がある。
【０００５】
例えば、上述した従来技術では、ある入力情報を入力した際にＤＮＮが出力する出力情報が所望する情報に近づくように、ノード間の接続係数を補正することで、ＤＮＮの学習を行う。しかしながら、このような学習手法では、接続係数を補正する際の指標が１つとなるため、ＤＮＮの学習精度の向上が困難となる恐れがある。
【０００６】
本願は、上記に鑑みてなされたものであって、出力情報の精度を向上させることを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る学習装置は、入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得部と、前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得部と、前記第１出力情報と前記中間出力情報とに基づいて、前記モデルの学習を行う学習部とを有することを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、出力情報の精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る情報提供装置が実行する学習処理の一例を示す図である。
【図２】図２は、実施形態に係る情報提供装置が実行する生成処理の一例を示す図である。
【図３】図３は、実施形態に係る情報提供装置の構成例を示す図である。
【図４】図４は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。
【図５】図５は、実施形態に係る学習処理の効果の一例を示す第１の図である。
【図６】図６は、実施形態に係る学習処理の効果の一例を示す第２の図である。
【図７】図７は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。
【図８】図８は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。
【図９】図９は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る学習装置、生成装置、分類装置、学習方法、学習プログラム、およびモデルを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、生成装置、分類装置、学習方法、学習プログラム、およびモデルが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
〔１．情報提供装置の概要について〕
まず、図１および図２を用いて、学習装置、生成装置、および分類装置の一例である情報提供装置が実行する学習処理および生成処理の一例について説明する。図１は、実施形態に係る情報提供装置が実行する学習処理の一例を示す図である。図２は、実施形態に係る情報提供装置が実行する生成処理の一例を示す図である。図１および図２では、情報提供装置１０は、以下に説明する学習処理および生成処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【００１２】
例えば、情報提供装置１０は、インターネット等の所定のネットワークＮ（例えば、図３参照）を介して、任意の利用者が使用する情報処理装置１００、２００と通信可能である。例えば、情報提供装置１０は、情報処理装置１００、２００との間で、各種データの送受信を行う。
【００１３】
なお、情報処理装置１００、２００は、スマートフォンやタブレット等のスマートデバイス、デスクトップＰＣ（Personal  Computer）やノートＰＣ等、サーバ装置等の情報処理装置により実現され、情報提供装置１０に対し、モデルの学習に用いる学習データや、生成処理の対象となる入力情報等、各種任意の情報を提供可能な情報処理装置であるものとする。
【００１４】
ここで、情報提供装置１０は、各種の入力情報が有する特徴に基づいて、入力情報の分類や分類結果に応じた処理を行うモデルの学習を行う。ここで、モデルとは、複数のノードからなる入力層、中間層（隠れ層）、および出力層を有する多層のニューラルネットワーク等により実現される。以下の説明では、情報提供装置１０が複数の中間層を有するＤＮＮ（Deep  Neural  Network）であるモデルの学習を行う例について説明するが、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、ＣＮＮ（Convolutional  Neural  Network）、ＲＮＮ（Recurrent  Neural  Network）、ＬＳＴＭ（Long  Short-Term  Memory）等、複数の中間層を有するニューラルネットワークであれば、任意のニューラルネットワークをモデルとして学習してもよい。
【００１５】
このようなモデルは、入力層を介して各種の入力情報が入力されると、複数の中間層において入力情報が有する特徴の抽出処理等を行う。より具体的には、モデルは、直列に接続された複数の中間層を有し、入力情報に対し、各中間層が各種の処理を順次行うこととなる。そして、モデルは、出力層を介して、中間層が出力した情報に基づく分類結果等の各種処理結果を入力された入力情報に対応する出力情報として出力する。このようなモデルは、所定の入力情報を入力した際に、所望する出力情報を出力するようにノード間の接続係数を補正することで、入力情報が有する特徴を学習することとなる。このような学習は、例えば、バックプロパゲーション等の手法により実現可能である。
【００１６】
〔１−１．学習処理について〕
ここで、従来の学習処理においては、所定の入力情報を入力した際にモデルが実際に出力した出力情報と、所望する出力情報との誤差やクロスエントロピーを学習の指標として、接続係数の補正が行われる。すなわち、従来の学習処理においては、モデルが実際に出力した出力情報と、所望する出力情報とのクロスエントロピー関数を目的関数とし、目的関数を微分して、その微係数でノード間の接続係数を更新することで、モデルの学習が行われる。しかしながら、このような単一の指標によりモデルの学習が行われた場合、出力情報の精度向上が困難となる恐れがある。
【００１７】
そこで、情報提供装置１０は、以下の学習処理を実行する。まず、情報提供装置１０は、入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に出力層が出力する第１出力情報を取得する。また、情報提供装置１０は、モデルに対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。そして、情報提供装置１０は、第１出力情報と中間出力情報とに基づいて、モデルの学習を行う。
【００１８】
例えば、情報提供装置１０は、所定の入力情報をモデルに入力した際に、出力層が出力した情報を第１出力情報として取得する。また、情報提供装置１０は、所定の入力情報をモデルに入力した際に、中間層のうち、所定の中間層が出力した中間情報と、所定の中間層よりも入力層側に位置する中間層が出力した中間情報とに基づいて、１つまたは複数の中間出力情報を取得する。
【００１９】
このような中間出力情報は、モデルの学習における指標となりえる。そこで、情報提供装置１０は、第１出力情報と中間出力情報とに基づいて、モデルの学習に用いられる複数の指標を設定し、複数の指標に基づいて、モデルの学習を段階的に行う。例えば、情報提供装置１０は、入力情報に対応する目的出力情報と第１出力情報とに基づく第１指標を用いて、モデルの学習を行い、その後、目的出力情報と中間出力情報とに基づく第２指標を用いて、モデルの学習を行う。
【００２０】
また、情報提供装置１０は、複数の中間出力情報に基づいて、第３指標および第４指標を生成し、生成した各指標を段階的に用いることで、モデルの段階的な学習を行ってもよい。例えば、情報提供装置１０は、中間層を選択し、選択した中間層が出力した中間情報に基づく指標を設定し、設定した指標を用いてモデルを学習する一連の処理を、選択する中間層を所定の中間層から段階的に入力層側の中間層へと変更させながら実行することで、モデルの段階的な学習を行ってもよい。
【００２１】
このように、情報提供装置１０は、第１出力情報のみならず、中間層が出力する中間情報に基づいた中間出力情報を取得し、第１出力情報と中間出力情報とに基づいて、モデルの学習を行う。この結果、情報提供装置１０は、モデルの学習に用いる指標を拡張することできるので、モデルの学習精度を向上させることができる結果、出力情報の精度向上を実現することができる。
【００２２】
〔１−２．学習処理の一例について〕
以下、図１を用いて、情報提供装置１０が実行する学習処理の一例を説明する。なお、図１の例では、中間出力情報として、第２出力情報から第４出力情報を取得する例について説明するが、実施形態は、これに限定されるものではなく、任意の数の中間出力情報に基づいたモデルの学習を行ってよい。
【００２３】
ここで、情報提供装置１０は、学習対象となるモデルＭ１をあらかじめ生成する。例えば、情報提供装置１０は、入力情報の入力を受付ける入力層を有する入力ブロックＩＢと、複数の中間ブロックＨＢ１〜ＨＢ７（以下、「中間ブロックＨＢ」と総称する場合がある）と、第１出力情報を出力する出力ブロックＯＢ１とを有するモデルＭ１を生成する。ここで、入力ブロックＩＢは、入力情報の入力を受付けると、入力情報に応じた情報を中間ブロックＨＢ１へと出力する入力層を有する。また、中間ブロックＨＢは、前段の入力ブロックＩＢまたは前段の中間ブロックＨＢが出力した中間情報を受付けると、受付けた中間情報に対して各種の演算処理を行う複数の中間層を有する。また、出力ブロックＯＢ１は、中間ブロックＨＢ７の出力に基づいて、第１出力情報を出力する出力層を有する。例えば、出力ブロックＯＢ１は、中間ブロックＨＢ７が出力する複数の値に対してソフトマックス関数を適用する出力層を有する。
【００２４】
すなわち、モデルＭ１は、入力情報を受付ける入力層（すなわち、入力ブロックＩＢ）と、前段の層からの出力に基づいて各種の演算処理を行う複数の中間層（すなわち、複数の中間ブロックＨＢが有する各層）と、各中間層が順次行った演算処理の結果に基づいて第１出力情報を出力する出力層（すなわち、出力ブロックＯＢ１）とを有するモデルである。
【００２５】
例えば、中間ブロックＨＢは、４２９次元のベクトルを受付けると、受付けたベクトルの各次元の値に基づいた演算処理を実行し、４２９次元のベクトルを中間情報として、次段の中間ブロックＨＢもしくは出力ブロックＯＢ１に出力するものとする。また、図１に示す例では、７つの中間ブロックＨＢ１〜ＨＢ７を有するモデルＭ１について記載したが、実施形態は、これに限定されるものではない。すなわち、情報提供装置１０は、任意の数の中間ブロックＨＢを有するモデルＭ１を生成してよい。
【００２６】
また、情報提供装置１０は、最も出力層側の中間層（以下、「終端中間層」と記載する場合がある。）の出力情報と、終端中間層よりも入力層側の中間層の出力情報とを抽出し、抽出した情報に基づいて新たな中間情報を生成する複数の抽出ブロックＡＢ１〜ＡＢ３を有するモデルＭ１を生成する。また、情報提供装置１０は、抽出ブロックＡＢ１〜ＡＢ３が出力する中間情報に基づいて、中間出力情報を出力する複数の出力ブロックＯＢ２〜ＯＢ４を有するモデルＭ１を生成する。
【００２７】
例えば、抽出ブロックＡＢ１は、終端中間層が出力する出力情報、すなわち、中間ブロックＨＢ７が出力する中間情報と、中間ブロックＨＢ７よりも入力層側の中間ブロックＨＢ６が出力する中間情報とを取得し、取得した各中間情報に基づいて新たな中間情報を生成する。そして、出力ブロックＯＢ２は、抽出ブロックＡＢ１が生成した中間情報に基づいて、第２出力情報を生成する。
【００２８】
また、例えば、抽出ブロックＡＢ２は、中間ブロックＨＢ７が出力する中間情報と、中間ブロックＨＢ７よりも入力層側の中間ブロックＨＢ６が出力する中間情報と、中間ブロックＨＢ６よりもさらに入力層側の中間ブロックＨＢ４が出力する中間情報とに基づいた中間情報を生成する。より具体的には、抽出ブロックＡＢ２は、抽出ブロックＡＢ１が生成した中間情報と、中間ブロックＨＢ４が出力した中間情報とに基づいて新たな中間情報を生成する。そして、出力ブロックＯＢ３は、抽出ブロックＡＢ２が生成した中間情報に基づいて、第３出力情報を生成する。
【００２９】
また、例えば、抽出ブロックＡＢ３は、中間ブロックＨＢ７が出力する中間情報と、中間ブロックＨＢ７よりも入力層側の中間ブロックＨＢ６が出力する中間情報と、中間ブロックＨＢ６よりもさらに入力層側の中間ブロックＨＢ４が出力する中間情報と、中間ブロックＨＢ４よりもさらに入力層側の中間ブロックＨＢ２が出力する中間情報とに基づいた中間情報を生成する。より具体的には、抽出ブロックＡＢ３は、抽出ブロックＡＢ２が生成した中間情報と、中間ブロックＨＢ２が出力した中間情報とに基づいて新たな中間情報を生成する。そして、出力ブロックＯＢ４は、抽出ブロックＡＢ３が生成した中間情報に基づいて、第３出力情報を生成する。
【００３０】
なお、抽出ブロックＡＢ１〜ＡＢ３は、抽出した各中間情報に基づいて新たな中間情報を生成するのであれば、任意の構成が採用可能である。例えば、抽出ブロックＡＢ１〜ＡＢ３は、抽出した各中間情報に対して所定の処理を行う２つの中間ブロックと、各中間ブロックが出力する中間情報の合計を出力する合計ブロックとにより構成されてもよい。
【００３１】
例えば、図１に示す例では、抽出ブロックＡＢ３は、抽出ブロックＡＢ２が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックＨＢ３１と、中間ブロックＨＢ２が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックＨＢ３２と、中間ブロックＨＢ３１、ＨＢ３２が出力する中間情報を合計する合計ブロックＡＢとを有する。より具体的には、合計ブロックＡＢは、中間ブロックＨＢ３１、ＨＢ３２がそれぞれ複数次元のベクトルの合成ベクトルを生成することとなる。
【００３２】
なお、抽出ブロックＡＢ３は、抽出ブロックＡＢ２が出力する中間情報と、中間ブロックＨＢ２が出力する中間情報との次元数が同じである場合、中間ブロックＨＢ３１、ＨＢ３２を有さず、合計ブロックＡＢのみを有していてもよい。また、抽出ブロックＡＢ１、ＡＢ２は、抽出ブロックＡＢ３と同様の構成を有するものとする。例えば、抽出ブロックＡＢ１は、中間ブロックＨＢ７が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックと、中間ブロックＨＢ６が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックと、各中間ブロックが出力する中間情報を合計する合計ブロックとを有するものとする。また、抽出ブロックＡＢ２は、抽出ブロックＡＢ１が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックと、中間ブロックＨＢ４が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックと、各中間ブロックが出力する中間情報を合計する合計ブロックとを有するものとする。
【００３３】
このようなモデルＭ１を生成した場合、情報提供装置１０は、情報処理装置１００から学習データを取得する（ステップＳ１）。そして、情報提供装置１０は、取得した学習データを用いて、モデルＭ１の学習を行う。例えば、情報提供装置１０は、学習データとして取得した入力情報をモデルＭ１に入力し、所定の中間層の出力に基づく第１出力情報と複数の中間層の出力とに基づく中間出力情報を取得する（ステップＳ２）。
【００３４】
例えば、情報提供装置１０は、このようなモデルＭ１に対し、学習データとなる入力情報を入力することで、第１出力情報、第２出力情報、第３出力情報、および第４出力情報を取得する。すなわち、情報提供装置１０は、終端中間層が出力する中間情報と、複数の他の中間層が出力する中間情報とに基づく複数の中間出力情報を取得する。
【００３５】
続いて、情報提供装置１０は、各出力情報に基づいて、学習の指標となる複数の指標を設定する（ステップＳ３）。例えば、情報提供装置１０は、モデルＭ１に入力情報を入力した際にモデルＭ１に出力させたい出力情報を目的出力情報とする。そして、情報提供装置１０は、目的出力情報と第１出力情報とのクロスエントロピーである第１指標を設定する。また、情報提供装置１０は、目的出力情報と第２出力情報とのクロスエントロピーである第２指標を設定する。また、情報提供装置１０は、目的出力情報と第３出力情報とのクロスエントロピーである第３指標を設定する。なお、情報提供装置１０は、目的出力情報と第４出力情報とのクロスエントロピーである第４指標を設定してもよい。
【００３６】
そして、情報提供装置１０は、適用する指標を段階的に増やしながら、モデルＭ１の学習を段階的に行う（ステップＳ４）。より具体的には、情報提供装置１０は、モデルＭ１が有する入力ブロックＩＢ、中間ブロックＨＢ１〜ＨＢ７、および出力ブロックＯＢ１を学習対象範囲とし、目的関数に基づいて、学習対象範囲に含まれるノード間の接続係数を修正する。
【００３７】
例えば、情報提供装置１０は、第１指標を第１目的関数として設定し、第１目的関数の値を最小化するように、学習対象範囲の接続係数を修正する。続いて、情報提供装置１０は、第１指標と第２指標との和を第２目的関数として設定し、第２目的関数を最小化するように、学習対象範囲の接続係数を修正する。続いて、情報提供装置１０は、第１指標と第２指標と第３指標との和を第３目的関数として設定し、第３目的関数を最小化するように、学習対象範囲の接続係数を修正する。なお、情報提供装置１０は、その後、第１指標から第４指標の和を第４目的関数として設定し、第４目的関数を最小化するように、学習対象範囲の接続係数を修正してもよい。
【００３８】
すなわち、情報提供装置１０は、第１指標から第４指標として、目的出力情報と第１出力情報から第４出力情報とのクロスエントロピーをそれぞれ算出する。そして、情報提供装置１０は、第１指標のみの目的関数、第１指標と第２指標との和となる目的関数、第１指標から第３指標の和となる目的関数、第１指標から第４指標の和となる目的関数というように、クロスエントロピー関数である目的関数の項を段階的に増やしながら、モデルＭ１の学習を行う。換言すると、情報提供装置１０は、第１指標のみを用いた学習、第１指標と第２指標との組のみを用いた学習、第１指標から第３指標のみを用いた学習、および第１指標から第４指標の全てを用いた学習を段階的に行う。このように、情報提供装置１０は、使用する指標を段階的に増やしていき、最終的に全ての指標を用いて学習対象範囲の接続係数を修正する。
【００３９】
例えば、情報提供装置１０は、終端中間層が出力する中間情報と、終端中間層よりも入力層側の第１中間層が出力する中間情報とに基づいて、第２出力情報を取得し、終端中間層が出力する中間情報と、第１中間層が出力する中間情報と、第１中間層よりも入力層側の第２中間層が出力する中間情報とに基づいて、第３出力情報を取得する。そして、情報提供装置１０は、第１出力情報と、第２出力情報と、第３出力情報とに基づいて、モデルＭ１の学習を段階的に行う。例えば、情報提供装置１０は、第１出力情報に基づく第１指標と、第２出力情報に基づく第２指標と、第３出力情報に基づく第３指標とを少なくとも生成し、第１指標と、第２指標と、第３指標とを段階的に用いて、モデルの学習を段階的に行う。
【００４０】
また、情報提供装置１０は、終端中間層が出力した中間情報に基づく第１指標、終端中間層よりも入力層側の中間ブロックＨＢ６が出力した中間情報に基づく第２指標、中間ブロックＨＢ６よりも入力層側の中間ブロックＨＢ４が出力した中間情報に基づく第３指標、中間ブロックＨＢ４よりも入力層側の中間ブロックＨＢ２が出力した中間情報に基づく第４指標の順に、段階的に適用する目的関数の数を増やしながら、モデルＭ１の学習を段階的に行う。
【００４１】
このように、情報提供装置１０は、ある入力情報が有する特徴であって、解像度がそれぞれ異なる複数の特徴（すなわち、マルチレゾリューションな特徴）を段階的に用いて、モデルＭ１の学習をマルチステージで実行する。このような処理の結果、情報提供装置１０は、複数の目的関数を用いて、段階的にモデルＭ１の精度を向上させることができる。
【００４２】
〔１−３．学習処理のバリエーションについて〕
ここで、上述した学習処理は、あくまで一例であり、実施形態を限定するものではない。以下、情報提供装置１０が実行する学習処理のバリエーションについて説明する。
【００４３】
〔１−３−１．中間ブロックについて〕
上述した学習処理では、複数の中間ブロックＨＢ１〜ＨＢ７を有し、中間ブロックＨＢ７、６、４、２が出力した中間情報に基づいて、中間出力情報（第２出力情報〜第４出力情報）を生成する処理の例について記載した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、任意の中間ブロックＨＢが出力した中間情報に基づいて、複数の中間出力情報を取得し、取得した中間出力情報に基づいて、モデルＭ１を段階的に学習してもよい。
【００４４】
より具体的な例を挙げると、情報提供装置１０は、中間ブロックＨＢ５、６が出力する中間情報に基づいて、第２出力情報を生成し、中間ブロックＨＢ４、５、６が出力する中間情報に基づいて、第３出力情報を生成してもよい。すなわち、情報提供装置１０は、終端中間層以外の所定の中間層が出力した中間情報と、その所定の中間層よりも入力層に近い中間層が出力した中間情報とを用いて、中間出力情報を生成してもよい。また、情報提供装置１０は、より出力層に近い中間層が出力した中間情報に基づく中間出力情報から段階的に複数の中間出力情報を用いて、モデルＭ１の段階的な学習を行ってもよい。
【００４５】
また、情報提供装置１０は、中間ブロックＨＢ１〜ＨＢ７を有さずともよい。すなわち、情報提供装置１０は、入力層および出力層以外の複数の中間層のうち、任意の中間層が出力する中間情報に基づいて、中間出力情報を取得してもよい。このような場合、情報提供装置１０は、例えば、それぞれ異なる次元数の中間情報から、中間出力情報を取得してもよい。
【００４６】
例えば、抽出ブロックＡＢ１は、第１の次元数を有する中間情報と、第２の次元数を有する中間情報から第３の次元数を有する第２出力情報を生成してもよい。このような場合、抽出ブロックＡＢ２は、抽出ブロックＡＢ１が出力した第３の次元数を有する中間情報と、第４の次元数を有する中間情報から、第５の次元数を有する第３出力情報を生成してもよい。すなわち、情報提供装置１０は、入力層、複数の中間層、および出力層を有するモデルＭ１において、いずれかの中間層が出力した中間情報に基づいて、複数の中間出力情報を取得し、取得した複数の中間出力情報を用いて、モデルＭ１の学習を段階的に行うのであれば、任意の中間層が出力した任意の中間情報に基づいて、学習処理を行ってよい。
【００４７】
なお、情報提供装置１０は、任意の中間情報から各段階の中間出力情報を生成してよい。例えば、情報提供装置１０は、中間ブロックＨＢ７と中間ブロックＨＢ３とが出力する中間情報を抽出ブロックＡＢ１に入力し、抽出ブロックＡＢ１からの出力を第２出力情報としてもよい。また、情報提供装置１０は、抽出ブロックＡＢ１の出力と抽出ブロックＨＢ５の出力情報とから第３出力情報を生成してもよい。すなわち、情報提供装置１０は、任意の中間層が出力した中間情報を、任意の組み合わせで用いることで、任意の中間出力情報を設定してよい。
【００４８】
〔１−３−２．利用する出力情報について〕
上述した説明では、情報提供装置１０は、複数の中間出力情報を取得し、取得した複数の中間出力情報に基づいて、モデルＭ１の学習を行った。しかしながら、実施形態は、これに限定されるものではない。
【００４９】
例えば、情報提供装置１０は、１つの中間出力情報を取得し、第１出力情報と、中間出力情報とに基づいて、モデルＭ１の段階的な学習を行ってもよい。より具体的な例を挙げると、情報提供装置１０は、中間ブロックＨＢ２、４、６、７が出力する４つの中間情報を取得し、取得した４つの中間情報を合成した中間情報に基づいて、第４出力情報のみを取得し、第１出力情報と第４出力情報とを用いて、モデルＭ１の学習を行ってもよい。また、例えば、情報提供装置１０は、図１に示すモデルＭ１のうち、出力ブロックＯＢ２およびＯＢ３を有さないモデルＭ１を生成し、第１出力情報と第４出力情報とを用いて、モデルＭ１の学習を行ってもよい。
【００５０】
また、情報提供装置１０は、任意の数の中間出力情報に基づいて、モデルＭ１の学習を行ってもよい。例えば、情報提供装置１０は、５つ以上の中間出力情報に基づいて、モデルＭ１の学習を行ってもよい。また、情報提供装置１０は、出力ブロックＯＢ１が出力した第１出力情報を用いずに、モデルＭ１の学習を行ってもよい。
【００５１】
〔１−３−３．設定される目的関数について〕
また、情報提供装置１０は、中間出力情報に基づいて複数の指標を設定し、複数の指標に基づいて、モデルＭ１の学習を段階的に行うのであれば、任意の内容の指標を設定して良い。例えば、情報提供装置１０は、目的出力情報と第１出力情報とのクロスエントロピー関数以外にも、例えば、目的出力情報と第１出力情報との誤差に基づく指標を設定し、設定した指標を最小化するように、モデルＭ１の学習を行ってもよい。
【００５２】
また、情報提供装置１０は、目的出力情報と、第１出力情報との誤差を最小にする第１指標、第１出力情報と第２出力情報との誤差を最小にする第２指標を設定し、第１出力情報から第３出力情報の誤差を最小にする第３指標、第１出力情報から第４出力情報の誤差を最小にする第４指標を設定してもよい。また、情報提供装置１０は、第１出力情報と目的出力情報との誤差を最小化する目的関数と、第２出力情報から第４出力情報の平均値や荷重和と第１出力情報若しくは目的出力情報との誤差を最小にする目的関数を設定してもよい。
【００５３】
また、情報提供装置１０は、各指標に対して所定の重み係数を設定した目的関数を用いて、モデルＭ１の学習を行ってもよい。例えば、情報提供装置１０は、第１指標に対して係数０．６、第２指標に対して係数０．３、第３指標に対して係数０．１を設定し、係数を設定した各指標の和を示す目的関数を設定してもよい。また、このような係数は、例えば、モデルＭ１の段階的な学習を進める度に、異なる係数に設定してもよい。
【００５４】
なお、情報提供装置１０は、目的出力情報と各中間出力情報とのクロスエントロピーを各指標とし、各指標に基づいた目的関数を設定した場合、目的関数の値をより小さくするようにモデルＭ１の学習を行う。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、設定した指標の内容によっては、目的関数の値をより大きくするようにモデルＭ１の学習を行ってもよい。
【００５５】
〔１−３−４．学習処理の進行について〕
上述した説明では、モデルＭ１を学習する際に、第１出力情報から第４出力情報を取得し、取得した第１出力情報から第４出力情報を用いて複数の指標を設定し、モデルＭ１の段階的な学習を行った。このように、情報提供装置１０は、最初に全ての指標を設定し、設定した指標を段階的に増やすことで、目的関数を段階的に変化させながらモデルＭ１を段階的に学習してもよいが、モデルＭ１を学習する度に、指標を設定し直してもよい。すなわち、情報提供装置１０は、モデルＭ１の学習において、段階的なモデルＭ１の学習を行う度に、新たな中間情報や指標を設定してもよい。
【００５６】
例えば、情報提供装置１０は、入力情報をモデルＭ１に入力し、第１出力情報と第２出力情報とを取得する。そして、情報提供装置１０は、第１出力情報と第２出力情報とから、第１指標および第２指標を設定し、第１指標を用いたモデルＭ１の学習後に、第１指標と第２指標とを用いたモデルＭ１の学習を行う。
【００５７】
続いて、情報提供装置１０は、再度入力情報を学習済みのモデルＭ１に入力し、第１出力情報と第２出力情報と第３出力情報とを取得する。そして、情報提供装置１０は、取得した情報から、第１指標、第２指標および第３指標を設定し、第１指標を用いたモデルＭ１の学習後に、第１指標と第２指標とを用いたモデルＭ１の学習を行い、その後、第１指標から第３指標の全てを用いてモデルＭ１の学習を行う。
【００５８】
さらに、情報提供装置１０は、再度入力情報を学習済みのモデルＭ１に入力し、第１出力情報から第４出力情報を取得する。そして、情報提供装置１０は、取得した情報から、第１指標、第２指標、第３指標および第４指標を設定し、第１指標を用いたモデルＭ１の学習後に、第１指標と第２指標とを用いたモデルＭ１の学習を行い、その後、第１指標から第３指標を用いてモデルＭ１の学習を行い、さらにその後、すべての目的関数を用いてモデルＭ１の学習を行う。
【００５９】
なお、情報提供装置１０は、モデルＭ１の学習の進行に伴い、段階的に使用する中間情報を増やすことで、中間出力情報の数、ひいては目的関数の数を学習の進行に従って段階的に増加させ、モデルＭ１の学習を行うのであれば、任意の学習処理を適用して良い。
【００６０】
例えば、情報提供装置１０は、複数の中間情報を用いて中間出力情報を生成し、生成した中間出力情報を用いて指標を設定し、設定した指標を用いてモデルＭ１を学習するといった一連の処理を学習処理の１単位とする。そして、情報提供装置１０は、１単位の学習処理を実行する度に、新たな指標を設定し、設定した指標を用いてモデルＭ１を学習すればよい。
【００６１】
なお、このように学習を行う度に中間出力情報を生成し直す場合、情報提供装置１０は、中間情報の取得元となる中間層をその都度変更してもよい。例えば、情報提供装置１０は、最初に中間ブロックＨＢ６が出力した中間情報を用いて第２出力情報を生成し、生成した第２出力情報を用いてＭ１の学習を行った後、再度入力情報をモデルＭ１に入力し、中間ブロックＨＢ５が出力した中間情報、すなわち、より入力層に近い中間層が出力した中間情報を用いて新たな第２出力情報を生成し、生成した新たな第２出力情報を用いてＭ１の学習を行う。このような処理を繰り返すことで、情報提供装置１０は、モデルＭ１の学習を行ってもよい。
【００６２】
なお、モデルＭ１の学習を行う場合、出力層側から順に接続係数の修正を行ってもよいが、入力層側から順に接続係数の修正を行ってもよい。すなわち、情報提供装置１０は、中間出力情報を用いて複数の目的関数を設定し、設定した複数の目的関数を段階的に用いてモデルＭ１の学習を行うのであれば、任意の学習手法が採用可能である。
【００６３】
なお、上述した説明では、情報提供装置１０は、設定した複数の目的関数のうち学習に利用する目的関数を、段階的に増やしながら、モデルＭ１の学習を段階的に行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、第１指標から第３指標を設定した場合、最初の学習時においては第１指標のみを利用し、続く学習時においては、第２指標のみを利用し、さらに続く学習時においては、第３指標のみを利用してもよい。
【００６４】
〔１−３−５．学習対象範囲について〕
上述した例では、情報提供装置１０は、入力ブロックＩＢ、中間ブロックＨＢ、および出力ブロックＯＢ１を学習対象範囲とした。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、抽出ブロックＡＢ１〜ＡＢ３や出力ブロックＯＢ２〜ＯＢ４を学習対象範囲としてもよい。
【００６５】
また、情報提供装置１０は、使用する目的関数の元となった中間情報に応じて、学習対象範囲を変更してもよい。例えば、情報提供装置１０は、第１指標と第２指標とを用いて学習を行う場合、第２指標を設定する際に用いた中間情報（すなわち、第２出力情報の元となる中間情報）を出力した中間層のうち、最も入力層に近い中間層（すなわち、中間ブロックＨＢ６）を特定する。そして、情報提供装置１０は、第１指標と第２指標とを用いて、出力層から特定した中間層（例えば、出力ブロックＯＢ１から中間ブロックＨＢ６）までの範囲の学習を行ってもよい。また、情報提供装置１０は、第１指標から第３指標を用いてモデルＭ１の学習を行う場合、出力ブロックＯＢ１から中間ブロックＨＢ４までの範囲を学習対象範囲としてもよい。
【００６６】
〔１−３−６．モデルについて〕
上述した説明では、情報提供装置１０は、抽出ブロックＡＢ１〜ＡＢ３と、出力ブロックＯＢ２〜ＯＢ４を有するモデルＭ１の学習を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置１０は、入力ブロックＩＢと、複数の中間ブロックＨＢと、出力ブロックＯＢ１とを有するモデルＭ１を生成し、各中間ブロックＨＢが出力する中間情報に基づいて、中間出力情報を取得してもよい。すなわち、情報提供装置１０が学習対象とするモデルＭ１は、中間出力情報を取得するための抽出ブロックＡＢ１〜ＡＢ３や出力ブロックＯＢ２〜ＯＢ４を有していなくともよい。
【００６７】
また、モデルＭ１が有する各中間ブロックＨＢは、それぞれ異なる形式のＤＮＮであってもよい。例えば、モデルＭ１は、ＣＮＮの機能を有する中間ブロックＨＢと、ＲＮＮの機能を有する中間ブロックＨＢとを有していてもよい。また、モデルＭ１は、それぞれ異なる指標に基づいてプレトレーニングが行われた複数の中間ブロックＨＢを有していてもよい。
【００６８】
また、モデルＭ１は、並列に配置された中間層を有していてもよい。例えば、モデルＭ１は、中間ブロックＨＢ１の中間情報に基づいて新たな中間情報を生成する中間ブロックＨＢ２、ＨＢ３を有し、中間ブロックＨＢ２、ＨＢ３の中間情報に基づいて新たな中間情報を生成する中間ブロックＨＢ４を有していてもよい。このような場合、情報提供装置１０は、中間ブロックＨＢ２、ＨＢ３が出力する中間情報を個別に用いて中間出力情報を取得してもよく、中間ブロックＨＢ２、ＨＢ３が出力する中間情報を合成した中間情報に基づいて中間出力情報を取得してもよい。
【００６９】
なお、各中間ブロックＨＢの入力と出力とは、同じ次元数であっても異なる次元数であってもよい。また、各中間ブロックＨＢの出力は、異なる次元数であってもよい。このように、各中間ブロックＨＢの出力が異なる次元数であっても、抽出部ブロックＡＢが有する中間ブロックにより次元数を揃えればよい。
【００７０】
〔１−４．生成処理について〕
上述した学習処理により学習が行われたモデルＭ１は、複数の目的関数を用いて段階的に学習が行われるため、従来の単一の目的関数を用いたモデルよりも、第１出力情報の精度が向上する。しかしながら、情報提供装置１０は、第１出力情報のみならず、中間出力情報を用いて、入力情報に対応する対応情報を生成し、生成した対応情報をモデルＭ１による処理結果として出力してもよい。
【００７１】
例えば、情報提供装置１０は、入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に出力層が出力する第１出力情報を取得する。また、情報提供装置１０は、モデルに対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。そして、情報提供装置１０は、第１出力情報と中間出力情報とに基づいて、入力情報に対応する対応情報を生成する。
【００７２】
以下、図２を用いて、情報提供装置１０が学習済みのモデルＭ１を用いて実行する生成処理の一例について説明する。なお、図２に示すモデルＭ１は、図１に示した学習処理により学習が行われたモデルＭ１であるものとする。
【００７３】
例えば、情報提供装置１０は、情報処理装置２００から処理対象となる入力情報を受付ける（ステップＳ１）。このような場合、情報提供装置１０は、受付けた入力情報をモデルＭ１に入力することで、終端中間層の出力に基づく第１出力情報と、複数の中間層の出力に基づく中間出力情報とを取得する（ステップＳ２）。より具体的には、情報提供装置１０は、出力ブロックＯＢ１が出力した第１出力情報を取得するとともに、出力ブロックＯＢ２〜ＯＢ４が出力する第２出力情報から第４出力情報のそれぞれを取得する。
【００７４】
そして、情報提供装置１０は、各出力情報に基づいて、受付けた入力情報に対応する対応情報を生成する（ステップＳ３）。例えば、情報提供装置１０は、第１出力情報から第４出力情報までの荷重平均を算出し、算出した荷重平均の値に基づいて、対応情報を生成する。そして、情報提供装置１０は、生成した対応情報を情報処理装置２００に処理結果として出力する（ステップＳ４）。
【００７５】
このような処理を実行した場合、情報提供装置１０は、入力情報が有する特徴であって、解像度がそれぞれ異なる複数の特徴に基づいて、入力情報に対する対応情報を生成することができる。この結果、例えば、情報提供装置１０は、中間層による処理において欠損する特徴の周辺情報等を考慮して、入力情報に対応する対応情報を生成することができる。この結果、情報提供装置１０は、入力情報に対してより精度の高い対応情報を提供することができる。
【００７６】
〔１−５．生成処理のバリエーションについて〕
ここで、上述した説明では、情報提供装置１０は、第１出力情報から第４出力情報の荷重平均に基づいて、対応情報を生成した。しかしながら、実施形態は、これに限定されるものではない。情報提供装置１０は、少なくとも出力層が出力した第１出力情報と、中間出力情報とを用いて、出力情報を生成するのであれば、任意の手法により対応情報を生成してよい。
【００７７】
例えば、図１、図２に示す構造のモデルＭ１において、第４出力情報は、最も入力層に近い中間層が出力した中間情報と、最も出力層に近い中間層が出力した中間情報とに基づく情報である。このため、第４出力情報は、入力情報が有する特徴を最も多様な解像度で示しているとも考えられる。そこで、情報提供装置１０は、第４出力情報のみを用いて、対応情報を生成してもよい。すなわち、情報提供装置１０は、それぞれ異なる中間層が出力する中間情報に基づく複数の中間出力情報を取得し、中間出力情報のうち、最も入力層側の中間層が出力する中間情報に基づいて、対応情報を生成してもよい。また、情報提供装置１０は、例えば、より入力層に近い中間層が出力した中間情報に基づく中間出力情報に対して、より大きな重みを設定した状態で、各中間出力情報の荷重平均を算出し、算出した荷重平均に基づく対応情報を生成してもよい。
【００７８】
なお、情報提供装置１０は、第４出力情報を対応情報として出力する場合、出力ブロックＯＢ１〜ＯＢ３を有さずともよい。また、情報提供装置１０は、上述した処理以外にも、第１出力情報と中間情報とを組み合わせて用いるのであれば、任意の処理を採用してよい。
【００７９】
〔１−６．適用対象について〕
なお、モデルＭ１は、任意の処理を目的とするモデルであってよい。例えば、モデルＭ１は、学習処理において、所定の入力情報を入力した際にどのような情報を目的出力情報とするかにより、任意の処理を実現可能である。例えば、情報提供装置１０は、入力情報の分類を行う場合、学習データとなる入力情報を入力した際に、各出力情報がその入力情報の分類を示す情報となるように学習を行うことで、入力情報の分類を行うモデルＭ１の学習を行うことができる。このような分類は、テキスト、静止画像、動画像、音声等、任意のコンテンツについて、任意の基準の分類が採用可能である。例えば、モデルＭ１は、顔画像の認証を行うための分類を行うものであってもよい。
【００８０】
また、モデルＭ１は、入力された音声の分類を行うものであってもよい。例えば、モデルＭ１は、入力された音声に人の声が含まれているか否か（すなわち、発話区間であるか否か）や、入力された音声に所定のキーワードが含まれているか否か、入力された音声が所定の人物の声が含まれているか否か等の分類を行うモデルであってもよい。
【００８１】
例えば、情報提供装置１０は、入力層と、複数の中間層と、出力層とを有するモデルに対して音声に関する音声情報を入力した際に出力層が出力する音声情報の第１分類結果を取得する。また、情報提供装置１０は、モデルに対して音声情報を入力した際に複数の中間層が出力する中間情報に基づく中間分類結果を取得する。そして、情報提供装置１０は、第１分類結果と中間分類結果とに基づいて、音声情報を分類する分類処理を実行してもよい。このように、上述した学習処理は、任意の処理を実現するためのモデルＭ１の学習に適用可能であり、上述した生成処理は、任意の処理を実現するモデルＭ１を用いた対応情報の生成に適用可能である。
【００８２】
〔２．情報提供装置が有する機能構成の一例について〕
以下、上記した検出処理および配信処理を実現する情報提供装置１０が有する機能構成の一例について説明する。図３は、実施形態に係る情報提供装置の構成例を示す図である。図３に示すように、情報提供装置１０は、通信部２０、記憶部３０、および制御部４０を有する。
【００８３】
通信部２０は、例えば、ＮＩＣ（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）等の集積回路により実現されてもよい。
【００９７】
また、制御部４０は、記憶部３０に記憶されるモデルＭ１に従った情報処理により、モデルＭ１の入力層に入力された入力情報に対し、モデルＭ１が有する係数（すなわち、モデルＭ１が学習した各特徴に対応する係数）に基づく演算を行い、入力された入力情報に対応する対応情報を算出し、モデルＭ１の出力層から出力する。
【００９８】
図２に示すように、制御部４０は、受付部４１、取得部４２、学習部４３、生成部４４、および出力部４５を有する。
【００９９】
受付部４１は、入力情報を受付ける。例えば、受付部４１は、情報処理装置１００から学習データとして入力情報と、その入力情報をモデルＭ１に入力した際にモデルＭ１の出力層から出力させたい情報、すなわち、目的出力情報とを受付ける。このような場合、受付部４１は、受付けた入力情報と目的出力情報とを学習データデータベース３１に登録する。また、受付部４１は、情報処理装置２００から処理対象となる入力情報を受付けると、受付けた入力情報を出力部４５に出力する。
【０１００】
取得部４２は、第１出力情報や各中間出力情報を取得する。以下、取得部４２が発揮する機能を、学習処理の実行時と、生成処理や分類処理の実行時とに分けて説明する。まず、学習処理の実行時において取得部４２が実行する処理について説明する。取得部４２は、入力層と、複数の中間層と、出力層とを有するモデルＭ１に対して所定の入力情報を入力した際に出力層が出力する第１出力情報を取得する、また、取得部４２は、モデルＭ１に対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。
【０１０１】
例えば、取得部４２は、所定の時間間隔で学習処理を実行する。まず、取得部４２は、モデルデータベース３２から学習対象となるモデルＭ１を読出すとともに、メモリ上に展開する。また、取得部４２は、学習データデータベース３１から、学習データとなる入力情報と目的出力情報とを読み出す。そして、取得部４２は、モデルＭ１の入力層に読み出した入力情報を入力し、モデルＭ１が出力する第１出力情報から第４出力情報を取得する。その後、取得部４２は、第１出力情報から第４出力情報と共に、目的出力情報を学習部４３へと出力する。
【０１０２】
すなわち、取得部４２は、中間層のうち、所定の中間層が出力する中間情報と、所定の中間層よりも入力層側の中間層が出力する中間情報とに基づく中間出力情報を取得する。また、取得部４２は、所定の中間層が出力する中間情報と、それぞれ異なる中間層が出力する中間情報とに基づいて、複数の中間出力情報を取得する。例えば、取得部４２は、所定の中間層が出力する中間情報と、所定の中間層よりも入力層側の第１中間層が出力する中間情報とに基づいて、第２出力情報を取得する。また、例えば、取得部４２は、第２出力情報とは異なる複数の中間層が出力する中間情報に基づいて、第３出力情報を取得する。また、取得部４２は、複数の中間層として、それぞれが複数の中間層を有する複数の中間ブロックを有するモデルに対して入力情報を入力した際に、出力層が出力する第１出力情報を取得する。
【０１０３】
例えば、取得部４２は、中間ブロックＨＢ７と中間ブロックＨＢ６が出力する中間情報に基づく第２出力情報と、中間ブロックＨＢ７、中間ブロックＨＢ６、および中間ブロックＨＢ４に基づく第３出力情報とを取得する。また、取得部４２は、中間ブロックＨＢ７、中間ブロックＨＢ６、中間ブロックＨＢ４、および中間ブロックＨＢ２に基づく第４出力情報とを取得する。そして、取得部４２は、取得した第２出力情報から第４出力情報を、第１出力情報と目的出力情報とともに学習部４３へと出力する。
【０１０４】
一方、取得部４２は、生成処理や分類処理を実行する場合には、以下の処理を実行する。例えば、取得部４２は、入力層と、複数の中間層と、出力層とを有するモデルＭ１に対して所定の入力情報を入力した際に出力層が出力する第１出力情報を取得する。また、取得部４２は、モデルＭ１に対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。より具体的には、取得部４２は、それぞれ異なる中間層が出力する中間情報に基づく複数の中間出力情報を取得する。
【０１０５】
例えば、取得部４２は、受付部４１が情報処理装置２００から受付けた処理対象となる入力情報を受付けると、メモリ上に展開したモデルＭ１の入力層に対して入力情報を入力する。そして、取得部４２は、モデルＭ１が出力した第１出力情報から第４出力情報を取得し、取得した第１出力情報から第４出力情報を生成部４４へと出力する。
【０１０６】
ここで、入力情報が音声データ等の音声情報であり、モデルＭ１が音声情報の分類を行うように学習が行われている場合、取得部４２は、モデルＭ１に対して音声情報を入力した際に出力層が出力する音声情報の第１分類結果を取得する。また、取得部４２は、モデルＭ１に対して音声情報を入力した際に複数の中間層が出力する中間情報に基づく中間分類結果（例えば、第２出力情報から第４出力情報のそれぞれに対応する分類結果）を取得する。そして、取得部４２は、第１分類結果と中間分類結果とを生成部４４に出力することとなる。なお、取得部４２は、生成時や測定時においても、中間ブロックＨＢ７が出力する中間情報等、終端中間層が出力する中間情報に基づく中間出力情報を取得してよい。
【０１０７】
学習部４３は、第１出力情報と中間出力情報とに基づいて、モデルＭ１の学習を行う。例えば、学習部４３は、第１出力情報と中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、モデルＭ１の学習を段階的に行う。より具体的な例を挙げると、学習部４３は、入力情報に対応する目的出力情報と第１出力情報とに基づく第１指標に基づいて、モデルＭ１の学習を行う。その後、学習部４３は、第２出力情報と中間出力情報とに基づく第２指標に基づいて、モデルＭ１の学習を行う。
【０１０８】
ここで、学習部４３は、複数の中間出力情報を段階的に用いて、モデルＭ１を学習する。例えば、学習部４３は、第１出力情報に基づく第１指標と、第２出力情報に基づく第２指標と、第３出力情報に基づく第３指標とを少なくとも生成し、第１指標と、第２指標と、第３指標とを段階的に用いて、モデルＭ１の学習を段階的に行う。例えば、学習部４３は、第１指標を用いた学習を行い、その後、第１指標と第２指標とを同時に用いた学習を行い、さらにその後、第１指標から第３指標の全てを同時に用いた学習を行う。
【０１０９】
すなわち、学習部４３は、中間出力情報である第１出力情報と、第２出力情報と、第３出力情報とに基づいて、モデルＭ１の学習を段階的に行う。なお、学習部４３は、中間出力情報に基づいた指標を複数設定するのであれば、例えば、目的出力情報との誤差やクロスエントロピー等、任意の指標の設定を行ってよい。
【０１１０】
生成部４４は、第１出力情報と中間出力情報とに基づいて、入力情報に対応する対応情報を生成する。例えば、生成部４４は、第１出力情報から第４出力情報を取得部４２から受付けると、受付けた第１出力情報から第４出力情報の荷重和に基づいて、対応情報を生成する。なお、生成部４４は、例えば、第４出力情報等、中間出力情報のうち最も入力層側の中間層が出力する中間情報に基づいて、対応情報を生成してもよい。
【０１１１】
なお、分類処理の実行時においては、生成部４４は、第１出力情報から第４出力情報と対応する４つの分類結果を取得部４２から取得することとなる。このような場合、生成部４４は、各分類結果の平均値や、最も入力層側の中間層が出力する中間情報に基づいた中間分類結果等に基づいて、音声情報の分類結果を示す対応情報を生成することとなる。すなわち、生成部４４は、第１分類結果と中間分類結果とに基づいて、入力情報となった音声情報の分類を行う分類部として動作することとなる。
【０１１２】
出力部４５は、生成部４４により生成された対応情報を出力する。例えば、出力部４５は、情報処理装置２００に対し、処理対象として受付けた入力情報に対応する対応情報として、生成部４４が生成した対応情報を出力する。
【０１１３】
〔３．精度の一例について〕
ここで、上述した学習処理の効果の一例として、上述した学習処理が行われたモデルＭ１の精度の一例について説明する。以下の説明では、モデルＭ１の精度の一例として、ＴＩＭＩＴの音声認識タスクにおける認識した単語と実際の単語とに齟齬が生じる割合である単語誤り率（ＷＥＲ：Word  Error  Rate）の改善について説明する。以下の説明においては、標準となる４６２人の利用者の声を用いたトレーニングセットが用いられ、５０人の利用者の声を用いた開発セットによりハイパーパラメータのチューニングが行われた。また、学習が行われたモデルＭ１の精度を測定するため、開発セットに声が含まれる利用者とは異なる２４人の声を用いたテストセットを用いて、モデルＭ１の精度を測定する実験を行った。
【０１１４】
この実験においては、入力情報として、２５ミリセカンドのハミング窓と１０ミリセカンドのフレームレートにより抽出された音声波形を採用した。また、時間微係数を含む３９次元の特徴ベクトルを採用した。また、入力ブロック、中間ブロック、および出力ブロックの入出力は、４２９次元のベクトルとし、９個のブロックを設定した。
【０１１５】
また、この実験においては、ＧＭＭ−ＨＭＭ（Gaussian  Mixture  Model-Hidden  Markov  Model）とケプストラム平均正規化法とを用いて、電話音声の解析を行った。また、クロスエントロピー目的関数を用いて、モデルＭ１の学習を行った。また、モーメンタムを０．５とした確率的勾配降下法により、モデルＭ１の学習を行った。また、学習率を０．１に設定した状態で５回の学習処理を行い、その後、学習を行う度に学習率を５０パーセントずつ減少させた。ここで、各中間ブロックは、７つの中間層を有し、全ての中間層におけるノードにおいてＲｅＬＵを活性化関数に採用した。また、ドロップアウトが全ての層において採用され、ドロップアウトが行われる割合を０．２に設定した。
【０１１６】
また、この実験においては、１つの抽出ブロックを持つモデル、２つの抽出ブロックを持つモデル、および３つの抽出ブロックを持つモデルについて、上述した各種のパラメータに従って、上述した学習処理を行った。また、比較対象として、２０４８次元のベクトルを入出力とする７つの中間ブロックを有するＤＮＮ、１０２４次元のベクトルを入出力とする７つの中間ブロックを有するＤＮＮ、１０２４次元のベクトルを入出力とする７つの中間ブロックを有し、スキップコネクションを採用したＤＮＮ、および１０２４次元のベクトルを入出力とする７つの中間ブロックを有し、全ての層が出力する特徴に基づいて処理を行うＤＮＮについて、学習を行った。
【０１１７】
上述した実験において学習が行われた各モデルのＷＥＲの値を図５に示す。図５は、実施形態に係る学習処理の効果の一例を示す第１の図である。図５に示すように、上述した学習処理によって学習が行われた各モデル、すなわち、１つの抽出ブロックを持つモデル、２つの抽出ブロックを持つモデル、および３つの抽出ブロックを持つモデルのＷＥＲは、比較対象となる各モデルのＷＥＲよりも小さい値となっており、比較対象となる各モデルよりも精度が向上している。
【０１１８】
また、モデルＭ１としてｂＬＳＴＭ（Bidirectional  LSTM）を採用し、上述した学習処理を行った場合の実験についても行った。この実験においては、ベースラインとして、５つのｂＬＳＴＭ層が出力層の前段に配置されているモデルを採用した。また、非線形の活性化関数としてｔａｎｈを採用した。また、各ｂＬＳＴＭ層は、２５６のセルを有し、出力層側のｂＬＳＴＭ層と入力層側のｂＬＳＴＭ層とをマージするように連結されている。ドロップアウトは、出力層を含め、全てのｂＬＳＴＭ層の出力層に対して採用され、ドロップアウトが行われる割合を０．２に設定した。また、この実験においては、１つの抽出ブロックを有するモデルと、２つの抽出ブロックを有するモデルとについて、上述した各種のパラメータに従って、上述した学習処理を行った。
【０１１９】
上述した実験において学習が行われた各モデルのＷＥＲの値を図６に示す。図６は、実施形態に係る学習処理の効果の一例を示す第２の図である。図６に示すように、上述した学習処理によって学習が行われた各モデル、すなわち、１つの抽出ブロックを持つモデル、および２つの抽出ブロックを持つモデルのＷＥＲは、ベースラインとなるモデルのＷＥＲよりも小さい値となっており、ベースラインとなるモデルよりも精度が向上している。
【０１２０】
このように、上述した学習処理によって生成されたモデルは、従来の処理によって学習が行われたモデルよりもＷＥＲの値を減少させることができる。この結果、情報提供装置１０は、上述した学習処理を実行することで、モデルが出力する情報の精度を従来技術と比較してより向上させることができる。
【０１２１】
〔４．情報提供装置が実行する処理の流れについて〕
次に、図７、図８を用いて、情報提供装置１０が実行する処理の流れの一例について説明する。図７は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。また、図８は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。
【０１２２】
まず、図７を用いて、学習処理の流れの一例を説明する。まず、情報提供装置１０は、学習データの入力情報をモデルＭ１に入力する（ステップＳ１０１）。そして、情報提供装置１０は、終端中間層出力に基づく第１出力情報と、複数の中間層の出力に基づく中間出力情報を取得する（ステップＳ１０２）。また、情報提供装置１０は、第１出力情報と各中間出力情報とに基づいて、指標を複数設定する（ステップＳ１０３）。そして、情報提供装置１０は、使用する指標を段階的に増加させながら、段階的にモデルの学習を行い（ステップＳ１０４）、処理を終了する。
【０１２３】
続いて、図８を用いて、生成処理の流れの一例について説明する。例えば、情報提供装置１０は、入力情報を情報処理装置２００から受付けたか否かを判定し（ステップＳ２０１）、受付けていない場合は（ステップＳ２０１：Ｎｏ）、受付けるまで待機する。そして、情報提供装置１０は、入力情報を受付けた場合は（ステップＳ２０１：Ｙｅｓ）、入力情報をモデルＭ１に入力し、第１出力情報と、中間出力情報とを取得する（ステップＳ２０２）。また、情報提供装置１０は、第１出力情報と中間出力情報とに基づいて、対応情報を生成する（ステップＳ２０３）。そして、情報提供装置１０は、生成した対応情報を出力し（ステップＳ２０４）、処理を終了する。
【０１２４】
なお、情報提供装置１０は、図８に示す「入力情報」を「音声情報」とし、「出力情報」を「分類情報」と読み替えた処理を実行することで、分類処理を実行することができる。
【０１２５】
〔５．変形例〕
上記では、情報提供装置１０による学習処理、生成処理および分類処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置１０が実行する検出処理や配信処理のバリエーションについて説明する。
【０１２６】
〔５−１．装置構成〕
記憶部３０に登録された各データベース３１、３２は、外部のストレージサーバに保持されていてもよい。また、情報提供装置１０は、学習処理を実行する学習サーバ、および生成処理を実行する生成サーバとが連携して動作することにより、実現されてもよい。このような場合、学習サーバには、取得部４２および学習部４３が配置されていればよく、生成サーバには、取得部４２、および生成部４４が配置されていればよい。
【０１２７】
〔５−２．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１２８】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１２９】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１３０】
〔５−３．プログラム〕
また、上述した実施形態に係る情報提供装置１０は、例えば図９に示すような構成のコンピュータ１０００によって実現される。図９は、ハードウェア構成の一例を示す図である。コンピュータ１０００は、出力装置１０１０、入力装置１０２０と接続され、演算装置１０３０、一次記憶装置１０４０、二次記憶装置１０５０、出力ＩＦ（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）」は、「手段」や「回路」などに読み替えることができる。例えば、検出部は、検出手段や検出回路に読み替えることができる。
【符号の説明】
【０１５０】
１０  情報提供装置
２０  通信部
３０  記憶部
３１  学習データデータベース
３２  モデルデータベース
４０  制御部
４１  受付部
４２  取得部
４３  学習部
４４  生成部
４５  出力部
１００、２００  情報処理装置
【図１】
2019079102.tif 000003
【図２】
2019079102.tif 000004
【図３】
2019079102.tif 000005
【図４】
2019079102.tif 000006
【図５】
2019079102.tif 000007
【図６】
2019079102.tif 000008
【図７】
2019079102.tif 000009
【図８】
2019079102.tif 000010
【図９】
2019079102.tif 000011
【手続補正書】
【提出日】平成30年12月10日(2018.12.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得部と、
前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得部と、
前記第１出力情報と前記中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、前記モデルの学習を段階的に行う学習部と
を有することを特徴とする学習装置。
【請求項２】
前記学習部は、前記入力情報に対応する目的出力情報と前記第１出力情報とに基づく第１指標を用いて、前記モデルの学習を行い、その後、前記目的出力情報と前記中間出力情報とに基づく第２指標を用いて、前記モデルの学習を行う
ことを特徴とする請求項１に記載の学習装置。 
【請求項３】
前記第２取得部は、前記中間層のうち、所定の中間層が出力する中間情報と、所定の中間層よりも入力層側の中間層が出力する中間情報とに基づく中間出力情報を取得する
ことを特徴とする請求項１または２に記載の学習装置。 
【請求項４】
前記第２取得部は、前記所定の中間層が出力する中間情報と、それぞれ異なる中間層が出力する中間情報とに基づいて、複数の中間出力情報を取得する
ことを特徴とする請求項３に記載の学習装置。 
【請求項５】
前記第２取得部は、複数の中間層が出力する中間情報に基づいて、第２出力情報を取得し、前記第２出力情報とは異なる中間層が出力する中間情報に基づいて、第３出力情報を取得し、
前記学習部は、前記第１出力情報と、前記第２出力情報と、前記第３出力情報とに基づいて、前記モデルの学習を段階的に行う
ことを特徴とする請求項３または４に記載の学習装置。 
【請求項６】
前記学習部は、前記入力情報に対応する目的出力情報と前記第１出力情報とに基づく第１指標と、前記目的出力情報と前記第２出力情報とに基づく第２指標と、前記目的出力情報と前記第３出力情報とに基づく第３指標とを少なくとも生成し、前記第１指標と、前記第２指標と、前記第３指標とを段階的に用いて、前記モデルの学習を段階的に行う
ことを特徴とする請求項５に記載の学習装置。 
【請求項７】
前記学習部は、前記第１指標と、前記第２指標と、前記第３指標とのうち、使用する指標を段階的に増加させながら、前記モデルの学習を段階的に行う
ことを特徴とする請求項６に記載の学習装置。 
【請求項８】
前記第１取得部は、前記複数の中間層として、それぞれが複数の中間層を有する複数の中間ブロックを有するモデルに対して前記入力情報を入力した際に、前記出力層が出力する第１出力情報を取得し、
前記第２取得部は、前記中間ブロックのうち、所定の中間ブロックが出力する中間情報に基づく中間出力情報を取得する
ことを特徴とする請求項１〜７のうちいずれか１つに記載の学習装置。 
【請求項９】
所定の外部装置から所定の入力情報を受付ける受付部と、
入力層と、複数の中間層と、出力層とを有するモデルに対して前記受付部により受付けられた所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得部と、
前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得部と、
前記第１出力情報と前記中間出力情報とに基づいて、前記入力情報に対応する対応情報を生成する生成部と、
前記生成部により生成された対応情報を前記所定の入力情報に対する応答として前記所定の外部装置に出力する出力部と、
を有することを特徴とする生成装置。 
【請求項１０】
前記生成部は、前記第１出力情報と、前記中間出力情報との荷重和に基づいて、前記対応情報を生成する
ことを特徴とする請求項９に記載の生成装置。 
【請求項１１】
前記第２取得部は、それぞれ異なる中間層が出力する中間情報に基づく複数の中間出力情報を取得し、
前記生成部は、前記中間出力情報のうち、最も入力層側の中間層が出力する中間情報に基づいて、前記対応情報を生成する
ことを特徴とする請求項１０に記載の生成装置。
【請求項１２】
所定の外部装置から音声に関する音声情報を受付ける受付部と、
入力層と、複数の中間層と、出力層とを有するモデルに対して前記音声情報を入力した際に前記出力層が出力する前記音声情報の第１分類結果を取得する第１取得部と、
前記モデルに対して前記音声情報を入力した際に複数の中間層が出力する中間情報に基づく中間分類結果を取得する第２取得部と、
前記第１分類結果と前記中間分類結果とに基づいて、前記音声情報を分類する分類部と、
前記分類部による分類結果を前記音声情報に対する応答として前記所定の外部装置に出力する出力部と、
を有することを特徴とする分類装置。
【請求項１３】
学習装置が実行する学習方法であって、
入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得工程と、
前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得工程と、
前記第１出力情報と前記中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、前記モデルの学習を段階的に行う学習工程と
を含むことを特徴とする学習方法。
【請求項１４】
入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第１出力情報を取得する第１取得手順と、
前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第２取得手順と、
前記第１出力情報と前記中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、前記モデルの学習を段階的に行う学習手順と
をコンピュータに実行させるための学習プログラム。 
【請求項１５】
入力情報が入力される入力層と、
入力層に入力された入力情報に対して所定の処理を順次行う複数の中間層と、
前記複数の中間層のうち最後に処理を行う終端中間層の出力に基づいて、前記入力情報に対応する第１対応情報を生成する第１出力層と、
前記複数の中間層のうち、前記終端中間層の出力と、当該終端中間層以外の中間層の出力とに基づいて、前記入力情報に対応する第２対応情報を生成する第２出力層と
を含むモデルであって、
所定の学習情報を入力した際に前記第１出力層が出力する第１対応情報と前記複数の中間層が出力する中間情報に基づく中間出力情報とに基づいて設定された複数の指標に基づく段階的な学習が行われたモデル
としてコンピュータを動作させるための動作プログラム。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
本発明は学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラムに関する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】変更
【補正の内容】
【００１０】
以下に、本願に係る学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。