JP6568175B2 - 学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラム - Google Patents

学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラム Download PDF

Info

Publication number
JP6568175B2
JP6568175B2 JP2017203314A JP2017203314A JP6568175B2 JP 6568175 B2 JP6568175 B2 JP 6568175B2 JP 2017203314 A JP2017203314 A JP 2017203314A JP 2017203314 A JP2017203314 A JP 2017203314A JP 6568175 B2 JP6568175 B2 JP 6568175B2
Authority
JP
Japan
Prior art keywords
information
output
input
learning
layer
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
JP2017203314A
Other languages
English (en)
Other versions
JP2019079102A (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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan Corp
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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2017203314A priority Critical patent/JP6568175B2/ja
Priority to US16/130,355 priority patent/US11580362B2/en
Publication of JP2019079102A publication Critical patent/JP2019079102A/ja
Application granted granted Critical
Publication of JP6568175B2 publication Critical patent/JP6568175B2/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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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
    • 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/08Learning methods
    • 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
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • 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/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)

Description

本発明は学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラムに関する。
従来、多層に接続されたニューロン(以下、ノードと記載する場合がある。)を有するDNN(Deep Neural Network)を利用して各種の処理を実現する技術が知られている。例えば、このようなDNNでは、直列に接続された複数の中間層を有し、各中間層で情報の次元数を変化させることで、入力情報が有する特徴を抽出し、抽出した特徴に応じた出力情報を出力する。また、このようなDNNを用いた技術の一例として、各中間層が出力する情報をまとめて用いることで、出力情報の精度を向上させるスキップコネクションの技術が知られている。
"Deep Residual Learning for Image Recognition" Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun <インターネット>https://arxiv.org/pdf/1512.03385.pdf
しかしながら、従来技術では、出力情報の精度の向上を必ずしも図ることができない場合がある。
例えば、上述した従来技術では、ある入力情報を入力した際にDNNが出力する出力情報が所望する情報に近づくように、ノード間の接続係数を補正することで、DNNの学習を行う。しかしながら、このような学習手法では、接続係数を補正する際の指標が1つとなるため、DNNの学習精度の向上が困難となる恐れがある。
本願は、上記に鑑みてなされたものであって、出力情報の精度を向上させることを目的とする。
本願に係る学習装置は、入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第1出力情報を取得する第1取得部と、前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第2取得部と、前記第1出力情報と前記中間出力情報とに基づいて、前記モデルの学習を行う学習部とを有することを特徴とする。
実施形態の一態様によれば、出力情報の精度を向上させることができる。
図1は、実施形態に係る情報提供装置が実行する学習処理の一例を示す図である。 図2は、実施形態に係る情報提供装置が実行する生成処理の一例を示す図である。 図3は、実施形態に係る情報提供装置の構成例を示す図である。 図4は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。 図5は、実施形態に係る学習処理の効果の一例を示す第1の図である。 図6は、実施形態に係る学習処理の効果の一例を示す第2の図である。 図7は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。 図8は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。 図9は、ハードウェア構成の一例を示す図である。
以下に、本願に係る学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報提供装置の概要について〕
まず、図1および図2を用いて、学習装置、生成装置、および分類装置の一例である情報提供装置が実行する学習処理および生成処理の一例について説明する。図1は、実施形態に係る情報提供装置が実行する学習処理の一例を示す図である。図2は、実施形態に係る情報提供装置が実行する生成処理の一例を示す図である。図1および図2では、情報提供装置10は、以下に説明する学習処理および生成処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
例えば、情報提供装置10は、インターネット等の所定のネットワークN(例えば、図3参照)を介して、任意の利用者が使用する情報処理装置100、200と通信可能である。例えば、情報提供装置10は、情報処理装置100、200との間で、各種データの送受信を行う。
なお、情報処理装置100、200は、スマートフォンやタブレット等のスマートデバイス、デスクトップPC(Personal Computer)やノートPC等、サーバ装置等の情報処理装置により実現され、情報提供装置10に対し、モデルの学習に用いる学習データや、生成処理の対象となる入力情報等、各種任意の情報を提供可能な情報処理装置であるものとする。
ここで、情報提供装置10は、各種の入力情報が有する特徴に基づいて、入力情報の分類や分類結果に応じた処理を行うモデルの学習を行う。ここで、モデルとは、複数のノードからなる入力層、中間層(隠れ層)、および出力層を有する多層のニューラルネットワーク等により実現される。以下の説明では、情報提供装置10が複数の中間層を有するDNN(Deep Neural Network)であるモデルの学習を行う例について説明するが、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、CNN(Convolutional Neural Network)、RNN(Recurrent Neural Network)、LSTM(Long Short-Term Memory)等、複数の中間層を有するニューラルネットワークであれば、任意のニューラルネットワークをモデルとして学習してもよい。
このようなモデルは、入力層を介して各種の入力情報が入力されると、複数の中間層において入力情報が有する特徴の抽出処理等を行う。より具体的には、モデルは、直列に接続された複数の中間層を有し、入力情報に対し、各中間層が各種の処理を順次行うこととなる。そして、モデルは、出力層を介して、中間層が出力した情報に基づく分類結果等の各種処理結果を入力された入力情報に対応する出力情報として出力する。このようなモデルは、所定の入力情報を入力した際に、所望する出力情報を出力するようにノード間の接続係数を補正することで、入力情報が有する特徴を学習することとなる。このような学習は、例えば、バックプロパゲーション等の手法により実現可能である。
〔1−1.学習処理について〕
ここで、従来の学習処理においては、所定の入力情報を入力した際にモデルが実際に出力した出力情報と、所望する出力情報との誤差やクロスエントロピーを学習の指標として、接続係数の補正が行われる。すなわち、従来の学習処理においては、モデルが実際に出力した出力情報と、所望する出力情報とのクロスエントロピー関数を目的関数とし、目的関数を微分して、その微係数でノード間の接続係数を更新することで、モデルの学習が行われる。しかしながら、このような単一の指標によりモデルの学習が行われた場合、出力情報の精度向上が困難となる恐れがある。
そこで、情報提供装置10は、以下の学習処理を実行する。まず、情報提供装置10は、入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に出力層が出力する第1出力情報を取得する。また、情報提供装置10は、モデルに対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。そして、情報提供装置10は、第1出力情報と中間出力情報とに基づいて、モデルの学習を行う。
例えば、情報提供装置10は、所定の入力情報をモデルに入力した際に、出力層が出力した情報を第1出力情報として取得する。また、情報提供装置10は、所定の入力情報をモデルに入力した際に、中間層のうち、所定の中間層が出力した中間情報と、所定の中間層よりも入力層側に位置する中間層が出力した中間情報とに基づいて、1つまたは複数の中間出力情報を取得する。
このような中間出力情報は、モデルの学習における指標となりえる。そこで、情報提供装置10は、第1出力情報と中間出力情報とに基づいて、モデルの学習に用いられる複数の指標を設定し、複数の指標に基づいて、モデルの学習を段階的に行う。例えば、情報提供装置10は、入力情報に対応する目的出力情報と第1出力情報とに基づく第1指標を用いて、モデルの学習を行い、その後、目的出力情報と中間出力情報とに基づく第2指標を用いて、モデルの学習を行う。
また、情報提供装置10は、複数の中間出力情報に基づいて、第3指標および第4指標を生成し、生成した各指標を段階的に用いることで、モデルの段階的な学習を行ってもよい。例えば、情報提供装置10は、中間層を選択し、選択した中間層が出力した中間情報に基づく指標を設定し、設定した指標を用いてモデルを学習する一連の処理を、選択する中間層を所定の中間層から段階的に入力層側の中間層へと変更させながら実行することで、モデルの段階的な学習を行ってもよい。
このように、情報提供装置10は、第1出力情報のみならず、中間層が出力する中間情報に基づいた中間出力情報を取得し、第1出力情報と中間出力情報とに基づいて、モデルの学習を行う。この結果、情報提供装置10は、モデルの学習に用いる指標を拡張することできるので、モデルの学習精度を向上させることができる結果、出力情報の精度向上を実現することができる。
〔1−2.学習処理の一例について〕
以下、図1を用いて、情報提供装置10が実行する学習処理の一例を説明する。なお、図1の例では、中間出力情報として、第2出力情報から第4出力情報を取得する例について説明するが、実施形態は、これに限定されるものではなく、任意の数の中間出力情報に基づいたモデルの学習を行ってよい。
ここで、情報提供装置10は、学習対象となるモデルM1をあらかじめ生成する。例えば、情報提供装置10は、入力情報の入力を受付ける入力層を有する入力ブロックIBと、複数の中間ブロックHB1〜HB7(以下、「中間ブロックHB」と総称する場合がある)と、第1出力情報を出力する出力ブロックOB1とを有するモデルM1を生成する。ここで、入力ブロックIBは、入力情報の入力を受付けると、入力情報に応じた情報を中間ブロックHB1へと出力する入力層を有する。また、中間ブロックHBは、前段の入力ブロックIBまたは前段の中間ブロックHBが出力した中間情報を受付けると、受付けた中間情報に対して各種の演算処理を行う複数の中間層を有する。また、出力ブロックOB1は、中間ブロックHB7の出力に基づいて、第1出力情報を出力する出力層を有する。例えば、出力ブロックOB1は、中間ブロックHB7が出力する複数の値に対してソフトマックス関数を適用する出力層を有する。
すなわち、モデルM1は、入力情報を受付ける入力層(すなわち、入力ブロックIB)と、前段の層からの出力に基づいて各種の演算処理を行う複数の中間層(すなわち、複数の中間ブロックHBが有する各層)と、各中間層が順次行った演算処理の結果に基づいて第1出力情報を出力する出力層(すなわち、出力ブロックOB1)とを有するモデルである。
例えば、中間ブロックHBは、429次元のベクトルを受付けると、受付けたベクトルの各次元の値に基づいた演算処理を実行し、429次元のベクトルを中間情報として、次段の中間ブロックHBもしくは出力ブロックOB1に出力するものとする。また、図1に示す例では、7つの中間ブロックHB1〜HB7を有するモデルM1について記載したが、実施形態は、これに限定されるものではない。すなわち、情報提供装置10は、任意の数の中間ブロックHBを有するモデルM1を生成してよい。
また、情報提供装置10は、最も出力層側の中間層(以下、「終端中間層」と記載する場合がある。)の出力情報と、終端中間層よりも入力層側の中間層の出力情報とを抽出し、抽出した情報に基づいて新たな中間情報を生成する複数の抽出ブロックAB1〜AB3を有するモデルM1を生成する。また、情報提供装置10は、抽出ブロックAB1〜AB3が出力する中間情報に基づいて、中間出力情報を出力する複数の出力ブロックOB2〜OB4を有するモデルM1を生成する。
例えば、抽出ブロックAB1は、終端中間層が出力する出力情報、すなわち、中間ブロックHB7が出力する中間情報と、中間ブロックHB7よりも入力層側の中間ブロックHB6が出力する中間情報とを取得し、取得した各中間情報に基づいて新たな中間情報を生成する。そして、出力ブロックOB2は、抽出ブロックAB1が生成した中間情報に基づいて、第2出力情報を生成する。
また、例えば、抽出ブロックAB2は、中間ブロックHB7が出力する中間情報と、中間ブロックHB7よりも入力層側の中間ブロックHB6が出力する中間情報と、中間ブロックHB6よりもさらに入力層側の中間ブロックHB4が出力する中間情報とに基づいた中間情報を生成する。より具体的には、抽出ブロックAB2は、抽出ブロックAB1が生成した中間情報と、中間ブロックHB4が出力した中間情報とに基づいて新たな中間情報を生成する。そして、出力ブロックOB3は、抽出ブロックAB2が生成した中間情報に基づいて、第3出力情報を生成する。
また、例えば、抽出ブロックAB3は、中間ブロックHB7が出力する中間情報と、中間ブロックHB7よりも入力層側の中間ブロックHB6が出力する中間情報と、中間ブロックHB6よりもさらに入力層側の中間ブロックHB4が出力する中間情報と、中間ブロックHB4よりもさらに入力層側の中間ブロックHB2が出力する中間情報とに基づいた中間情報を生成する。より具体的には、抽出ブロックAB3は、抽出ブロックAB2が生成した中間情報と、中間ブロックHB2が出力した中間情報とに基づいて新たな中間情報を生成する。そして、出力ブロックOB4は、抽出ブロックAB3が生成した中間情報に基づいて、第3出力情報を生成する。
なお、抽出ブロックAB1〜AB3は、抽出した各中間情報に基づいて新たな中間情報を生成するのであれば、任意の構成が採用可能である。例えば、抽出ブロックAB1〜AB3は、抽出した各中間情報に対して所定の処理を行う2つの中間ブロックと、各中間ブロックが出力する中間情報の合計を出力する合計ブロックとにより構成されてもよい。
例えば、図1に示す例では、抽出ブロックAB3は、抽出ブロックAB2が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックHB31と、中間ブロックHB2が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックHB32と、中間ブロックHB31、HB32が出力する中間情報を合計する合計ブロックABとを有する。より具体的には、合計ブロックABは、中間ブロックHB31、HB32がそれぞれ複数次元のベクトルの合成ベクトルを生成することとなる。
なお、抽出ブロックAB3は、抽出ブロックAB2が出力する中間情報と、中間ブロックHB2が出力する中間情報との次元数が同じである場合、中間ブロックHB31、HB32を有さず、合計ブロックABのみを有していてもよい。また、抽出ブロックAB1、AB2は、抽出ブロックAB3と同様の構成を有するものとする。例えば、抽出ブロックAB1は、中間ブロックHB7が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックと、中間ブロックHB6が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックと、各中間ブロックが出力する中間情報を合計する合計ブロックとを有するものとする。また、抽出ブロックAB2は、抽出ブロックAB1が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックと、中間ブロックHB4が出力する中間情報の次元数を所定の次元数へと変換する中間ブロックと、各中間ブロックが出力する中間情報を合計する合計ブロックとを有するものとする。
このようなモデルM1を生成した場合、情報提供装置10は、情報処理装置100から学習データを取得する(ステップS1)。そして、情報提供装置10は、取得した学習データを用いて、モデルM1の学習を行う。例えば、情報提供装置10は、学習データとして取得した入力情報をモデルM1に入力し、所定の中間層の出力に基づく第1出力情報と複数の中間層の出力とに基づく中間出力情報を取得する(ステップS2)。
例えば、情報提供装置10は、このようなモデルM1に対し、学習データとなる入力情報を入力することで、第1出力情報、第2出力情報、第3出力情報、および第4出力情報を取得する。すなわち、情報提供装置10は、終端中間層が出力する中間情報と、複数の他の中間層が出力する中間情報とに基づく複数の中間出力情報を取得する。
続いて、情報提供装置10は、各出力情報に基づいて、学習の指標となる複数の指標を設定する(ステップS3)。例えば、情報提供装置10は、モデルM1に入力情報を入力した際にモデルM1に出力させたい出力情報を目的出力情報とする。そして、情報提供装置10は、目的出力情報と第1出力情報とのクロスエントロピーである第1指標を設定する。また、情報提供装置10は、目的出力情報と第2出力情報とのクロスエントロピーである第2指標を設定する。また、情報提供装置10は、目的出力情報と第3出力情報とのクロスエントロピーである第3指標を設定する。なお、情報提供装置10は、目的出力情報と第4出力情報とのクロスエントロピーである第4指標を設定してもよい。
そして、情報提供装置10は、適用する指標を段階的に増やしながら、モデルM1の学習を段階的に行う(ステップS4)。より具体的には、情報提供装置10は、モデルM1が有する入力ブロックIB、中間ブロックHB1〜HB7、および出力ブロックOB1を学習対象範囲とし、目的関数に基づいて、学習対象範囲に含まれるノード間の接続係数を修正する。
例えば、情報提供装置10は、第1指標を第1目的関数として設定し、第1目的関数の値を最小化するように、学習対象範囲の接続係数を修正する。続いて、情報提供装置10は、第1指標と第2指標との和を第2目的関数として設定し、第2目的関数を最小化するように、学習対象範囲の接続係数を修正する。続いて、情報提供装置10は、第1指標と第2指標と第3指標との和を第3目的関数として設定し、第3目的関数を最小化するように、学習対象範囲の接続係数を修正する。なお、情報提供装置10は、その後、第1指標から第4指標の和を第4目的関数として設定し、第4目的関数を最小化するように、学習対象範囲の接続係数を修正してもよい。
すなわち、情報提供装置10は、第1指標から第4指標として、目的出力情報と第1出力情報から第4出力情報とのクロスエントロピーをそれぞれ算出する。そして、情報提供装置10は、第1指標のみの目的関数、第1指標と第2指標との和となる目的関数、第1指標から第3指標の和となる目的関数、第1指標から第4指標の和となる目的関数というように、クロスエントロピー関数である目的関数の項を段階的に増やしながら、モデルM1の学習を行う。換言すると、情報提供装置10は、第1指標のみを用いた学習、第1指標と第2指標との組のみを用いた学習、第1指標から第3指標のみを用いた学習、および第1指標から第4指標の全てを用いた学習を段階的に行う。このように、情報提供装置10は、使用する指標を段階的に増やしていき、最終的に全ての指標を用いて学習対象範囲の接続係数を修正する。
例えば、情報提供装置10は、終端中間層が出力する中間情報と、終端中間層よりも入力層側の第1中間層が出力する中間情報とに基づいて、第2出力情報を取得し、終端中間層が出力する中間情報と、第1中間層が出力する中間情報と、第1中間層よりも入力層側の第2中間層が出力する中間情報とに基づいて、第3出力情報を取得する。そして、情報提供装置10は、第1出力情報と、第2出力情報と、第3出力情報とに基づいて、モデルM1の学習を段階的に行う。例えば、情報提供装置10は、第1出力情報に基づく第1指標と、第2出力情報に基づく第2指標と、第3出力情報に基づく第3指標とを少なくとも生成し、第1指標と、第2指標と、第3指標とを段階的に用いて、モデルの学習を段階的に行う。
また、情報提供装置10は、終端中間層が出力した中間情報に基づく第1指標、終端中間層よりも入力層側の中間ブロックHB6が出力した中間情報に基づく第2指標、中間ブロックHB6よりも入力層側の中間ブロックHB4が出力した中間情報に基づく第3指標、中間ブロックHB4よりも入力層側の中間ブロックHB2が出力した中間情報に基づく第4指標の順に、段階的に適用する目的関数の数を増やしながら、モデルM1の学習を段階的に行う。
このように、情報提供装置10は、ある入力情報が有する特徴であって、解像度がそれぞれ異なる複数の特徴(すなわち、マルチレゾリューションな特徴)を段階的に用いて、モデルM1の学習をマルチステージで実行する。このような処理の結果、情報提供装置10は、複数の目的関数を用いて、段階的にモデルM1の精度を向上させることができる。
〔1−3.学習処理のバリエーションについて〕
ここで、上述した学習処理は、あくまで一例であり、実施形態を限定するものではない。以下、情報提供装置10が実行する学習処理のバリエーションについて説明する。
〔1−3−1.中間ブロックについて〕
上述した学習処理では、複数の中間ブロックHB1〜HB7を有し、中間ブロックHB7、6、4、2が出力した中間情報に基づいて、中間出力情報(第2出力情報〜第4出力情報)を生成する処理の例について記載した。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、任意の中間ブロックHBが出力した中間情報に基づいて、複数の中間出力情報を取得し、取得した中間出力情報に基づいて、モデルM1を段階的に学習してもよい。
より具体的な例を挙げると、情報提供装置10は、中間ブロックHB5、6が出力する中間情報に基づいて、第2出力情報を生成し、中間ブロックHB4、5、6が出力する中間情報に基づいて、第3出力情報を生成してもよい。すなわち、情報提供装置10は、終端中間層以外の所定の中間層が出力した中間情報と、その所定の中間層よりも入力層に近い中間層が出力した中間情報とを用いて、中間出力情報を生成してもよい。また、情報提供装置10は、より出力層に近い中間層が出力した中間情報に基づく中間出力情報から段階的に複数の中間出力情報を用いて、モデルM1の段階的な学習を行ってもよい。
また、情報提供装置10は、中間ブロックHB1〜HB7を有さずともよい。すなわち、情報提供装置10は、入力層および出力層以外の複数の中間層のうち、任意の中間層が出力する中間情報に基づいて、中間出力情報を取得してもよい。このような場合、情報提供装置10は、例えば、それぞれ異なる次元数の中間情報から、中間出力情報を取得してもよい。
例えば、抽出ブロックAB1は、第1の次元数を有する中間情報と、第2の次元数を有する中間情報から第3の次元数を有する第2出力情報を生成してもよい。このような場合、抽出ブロックAB2は、抽出ブロックAB1が出力した第3の次元数を有する中間情報と、第4の次元数を有する中間情報から、第5の次元数を有する第3出力情報を生成してもよい。すなわち、情報提供装置10は、入力層、複数の中間層、および出力層を有するモデルM1において、いずれかの中間層が出力した中間情報に基づいて、複数の中間出力情報を取得し、取得した複数の中間出力情報を用いて、モデルM1の学習を段階的に行うのであれば、任意の中間層が出力した任意の中間情報に基づいて、学習処理を行ってよい。
なお、情報提供装置10は、任意の中間情報から各段階の中間出力情報を生成してよい。例えば、情報提供装置10は、中間ブロックHB7と中間ブロックHB3とが出力する中間情報を抽出ブロックAB1に入力し、抽出ブロックAB1からの出力を第2出力情報としてもよい。また、情報提供装置10は、抽出ブロックAB1の出力と抽出ブロックHB5の出力情報とから第3出力情報を生成してもよい。すなわち、情報提供装置10は、任意の中間層が出力した中間情報を、任意の組み合わせで用いることで、任意の中間出力情報を設定してよい。
〔1−3−2.利用する出力情報について〕
上述した説明では、情報提供装置10は、複数の中間出力情報を取得し、取得した複数の中間出力情報に基づいて、モデルM1の学習を行った。しかしながら、実施形態は、これに限定されるものではない。
例えば、情報提供装置10は、1つの中間出力情報を取得し、第1出力情報と、中間出力情報とに基づいて、モデルM1の段階的な学習を行ってもよい。より具体的な例を挙げると、情報提供装置10は、中間ブロックHB2、4、6、7が出力する4つの中間情報を取得し、取得した4つの中間情報を合成した中間情報に基づいて、第4出力情報のみを取得し、第1出力情報と第4出力情報とを用いて、モデルM1の学習を行ってもよい。また、例えば、情報提供装置10は、図1に示すモデルM1のうち、出力ブロックOB2およびOB3を有さないモデルM1を生成し、第1出力情報と第4出力情報とを用いて、モデルM1の学習を行ってもよい。
また、情報提供装置10は、任意の数の中間出力情報に基づいて、モデルM1の学習を行ってもよい。例えば、情報提供装置10は、5つ以上の中間出力情報に基づいて、モデルM1の学習を行ってもよい。また、情報提供装置10は、出力ブロックOB1が出力した第1出力情報を用いずに、モデルM1の学習を行ってもよい。
〔1−3−3.設定される目的関数について〕
また、情報提供装置10は、中間出力情報に基づいて複数の指標を設定し、複数の指標に基づいて、モデルM1の学習を段階的に行うのであれば、任意の内容の指標を設定して良い。例えば、情報提供装置10は、目的出力情報と第1出力情報とのクロスエントロピー関数以外にも、例えば、目的出力情報と第1出力情報との誤差に基づく指標を設定し、設定した指標を最小化するように、モデルM1の学習を行ってもよい。
また、情報提供装置10は、目的出力情報と、第1出力情報との誤差を最小にする第1指標、第1出力情報と第2出力情報との誤差を最小にする第2指標を設定し、第1出力情報から第3出力情報の誤差を最小にする第3指標、第1出力情報から第4出力情報の誤差を最小にする第4指標を設定してもよい。また、情報提供装置10は、第1出力情報と目的出力情報との誤差を最小化する目的関数と、第2出力情報から第4出力情報の平均値や荷重和と第1出力情報若しくは目的出力情報との誤差を最小にする目的関数を設定してもよい。
また、情報提供装置10は、各指標に対して所定の重み係数を設定した目的関数を用いて、モデルM1の学習を行ってもよい。例えば、情報提供装置10は、第1指標に対して係数0.6、第2指標に対して係数0.3、第3指標に対して係数0.1を設定し、係数を設定した各指標の和を示す目的関数を設定してもよい。また、このような係数は、例えば、モデルM1の段階的な学習を進める度に、異なる係数に設定してもよい。
なお、情報提供装置10は、目的出力情報と各中間出力情報とのクロスエントロピーを各指標とし、各指標に基づいた目的関数を設定した場合、目的関数の値をより小さくするようにモデルM1の学習を行う。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、設定した指標の内容によっては、目的関数の値をより大きくするようにモデルM1の学習を行ってもよい。
〔1−3−4.学習処理の進行について〕
上述した説明では、モデルM1を学習する際に、第1出力情報から第4出力情報を取得し、取得した第1出力情報から第4出力情報を用いて複数の指標を設定し、モデルM1の段階的な学習を行った。このように、情報提供装置10は、最初に全ての指標を設定し、設定した指標を段階的に増やすことで、目的関数を段階的に変化させながらモデルM1を段階的に学習してもよいが、モデルM1を学習する度に、指標を設定し直してもよい。すなわち、情報提供装置10は、モデルM1の学習において、段階的なモデルM1の学習を行う度に、新たな中間情報や指標を設定してもよい。
例えば、情報提供装置10は、入力情報をモデルM1に入力し、第1出力情報と第2出力情報とを取得する。そして、情報提供装置10は、第1出力情報と第2出力情報とから、第1指標および第2指標を設定し、第1指標を用いたモデルM1の学習後に、第1指標と第2指標とを用いたモデルM1の学習を行う。
続いて、情報提供装置10は、再度入力情報を学習済みのモデルM1に入力し、第1出力情報と第2出力情報と第3出力情報とを取得する。そして、情報提供装置10は、取得した情報から、第1指標、第2指標および第3指標を設定し、第1指標を用いたモデルM1の学習後に、第1指標と第2指標とを用いたモデルM1の学習を行い、その後、第1指標から第3指標の全てを用いてモデルM1の学習を行う。
さらに、情報提供装置10は、再度入力情報を学習済みのモデルM1に入力し、第1出力情報から第4出力情報を取得する。そして、情報提供装置10は、取得した情報から、第1指標、第2指標、第3指標および第4指標を設定し、第1指標を用いたモデルM1の学習後に、第1指標と第2指標とを用いたモデルM1の学習を行い、その後、第1指標から第3指標を用いてモデルM1の学習を行い、さらにその後、すべての目的関数を用いてモデルM1の学習を行う。
なお、情報提供装置10は、モデルM1の学習の進行に伴い、段階的に使用する中間情報を増やすことで、中間出力情報の数、ひいては目的関数の数を学習の進行に従って段階的に増加させ、モデルM1の学習を行うのであれば、任意の学習処理を適用して良い。
例えば、情報提供装置10は、複数の中間情報を用いて中間出力情報を生成し、生成した中間出力情報を用いて指標を設定し、設定した指標を用いてモデルM1を学習するといった一連の処理を学習処理の1単位とする。そして、情報提供装置10は、1単位の学習処理を実行する度に、新たな指標を設定し、設定した指標を用いてモデルM1を学習すればよい。
なお、このように学習を行う度に中間出力情報を生成し直す場合、情報提供装置10は、中間情報の取得元となる中間層をその都度変更してもよい。例えば、情報提供装置10は、最初に中間ブロックHB6が出力した中間情報を用いて第2出力情報を生成し、生成した第2出力情報を用いてM1の学習を行った後、再度入力情報をモデルM1に入力し、中間ブロックHB5が出力した中間情報、すなわち、より入力層に近い中間層が出力した中間情報を用いて新たな第2出力情報を生成し、生成した新たな第2出力情報を用いてM1の学習を行う。このような処理を繰り返すことで、情報提供装置10は、モデルM1の学習を行ってもよい。
なお、モデルM1の学習を行う場合、出力層側から順に接続係数の修正を行ってもよいが、入力層側から順に接続係数の修正を行ってもよい。すなわち、情報提供装置10は、中間出力情報を用いて複数の目的関数を設定し、設定した複数の目的関数を段階的に用いてモデルM1の学習を行うのであれば、任意の学習手法が採用可能である。
なお、上述した説明では、情報提供装置10は、設定した複数の目的関数のうち学習に利用する目的関数を、段階的に増やしながら、モデルM1の学習を段階的に行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、第1指標から第3指標を設定した場合、最初の学習時においては第1指標のみを利用し、続く学習時においては、第2指標のみを利用し、さらに続く学習時においては、第3指標のみを利用してもよい。
〔1−3−5.学習対象範囲について〕
上述した例では、情報提供装置10は、入力ブロックIB、中間ブロックHB、および出力ブロックOB1を学習対象範囲とした。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、抽出ブロックAB1〜AB3や出力ブロックOB2〜OB4を学習対象範囲としてもよい。
また、情報提供装置10は、使用する目的関数の元となった中間情報に応じて、学習対象範囲を変更してもよい。例えば、情報提供装置10は、第1指標と第2指標とを用いて学習を行う場合、第2指標を設定する際に用いた中間情報(すなわち、第2出力情報の元となる中間情報)を出力した中間層のうち、最も入力層に近い中間層(すなわち、中間ブロックHB6)を特定する。そして、情報提供装置10は、第1指標と第2指標とを用いて、出力層から特定した中間層(例えば、出力ブロックOB1から中間ブロックHB6)までの範囲の学習を行ってもよい。また、情報提供装置10は、第1指標から第3指標を用いてモデルM1の学習を行う場合、出力ブロックOB1から中間ブロックHB4までの範囲を学習対象範囲としてもよい。
〔1−3−6.モデルについて〕
上述した説明では、情報提供装置10は、抽出ブロックAB1〜AB3と、出力ブロックOB2〜OB4を有するモデルM1の学習を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、入力ブロックIBと、複数の中間ブロックHBと、出力ブロックOB1とを有するモデルM1を生成し、各中間ブロックHBが出力する中間情報に基づいて、中間出力情報を取得してもよい。すなわち、情報提供装置10が学習対象とするモデルM1は、中間出力情報を取得するための抽出ブロックAB1〜AB3や出力ブロックOB2〜OB4を有していなくともよい。
また、モデルM1が有する各中間ブロックHBは、それぞれ異なる形式のDNNであってもよい。例えば、モデルM1は、CNNの機能を有する中間ブロックHBと、RNNの機能を有する中間ブロックHBとを有していてもよい。また、モデルM1は、それぞれ異なる指標に基づいてプレトレーニングが行われた複数の中間ブロックHBを有していてもよい。
また、モデルM1は、並列に配置された中間層を有していてもよい。例えば、モデルM1は、中間ブロックHB1の中間情報に基づいて新たな中間情報を生成する中間ブロックHB2、HB3を有し、中間ブロックHB2、HB3の中間情報に基づいて新たな中間情報を生成する中間ブロックHB4を有していてもよい。このような場合、情報提供装置10は、中間ブロックHB2、HB3が出力する中間情報を個別に用いて中間出力情報を取得してもよく、中間ブロックHB2、HB3が出力する中間情報を合成した中間情報に基づいて中間出力情報を取得してもよい。
なお、各中間ブロックHBの入力と出力とは、同じ次元数であっても異なる次元数であってもよい。また、各中間ブロックHBの出力は、異なる次元数であってもよい。このように、各中間ブロックHBの出力が異なる次元数であっても、抽出部ブロックABが有する中間ブロックにより次元数を揃えればよい。
〔1−4.生成処理について〕
上述した学習処理により学習が行われたモデルM1は、複数の目的関数を用いて段階的に学習が行われるため、従来の単一の目的関数を用いたモデルよりも、第1出力情報の精度が向上する。しかしながら、情報提供装置10は、第1出力情報のみならず、中間出力情報を用いて、入力情報に対応する対応情報を生成し、生成した対応情報をモデルM1による処理結果として出力してもよい。
例えば、情報提供装置10は、入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に出力層が出力する第1出力情報を取得する。また、情報提供装置10は、モデルに対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。そして、情報提供装置10は、第1出力情報と中間出力情報とに基づいて、入力情報に対応する対応情報を生成する。
以下、図2を用いて、情報提供装置10が学習済みのモデルM1を用いて実行する生成処理の一例について説明する。なお、図2に示すモデルM1は、図1に示した学習処理により学習が行われたモデルM1であるものとする。
例えば、情報提供装置10は、情報処理装置200から処理対象となる入力情報を受付ける(ステップS1)。このような場合、情報提供装置10は、受付けた入力情報をモデルM1に入力することで、終端中間層の出力に基づく第1出力情報と、複数の中間層の出力に基づく中間出力情報とを取得する(ステップS2)。より具体的には、情報提供装置10は、出力ブロックOB1が出力した第1出力情報を取得するとともに、出力ブロックOB2〜OB4が出力する第2出力情報から第4出力情報のそれぞれを取得する。
そして、情報提供装置10は、各出力情報に基づいて、受付けた入力情報に対応する対応情報を生成する(ステップS3)。例えば、情報提供装置10は、第1出力情報から第4出力情報までの荷重平均を算出し、算出した荷重平均の値に基づいて、対応情報を生成する。そして、情報提供装置10は、生成した対応情報を情報処理装置200に処理結果として出力する(ステップS4)。
このような処理を実行した場合、情報提供装置10は、入力情報が有する特徴であって、解像度がそれぞれ異なる複数の特徴に基づいて、入力情報に対する対応情報を生成することができる。この結果、例えば、情報提供装置10は、中間層による処理において欠損する特徴の周辺情報等を考慮して、入力情報に対応する対応情報を生成することができる。この結果、情報提供装置10は、入力情報に対してより精度の高い対応情報を提供することができる。
〔1−5.生成処理のバリエーションについて〕
ここで、上述した説明では、情報提供装置10は、第1出力情報から第4出力情報の荷重平均に基づいて、対応情報を生成した。しかしながら、実施形態は、これに限定されるものではない。情報提供装置10は、少なくとも出力層が出力した第1出力情報と、中間出力情報とを用いて、出力情報を生成するのであれば、任意の手法により対応情報を生成してよい。
例えば、図1、図2に示す構造のモデルM1において、第4出力情報は、最も入力層に近い中間層が出力した中間情報と、最も出力層に近い中間層が出力した中間情報とに基づく情報である。このため、第4出力情報は、入力情報が有する特徴を最も多様な解像度で示しているとも考えられる。そこで、情報提供装置10は、第4出力情報のみを用いて、対応情報を生成してもよい。すなわち、情報提供装置10は、それぞれ異なる中間層が出力する中間情報に基づく複数の中間出力情報を取得し、中間出力情報のうち、最も入力層側の中間層が出力する中間情報に基づいて、対応情報を生成してもよい。また、情報提供装置10は、例えば、より入力層に近い中間層が出力した中間情報に基づく中間出力情報に対して、より大きな重みを設定した状態で、各中間出力情報の荷重平均を算出し、算出した荷重平均に基づく対応情報を生成してもよい。
なお、情報提供装置10は、第4出力情報を対応情報として出力する場合、出力ブロックOB1〜OB3を有さずともよい。また、情報提供装置10は、上述した処理以外にも、第1出力情報と中間情報とを組み合わせて用いるのであれば、任意の処理を採用してよい。
〔1−6.適用対象について〕
なお、モデルM1は、任意の処理を目的とするモデルであってよい。例えば、モデルM1は、学習処理において、所定の入力情報を入力した際にどのような情報を目的出力情報とするかにより、任意の処理を実現可能である。例えば、情報提供装置10は、入力情報の分類を行う場合、学習データとなる入力情報を入力した際に、各出力情報がその入力情報の分類を示す情報となるように学習を行うことで、入力情報の分類を行うモデルM1の学習を行うことができる。このような分類は、テキスト、静止画像、動画像、音声等、任意のコンテンツについて、任意の基準の分類が採用可能である。例えば、モデルM1は、顔画像の認証を行うための分類を行うものであってもよい。
また、モデルM1は、入力された音声の分類を行うものであってもよい。例えば、モデルM1は、入力された音声に人の声が含まれているか否か(すなわち、発話区間であるか否か)や、入力された音声に所定のキーワードが含まれているか否か、入力された音声が所定の人物の声が含まれているか否か等の分類を行うモデルであってもよい。
例えば、情報提供装置10は、入力層と、複数の中間層と、出力層とを有するモデルに対して音声に関する音声情報を入力した際に出力層が出力する音声情報の第1分類結果を取得する。また、情報提供装置10は、モデルに対して音声情報を入力した際に複数の中間層が出力する中間情報に基づく中間分類結果を取得する。そして、情報提供装置10は、第1分類結果と中間分類結果とに基づいて、音声情報を分類する分類処理を実行してもよい。このように、上述した学習処理は、任意の処理を実現するためのモデルM1の学習に適用可能であり、上述した生成処理は、任意の処理を実現するモデルM1を用いた対応情報の生成に適用可能である。
〔2.情報提供装置が有する機能構成の一例について〕
以下、上記した検出処理および配信処理を実現する情報提供装置10が有する機能構成の一例について説明する。図3は、実施形態に係る情報提供装置の構成例を示す図である。図3に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、例えば、情報処理装置100、200との間で学習データの送受信、入力情報および対応情報の送受信を行う。例えば、通信部20は、情報処理装置100がマイク等で取得した音声を入力情報として受付けると、生成処理等により生成された対応情報(例えば、入力情報となる音声の分類結果を示す情報)を情報処理装置100へと出力する。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、学習データデータベース31およびモデルデータベース32を記憶する。
学習データデータベース31は、学習データが登録される。例えば、図4は、実施形態に係る学習データデータベースに登録される情報の一例を示す図である。図4に示すように、学習データデータベース31には、「学習データID(Identifier)」、「入力情報」、および「目的出力情報」といった項目を有する情報が登録される。
ここで、「学習データID」とは、学習データの識別子である。また、「入力情報」とは、モデルM1の学習時にモデルM1に入力される情報であり、例えば、音声データである。また、「目的出力情報」とは、対応付けられた入力情報がモデルM1に入力された際に、モデルM1に出力させたい第1出力情報、すなわち、目的出力情報である。
例えば、図4に示す例では、学習データデータベース31には学習データID「ID#1」、入力情報「入力情報#1」、目的出力情報「目的出力情報#1」が対応付けて登録されている。このような情報は、学習データID「ID#1」が示す学習データが、入力情報「入力情報#1」と目的出力情報「目的出力情報#1」との組である旨を示す。
なお、図4に示す例では、「入力情報#1」や「目的出力情報#1」といった概念的な値を記載したが、実際には、学習データデータベース31には、入力情報や目的出力情報として、音声データや画像データ等の情報が登録されることとなる。また、図4に示す情報以外にも、学習データデータベース31には、任意の情報が登録されていてよい。
図3に戻り、説明を続ける。モデルデータベース32には、モデルM1が登録される。すなわち、モデルデータベース32には、入力情報が入力される入力層と、入力層に入力された入力情報に対して所定の処理を順次行う複数の中間層と、複数の中間層のうち最後に処理を行う終端中間層の出力に基づいて、入力情報に対応する第1対応情報を生成する第1出力層と、複数の中間層のうち、終端中間層の出力と、終端中間層以外の中間層の出力とに基づいて、入力情報に対応する第2対応情報を生成する第2出力層とを有するモデルM1のデータが登録されている。より具体的には、モデルデータベース32には、各ノードの接続関係や、ノード間の接続係数を示すデータが登録される。
ここで、モデルM1は、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力された情報と対応する情報を出力層から出力するようコンピュータを機能させる。
このようなモデルM1は、例えば、学習時においては、入力層に入力情報が入力された場合に、出力層から、第1出力情報を出力するようコンピュータを機能させる。また、モデルM1は、中間層が出力した中間情報に基づいて、中間出力情報を出力するようにコンピュータを機能させる。そして、情報提供装置10は、第1出力情報や中間出力情報に基づいて、複数の目的関数を設定し、設定した目的関数を用いて、モデルM1の接続係数を修正する。
また、モデルM1は、測定時においては、入力層に入力情報が入力された際に、出力層から第1出力情報を出力し、中間層が出力した中間情報に基づいて、中間出力情報を出力するようにコンピュータを機能させる。例えば、モデルM1は、測定時においては、入力層に音声情報が入力された際に、出力層から音声情報の分類結果となる第1分類結果や中間分類結果を出力するようにコンピュータを機能させる。そして、情報提供装置10は、第1出力情報や中間出力情報に基づいて、対応情報を生成する。
ここで、モデルM1をDNN等、1つまたは複数の中間層を有するニューラルネットワークで実現される場合、各モデルが含む第1要素とは、入力層または中間層が有するいずれかのノードと見做すことができ、第2要素とは、第1要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第1要素の重みとは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
ここで、情報提供装置10は、学習データデータベース31に登録される学習データを用いて、上述した検出処理を実行するためのモデルM1を生成する。すなわち、学習データデータベース31に登録される学習データは、入力情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力情報の特徴を反映させた重みに基づく演算を行うことにより、入力された入力情報に対応する出力情報(例えば、入力情報の分類結果)を出力層から出力するよう、コンピュータを機能させるためのデータである。
情報提供装置10は、上述したやニューラルネットワーク等、任意の構造を有するモデルを用いて、生成処理や分類処理を実行する。例えば、情報提供装置10は、音声情報が入力された場合に、音声情報の特徴に基づいて音声情報の分類結果を示す情報を出力するように接続係数が設定されたモデルM1を用いて、音声区間を検出する。
制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
また、制御部40は、記憶部30に記憶されるモデルM1に従った情報処理により、モデルM1の入力層に入力された入力情報に対し、モデルM1が有する係数(すなわち、モデルM1が学習した各特徴に対応する係数)に基づく演算を行い、入力された入力情報に対応する対応情報を算出し、モデルM1の出力層から出力する。
図2に示すように、制御部40は、受付部41、取得部42、学習部43、生成部44、および出力部45を有する。
受付部41は、入力情報を受付ける。例えば、受付部41は、情報処理装置100から学習データとして入力情報と、その入力情報をモデルM1に入力した際にモデルM1の出力層から出力させたい情報、すなわち、目的出力情報とを受付ける。このような場合、受付部41は、受付けた入力情報と目的出力情報とを学習データデータベース31に登録する。また、受付部41は、情報処理装置200から処理対象となる入力情報を受付けると、受付けた入力情報を出力部45に出力する。
取得部42は、第1出力情報や各中間出力情報を取得する。以下、取得部42が発揮する機能を、学習処理の実行時と、生成処理や分類処理の実行時とに分けて説明する。まず、学習処理の実行時において取得部42が実行する処理について説明する。取得部42は、入力層と、複数の中間層と、出力層とを有するモデルM1に対して所定の入力情報を入力した際に出力層が出力する第1出力情報を取得する、また、取得部42は、モデルM1に対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。
例えば、取得部42は、所定の時間間隔で学習処理を実行する。まず、取得部42は、モデルデータベース32から学習対象となるモデルM1を読出すとともに、メモリ上に展開する。また、取得部42は、学習データデータベース31から、学習データとなる入力情報と目的出力情報とを読み出す。そして、取得部42は、モデルM1の入力層に読み出した入力情報を入力し、モデルM1が出力する第1出力情報から第4出力情報を取得する。その後、取得部42は、第1出力情報から第4出力情報と共に、目的出力情報を学習部43へと出力する。
すなわち、取得部42は、中間層のうち、所定の中間層が出力する中間情報と、所定の中間層よりも入力層側の中間層が出力する中間情報とに基づく中間出力情報を取得する。また、取得部42は、所定の中間層が出力する中間情報と、それぞれ異なる中間層が出力する中間情報とに基づいて、複数の中間出力情報を取得する。例えば、取得部42は、所定の中間層が出力する中間情報と、所定の中間層よりも入力層側の第1中間層が出力する中間情報とに基づいて、第2出力情報を取得する。また、例えば、取得部42は、第2出力情報とは異なる複数の中間層が出力する中間情報に基づいて、第3出力情報を取得する。また、取得部42は、複数の中間層として、それぞれが複数の中間層を有する複数の中間ブロックを有するモデルに対して入力情報を入力した際に、出力層が出力する第1出力情報を取得する。
例えば、取得部42は、中間ブロックHB7と中間ブロックHB6が出力する中間情報に基づく第2出力情報と、中間ブロックHB7、中間ブロックHB6、および中間ブロックHB4に基づく第3出力情報とを取得する。また、取得部42は、中間ブロックHB7、中間ブロックHB6、中間ブロックHB4、および中間ブロックHB2に基づく第4出力情報とを取得する。そして、取得部42は、取得した第2出力情報から第4出力情報を、第1出力情報と目的出力情報とともに学習部43へと出力する。
一方、取得部42は、生成処理や分類処理を実行する場合には、以下の処理を実行する。例えば、取得部42は、入力層と、複数の中間層と、出力層とを有するモデルM1に対して所定の入力情報を入力した際に出力層が出力する第1出力情報を取得する。また、取得部42は、モデルM1に対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。より具体的には、取得部42は、それぞれ異なる中間層が出力する中間情報に基づく複数の中間出力情報を取得する。
例えば、取得部42は、受付部41が情報処理装置200から受付けた処理対象となる入力情報を受付けると、メモリ上に展開したモデルM1の入力層に対して入力情報を入力する。そして、取得部42は、モデルM1が出力した第1出力情報から第4出力情報を取得し、取得した第1出力情報から第4出力情報を生成部44へと出力する。
ここで、入力情報が音声データ等の音声情報であり、モデルM1が音声情報の分類を行うように学習が行われている場合、取得部42は、モデルM1に対して音声情報を入力した際に出力層が出力する音声情報の第1分類結果を取得する。また、取得部42は、モデルM1に対して音声情報を入力した際に複数の中間層が出力する中間情報に基づく中間分類結果(例えば、第2出力情報から第4出力情報のそれぞれに対応する分類結果)を取得する。そして、取得部42は、第1分類結果と中間分類結果とを生成部44に出力することとなる。なお、取得部42は、生成時や測定時においても、中間ブロックHB7が出力する中間情報等、終端中間層が出力する中間情報に基づく中間出力情報を取得してよい。
学習部43は、第1出力情報と中間出力情報とに基づいて、モデルM1の学習を行う。例えば、学習部43は、第1出力情報と中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、モデルM1の学習を段階的に行う。より具体的な例を挙げると、学習部43は、入力情報に対応する目的出力情報と第1出力情報とに基づく第1指標に基づいて、モデルM1の学習を行う。その後、学習部43は、第2出力情報と中間出力情報とに基づく第2指標に基づいて、モデルM1の学習を行う。
ここで、学習部43は、複数の中間出力情報を段階的に用いて、モデルM1を学習する。例えば、学習部43は、第1出力情報に基づく第1指標と、第2出力情報に基づく第2指標と、第3出力情報に基づく第3指標とを少なくとも生成し、第1指標と、第2指標と、第3指標とを段階的に用いて、モデルM1の学習を段階的に行う。例えば、学習部43は、第1指標を用いた学習を行い、その後、第1指標と第2指標とを同時に用いた学習を行い、さらにその後、第1指標から第3指標の全てを同時に用いた学習を行う。
すなわち、学習部43は、中間出力情報である第1出力情報と、第2出力情報と、第3出力情報とに基づいて、モデルM1の学習を段階的に行う。なお、学習部43は、中間出力情報に基づいた指標を複数設定するのであれば、例えば、目的出力情報との誤差やクロスエントロピー等、任意の指標の設定を行ってよい。
生成部44は、第1出力情報と中間出力情報とに基づいて、入力情報に対応する対応情報を生成する。例えば、生成部44は、第1出力情報から第4出力情報を取得部42から受付けると、受付けた第1出力情報から第4出力情報の荷重和に基づいて、対応情報を生成する。なお、生成部44は、例えば、第4出力情報等、中間出力情報のうち最も入力層側の中間層が出力する中間情報に基づいて、対応情報を生成してもよい。
なお、分類処理の実行時においては、生成部44は、第1出力情報から第4出力情報と対応する4つの分類結果を取得部42から取得することとなる。このような場合、生成部44は、各分類結果の平均値や、最も入力層側の中間層が出力する中間情報に基づいた中間分類結果等に基づいて、音声情報の分類結果を示す対応情報を生成することとなる。すなわち、生成部44は、第1分類結果と中間分類結果とに基づいて、入力情報となった音声情報の分類を行う分類部として動作することとなる。
出力部45は、生成部44により生成された対応情報を出力する。例えば、出力部45は、情報処理装置200に対し、処理対象として受付けた入力情報に対応する対応情報として、生成部44が生成した対応情報を出力する。
〔3.精度の一例について〕
ここで、上述した学習処理の効果の一例として、上述した学習処理が行われたモデルM1の精度の一例について説明する。以下の説明では、モデルM1の精度の一例として、TIMITの音声認識タスクにおける認識した単語と実際の単語とに齟齬が生じる割合である単語誤り率(WER:Word Error Rate)の改善について説明する。以下の説明においては、標準となる462人の利用者の声を用いたトレーニングセットが用いられ、50人の利用者の声を用いた開発セットによりハイパーパラメータのチューニングが行われた。また、学習が行われたモデルM1の精度を測定するため、開発セットに声が含まれる利用者とは異なる24人の声を用いたテストセットを用いて、モデルM1の精度を測定する実験を行った。
この実験においては、入力情報として、25ミリセカンドのハミング窓と10ミリセカンドのフレームレートにより抽出された音声波形を採用した。また、時間微係数を含む39次元の特徴ベクトルを採用した。また、入力ブロック、中間ブロック、および出力ブロックの入出力は、429次元のベクトルとし、9個のブロックを設定した。
また、この実験においては、GMM−HMM(Gaussian Mixture Model-Hidden Markov Model)とケプストラム平均正規化法とを用いて、電話音声の解析を行った。また、クロスエントロピー目的関数を用いて、モデルM1の学習を行った。また、モーメンタムを0.5とした確率的勾配降下法により、モデルM1の学習を行った。また、学習率を0.1に設定した状態で5回の学習処理を行い、その後、学習を行う度に学習率を50パーセントずつ減少させた。ここで、各中間ブロックは、7つの中間層を有し、全ての中間層におけるノードにおいてReLUを活性化関数に採用した。また、ドロップアウトが全ての層において採用され、ドロップアウトが行われる割合を0.2に設定した。
また、この実験においては、1つの抽出ブロックを持つモデル、2つの抽出ブロックを持つモデル、および3つの抽出ブロックを持つモデルについて、上述した各種のパラメータに従って、上述した学習処理を行った。また、比較対象として、2048次元のベクトルを入出力とする7つの中間ブロックを有するDNN、1024次元のベクトルを入出力とする7つの中間ブロックを有するDNN、1024次元のベクトルを入出力とする7つの中間ブロックを有し、スキップコネクションを採用したDNN、および1024次元のベクトルを入出力とする7つの中間ブロックを有し、全ての層が出力する特徴に基づいて処理を行うDNNについて、学習を行った。
上述した実験において学習が行われた各モデルのWERの値を図5に示す。図5は、実施形態に係る学習処理の効果の一例を示す第1の図である。図5に示すように、上述した学習処理によって学習が行われた各モデル、すなわち、1つの抽出ブロックを持つモデル、2つの抽出ブロックを持つモデル、および3つの抽出ブロックを持つモデルのWERは、比較対象となる各モデルのWERよりも小さい値となっており、比較対象となる各モデルよりも精度が向上している。
また、モデルM1としてbLSTM(Bidirectional LSTM)を採用し、上述した学習処理を行った場合の実験についても行った。この実験においては、ベースラインとして、5つのbLSTM層が出力層の前段に配置されているモデルを採用した。また、非線形の活性化関数としてtanhを採用した。また、各bLSTM層は、256のセルを有し、出力層側のbLSTM層と入力層側のbLSTM層とをマージするように連結されている。ドロップアウトは、出力層を含め、全てのbLSTM層の出力層に対して採用され、ドロップアウトが行われる割合を0.2に設定した。また、この実験においては、1つの抽出ブロックを有するモデルと、2つの抽出ブロックを有するモデルとについて、上述した各種のパラメータに従って、上述した学習処理を行った。
上述した実験において学習が行われた各モデルのWERの値を図6に示す。図6は、実施形態に係る学習処理の効果の一例を示す第2の図である。図6に示すように、上述した学習処理によって学習が行われた各モデル、すなわち、1つの抽出ブロックを持つモデル、および2つの抽出ブロックを持つモデルのWERは、ベースラインとなるモデルのWERよりも小さい値となっており、ベースラインとなるモデルよりも精度が向上している。
このように、上述した学習処理によって生成されたモデルは、従来の処理によって学習が行われたモデルよりもWERの値を減少させることができる。この結果、情報提供装置10は、上述した学習処理を実行することで、モデルが出力する情報の精度を従来技術と比較してより向上させることができる。
〔4.情報提供装置が実行する処理の流れについて〕
次に、図7、図8を用いて、情報提供装置10が実行する処理の流れの一例について説明する。図7は、実施形態に係る情報提供装置が実行する学習処理の流れの一例を示すフローチャートである。また、図8は、実施形態に係る情報提供装置が実行する生成処理の流れの一例を示すフローチャートである。
まず、図7を用いて、学習処理の流れの一例を説明する。まず、情報提供装置10は、学習データの入力情報をモデルM1に入力する(ステップS101)。そして、情報提供装置10は、終端中間層出力に基づく第1出力情報と、複数の中間層の出力に基づく中間出力情報を取得する(ステップS102)。また、情報提供装置10は、第1出力情報と各中間出力情報とに基づいて、指標を複数設定する(ステップS103)。そして、情報提供装置10は、使用する指標を段階的に増加させながら、段階的にモデルの学習を行い(ステップS104)、処理を終了する。
続いて、図8を用いて、生成処理の流れの一例について説明する。例えば、情報提供装置10は、入力情報を情報処理装置200から受付けたか否かを判定し(ステップS201)、受付けていない場合は(ステップS201:No)、受付けるまで待機する。そして、情報提供装置10は、入力情報を受付けた場合は(ステップS201:Yes)、入力情報をモデルM1に入力し、第1出力情報と、中間出力情報とを取得する(ステップS202)。また、情報提供装置10は、第1出力情報と中間出力情報とに基づいて、対応情報を生成する(ステップS203)。そして、情報提供装置10は、生成した対応情報を出力し(ステップS204)、処理を終了する。
なお、情報提供装置10は、図8に示す「入力情報」を「音声情報」とし、「出力情報」を「分類情報」と読み替えた処理を実行することで、分類処理を実行することができる。
〔5.変形例〕
上記では、情報提供装置10による学習処理、生成処理および分類処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する検出処理や配信処理のバリエーションについて説明する。
〔5−1.装置構成〕
記憶部30に登録された各データベース31、32は、外部のストレージサーバに保持されていてもよい。また、情報提供装置10は、学習処理を実行する学習サーバ、および生成処理を実行する生成サーバとが連携して動作することにより、実現されてもよい。このような場合、学習サーバには、取得部42および学習部43が配置されていればよく、生成サーバには、取得部42、および生成部44が配置されていればよい。
〔5−2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5−3.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図9に示すような構成のコンピュータ1000によって実現される。図9は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムまたはデータ(例えば、モデルM1)を実行することにより、制御部40の機能を実現する。コンピュータ1000の演算装置1030は、これらのプログラムまたはデータ(例えば、モデルM1)を一次記憶装置1040から読み取って実行するが、他の例として、他の装置からネットワークNを介してこれらのプログラムを取得してもよい。
〔6.効果〕
上述したように、情報提供装置10は、入力層と、複数の中間層と、出力層とを有するモデルM1に対して所定の入力情報を入力した際に出力層が出力する第1出力情報を取得する。また、情報提供装置10は、モデルM1に対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。そして、情報提供装置10は、第1出力情報と中間出力情報とに基づいて、モデルM1の学習を行う。
このような処理の結果、情報提供装置10は、出力層が出力する第1出力情報のみならず、中間出力情報に基づいた学習を行うことができる。このような処理の結果、情報提供装置10は、複数の指標に基づいて、モデルM1の学習を行うことができるので、モデルM1の精度を向上させることができる。
また、情報提供装置10は、第1出力情報と中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、モデルM1の学習を段階的に行う。例えば、情報提供装置10は、入力情報に対応する目的出力情報と第1出力情報とに基づく第1指標に基づいて、モデルM1の学習を行い、その後、目的出力情報と、中間出力情報とに基づく第2指標に基づいて、モデルM1の学習を行う。
また、情報提供装置10は、中間層のうち、所定の中間層が出力する中間情報と、所定の中間層よりも入力層側の中間層が出力する中間情報とに基づく中間出力情報を取得する。例えば、情報提供装置10は、所定の中間層が出力する中間情報と、それぞれ異なる中間層が出力する中間情報とに基づいて、複数の中間出力情報を取得する。
より具体的な例を挙げると、情報提供装置10は、複数の中間層が出力する中間情報に基づいて第2出力情報を取得し、第2出力情報とは異なる複数の中間層がが出力する中間情報に基づいて、第3出力情報を取得する。そして、情報提供装置10は、第1出力情報と、第2出力情報と、第3出力情報とに基づいて、モデルM1の学習を段階的に行う。
例えば、情報提供装置10は、目的出力情報と第1出力情報とに基づく第1指標と、目的出力情報と第2出力情報とに基づく第2指標と、目的出力情報と第3出力情報とに基づく第3指標とを少なくとも生成し、第1指標と、第2指標と、第3指標とを段階的に用いて、モデルM1の学習を段階的に行う。また、情報提供装置10は、第1指標と、第2指標と、第3指標とのうち、使用する目的関数を段階的に増加させながら、モデルの学習を段階的に行う。
上述した各処理により、情報提供装置10は、マルチレゾリューションな特徴を用いたモデルM1の学習をマルチステージで行うことができるので、モデルM1の精度を向上させることができる。
また、情報提供装置10は、複数の中間層として、それぞれが複数の中間層を有する複数の中間ブロックを有するモデルM1に対して入力情報を入力した際に、出力層が出力する第1出力情報を取得する。また、情報提供装置10は、中間ブロックのうち、所定の中間ブロックが出力する中間情報に基づく中間出力情報を取得する。このため、情報提供装置10は、複数の中間ブロックを有するモデルM1の精度を向上させることができる。
また、情報提供装置10は、入力層と、複数の中間層と、出力層とを有するモデルM1に対して所定の入力情報を入力した際に出力層が出力する第1出力情報を取得する。また、情報提供装置10は、モデルM1に対して入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する。そして、情報提供装置10は、第1出力情報と中間出力情報とに基づいて、入力情報に対応する対応情報を生成する。このため、情報提供装置10は、モデルM1を用いて入力情報に対応する対応情報を生成する際に、より精度の高い対応情報を生成することができる。
また、例えば、情報提供装置10は、第1出力情報と、中間出力情報との荷重和に基づいて、対応情報を生成する。また、例えば、情報提供装置10は、それぞれ異なる中間層が出力する中間情報に基づく複数の中間出力情報を取得し、中間出力情報のうち、最も入力層側の中間層が出力する中間情報に基づいて、対応情報を生成する。このため、情報提供装置10は、より精度の高い対応情報を生成することができる。
また、情報提供装置10は、入力層と、複数の中間層と、出力層とを有するモデルM1に対して音声に関する音声情報を入力した際に出力層が出力する音声情報の第1分類結果を取得する。また、情報提供装置10は、モデルM1に対して音声情報を入力した際に複数の中間層が出力する中間情報に基づく中間分類結果を取得する。そして、情報提供装置10は、第1分類結果と中間分類結果とに基づいて、音声情報を分類する。このため、情報提供装置10は、音声情報の分類精度を向上させることができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、検出部は、検出手段や検出回路に読み替えることができる。
10 情報提供装置
20 通信部
30 記憶部
31 学習データデータベース
32 モデルデータベース
40 制御部
41 受付部
42 取得部
43 学習部
44 生成部
45 出力部
100、200 情報処理装置

