(57)【要約】【課題】先に提案されているモデル化技術を利用した構成に比較して性能を高めた音声認識システムを提供する。【解決手段】遅延操作層の各々は、直前の全結合層から第１の内部ベクトルが入力されると、当該第１の内部ベクトルに対応するフレームである現在フレームに対して、予め定められたタイムステップだけ時間を戻した過去フレームに対応する第２の内部ベクトルと、予め定められたタイムステップだけ時間を進めた未来フレームに対応する第３の内部ベクトルとを生成し、第１の内部ベクトルと、第２の内部ベクトルと、第３の内部ベクトルとに基づいて算出される内部ベクトルを出力する、ように構成される。【選択図】図５
2019159058.tif 000002
【特許請求の範囲】
【請求項１】
入力される音声信号からフレームごとに第１の特徴ベクトルを順次生成する特徴量抽出部と、
前記特徴量抽出部からのフレームごとの前記第１の特徴ベクトルの入力を受けて、フレームごとに第２の特徴ベクトルを出力する第１のニューラルネットワークブロックと、
前記第１のニューラルネットワークブロックからのフレームごとの前記第２の特徴ベクトルを受けて、フレームごとに第３の特徴ベクトルを出力する第２のニューラルネットワークブロックと、
前記第２のニューラルネットワークブロックからのフレームごとの前記第３の特徴ベクトルを受けて、対応するテキストを推定する出力層とを備え、
前記第１のニューラルネットワークブロックは、積層された複数の全結合層と、隣接する全結合層の間にそれぞれ配置された活性化関数とを含み、
前記第２のニューラルネットワークブロックは、積層された全結合層および遅延操作層からなる複数の組と、隣接する全結合層と遅延操作層との間にそれぞれ配置された活性化関数とを含み、
前記遅延操作層の各々は、
直前の全結合層から第１の内部ベクトルが入力されると、当該第１の内部ベクトルに対応するフレームである現在フレームに対して、予め定められたタイムステップだけ時間を戻した過去フレームに対応する第２の内部ベクトルと、予め定められたタイムステップだけ時間を進めた未来フレームに対応する第３の内部ベクトルとを生成し、
前記第１の内部ベクトルと、前記第２の内部ベクトルと、前記第３の内部ベクトルとに基づいて算出される内部ベクトルを出力する、ように構成される、音声認識システム。
【請求項２】
前記第２のニューラルネットワークブロックは、
前記第２のニューラルネットワークブロックに含まれる第１の遅延操作層および第２の遅延操作層からそれぞれ出力される２つの内部ベクトルを入力とし、重みを出力とするニューラルネットワークである第１のモジュールと、
前記重みを前記第１の遅延操作層から出力される内部ベクトルに反映する第２のモジュールとを含む、請求項１に記載の音声認識システム。
【請求項３】
前記第１のモジュールは、前記第２のニューラルネットワークブロックにおいて最も入力側に近い遅延操作層から出力される内部ベクトルに、前記重みを反映するように構成される、請求項２に記載の音声認識システム。
【請求項４】
前記第２のニューラルネットワークブロックは、積層された全結合層および遅延操作層からなる複数の組をバイパスするスキップ経路を含む、請求項１〜３のいずれか１項に記載の音声認識システム。
【請求項５】
入力される音声信号からフレームごとに第１の特徴ベクトルを順次生成するステップと、
フレームごとの前記第１の特徴ベクトルを学習済モデルに入力してテキストを出力するステップとを備え、
前記学習済モデルは、
フレームごとの前記第１の特徴ベクトルの入力を受けて、フレームごとに第２の特徴ベクトルを出力する第１のニューラルネットワークブロックと、
前記第１のニューラルネットワークブロックからのフレームごとの前記第２の特徴ベクトルを受けて、フレームごとに第３の特徴ベクトルを出力する第２のニューラルネットワークブロックと、
前記第２のニューラルネットワークブロックからのフレームごとの前記第３の特徴ベクトルを受けて、対応するテキストを推定する出力層とを備え、
前記第１のニューラルネットワークブロックは、積層された複数の全結合層と、隣接する全結合層の間にそれぞれ配置された活性化関数とを含み、
前記第２のニューラルネットワークブロックは、積層された全結合層および遅延操作層からなる複数の組と、隣接する全結合層と遅延操作層との間にそれぞれ配置された活性化関数とを含み、
前記遅延操作層の各々は、
直前の全結合層から第１の内部ベクトルが入力されると、当該第１の内部ベクトルに対応するフレームである現在フレームに対して、予め定められたタイムステップだけ時間を戻した過去フレームに対応する第２の内部ベクトルと、予め定められたタイムステップだけ時間を進めた未来フレームに対応する第３の内部ベクトルとを生成し、
前記第１の内部ベクトルと、前記第２の内部ベクトルと、前記第３の内部ベクトルとに基づいて算出される内部ベクトルを出力する、ように構成される、音声認識方法。
【請求項６】
入力される音声信号からテキストを出力するように、コンピュータを機能させるための学習済モデルであって、前記学習済モデルは、
前記音声信号からフレームごとに順次生成される特徴ベクトルの入力を受けて、フレームごとに第２の特徴ベクトルを出力する第１のニューラルネットワークブロックと、
前記第１のニューラルネットワークブロックからのフレームごとの前記第２の特徴ベクトルを受けて、フレームごとに第３の特徴ベクトルを出力する第２のニューラルネットワークブロックと、
前記第２のニューラルネットワークブロックからのフレームごとの前記第３の特徴ベクトルを受けて、対応するテキストを推定する出力層とを備え、
前記第１のニューラルネットワークブロックは、積層された複数の全結合層と、隣接する全結合層の間にそれぞれ配置された活性化関数とを含み、
前記第２のニューラルネットワークブロックは、積層された全結合層および遅延操作層からなる複数の組と、隣接する全結合層と遅延操作層との間にそれぞれ配置された活性化関数とを含み、
前記遅延操作層の各々は、
直前の全結合層から第１の内部ベクトルが入力されると、当該第１の内部ベクトルに対応するフレームである現在フレームに対して、予め定められたタイムステップだけ時間を戻した過去フレームに対応する第２の内部ベクトルと、予め定められたタイムステップだけ時間を進めた未来フレームに対応する第３の内部ベクトルとを生成し、
前記第１の内部ベクトルと、前記第２の内部ベクトルと、前記第３の内部ベクトルとに基づいて算出される内部ベクトルを出力する、ように構成される、学習済モデル。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、音声認識システム、音声認識方法、学習済モデルに関する。
【背景技術】
【０００２】
音声認識のための有効なＥ２Ｅ（end-to-end）フレームワークとして、ＣＴＣ（connectionist temporal classification）を用いたモデルが知られている（例えば、非特許文献１など参照）。ＣＴＣの基本的な原理を何らかの形で利用したモデルを、以下では「ＣＴＣベースドモデル」とも称す。
【０００３】
ＣＴＣのモデル化技術では、音響モデルパイプラインを高度に簡単化している。そのため、ＣＴＣベースドモデルにおいては、フレームレベルでのラベルや初期のＧＭＭ−ＨＭＭ（Gaussian mixture model and hidden Markov model）モデル（音響モデルに相当）を必要としない。ＣＴＣベースドモデルは、再帰型ニューラルネットワーク（ＲＮＮ：recurrent neural network）の一例であるＢＬＳＴＭ（bidirectional long short term memory）ネットワークを用いることで（以下、「ＢＬＳＴＭ−ＣＴＣモデル」とも称す。）、音声認識タスクについて現時点では最高の性能を発揮することが示されている。
【０００４】
しかしながら、ＢＬＳＴＭ−ＣＴＣモデルは、フレーム順に出力を推定するために、発話全体を時間軸の双方向からたどる必要がある。そのため、ＢＬＳＴＭ−ＣＴＣモデルは、時間遅れが大きく、例えば、オンライン音声認識などに応用することはできない。
【０００５】
ＢＬＳＴＭ−ＣＴＣモデルは、コンテキストセンシティブチャンクＢＬＳＴＭ（ＣＳＣ−ＢＬＳＴＭ：context-sensitive-chunk BLSTM）を用いることで改善できる。この手法は、センテンス全体を互いに重複する複数のチャンクに分割し、いくつかのコンテキスト上のチャンクを追加（過去方向および未来方向の両方）することで、時間遅れを制御する。このような時間遅れを制御したＢＬＳＴＭ（ＬＣ−ＢＬＳＴＭ：latency controlled BLSTM）においては、各チャンクについての計算を最適化することで、学習速度および認識速度をさらに高めることができると提案されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Jan Chorowski, Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio, "End-to-End continuous speech recognition using attention-based recurrent NN: First results," arXiv preprint arXiv:1412160, 2014.
【非特許文献２】A. Waibel, "Modular construction of time-delay neural networks for speech recognition," Neural computation, vol.1, no.1, pp.39-46, 1989.
【非特許文献３】V. Peddinti, D. Povey, and S. Khudanpur, "A time delay neural network architecture for efficient modeling of long temporal contexts," in Proc. INTERSPEECH, 2015.
【非特許文献４】M. Baskar et al., "Residual memory networks: Feed-forward approach to learn long-term temporal dependencies," in Proc. IEEE-ICASSP, 2017.
【非特許文献５】Daniel Povey, Vijayaditya Peddinti, Daniel Galvez, Pegah Ghahrmani, Vimal Manohar, Xingyu Na, Yiming Wang and Sanjeev Khudanpur, "Purely sequence-trained neural networks for ASR based on lattice-free MMI," Interspeech 2016.
【非特許文献６】K. He, X. Zhang, S. Ren, and J. Sun, "Deep residual learning for image recognition," in Proc. the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp. 770-778.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、双方向からたどる必要のあるＢＬＳＴＭネットワークに代えて、時間遅れを生じない、より直接的な方法が模索されている。具体的には、ＢＬＳＴＭネットワークに代えてＵＬＳＴＭ（unidirectional long short term memory）ネットワークを採用したＣＴＣベースドモデル（以下、「ＵＬＳＴＭ−ＣＴＣモデル」とも称す。）が提案されている。同様のパラメータサイズを有するＢＬＳＴＭネットワークとして、ＦＳＭＮ（feedforward sequential memory networks）、ＴＤＮＮ（time-delay neural network）（例えば、非特許文献２および非特許文献３など参照）、ＬＦ−ＭＭＩ  ＴＮＤＤ（lattice-free maximum mutual information TDNN）（例えば、非特許文献４および非特許文献５など参照）、ＲＭＮ（residual memory network）、ＬＡＣＥＡ（layer-wise context expansion and attention）ネットワークなどが提案されている。これらのネットワークは、再帰フィードバックを用いずに、単方向の長時間依存性を学習することができ、それによって、ＣＴＣトレーニングと組み合わせることで、非常に高い性能を発揮することが予想されている。
【０００８】
本技術は、先に提案されているモデル化技術を利用した構成に比較して性能を高めた音声認識システムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明のある局面に従う音声認識システムは、入力される音声信号からフレームごとに第１の特徴ベクトルを順次生成する特徴量抽出部と、特徴量抽出部からのフレームごとの第１の特徴ベクトルの入力を受けて、フレームごとに第２の特徴ベクトルを出力する第１のニューラルネットワークブロックと、第１のニューラルネットワークブロックからのフレームごとの第２の特徴ベクトルを受けて、フレームごとに第３の特徴ベクトルを出力する第２のニューラルネットワークブロックと、第２のニューラルネットワークブロックからのフレームごとの第３の特徴ベクトルを受けて、対応するテキストを推定する出力層とを含む。第１のニューラルネットワークブロックは、積層された複数の全結合層と、隣接する全結合層の間にそれぞれ配置された活性化関数とを含む。第２のニューラルネットワークブロックは、積層された全結合層および遅延操作層からなる複数の組と、隣接する全結合層と遅延操作層との間にそれぞれ配置された活性化関数とを含む。遅延操作層の各々は、直前の全結合層から第１の内部ベクトルが入力されると、当該第１の内部ベクトルに対応するフレームである現在フレームに対して、予め定められたタイムステップだけ時間を戻した過去フレームに対応する第２の内部ベクトルと、予め定められたタイムステップだけ時間を進めた未来フレームに対応する第３の内部ベクトルとを生成し、第１の内部ベクトルと、第２の内部ベクトルと、第３の内部ベクトルとに基づいて算出される内部ベクトルを出力する、ように構成される。
【００１０】
好ましくは、第２のニューラルネットワークブロックは、第２のニューラルネットワークブロックに含まれる第１の遅延操作層および第２の遅延操作層からそれぞれ出力される２つの内部ベクトルを入力とし、重みを出力とするニューラルネットワークである第１のモジュールと、重みを第１の遅延操作層から出力される内部ベクトルに反映する第２のモジュールとを含む。
【００１１】
さらに好ましくは、第１のモジュールは、第２のニューラルネットワークブロックにおいて最も入力側に近い遅延操作層から出力される内部ベクトルに、重みを反映するように構成される。
【００１２】
好ましくは、第１のモジュールおよび第２のモジュールは、第２のニューラルネットワークブロックに含まれる各遅延操作層から出力されるそれぞれの内部ベクトルを一旦キャッシュした上で、重みの計算および重みの反映を実行する。
【００１３】
好ましくは、遅延操作層の各々は、タイムステップより短いタイムステップに対応する複数の内部ベクトルに基づいて、第２の内部ベクトルおよび第３の内部ベクトルを生成する。
【００１４】
好ましくは、第２のニューラルネットワークブロックは、積層された全結合層および遅延操作層からなる複数の組をバイパスするスキップ経路を含む。
【００１５】
好ましくは、出力層は、入力される音声信号に対応するテキストを出力する。
本発明の別の局面に従う音声認識方法は、入力される音声信号からフレームごとに第１の特徴ベクトルを順次生成するステップと、フレームごとの第１の特徴ベクトルを学習済モデルに入力してテキストを出力するステップとを含む。学習済モデルは、フレームごとの第１の特徴ベクトルの入力を受けて、フレームごとに第２の特徴ベクトルを出力する第１のニューラルネットワークブロックと、第１のニューラルネットワークブロックからのフレームごとの第２の特徴ベクトルを受けて、フレームごとに第３の特徴ベクトルを出力する第２のニューラルネットワークブロックと、第２のニューラルネットワークブロックからのフレームごとの第３の特徴ベクトルを受けて、対応するテキストを推定する出力層とを含む。第１のニューラルネットワークブロックは、積層された複数の全結合層と、隣接する全結合層の間にそれぞれ配置された活性化関数とを含む。第２のニューラルネットワークブロックは、積層された全結合層および遅延操作層からなる複数の組と、隣接する全結合層と遅延操作層との間にそれぞれ配置された活性化関数とを含む。遅延操作層の各々は、直前の全結合層から第１の内部ベクトルが入力されると、当該第１の内部ベクトルに対応するフレームである現在フレームに対して、予め定められたタイムステップだけ時間を戻した過去フレームに対応する第２の内部ベクトルと、予め定められたタイムステップだけ時間を進めた未来フレームに対応する第３の内部ベクトルとを生成し、第１の内部ベクトルと、第２の内部ベクトルと、第３の内部ベクトルとに基づいて算出される内部ベクトルを出力する、ように構成される。
【００１６】
本発明のさらに別の局面に従えば、入力される音声信号からテキストを出力するように、コンピュータを機能させるための学習済モデルが提供される。学習済モデルは、音声信号からフレームごとに順次生成される特徴ベクトルの入力を受けて、フレームごとに第２の特徴ベクトルを出力する第１のニューラルネットワークブロックと、第１のニューラルネットワークブロックからのフレームごとの第２の特徴ベクトルを受けて、フレームごとに第３の特徴ベクトルを出力する第２のニューラルネットワークブロックと、第２のニューラルネットワークブロックからのフレームごとの第３の特徴ベクトルを受けて、対応するテキストを推定する出力層とを含む。第１のニューラルネットワークブロックは、積層された複数の全結合層と、隣接する全結合層の間にそれぞれ配置された活性化関数とを含む。第２のニューラルネットワークブロックは、積層された全結合層および遅延操作層からなる複数の組と、隣接する全結合層と遅延操作層との間にそれぞれ配置された活性化関数とを含む。遅延操作層の各々は、直前の全結合層から第１の内部ベクトルが入力されると、当該第１の内部ベクトルに対応するフレームである現在フレームに対して、予め定められたタイムステップだけ時間を戻した過去フレームに対応する第２の内部ベクトルと、予め定められたタイムステップだけ時間を進めた未来フレームに対応する第３の内部ベクトルとを生成し、第１の内部ベクトルと、第２の内部ベクトルと、第３の内部ベクトルとに基づいて算出される内部ベクトルを出力する、ように構成される。
【発明の効果】
【００１７】
本技術によれば、先に提案されているモデル化技術を利用した構成に比較して性能を高めた音声認識システムを実現できる。
【図面の簡単な説明】
【００１８】
【図１】本実施の形態に従う学習済モデルを用いたアプリケーション例を示す模式図である。
【図２】図１に示す音声認識システムの学習方法を説明するための模式図である。
【図３】ＢＬＳＴＭ−ＣＴＣモデルの処理内容を説明するための模式図である。
【図４】ＵＬＳＴＭ−ＣＴＣモデルの処理内容を説明するための模式図である。
【図５】本実施の形態に従うＣＴＣベースドモデルのネットワーク構造の一例を示す模式図である。
【図６】本実施の形態に従うＣＴＣベースドモデルに含まれる標準残差ブロックの構造の一例を示す模式図である。
【図７】本実施の形態に従うＣＴＣベースドモデルに含まれる時間遅延残差ブロックの構造の一例を示す模式図である。
【図８】本実施の形態に従うＣＴＣベースドモデルに含まれる時間遅延残差ブロックの遅延操作層の処理構造を示す模式図である。
【図９】本実施の形態に従うＣＴＣベースドモデルの時間遅延残差ブロック層におけるコンテキストのキャプチャ範囲を時間方向に拡大する操作を説明するための模式図である。
【図１０】本実施の形態に従うＣＴＣベースドモデルが採用するアテンションメカニズムの構造の一例を示す模式図である。
【図１１】本実施の形態に従うＣＴＣベースドモデルが採用するアテンションメカニズムの実装例を説明するための模式図である。
【図１２】本実施の形態に従う音声認識システムを実現するハードウェア構成の一例を示す模式図である。
【図１３】本実施の形態に従うＣＴＣベースドモデルの学習処理の処理手順を示すフローチャートである。
【図１４】本実施の形態に従うＣＴＣベースドモデルを用いたエンコーディングの処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１９】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２０】
［Ａ．アプリケーション例］
まず、本実施の形態に従う学習済モデルを用いたアプリケーション例について説明する。
【００２１】
図１は、本実施の形態に従う学習済モデルを用いたアプリケーション例を示す模式図である。図１には、アプリケーション例として、音声認識システムＳを示す。音声認識システムＳは、音声信号の入力を受けて認識結果を出力する。より具体的には、音声認識システムＳは、音声信号の入力を受けて、予め定められた区間（以下、「フレーム」とも称す。）ごとの時系列データから特徴ベクトルを抽出する特徴量抽出部２と、特徴量抽出部２からのベクトルの入力を受けてテキストなどの認識結果を出力する認識エンジン４とを含む。
【００２２】
特徴量抽出部２は、入力される音声信号からフレームごとに特徴ベクトルを順次生成する。特徴量抽出部２から出力される特徴ベクトルは、予め定められた次元数を有しており、入力される音声信号の対応するフレームに相当する部分の特徴量を反映する。特徴ベクトルは、入力される音声信号の長さに応じて、順次出力されることになる。以下では、このような一連の特徴ベクトルの全部または一部を「音響特徴シーケンス」とも総称する。
【００２３】
認識エンジン４は、特徴量抽出部２から出力されるフレームごとの特徴ベクトルを学習済モデルに入力してテキストを出力する。このように、認識エンジン４は、本実施の形態に従う学習済モデルで構成され、デコーダとして機能する。すなわち、認識エンジン４は、音声認識のためのＥ２Ｅフレームワーク（音響モデルおよび言語モデルが一体化されて構成される）であり、音声フレームの入力を受けて対応するテキストを出力する。
【００２４】
図２は、図１に示す音声認識システムＳの学習方法を説明するための模式図である。図２を参照して、音声信号４２と対応するテキスト４４とからなるトレーニングデータセット４０を用意する。音声信号４２を特徴量抽出部２に入力するとともに、特徴量抽出部２により順次生成される音声フレームを認識エンジン４に入力することで、認識エンジン４からの認識結果（テキスト）を得る。認識エンジン４からの認識結果と、入力される音声信号４２に対応するラベル（テキスト４４）との誤差に基づいて、認識エンジン４を規定するネットワークのパラメータを順次更新することで、ネットワークが最適化される。
【００２５】
［Ｂ．先行技術および解決手段］
次に、本実施の形態に従う手法に関連するいくつかの先行技術および当該先行技術に対する解決手段の概要について説明する。
【００２６】
図３は、ＢＬＳＴＭ−ＣＴＣモデルの処理内容を説明するための模式図である。図３を参照して、ＢＬＳＴＭ−ＣＴＣモデルは、前進（順方向）の経路および後進（逆方向）の経路の両方を有しており、入力される音声信号のセンテンス全体（センテンスの先頭から最後まで）をたどることで、ＣＴＣ出力を推定する。図３に示すように、音声信号のセンテンス全体をたどる必要があるので、時間遅れが大きくなる。
【００２７】
なお、センテンスは、言語的に意味のある区切りを意味し、通常、予め定められた区間長さの音声フレームを複数含むことになる。
【００２８】
図４は、ＵＬＳＴＭ−ＣＴＣモデルの処理内容を説明するための模式図である。図４を参照して、ＵＬＳＴＭ−ＣＴＣモデルは、図３に示すＢＬＳＴＭ−ＣＴＣモデルとは異なり、前進の経路のみを有しており、入力される音声信号のセンテンスの先頭にウィンドウ（１０−１５個の音声フレームを含む）を設定するとともに、ウィンドウを複数個所にスライドさせることで、ＣＴＣ出力を推定する。図４に示すような、ＵＬＳＴＭ−ＣＴＣモデルにおいては、過去の入力情報のみを必要とするので、入力音声の終了を待つ必要がない。但し、満足いく性能を得ることは難しい。
【００２９】
本願発明者らは、以下に説明するように、ＣＴＣベースドモデルに分類される手法を発明した。本願発明者らの手法によれば、ＢＬＳＴＭ−ＣＴＣモデルのような時間遅れは問題とならず、かつ、十分実用性のある性能を得られる。
【００３０】
［Ｃ．ネットワーク構造］
本実施の形態に従うＣＴＣベースドモデル１は、図１および図２の認識エンジン４を実現する学習済モデルに相当する。本実施の形態においては、再帰フィードバックを用いずに、単方向の長時間依存性を反映した出力を得られるように、大きな層数を有するニューラルネットワークを用いる。本願発明者らは、本実施の形態に従うＣＴＣベースドモデル１のネットワークを「超深層残差時間遅延ニューラルネットワーク（very deep residual time-delay neural network）：ＶＲｅｓＴＤ−ＣＴＣ」と称する。
【００３１】
本実施の形態に従うＣＴＣベースドモデル１は、公知のＴＤＮＮ（例えば、非特許文献２および非特許文献３など参照）に類似したネットワーク構造を有しており、公知のＴＤＮＮに比較してＣＴＣトレーニングをより強化できる。また、残差構造については、非特許文献６などを参照されたい。
【００３２】
（ｃ１：ＣＴＣ）
まず、ＣＴＣ（connectionist temporal classification）の基本的な考え方について説明する。ＣＴＣは、入力される可変長な音声フレームと出力されるラベル（単音（phones）、文字（character）音節（syllable）などの単位）との間で生じるシーケンスラベリング問題を解決するために、Ｅ２Ｅ音響モデルにおけるトレーニング判定基準として、しばしば用いられる。
【００３３】
ＣＴＣ学習済モデルに基づく出力は、パスと称される（以下、「ｐ」とも表現する。）フレームレベルのトークンシーケンスである。いくつかの仮説の下、多くのパスが生成される。いくつかのパスには、ＣＴＣラベルの間に挿入される、何らのＣＴＣラベルもないブランク（以下、「φ」とも表現する。）を含む。これらのパスは、デコーディングにおいて検出されたブランクシンボルの集合を取り除くとともに、同一ラベルの重複を取り除くことで、ラベルシーケンスにマッピングされる。したがって、１つのラベルシーケンスＺは、複数のＣＴＣラベルバス（以下、「Ｐａｔｈ（Ｚ）」とも表現する。）にマッピングされることになる。以下の（１）式に示されるように、ラベルシーケンスＺの尤度は、対応するＣＴＣパスの確率の集合に基づいて評価される。
【００３４】
【数１】
2019159058.tif 000003
【００３５】
但し、Ｘは、発話全体における音声フレームシーケンスであり、ｐは、ラベルシーケンスＺに対応するＣＴＣパスである。（１）式を微分することで誤差逆伝播を適用でき、ｆｏｒｗａｒｄ−ｂａｃｋｗａｒｄアルゴリズムを用いてネットワークパラメータを順次更新できる。
【００３６】
（ｃ２：ネットワーク全体の構造）
次に、本実施の形態に従うＣＴＣベースドモデル１のネットワーク構造について説明する。
【００３７】
図５は、本実施の形態に従うＣＴＣベースドモデル１のネットワーク構造の一例を示す模式図である。図５を参照して、ＣＴＣベースドモデル１は、２種類の積層された残差ブロック群を含む。
【００３８】
より具体的には、ＣＴＣベースドモデル１は、複数の標準残差ブロック１０−１〜１０−Ｎ（以下、「標準残差ブロック１０」とも総称し、「ＲｅｓＢｌｏｃｋ」と表現することもある。以下の図面においても同様である。）からなる標準残差ブロック層１００と、複数の時間遅延残差ブロック２０−１〜２０−Ｍ（以下、「時間遅延残差ブロック２０」とも総称し、「ＴＤＲｅｓＢｌｏｃｋ」と表現することもある。以下の図面においても同様である。）からなる時間遅延残差ブロック層２００とを含む。
【００３９】
標準残差ブロック層１００は、音響特徴シーケンス（フレームごとの特徴ベクトル）の入力を受けて、上位層に向けた表現（representation）として、フレームごとに特徴ベクトル（内部層の出力ベクトル）を出力するニューラルネットワークブロックに相当する。
【００４０】
図５には、標準残差ブロック層１００に含まれる標準残差ブロック１０の数としては、例えば、Ｎ＝３と設定でき、時間遅延残差ブロック層２００に含まれる時間遅延残差ブロック２０の数としては、例えば、Ｍ＝５と設定できる。各ブロック層に含まれるブロック数Ｎおよびブロック数Ｍはそれぞれ任意に設定できる。
【００４１】
時間遅延残差ブロック層２００は、標準残差ブロック層１００からのフレームごとの特徴ベクトル（内部層の出力ベクトル）を受けて、さらに上位の表現としてフレームごとに特徴ベクトル（内部層の出力ベクトル）を出力するニューラルネットワークブロックに相当する。時間遅延残差ブロック層２００から出力される特徴ベクトルは、後述するような時間遅延操作の結果が反映されたものとなる。
【００４２】
標準残差ブロック層１００は、入力側に配置されており、入力される音響特徴シーケンスをより上位の表現に変換する。後述するように、標準残差ブロック層１００としては、ボトルネック型のｎ次の階層構造を採用してもよい。標準残差ブロック層１００においては、時間遅延残差ブロック層２００とは異なり、時間遅延操作は行なわれない。
【００４３】
時間遅延残差ブロック層２００は、順次入力される音響特徴シーケンスに対する時間遅延操作を行なう。この時間遅延操作は、実質的に双方向で実行される。但し、本実施の形態においては、過去の入力情報のみを用いるため、入力されたフレームの特徴量を所定のタイムステップだけ遅延させた第１の遅延特徴量と、当該遅延させた特徴量をさらに所定のタイムステップだけ遅延させた第２の遅延特徴量との３つの特徴量を用いて、過去、現在、未来に対応するそれぞれの特徴量を生成する。
【００４４】
ＣＴＣベースドモデル１は、さらに出力層３００を含む。出力層３００は、時間遅延残差ブロック層２００からのフレームごとの特徴ベクトルを受けて、対応するテキストを推定する。
【００４５】
より具体的には、出力層３００は、全結合層３０と、ｓｏｆｔｍａｘ関数３２と、マッピング関数３４とを含む。全結合層３０は、時間遅延残差ブロック層２００のすべての出力ノードは、全結合層３０のすべての出力ノードに結合されている。ｓｏｆｔｍａｘ関数３２は、全結合層３０から出力される特徴ベクトルについての確率を正規化して、最も確からしいラベルを出力する。ｓｏｆｔｍａｘ関数３２からは、フレームごとにラベルが出力されるので、入力される音声信号に対応してラベルが順次出力されることになる。
【００４６】
図５には、ラベルとして単音を用いる例を示しており、音声信号に対応する音響特徴シーケンスがＣＴＣベースドモデル１に順次入力されることで、順次出力される一連の音響推定結果（ラベル）の全部または一部を「ＣＴＣ出力シーケンス」とも総称する。ＣＴＣベースドモデル１の推定結果には、対応するラベルが存在しない、ブランク（図５においては「φ」で示されている。）を含み得る。
【００４７】
時間遅延残差ブロック層２００は、さらにマッピング関数３４を有しており、ＣＴＣ出力シーケンスから対応するテキスト（サブワードシーケンス）を出力する。
【００４８】
上述した一連のニューラルネットワークを用いた特徴量抽出処理によって、入力された音声信号を認識した結果として、出力層３００からは対応するテキストが出力される。
【００４９】
（ｃ３：標準残差ブロック１０の構造）
次に、図５に示されるＣＴＣベースドモデル１を構成する標準残差ブロック層１００に含まれる標準残差ブロック１０の構造について説明する。
【００５０】
図６は、本実施の形態に従うＣＴＣベースドモデル１に含まれる標準残差ブロック１０の構造の一例を示す模式図である。図６を参照して、各標準残差ブロック１０の各々は、全結合層（以下、「ＦＣ」または「ＦＣ層」とも称す。）と活性化関数とが交互に配置された複数の層を含む。活性化関数の典型例としては、正規化線形関数（ＲｅＬＵ：rectified linear unit）が用いられてもよい。以下では、説明の便宜上、活性化関数を「ＲｅＬＵ」と表現することもある。
【００５１】
より具体的には、標準残差ブロック１０の各々は、ｎ次の階層構造を有しており、ｎ個の全結合層１２と、（ｎ−１）個の活性化関数１４とを含む。図６においては、全結合層１２および活性化関数１４について、配置されている位置の段数を示す数字をハイフンとともに示す。標準残差ブロック１０の段数は特に限定されるものではなく、入力される音響特徴シーケンスの次元数などに応じて適宜設計できる。
【００５２】
標準残差ブロック層１００は、図６に示す標準残差ブロック１０が積層されているので、積層された複数の全結合層１２と、隣接する全結合層１２の間にそれぞれ配置された活性化関数１４とを含むことになる。
【００５３】
標準残差ブロック１０の各々は、入力された特徴を、全結合層１２および活性化関数１４を通過することなく、そのまま出力するためのスキップ経路１１を有する。スキップ経路１１は、特徴抽出を省略するための残差スキップを実現する経路である。すなわち、標準残差ブロック層１００は、積層された全結合層１２をバイパスするスキップ経路１１を含む。なお、残差スキップは、次元マッチングのための線形写像を用いることになる。
【００５４】
（ｃ４：時間遅延残差ブロック２０の構造）
次に、図５に示されるＣＴＣベースドモデル１を構成する時間遅延残差ブロック層２００に含まれる時間遅延残差ブロック２０の構造について説明する。
【００５５】
図７は、本実施の形態に従うＣＴＣベースドモデル１に含まれる時間遅延残差ブロック２０の構造の一例を示す模式図である。図７を参照して、時間遅延残差ブロック２０の各々は、標準残差ブロック１０に時間遅延操作を行なうための遅延操作層を追加したものに相当する。
【００５６】
より具体的には、時間遅延残差ブロック２０の各々は、ｍ次の階層構造を有しており、ｍ個の全結合層２２と、ｍ個の遅延操作層２３と、（ｍ−１）個の活性化関数２４とを含む。図７においては、全結合層２２、遅延操作層２３および活性化関数２４について、配置されている位置の段数を示す数字をハイフンとともに示す。時間遅延残差ブロック２０の段数は特に限定されるものではなく、入力される音響特徴シーケンスの次元数などに応じて適宜設計できる。
【００５７】
時間遅延残差ブロック層２００は、図７に示す時間遅延残差ブロック２０が積層されているので、積層された全結合層２２および遅延操作層２３からなる複数の組と、隣接する全結合層２２と遅延操作層２３との間にそれぞれ配置された活性化関数２４とを含む。
【００５８】
遅延操作層２３の各々は、ステップ遅延処理２３２と、サブサンプリング処理２３４と、メモリエンコーディング処理２３６とを含む。
【００５９】
ステップ遅延処理２３２は、入力されたフレームの特徴量を所定のタイムステップｔｉだけ双方向にずらしたフレームの特徴量を生成する。より具体的には、ステップ遅延処理２３２は、直前の全結合層２２から第１の内部ベクトルが入力されると、当該内部ベクトルに対応するフレームである現在フレームに対して、予め定められたタイムステップｔｉだけ時間を戻した過去フレームに対応する第２の内部ベクトルと、予め定められたタイムステップｔｉだけ時間を進めた未来フレームに対応する第３の内部ベクトルとを生成する。
【００６０】
図８は、本実施の形態に従うＣＴＣベースドモデルに含まれる時間遅延残差ブロック２０の遅延操作層２３の処理構造を示す模式図である。図８を参照して、遅延操作層２３は、２つの遅延要素２３８−１，２３８−２を含む。
【００６１】
遅延要素２３８−１，２３８−２の各々は、タイムステップｔｉだけ入力を遅延させる。入力されるフレームは、遅延要素２３８−１に入力されて、タイムステップｔｉの遅延が与えられた後に、遅延要素２３８−２に与えられる。遅延要素２３８−２は、遅延要素２３８−１から入力されたフレームに対して、さらにタイムステップｔｉの遅延を与える。このような２段の遅延要素によって、タイミングがタイムステップｔｉずつ異なる３種類のフレームが生成される。
【００６２】
入力されるフレームを過去フレームとし、遅延要素２３８−１から出力されるフレームを現在フレームとし、遅延要素２３８−２から出力されるフレームを未来フレームとすることで、実質的に双方向にタイムステップを拡大できる。
【００６３】
サブサンプリング処理２３４は、ステップ遅延処理２３２による時間遅延操作の結果をサブサンプリングする。図７のサブサンプリング処理２３４に示されるトリプレット｛−ｔｉ，０，ｔｉ｝は、（−ｔｉ〜ｔｉ）の範囲内にある任意のタイムステップでサブサンプリングして得られた、３個のタイムステップ（−ｔｉ，０，ｔｉ）におけるそれぞれのフレームを示す（詳細については、非特許文献３を参照のこと。）。但し、「−」、「＋」、「０」は、それぞれ過去、未来、現在のタイムステップを示す。
【００６４】
メモリエンコーディング処理２３６は、ステップ遅延処理２３２およびサブサンプリング処理２３４の実行ごとに得られる出力信号をエンコーディングする。すなわち、メモリエンコーディング処理２３６は、現在フレームに対応する内部ベクトルと、過去フレームに対応する内部ベクトルと、将来フレームに対応する内部ベクトルとに基づいて、出力する内部ベクトルを算出する。
【００６５】
本実施の形態においては、時間遅延操作を実現するために一対のグローバルメモリベクトル（過去用および未来用）が用意される。メモリエンコーディング処理２３６においては、時間遅延操作の結果に応じて、一対のグローバルメモリベクトルへアクセスし、対応する領域の内容を更新する。
【００６６】
時間遅延残差ブロック２０の各々は、入力された特徴を、全結合層２２、遅延操作層２３および活性化関数２４を通過することなく、そのまま出力するためのスキップ経路２１を有する。スキップ経路２１は、特徴抽出を省略するための残差スキップを実現する経路である。すなわち、時間遅延残差ブロック層２００は、積層された全結合層２２および遅延操作層２３からなる複数の組をバイパスするスキップ経路２１を含む。なお、残差スキップは、次元マッチングのための線形写像を用いることになる。
【００６７】
上述したような時間遅延操作を数学的に表現すると、以下のようになる。
本実施の形態に従うＣＴＣベースドモデル１において、ｌ（エル）番目の時間遅延を有する隠れ層への入力シーケンスの全体は、以下の（２）式のように示すことができる。
【００６８】
【数２】
2019159058.tif 000004
【００６９】
いずれのｈｌｔに関しても、注目しているｌ（エル）番目の層についての標準重み行列Ｗｌおよびバイアスｂｌを用いて、以下の（３）式のように線形変換できる。
【００７０】
【数３】
2019159058.tif 000005
【００７１】
サブサンプリングを行なうことで、入力シーケンスの全体は、以下の（５）式のように近似できる。
【００７２】
【数４】
2019159058.tif 000006
【００７３】
なお、（５）式中のウィンドウサイズの設定例については後述のＴａｂｌｅ１に示す。
上述の（４）式および（５）式に示すように、サブサンプリング処理２３４は、所定のタイムステップより短いタイムステップに対応する複数の内部ベクトルに基づいて、過去フレームに対応する内部ベクトルおよび未来フレームに対応する内部ベクトルを生成する処理を含む。
【００７４】
次に、ｌ（エル）番目の層についての時間ｔにおける偏差ｅｔｌは、以下の（６）式のように示すことができる。
【００７５】
【数５】
2019159058.tif 000007
【００７６】
なお、実装においては、グローバルエンコーディングの重みの１または複数の組は共有されてもよい。
【００７７】
ここで、注目しているｌ（エル）番目の層が時間遅延残差ブロック２０の内部に位置している場合には、次の層である（ｌ＋１）番目の層への入力は、以下の（７）式のように示すことができる。
【００７８】
【数６】
2019159058.tif 000008
【００７９】
また、注目しているｌ（エル）番目の層が時間遅延残差ブロック２０の最終層に位置している場合には、次の時間遅延残差ブロック２０への入力は、以下の（８）式のように示すことができる。
【００８０】
【数７】
2019159058.tif 000009
【００８１】
（ｃ５：時間遅延残差ブロック層２００によるタイムステップの拡大）
次に、上述した時間遅延操作を行なう時間遅延残差ブロック２０が積層されることで実現されるタイムステップの拡大について説明する。
【００８２】
図９は、本実施の形態に従うＣＴＣベースドモデル１の時間遅延残差ブロック層２００におけるコンテキストのキャプチャ範囲を時間方向に拡大する操作を説明するための模式図である。図９は、積層された複数の時間遅延残差ブロック２０によって、コンテキストに対して局所的にキャプチャされる範囲がどのように双方向に拡大されるのかを示す。
【００８３】
図９を参照して、標準残差ブロック１０−１〜１０−Ｎを含む標準残差ブロック層１００は、入力される音響特徴シーケンスをより上位の表現（内部層の出力ベクトル１０２）に変換して出力する。
【００８４】
図７を参照して説明したように、時間遅延残差ブロック２０の各々は、ｍ個の全結合層２２およびｍ個の遅延操作層２３を含む。
【００８５】
遅延操作層２３の各々においては、現在のフレームの特徴量に加えて、過去のフレーム（−ｔｉ）および未来のフレーム（ｔｉ）の特徴量を入力とする。ある階層の遅延操作層２３には、３個のタイムステップ（−ｔｉ，０，ｔｉ）のそれぞれにおける特徴量が入力され、１層下位の遅延操作層２３には、５個のタイムステップ（−２×ｔｉ，−ｔｉ，０，ｔｉ，２×ｔｉ）のそれぞれにおける特徴量が入力されることになる。同様にして、全結合層２２および遅延操作層２３を順次積層することで、最上層の遅延操作層２３に入力される特徴量の時間幅（コンテキストをキャプチャする範囲）は、順次拡大することになる（タイムステップの拡大）。
【００８６】
図９に示すように、本実施の形態に従うＣＴＣベースドモデル１の時間遅延残差ブロック層２００は、時間遅延ネットワークを積層することで、入力される音声信号を実質的に双方向にエンコーディングすることになる。双方向にエンコーディング範囲は、全結合層２２および遅延操作層２３の積層数によって、任意に拡大できることが分かる。
【００８７】
図９に示すように、時間遅延残差ブロック２０を積層することで、コンテキストに設定されるウィンドウサイズを実質的に拡大できることが分かる。コンテキストをキャプチャする範囲（ウィンドウサイズ）は、時間遅延残差ブロック２０の層数に応じた長さになることが分かる。時間遅延残差ブロック２０（時間遅延操作）を積層することで得られるウィンドウサイズの変化を以下のＴａｂｌｅ１に示す。
【００８８】
【表１】
2019159058.tif 000010
【００８９】
Ｔａｂｌｅ１に示すように、時間遅延残差ブロック層２００に含まれる全結合層２２と遅延操作層２３との組の積層数をｌ（エル）とすると、コンテキストをキャプチャするウィンドウサイズは、（ｌ×（ｌ＋１）／２＋１）となる。
【００９０】
（ｃ６：アテンション（attention）メカニズム）
本実施の形態に従うＣＴＣベースドモデル１には、アテンションメカニズムをさらに追加してもよい。アテンションメカニズムは、隠れ層に存在するベクトルから特定の特徴を有する成分を抽出する機能を有している。
【００９１】
まず、アテンションメカニズムを実装したＥ２Ｅフレームワークの理論について説明する。アテンションメカニズムを実装したＥ２Ｅフレームワークは、長さＴの入力特徴シーケンス（Ｏ）を長さＮの出力ラベルシーケンス（Ｙ）にマッピングする。
【００９２】
典型的なアテンションメカニズムは、エンコーダＲＮＮと、デコーダＲＮＮと、両ＲＮＮに接続されたアテンションモジュールとを含む。これらの要素間の関係は、以下の（９）式のように示すことができる。
【００９３】
【数８】
2019159058.tif 000011
【００９４】
なお、上述の（９）式において、エンコーダＲＮＮにおいてサブサンプリングを行なわない場合には、エンコーダＲＮＮの出力Ｈの長さは、入力特徴シーケンスの長さＴと一致する。より一般化する観点から、上述の（９）式は、再帰ネットワークの状態を含まない形になっている。
【００９５】
図１０は、本実施の形態に従うＣＴＣベースドモデル１が採用するアテンションメカニズムの構造の一例を示す模式図である。図１０を参照して、時間遅延残差ブロック２０に含まれる任意のｊ番目の層（全結合層２２および遅延操作層２３）の出力側に、重みαｔｌを反映するための係数モジュール２６が配置される。
【００９６】
アテンションモジュール２８は、ｊ番目の層（全結合層２２および遅延操作層２３）の出力Ｈ〜ｔｊと、ｌ（エル）番目の層（全結合層２２および遅延操作層２３）の出力Ｈ〜ｔｌとを受けて、重みαｔｌを出力する。すなわち、アテンションモジュール２８は、時間遅延残差ブロック層２００に含まれるｊ番目の遅延操作層２３およびｌ（エル）番目の遅延操作層２３からそれぞれ出力される２つの内部ベクトルを入力とし、重みαｔｌを出力とするニューラルネットワークである。係数モジュール２６は、アテンションモジュール２８により算出される重みαｔｌをｊ番目の遅延操作層２３から出力される内部ベクトルに反映するモジュールに相当する。
【００９７】
本実施の形態に従うＣＴＣベースドモデル１が採用するアテンションメカニズムにおいては、典型的なアテンションメカニズムにおいて採用されている、エンコーダＲＮＮおよびデコーダＲＮＮを明示的には有していない。典型的なエンコーダＲＮＮおよびデコーダＲＮＮに代えて、本実施の形態に従うＣＴＣベースドモデル１においては、時間遅延残差ブロック２０を構成する任意の２つの層（全結合層２２および遅延操作層２３）の出力を受けて、重みαｔｌを決定するアテンションモジュール２８を採用する。
【００９８】
すなわち、本実施の形態に従うアテンションメカニズムにおいては、上述の（９）式に示されるような、直前のタイムステップｔ−１についてのアテンションスコアのベクトル（重み）αｔ−１を入力に含めず、現在のタイムステップｔについての重みαｔを計算するのみとする。
【００９９】
また、本実施の形態に従うアテンションメカニズムにおいては、上述の（９）式に示されるような、エンコーダＲＮＮの出力Ｈに代えて、現在のｊ番目の層（全結合層２２および遅延操作層２３）の出力Ｈ〜ｔｊと、未来のｌ（エル）番目の層（全結合層２２および遅延操作層２３）の出力Ｈ〜ｔｌとを用いる。
【０１００】
同様に、上述の（９）式に示されるタイムステップｔについてのアテンションスコアのベクトルαｔおよび次のタイムステップｔについてのアテンションモジュールの出力ｅｔに代えて、層に対応したベクトルαｔｌおよび出力ｅｔｊを用いる。すなわち、図１０に示す構造におけるアテンションモジュールの出力ｅｔｊは、以下の（１０）式のように示すことができる。
【０１０１】
【数９】
2019159058.tif 000012
【０１０２】
上述の（１０）式に示す関数Ａｔｔｅｎｔｉｏｎは、以下の（１１）式および（１２）式に沿って導出できる。
【０１０３】
【数１０】
2019159058.tif 000013
【０１０４】
ここで、関数Ｒｅｗｒｉｔｅは、パラメータ（Ｕ，Ｖ，ｂａｔｔ）でトレーニング可能な多層パーセプトロン（ＭＬＰ：multilayer perceptron）ネットワーク、および、ｓｏｆｔｍａｘ出力を含む。その結果、アテンションモジュールの出力ｅｔｊは、以下の（１１）式のように示すことができる。
【０１０５】
【数１１】
2019159058.tif 000014
【０１０６】
上述の（１２）式に示されるように、アテンションモジュールの出力ｅｔｊは、上述の（７）式および（８）式と同様に、時間遅延残差ブロック２０における層の位置（ｊ番目）に依存して決定される。
【０１０７】
なお、本実施の形態に従うＣＴＣベースドモデル１においては、エンコーダＲＮＮおよびデコーダＲＮＮを明示的には有していないが、標準残差ブロック層１００（複数の標準残差ブロック１０が積層されている）がエンコーダＲＮＮに相当する機能を発揮し、図１０に示すようなアテンションメカニズムを有する時間遅延残差ブロック層２００（複数の時間遅延残差ブロック２０が積層されている）がデコーダＲＮＮに相当する機能を発揮すると考えることもできる。
【０１０８】
本実施の形態に従うアテンションモジュール２８は、任意の２つの層に関連付けることが可能であるが、後述する評価実験の結果によれば、標準残差ブロック層１００に最も近い、１番目の層（全結合層１２および活性化関数１４）の出力と、２番目の層（全結合層１２および活性化関数１４）の出力とを利用できるように構成することで、性能を高めることができる。このように、本実施の形態に従うアテンションモジュール２８は、時間遅延残差ブロック層２００において最も入力側に近い遅延操作層２３から出力される内部ベクトルに、重みを反映するように構成されることが好ましい。
【０１０９】
（ｃ７：アテンションメカニズムの実装例）
上述の図１０に示すような本実施の形態に従うＣＴＣベースドモデル１が採用するアテンションメカニズムを実装するにあたっては、ネットワーク構造において何らの自己ループも生じないように、以下のような実装例を採用してもよい。
【０１１０】
図１１は、本実施の形態に従うＣＴＣベースドモデル１が採用するアテンションメカニズムの実装例を説明するための模式図である。図１１を参照して、ｊ番目の層とｌ（エル）番目の層のそれぞれから出力される内部ベクトル（フィードフォワード出力）をキャッシュする（ＳＴ１）。アテンションモジュール２８は、キャッシュされたそれぞれの内部ベクトルを用いてアテンションスコアを計算する（ＳＴ２）。そして、（ｊ＋１）番目の層の出力は、計算されたアテンションスコアを用いて、重みが更新される（ＳＴ３）。
【０１１１】
図１１に示すように、アテンションモジュール２８は、時間遅延残差ブロック層２００に含まれる遅延操作層２３から出力されるそれぞれの内部ベクトルを一旦キャッシュした上で、重みの計算および重みの反映を実行することが好ましい。すなわち、各層のフィードフォワード出力を一旦キャッシュすることで、重みの更新処理を適切に実行できる。
【０１１２】
［Ｄ．学習処理］
次に、本実施の形態に従うＣＴＣベースドモデル１を構築するための学習処理について説明する。本実施の形態に従うＣＴＣベースライン１は、Ｅ２Ｅフレームワークを提供するものであり、音響モデルおよび言語モデルを別々に学習する必要はない。すなわち、ＣＴＣベースライン１は、入力される音声信号に対応するテキストを直接出力するものであり、学習処理においても、デコーディングと同様に、音声信号と対応するテキストとからなるトレーニングデータセットを用いる。
【０１１３】
本実施の形態に従うＣＴＣベースライン１の学習処理は、ニューラルネットワークの一般的な学習処理と同様に、教師有り学習を用いることができる。具体的には、ＣＴＣベースライン１を構成する各コンポーネントのパラメータに任意の初期値を設定する。その上で、トレーニングデータセットに含まれる音声信号（音響特徴シーケンス）をＣＴＣベースライン１に順次入力するとともに、ＣＴＣベースライン１から順次出力されるＣＴＣ出力シーケンス（テキスト）と入力された音声信号に対応するテキストとの誤差を算出し、その算出した誤差に基づいて、ＣＴＣベースライン１を構成する各コンポーネントのパラメータを逐次更新する。このとき、上述の（１）式に従って、算出される誤差に基づいて誤差逆伝播法を適用できる。
【０１１４】
このような音声信号の入力に対してＣＴＣベースドモデル１から出力されるＣＴＣ出力シーケンスと、当該入力された音声信号に対応するテキストとの誤差が予め定められたしきい値以下になるまで、ＣＴＣベースライン１を構成する各コンポーネントのパラメータが順次更新される。
【０１１５】
以上のような学習処理によって、トレーニングデータから本実施の形態に従うＣＴＣベースドモデル１を構築できる。
【０１１６】
［Ｅ．音声認識システムを実現するためのハードウェア構成］
次に、本実施の形態に従うＣＴＣベースドモデル１を用いた音声認識システムＳを実現するためのハードウェア構成の一例について説明する。
【０１１７】
図１２は、本実施の形態に従う音声認識システムＳを実現するハードウェア構成の一例を示す模式図である。音声認識システムＳは、典型的には、コンピュータの一例である情報処理装置５００を用いて実現される。
【０１１８】
図１２を参照して、音声認識システムＳを実現する情報処理装置５００は、主要なハードウェアコンポーネントとして、ＣＰＵ（central processing unit）５０２と、ＧＰＵ（graphics processing unit）５０４と、主メモリ５０６と、ディスプレイ５０８と、ネットワークインターフェイス（Ｉ／Ｆ：interface）５１０と、二次記憶装置５１２と、入力デバイス５２２と、光学ドライブ５２４とを含む。これらのコンポーネントは、内部バス５２８を介して互いに接続される。
【０１１９】
ＣＰＵ５０２および／またはＧＰＵ５０４は、後述するような各種プログラムを実行することで、本実施の形態に従う音声認識システムＳの実現に必要な処理を実行するプロセッサである。ＣＰＵ５０２およびＧＰＵ５０４は、複数個配置されてもよいし、複数のコアを有していてもよい。
【０１２０】
主メモリ５０６は、プロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）が処理を実行するにあたって、プログラムコードやワークデータなどを一時的に格納（あるいは、キャッシュ）する記憶領域であり、例えば、ＤＲＡＭ（dynamic random access memory）やＳＲＡＭ（static random access memory）などの揮発性メモリデバイスなどで構成される。
【０１２１】
ディスプレイ５０８は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、ＬＣＤ（liquid crystal display）や有機ＥＬ（electroluminescence）ディスプレイなどで構成される。
【０１２２】
ネットワークインターフェイス５１０は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータを遣り取りする。ネットワークインターフェイス５１０としては、例えば、イーサネット（登録商標）、無線ＬＡＮ（local area network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの任意の通信方式を採用できる。
【０１２３】
入力デバイス５２２は、ユーザからの指示や操作などを受付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。また、入力デバイス５２２は、学習およびデコーディングに必要な音声信号を収集するための集音デバイスを含んでいてもよいし、集音デバイスにより収集された音声信号の入力を受付けるためのインターフェイスを含んでいてもよい。
【０１２４】
光学ドライブ５２４は、ＣＤ−ＲＯＭ（compact disc read only memory）、ＤＶＤ（digital versatile disc）などの光学ディスク５２６に格納されている情報を読出して、内部バス５２８を介して他のコンポーネントへ出力する。光学ディスク５２６は、非一過的（non-transitory）な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ５２４が光学ディスク５２６からプログラムを読み出して、二次記憶装置５１２などにインストールすることで、コンピュータが情報処理装置５００として機能するようになる。したがって、本発明の主題は、二次記憶装置５１２などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク５２６などの記録媒体でもあり得る。
【０１２５】
図１２には、非一過的な記録媒体の一例として、光学ディスク５２６などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、ＭＯ（magneto-optical disk）などの光磁気記録媒体を用いてもよい。
【０１２６】
二次記憶装置５１２は、コンピュータを情報処理装置５００として機能させるために必要なプログラムおよびデータを格納する。例えば、ハードディスク、ＳＳＤ（solid state drive）などの不揮発性記憶装置で構成される。
【０１２７】
より具体的には、二次記憶装置５１２は、図示しないＯＳ（operating system）の他、学習処理を実現するためのトレーニングプログラム５１４と、学習対象のネットワーク構造を定義するモデル定義データ５１６と、学習済モデルを規定するためのネットワークパラメータ５１８と、トレーニングデータセット５２０とを格納している。
【０１２８】
トレーニングプログラム５１４は、プロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）により実行されることで、ネットワークパラメータ５１８を決定するための学習処理を実現する。モデル定義データ５１６は、学習対象となるＣＴＣベースドモデル１のネットワーク構造を構成するコンポーネントおよび接続関係などを定義するための情報を含む。ネットワークパラメータ５１８は、学習対象のモデル（ネットワーク）を構成する要素ごとのパラメータを含む。ネットワークパラメータ５１８に含まれる各パラメータの値は、トレーニングプログラム５１４の実行により最適化される。トレーニングデータセット５２０は、例えば、後述するようなＣＳＪに含まれるデータセットを用いることができる。例えば、学習対象のＣＴＣベースドモデル１が音声認識タスクに向けられたものである場合には、トレーニングデータセット５２０は、講演などの音声信号と、当該音声信号に対応する発話内容を示す転記テキストとを含む。
【０１２９】
プロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）がプログラムを実行する際に必要となるライブラリや機能モジュールの一部を、ＯＳが標準で提供するライブラリまたは機能モジュールにより代替してもよい。この場合には、プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、ＯＳの実行環境下にインストールされることで、目的の処理を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。
【０１３０】
また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。
【０１３１】
図１２には、単一のコンピュータを用いて情報処理装置５００を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的に連携して、情報処理装置５００および情報処理装置５００を含む音声認識システムＳを実現するようにしてもよい。
【０１３２】
プロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路（hard-wired circuit）を用いて実現してもよい。例えば、ＡＳＩＣ（application specific integrated circuit）やＦＰＧＡ（field-programmable gate array）などを用いて実現してもよい。
【０１３３】
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置５００を実現できるであろう。
【０１３４】
説明の便宜上、同一の情報処理装置５００を用いて、学習（ＣＴＣベースドモデル１の構築）およびデコーディング（ＣＴＣベースドモデル１を含むモデルによる音声認識）を実行する例を示したが、学習およびデコーディングを異なるハードウェアを用いて実現してもよい。
【０１３５】
［Ｆ．処理手順］
次に、本実施の形態に従うＣＴＣベースドモデル１における処理手順の一例について説明する。
【０１３６】
（ｆ１：学習処理）
図１３は、本実施の形態に従うＣＴＣベースドモデル１の学習処理の処理手順を示すフローチャートである。図１３に示す各ステップは、典型的には、情報処理装置５００のプロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）がトレーニングプログラム５１４を実行することで実現される。
【０１３７】
図１３を参照して、情報処理装置５００には、音声信号４２と対応するテキスト４４とからなるトレーニングデータセット４０が入力される（ステップＳ１００）。情報処理装置５００は、ＣＴＣベースドモデル１を規定するネットワークパラメータの初期値をランダムに決定する（ステップＳ１０２）。
【０１３８】
情報処理装置５００は、トレーニングデータセット４０に含まれる音声信号４２からフレームごとに特徴ベクトルを生成する（ステップＳ１０４）。そして、情報処理装置５００は、生成した特徴ベクトルを入力として用いて、ＣＴＣベースドモデル１に含まれる標準残差ブロック層１００の演算を実行し（ステップＳ１０６）、標準残差ブロック層１００から出力される内部層の出力ベクトル１０２をキャッシュする（ステップＳ１０８）。
【０１３９】
情報処理装置５００は、予め定められた数の出力ベクトル１０２がキャッシュされているか否かを判断する（ステップＳ１１０）。このステップＳ１１０の処理は、時間遅延残差ブロック層２００における時間遅延操作に必要な数の出力ベクトル１０２が確保されることを保証するための処理である。ステップＳ１０４〜Ｓ１０８の処理は、予め定められた数の出力ベクトル１０２がキャッシュされるまで繰返される。
【０１４０】
予め定められた数の出力ベクトル１０２がキャッシュされていれば（ステップＳ１１０においてＹＥＳ）、キャッシュされた出力ベクトル１０２を入力として用いて、時間遅延残差ブロック層２００の演算を実行する（ステップＳ１１２）。
【０１４１】
情報処理装置５００は、時間遅延残差ブロック層２００からの出力を入力として用いて、出力層３００の演算を実行する（ステップＳ１１４）。
【０１４２】
情報処理装置５００は、出力層３００からの推定結果が予め定められた数に到達したか否かを判断する（ステップＳ１１６）。出力層３００からの推定結果が予め定められた数に到達していなければ（ステップＳ１１６においてＮＯ）、ステップＳ１０４以下の処理が繰返される。
【０１４３】
出力層３００からの推定結果が予め定められた数に到達していれば（ステップＳ１１６においてＹＥＳ）、情報処理装置５００は、出力層３００からの推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する（ステップＳ１１８）。
【０１４４】
学習処理の収束条件が満たされていなければ（ステップＳ１１８においてＮＯ）、情報処理装置５００は、出力層３００からの推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、ＣＴＣベースドモデル１を規定するネットワークパラメータの値を更新し（ステップＳ１２０）、ステップＳ１０４以下の処理を繰返す。
【０１４５】
これに対して、学習処理の収束条件が満たされていれば（ステップＳ１１８においてＹＥＳ）、現在のネットワークパラメータを学習結果として出力する（ステップＳ１２２）。すなわち、現在のネットワークパラメータにより規定されるＣＴＣベースドモデル１が学習済モデルとして出力される。そして、学習処理は完了する。
【０１４６】
なお、上述の説明においては、音声信号４２と対応するテキスト４４（ラベルシーケンス）とからなるトレーニングデータセット４０を用いた学習方法を例示したが、これに限らず、例えば、音声信号４２と対応する単音（phones）シーケンスとからなる第１のトレーニングデータセットを用いて、図５に示すＣＴＣベースドモデル１のマッピング関数３４を除く部分を学習し、その後、単音シーケンスとテキスト４４とからなる第２のトレーニングデータセットを用いてマッピング関数３４を学習するようにしてもよい。
【０１４７】
（ｆ２：エンコーディング）
図１４は、本実施の形態に従うＣＴＣベースドモデル１を用いたエンコーディングの処理手順を示すフローチャートである。図１４に示す各ステップは、典型的には、情報処理装置５００のプロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）がトレーニングプログラム５１４を実行することで実現される。
【０１４８】
図１４を参照して、情報処理装置５００には、入力される音声信号からフレームごとに特徴ベクトルを生成する（ステップＳ２００）。そして、情報処理装置５００は、生成した特徴ベクトルを入力として用いて、ＣＴＣベースドモデル１に含まれる標準残差ブロック層１００の演算を実行し（ステップＳ２０２）、標準残差ブロック層１００から出力される内部層の出力ベクトル１０２をキャッシュする（ステップＳ２０４）。
【０１４９】
情報処理装置５００は、予め定められた数の出力ベクトル１０２がキャッシュされているか否かを判断する（ステップＳ２０６）。予め定められた数の出力ベクトル１０２がキャッシュされていなければ（ステップＳ２０６においてＮＯ）、ステップＳ２００以下の処理が繰返される。
【０１５０】
予め定められた数の出力ベクトル１０２がキャッシュされていれば（ステップＳ２０６においてＹＥＳ）、キャッシュされた出力ベクトル１０２を入力として用いて、時間遅延残差ブロック層２００の演算を実行する（ステップＳ２０８）。そして、情報処理装置５００は、時間遅延残差ブロック層２００からの出力を入力として用いて、出力層３００の演算を実行する（ステップＳ２１０）。最終的に、情報処理装置５００は、出力層３００の演算結果を推定結果として出力する（ステップＳ２１２）。
【０１５１】
そして、情報処理装置５００は、音声信号の入力が継続しているか否かを判断する（ステップＳ２１４）。音声信号の入力が継続していれば（ステップＳ２１４においてＹＥＳ）、ステップＳ２００以下の処理が繰返される。
【０１５２】
一方、音声信号の入力が継続していなければ（ステップＳ２１４においてＮＯ）、エンコーディングの処理は終了する。
【０１５３】
［Ｇ．評価実験］
本願発明者らは、上述した本実施の形態に従うＣＴＣベースドモデル１の性能について評価実験を行なった。以下、評価実験について説明する。
【０１５４】
（ｇ１：タスクおよびデータの説明）
評価実験には、トレーニングデータセットおよび評価データとして、国立国語研究所が提供している「日本語話し言葉コーパス（Corpus of Spontaneous Japanese：ＣＳＪ）」を用いた。
【０１５５】
先行研究における知見に従って、ＣＳＪに含まれる２４０時間分の講演の音声をトレーニングデータセット（以下、「ＣＳＪ−Ｔｒａｉｎ」とも称す。）として構成した。
【０１５６】
ＣＳＪは、３個の公式の評価データセット（ＣＳＪ−Ｅｖａｌ０１、ＣＳＪ−Ｅｖａｌ０２、ＣＳＪ−Ｅｖａｌ０３）を含む。各評価データセットは、１０講演分の音声を含む。これらの評価データセットを音声認識結果の評価に用いた。また、１０講演分の音声からなる開発データセット（ＣＳＪ−Ｄｅｖ）をトレーニング中の評価用として用いた。
【０１５７】
さらに、ウオームアップ初期化およびパラメータチューニングのためのシードモデルのトレーニングのために、ＣＳＪに含まれる２７．６時間分のデータセット（以下、「ＣＳＪ−Ｔｒａｉｎｓｍａｌｌ」とも称す。）を選択した。
【０１５８】
これらのデータセットに含まれる講演の数および時間は、以下のＴａｂｌｅ２に示す通りである。
【０１５９】
【表２】
2019159058.tif 000015
【０１６０】
（ｇ２：ベースラインモデル）
まず、ＣＳＪ−Ｔｒａｉｎを用いて、評価基準となるベースラインをトレーニングした。第１のベースラインモデルとして、ＤＮＮ−ＨＭＭ−ＣＥ（deep neural network and hidden Markov model cross entropy）モデルを取り上げる。ＤＮＮ−ＨＭＭ−ＣＥモデルを構築するにあたって、まず、音響モデルに相当するＧＭＭ−ＨＭＭ（Gaussian mixture model and hidden Markov model）モデルをトレーニングし、続いて、５個の隠れ層（各層は２０４８個の隠れノードを有する）からなるＤＮＮモデル（言語モデルに相当する）をトレーニングした。出力層は、約８５００個のノードを有しており、これは、ＧＭＭ−ＨＭＭモデルの結合トライフォン（triphone）状態に対応する。これらのトレーニングにおいて、７２次元のフィルタバンク特徴（２４次元のスタティック＋Δ＋ΔΔ）を用いた。フィルタバンク特徴は、話者ごとに平均化および正規化が行なわれた結果であり、分割された１１フレーム（過去５フレーム、現在フレーム、未来５フレーム）からなる。ＤＮＮモデルは、交差エントロピー損失基準に基づく標準的な確率的勾配降下法（ＳＧＤ：stochastic gradient descent）を用いてトレーニングした。
【０１６１】
第２のベースラインモデルとして、ＢＬＳＴＭ−ＣＴＣモデルを取り上げる。ＢＬＳＴＭ−ＣＴＣモデルについても、ＤＮＮ−ＨＭＭ−ＣＥモデルと同様に、７２次元のフィルタバンク特徴（２４次元のスタティック＋Δ＋ΔΔ）（非分割）を用いてトレーニングした。ＢＬＳＴＭ−ＣＴＣモデルを構成するＢＬＳＴＭネットワークとしては、５個の隠れ層（各層は３２０個の隠れノードを有する）からなるネットワークを用いた。また、ＣＴＣのトレーニングに対しては、音響単位として、２８個のコンテキスト非依存の日本語の単音（phones）（以下、「ＣＩ−ｐｈｏｎｅｓ」とも称す。）およびブランク（φ）を用いた。
【０１６２】
第３のベースラインモデルとして、ＵＬＳＴＭ−ＣＴＣモデルを取り上げる。ＵＬＳＴＭ−ＣＴＣモデルは、上述のＢＬＳＴＭ−ＣＴＣモデルと同じパラメータサイズ（５個の隠れ層（各層は６４０個の隠れノードを有する））を有するものを構成した。ＵＬＳＴＭ−ＣＴＣモデルは、単方向であるので、過去側の特徴は８個のフレームを有する一方、未来側の特徴は存在しない。
【０１６３】
デコードに関して、４グラム単語言語モデル（ＷＬＭ：word language model）を、５９１時間分のＣＳＪトレーニングデータセットの転記テキストによりトレーニングした。ＷＬＭの語彙サイズは９８×１０３である。
【０１６４】
（ｇ３：ＣＴＣベースドモデル１のトレーニングのための設定）
本実施の形態に従うＣＴＣベースドモデル１は、上述のＢＬＳＴＭ−ＣＴＣモデルと同様に、７２次元のフィルタバンク特徴（２４次元のスタティック＋Δ＋ΔΔ）（非分割）を用いてトレーニングした。ラベルは、上述したベースラインとなる２つのＣＴＣベースドモデルのラベルと同じものを用いた。
【０１６５】
ＣＳＪに含まれる２７．６時間分のデータセット（ＣＳＪ−Ｔｒａｉｎｓｍａｌｌ）を用いて、交差エントロピー損失基準に基づいてシードモデルをトレーニングし、それにより得られたモデルパラメータを用いてＣＴＣモデルを初期化した。ＣＴＣのトレーニングには、ＦｓＡｄａＧｒａｄアルゴリズムを用いた。２４０時間分の講演の音声を含むトレーニングデータセット（ＣＳＪ−Ｔｒａｉｎ）を用いたトレーニングを高速化するために、ＢＭＵＦ（block-wise model update filtering）を適用した。各フレームに対する学習レートの初期値は０．００００１とし、ＣＳＪ−Ｄｅｖについての検定結果に応じて学習レートを自動的に変更した。ミニバッチサイズは２０４８とし、同一のミニバッチにおいて並列処理されるシーケンス数は１６とした。エポック数の最大値は２５とした。
【０１６６】
（ｇ４：ＣＴＣベースドモデル１のモデル構造のチューニング）
次に、実施の形態に従うＣＴＣベースドモデル１のモデル構造の最適化を行なった。この際、トレーニングデータセット（ＣＳＪ−Ｔｒａｉｎ）を用いてネットワークのプロトタイプを構成し、評価データセット（ＣＳＪ−Ｅｖａｌ０１）を用いて最適な構造の一例を選択した。評価実験に用いたネットワーク構造を示すパラメータは、以下のＴａｂｌｅ３に示す通りである。
【０１６７】
【表３】
2019159058.tif 000016
【０１６８】
上記のネットワーク構造において、すべての層は活性化関数（ＲｅＬＵ）を用いて全結合されている。
【０１６９】
このネットワーク構造においては、３個の標準残差ブロック１０（ＲｅｓＢｌｏｃｋ１，ＲｅｓＢｌｏｃｋ２，ＲｅｓＢｌｏｃｋ３）（各々が３個の全結合層を有している。）と、３個の時間遅延残差ブロック層２００（ＴＤＲｅｓＢｌｏｃｋ１，ＴＤＲｅｓＢｌｏｃｋ２，ＴＤＲｅｓＢｌｏｃｋ３）（各々が５個の全結合層および５個の時間遅延操作を有している。）とを含む。時間遅延操作のすべては、一対のグローバルメモリベクトルに関連付けられており、最終的に、過去および未来の特徴は、一対のグローバルメモリベクトル（各々が［１０２４×１］）にそれぞれ格納される。評価実験に用いたネットワーク全体としては、２６の全結合層（標準残差ブロック層１００内の３×３層＋時間遅延残差ブロック層２００内の３×５層＋全結合層×２）で構成されることになる。
【０１７０】
（ｇ５：ＣＴＣベースドモデル１の時間遅延残差ブロック層２００の数）
次に、ＣＴＣベースドモデル１に含まれる時間遅延残差ブロック層２００の数についての評価した結果を、以下のＴａｂｌｅ４に示す。
【０１７１】
【表４】
2019159058.tif 000017
【０１７２】
Ｔａｂｌｅ４においては、ＣＴＣベースドモデル１に含まれる時間遅延残差ブロック層２００の数を２〜４の範囲で変化させて、その性能を評価した。評価指標としては、自動音声認識（ＡＳＲ：Automatic Speech Recognition）の単語誤り率（ＷＥＲ：word error rate）を用いた。ＷＥＲは、評価対象のモデルに音声を入力したときに出力されるテキストについて、当該入力された音声に対応する正解テキストに対する誤り率を示す。ＷＥＲの値が小さいほど性能が高いことを示す。
【０１７３】
Ｔａｂｌｅ４に示される評価結果によれば、時間遅延残差ブロック層２００の数を変化させたとしても、有意な性能向上は得られなかった。
【０１７４】
（ｇ６：ＣＴＣベースドモデル１のメモリエンコーディング）
次に、ＣＴＣベースドモデル１のメモリエンコーディングの方法について評価した結果を、以下のＴａｂｌｅ５に示す。
【０１７５】
【表５】
2019159058.tif 000018
【０１７６】
Ｔａｂｌｅ５においては、メモリエンコーディングを用いない場合（ｗ／ｏ  ＭｅｍＶｅｃ）に加えて、メモリエンコーディングの方法を４種類に異ならせて、その性能を評価した。評価指標としてはＷＥＲを用いている。
【０１７７】
一対のグローバルメモリベクトルのみを用いる場合（２ＭｅｍＶｅｃ）に加えて、時間遅延残差ブロック層２００の各々に一対のグローバルメモリベクトルをさらに用いる場合（２ＭｅｍＶｅｃ×３ＴＤＲｅｓＢｌｏｃｋｓ）と、時間遅延残差ブロック層２００に含まれる遅延操作層２３の各層にそれぞれ関連付けられた一対のグローバルメモリベクトルを用いる場合（２ＭｅｍＶｅｃ×５Ｌａｙｅｒｓ）と、各時間遅延残差ブロック層２００に含まれる各遅延操作層２３に一対のグローバルメモリベクトルを用いる場合（２ＭｅｍＶｅｃ×５Ｌａｙｅｒｓ×３ＴＤＲｅｓＢｌｏｃｋｓ）とについて、それぞれ性能を評価した。
【０１７８】
Ｔａｂｌｅ５に示される評価結果によれば、メモリエンコーディングを用いない（すなわち、グローバルメモリベクトルが存在しない）場合には、急激に性能が低下することが分かる。一方、遅延操作層２３ごとにグローバルメモリベクトルを配置したとしても（２ＭｅｍＶｅｃ×５Ｌａｙｅｒｓ×３ＴＤＲｅｓＢｌｏｃｋｓ）、他の場合に比較して、有意な性能向上は得られなかった。そのため、本実施の形態においては、ＣＴＣベースドモデル１全体に対して一対のグローバルメモリベクトルを配置する、最もシンプルなメモリエンコーディングを採用する。
【０１７９】
（ｇ７：フレームの非対称性）
上述したような注目するフレーム（現在フレーム）を中心にして、過去未来同数のフレームをＣＴＣベースドモデル１に入力する例を示したが、音声信号に対して非対称にウィンドウを設定した場合の性能を評価した。その評価結果を以下のＴａｂｌｅ６に示す。
【０１８０】
【表６】
2019159058.tif 000019
【０１８１】
Ｔａｂｌｅ６に示される評価結果によれば、ウィンドウの設定位置を非対称に設定したとしても、有意な性能向上は得られなかった。
【０１８２】
（ｇ８：アテンションメカニズムの位置）
本実施の形態に従うＣＴＣベースドモデル１の性能を高める観点から、上述したようなアテンションメカニズムが時間遅延残差ブロック層２００のいずれの層に配置されるのかを異ならせて、ＣＴＣベースドモデル１の性能を評価した。その評価結果を以下のＴａｂｌｅ７に示す。
【０１８３】
【表７】
2019159058.tif 000020
【０１８４】
Ｔａｂｌｅ７において、「Ｌ２」は１番目の層と２番目の層との出力をアテンションメカニズムに入力した場合を示し、「Ｌ５」は１番目の層と５番目の層との出力をアテンションメカニズムに入力した場合を示し、「Ｌ１０」は１番目の層と１０番目の層との出力をアテンションメカニズムに入力した場合を示し、「Ｌ１５」は１番目の層と１５番目の層との出力をアテンションメカニズムに入力した場合を示す。「Ｌ２＋Ｌ１５」は、２番目の層と１５番目の層との出力をアテンションメカニズムに入力した場合を示す。
【０１８５】
Ｔａｂｌｅ７に示される評価結果によれば、時間遅延残差ブロック層２００の１番目の層と２番目の層との出力を用いたアテンションメカニズムを採用することで、性能を飛躍的に高めることができる。
【０１８６】
（ｇ９：音声認識性能）
次に、本実施の形態に従うＣＴＣベースドモデル１の音声認識性能の一例について説明する。音声認識性能の評価には、ＣＳＪに含まれる３個の評価データセット（ＣＳＪ−Ｅｖａｌ０１、ＣＳＪ−Ｅｖａｌ０２、ＣＳＪ−Ｅｖａｌ０３）を用いた。音声認識性能の評価結果を以下のＴａｂｌｅ８に示す。
【０１８７】
【表８】
2019159058.tif 000021
【０１８８】
Ｔａｂｌｅ８において、最下段の「ＶＲｅｓＴＤ−ＣＴＣ」が本実施の形態に従うＣＴＣベースドモデル１（アテンションメカニズムを含んでいない）を示す。
【０１８９】
「ＤＮＮ−ＨＭＭ−ＣＥ」は上述の第１のベースラインモデルを示し、「ＢＬＳＴＭ−ＣＴＣ」は上述の第２のベースラインモデルを示す。「ＢＬＳＴＭ−ＣＴＣ−ｓｓ３」は、第２のベースラインモデル（ＢＬＳＴＭ−ＣＴＣ）を低フレームレート（サブサンプリングレートを「３」に設定）でトレーニングしたモデルを示す。また、「ＵＬＳＴＭ−ＣＴＣ−ｓｓ３」は、第３のベースラインモデル（ＵＬＳＴＭ−ＣＴＣ）を低フレームレート（サブサンプリングレートを「３」に設定）でトレーニングしたモデルを示す。
【０１９０】
Ｔａｂｌｅ８に示すように、ベースラインモデルである、ＤＮＮ−ＨＭＭ−ＣＥモデルとＢＬＳＴＭ−ＣＴＣモデルとは、ほぼ同等の性能を有していることが分かる。本実施の形態に従うＣＴＣベースドモデル１のＣＳＪ−Ｅｖａｌ０１およびＣＳＪ−Ｅｖａｌ０２に対するＷＥＲは、これら２つのベースラインモデルに比較して、それぞれ約１．２％および約０．６％高い。しかしながら、ＣＳＪ−Ｅｖａｌ０３については、本実施の形態に従うＣＴＣベースドモデル１は、これら２つのベースラインモデルに比較して、高い性能を示すことが分かる。
【０１９１】
また、本実施の形態に従うＣＴＣベースドモデル１は、すべての評価データセットについて、ＵＬＳＴＭ−ＣＴＣ−ｓｓ３に比較して、高い性能を示すことが分かる。
【０１９２】
このような音声認識性能の差は、ＢＬＳＴＭネットワークを用いるＢＬＳＴＭ−ＣＴＣモデルと、ＴＤＮＮを用いるモデル（本実施の形態に従うＣＴＣベースドモデル１を含む）との間のネットワーク構造の相違に起因すると考えることができる。
【０１９３】
すなわち、ＴＤＮＮを用いるモデルにおいて、各層には、その下位の層から過去および未来の特徴がフィードバックされるのみであるのに対して、ＢＬＳＴＭネットワークにおいては、同一の層からもフィードバックを受けることができるため、より高い性能を発揮できると考えられる。
【０１９４】
本実施の形態に従うＣＴＣベースドモデル１は、アテンションメカニズムを含んでいなくとも、ベースラインモデルを超える性能を発揮できることが示されているが、以下に示すように、アテンションメカニズムを有効化することで、より性能を高めることができる。アテンションメカニズムを有効化した、本実施の形態に従うＣＴＣベースドモデル１を含む、音声認識性能の評価結果を以下のＴａｂｌｅ９に示す。
【０１９５】
【表９】
2019159058.tif 000022
【０１９６】
Ｔａｂｌｅ９において、最下段の「ＶＲｅｓＴＤ−Ａｔｔｅｎ−ＣＴＣ」が本実施の形態に従うＣＴＣベースドモデル１（アテンションメカニズムを含む）を示す。
【０１９７】
Ｔａｂｌｅ９に示すように、アテンションメカニズムを有効化することで、本実施の形態に従うＣＴＣベースドモデル１は、ＷＥＲの平均値が「１４．３％」から「１３．９％」に改善していることが分かる。
【０１９８】
本実施の形態に従うＣＴＣベースドモデル１が示すＷＥＲの平均値は、第１のベースラインモデル（ＤＮＮ−ＨＭＭ−ＣＥ）および第２のベースラインモデル（ＢＬＳＴＭ−ＣＴＣ）が示すＷＥＲの平均値とほぼ同等である。また、ＢＬＳＴＭ−ＣＴＣモデルおよびＵＬＳＴＭ−ＣＴＣの低フレームレート版に比較して、より高い性能を発揮することが分かる。
【０１９９】
［Ｈ．まとめ］
本実施の形態に従うＣＴＣベースライン１を用いた音声認識システムＳによれば、ＢＬＳＴＭネットワークのような再帰フィードバックを用いることなく、連続するフレームシーケンスで構成される音声信号に対する音声認識を実現できる。再帰フィードバックを含まないネットワーク構造を採用することで、ＢＬＳＴＭ−ＣＴＣモデルでは実現が難しい、オンライン音声認識などを実現できる。
【０２００】
本実施の形態に従うＣＴＣベースライン１を用いた音声認識システムＳによれば、音声信号からテキストを直接的に出力できる、Ｅ２Ｅフレームワークを実現できる。
【０２０１】
本実施の形態に従うＣＴＣベースライン１においては、比較的次元の小さなニューラルネットワークにより実現されるアテンションメカニズムを採用することで、認識精度を大幅に高めることができる。
【０２０２】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２０３】
１  ＣＴＣベースドモデル、２  特徴量抽出部、４  認識エンジン、１０  標準残差ブロック、１１，２１  スキップ経路、１２，２２，３０  全結合層、１４，２４  活性化関数、２０  時間遅延残差ブロック、２３  遅延操作層、２６  係数モジュール、２８  アテンションモジュール、３２  ｓｏｆｔｍａｘ関数、３４  マッピング関数、４０，５２０  トレーニングデータセット、４２  音声信号、４４  テキスト、１００  標準残差ブロック層、２００  時間遅延残差ブロック層、２３２  ステップ遅延処理、２３４  サブサンプリング処理、２３６  メモリエンコーディング処理、２３８−１，２３８−２  遅延要素、３００  出力層、５００  情報処理装置、５０２  ＣＰＵ、５０４  ＧＰＵ、５０６  主メモリ、５０８  ディスプレイ、５１０  ネットワークインターフェイス、５１２  二次記憶装置、５１４  トレーニングプログラム、５１６  モデル定義データ、５１８  ネットワークパラメータ、５２２  入力デバイス、５２４  光学ドライブ、５２６  光学ディスク、５２８  内部バス。
【図１】
2019159058.tif 000023
【図２】
2019159058.tif 000024
【図３】
2019159058.tif 000025
【図４】
2019159058.tif 000026
【図５】
2019159058.tif 000027
【図６】
2019159058.tif 000028
【図７】
2019159058.tif 000029
【図８】
2019159058.tif 000030
【図９】
2019159058.tif 000031
【図１０】
2019159058.tif 000032
【図１１】
2019159058.tif 000033
【図１２】
2019159058.tif 000034
【図１３】
2019159058.tif 000035
【図１４】
2019159058.tif 000036