(57)【特許請求の範囲】
【請求項１】
学習済みの、ニューラルネットワークを含む第一モデルのパラメータを用いて、前記第一モデルと同様の構造のニューラルネットワークを含む第二モデルのパラメータを設定する初期値設定部と、
学習用のデータから得られる特徴量と前記第一モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第一出力確率分布を計算する第一出力確率分布計算部と、
前記学習用のデータから得られる特徴量と前記第二モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第二出力確率分布を計算する第二出力確率分布計算部と、
前記学習用のデータに対応する正解に関する情報と前記第二出力確率分布とから第二損失関数を計算し、前記第一出力確率分布と前記第二出力確率分布とのクロスエントロピーを計算し、前記第二損失関数と前記クロスエントロピーとの重み付き和を求め、前記重み付き和が減少するように前記第二モデルのパラメータを更新する修正モデル更新部とを含む、
モデル学習装置。
【請求項２】
学習済みの、ニューラルネットワークを含む第一音響モデルのパラメータを用いて、前記第一音響モデルと同様の構造のニューラルネットワークを含む第二音響モデルのパラメータを設定する初期値設定部と、
学習用の音響信号から得られる特徴量と前記第一音響モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第一出力確率分布を計算する第一出力確率分布計算部と、
前記学習用の音響信号から得られる特徴量と前記第二音響モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第二出力確率分布を計算する第二出力確率分布計算部と、
前記学習用の音響信号に対応する正解ユニット番号と前記第二出力確率分布とから第二損失関数を計算し、前記第一出力確率分布と前記第二出力確率分布とのクロスエントロピーを計算し、前記第二損失関数と前記クロスエントロピーとの重み付き和を求め、前記重み付き和が減少するように前記第二音響モデルのパラメータを更新する修正モデル更新部とを含む、
モデル学習装置。
【請求項３】
学習済みの、ニューラルネットワークを含む第一言語モデルのパラメータを用いて、前記第一言語モデルと同様の構造のニューラルネットワークを含む第二言語モデルのパラメータを設定する初期値設定部と、
学習用のテキストデータから得られる単語列である単語履歴と前記第一言語モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第一出力確率分布を計算する第一出力確率分布計算部と、
前記学習用のテキストデータから得られる単語列である単語履歴と前記第二言語モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第二出力確率分布を計算する第二出力確率分布計算部と、
前記学習用の単語履歴に対応する正解単語と前記第二出力確率分布とから第二損失関数を計算し、前記第一出力確率分布と前記第二出力確率分布とのクロスエントロピーを計算し、前記第二損失関数と前記クロスエントロピーとの重み付き和を求め、前記重み付き和が減少するように前記第二言語モデルのパラメータを更新する修正モデル更新部とを含む、
モデル学習装置。
【請求項４】
請求項３のモデル学習装置であって、
前記第一言語モデル及び前記第二言語モデルはそれぞれクラスRNN言語モデルであり、
学習用のテキストデータから得られる単語列である単語履歴と前記第一言語モデルとを用いて、クラス出力層の各ユニットのクラス出力確率の分布を含む第一クラス出力確率分布を計算する第一クラス出力確率分布計算部と、
前記学習用のテキストデータから得られる単語列である単語履歴と前記第二言語モデルとを用いて、クラス出力層の各ユニットのクラス出力確率の分布を含む第二クラス出力確率分布を計算する第二クラス出力確率分布計算部と、を含み、
前記修正モデル更新部は、前記第一出力確率分布から出力層のクロスエントロピーCW1を、前記第一クラス出力確率分布からクラス出力層のクロスエントロピーCC1を、前記第二出力確率分布から出力層のクロスエントロピーCW2を、前記第二クラス出力確率分布からクラス出力層のクロスエントロピーCC2を求め、前記クロスエントロピーCW1と前記クロスエントロピーCW2とのクロスエントロピーCWと、前記クロスエントロピーCC1と前記クロスエントロピーCC2とのクロスエントロピーCCとを求め、求めた前記クロスエントロピーCWと前記クロスエントロピーCCの値が減少するように前記第二言語モデルのパラメータを更新する、
モデル学習装置。
【請求項５】
請求項１から請求項４の何れかのモデル学習装置であって、
前記第二出力確率分布計算部は、0より大きい実数値からなる平滑化パラメータを入力とし、平滑化パラメータが大きいほど一様分布に近づくように前記第二出力確率分布を求める、
モデル学習装置。
【請求項６】
学習済みの、ニューラルネットワークを含む第一モデルのパラメータを用いて、前記第一モデルと同様の構造のニューラルネットワークを含む第二モデルのパラメータを設定する初期値設定ステップと、
学習用のデータから得られる特徴量と前記第一モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第一出力確率分布を計算する第一出力確率分布計算ステップと、
前記学習用のデータから得られる特徴量と前記第二モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第二出力確率分布を計算する第二出力確率分布計算ステップと、
前記学習用のデータに対応する正解に関する情報と前記第二出力確率分布とから第二損失関数を計算し、前記第一出力確率分布と前記第二出力確率分布とのクロスエントロピーを計算し、前記第二損失関数と前記クロスエントロピーとの重み付き和を求め、前記重み付き和が減少するように前記第二モデルのパラメータを更新する修正モデル更新ステップとを含む、
モデル学習方法。
【請求項７】
請求項６のモデル学習方法であって、
前記第二出力確率分布計算ステップは、0より大きい実数値からなる平滑化パラメータを入力とし、平滑化パラメータが大きいほど一様分布に近づくように前記第二出力確率分布を求める、
モデル学習方法。
【請求項８】
請求項１から請求項５の何れかのモデル学習装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルモデルを学習するためのモデル学習装置、その方法、及びプログラムに関する。
【背景技術】
【０００２】
ニューラルネットワークモデルの学習方法として様々な従来技術が知られている。例えば、非特許文献１は、音響モデル学習方法の従来技術として知られている。一般的なニューラルネットワークの学習方法（以下、従来技術１ともいう）を図１に示す。この学習方法を用いて、音声認識用のニューラルネットワーク型音響モデル（以下、単に「音響モデル」と書く）を学習する方法が非特許文献１の"TRAINING DEEP NEURAL NETWORKS"の節に記載されている。【０００３】
事前に学習データの各サンプルから抽出した特徴量（実数ベクトル）Qと各特徴量Qに対応する正解ユニット番号jLのペア、および適当な初期モデルを用意する。例えば、初期モデルとしては、各パラメータに乱数を割り当てたニューラルネットワークや、既に別の学習データで学習済みのニューラルネットワークなどが利用できる。出力確率分布計算部８１は、学習データの特徴量Qを現在のモデル(学習中の音響モデル)に入力して出力層の各ユニットjの出力確率p(j)を並べた出力確率分布を計算する。【０００４】
モデル更新部８２は、正解ユニット番号jLと出力確率p(j)の分布から損失関数Cを計算し、損失関数Cの値を減少させるようにモデルを更新する。学習データの特徴量Qと正解ユニット番号jLの各ペアに対して、上記の出力確率計算とモデル更新の処理を繰り返し、所定回数（通常、数千万〜数億回）の繰り返しが完了した時点のモデルを学習済みの音響モデルとして利用する。【０００５】
また、既に学習済みのニューラルネットワークが持つ知識を、新たに学習するニューラルネットワークに転移する方法(以下、転移学習ともいう)が非特許文献２(以下、従来技術２ともいう)に記載されている。従来技術２の構成を図２に示す。【０００６】
事前に特徴量Qと正解ユニット番号jLのペアおよび初期モデル（図２では便宜上「生徒モデル」と記載）を用意する点は従来技術１と同様である。加えて従来技術２では既に学習済みのニューラルネットワークである教師モデルが事前に用意される。この従来技術２は、教師出力確率分布計算部９１を持つ点と、モデル更新部８２が修正モデル更新部９２に置き換えられている点が従来技術１と異なる。教師出力確率分布計算部９１は、学習データの特徴量Qを教師モデルに入力して出力層の各ユニットjの確率を並べた出力確率p1(j)の分布(以下、単に教師出力確率分布ともいう)を計算する。なお、教師出力確率分布を求める算出式に温度Tが導入されている点が従来技術１と異なる。温度Tは事前に設定される０より大きい実数値のパラメータである。修正モデル更新部９２は、モデル更新部８２(図１参照)の損失関数Cを以下の損失関数C'に置き換えたものである。
【数１】
0006712642.tif 000002
この損失関数C'は、もともとのモデル更新部８２の損失関数C(第１項)と、教師モデルの出力確率qjの分布と生徒モデルの出力確率pjの分布のクロスエントロピー（第２項）の重み付き和である。重みαは事前に設定される０以上１以下のパラメータである。【０００７】
従来技術２では、教師モデルとして事前に学習した巨大な（精度は高いが計算時間の遅い）モデルを使い、生徒モデルを乱数で初期化した小さなモデルとし、温度T＝２、重みα＝０．５と設定することで、教師モデルと同等の精度を持ち計算時間の速いモデルを学習できる効果が確認されている。なお、巨大なモデルとは、ニューラルネットワークの中間層の数や各中間層のユニット数が多いモデルを意味する。
また、近年、音声認識、文字認識、機械翻訳等の分野において、単語間の連鎖関係を表す“言語モデル”を用いて精度を向上させる手法が盛んに検討されている。言語モデルは、辞書に登録された単語に対して、直前の単語列から次の単語への遷移確率を表すモデルであり、近年はニューラルネットワークをベースとしたRNN(リカレント・ニューラルネットワーク)言語モデルの研究が盛んである。RNN言語モデルの学習方法としては、非特許文献３が知られている。一般的なニューラルネットワークの学習方法を図１に示す。
初期モデルは、通常各パラメータに乱数を割り当てたニューラルネットワークや、既に別の学習データで学習済のニューラルネットワークなどが利用できる。単語をニューラルネットワークの入出力とする際には、入出力に用いる単語の語彙と、入力層・出力層を構成する各ユニットを対応させる（１ユニットが1単語に対応）ことで実現する。例えば、各出力単語は実際には各単語に対応するユニット番号jにより表現される。出力確率分布計算部８１は、学習データの単語履歴hを構成する単語を現在のモデルに順次入力して、出力層の各ユニットjの出力確率p(j)を並べた出力確率分布を計算する。なお、単語履歴とは、ある単語を認識しようとしたときにその単語の直前に現れる単語の履歴(単語列)である。言語モデルの用途に合わせて適切なコーパス(テキストデータを集めたもの)を学習データとして用いればよい。例えば、音声認識に利用される言語モデルの場合には、発話に対応するテキストデータを集めたコーパスを学習データとして用いてもよい。学習データには、単語履歴(テキストデータから得られる単語列)と、その単語履歴の次に実際に現れる単語(次単語)が含まれ、この次単語を単語履歴hに対応する正解単語wtとする。
モデル更新部８２は、正解単語wtに対応する出力層のユニット番号jLと、出力確率p(j)の分布から損失関数Cを計算し、損失関数Cの値を減少させるようにモデルを更新する。学習データの単語履歴hと正解単語wtの各ペアに対して、上記の出力確率計算とモデル更新の処理を繰り返し、所定回数の繰り返しが完了した時点のモデルを学習済言語モデルとして利用する。
従来技術２では、教師モデルとして事前に学習した巨大な（精度は高いが計算時間の遅い）モデルを使い、生徒モデルを乱数で初期化した小さなモデルとし、温度T＝２、重みα＝０．５と設定することで、教師モデルと同等の精度を持ち計算時間の速いモデルを学習できる効果が確認されている。なお、巨大なモデルとは、ニューラルネットワークの中間層の数や各中間層のユニット数が多いモデルを意味する。従来技術２を言語モデルの学習に用いおうとした場合（図２）、以下のように処理を行う。
事前に単語履歴hと正解単語wtのペアおよび初期モデル（図２では便宜上「生徒モデル」と記載）を用意する点は従来技術１と同様である。加えて従来技術２では既に学習済みのニューラルネットワークである教師モデルが事前に用意される。この従来技術２は、教師出力確率分布計算部９１を持つ点と、モデル更新部８２が修正モデル更新部９２に置き換えられている点が従来技術１と異なる。教師出力確率分布計算部９１は、学習データの単語履歴hを教師モデルに入力して出力層の各ユニットjの確率を並べた出力確率p1(j)の分布(以下、単に教師出力確率分布ともいう)を計算する。なお、教師出力確率分布を求める算出式に温度Tが導入されている点が従来技術１と異なる。温度Tは事前に設定される０より大きい実数値のパラメータである。修正モデル更新部９２は、モデル更新部８２(図１参照)の損失関数Cを以下の損失関数C'に置き換えたものである。
【数２】
0006712642.tif 000003
この損失関数C'は、もともとのモデル更新部８２の損失関数C(第１項)と、教師モデルの出力確率qjの分布と生徒モデルの出力確率pjの分布のクロスエントロピー（第２項）の重み付き和である。重みαは事前に設定される０以上１以下のパラメータである。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Geoffrey Hinton, Li Deng, Dong Yu, George E. Dahl, Abdel-rahman Mohamed, Navdeep Jaitly, Andrew Senior, Vincent Vanhoucke, Patric Nguyen, Tara N. Sainath and Brian Kingsbury, “Deep Neural Networks for Acoustic Modeling in Speech Recognition,” IEEE Signal Processing Magazine, Vol. 29, No 6, pp.82-97, 2012.
【非特許文献２】Geoffrey Hinton, Oriol Vinyals and Jeff Dean, “Distilling the Knowledge in a Neural Network,” in Proceedings of Deep Learning and Representation Learning Workshop in NIPS 2014.
【非特許文献３】T. Mikolov, M.Karafiat, L. Burget, J.Cernocky, S. Khudanpur "Recurrent neural network based language model," in Proc. of Interspeech 2010.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来技術１では、学習データが少ない場合に過学習の問題が生じ、精度の低いニューラルネットワークモデル(例えば、認識精度の低い音響モデルまたは言語モデル)が学習されることがある。過学習とは、学習データを非常に高い精度で認識できるが、学習データに含まれない（実際の音声認識サービス運用時にユーザから入力される）データをまったく認識できなくなる現象である。【００１０】
また、従来技術２において、教師モデルと同等の精度を持ち、計算時間の早いモデルを学習する転移学習では、生成するニューラルネットワークモデル(例えば音響モデルまたは言語モデル)に対して巨大な教師モデル(中間層の数や、各中間層のユニット数が多く、精度は高いが計算時間は遅いモデル)を用意する必要がある。また、計算時間が長いため、教師モデルを用意するための学習コストが高くなる。また、学習データのうち、教師モデルが正しく認識できないデータが学習に悪影響を与える。計算時間の遅い教師モデルを使用するためニューラルネットワークモデルを生成する際に時間がかかる。【００１１】
本発明は、従来技術２ほど巨大な教師モデルを必要とせず、精度の高いニューラルネットワークモデルを少ない学習データから過学習を起こすことなく、短時間で作成できるモデル学習装置、その方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決するために、本発明の一態様によれば、モデル学習装置は、学習済みの、ニューラルネットワークを含む第一モデルのパラメータを用いて、第一モデルと同様の構造のニューラルネットワークを含む第二モデルのパラメータを設定する初期値設定部と、学習用のデータから得られる特徴量と第一モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第一出力確率分布を計算する第一出力確率分布計算部と、学習用のデータから得られる特徴量と第二モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第二出力確率分布を計算する第二出力確率分布計算部と、学習用のデータに対応する正解に関する情報と第二出力確率分布とから第二損失関数を計算し、第一出力確率分布と第二出力確率分布とのクロスエントロピーを計算し、第二損失関数とクロスエントロピーとの重み付き和を求め、重み付き和が減少するように第二モデルのパラメータを更新する修正モデル更新部とを含む。
上記の課題を解決するために、本発明の他の態様によれば、モデル学習装置は、学習済みの、ニューラルネットワークを含む第一音響モデルのパラメータを用いて、第一音響モデルと同様の構造のニューラルネットワークを含む第二音響モデルのパラメータを設定する初期値設定部と、学習用の音響信号から得られる特徴量と第一音響モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第一出力確率分布を計算する第一出力確率分布計算部と、学習用の音響信号から得られる特徴量と第二音響モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第二出力確率分布を計算する第二出力確率分布計算部と、学習用の音響信号に対応する正解ユニット番号と第二出力確率分布とから第二損失関数を計算し、第一出力確率分布と第二出力確率分布とのクロスエントロピーを計算し、第二損失関数とクロスエントロピーとの重み付き和を求め、重み付き和が減少するように第二音響モデルのパラメータを更新する修正モデル更新部とを含む。
上記の課題を解決するために、本発明の他の態様によれば、モデル学習装置は、学習済みの、ニューラルネットワークを含む第一言語モデルのパラメータを用いて、第一言語モデルと同様の構造のニューラルネットワークを含む第二言語モデルのパラメータを設定する初期値設定部と、学習用のテキストデータから得られる単語列である単語履歴と第一言語モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第一出力確率分布を計算する第一出力確率分布計算部と、学習用のテキストデータから得られる単語列である単語履歴と第二言語モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第二出力確率分布を計算する第二出力確率分布計算部と、学習用の単語履歴に対応する正解単語と第二出力確率分布とから第二損失関数を計算し、第一出力確率分布と第二出力確率分布とのクロスエントロピーを計算し、第二損失関数とクロスエントロピーとの重み付き和を求め、重み付き和が減少するように第二言語モデルのパラメータを更新する修正モデル更新部とを含む。【００１３】
上記の課題を解決するために、本発明の他の態様によれば、モデル学習方法は、学習済みの、ニューラルネットワークを含む第一モデルのパラメータを用いて、第一モデルと同様の構造のニューラルネットワークを含む第二モデルのパラメータを設定する初期値設定ステップと、学習用のデータから得られる特徴量と第一モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第一出力確率分布を計算する第一出力確率分布計算ステップと、学習用のデータから得られる特徴量と第二モデルとを用いて、出力層の各ユニットの出力確率の分布を含む第二出力確率分布を計算する第二出力確率分布計算ステップと、学習用のデータに対応する正解に関する情報と第二出力確率分布とから第二損失関数を計算し、第一出力確率分布と第二出力確率分布とのクロスエントロピーを計算し、第二損失関数とクロスエントロピーとの重み付き和を求め、重み付き和が減少するように第二モデルのパラメータを更新する修正モデル更新ステップとを含む。
【発明の効果】
【００１４】
本発明によれば、従来技術ほど巨大な教師モデルを必要とせず、精度の高いニューラルネットワークモデルを少ない学習データから過学習を起こすことなく、短時間で作成できるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】従来技術に係る音響モデル学習装置の機能ブロック図。
【図２】従来技術に係る音響モデル学習装置の機能ブロック図。
【図３】第一、第四実施形態に係るモデル学習装置の機能ブロック図。
【図４】第一、第四実施形態に係るモデル学習装置の処理フローの例を示す図。
【図５】第二実施形態に係るモデル学習装置の機能ブロック図。
【図６】第二実施形態に係るモデル学習装置の処理フローの例を示す図。
【図７】第三実施形態に係るモデル学習装置の機能ブロック図。
【図８】第三実施形態に係るモデル学習装置の処理フローの例を示す図。
【図９】RNN言語モデルを説明するための図。
【図１０】クラスRNN言語モデルを説明するための図。
【図１１】第五実施形態に係るモデル学習装置の機能ブロック図。
【図１２】第五実施形態に係るモデル学習装置の処理フローの例を示す図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。また、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
【００１７】
＜第一実施形態のポイント＞
本実施形態のポイントは、既に別の学習データで学習済みの音響モデル(例えばDNN音響モデル)から知識を転移することで、学習データが少ない場合に生じる過学習の問題を回避する点である。具体的には、従来技術２の枠組みにおいて、初期設定時に教師モデルと生徒モデルを同じ構造のニューラルネットワークとする制約を課す。なお、ニューラルネットワークの構造が同じとは、例えば層数、ユニット数、活性化関数、その他使用するＮＮの種類に応じて必要となるその他のパラメータ等が共通であることを意味する。この制約のもとで教師モデルとして既に別の学習データで学習済みの音響モデルを用い、生徒モデルの初期値を教師モデルのコピーとする。このような構成とすることで、従来技術ほど巨大な教師モデルを必要とせずに、学習データを正しく認識できるように学習しつつ、同時に学習データに含まれないデータをうまく認識する知識を教師モデルから得ることができる。
【００１８】
＜第一実施形態＞
図３は第一実施形態に係るモデル学習装置の機能ブロック図を、図４はその処理フローを示す。
【００１９】
モデル学習装置１００は、出力確率分布計算部１０１、修正モデル更新部１０２、教師出力確率分布計算部１０３、初期値設定部１０４とを含む。従来技術２との主な相違点は、初期値設定部１０４が追加されており、それに伴いベース音響モデル(教師モデル)と音響モデル(生徒モデル)が同じ構造のニューラルネットワークに限定されている点である。
【００２０】
＜初期値設定部１０４＞
入力：教師モデル
出力：生徒モデルの初期モデル
処理：学習済みの、ニューラルネットワークを含む音響モデル（教師モデル）のパラメータを用いて、その音響モデル（教師モデル）と同様の構造のニューラルネットワークを含む音響モデル（生徒モデル）のパラメータを設定する（Ｓ１）。例えば、入力された教師モデルのパラメータをコピーしたモデルを作成し、生徒モデルの初期モデルとして出力する。この処理は学習開始時に一度だけ行われる。従来技術２は教師モデルとして巨大なモデルを、生徒モデルとして小さなモデルを想定しているのに対し、本実施形態の教師モデルと生徒モデルとは全く同じ構造となる。この初期値設定部１０４の処理により、従来技術１よりも少ない学習データで高精度な音響モデルが学習可能となる。
【００２１】
＜出力確率分布計算部１０１＞
入力：学習用の特徴量Q、生徒モデル(学習中の生徒モデル、または、生徒モデルの初期モデル)
出力:出力確率分布（出力確率p2(j)の分布）
【００２２】
出力確率分布計算部１０１は、学習用の音響信号から得られる特徴量Qと生徒モデルとを用いて、出力層の各ユニットの出力確率p2(j)の分布を含む出力確率分布を計算する（Ｓ２）。出力確率p2(j)の計算の方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、従来技術１の方法により求めることができる。その場合、まず、特徴量Qを生徒モデルに入力し、出力層のユニットjのロジットxjを求める（次式参照）。
【数３】
0006712642.tif 000004
である。ただし、logistic()はロジスティック関数を表し、bjはユニットjのバイアスであり、iは下位の階層のユニットのインデックスを表し、mijは下位の階層のユニットiからユニットjへの接続に対する重みを表す。学習用の特徴量Qは入力層のユニットjの入力を求める際に用いられ、生徒モデルはbjやmij等を含む。
【００２３】
次に、ロジットxjから出力確率p2(j)を求める（次式参照）
【数４】
0006712642.tif 000005
【００２４】
なお、モデル学習装置１００は、時間領域の学習用の音響信号を入力とし、図示しない周波数領域変換部、特徴量抽出部等を含んでもよい。例えば、図示しない周波数領域変換部は、時間領域の学習用の音響信号を周波数領域の信号に変換し、出力する。図示しない特徴量抽出部は、時間領域または周波数領域の学習用の音響信号から学習用の特徴量Qを抽出し、出力確率分布計算部１０１に出力する。特徴量としては、例えば、基本周波数、パワー、持続時間、フォルマント周波数、スペクトル、メル周波数ケプストラム係数（MFCC）などが考えられる。
【００２５】
＜教師出力確率分布計算部１０３＞
入力：学習用の特徴量Q、教師モデル、温度T
出力:出力確率分布（出力確率p1(j)の分布）
【００２６】
教師出力確率分布計算部１０３は、学習用の音響信号から得られる特徴量Qと教師モデルと温度Tとを用いて、出力層の各ユニットの出力確率p1(j)の分布を含む出力確率分布を計算する（Ｓ３）。出力確率p1(j)の計算の方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、従来技術２の方法により求めることができる。その場合、出力確率p1(j)は次式で表される。
【数５】
0006712642.tif 000006
なお、ロジットxjの計算方法は出力確率分布計算部１０１と同じだが、教師出力確率分布計算部１０３では生徒モデルではなく教師モデルを用いる。なお、温度Tは事前設定される0より大きい実数値のパラメータであり、Tを大きく設定すればするほど出力確率p1(j)の分布は一様分布(無情報)に近づき、後述する生徒モデルの更新への影響度合いは小さくなる。なお、温度Tのことを平滑化パラメータTともいう。
【００２７】
＜修正モデル更新部１０２＞
入力:初期モデル、出力確率p1(j)の出力確率分布、出力確率p2(j)の出力確率分布、正解ユニット番号jL、重みα
出力:学習中の音響モデル(生徒モデル)または学習済みの音響モデル
【００２８】
修正モデル更新部１０２は、(学習用の特徴量に対応する)学習用の音響信号に対応する正解ユニット番号jLと出力確率p2(j)とから損失関数C2を計算する(式(6)参照)。
【数６】
0006712642.tif 000007
ただし、djはjと正解ユニット番号jLとが一致する場合には1となり、一致しない場合には0となる値である。
【００２９】
次に、修正モデル更新部１０２は、出力確率p1(j)の出力確率分布と出力確率p2(j)の出力確率分布とのクロスエントロピーC1(出力確率p1(j)と出力確率p2(j)の対数の積の総和)を計算する（式(7)参照）。
【数７】
0006712642.tif 000008
【００３０】
さらに、修正モデル更新部１０２は、損失関数C2とクロスエントロピーC1との重み付き和Cを求める(式(8)参照)。
C=(1-α)C2+αC1 (8)
なお、重みαは、事前に設定される0以上1以下のパラメータである。
【００３１】
最後に、修正モデル更新部１０２は、重み付き和Cが減少するように生徒モデルのパラメータを更新する(Ｓ４)。
【００３２】
所定の条件を満たすまで、上述のＳ２〜Ｓ４を繰り返し（Ｓ５）、所定の条件を満たす場合には、その時点の生徒モデルを学習済みの音響モデルとして出力する。
【００３３】
所定の条件としては、例えば、(i)繰り返し回数が一定数(例えば数千万〜数億)を超えたとき、(ii)更新量が所定の値よりも小さくなったとき、例えば、(ii-a)全てのパラメータの更新量の総和が所定の値よりも小さくなったとき、(ii-b)各パラメータの全て、または、一部の更新量がそれぞれ設定された所定の値よりも小さくなったとき、等が考えられる。
【００３４】
＜効果＞
本実施形態で作成した音響モデルを用いることで、従来技術よりも高い精度で音声認識を行うことが可能となり、音声認識システム利用者にとっての利便性が向上する。また、従来技術よりも少ない学習データで音響モデルを作成できるようになるため、音声認識システム開発時に必要となる学習データの量を削減することができ、また、音響モデルの学習にかかる時間を短くすることができる。これにより、音声認識システム開発時の学習データ作成コスト、音響モデル作成コストを低減することができる。
【００３５】
＜変形例＞
本実施形態では、教師出力確率分布計算部１０３において、温度Tを入力としているが、必ずしも温度Tを用いなくともよい。例えば、温度Tを用いずに従来技術１の方法により求めることができる。ただし、教師出力確率分布計算部１０３ではxjを求める際に生徒モデルではなく教師モデルを用いる。
【００３６】
＜第二実施形態のポイント＞
第一実施形態と異なる部分を中心に説明する。
【００３７】
従来技術２では、学習データのうち、教師モデルが正しく認識できないデータが学習に悪影響を与えるという問題がある。従来技術２では教師モデルの動きを模倣するように生徒モデルが学習されるため、教師モデルが誤って認識するデータは生徒モデルも誤るように学習されてしまう。このような問題により、学習データが少ない場合に精度の高い音響モデルを作成することが困難となっている。
【００３８】
本実施形態のポイントは、教師出力確率計算部で正解ユニット番号jLを考慮することにより、教師モデルの誤りの問題を軽減し、さらに精度の高い音響モデルを作成する点である。具体的には、教師出力確率分布と正解ユニット番号jLを照らし合わせることで教師モデルの誤りを検出し、誤っている場合に温度Tを上昇させる。これにより、教師モデルの誤りが生徒モデルに転移される影響を抑えることができる。
【００３９】
＜第二実施形態＞
第一実施形態と異なる部分を中心に説明する。
【００４０】
図５は第二実施形態に係るモデル学習装置の機能ブロック図を、図６はその処理フローを示す。
【００４１】
モデル学習装置２００は、出力確率分布計算部１０１、修正モデル更新部１０２、温度調整付き教師出力確率分布計算部２０３、初期値設定部１０４とを含む。第一実施形態との主な相違点は、教師出力確率分布計算部１０３が温度調整付き教師出力確率分布計算部２０３に置き換えられている点である。
【００４２】
＜温度調整付き教師出力確率分布計算部２０３＞
入力：特徴量Q、教師モデル、正解ユニット番号jL、温度T、温度調整幅ΔT
出力:出力確率分布（出力確率p1(j)の分布）
処理：
【００４３】
教師出力確率分布計算部２０３は、学習用の音響信号から得られる特徴量Qと教師モデルと温度Tと温度調整幅ΔTとを用いて、出力層の各ユニットの出力確率p1(j)の分布を含む出力確率分布を計算する（Ｓ１３）。
【００４４】
例えば、教師出力確率分布計算部２０３は、入力された特徴量Qを教師モデルに入力し、式(2)のロジットxjを計算する。
【００４５】
次に、教師出力確率分布計算部２０３は、最もロジットxjの値の大きい出力ユニット番号Kを特定する。
【数８】
0006712642.tif 000009
【００４６】
さらに、教師出力確率分布計算部２０３は、Kが正解ユニット番号jLと等しいか否かを判定する。Kが正解ユニット番号jLと等しい場合は、温度Tをそのまま用いて次の式(12)により出力確率p1(j)の分布を計算し、出力する。Kが正解ユニット番号jLと異なる場合は、温度TをT+ΔTに置き換えた上で次の式(12)により出力確率p1(j)の分布を計算し、出力する。
【数９】
0006712642.tif 000010
【００４７】
＜効果＞
前述の通り、式(12)の出力確率p1(j)の分布は、温度Tを大きくすればするほど一様分布（無情報）に近づき、生徒モデルの更新への影響度合いが小さくなる。そのため、このような処理により、教師モデルが誤っている（Kが正解ユニット番号jLと異なる）場合に、その誤りが学習に与える悪影響を抑えることが可能となる。
【００４８】
なお、温度調整幅ΔTは事前に設定するパラメータであり、例えばΔT=5〜10程度の値に設定する。
【００４９】
＜第三実施形態のポイント＞
第二実施形態と異なる部分を中心に説明する。
【００５０】
本実施形態では、第二実施形態で説明した問題（教師モデルの誤りの問題）を解決するために、例えば、出力確率p1(j)の分布と正解ユニット番号jLとを照らし合わせることで教師モデルの誤りを検出し、誤っている場合に正解ユニット番号jLに対応するユニットの確率を上昇させる。これにより、教師モデルの誤りが生徒モデルに転移される影響を抑えることができる。
【００５１】
図７は第二実施形態に係るモデル学習装置の機能ブロック図を、図８はその処理フローを示す。
【００５２】
モデル学習装置３００は、出力確率分布計算部１０１、修正モデル更新部１０２、温度調整付き教師出力確率分布計算部２０３、初期値設定部１０４、教師出力確率分布補正部３０１を含む。第二実施形態との主な相違点は、教師出力確率分布補正部３０１が追加されている点である。なお、温度調整付き教師出力確率分布計算部２０３を、教師出力確率分布計算部１０３に置き換えた（第二実施形態のアイデアを使わない）構成も可能である。
【００５３】
＜教師出力確率分布補正部３０１＞
入力：出力確率p1(j)の分布、正解ユニット番号jL
出力：補正後の出力確率p3(j)の分布
処理：
【００５４】
教師出力確率分布補正部３０１は、正解ユニット番号jLを用いて出力確率p1(j)の分布を補正し、補正後の出力確率p3(j)の分布を得る。
【００５５】
教師出力確率分布補正部３０１は、出力確率p1(j)の分布を参照し、出力確率p1(j)が最大となる出力ユニット番号Kを特定する。
【数１０】
0006712642.tif 000011
なお、このKは温度調整付き教師出力確率分布計算部２０３の中で求めるKと同じ値になるため、温度調整付き教師出力確率分布計算部２０３がKを出力し、教師出力確率分布補正部３０１の入力としてもよい。ただし、温度調整付き教師出力確率分布計算部２０３を、教師出力確率分布計算部１０３に置き換えた構成とする場合には、式(21)等で出力確率p1(j)が最大となる出力ユニット番号Kを特定する必要がある。
【００５６】
さらに、教師出力確率分布補正部３０１は、Kが正解ユニット番号jLと等しいか否かを判定する。Kが正解ユニット番号jLと等しい場合は、出力確率p1(j)の分布をそのまま補正後の出力確率p3(j)の分布として出力する。
【００５７】
Kが正解ユニット番号jLと異なる場合は、出力確率p1(j)の分布のうち、K番目の出力ユニットの出力確率p1(K)と正解ユニット番号jLに対応する出力ユニットの出力確率p1(jL)を入れ替えた出力確率の分布を補正後の出力確率p3(j)の分布として作成し、出力する。
【００５８】
＜効果＞
以上の処理により、補正後の出力確率の分布は、正解ユニット番号jLに対応する確率値が必ず最大となることが保証されるため、教師モデルである教師モデルの誤りが転移されてしまう問題を防ぐことができる。
＜第四実施形態のポイント＞
第一実施形態と異なる部分を中心に説明する。
本実施形態のポイントは、既に別の学習データで学習済の言語モデルから知識を転移することで、学習データが少ない場合に生じる過学習の問題を回避する点である。具体的には、従来技術２の枠組みにおいて、初期設定時に教師モデルと生徒モデルを同じ構造のニューラルネットワークとする制約を課す。この制約のもとで教師モデルとして既に別の学習データで学習済の言語モデルを用い、生徒モデルの初期値を教師モデルのデータにコピーする。このような構成とすることで、従来技術２ほど巨大な教師モデルを必要とせずに、学習データを正しく認識できるように学習しつつ、同時に学習データに含まれないデータをうまく認識する知識を教師モデルから得ることができる。
【００５９】
＜第四実施形態＞
図３は第四実施形態に係るモデル学習装置の機能ブロック図を、図４はその処理フローを示す。
本実施形態では、ニューラルネットワークを利用して、音響モデル(例えばDNN音響モデル)に代えて言語モデル(例えばRNN言語モデル)を学習する。
【００６０】
モデル学習装置１００は、出力確率分布計算部１０１、修正モデル更新部１０２、教師出力確率分布計算部１０３、初期値設定部１０４とを含む。第一実施形態との主な相違点は、音響モデルに代えて言語モデルを学習する点であり、その点に基づき、特徴量Qに代えて単語履歴hを入力とし、正解ユニット番号jLに代えて正解単語wtを入力とする。
【００６１】
＜初期値設定部１０４＞
入力：教師モデル
出力：生徒モデルの初期モデル
処理：学習済みの、ニューラルネットワークを含む言語モデル（教師モデル）のパラメータを用いて、その言語モデル（教師モデル）と同様の構造のニューラルネットワークを含む言語モデル（生徒モデル）のパラメータを設定する（Ｓ１）。例えば、入力された教師モデルのパラメータをコピーしたモデルを作成し、生徒モデルの初期モデルとして出力する。この処理は学習開始時に一度だけ行われる。従来技術２は教師モデルとして巨大なモデルを、生徒モデルとして小さなモデルを想定しているのに対し、本実施形態の教師モデルと生徒モデルとは全く同じ構造となる。この初期値設定部１０４の処理により、従来技術１よりも少ない学習データで高精度な言語モデルが学習可能となる。
【００６２】
＜出力確率分布計算部１０１＞
入力：学習用の単語履歴h、生徒モデル(学習中の生徒モデル、または、生徒モデルの初期モデル)
出力:出力確率分布（出力確率p2(j)の分布）
【００６３】
出力確率分布計算部１０１は、学習用の単語履歴hと生徒モデルとを用いて、出力層の各ユニットの出力確率p2(j)の分布を含む出力確率分布を計算する（Ｓ２）。出力確率p2(j)の計算の方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、従来技術１の方法により求めることができる。その場合、まず、単語履歴hを生徒モデルに入力し、出力層のユニットjのロジットxjを求める（次式参照）。
【数１１】
0006712642.tif 000012
である。ただし、logistic()はロジスティック関数を表し、bjはユニットjのバイアスであり、iは下位の階層のユニットのインデックスを表し、mijは下位の階層のユニットiからユニットjへの接続に対する重みを表す。学習用の単語履歴hは入力層のユニットjの入力を求める際に用いられ、生徒モデルはbjやmij等を含む。
【００６４】
次に、ロジットxjから出力確率p2(j)を求める（次式参照）
【数１２】
0006712642.tif 000013
【００６５】
＜教師出力確率分布計算部１０３＞
入力：学習用の単語履歴h、教師モデル、温度T
出力:出力確率分布（出力確率p1(j)の分布）
【００６６】
教師出力確率分布計算部１０３は、学習用の単語履歴hと教師モデルと温度Tとを用いて、出力層の各ユニットの出力確率p1(j)の分布を含む出力確率分布を計算する（Ｓ３）。出力確率p1(j)の計算の方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、従来技術２の方法により求めることができる。その場合、出力確率p1(j)は次式で表される。
【数１３】
0006712642.tif 000014
なお、ロジットxjの計算方法は出力確率分布計算部１０１と同じだが、教師出力確率分布計算部１０３では生徒モデルではなく教師モデルを用いる。なお、温度Tは事前設定される0より大きい実数値のパラメータであり、Tを大きく設定すればするほど出力確率p1(j)の分布は一様分布(無情報)に近づき、後述する生徒モデルの更新への影響度合いは小さくなる。なお、温度Tのことを平滑化パラメータTともいう。
【００６７】
＜修正モデル更新部１０２＞
入力:初期モデル、出力確率p1(j)の出力確率分布、出力確率p2(j)の出力確率分布、正解単語wt、重みα
出力:学習中の言語モデル(生徒モデル)または学習済みの言語モデル
【００６８】
修正モデル更新部１０２は、学習用の単語履歴hに対応する正解単語wtに対応するユニット番号jLと出力確率p2(j)とから損失関数C2を計算する(式(6)参照)。
【数１４】
0006712642.tif 000015
ただし、djはjと正解単語wtに対応するユニット番号jLとが一致する場合には1となり、一致しない場合には0となる値である。
【００６９】
次に、修正モデル更新部１０２は、出力確率p1(j)の出力確率分布と出力確率p2(j)の出力確率分布とのクロスエントロピーC1(出力確率p1(j)と出力確率p2(j)の対数の積の総和)を計算する（式(7)参照）。
【数１５】
0006712642.tif 000016
【００７０】
さらに、修正モデル更新部１０２は、損失関数C2とクロスエントロピーC1との重み付き和Cを求める(式(8)参照)。
C=(1-α)C2+αC1 (8)
なお、重みαは、事前に設定される0以上1以下のパラメータである。
【００７１】
最後に、修正モデル更新部１０２は、重み付き和Cが減少するように生徒モデルのパラメータを更新する(Ｓ４)。
【００７２】
所定の条件を満たすまで、上述のＳ２〜Ｓ４を繰り返し（Ｓ５）、所定の条件を満たす場合には、その時点の生徒モデルを学習済みの言語モデルとして出力する。
【００７３】
所定の条件としては、例えば、(i)繰り返し回数が一定数(例えば数千万〜数億)を超えたとき、(ii)更新量が所定の値よりも小さくなったとき、例えば、(ii-a)全てのパラメータの更新量の総和が所定の値よりも小さくなったとき、(ii-b)各パラメータの全て、または、一部の更新量がそれぞれ設定された所定の値よりも小さくなったとき、等が考えられる。
【００７４】
＜効果＞
本実施形態で作成した言語モデルを用いることで、従来技術よりも高い精度の言語モデルを構築することができる。例えば、言語モデルを音声認識に用いる場合には、従来技術よりも高い精度で音声認識を行うことが可能となり、音声認識システム利用者にとっての利便性が向上する。また、従来技術よりも少ない学習データで言語モデルを作成できるようになるため、音声認識システム開発時に必要となる学習データの量を削減することができ、また、言語モデルの学習にかかる時間を短くすることができる。これにより、音声認識システム開発時の学習データ作成コスト、言語モデル作成コストを低減することができる。
【００７５】
＜変形例＞
本実施形態では、教師出力確率分布計算部１０３において、温度Tを入力としているが、必ずしも温度Tを用いなくともよい。例えば、温度Tを用いずに従来技術１の方法により求めることができる。ただし、教師出力確率分布計算部１０３ではxjを求める際に生徒モデルではなく教師モデルを用いる。
本実施形態と第二実施形態または第三実施形態とを組合せてもよい。特徴量に代えて単語履歴、正解ユニット番号に代えて正解単語を用いて、言語モデルを学習すればよい。
＜第五実施形態のポイント＞
第四実施形態と異なる部分を中心に説明する。
第四実施形態によれば、参考文献１で示されているような修正モデル更新部を含む。
（参考文献１）T. Mikolov, S. Kombrink1, L. Burget, J. H. Cernocky and S. Khudanpur, "Extensions of recurrent neural network language model," in Proc. of ICASSP 2011.
修正モデル更新部は、単語とクラスに対して別々にクロスエントロピーを計算し、それぞれの損失関数が減少するように、パラメータを更新する。
RNN言語モデルにおいては、通常のRNN言語モデル（図９参照）からの計算量削減を目的としたクラスRNN言語モデルがよく使用される（図１０参照）。
通常のRNN言語モデルでは過去の単語履歴hから次の単語wtへの遷移確率P(wt|h)が出力層７３のユニットで直接与えられる。なお、入力層７１及び出力層７３(単語出力層)のユニット数は語彙サイズに対応し、入力層７１では前の単語に該当する単語のユニットの値を1、それ以外のユニットの値を0にセットする。なお、フィードバック層７４のユニット数は中間層７２と同一である。一方、クラスRNN言語モデルでは、各単語が属するクラスへの確率P(ct|h)を表すクラス出力層６５と、クラスから各単語への出力確率P(wt|ct)とを単語出力層６３とで独立して表現され、それらの確率の積によってP(wt|h)が近似的に表現される。
＜第五実施形態＞
図１１は第五実施形態に係るモデル学習装置の機能ブロック図を、図１２はその処理フローを示す。
【００７６】
モデル学習装置５００は、出力確率分布計算部１０１、クラス出力確率分布計算部５０１、修正モデル更新部５０２、教師出力確率分布計算部１０３、教師クラス出力確率分布計算部５０３、初期値設定部５０４とを含む。第四実施形態との主な相違点は、RNN言語モデルに代えてクラスRNN言語モデルを用いる点である。出力確率分布計算部１０１及び教師出力確率分布計算部１０３における処理（Ｓ２，Ｓ３）は第四実施形態と同様である。
＜初期値設定部５０４＞
入力：教師モデル
出力：生徒モデルの初期モデル
処理：学習済みの、ニューラルネットワークを含むクラスRNN言語モデル（教師モデル）のパラメータを用いて、そのクラスRNN言語モデル（教師モデル）と同様の構造のニューラルネットワークを含むクラスRNN言語モデル（生徒モデル）のパラメータを設定する（Ｓ５１）。例えば、入力された教師モデルのパラメータをコピーしたモデルを作成し、生徒モデルの初期モデルとして出力する。この処理は学習開始時に一度だけ行われる。
＜クラス出力確率分布計算部５０１＞
入力：学習用の単語履歴h、生徒モデル(学習中の生徒モデル、または、生徒モデルの初期モデル)
出力:クラス出力確率分布（クラス出力確率pC,2(m)の分布）
【００７７】
クラス出力確率分布計算部５０１は、学習用の単語履歴hと生徒モデルとを用いて、クラス出力層の各ユニットのクラス出力確率pC,2(m)の分布を含むクラス出力確率分布を計算する（Ｓ５２）。クラス出力確率pC,2(m)の計算の方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、参考文献１の方法により求めることができる。なお、クラス出力確率pC,2(m)が上述の各単語が属するクラスへの確率P(ct|h)に相当し、出力確率分布計算部１０１で計算する出力確率p2(j)が上述のクラスから各単語への出力確率P(wt|ct)に相当する。
＜教師クラス出力確率分布計算部５０３＞
入力：学習用の単語履歴h、教師モデル、温度T
出力:クラス出力確率分布（クラス出力確率pC,1(m)の分布）
【００７８】
教師クラス出力確率分布計算部５０３は、学習用の単語履歴hと教師モデルと温度Tとを用いて、クラス出力層の各ユニットのクラス出力確率pC,1(m)の分布を含むクラス出力確率分布を計算する（Ｓ５３）。クラス出力確率pC,1(m)の計算の方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、参考文献１の方法により求めることができる。なお、クラス出力確率pC,1(m)が上述の各単語が属するクラスへの確率P(ct|h)に相当し、教師出力確率分布計算部１０３で計算する出力確率p1(j)が上述のクラスから各単語への出力確率P(wt|ct)に相当する。
＜修正モデル更新部５０２＞
入力:初期モデル、出力確率p1(j)の出力確率分布、出力確率p2(j)の出力確率分布、クラス出力確率pC,1(m)の出力確率分布、クラス出力確率pC,2(m)の出力確率分布、正解単語wt、重みα
出力:学習中の言語モデル(生徒モデル)または学習済みの言語モデル
【００７９】
修正モデル更新部５０２は、出力確率p1(j)の出力確率分布から教師モデルにおける単語出力層のクロスエントロピーCW1を、クラス出力確率pC,1(m)の出力確率分布から教師モデルにおけるクラス出力層のクロスエントロピーCC1を、出力確率p2(j)の出力確率分布から生徒モデルにおける単語出力層のクロスエントロピーCW2を、クラス出力確率pC,2(m)の出力確率分布から生徒モデルにおけるクラス出力層のクロスエントロピーCC2を、それぞれ独立して求める。
さらに、修正モデル更新部５０２は、係数αを用いて、教師モデル、生徒モデルのクロスエントロピーを、次式により単語出力層、クラス出力層それぞれに求める。
CC = (1-α)CC2+αCC1    (13)
CW = (1-α)CW2+αCW1    (14)
最後に、修正モデル更新部５０２は、クロスエントロピー値CC、CWが減少するように生徒モデルのパラメータを更新する(Ｓ５４)。
所定の条件を満たすまで、上述のＳ２、Ｓ３，Ｓ５２，Ｓ５３，Ｓ５４を繰り返し（Ｓ５５）、所定の条件を満たす場合には、その時点の生徒モデルを学習済みの言語モデルとして出力する。
＜変形例＞
本実施形態では、教師出力確率分布計算部１０３、教師クラス出力確率分布計算部５０３において、温度Tを入力としているが、必ずしも温度Tを用いなくともよい。例えば、温度Tを用いずに従来技術１の方法により求めることができる。ただし、教師出力確率分布計算部１０３、教師クラス出力確率分布計算部５０３ではxjを求める際に生徒モデルではなく教師モデルを用いる。
＜第一変形例＞
第一〜第三実施形態ではDNN音響モデル、第四実施形態ではRNN言語モデル、第五実施形態ではクラスRNN言語モデルへの本発明の適用方法について説明したが、本発明はニューラルネットワークを用いた機械学習であれば、どのようなものにも転用可能である。
図３は第一変形例に係るモデル学習装置の機能ブロック図を、図４はその処理フローを示す。
【００８０】
モデル学習装置１００は、出力確率分布計算部１０１、修正モデル更新部１０２、教師出力確率分布計算部１０３、初期値設定部１０４とを含む。従来技術２との主な相違点は、初期値設定部１０４が追加されており、それに伴いベースモデル(教師モデル)と学習対象モデル(生徒モデル)が同じ構造のニューラルネットワークに限定されている点である。
【００８１】
＜初期値設定部１０４＞
入力：教師モデル
出力：生徒モデルの初期モデル
処理：学習済みの、ニューラルネットワークを含むモデル（教師モデル）のパラメータを用いて、そのモデル（教師モデル）と同様の構造のニューラルネットワークを含む学習対象モデル（生徒モデル）のパラメータを設定する（Ｓ１）。例えば、入力された教師モデルのパラメータをコピーしたモデルを作成し、生徒モデルの初期モデルとして出力する。この処理は学習開始時に一度だけ行われる。従来技術２は教師モデルとして巨大なモデルを、生徒モデルとして小さなモデルを想定しているのに対し、本実施形態の教師モデルと生徒モデルとは全く同じ構造となる。この初期値設定部１０４の処理により、従来技術１よりも少ない学習データで高精度なモデルが学習可能となる。
【００８２】
＜出力確率分布計算部１０１＞
入力：学習用の特徴量Q、生徒モデル(学習中の生徒モデル、または、生徒モデルの初期モデル)
出力:出力確率分布（出力確率p2(j)の分布）
【００８３】
出力確率分布計算部１０１は、学習用の学習対象モデルの処理対象とするデータの特徴量Qと生徒モデルとを用いて、出力層の各ユニットの出力確率p2(j)の分布を含む出力確率分布を計算する（Ｓ２）。出力確率p2(j)の計算の方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、従来技術１の方法により求めることができる。その場合、まず、特徴量Qを生徒モデルに入力し、出力層のユニットjのロジットxjを求める（次式参照）。
【数１６】
0006712642.tif 000017
である。ただし、logistic()はロジスティック関数を表し、bjはユニットjのバイアスであり、iは下位の階層のユニットのインデックスを表し、mijは下位の階層のユニットiからユニットjへの接続に対する重みを表す。学習用の特徴量Qは入力層のユニットjの入力を求める際に用いられ、生徒モデルはbjやmij等を含む。
【００８４】
次に、ロジットxjから出力確率p2(j)を求める（次式参照）
【数１７】
0006712642.tif 000018
【００８５】
＜教師出力確率分布計算部１０３＞
入力：学習用の特徴量Q、教師モデル、温度T
出力:出力確率分布（出力確率p1(j)の分布）
【００８６】
教師出力確率分布計算部１０３は、学習用の学習対象モデルの処理対象とするデータの特徴量Qと教師モデルと温度Tとを用いて、出力層の各ユニットの出力確率p1(j)の分布を含む出力確率分布を計算する（Ｓ３）。出力確率p1(j)の計算の方法は既存のいかなる技術を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、従来技術２の方法により求めることができる。その場合、出力確率p1(j)は次式で表される。
【数１８】
0006712642.tif 000019
なお、ロジットxjの計算方法は出力確率分布計算部１０１と同じだが、教師出力確率分布計算部１０３では生徒モデルではなく教師モデルを用いる。なお、温度Tは事前設定される0より大きい実数値のパラメータであり、Tを大きく設定すればするほど出力確率p1(j)の分布は一様分布(無情報)に近づき、後述する生徒モデルの更新への影響度合いは小さくなる。なお、温度Tのことを平滑化パラメータTともいう。
【００８７】
＜修正モデル更新部１０２＞
入力:初期モデル、出力確率p1(j)の出力確率分布、出力確率p2(j)の出力確率分布、正解に関する情報(例えば正解ユニット番号jL)、重みα
出力:学習中の学習対象モデル(生徒モデル)または学習済みの学習対象モデル
【００８８】
修正モデル更新部１０２は、(学習用の特徴量に対応する)学習用のデータに対応する正解に関する情報(正解を示す情報)と出力確率p2(j)とから損失関数C2を計算する(式(6)参照)。
【数１９】
0006712642.tif 000020
ただし、djはjと正解とが一致する場合には1となり、一致しない場合には0となる値である。
【００８９】
次に、修正モデル更新部１０２は、出力確率p1(j)の出力確率分布と出力確率p2(j)の出力確率分布とのクロスエントロピーC1(出力確率p1(j)と出力確率p2(j)の対数の積の総和)を計算する（式(7)参照）。
【数２０】
0006712642.tif 000021
【００９０】
さらに、修正モデル更新部１０２は、損失関数C2とクロスエントロピーC1との重み付き和Cを求める(式(8)参照)。
C=(1-α)C2+αC1 (8)
なお、重みαは、事前に設定される0以上1以下のパラメータである。
【００９１】
最後に、修正モデル更新部１０２は、重み付き和Cが減少するように生徒モデルのパラメータを更新する(Ｓ４)。
【００９２】
所定の条件を満たすまで、上述のＳ２〜Ｓ４を繰り返し（Ｓ５）、所定の条件を満たす場合には、その時点の生徒モデルを学習済みのモデルとして出力する。
【００９３】
所定の条件としては、例えば、(i)繰り返し回数が一定数(例えば数千万〜数億)を超えたとき、(ii)更新量が所定の値よりも小さくなったとき、例えば、(ii-a)全てのパラメータの更新量の総和が所定の値よりも小さくなったとき、(ii-b)各パラメータの全て、または、一部の更新量がそれぞれ設定された所定の値よりも小さくなったとき、等が考えられる。
【００９４】
＜効果＞
本実施形態で作成したモデルを用いることで、従来技術よりも高い精度でニューラルネットワークを構築することが可能となる。また、従来技術よりも少ない学習データでモデルを作成できるようになる、また、モデルの学習にかかる時間を短くすることができる。これにより、ニューラルネットワークの学習データ作成コスト、モデル作成コストを低減することができる。
本変形例では、教師出力確率分布計算部１０３において、温度Tを入力としているが、必ずしも温度Tを用いなくともよい。例えば、温度Tを用いずに従来技術１の方法により求めることができる。ただし、教師出力確率分布計算部１０３ではxjを求める際に生徒モデルではなく教師モデルを用いる。本変形例と第二、第三、第五実施形態とを組合せてもよい。
なお、第一〜第三実施形態では学習対象モデルを音響モデルとし、学習対象モデルの処理対象とするデータの特徴量を音響特徴量とし、正解に関する情報を正解ユニット番号としており、第四、第五実施形態では学習対象モデルを言語モデルとし、学習対象モデルの処理対象とするデータの特徴量を単語履歴(単語列)とし、正解に関する情報を正解単語としているため、第一〜第五実施形態は本変形例の一例と言える。
本発明は、誤差逆伝播アルゴリズムにより、教師データに対して損失関数を小さくするように学習するニューラルネットワークモデルであれば適用することができ、例えば、CNN(Convolutional Neural Networks)等にも適用することができる。ただし、教師データを用いないニューラルネットワークモデルの学習方法(教師無し学習)には適用することができない。
【００９５】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００９６】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００９７】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００９８】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【００９９】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【０１００】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006712642.tif 000022
【図２】
0006712642.tif 000023
【図３】
0006712642.tif 000024
【図４】
0006712642.tif 000025
【図５】
0006712642.tif 000026
【図６】
0006712642.tif 000027
【図７】
0006712642.tif 000028
【図８】
0006712642.tif 000029
【図９】
0006712642.tif 000030
【図１０】
0006712642.tif 000031
【図１１】
0006712642.tif 000032
【図１２】
0006712642.tif 000033