Claims (14)

  1. 入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第1出力情報を取得する第1取得部と、
    前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第2取得部と、
    前記第1出力情報と前記中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、前記モデルの学習を段階的に行う学習部と
    を有することを特徴とする学習装置。
  2. 前記学習部は、前記入力情報に対応する目的出力情報と前記第1出力情報とに基づく第1指標を用いて、前記モデルの学習を行い、その後、前記目的出力情報と前記中間出力情報とに基づく第2指標を用いて、前記モデルの学習を行う
    ことを特徴とする請求項1に記載の学習装置。
  3. 前記第2取得部は、前記中間層のうち、所定の中間層が出力する中間情報と、所定の中間層よりも入力層側の中間層が出力する中間情報とに基づく中間出力情報を取得する
    ことを特徴とする請求項1または2に記載の学習装置。
  4. 前記第2取得部は、前記所定の中間層が出力する中間情報と、それぞれ異なる中間層が出力する中間情報とに基づいて、複数の中間出力情報を取得する
    ことを特徴とする請求項3に記載の学習装置。
  5. 前記第2取得部は、複数の中間層が出力する中間情報に基づいて、第2出力情報を取得し、前記第2出力情報とは異なる中間層が出力する中間情報に基づいて、第3出力情報を取得し、
    前記学習部は、前記第1出力情報と、前記第2出力情報と、前記第3出力情報とに基づいて、前記モデルの学習を段階的に行う
    ことを特徴とする請求項3または4に記載の学習装置。
  6. 前記学習部は、前記入力情報に対応する目的出力情報と前記第1出力情報とに基づく第1指標と、前記目的出力情報と前記第2出力情報とに基づく第2指標と、前記目的出力情報と前記第3出力情報とに基づく第3指標とを少なくとも生成し、前記第1指標と、前記第2指標と、前記第3指標とを段階的に用いて、前記モデルの学習を段階的に行う
    ことを特徴とする請求項5に記載の学習装置。
  7. 前記学習部は、前記第1指標と、前記第2指標と、前記第3指標とのうち、使用する指標を段階的に増加させながら、前記モデルの学習を段階的に行う
    ことを特徴とする請求項6に記載の学習装置。
  8. 前記第1取得部は、前記複数の中間層として、それぞれが複数の中間層を有する複数の中間ブロックを有するモデルに対して前記入力情報を入力した際に、前記出力層が出力する第1出力情報を取得し、
    前記第2取得部は、前記中間ブロックのうち、所定の中間ブロックが出力する中間情報に基づく中間出力情報を取得する
    ことを特徴とする請求項1〜7のうちいずれか1つに記載の学習装置。
  9. 所定の外部装置から所定の入力情報を受付ける受付部と、
    入力層と、複数の中間層と、出力層とを有するモデルに対して前記受付部により受付けられた所定の入力情報を入力した際に前記出力層が出力する第1出力情報を取得する第1取得部と、
    前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第2取得部と、
    前記第1出力情報と前記中間出力情報との荷重平均を前記入力情報に対応する対応情報として生成する生成部と、
    前記生成部により生成された対応情報を前記所定の入力情報に対する応答として前記所定の外部装置に出力する出力部と、
    を有することを特徴とする生成装置。
  10. 前記第2取得部は、それぞれ異なる中間層が出力する中間情報に基づく複数の中間出力情報を取得し、
    前記生成部は、前記中間出力情報のうち、最も入力層側の中間層が出力する中間情報に基づいて、前記対応情報を生成する
    ことを特徴とする請求項に記載の生成装置。
  11. 所定の外部装置から音声に関する音声情報を受付ける受付部と、
    入力層と、複数の中間層と、出力層とを有するモデルに対して前記音声情報を入力した際に前記出力層が出力する前記音声情報の第1分類結果を取得する第1取得部と、
    前記モデルに対して前記音声情報を入力した際に複数の中間層が出力する中間情報に基づく中間分類結果を取得する第2取得部と、
    前記第1分類結果と前記中間分類結果との荷重平均に基づいて、前記音声情報を分類する分類部と、
    前記分類部による分類結果を前記音声情報に対する応答として前記所定の外部装置に出力する出力部と、
    を有することを特徴とする分類装置。
  12. 学習装置が実行する学習方法であって、
    入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第1出力情報を取得する第1取得工程と、
    前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第2取得工程と、
    前記第1出力情報と前記中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、前記モデルの学習を段階的に行う学習工程と
    を含むことを特徴とする学習方法。
  13. 入力層と、複数の中間層と、出力層とを有するモデルに対して所定の入力情報を入力した際に前記出力層が出力する第1出力情報を取得する第1取得手順と、
    前記モデルに対して前記入力情報を入力した際に複数の中間層が出力する中間情報に基づく中間出力情報を取得する第2取得手順と、
    前記第1出力情報と前記中間出力情報とに基づいて、複数の指標を設定し、複数の指標に基づいて、前記モデルの学習を段階的に行う学習手順と
    をコンピュータに実行させるための学習プログラム。
  14. 入力情報が入力される入力層と、
    入力層に入力された入力情報に対して所定の処理を順次行う複数の中間層と、
    前記複数の中間層のうち最後に処理を行う終端中間層の出力に基づいて、前記入力情報に対応する第1対応情報を生成する第1出力層と、
    前記複数の中間層のうち、前記終端中間層の出力と、当該終端中間層以外の中間層の出力とに基づいて、前記入力情報に対応する第2対応情報を生成する第2出力層と
    を含むモデルであって、
    所定の学習情報を入力した際に前記第1出力層が出力する第1対応情報と前記複数の中間層が出力する中間情報に基づく中間出力情報とに基づいて設定された複数の指標に基づく段階的な学習が行われたモデル
    としてコンピュータを動作させるための動作プログラム。
