【文献】
SAK, Hasim, et al.,Learning Acoustic Frame Labeling for Speech Recognition with Recurrent Neural Networks,Proc. ICASSP 2015,IEEE,2015年 4月19日,pp.4280-4284
【文献】
KINGSBURY, Brian,Lattice-based Optimization of Sequence Classification Criteria for Neural-network Acoustic Modeling,Proc. ICASSP 2009,IEEE,2009年 4月19日,pp.3761-3764
【文献】
KANDA, Naoyuki, et al.,Maximum A Posteriori based Decoding for CTC Acoustic Models,Proc. INTERSPEECH 2016,ISCA,2016年 9月 8日,pp.1868-1872
(58)【調査した分野】(Int.Cl.,DB名)
音声の観測系列が与えられたときに、当該観測系列が任意のサブワード列である確率を算出するための、End-to-End型ニューラルネットワークに基づく音響モデルの学習を行う音響モデルの学習装置であって、
前記音響モデルの学習装置は、学習音声の観測系列と当該学習音声に対応する正解サブワード列との、アライメント済の組からなる学習データ、及び、単語列の出現頻度を記憶した単語レベルの言語モデルを記憶する、コンピュータ読取り可能な記憶手段に接続して用いられ、
各仮説に関する、単語−サブワード変換確率、前記言語モデルから得られる言語モデルスコア、及び前記End-to-End型ニューラルネットワークにより出力されるサブワード事後確率を用いて、前記学習音声の前記観測系列が与えられたときの、前記学習データの正解サブワード列の事後確率の前記学習データの全体に亘る和が最大となるように前記End-to-End型ニューラルネットワークを最適化する第1の最適化手段と、
学習音声の観測系列が与えられたときに、前記End-to-End型ニューラルネットワークと前記言語モデルとを用いて推定した単語列の仮説の精度の期待値が最大となるように、前記第1の最適化手段により最適化された前記End-to-End型ニューラルネットワークをさらに最適化する第2の最適化手段とを含む、音響モデルの学習装置。
前記判定手段は、前記音声認識手段による前記学習音声全体に亘る仮説の生成処理、前記第1の算出手段による前記認識精度の算出処理、前記第2の算出手段による前記和の算出処理、及び前記更新手段による前記音響モデルのパラメータセットの更新が、予め定められた回数だけ行われたときに、前記終了条件が充足されたと判定する手段を含む、請求項2又は請求項3に記載の音響モデルの学習装置。
前記判定手段は、前記End-to-End型ニューラルネットワークを規定するパラメータセットの、最新の処理時の値と前回の処理時の値との相違がしきい値未満となったことに応答して、前記終了条件が充足されたと判定する手段を含む、請求項2又は請求項3に記載の音響モデルの学習装置。
【背景技術】
【0002】
人間とコンピュータとのインターフェイスとして音声による入出力を用いる装置及びサービスが増えている。例えば携帯電話の操作にも音声による入出力が利用されている。音声による入出力では、その基盤をなす音声認識装置の認識精度はできるだけ高くする必要がある。
【0003】
音声認識として一般的な技術は統計的機械学習により得られたモデルを用いる。例えば音響モデルとしてはHMM(隠れマルコフモデル)が使用されることが多い。また、音声認識の過程で生成される文字列から、音素列がどの程度の確率で得られるかを算出するための単語発音辞書、及び、ある言語の単語列がどの程度の確率で出現するかを算出するための言語モデル等も使用される。
【0004】
従来のHMMを用いた音声認識装置における音声認識の基本的考え方について
図1を参照して説明する。従来は、単語列30(単語列W)が様々なノイズの影響を経て観測系列36として観測されると考え、最終的な観測系列36を与える尤度が最も高くなるような単語列を音声認識の結果として出力する。この過程では、単語列Wが生成される確率をP(W)で表す。その単語列Wから、中間生成物である発音列32を経てHMMの状態系列S(状態系列34)が生成される確率をP(S|W)とする。さらに状態系列Sから観測Xが得られる確率をP(X|S)で表す。
【0005】
音声認識の過程では、先頭から時刻Tまでの観測系列X
1:Tが与えられたときに、そのような観測系列を与える尤度が最大となるような単語列が音声認識の結果として出力される。すなわち、音声認識の結果の単語列
〜Wは次の式(1)により求められる。なお、数式において文字の直上に記されている記号「〜」は、明細書中では文字の直前に記載している。
【0006】
【数1】
【0007】
この式の右辺をベイズの式により変形すると次が得られる。
【0008】
【数2】
【0009】
さらにこの式の分子の第1項はHMMにより次のように求めることができる。
【0010】
【数3】
【0011】
この式で状態系列S
1:TはHMMの状態系列S
1,…,S
Tを示す。式(3)の右辺の第1項はHMMの出力確率を示す。式(1)〜式(3)より、音声認識の結果の単語列~Wは次の式で求められる。
【0012】
【数4】
【0013】
HMMでは、時刻tにおける観測値x
tは状態s
tにしか依存しない。したがって、式(4)における、HMMの出力確率P(X
1:T|S
1:T)は次の式によって算出できる。
【0014】
【数5】
【0015】
確率P(x
t|s
t)は、ガウス混合モデル(GMM)により算出される。
【0016】
式(4)の他の項のうち、P(S
1:T|W)はHMMの状態遷移確率と単語の発音確率との積により算出され、P(W)は言語モデルにより算出される。分母のP(X
1:T)は各仮説について共通する値であり、したがってarg max演算の実行時には無視できる。
【0017】
最近、HMMにおける出力確率を、GMMではなくディープニューラルネットワーク(DNN)により算出するという、DNN-HMMハイブリッド方式と呼ばれるフレームワークについて研究がされている。DNN-HMMハイブリッド方式により、GMMを用いた音響モデルより高い精度が達成され、注目されている。さらに、DNN-HMMハイブリッド方式が優れた結果をもたらしていることから、DNNに替えて 畳み込みニューラルネットワーク(CNN)、リカレント型ニューラルネットワーク(RNN)、又はロングショートタームメモリネットワーク(LSTM)等のニューラルネットワーク(NN)を用いる方式が提案されている。これら方式により音声認識の精度がより高くなることが期待できる。
【0018】
しかし、このようなNN-HMMハイブリッド方式では、NNの出力が事後確率P(S
t|X
t)を表すため、そのままでは、出力確率P(X
t|S
t)を用いるHMMを用いた従来の枠組みに適合しない。この問題を解決するため、DNNの出力する事後確率P(S
t|X
t)に対してベイズの法則を適用して無理に式(5)に適合するよう出力確率P(X
t|S
t)を用いる形にNNの出力を変形して用いる必要がある。このような変形を用いないような音声認識方式が実現できれば、さらなる精度の向上が期待できる。
【発明の概要】
【発明が解決しようとする課題】
【0020】
最近、音声認識のための音響モデルとして、End-to-End型のNNを用いることが提案されている(非特許文献1)。End-to-End型NNは、観測(音声特徴量)系列Xに対するサブワード列(発音列、発音記号列、音素列、又は文字列等)sの事後確率P(s|X)を、HMM等を介さずに直接表現する。したがって、DNN−HMMハイブリッドのような無理な変形を行うことなく音声認識に適用できる可能性がある。End-to-End型NNについては実施の形態に関連して後述するが、ここでは従来の方式の問題点について述べるために、End-to-End型NNで一般に利用されるEnd-to-End型RNNによる音声認識の考え方を説明する。なお、本発明はEnd-to-End型NN全般に対して適用可能なものであり、必ずしもRNNに限定されるものではない。
【0021】
RNNは、入力層側から出力層側への一方向のノード間の結合だけではなく、出力側の層から、隣接する入力側の層へのノード間の結合、同じ層内のノード間の結合、及び自己帰還結合等を含む構造を持つ。この構造のため、RNNは時間に依存する情報を表すことができるという、通常のフィードフォワード型のニューラルネットワークにはない性格を備えている。音声は、時間に依存する情報としては典型的である。したがってRNNは音響モデルに適していると考えられる。
【0022】
End-to-End型RNNの出力するラベルは、例えば音素又は音節等の任意のサブワード、文字又はHMMの状態等である。End-to-End型RNNを音響モデルに使用すると、HMMを用いた場合と比較して、NNの出力を無理に変形する必要がないので、認識精度の向上が期待できる。
【0023】
End-to-End型RNNは、前述したとおり、入力される観測系列Xからサブワード列sへの直接的なマッピングを学習する。End-to-End型RNNの代表例はCTCと呼ばれるモデルである。観測系列Xは通常サブワード列sよりも遥かに長いので、CTCではその長さの相違を吸収するためにRNNの出力に空ラベルφを追加する。すなわち、出力層に空ラベルφに対応するノードを設ける。この結果、RNNの出力にはフレーム単位のサブワード列c={c
1,...,c
T}(空ラベルφを含む。)が得られる。このサブワード列cをマッピング関数Φと呼ばれる関数によりフレーム数に依存しないサブワード列sに変換する。マッピング関数Φは、フレーム単位のサブワード列cから空ラベルφを削除し、さらにラベルの繰返しを1出力とみなすことでフレーム数に依存しないサブワード列sを出力する。マッピング関数Φを用いることで、以下のように観測系列Xがサブワード列sである確率P(s|X)を定式化できる。
【0024】
【数6】
【0025】
ここで、y
tctは、時刻tにおけるRNNの出力ラベルc
tに対する出力スコアである。Φ
−1はマッピング関数Φの逆関数である。すなわち、Φ
−1(s)は、マッピング関数Φによりサブワード列sにマッピングされ得る全ての音素列cの集合を表す。
【0026】
End-to-End型NNは観測系列Xがサブワード列sを表す確率P(s|X)をニューラルネットワークで直接学習している点が特徴である。CTC以外の方式として、非特許文献2ではAttention-based Recurrent Sequence Generatorと呼ばれるモデルで表現している。
【0027】
End-to-End型NNは、HMMと異なり、観測系列Xがサブワード列sを表す確率P(s|X)を直接学習しているため、従来のHMMを用いたデコード方式を採用できない。このNNはまた、音響モデルと言語モデルとの双方の性格を持つ。そのために当初は言語モデルを用いずにNNのみを用いてデコードを行うことが試みられた。しかし、独立した言語モデルなしのデコードでは最良の結果が得られないことが判明し、最近ではEnd-to-End型NNに加えて言語モデルを用いたものが主流である。しかし、この場合には両者をどのように組み合わせるかが問題となる。さらに、End-to-End型のNNに基づく音響モデルは、通常はサブワード単位(文字、音素等)での学習が行われるため、出力されるスコアもサブワード単位である。言語モデルのスコアは単語レベルであるため、この点でも両者を組み合わせることが難しいという問題がある。
【0028】
従来は、両者のスコアを組み合わせる手法として、次式に示すような両スコアの単純な内挿により単語列
〜Wを計算していた。
【0029】
【数7】
【0030】
関数Ψは、単語列Wを全ての可能なサブワード列sの集合に変換する関数である。非特許文献1では、各フレームにおいて事後確率を事前確率P(c
t)で除算することを提案している。
【0031】
しかし、このような内挿方式で計算したスコアを利用することには理論的根拠がなく、十分に高い認識性能も得られていない。NNを用いた音響モデルにおいて、明確な理論的根拠に基づいてNNを学習することにより、音声認識の精度をさらに高める必要がある。
【0032】
それ故に本発明の目的は、NNの特性を活かした音響モデルにおいて、音声認識精度を高めることができる音響モデルの学習装置を提供することである。
【課題を解決するための手段】
【0033】
本発明の第1の実施の形態に係る音響モデルの学習装置は、音声の観測系列が与えられたときに、当該観測系列が任意のサブワード列である確率を算出するための、End-to-End型ニューラルネットワークに基づく音響モデルの学習を行う。この音響モデルの学習装置は、学習音声の観測系列と、当該学習音声に対応する正解サブワード列との、アライメント済の組からなる学習データ、及び、単語列の出現頻度を記憶した単語モデルを記憶する、コンピュータ読取り可能な記憶手段に接続して用いられる。この学習装置は、学習音声の観測系列が与えられたときの、学習データの正解サブワード列の事後確率の学習データの全体に亘る和が最大となるようにEnd-to-End型ニューラルネットワークを最適化する第1の最適化手段と、評価用データの観測系列が与えられたときに、End-to-End型ニューラルネットワークと言語モデルとを用いて推定した単語列の仮説の精度の期待値が最大となるように、End-to-End型ニューラルネットワークをさらに最適化する第2の最適化手段とを含む。
好ましくは、第2の最適化手段は、学習音声の全体に亘り、End-to-End型ニューラルネットワーク及び言語モデルを用いて、観測系列に対する音声認識を行うことにより、単語列の仮説の生成を行う音声認識手段と、学習音声の全体に亘り、当該仮説及び学習データの正解サブワード列に基づいて、仮説を構成する単語列に対する認識精度を算出する第1の算出手段と、学習音声の全体に亘り、仮説生成の際の言語モデルにより算出された仮説の事後確率と、当該仮説を構成する単語列の認識精度との積の和を算出することにより、期待値を算出する第2の算出手段と、第2の算出手段により算出される期待値が増加するように、音響モデルのパラメータセットを更新する更新手段と、更新手段による音響モデルのパラメータセットの更新が終了したことに応答して、終了条件が充足されているか否かに関する判定処理を実行する判定手段と、判定手段による判定に応答して、End-to-End型ニューラルネットワークの学習を終了する第1の処理と、学習音声を用いた仮説の生成処理、認識精度の算出、期待値の算出、パラメータセットの更新、及び判定処理を再度行うよう、音声認識手段、第1の算出手段、第2の算出手段、更新手段、及び判定手段を制御する第2の処理とを選択的に実行する制御手段とを含む。
より好ましくは、観測系列は学習音声を表す音声信号のフレーム単位で準備されており、第1の算出手段は、End-to-End型ニューラルネットワークの出力する仮説の単語列の各サブワードが、入力された観測系列と組になったサブワード列の各サブワードとフレーム単位で一致している数を算出するためのサブワード一致数算出手段を含む。
さらに好ましくは、判定手段は、音声認識手段による学習音声全体に亘る仮説の生成処理、第1の算出手段による認識精度の算出処理、及び、第2の算出手段による和の算出処理が、予め定められた回数だけ行われたときに、終了条件が充足されたと判定する手段を含む。
判定手段は、End-to-End型ニューラルネットワークを規定するパラメータセットの前回の処理時との差がしきい値以下となったことに応答して、終了条件が充足されたと判定する手段を含んでもよい。
本発明の第2の局面に係るコンピュータプログラムは、上記したいずれかの音響モデルの学習装置の各手段としてコンピュータを動作させるよう機能する。
【発明を実施するための形態】
【0035】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0036】
最初に、従来の技術で使用されていたDNNとRNNとの相違について説明する。
図2を参照して、DNN70は、入力層72及び出力層78と、入力層72と出力層78との間に設けられた複数の隠れ層74及び76とを含む。この例では隠れ層は2層のみ示したが、隠れ層の数は2には限定されない。各層は複数個のノードを持つ。
図2では各層におけるノード数はいずれも5個で同じであるが、これらの数は通常は様々である。隣り合うノード間は互いに結合されている。ただし、データは入力層側から出力層側へと一方向にしか流れない。各結合には重み及びバイアスが割り当てられている。これら重み及びバイアスは、学習データを用いた誤差逆伝搬法により学習データから学習される。
【0037】
DNN70においては、時刻tにおいて入力層72に時刻tにおける音声特徴量X
tが与えられると、出力層78からHMMの状態予測値S
tが出力される。音響モデルの場合、出力層78のノード数は、対象となる言語の音素の数と一致するよう設計されることが多く、その場合には、出力層の各ノードの出力は、入力された音声特徴量がそのノードの表す音素である確率を示す。したがって、出力層78の各ノードの出力する状態予測値を合計すると1になる。
【0038】
図2に示すDNNにより求められるものは、P(S
t|X
t)である。すなわち、時刻tに音声特徴量X
tを観測したときの、HMMの状態S
tの確率である。この例では、HMMの状態S
tは音素に対応する。これを前記した式(5)と比較すると、DNNの場合、その出力をそのまま式(5)に適用(代入)できないことが分かる。そのため、従来は、以下に示すようにベイズの法則を用いてDNNの出力をP(X
t|S
t)に変換している。
【0040】
式(10)において、P(x
t)は各HMMの状態に共通であり、したがってarg max演算では無視できる。P(s
t)はアライメントされた学習データにおいて各状態の数を数えることで推定できる。結局、DNN-HMMハイブリッド方式の場合、DNNの出力P(S
t|X
t)を確率P(S
t)で割ることにより、従来のHMMを用いた枠組みの中でDNNを用いて認識スコアを計算していることになる。
【0041】
一方、End-to-End型RNNの構成の例を
図3に示す。
図3は、時刻t-1におけるRNN100(t-1)と、時刻tにおけるRNN100(t)と、時刻t+1におけるRNN(t+1)の間の関係を示す。この例では、RNN100(t)の隠れ層内の各ノードは、入力層の各ノードだけではなく、RNN100(t-1)の自分自身の出力を受けている。すなわち、RNN100は入力される音声特徴量の時系列に対する出力を生成できる。さらに、End-to-End型RNNのうち、CTCでは、RNNの出力層に、ラベル(例えば音素)に対応するノードに加えて空ラベルφに対応するノード(
図3においては右端に示す)を含む。すなわち出力層のノード数はラベル数+1である。
【0042】
図3に示すようなEnd-to-End型RNNは、音声(音声特徴量)Xが発音列sである確率P(s|X)を直接モデル化する。したがってこうしたRNNを用いる音声認識はHMMには依存しない。RNNの出力は前掲の式(6)及び式(7)のように定式化される。
【0043】
End-to-End型RNNの特徴を活かして精度の高い音声認識を行うためには、DNN-HMMハイブリッド方式以外の枠組みを用いることが必要である。
図4に、そのような新しい枠組みについて示す。本実施の形態はこの枠組に沿って音声認識を行う装置に関する。本実施の形態では、End-to-End型RNNとしてCTCを採用し、またサブワードの単位として発音系列を採用している。End-to-End型RNNの特性を活かして音声認識を行う新しい枠組みに基づいてCTCを用いたデコード方式を改良し、それにあわせてCTC自身の学習方法を改善する。
【0044】
図4を参照して、本実施の形態では、観測系列36からRNNを用いて空ラベルφを含むラベル列からなる複数の音素列110の確率を求める。この確率は前掲の式(7)のようにモデル化される。これら音素列110にマッピング関数Φを適用して中間生成物である複数の発音列(サブワード列)112を得る。例えばラベル列「AAφφBφCCφ」及びラベル列「φAφBBφCφ」はマッピング関数Φによりいずれもサブワード列「ABC」にマッピングされる。このマッピング関数により、観測系列Xが与えられたときの発音列sの確率は前掲の式(6)のようにモデル化される。ここでさらに発音列(サブワード列)112から得られる複数の単語列30の確率を求める。この確率はP(W)として単語レベルの言語モデルによりモデル化される。最終的に確率が最大となる単語列30が音声認識結果として出力される。以上の関係から、以下の式によって観測系列Xに対する音声認識結果の単語列~Wが得られる。
【0046】
この式は以下のように変形・近似できる。
【0048】
式(12)において、P(s|X)はCTCによる音響モデルのスコア(事後確率)を表す。αはそのスケーリングファクタである。発音列s及び観測系列Xは式(9)の制約を満たす必要がある。式(12)の近似にはビタビ・アルゴリズムを用いる。なお、RNNの学習時には、式(12)の第2式にしたがってP(W|s)を全てのsにわたって計算するが、デコード時には第3式のように近似することが多い。
【0049】
式(12)中で、P(W|s)は以下の式(13)により計算できる。
【0051】
式(13)のうち、P(s)はサブワード単位の言語モデル確率であり、βはそのスケーリングファクタである。P(s)は従来の言語モデルと同様に計算できる。すなわち、Nグラム言語モデルでも、ニューラルネットワークでも実現できる。ただし、サブワード単位の言語モデルはサブワードコーパスで学習する必要がある。サブワードコーパスは、通常のテキストコーパスに対して単語をサブワードに変換する方法で容易に実現できる。
【0052】
式(13)の分子の第1項、P(s|W)は単語‐サブワード変換確率を示す。単語からサブワードへの変換は、多くの場合、1対1変換(例えば単語を各文字に分解すること)である。そうした場合には、P(s|W)は1になり、式(13)は次の式(14)のように簡略化される。
【0054】
以上をまとめると、以下のようになる。式(12)のP(W|s)に式(13)の右辺を代入すると以下の式(15)が得られる。この式(15)に従って仮説のスコアを計算し、最もよいスコアの仮説を音声認識結果として選択する。
【0056】
結局、RNNを用いる従来法では、式(6)〜式(9)に示されるように、RNNの出力する事後確率と言語モデル確率とを内挿して認識スコアを算出している。これに対し、本実施の形態に係る手法では、式(15)に示すように、ある仮説に関する単語‐サブワード変換確率P(s|W)、従来と同様の単語レベルの言語モデルから得られる単語言語モデルスコアP(W)、及びRNNの出力するサブワード事後確率P(s|X)
αの積を、サブワードレベルの言語モデルから得られる確率P(s)
βで割ることにより仮説のスコアを算出する。各仮説についてこのスコアを算出し、最もよいスコアが得られる仮説を音声認識結果として選択する。RNNの出力する事後確率を最大化するという意味で、この方式をmaximum a posteriori(MAP)方式デコーディングと呼ぶ。
【0057】
なお、上記式におけるCTC-AMの学習においては、以下の式により表される目標関数F
CTC(θ)(θはCTC-AMを構成する各ノードの入出力の重み行列及びバイアス値を含むパラメータセット)を最大化するようなパラメータセットθを求める。
【0058】
【数14】
この式において、s
uはu番目の学習音声に対する正解サブワード列、X
uはu番目の学習音声、Pr
θはパラメータセットθのもとでCTC-AMが出力するスコアを表す。この条件でCTC-AMの出力におけるsoftmax関数の活性化関数値は以下の式により計算される。
【0059】
【数15】
上式は、フォワード‐バックワードアルゴリズムを用いて効率的に計算できることが知られており、NNパラメータセットの誤差逆伝搬法による学習に用いられている。
【0060】
ところで、MAP方式デコーディングに関してこのF
CTCを最大化するということは、CTC-AMそれ自体を最適化しているということができる。しかし、実際にはCTC-AMを言語モデルと組み合わせて音声をデコードするので、CTC-AMを最適化したからといって単語認識率が最大化するとは限らない。そこで、本実施の形態では、F
CTCを最大化する学習を行った後、さらに以下の式により示される目標関数F
MBRを最大化するようにCTC-AMの学習を行う。
【0063】
F
MBRをy
tt(c)で微分することにより次式(21)を得る。
【数18】
【0064】
この結果、最終層のsoftmax層の活性化関数値a
ut(c)に関する誤差信号は以下のように計算される。
【数19】
式(22)はフォワード・バックワードアルゴリズムを用いて効率的に計算できる。
【0065】
図5を参照して、本実施の形態に係る方法により学習したCTC-AMを用いる音声認識装置280について説明する。音声認識装置280は、入力音声282に対する音声認識を行って、音声認識テキスト284として出力する機能を持つ。音声認識装置280は、入力音声282に対してアナログ/デジタル(A/D)変換を行ってデジタル信号として出力するA/D変換回路300と、A/D変換回路300の出力するデジタル化された音声データを、所定長及び所定シフト量で一部重複するようなウィンドウを用いてフレーム化するフレーム化処理部302と、フレーム化処理部302の出力する各フレームに対して所定の信号処理を行うことにより、そのフレームの音声特徴量を抽出し特徴量ベクトルを出力する特徴量抽出部304とを含む。各フレーム及び特徴量ベクトルには、入力音声282の例えば先頭に対する相対時刻等の情報が付されている。音声特徴量としては、MFCC(Mel-Frequency Cepstrum Coefficient:メル周波数ケプストラム係数)、その一次微分、二次微分、及びパワー等が用いられるが、フィルタバンクの出力をそのまま特徴量として用いても良い。時系列で得られる特徴量ベクトルにより観測系列が構成される。
【0066】
音声認識装置280はさらに、特徴量抽出部304が出力する特徴量ベクトルを一時記憶するための特徴量記憶部306と、特徴量記憶部306に記憶された特徴量ベクトルを入力として、各時刻における各フレームがある音素に対応する事後確率を音素ごとに示すベクトルを出力する、CTCに基づくEnd-to-End型RNN(CTC-AM)からなる音響モデル308と、音響モデル308の出力するベクトルを用いて、入力音声282に対応する音声認識テキスト284として最もスコア(確率)の高い単語列を出力するためのデコーダ310とを含む。音響モデル308が出力するベクトルの要素は、そのフレームが各音素である確率を音素ごとに示す値である。時系列で得られるこのベクトルから、フレームごとに各音素を選択して事後確率付で連結し、各音素を対応するラベルで表すことにより、ラベル列候補がラティス形式で得られる。このラベル列候補には空ラベルφも含まれることがある。各ラベル列候補の事後確率は、そのラベル列候補を構成するラティスの各パス上の音素の事後確率から算出できる。
【0067】
デコーダ310は、音響モデルにより算出されたラベル列候補の事後確率を用いて、入力された観測系列が表しうる複数の仮説を、それらの確率とともに算出して認識スコア付の仮説として出力し、認識スコアに基づき、最もスコア(確率)の高い仮説を音声認識テキスト284として出力する。
【0068】
本実施の形態に係る音響モデル308を構成するRNNの入力層のノードの数は、入力ベクトル(観測ベクトル)の要素の数と一致する。RNNの出力層のノードの数は、対象となる言語のサブワードの数に1を加算したものと一致する。すなわち、出力層のノードは、HMMによる音響モデルの各サブワード(例えば音素)と、空ラベルφとを表す。出力層の各ノードには、ある時刻で入力された音声が、そのノードの表すサブワード(空ラベルを含む)である確率が出力される。したがって音響モデル308の出力は、その時刻での入力音声が、各ノードの表すサブワードである確率を要素とするベクトルである。このベクトルの要素の値を合計すると1になる。
【0069】
デコーダ310は、音響モデル308が出力するベクトルの各要素について、単語列Wの候補の確率計算をし、確率の低い枝については適宜枝刈りを行いながらラティスを生成して、仮説と確率計算を含めた認識スコアの計算をする。デコーダ310が、最終的に得られる単語列の中で最も認識スコアが高い(生起確率の高い)単語列を音声認識テキスト284として出力する。この際、デコーダ310は音響モデル308の出力を直接使いながら認識スコアを計算する。従来のDNN-HMMフレームワークのようにHMMの出力形式にあわせてRNNの出力を変換することが不要であり、認識の効率を高めることができる。また、End-to-End型RNNから得られた事後確率P(s|X)と、確率P(W|s)とを組み合わせて単語事後確率P(W|X)を算出することで、単語事後確率P(W|X)が最大となる仮説を探索する。End-to-end型RNNを用いる従来の方式のように理論的根拠のない内挿スコアを用いるものと異なり、理論的にも認識の精度を高めることが可能となる。またCTC-AMの学習方法として前述したように言語モデルと組み合わせて音声認識を行ったときに最も誤差が少なくなるように(F
MBRが最大となるように)パラメータセットを最適化する方法を採用している。したがって、F
CTCを最大化するような方式と比較して、最終的な認識精度をさらに高めることができる。
【0070】
図6を参照して、本発明に係るCTC-AM364の学習を行うための学習システム350 について説明する。学習システム350は、CTC-AM364の学習のためのデータを記憶する学習データ記憶部360と、学習データ記憶部360に記憶された学習データを用い、学習音声の観測系列が与えられたときの、学習データの正解サブワード列の事後確率の、学習データの全体に亘る和である式(16)に示すF
CTCを最大化するようにCTC-AM364の学習(最適化)を行うための学習処理部362と、学習処理部362による学習が済んだCTC-AM364に対し、学習データ記憶部360に記憶された学習データを用い、学習音声の観測系列が与えられたときに、CTC-AM364と言語モデルとを用いて推定した単語列の仮説の事後確率と、当該単語列の仮説を構成する単語の認識精度との積の、学習データ全体に亘る和からなる単語の認識精度の期待値である式(18)に示したF
MBRを最大化することにより、CTC-AM364をさらに最適化するよう、上記したMBR学習を行うためのMBR学習処理部366と、MBR学習処理部366がCTC-AM364による学習を行う際に参照する単語言語モデル368、音素言語モデル370、及び単語発音辞書372とを含む。
【0071】
学習システム350はさらに、CTC-AM364による音声認識による仮説の精度を評価するための評価データを記憶する評価データ記憶部376と、MBR学習処理部366によるCTC-AM364の学習処理が1回終了するごとに、評価データ記憶部376に記憶された評価データ、単語言語モデル368、音素言語モデル370、及び単語発音辞書372を用いて、CTC-AM364を用いて音声認識を行い、その仮説に基づいて、仮説を構成する単語に対する認識精度と、仮説生成の際の言語モデルにより算出された仮説の事後確率とを算出し、さらに学習音声全体に亘る、当該仮説を構成する単語の認識精度との積の和を算出することにより音声認識精度の期待値である目標関数F
MBRの値を評価するための精度評価部374と、精度評価部374により評価された精度の期待値に基づいて、MBR学習処理部366によるMBR学習の終了条件が充足されたか否かを判定し、その結果にしたがってMBR学習処理部366を制御するための学習・評価制御部378とを含む。
【0072】
図7に、学習システム350によるCTC-AM364の学習を実現するプログラムの制御構造をフローチャート形式で示す。
図7を参照して、このプログラムは、式(17)に基づいて、学習データ記憶部360に記憶された学習データを用いてF
CTCの値を最大化するように(F
CTCの値が増加するように)CTC-AM364のパラメータセットを更新することによる学習を行うステップ400と、ステップ400で学習が終了したCTC-AM364の精度を評価するステップ402と、MBR学習の終了判定のために、直前に評価されたCTC-AM364の精度を図示しないメモリ等の記憶装置に記憶するステップ404と、CTC-AM364に対して式(18)に示す目標関数F
MBRの値を最大化するよう(F
MBRの値が増加するよう)、CTC-AM364のパラメータセットを更新することによりMBR学習を行うステップ406と、評価データを用いて、ステップ406によりMBR学習が終了したCTC-AM364の精度を評価するステップ408と、ステップ408で得られた評価結果をステップ404で記憶された前回の評価値と比較し、その差が所定のしきい値以下か否かに応答してCTC-AM364の学習を終了する処理と、制御をステップ404に戻してMBR学習を繰り返す処理とを選択的に実行するステップ410とを含む。すなわち、本実施の形態では、MBR学習の結果得られたCTC-AM364による音声認識精度が、前回の音声認識精度からわずかしか向上しなかったときに学習を終了する。もちろん学習の終了条件はこれに限らない。例えば所定回数だけMBR学習が終了した時点で学習を終了させるようにしても良い。
【0073】
図8に、
図6のステップ400で実行されるCTC-AMの初期化を行うプログラムの制御構造をフローチャート形式で示す。
図8を参照して、このプログラムは、CTC-AM364を初期化するステップ440を含む。このステップでは、例えばCTC-AM364の各パラメータを、正規分布に従った乱数で初期化する。
【0074】
学習データは、複数のバッチに分割されている。以下の処理では、バッチごとにCTC-AM364の学習を行う。すなわち、このプログラムはさらに、全てのバッチについて、処理443を実行するステップ442と、ステップ442が終了した後に、学習後のCTC-AM364の評価を行うステップ448と、ステップ448での評価結果が終了条件を充足しているか否かを判定するステップ450とを含む。ステップ450での判定が肯定ならこのプログラムの実行は終了する。さもなければ制御はステップ442に戻る。
【0075】
処理443は、バッチ内の各文について処理446を実行するステップ444を含む。
【0076】
処理446は、まずCTC-AM364を用いる音声認識装置にその文の音声データを入力して音素列を推定するステップ460と、ステップ460で推定された音素列と学習音声に付された音素ラベル列とを比較して誤差を算出するステップ462と、ステップ462で算出された誤差を用いて、式(18)に示す目標関数F
MBRの値が大きくなるよう、誤差逆伝播方式によりCTC-AM364のパラメータセットを修正するステップ464とを含む。
【0077】
[動作]
上記した学習システム350によるCTC-AM364の学習は以下のように行われる。まず、学習音声とその書き起こしとの音素列である正解サブワード列を含む学習データが学習データ記憶部360に記憶される。また、同様に、音声とその書き起こしとを含む評価データが評価データ記憶部376に記憶される。単語言語モデル368、音素言語モデル370及び単語発音辞書372については、既に存在するものを用いても良いし、学習データ記憶部360から作成するようにしてもよい。学習データ記憶部360に記憶された学習データはいくつかのバッチに分割される。
【0078】
まず学習処理部362が学習データ記憶部360に記憶された学習データによりCTC-AM364の学習を行う(
図7のステップ400)。具体的には、
図8を参照して、最初にCTC-AM364の各パラメータを、正規分布に従った乱数で初期化する。続いて、各バッチに対して以下の処理を行う(
図8のステップ442)。
【0079】
まず、処理中のバッチ中のある文の音声について、CTC-AM364による音声認識でその音素ラベル列の推定を行う(ステップ460)。続いて、その推定結果とその音声の書き起こしとを用いて誤差を算出する(ステップ462)。さらに、この誤差を用いて目標関数F
CTCの値が大きくなるようにCTC-AM364のパラメータセットを修正する(ステップ464)。
【0080】
以上の処理446を、処理中のバッチ中の全ての文について実行する。あるバッチに対する処理が終わると、次のバッチに対して同じ処理を繰返す。こうして、学習データの全てのバッチについてステップ444を終了すると、ステップ448でCTC-AM364の評価を行う(これを1エポックという)。この評価は、
図6に示す精度評価部374ではなく、学習処理部362が行うもので、図示しない評価データを学習処理部362によって音声認識した結果の誤差を評価データ全体にわたり総合してその精度を計算することにより得る。本実施の形態では、この精度と、前回の処理で得られた精度との差がしきい値以上であれば、再度、学習データ全体を使用してCTC-AM364に対する同じ学習処理を繰返す。精度の差がしきい値未満になったところでCTC-AM364の初期学習を終了する。
【0081】
CTC-AM364の初期学習が終了すると、MBR学習処理部366がCTC-AM364に対するMBR学習を行う(
図7のステップ406)。本実施の形態では、この学習にも学習データ記憶部360に記憶された学習データを用いる。
【0082】
具体的には、
図9を参照して、学習データ記憶部360に含まれる各学習音声について、処理482を実行する(ステップ480)。処理482では、CTC-AM364を音響モデルとし、単語言語モデル368、音素言語モデル370、及び単語発音辞書372を用いて処理対象の音声データに対する音声認識を行い、音声認識仮説からなるラティスを作成する(ステップ510)。このラティス内で、前述した式(19)にしたがって誤差計算を行う(ステップ512)。この誤差を用い、CTC-AM364に対し、目標関数F
MBRの値が大きくなるようにCTC-AM364のパラメータセットを誤差逆伝播法により修正する(ステップ514)。この処理を全ての音声データに対して実行する(これも、学習処理部362による処理と同様、1エポックという。)。1エポックが終了すると、ステップ484でCTC-AM364の精度の評価を行う。この評価は
図6の精度評価部374が評価データ記憶部376に記憶された評価データと、単語言語モデル368、音素言語モデル370、及び単語発音辞書372を用いて行う。CTC-AM364の評価自体は学習処理部362が行うものと同様である。
【0083】
続いてステップ486でMBR学習の終了条件が充足されているか否かが(
図6の学習・評価制御部378により)判定される。具体的には、ステップ484で評価された精度と、前回の精度との差がしきい値未満か否かがステップ486において判定される。判定が肯定であればCTC-AM364に対するMBR学習は終了である。判定が否定であれば、すなわち今回の精度と前回の精度との差がしきい値以上であれば、制御はステップ480に戻り、もう一度、学習データ全体を用いてMBR学習処理部366によるMBR学習がCTC-AM364に対して実行される。
【0084】
このようにして学習が終わったCTC-AM364を用いて音声認識を行う場合には、
図5の音響モデル308にこのCTC-AM364を用いるようにすればよい。
【0085】
[実験結果]
図10及び
図11に、上記した本発明の一実施例による音声認識精度と、従来の内挿方式による音声認識精度との、MRB学習の繰返しに伴う変化に関する実験結果を示す。
【0086】
実験では、学習コーパスとしてLDC93S6B及びLDC94S13として知られるウォール・ストリート・ジャーナル(WSJ)コーパスを用いた。学習音声は77.5時間分、検証データは3.8時間分であった。CTC-AMとしては、音素に基づく双方向LSTM(BLSTM)からなる、4層の隠れ層を持つものを用いた。各隠れ層は320ノードを持ち、平均及び分散がともに正規化された120次元のフィルタバンク特徴量(40次元のフィルタバンク特徴量+Δ+ΔΔ)により学習した。初期学習は学習率=0.00004及びモーメンタムパラメータ=0.95で行った。CTC-BLSTM-AMの学習後、この音響モデルに基づいてラティスを生成した。このとき、学習データ内の書き起こしデータを用いてスケーリングファクタα=1で学習した1グラム単語言語モデルを用いた。また、MAP方式によるラティスを生成する際には、学習音声の書き起こしを音素に変換したものにより学習したバイグラム音素言語モデルを、β=0.5として用いた(式(13)(14)(15)参照)。MBR学習は学習率=0.000001及びモーメンタムパラメータ=0.9に固定して5エポック行った。
【0087】
評価では、単語言語モデルとしてはWSJ標準のプルーンドトライグラム言語モデル(pruned trigram LM)を用いた。MAP方式によるデコーディングにおいては、バイグラム音素言語モデルを用いた。デコード時、パラメータ(スケーリングファクタα及びβ、並びに単語挿入ペナルティ)はWSJコーパス中の「dev93」セットにより調整し、最もよいパラメータをWSJコーパス中の「eval92」セットのデコードに用いた。
【0088】
図10及び
図11において、横軸はMBR学習の繰返し回数を示し、縦軸は各繰返し終了時のCTC-AMによる音声認識結果の単語誤り率(WER)を示す。
図10はdev93に対するものであり、
図11はeval92に対するものである。
【0089】
図10において、グラフ530は従来の内挿方式によるグラフであり、グラフ532は上記実施の形態によるものである。同様に、
図11において、グラフ540は従来の内挿方式によるものであり、グラフ542は上記実施の形態によるものである。
【0090】
図10及び
図11において、MBR繰返し回数=0でのMAP方式の精度は、F
CTCによる学習のみ行ったCTC-AMによる精度を表す。この時点でMAP方式によるCTCの単語誤り率(7.5%)が内挿方式のもの(8.5%)と比較してかなり低いことが分かる。MBR学習を行うと、両者とも単語誤り率は改善されていく。しかしこの場合も、一貫してMAP方式の単語誤り率が内挿方式の単語誤り率より低いという結果となった。
【0091】
すなわち、内挿方式のものよりも式(15)に従った方式の方の精度が高いこと、さらにそのCTC-AMに対してMBR学習を行うことによりCTC-AMの精度はさらに高くなること、が確認できた。
【0092】
[コンピュータによる実現]
本発明の実施の形態に係る音声認識装置280及び学習システム350は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。
図12はこのコンピュータシステム630の外観を示し、
図13はコンピュータシステム630の内部構成を示す。
【0093】
図12を参照して、このコンピュータシステム630は、メモリポート652及びDVD(Digital Versatile Disk)ドライブ650を有するコンピュータ640と、キーボード646と、マウス648と、モニタ642とを含む。
【0094】
図13を参照して、コンピュータ640は、メモリポート652及びDVDドライブ650に加えて、CPU(中央処理装置)656と、CPU656、メモリポート652及びDVDドライブ650に接続されたバス666と、ブートプログラム等を記憶する読出専用メモリ(ROM)658と、バス666に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ(RAM)660と、ハードディスク654を含む。コンピュータシステム630はさらに、他端末との通信を可能とするネットワーク668への接続を提供するネットワークインターフェイス(I/F)644を含む。
【0095】
コンピュータシステム630を上記した実施の形態に係る音声認識装置280及び学習システム350の各機能部として機能させるためのコンピュータプログラムは、DVDドライブ650又はメモリポート652に装着されるDVD662又はリムーバブルメモリ664に記憶され、さらにハードディスク654に転送される。又は、プログラムはネットワーク668を通じてコンピュータ640に送信されハードディスク654に記憶されてもよい。プログラムは実行の際にRAM660にロードされる。DVD662から、リムーバブルメモリ664から又はネットワーク668を介して、直接にRAM660にプログラムをロードしてもよい。
【0096】
このプログラムは、コンピュータ640を、上記実施の形態に係る音声認識装置280及び学習システム350の各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ640にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ640上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ640にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム、装置又は方法としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【0097】
上記実施の形態では、CTC-AMの学習では目標関数を最大化するような学習を行っている。しかし本発明はそのような実施の形態には限定されない。例えば、そのような目標関数ではなく、損失関数を定め、その損失関数の値を最大化するような学習を行っても良い。
【0098】
また上記実験では、CTC-AMとして、LSTMを構成要素とするものを用いた。しかし、当業者には明らかであるように、CTC-AMはLSTMを用いるものには限定されない。例えばRNN全般に対象を広げても良いし、CNNを用いるようにしてもよい。また上記実施の形態では、学習処理部362による学習及び精度評価部374による学習の双方において、学習後のCTC-AMの精度と学習前の精度との差が所定の値未満になることを終了条件としている。しかし本発明はそのような実施の形態には限定されない。例えば上記した学習のいずれか又は双方において、繰返し回数を固定した値とし、学習の繰返し回数がその値に達したら学習を終了するようにすることも可能である。
【0099】
さらに、上記実施の形態では、単語列Wの精度を表す尺度として式(19)により表される値を使用している。しかし本発明はそのような実施の形態には限定されない。例えば、評価データをCTC-AMを用いて音声認識することにより得られるラティスの各パスのうち、単語Wを通るものについて得られる確率を平均したものを単語列Wの精度を表す尺度として採用してもよい。又は、この値を、ラティスの全てのパスの確率で割ったものを用いても良い。
【0100】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。