JP2017203314A 2017-10-20 2017-10-20 学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラム Active JP6568175B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017203314A JP6568175B2 (ja) 2017-10-20 2017-10-20 学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラム
US16/130,355 US11580362B2 (en) 2017-10-20 2018-09-13 Learning apparatus, generation apparatus, classification apparatus, learning method, and non-transitory computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017203314A JP6568175B2 (ja) 2017-10-20 2017-10-20 学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラム

Publications (2)

Publication Number Publication Date
JP2019079102A JP2019079102A (ja) 2019-05-23
JP6568175B2 true JP6568175B2 (ja) 2019-08-28

Family

ID=66170606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017203314A Active JP6568175B2 (ja) 2017-10-20 2017-10-20 学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラム

Country Status (2)

Country Link
US (1) US11580362B2 (ja)
JP (1) JP6568175B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6523498B1 (ja) * 2018-01-19 2019-06-05 ヤフー株式会社 学習装置、学習方法および学習プログラム
KR102062157B1 (ko) * 2019-04-29 2020-01-03 오케스트로 주식회사 가상 머신 배치 방법 및 이를 구현하는 가상 머신 배치 장치
CN117012184A (zh) * 2022-10-31 2023-11-07 腾讯科技(深圳)有限公司 一种语音识别方法和相关装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4918618A (en) * 1988-04-11 1990-04-17 Analog Intelligence Corporation Discrete weight neural network
US5182794A (en) * 1990-07-12 1993-01-26 Allen-Bradley Company, Inc. Recurrent neural networks teaching system
US5161014A (en) * 1990-11-26 1992-11-03 Rca Thomson Licensing Corporation Neural networks as for video signal processing
JP3323894B2 (ja) * 1991-06-27 2002-09-09 株式会社日立製作所 ニューラルネットワーク学習方法及び装置
US5295227A (en) * 1991-07-09 1994-03-15 Fujitsu Limited Neural network learning system
US6985781B2 (en) * 1999-01-12 2006-01-10 Pavilion Technologies, Inc. Residual activation neural network
GB201402736D0 (en) * 2013-07-26 2014-04-02 Isis Innovation Method of training a neural network
JP6678930B2 (ja) * 2015-08-31 2020-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 分類モデルを学習する方法、コンピュータ・システムおよびコンピュータ・プログラム
JP2017182319A (ja) * 2016-03-29 2017-10-05 株式会社メガチップス 機械学習装置
JP2017182320A (ja) * 2016-03-29 2017-10-05 株式会社メガチップス 機械学習装置

Also Published As

Publication number Publication date
US20190122099A1 (en) 2019-04-25
JP2019079102A (ja) 2019-05-23
US11580362B2 (en) 2023-02-14

Similar Documents

Publication Publication Date Title
CN110546656B (zh) 前馈生成式神经网络
US11189302B2 (en) Speech emotion detection method and apparatus, computer device, and storage medium
JP6381768B1 (ja) 学習装置、学習方法、学習プログラムおよび動作プログラム
US9870768B2 (en) Subject estimation system for estimating subject of dialog
US9563825B2 (en) Convolutional neural network using a binarized convolution layer
US20210182662A1 (en) Training of neural network based natural language processing models using dense knowledge distillation
US10580432B2 (en) Speech recognition using connectionist temporal classification
US11514694B2 (en) Teaching GAN (generative adversarial networks) to generate per-pixel annotation
JP2020522817A (ja) 意味分析方法、装置、および記憶媒体
JP6568175B2 (ja) 学習装置、生成装置、分類装置、学習方法、学習プログラム、および動作プログラム
US11010560B2 (en) Multi-resolution convolutional neural networks for sequence modeling
CN112927707A (zh) 语音增强模型的训练方法和装置及语音增强方法和装置
JP6195542B2 (ja) 学習装置、学習方法及び学習プログラム
KR20220130565A (ko) 키워드 검출 방법 및 장치
US11341413B2 (en) Leveraging class information to initialize a neural network language model
WO2019163718A1 (ja) 学習装置、音声認識順位推定装置、それらの方法、およびプログラム
US20230237993A1 (en) Systems and Methods for Training Dual-Mode Machine-Learned Speech Recognition Models
WO2019138897A1 (ja) 学習装置および方法、並びにプログラム
CN114490065A (zh) 一种负载预测方法、装置及设备
JP7056345B2 (ja) データ分析システム、方法、及びプログラム
JP6975610B2 (ja) 学習装置および学習方法
US20180268816A1 (en) Generating device, generating method, and non-transitory computer readable storage medium
US20230394306A1 (en) Multi-Modal Machine Learning Models with Improved Computational Efficiency Via Adaptive Tokenization and Fusion
JP2019079087A (ja) 学習装置、プログラムパラメータおよび学習方法
JPWO2019116497A1 (ja) 識別装置、識別方法、および識別プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180615

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20180615

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180615

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190527

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20190527

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190604

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20190611

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: 20190702

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190801

R150 Certificate of patent or registration of utility model

Ref document number: 6568175

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350