(57)【要約】【課題】対象のシステムに応じて適切なネットワーク構造を提供できるモデルを提供する。【解決手段】識別器は、入力信号から所定時間幅のフレームごとに第１の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路と、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールとを含む。複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有している。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新する。【選択図】図７
2020020872.tif 000002
【特許請求の範囲】
【請求項１】
入力信号に対してラベルのシーケンスを出力する識別器であって、
前記入力信号から所定時間幅のフレームごとに第１の特徴ベクトルを順次生成する入力層と、
前記入力層に引き続く、積層された複数の残差ブロックと、
前記複数の残差ブロックの出力側に接続された出力層とを備え、
前記複数の残差ブロックの各々は、
積層された複数の時間遅延層と、
前記複数の時間遅延層をバイパスするショートカット経路と、
前記複数の時間遅延層を通過する経路と前記ショートカット経路との間の重みを調整するアテンションモジュールとを含み、
前記複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有しており、
前記アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、前記タイムステップごとに前記重みを更新する、識別器。
【請求項２】
前記アテンションモジュールは、
対応する残差ブロックの出力と前記ショートカット経路とに接続された全結合層と、
前記全結合層に接続されたｓｏｆｔｍａｘ関数とを含む、請求項１に記載の識別器。
【請求項３】
前記時間遅延層の各々は、
入力ベクトルに対して、当該入力ベクトルに対応するフレームである現在フレームに対して、前記タイムステップだけ時間を戻した過去フレームに対応する第１の内部ベクトルと、前記タイムステップだけ時間を進めた未来フレームに対応する第２の内部ベクトルとを生成する、請求項１に記載の識別器。
【請求項４】
入力信号に対してラベルのシーケンスを出力するように、コンピュータを機能させるための学習済モデルであって、前記学習済モデルは、
前記入力信号から所定時間幅のフレームごとに第１の特徴ベクトルを順次生成する入力層と、
前記入力層に引き続く、積層された複数の残差ブロックと、
前記複数の残差ブロックの出力側に接続された出力層とを備え、
前記複数の残差ブロックの各々は、
積層された複数の時間遅延層と、
前記複数の時間遅延層をバイパスするショートカット経路と、
前記複数の時間遅延層を通過する経路と前記ショートカット経路との間の重みを調整するアテンションモジュールとを含み、
前記複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有しており、
前記アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、前記タイムステップごとに前記重みを更新する、ように構成される、学習済モデル。
【請求項５】
入力信号に対してラベルのシーケンスを出力する識別器の学習方法であって、
前記識別器は、
前記入力信号から所定時間幅のフレームごとに第１の特徴ベクトルを順次生成する入力層と、
前記入力層に引き続く、積層された複数の残差ブロックと、
前記複数の残差ブロックの出力側に接続された出力層とを備え、
前記複数の残差ブロックの各々は、
積層された複数の時間遅延層と、
前記複数の時間遅延層をバイパスするショートカット経路とを含み、
前記複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有しており、
前記学習方法は、
トレーニングデータセットを用いて前記識別器のネットワークを規定するパラメータを決定する第１のトレーニングステップと、
前記識別器に、前記複数の時間遅延層を通過する経路と前記ショートカット経路との間の重みを調整するアテンションモジュールを付加する付加ステップとを備え、前記アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、前記タイムステップごとに前記重みを更新するように構成されており、
トレーニングデータセットを用いて前記アテンションモジュールを規定するパラメータを決定する第２のトレーニングステップとを備える、学習方法。
【請求項６】
前記アテンションモジュールが付加された識別器に入力信号を与えることで、前記アテンションモジュールにより算出される前記重みの値の変化に基づいて、前記複数の時間遅延層の一部を削除するステップをさらに備える、請求項５に記載の学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、入力信号に対してラベルのシーケンスを出力する識別器、当該識別器に向けられた学習済モデル、当該識別器の学習方法に関する。
【背景技術】
【０００２】
音声認識分野において、超深層畳み込みネットワーク（very deep convolutional network）は、従来の深層ニューラルネットワーク（ＤＮＮ：deep neural network）を大きく上回る性能を示すことが知られている。
【０００３】
音声認識タスクに対して、超深層残差時間遅延ニューラルネットワーク（very deep residual time-delay neural network）が提案されている（例えば、非特許文献１参照）。層数の少ないＴＤＮＮ（time-delay neural network）およびＦＳＭＮ（feedforward sequential memory networks）とは異なり、超深層残差時間遅延ニューラルネットワークは、再帰フィードバックを用いずに、より長いコンテキスト依存性を学習できる。そのため、ＢＬＳＴＭ（bidirectional long short term memory）ネットワークを用いる場合に生じ得る時間遅れなどの問題を回避できる。そのため、音響モデルおよび言語モデルのトレーニングを一体化したＥ２Ｅ（end-to-end）トレーニングへの適用などが有望視されている。
【０００４】
音声認識のための有効なＥ２Ｅフレームワークとして、ＣＴＣ（connectionist temporal classification）フレームワークを用いたモデルが知られている（例えば、非特許文献２など参照）。ＣＴＣフレームワークは、入力される可変長な音声フレームと出力されるラベル（単音（phones）、文字（character）、音節（syllable）などの単位）との間で生じるシーケンスラベリング問題の解決に注力している。ＣＴＣのモデル化技術においては、音響モデルパイプラインを大幅に簡素化している。そのため、ＣＴＣフレームワークにおいては、フレームレベルでのラベルや初期のＧＭＭ−ＨＭＭ（Gaussian mixture model and hidden Markov model）モデル（音響モデルに相当）を必要としない。
【０００５】
本願発明者らは、先に、超深層残差時間遅延（very deep residual time-delay）構造を用いて、ＣＴＣベースのＥ２Ｅモデルをトレーニングすることを提案している（例えば、非特許文献３など参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】S. Zhang, M. Li, Z. Yan, and L. Dai, "Deep-FSMN for large vocabulary continuous speech recognition," in arXiv preprint (accepted for ICASSP2018) arxiv:1803.05030, 2018.
【非特許文献２】A. Graves, S. Fernandez, F. Gomez, and J. Schmidhuber, "Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks," in Proc. ICML, 2006.
【非特許文献３】S. Li, X. Lu, R.Takashima, P. Shen, and H. Kawai, "Improving CTC-based acoustic model with very deep residual neural network," in Proc. INTERSPEECH, 2018.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
超深層モデルを規定するパラメータの膨大さは、最適化を複雑化するとともに、汎化性能を低下させるという課題を有している。本願発明者らの研究では、特定のシステムに対して十分にチューニングされた超深層モデルを別のデータ設定をもつシステムにそのまま適用することはできない。これは、優れた性能を発揮する構造を見つけることは容易ではなく、ネットワーク構造のすべての候補について多数の実験を行なう必要がある。
【０００８】
本技術は、対象のシステムに応じて適切なネットワーク構造を提供できるモデルを提供することを目的としている。
【課題を解決するための手段】
【０００９】
本発明のある局面に従えば、入力信号に対してラベルのシーケンスを出力する識別器が提供される。識別器は、入力信号から所定時間幅のフレームごとに第１の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路と、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールとを含む。複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有している。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新する。
【００１０】
アテンションモジュールは、対応する残差ブロックの出力とショートカット経路とに接続された全結合層と、全結合層に接続されたｓｏｆｔｍａｘ関数とを含むようにしてもよい。
【００１１】
アテンションモジュールは、第１の重みと第２の重みの合計が１となるように、複数の時間遅延層を通過する経路に対する第１の重みと、ショートカット経路に対する第２の重みとを算出するようにしてもよい。
【００１２】
時間遅延層の各々は、入力ベクトルに対して、当該入力ベクトルに対応するフレームである現在フレームに対して、タイムステップだけ時間を戻した過去フレームに対応する第１の内部ベクトルと、タイムステップだけ時間を進めた未来フレームに対応する第２の内部ベクトルとを生成するようにしてもよい。
【００１３】
入力信号は、音声信号であり、識別器は、音声信号に対する音声認識結果を示すラベルを出力するようにしてもよい。
【００１４】
本発明の別の局面に従えば、入力信号に対してラベルのシーケンスを出力するように、コンピュータを機能させるための学習済モデルが提供される。学習済モデルは、入力信号から所定時間幅のフレームごとに第１の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路と、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールとを含む。複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有している。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新する、ように構成される。
【００１５】
本発明のさらに別の局面に従えば、入力信号に対してラベルのシーケンスを出力する識別器の学習方法が提供される。識別器は、入力信号から所定時間幅のフレームごとに第１の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路とを含む。複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有している。学習方法は、トレーニングデータセットを用いて識別器のネットワークを規定するパラメータを決定する第１のトレーニングステップと、識別器に、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールを付加する付加ステップとを含む。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新するように構成されている。学習方法は、トレーニングデータセットを用いてアテンションモジュールを規定するパラメータを決定する第２のトレーニングステップを含む。
【００１６】
第２のトレーニングステップは、アテンションモジュールを規定するパラメータを含む、識別器のネットワークを規定するすべてのパラメータの値を再度決定するステップを含むようにしてもよい。
【００１７】
第２のトレーニングステップは、第１のトレーニングステップにおいて決定されたパラメータを固定した状態で、アテンションモジュールを規定するパラメータのみを決定するステップを含むようにしてもよい。
【００１８】
学習方法は、アテンションモジュールが付加された識別器に入力信号を与えることで、アテンションモジュールにより算出される重みの値の変化に基づいて、複数の時間遅延層の一部を削除するステップをさらに含むようにしてもよい。
【発明の効果】
【００１９】
本技術によれば、対象のシステムに応じて適切なネットワーク構造を提供できる。
【図面の簡単な説明】
【００２０】
【図１】本実施の形態に従う学習済モデルを用いたアプリケーション例を示す模式図である。
【図２】図１に示す音声認識システムＳの学習方法を説明するための模式図である。
【図３】本実施の形態に従う基本ＣＴＣベースドモデルにおける処理内容を概略するための図である。
【図４】本実施の形態に従う基本ＣＴＣベースドモデルのネットワーク構造の一例を示す模式図である。
【図５】本実施の形態に従う基本ＣＴＣベースドモデルに含まれる時間遅延層の処理構造を示す模式図である。
【図６】図４に示すネットワーク構造のうち３層の残差ブロックからなるネットワーク構造を採用した場合と等価なネットワーク構造の一例を示す模式図である。
【図７】本実施の形態に従う改良ＣＴＣベースドモデルのネットワーク構造の要部を示す模式図である。
【図８】本実施の形態に従う音声認識システムＳを実現するハードウェア構成の一例を示す模式図である。
【図９】本実施の形態に従う改良ＣＴＣベースドモデルの学習方法（再トレーニング法）の処理手順を示すフローチャートである。
【図１０】本実施の形態に従う改良ＣＴＣベースドモデルの学習方法（切り落とし法）の処理手順を示すフローチャートである。
【図１１】本実施の形態に従う改良ＣＴＣベースドモデルにおけるデータ伝達の分布例を示す図である。
【図１２】本実施の形態に従う改良ＣＴＣベースドモデルの学習方法（ネットワーク再構成法）の処理手順を説明するための図である。
【図１３】本実施の形態に従う改良ＣＴＣベースドモデルを用いて算出されるスケールファクタの時間的変化の一例を示す図である。
【図１４】本実施の形態に従う改良ＣＴＣベースドモデルの学習方法（ネットワーク再構成法）の処理手順を示すフローチャートである。
【図１５】本実施の形態に従う改良ＣＴＣベースドモデルのデコーディング方法の処理手順を示すフローチャートである。
【図１６】本実施の形態に従う改良ＣＴＣベースドモデルのアテンションスコアの変化例を示す図である。
【発明を実施するための形態】
【００２１】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【００２２】
［Ａ．アプリケーション例］
まず、本実施の形態に従う学習済モデルを用いたアプリケーション例について説明する。
【００２３】
図１は、本実施の形態に従う学習済モデルを用いたアプリケーション例を示す模式図である。図１には、アプリケーション例として、音声認識システムＳを示す。音声認識システムＳは、音声信号の入力を受けて認識結果を出力する。より具体的には、音声認識システムＳは、音声信号の入力を受けて、予め定められた区間（以下、「音声フレーム」とも称す。）ごとの時系列データから特徴ベクトルを抽出する特徴量抽出部２と、特徴量抽出部２からのベクトルの入力を受けてテキストなどの認識結果を出力する認識エンジン４とを含む。
【００２４】
特徴量抽出部２は、入力される音声信号から音声フレームごとに特徴ベクトルを順次生成する。特徴量抽出部２から出力される特徴ベクトルは、予め定められた次元数を有しており、入力される音声信号の対応する音声フレームに相当する部分の特徴量を反映する。特徴ベクトルは、入力される音声信号の長さに応じて、順次出力されることになる。以下では、このような一連の特徴ベクトルの全部または一部を「音響特徴シーケンス」とも総称する。
【００２５】
認識エンジン４は、特徴量抽出部２から出力される音声フレームごとの特徴ベクトルを学習済モデルに入力してテキストを出力する。このように、認識エンジン４は、本実施の形態に従う学習済モデルで構成され、デコーダとして機能する。すなわち、認識エンジン４は、音声認識のためのＥ２Ｅフレームワーク（音響モデルおよび言語モデルが一体化されて構成される）であり、音声フレームの入力を受けて対応するテキストを出力する。
【００２６】
図２は、図１に示す音声認識システムＳの学習方法を説明するための模式図である。図２を参照して、音声信号４２と対応するテキスト４４とからなるトレーニングデータセット４０を用意する。音声信号４２を特徴量抽出部２に入力するとともに、特徴量抽出部２により順次生成される特徴ベクトルを認識エンジン４に入力することで、認識エンジン４からの認識結果（テキスト）を得る。認識エンジン４からの認識結果と、入力される音声信号４２に対応するラベル（テキスト４４）との誤差に基づいて、認識エンジン４を規定するネットワークのパラメータを順次更新することで、ネットワークが最適化される。
【００２７】
［Ｂ．基本ネットワーク構造］
本実施の形態に従う学習済モデルは、以下に説明するような基本ネットワーク構造に対して、アテンションモジュールを適宜付加して学習およびネットワーク構造の最適化を実現する。先に、本実施の形態に従う基本ネットワーク構造について説明する。
【００２８】
（ｂ１：概要）
本実施の形態においては、ＣＴＣフレームワークを用いたモデルに分類される基本ネットワーク構造（以下、「基本ＣＴＣベースドモデル」とも称す。）を用いる。基本ＣＴＣベースドモデルは、入力信号に対してラベルのシーケンスを出力する識別器である。以下では、主として、入力信号として音声信号を用いるとともに、基本ＣＴＣベースドモデルが音声信号に対する音声認識結果を示すラベルを出力する例について説明するが、基本ＣＴＣベースドモデルは、音声認識以外のタスクにも応用が可能である。
【００２９】
典型例として、本実施の形態に従う基本ＣＴＣベースドモデル１には、入力される音声信号のセンテンスに順次設定されるウィンドウ（１０−１５個の音声フレームを含む）の特徴量が入力される。ここで、センテンスは、言語的に意味のある区切りを意味し、通常、予め定められた区間長さの音声フレームを複数含むことになる。
【００３０】
本実施の形態に従う基本ＣＴＣベースドモデル１からの出力は、パスと称されるフレームレベルのシーケンス（以下、「ＣＴＣ出力シーケンス」とも称す。）である。出力されるシーケンスは、何らのＣＴＣラベルもないブランク（以下、「φ」とも表現する。）を含む。
【００３１】
図３は、本実施の形態に従う基本ＣＴＣベースドモデル１における処理内容を概略するための図である。図３を参照して、入力される音声信号のセンテンスの先頭にウィンドウ（１０−１５個の音声フレームを含む）を設定するとともに、ウィンドウを複数個所にスライドさせることで、ＣＴＣ出力を推定する。図３に示すように、基本ＣＴＣベースドモデル１への入力は、前進の経路のみを有している。すなわち、過去の情報のみを入力として必要とするので、入力音声の終了を待つ必要がない。
【００３２】
以下の説明においては、本実施の形態に従う基本ＣＴＣベースドモデル１を「ＶＲｅｓＴＤ−ＣＴＣ」（very deep residual time-delay neural network - CTC）」とも称する。
【００３３】
本実施の形態に従う基本ＣＴＣベースドモデル１をトレーニングすることで、図１の認識エンジン４を実現する学習済モデルを実現できる。特徴量抽出部２については、経験則などに基づいて、予め設計されてもよい。
【００３４】
図４は、本実施の形態に従う基本ＣＴＣベースドモデル１のネットワーク構造の一例を示す模式図である。図４を参照して、基本ＣＴＣベースドモデル１には、音声信号を予め定められた区間ごとに抽出した時系列データ（音声フレーム）から特徴量抽出部２（図１）が生成する特徴ベクトル（音響特徴シーケンス）が入力される。基本ＣＴＣベースドモデル１は、順次入力される特徴ベクトルに対して、対応するテキスト（サブワードシーケンス）を順次出力する。
【００３５】
より具体的には、基本ＣＴＣベースドモデル１は、入力層としての全結合層１０（以下、「ＦＣ」または「ＦＣ  ｌａｙｅｒｓ」とも称す。）と、複数の残差ブロック２０と、出力層３０とを含む。
【００３６】
入力層としての全結合層１０は、特徴ベクトルの入力を受けて、必要な次元数の内部ベクトルを生成する。
【００３７】
複数の残差ブロック２０は、全結合層１０に引き続いて配置される。複数の残差ブロック２０は互いに積層されることで、多段の残差ブロック２０を構成する。
【００３８】
残差ブロック２０の各々は、時間遅延ブロック２２を含む。時間遅延ブロック２２は、積層された複数の時間遅延層２４（「ＴＤ  ｌａｙｅｒ」とも表現する。）を含む。残差ブロック２０の各々は、さらに、時間遅延ブロック２２をバイパスするショートカット経路２６と、時間遅延ブロック２２の出力とショートカット経路２６（「Ｓｈｏｒｔ−ｃｕｔ  ｐａｔｈ」とも表現する。）の出力とを合成する加算器２９とを含む。
【００３９】
出力層３０は、複数の残差ブロック２０の出力側に接続されており、全結合層３２と、マッピング関数３４とを含む。全結合層３２は、最終段の残差ブロック２０の出力ノードに結合されており、出力される特徴ベクトルについての確率を正規化して、最も確からしいラベルを出力する。出力層３０からはフレームごとにラベルが出力されるので、入力される音声信号に対応してラベルが順次出力されることになる。図４には、ラベルとして単音（なお、単音は、単音（phones）、文字（character）、音節（syllable）などの単位を意味する）を用いる例を示している。フレームごとに順次推定される一連のラベル（単音のシーケンス）がＣＴＣ出力シーケンスとなる。基本ＣＴＣベースドモデル１の推定結果には、対応するラベルが存在しない、ブランク（図４においては「φ」で示されている。）を含み得る。
【００４０】
マッピング関数３４は、ＣＴＣ出力シーケンスから対応するテキスト（サブワードシーケンス）を順次決定する。
【００４１】
以上の通り、本実施の形態に従う基本ＣＴＣベースドモデル１においては、入力されたフレームごとの音声信号に対する認識結果として、テキスト（サブワードシーケンス）が出力される。
【００４２】
（ｂ２：単一の時間遅延層２４での処理）
図５は、本実施の形態に従う基本ＣＴＣベースドモデル１に含まれる時間遅延層２４の処理構造を示す模式図である。図５を参照して、時間遅延層２４は、入力に対して所定のタイムステップｔｉの遅延を与える２つの遅延要素２４１，２４２を含む。
【００４３】
遅延要素２４１，２４２の各々は、タイムステップｔｉだけ入力を遅延させる。時間遅延層２４に与えられる入力シーケンスは、遅延要素２４１においてタイムステップｔｉの遅延が与えられる。遅延要素２４１においてタイムステップｔｉの遅延が与えられた結果出力はさらに遅延要素２４２に与えられる。遅延要素２４２は、遅延要素２４１からの結果出力に対してさらにタイムステップｔｉの遅延を与える。このような２段の遅延要素によって、タイミングがタイムステップｔｉずつ異なる３種類のコンテキストが生成される。
【００４４】
入力されるフレームを未来コンテキストとし、遅延要素２４１からの結果出力を現在コンテキストとし、遅延要素２４２から出力される結果出力を過去コンテキストとすることで、実質的に双方向にタイムステップを拡大できる。
【００４５】
図５に示すように、時間遅延層２４の各々は、入力シーケンス（入力ベクトル）に対して、当該入力ベクトルに対応するフレームである現在フレームに対して、タイムステップｔｉだけ時間を戻した過去フレームに対応する過去コンテキスト（第１の内部ベクトル）と、タイムステップｔｉだけ時間を進めた未来フレームに対応する未来コンテキスト（第２の内部ベクトル）とを生成する。
【００４６】
本実施の形態に従う基本ＣＴＣベースドモデル１において、ｌ（エル）番目の時間遅延層２４へ与えられる全体の入力シーケンスＨｌは、以下の（１）式のように示すことができる。
【００４７】
【数１】
2020020872.tif 000003
【００４８】
まず、いずれのｈｌｔについても、ｌ番目の時間遅延層２４に入力されると、ｌ番目の時間遅延層２４についての標準重み行列Ｗｌおよびバイアスｂｌを用いて、以下の（２）式のように線形変換される。
【００４９】
【数２】
2020020872.tif 000004
【００５０】
次に、ｌ番目の時間遅延層２４におけるタイムステップｔでの偏差ｅｔｌは、以下の（３）式のように示すことができる。
【００５１】
【数３】
2020020872.tif 000005
【００５２】
時間遅延層２４の各々の出力は、以下の（４）式のように示すことができる。
【００５３】
【数４】
2020020872.tif 000006
【００５４】
なお、上述の（４）式においては、残差ブロック２０の活性化関数として正規化線形関数（ＲｅＬＵ：rectified linear unit）を用いる例を示すが、これに限らず、任意の活性化関数を用いることができる。以下の説明では、正規化線形関数を「ＲｅＬＵ」とも称す。
【００５５】
（ｂ３：残差ブロック２０での処理）
積層された複数の時間遅延層２４からなる残差ブロック２０全体で見ると、多層変換ｆｉの出力と多層変換ｆｉをバイパスするショートカット出力との結合（加算器２９の結果）が出力されることになる。多層変換ｆｉは、時間遅延層２４および活性化関数（ＲｅＬＵ）を直列結合した関数である。
【００５６】
【数５】
2020020872.tif 000007
【００５７】
複数の残差ブロック２０を互いに積層したネットワークは、アンサンブルネットワークのような振る舞いを見せる。
【００５８】
図６は、図４に示すネットワーク構造のうち３層の残差ブロック２０からなるネットワーク構造を採用した場合と等価なネットワーク構造の一例を示す模式図である。図６（Ａ）に示すネットワーク構造は、ショートカット経路２６および合成する加算器２９を展開することにより、図６（Ｂ）に示す等価ネットワーク構造として表現できる。図６（Ｂ）に示すように、異なる数の残差ブロック２０を通過する経路が複数（図６では８つ）並列に存在することになる。この結果、異なるすべてのタイムステップの遅延が与えられた結果が最終的に結合される。
【００５９】
図４および図６に示す基本ＣＴＣベースドモデル１においては、最終の残差ブロック２０からのすべての出力は、所定時間に亘る他の残差ブロック２０からの出力を含むことになる。例えば、３層の残差ブロック２０からなる基本ＣＴＣベースドモデル１を想定すると、最終の残差ブロック２０からのあるタイムステップにおける出力ｙ３ｔは、以下の（６）式のように示すことができる。
【００６０】
【数６】
2020020872.tif 000008
【００６１】
［Ｃ．改良ネットワーク構造］
次に、本実施の形態に従う改良ネットワーク構造について説明する。本実施の形態に従う改良ネットワーク構造は、上述の図４および図６に示される基本ＣＴＣベースドモデル１を構成する残差ブロック２０に改良を加えたものに相当する。以下、「基本ＣＴＣベースドモデル」との対比として「改良ＣＴＣベースドモデル」とも称す。なお、「基本ＣＴＣベースドモデル」と「改良ＣＴＣベースドモデル」とを区別しない文脈においては、単に「ＣＴＣベースドモデル」と総称することもある。
【００６２】
図７は、本実施の形態に従う改良ＣＴＣベースドモデルのネットワーク構造の要部を示す模式図である。図７（Ａ）は、本実施の形態に従う基本ＣＴＣベースドモデルの残差ブロック２０の構造例を示し、図７（Ｂ）は、本実施の形態に従う改良ＣＴＣベースドモデルの残差ブロック２０Ａの構造例を示す。
【００６３】
図７（Ａ）と図７（Ｂ）とを比較して、残差ブロック２０Ａは、残差ブロック２０に比較して、アテンションモジュール２８（Attention module）をさらに含む。アテンションモジュール２８は、残差ブロック２０Ａの出力層の後段に配置される。アテンションモジュール２８は、残差ブロック２０Ａに含まれる２つの経路（ショートカット経路２６側の経路および時間遅延ブロック２２側の経路）に対する重みを調整する。このようなアテンションモジュール２８を採用することで、基本ＣＴＣベースドモデル１をより動的に振る舞わせることができるため、学習性能および識別性能を高めることができる。
【００６４】
本実施の形態において、アテンションモジュール２８は、時間遅延を実現する残差ブロック（時間遅延層２４）の後段に配置されることで後述するような顕著な効果を奏する。
【００６５】
以下の説明においては、以下の（７）式に示すような、それぞれの経路の重みを変更するためのアテンションスコアαｔｉ（ベクトル量）を用いる。
【００６６】
【数７】
2020020872.tif 000009
【００６７】
アテンションスコアαｔｉ（ベクトル量）は、重みαｔｉおよび重みβｔｉ（＝１−αｔｉ）を要素として含む。重みαｔｉは、任意のタイムステップｔにおいて、ｉ番目の残差ブロック２０Ａのショートカット経路２６を伝達されるデータに対するスケールファクタを意味し、重みβｔｉ（＝１−αｔｉ）は、任意のタイムステップｔにおいて、ｉ番目の残差ブロック２０Ａの時間遅延ブロック２２を伝達されるデータに対するスケールファクタを意味する。
【００６８】
より具体的には、図７（Ｂ）に示すように、アテンションモジュール２８は、全結合層２８２と、ｓｏｆｔｍａｘ関数２８４と、乗算器２８６，２８８とを含む。
【００６９】
アテンションモジュール２８の全結合層２８２は、対応する残差ブロック２０Ａの出力とショートカット経路２６とに接続される。ｓｏｆｔｍａｘ関数２８４は、全結合層２８２に接続される。
【００７０】
時間遅延ブロック２２からの出力経路２８５は乗算器２８６に入力され、乗算器２８６において重みβｔｉを乗じられた上で加算器２９に出力される。一方、ショートカット経路２６は乗算器２８８に入力され、乗算器２８８において重みαｔｉを乗じられた上で加算器２９に出力される。なお、αｔｉ＋βｔｉ＝１である。このように、アテンションモジュール２８は、重みαｔｉ（第１の重み）と重みβｔｉ（第２の重み）の合計が１となるように、複数の時間遅延層２４を通過する経路に対する重みαｔｉ（第１の重み）と、ショートカット経路２６に対する重みβｔｉ（第２の重み）とを算出する。
【００７１】
重みαｔｉおよび重みβｔｉが動的に変更されることで、残差ブロック２０Ａからの出力に含まれる、多層変換ｆｉの出力と多層変換ｆｉをバイパスするショートカット出力との比率を動的に調整できる。
【００７２】
このように、アテンションモジュール２８は、複数の時間遅延層２４を通過する出力経路２８５とショートカット経路２６との間の重みを調整する。
【００７３】
図７に示すような残差ブロック２０Ａからの出力は、上述の（５）式に示す関係式に対する重み付けを変更することで、以下の（８）式のように定義できる。
【００７４】
【数８】
2020020872.tif 000010
【００７５】
このように、アテンションモジュール２８は、対応する残差ブロック２０Ａに与えられる入力が対応する複数の時間遅延層２４を通過して得られる結果出力と、当該対応する残差ブロック２０Ａに与えられる入力とに基づいて、タイムステップごとに重みαｔｉおよび重みβｔｉ（スケールファクタ）を更新する。
【００７６】
より具体的には、重みαｔｉおよび重みβｔｉは、全結合層２８２およびｓｏｆｔｍａｘ関数２８４を用いて、以下の（９）式に従って算出される。
【００７７】
【数９】
2020020872.tif 000011
【００７８】
［Ｄ．ハードウェア構成］
次に、本実施の形態に従う学習済モデルを用いた音声認識システムＳを実現するためのハードウェア構成の一例について説明する。
【００７９】
図８は、本実施の形態に従う音声認識システムＳを実現するハードウェア構成の一例を示す模式図である。音声認識システムＳは、典型的には、コンピュータの一例である情報処理装置５００を用いて実現される。
【００８０】
図８を参照して、音声認識システムＳを実現する情報処理装置５００は、主要なハードウェアコンポーネントとして、ＣＰＵ（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）などを用いて実現してもよい。
【００９５】
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置５００を実現できるであろう。
【００９６】
説明の便宜上、同一の情報処理装置５００を用いて、学習（ＣＴＣベースドモデルの構築）およびデコーディング（ＣＴＣベースドモデルを含むモデルによる音声認識）を実行する例を示したが、学習およびデコーディングを異なるハードウェアを用いて実現してもよい。
【００９７】
［Ｅ．学習方法］
次に、本実施の形態に従う改良ＣＴＣベースドモデル１Ａの学習方法について説明する。
【００９８】
（ｅ１：概要）
本実施の形態に従うＣＴＣベースドモデルは、Ｅ２Ｅフレームワークを提供するものであり、音響モデルおよび言語モデルを別々に学習する必要はない。すなわち、ＣＴＣベースドモデルは、入力される音声信号に対応するテキストを直接出力するものであり、学習処理においては、音声信号と対応するテキストとからなるトレーニングデータセットを用いる。
【００９９】
本実施の形態に従うＣＴＣベースドモデルの学習処理は、ニューラルネットワークの一般的な学習処理と同様に、教師有り学習を用いることができる。具体的には、ＣＴＣベースドモデルを構成する各コンポーネントのパラメータに任意の初期値を設定する。その上で、トレーニングデータセットに含まれる音声信号（音響特徴シーケンス）をＣＴＣベースドモデルに順次入力するとともに、ＣＴＣベースドモデルから順次出力されるＣＴＣ出力シーケンス（テキスト）と入力された音声信号に対応するテキストとの誤差を算出し、その算出した誤差に基づいて、ＣＴＣベースドモデルを構成する各コンポーネントのパラメータを逐次更新する。
【０１００】
このような学習処理によって、トレーニングデータからＣＴＣベースドモデルに対応する学習済モデルを構築できる。
【０１０１】
本実施の形態においては、改良ＣＴＣベースドモデル１Ａを適切に学習させることで、音声認識性能を改善することができる。上述したようなアテンションモジュール２８を含む改良ＣＴＣベースドモデル１Ａに特徴ベクトルを入力することで、任意のタイムステップｔにおける、それぞれのショートカット経路２６についてのスケールファクタ（αｔ１，αｔ２，…αｔｉ，…αｔＮ）を取得できる。
【０１０２】
本願発明者らの研究によれば、それぞれの残差ブロック２０Ａにおいて、時間遅延ブロック２２をデータが通過する経路の重みと、ショートカット経路２６をデータが通過する経路の重みとは、適用されるシステムによって様々である。
【０１０３】
そこで、本実施の形態においては、以下に示すような、再トレーニング法（Retrain-based method）、切り落とし法（Prune-based method）またはネットワーク再構成法という学習方法を採用できる。
【０１０４】
（ｅ２：再トレーニング法）
再トレーニング法は、超深層畳み込みネットワークである改良ＣＴＣベースドモデル１Ａを規定するすべてのパラメータ（アテンションモジュール２８のパラメータも含む）を再度トレーニングする方法である。より具体的には、基本ＣＴＣベースドモデル１をトレーニングすることで学習済モデルを取得し、この取得された学習済モデルに対して、アテンションモジュール２８を付加して改良ＣＴＣベースドモデル１Ａを構成した上で、再度トレーニングを実行する。
【０１０５】
基本ＣＴＣベースドモデル１および改良ＣＴＣベースドモデル１Ａの両方をトレーニングしなければならないので、トレーニングに要する時間は約２倍になるが、音声認識性能を確実に向上させることができる。
【０１０６】
なお、スケールファクタ（αｔ１，αｔ２，…αｔｉ，…αｔＮ）は、タイムステップｔごとに変化することになる。
【０１０７】
図９は、本実施の形態に従う改良ＣＴＣベースドモデル１Ａの学習方法（再トレーニング法）の処理手順を示すフローチャートである。図９に示す各ステップは、典型的には、情報処理装置５００のプロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）がトレーニングプログラム５１４を実行することで実現される。
【０１０８】
図９を参照して、情報処理装置５００には、音声信号４２と対応するテキスト４４とからなるトレーニングデータセット４０が入力される（ステップＳ１００）。情報処理装置５００は、基本ＣＴＣベースドモデル１を規定するパラメータの初期値をランダムに決定する（ステップＳ１０２）。
【０１０９】
情報処理装置５００は、トレーニングデータセット４０に含まれる音声信号４２からフレームごとに特徴ベクトルを生成する（ステップＳ１０４）。そして、情報処理装置５００は、生成した特徴ベクトルを基本ＣＴＣベースドモデル１に入力して推定結果を算出する（ステップＳ１０６）。
【０１１０】
情報処理装置５００は、算出された推定結果が予め定められた数に到達したか否かを判断する（ステップＳ１０８）。算出された推定結果が予め定められた数に到達していなければ（ステップＳ１０８においてＮＯ）、ステップＳ１０４以下の処理が繰返される。
【０１１１】
算出された推定結果が予め定められた数に到達していれば（ステップＳ１０８においてＹＥＳ）、情報処理装置５００は、算出された一連の推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する（ステップＳ１１０）。
【０１１２】
学習処理の収束条件が満たされていなければ（ステップＳ１１０においてＮＯ）、情報処理装置５００は、ミニバッチとしてまとめて算出された一連の推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、基本ＣＴＣベースドモデル１を規定するパラメータの値を更新し（ステップＳ１１２）、ステップＳ１０４以下の処理を繰返す。
【０１１３】
これに対して、学習処理の収束条件が満たされていれば（ステップＳ１１０においてＹＥＳ）、現在のパラメータを学習結果として出力する（ステップＳ１１４）。すなわち、現在のパラメータにより規定される基本ＣＴＣベースドモデル１が学習済モデルとして出力される。
【０１１４】
上述のステップＳ１００〜Ｓ１１４において、情報処理装置５００は、トレーニングデータセット４０を用いて基本ＣＴＣベースドモデル１（識別器）のネットワークを規定するパラメータを決定する第１のトレーニングステップを実行する。
【０１１５】
続いて、情報処理装置５００は、学習済の基本ＣＴＣベースドモデル１に対してアテンションモジュール２８を付加して改良ＣＴＣベースドモデル１Ａを生成する（ステップＳ１１６）。すなわち、情報処理装置５００は、基本ＣＴＣベースドモデル１（識別器）に、複数の時間遅延層２４を通過する経路とショートカット経路２６との間の重みを調整するアテンションモジュール２８を付加する付加ステップを実行する。
【０１１６】
情報処理装置５００は、改良ＣＴＣベースドモデル１Ａに付加されたアテンションモジュール２８のパラメータの初期値をランダムに決定する（ステップＳ１１８）。そして、再度トレーニングを開始する。
【０１１７】
具体的には、情報処理装置５００は、トレーニングデータセット４０に含まれる音声信号４２からフレームごとに特徴ベクトルを生成する（ステップＳ１２０）。そして、情報処理装置５００は、生成した特徴ベクトルを改良ＣＴＣベースドモデル１Ａに入力して推定結果を算出する（ステップＳ１２２）。
【０１１８】
情報処理装置５００は、算出された推定結果が予め定められた数に到達したか否かを判断する（ステップＳ１２４）。算出された推定結果が予め定められた数に到達していなければ（ステップＳ１２４においてＮＯ）、ステップＳ１２０以下の処理が繰返される。
【０１１９】
算出された推定結果が予め定められた数に到達していれば（ステップＳ１２４においてＹＥＳ）、情報処理装置５００は、算出された一連の推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する（ステップＳ１２６）。
【０１２０】
学習処理の収束条件が満たされていなければ（ステップＳ１２６においてＮＯ）、情報処理装置５００は、ミニバッチとしてまとめて算出された一連の推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、改良ＣＴＣベースドモデル１Ａを規定するパラメータの値を更新し（ステップＳ１２８）、ステップＳ１２０以下の処理を繰返す。
【０１２１】
これに対して、学習処理の収束条件が満たされていれば（ステップＳ１２６においてＹＥＳ）、現在のパラメータを学習結果として出力する（ステップＳ１３０）。すなわち、現在のパラメータにより規定される改良ＣＴＣベースドモデル１Ａが学習済モデルとして出力される。そして、処理は終了する。
【０１２２】
上述のステップＳ１１８〜Ｓ１３０において、情報処理装置５００は、トレーニングデータセット４０を用いてアテンションモジュール２８を規定するパラメータを決定する第２のトレーニングステップを実行する。この第２のトレーニングステップにおいて、情報処理装置５００は、アテンションモジュール２８を規定するパラメータを含む、改良ＣＴＣベースドモデル１Ａ（識別器）のネットワークを規定するすべてのパラメータの値を再度決定することになる。
【０１２３】
このようにパラメータ全体の決定処理を２回実行することで、高い識別精度を実現できる。
【０１２４】
（ｅ３：切り落とし法）
上述の再トレーニング法では、改良ＣＴＣベースドモデル１Ａを規定するすべてのパラメータ（アテンションモジュール２８のパラメータも含む）を更新対象としたが、切り落とし法では、生成された学習済モデルのパラメータについては固定した上で、より少ないトレーニングデータでアテンションモジュール２８のパラメータのみをトレーニングするようにしてもよい。
【０１２５】
アテンションモジュール２８のパラメータのみをトレーニングすることで、学習処理に要する時間を短縮できる。
【０１２６】
図１０は、本実施の形態に従う改良ＣＴＣベースドモデル１Ａの学習方法（切り落とし法）の処理手順を示すフローチャートである。図１０に示す各ステップは、典型的には、情報処理装置５００のプロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）がトレーニングプログラム５１４を実行することで実現される。図１０に示す処理のうち、図９に示す処理と同一のものは、同一のステップ番号を付している。
【０１２７】
図１０を参照して、情報処理装置５００には、音声信号４２と対応するテキスト４４とからなるトレーニングデータセット４０が入力される（ステップＳ１００）。情報処理装置５００は、基本ＣＴＣベースドモデル１を規定するパラメータの初期値をランダムに決定する（ステップＳ１０２）。
【０１２８】
情報処理装置５００は、トレーニングデータセット４０に含まれる音声信号４２からフレームごとに特徴ベクトルを生成する（ステップＳ１０４）。そして、情報処理装置５００は、生成した特徴ベクトルを基本ＣＴＣベースドモデル１に入力して推定結果を算出する（ステップＳ１０６）。
【０１２９】
情報処理装置５００は、算出された推定結果が予め定められた数に到達したか否かを判断する（ステップＳ１０８）。算出された推定結果が予め定められた数に到達していなければ（ステップＳ１０８においてＮＯ）、ステップＳ１０４以下の処理が繰返される。
【０１３０】
算出された推定結果が予め定められた数に到達していれば（ステップＳ１０８においてＹＥＳ）、情報処理装置５００は、算出された一連の推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する（ステップＳ１１０）。
【０１３１】
学習処理の収束条件が満たされていなければ（ステップＳ１１０においてＮＯ）、情報処理装置５００は、算出された一連の推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、基本ＣＴＣベースドモデル１を規定するパラメータの値を更新し（ステップＳ１１２）、ステップＳ１０４以下の処理を繰返す。
【０１３２】
これに対して、学習処理の収束条件が満たされていれば（ステップＳ１１０においてＹＥＳ）、現在のパラメータを学習結果として出力する（ステップＳ１１４）。すなわち、現在のパラメータにより規定される基本ＣＴＣベースドモデル１が学習済モデルとして出力される。
【０１３３】
上述のステップＳ１００〜Ｓ１１４において、情報処理装置５００は、トレーニングデータセット４０を用いて基本ＣＴＣベースドモデル１（識別器）のネットワークを規定するパラメータを決定する第１のトレーニングステップを実行する。
【０１３４】
続いて、情報処理装置５００は、学習済の基本ＣＴＣベースドモデル１に対してアテンションモジュール２８を付加して改良ＣＴＣベースドモデル１Ａを生成する（ステップＳ１１６）。すなわち、情報処理装置５００は、基本ＣＴＣベースドモデル１（識別器）に、複数の時間遅延層２４を通過する経路とショートカット経路２６との間の重みを調整するアテンションモジュール２８を付加する付加ステップを実行する。
【０１３５】
情報処理装置５００は、改良ＣＴＣベースドモデル１Ａに付加されたアテンションモジュール２８のパラメータの初期値をランダムに決定する（ステップＳ１１８）。そして、アテンションモジュール２８に対するトレーニングを開始する。
【０１３６】
具体的には、情報処理装置５００は、基本ＣＴＣベースドモデル１のトレーニングに用いたトレーニングデータセット４０の一部からなる縮小トレーニングデータセット４０Ｓを取得する（ステップＳ１１９）。そして、情報処理装置５００は、縮小トレーニングデータセット４０Ｓに含まれる音声信号４２からフレームごとに特徴ベクトルを生成する（ステップＳ１２１）。そして、情報処理装置５００は、生成した特徴ベクトルを改良ＣＴＣベースドモデル１Ａに入力して推定結果を算出する（ステップＳ１２２）。
【０１３７】
情報処理装置５００は、算出された推定結果が予め定められた数に到達したか否かを判断する（ステップＳ１２４）。算出された推定結果が予め定められた数に到達していなければ（ステップＳ１２４においてＮＯ）、ステップＳ１２０以下の処理が繰返される。
【０１３８】
算出された推定結果が予め定められた数に到達していれば（ステップＳ１２４においてＹＥＳ）、情報処理装置５００は、算出された一連の推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する（ステップＳ１２６）。
【０１３９】
学習処理の収束条件が満たされていなければ（ステップＳ１２６においてＮＯ）、情報処理装置５００は、算出された一連の推定結果（出力シーケンス）と対応するテキスト４４（ラベルシーケンス）との間の誤差に基づいて、改良ＣＴＣベースドモデル１Ａに含まれるアテンションモジュール２８を規定するパラメータの値を更新し（ステップＳ１２９）、ステップＳ１２０以下の処理を繰返す。
【０１４０】
これに対して、学習処理の収束条件が満たされていれば（ステップＳ１２６においてＹＥＳ）、現在のパラメータを学習結果として出力する（ステップＳ１３０）。すなわち、現在のパラメータにより規定される改良ＣＴＣベースドモデル１Ａが学習済モデルとして出力される。そして、処理は終了する。
【０１４１】
上述のステップＳ１１８〜Ｓ１３０において、情報処理装置５００は、トレーニングデータセット４０を用いてアテンションモジュール２８を規定するパラメータを決定する第２のトレーニングステップを実行する。この第２のトレーニングステップにおいて、情報処理装置５００は、第１のトレーニングステップにおいて決定されたパラメータ（基本ＣＴＣベースドモデル１を規定するパラメータ）を固定した状態で、アテンションモジュール２８を規定するパラメータのみを決定する処理を実行する。
【０１４２】
このように、基本ＣＴＣベースドモデル１を規定するパラメータを固定することで、第２のトレーニングを短時間で実現できる。
【０１４３】
（ｅ４：ネットワーク再構成法）
本実施の形態に従う改良ＣＴＣベースドモデル１Ａのアテンションモジュール２８が示す各残差ブロック２０Ａのアテンションスコアあるいはスケールファクタ（重み）の平均値は、データを伝達可能なすべての経路からの情報を示すことになる。
【０１４４】
図１１は、本実施の形態に従う改良ＣＴＣベースドモデル１Ａにおけるデータ伝達の分布例を示す図である。図１１に示す例では、１番目の残差ブロック２０Ａにおいては、データはショートカット経路２６を主体的に通過し、２番目以降の残差ブロック２０Ａにおいては、データは時間遅延ブロック２２を主体的に通過していることが分かる。
【０１４５】
このような改良ＣＴＣベースドモデル１Ａにおけるデータ伝達の状態を事前知識として利用することで、改良ＣＴＣベースドモデル１Ａのネットワーク構造を改良し得る。ネットワーク構造の改良によって、音声認識性能も向上させることができる。
【０１４６】
例えば、ｉ番目の残差ブロック２０Ａについての重みαｔｉを２値化（「０」または「１」）することで、ネットワーク構造自体をチューニングできる。すなわち、重みαｔｉが「１」であれば、対応する残差ブロック２０Ａの時間遅延ブロック２２にはデータが伝達されないので、時間遅延ブロック２２を削除してもよいと判断できる。一方、重みαｔｉが「０」であれば、ショートカット経路２６を削除してもよいと判断できる。
【０１４７】
このような重みαｔｉを２値化する方法としては、トレーニングデータセットの一部からなるデータセットを用いて順次生成される特徴ベクトルに対して、タイムステップごとに算出される重みαｔｉの代表値（平均値、最大値、最小値、中間値など）が予め定められたしきい値を超えるか否かに基づいて決定できる。重みαｔｉの二値化に用いられるデータセットは、例えば、後述するような開発データセット（ＣＳＪ−Ｄｅｖ）の音声部分を用いることができる。
【０１４８】
図１２は、本実施の形態に従う改良ＣＴＣベースドモデル１Ａの学習方法（ネットワーク再構成法）の処理手順を説明するための図である。まず、図１２（Ａ）に示すように、基本ＣＴＣベースドモデル１を通常のトレーニングデータセットを用いてトレーニングする。続いて、図１２（Ｂ）に示すように、基本ＣＴＣベースドモデル１にアテンションモジュール２８を追加して、通常のトレーニングの一部からなる縮小トレーニングデータセットを用いてアテンションモジュール２８をトレーニングする。
【０１４９】
基本ＣＴＣベースドモデル１に対応するパラメータおよびアテンションモジュール２８に対応するパラメータをトレーニングした後、改良ＣＴＣベースドモデル１Ａに対して、開発データセットなどの音声部分から生成される特徴ベクトルを入力し、各残差ブロック２０Ａにおけるスケールファクタの時間的変化を算出する。各残差ブロック２０Ａにおいては、次の図１３に示すような時間的変化を算出できる。
【０１５０】
図１３は、本実施の形態に従う改良ＣＴＣベースドモデル１Ａを用いて算出されるスケールファクタの時間的変化の一例を示す図である。図１３に示すスケールファクタである重みαｔ１の値は、入力される音節ごとに大きく変化している。
【０１５１】
各残差ブロック２０Ａについて算出されるスケールファクタの時間的変化に基づいて、各残差ブロック２０Ａにおけるデータの伝達状態を評価する。このデータの伝達状態は、各残差ブロック２０Ａにおける安定度に対応していると考えることもできる。そして、対応するスケールファクタの時間的変化が予め定められた条件を満たした残差ブロック２０Ａについては、図１２（Ｃ）に示すように、改良ＣＴＣベースドモデル１Ａから削除される。
【０１５２】
最終的に、状況に応じていくつかの時間遅延ブロック２２が削除された後の改良ＣＴＣベースドモデル１Ａを規定するすべてのパラメータ（アテンションモジュール２８のパラメータも含む）を再度のトレーニングにより決定する。
【０１５３】
このように、アテンションモジュール２８が付加された改良ＣＴＣベースドモデル１Ａ（識別器）に入力信号を与えることで、アテンションモジュール２８により算出されるスケールファクタである重みαｔ１の値の変化に基づいて、複数の時間遅延層２４の一部を削除する処理を実行してもよい。
【０１５４】
ここで、時間遅延ブロック２２の各々を削除すべきか否かの条件としては、ショートカット経路２６についてのスケールファクタである重みαｔｉの絶対値が相対的に大きい場合、あるいは、値のバラツキが相対的に大きい場合などが挙げられる。すなわち、対象となる音声信号に対して、ショートカット経路２６を通過するデータが相対的に大きい、あるいは、ショートカット経路２６を通過するデータ量の変動が相対的に大きい場合には、残差ブロック２０Ａの安定性が低いことを意味し、このような安定性の低い残差ブロック２０Ａについては削除することで、学習およびデコーディングをより安定化できる。
【０１５５】
時間遅延ブロック２２を削除するか否かの具体的な条件としては、以下のようなものが挙げられる。
【０１５６】
（１）特定の音声入力について、重みαｔｉ（スケールファクタ）の値が予め定められたしきい値（典型的には、「０．５」）を超える数（あるいは、現れているピーク）が予め定められた数以上である場合。
【０１５７】
（２）特定の音声入力に含まれるラベル（単音、文字、音節などの単位）に対して、重みαｔｉ（スケールファクタ）の値が予め定められたしきい値（典型的には、「０．５」）を超える数の比率が予め定められた数（例えば、３０％）以上である場合。
【０１５８】
（３）重みαｔｉ（スケールファクタ）の時間的変化が示すグラフの面積が予め定められたしきい値以上である場合。
【０１５９】
（４）特定の音声入力について、重みαｔｉ（スケールファクタ）の時間変動の変動幅（標準偏差、分散、最大値と最小値との差）が予め定められたしきい値以上である場合。
【０１６０】
上述した以外の任意の判断基準を用いることができる。
以上のような手順によって、ネットワーク構造を最適化した上で、学習処理を実行することになる。
【０１６１】
図１４は、本実施の形態に従う改良ＣＴＣベースドモデル１Ａの学習方法（ネットワーク再構成法）の処理手順を示すフローチャートである。図１４に示す各ステップは、典型的には、情報処理装置５００のプロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）がトレーニングプログラム５１４を実行することで実現される。
【０１６２】
図１４を参照して、情報処理装置５００は、トレーニングデータセット４０を用いて、基本ＣＴＣベースドモデル１のパラメータを決定する（ステップＳ１５０）。このステップＳ１５０の処理は、図９に示す再トレーニング法のステップＳ１００〜Ｓ１１４と実質的に同一である。
【０１６３】
続いて、情報処理装置５００は、学習済の基本ＣＴＣベースドモデル１に対してアテンションモジュール２８を付加して改良ＣＴＣベースドモデル１Ａを生成する（ステップＳ１５２）。そして、情報処理装置５００は、改良ＣＴＣベースドモデル１Ａに付加されたアテンションモジュール２８のパラメータを決定する（ステップＳ１５４）。このステップＳ１５４の処理は、図１０に示す切り落とし法のステップＳ１１８〜Ｓ１３０の処理と実質的に同一である。
【０１６４】
続いて、情報処理装置５００は、開発データセットの音声部分から生成される特徴ベクトルを改良ＣＴＣベースドモデル１Ａに入力して、各残差ブロック２０Ａにおけるスケールファクタの時間的変化を算出する（ステップＳ１５６）。そして、情報処理装置５００は、各残差ブロック２０Ａにおけるスケールファクタの時間的変化に基づいて、改良ＣＴＣベースドモデル１Ａに含まれる時間遅延ブロック２２のうち削除すべきものが存在するか否かを判断する（ステップＳ１５８）。時間遅延ブロック２２のうち削除すべきものが存在する場合（ステップＳ１５８においてＹＥＳ）、情報処理装置５００は、改良ＣＴＣベースドモデル１Ａから対象の時間遅延ブロック２２を削除する（ステップＳ１６０）。時間遅延ブロック２２のうち削除すべきものが存在しない場合（ステップＳ１５８においてＮＯ）、ステップＳ１６０の処理はスキップされる。
【０１６５】
最終的に、情報処理装置５００は、（状況に応じて時間遅延ブロック２２が削除された後の）改良ＣＴＣベースドモデル１Ａのすべてのパラメータを再度決定する（ステップＳ１６２）。このステップＳ１６０の処理は、図９に示す再トレーニング法のステップＳ１２０〜Ｓ１３０と実質的に同一である。
【０１６６】
以上のような手順によって、改良ＣＴＣベースドモデル１Ａの学習済モデルが生成される。
【０１６７】
［Ｆ．デコーディング方法］
次に、本実施の形態に従う改良ＣＴＣベースドモデル１Ａを用いたデコーディング方法について説明する。本実施の形態に従う改良ＣＴＣベースドモデル１Ａは、Ｅ２Ｅフレームワークであるので、音声信号から順次生成される特徴ベクトルを入力するだけで、対応するテキスト（サブワードシーケンス）が順次出力されることになる。
【０１６８】
図１５は、本実施の形態に従う改良ＣＴＣベースドモデル１Ａのデコーディング方法の処理手順を示すフローチャートである。図１５に示す各ステップは、典型的には、情報処理装置５００のプロセッサ（ＣＰＵ５０２および／またはＧＰＵ５０４）がトレーニングプログラム５１４を実行することで実現される。
【０１６９】
図１５を参照して、情報処理装置５００は、入力される音声信号からフレームごとに特徴ベクトルを生成する（ステップＳ２００）。そして、情報処理装置５００は、生成した特徴ベクトルを改良ＣＴＣベースドモデル１Ａに入力して推定結果を算出および出力する（ステップＳ２０２）。
【０１７０】
そして、情報処理装置５００は、音声信号の入力が継続しているか否かを判断する（ステップＳ２０４）。音声信号の入力が継続していれば（ステップＳ２０４においてＹＥＳ）、ステップＳ２００以下の処理が繰返される。
【０１７１】
一方、音声信号の入力が継続していなければ（ステップＳ２０４においてＮＯ）、デコーディングの処理は終了する。
【０１７２】
［Ｇ．評価実験］
本願発明者らは、上述した本実施の形態に従う改良ＣＴＣベースドモデル１Ａの性能について評価実験を行なった。以下、評価実験について説明する。
【０１７３】
（ｇ１：データおよびタスクの説明）
評価実験には、トレーニングデータおよび評価データとして、国立国語研究所が提供している「日本語話し言葉コーパス（Corpus of Spontaneous Japanese：ＣＳＪ）」を用いた。
【０１７４】
先行研究における知見に従って、ＣＳＪに含まれる２４０時間分の講演の音声をトレーニングデータセット（以下、「ＣＳＪ−Ｔｒａｉｎ」とも称す。）として構成した。ＣＳＪは、３個の公式の評価データセット（ＣＳＪ−Ｅｖａｌ０１、ＣＳＪ−Ｅｖａｌ０２、ＣＳＪ−Ｅｖａｌ０３）を含む。各評価データセットは、１０講演分の音声を含む。これらの評価データセットを音声認識結果の評価に用いた。また、１０講演分の音声からなる開発データセット（ＣＳＪ−Ｄｅｖ）をトレーニング中の評価用として用いた。
【０１７５】
さらに、ウオームアップ初期化およびパラメータチューニングのためのシードモデルのトレーニング用に、ＣＳＪに含まれる２７．６時間分のデータセット（以下、「ＣＳＪ−Ｔｒａｉｎｓｍａｌｌ」とも称す。）を選択した。
【０１７６】
これらのデータセットに含まれる講演の数および時間は、以下のＴａｂｌｅ１に示す通りである。
【０１７７】
【表１】
2020020872.tif 000012
【０１７８】
（ｇ２：ベースラインモデル）
まず、ＣＳＪ−Ｔｒａｉｎを用いて、評価基準となるベースラインモデルをトレーニングした。第１のベースラインモデルとして、ＤＮＮ−ＨＭＭ−ＣＥ（deep neural network and hidden Markov model cross entropy）モデルを取り上げる。ＤＮＮ−ＨＭＭ−ＣＥモデルを構築するにあたって、まず、音響モデルに相当するＧＭＭ−ＨＭＭ（Gaussian mixture model and hidden Markov model）モデルをトレーニングし、続いて、５個の隠れ層（各層は２０４８個の隠れノードを有する）からなるＤＮＮモデル（言語モデルに相当する）をトレーニングした。出力層は、約８５００個のノードを有しており、これは、ＧＭＭ−ＨＭＭモデルの結合トライフォン（triphone）状態に対応する。これらのトレーニングにおいて、７２次元のフィルタバンク特徴（２４次元のスタティック＋Δ＋ΔΔ）を用いた。フィルタバンク特徴は、話者ごとに平均化および正規化が行なわれた結果であり、分割された１１フレーム（過去５フレーム、現在フレーム、未来５フレーム）からなる。ＤＮＮモデルは、交差エントロピー損失基準に基づく標準的な確率的勾配降下法（ＳＧＤ：stochastic gradient descent）を用いてトレーニングした。
【０１７９】
デコードに関して、４グラム単語言語モデル（ＷＬＭ：word language model）を、５９１時間分のＣＳＪトレーニングデータセットの転記テキストによりトレーニングした。ＷＬＭの語彙サイズは９８×１０３である。
【０１８０】
（ｇ３：改良ＣＴＣベースドモデル１Ａのトレーニングのための設定）
本実施の形態に従う改良ＣＴＣベースドモデル１Ａは、７２次元のフィルタバンク特徴（２４次元のスタティック＋Δ＋ΔΔ）（非分割）を用いてトレーニングした。このトレーニングにおいては、日本語の２６３音節（日本語書き言葉の基本単位であるかな）と、非発話ノイズと、発話ノイズと、ブランク（φ）とを基本音響モデル単位として用いた。
【０１８１】
対象したネットワーク（ＣＳＪ−Ｔｒａｉｎｓｍａｌｌによりトレーニングされた単音ベースのシードシステムを用いてチューニングされている）は、次のように規定される。すなわち、入力層に引き続く９個の全結合層と、それに続く１５個の時間遅延層２４（３つの残差ブロック２０Ａ全体として）と、ｓｏｆｔｍａｘ出力の前段に配置された２つの全結合層とからなる。
【０１８２】
積層された３つの残差ブロック２０Ａのそれぞれにおけるウィンドウサイズの変化を以下のＴａｂｌｅ２に示す。
【０１８３】
【表２】
2020020872.tif 000013
【０１８４】
ＣＳＪに含まれる２７．６時間分のデータセット（ＣＳＪ−Ｔｒａｉｎｓｍａｌｌ）を用いて、交差エントロピー損失基準に従ってシードモデルをトレーニングし、それにより得られたモデルパラメータを用いてＣＴＣモデルを初期化した。ＣＴＣのトレーニングには、ＦｓＡｄａＧｒａｄアルゴリズムを用いた。２４０時間分の講演の音声を含むトレーニングデータセット（ＣＳＪ−Ｔｒａｉｎ）を用いたトレーニングを高速化するために、ＢＭＵＦ（block-wise model update filtering）を適用した。各フレームに対する学習レートの初期値は０．００００１とし、ＣＳＪ−Ｄｅｖについての検定結果に応じて学習レートを自動的に調整した。ミニバッチサイズは２０４８とし、同一のミニバッチにおいて並列処理されるシーケンス数は１６とした。エポック数の最大値は２５とした。
【０１８５】
ネットワークで算出されるスケール化された対数尤度をＥＥＳＥＮデコーダに与えることで、改良ＣＴＣベースドモデル１Ａをデコードする。
【０１８６】
また、本実施の形態に従う改良ＣＴＣベースドモデル１Ａと同一の構造を有し、ＭｉｃｒｏｓｏｆｔのＣｏｍｐｕｔａｔｉｏｎａｌ  Ｎｅｔｗｏｒｋ  Ｔｏｏｌｋｉｔ（ＣＮＴＫ）により特徴量が設定された交差エントロピーモデル（ＶＲｅｓＴＤ−ＣＥ）についてもトレーニングした。このトレーニングにおいて、ＤＮＮ−ＨＭＭ−ＣＥモデルと同一のラベルを用いた。
【０１８７】
（ｇ４：アテンションモジュールの付加による改良ＣＴＣベースドモデル１Ａのチューニング）
上述したように、基本ＣＴＣベースドモデル１（ＶＲｅｓＴＤ−ＣＴＣ）に対して、アテンションモジュール２８を付加することで、改良ＣＴＣベースドモデル１Ａを構成する。改良ＣＴＣベースドモデル１Ａを規定するすべてのパラメータ（アテンションモジュール２８のパラメータも含む）をＣＳＪ−Ｔｒａｉｎを用いてトレーニングすることで得られた学習済モデルを「ＶＲｅｓＴＤＭ−ＣＴＣｒｅｔｒａｉｎ」と称する。
【０１８８】
ＶＲｅｓＴＤＭ−ＣＴＣｒｅｔｒａｉｎを得るために用いた学習レートの初期値は０．００００１とした。ミニバッチサイズは２０４８とした。各エポックのトレーニングが完了するごとにＣＳＪ−Ｄｅｖを用いて性能を評価した。結果的に、性能が低下する直前の１７回目のエポックの開始直前でトレーニングを終了した。
【０１８９】
図１６は、本実施の形態に従う改良ＣＴＣベースドモデル１Ａのアテンションスコアの変化例を示す図である。図１６（Ａ）および（Ｂ）は、入力される音声フレームに対する先頭の残差ブロック２０Ａにおけるアテンションスコアの変化を示し、図１６（Ｃ）および（Ｄ）は、入力される音声フレームに対する最終の残差ブロック２０Ａにおけるアテンションスコアの変化を示す。入力される音声フレームとしては、ＣＳＪ−Ｅｖａｌ０１を用いた。
【０１９０】
２つの異なるシステム（音節ベース（syllable system）および単音ベース（ci-phone system））の先頭の残差ブロック２０Ａを通過する際の振る舞いは、互いに異なるものとなっている。具体的には、図１６（Ａ）に示すように、音節ベースにおいては、音声セグメントはショートカット経路を通過する傾向が強い。一方、図１６（Ｂ）に示すように、単音ベースにおいては、そのような傾向は見られない。
【０１９１】
評価として、音節ベースにおいては、ＣＳＪ−Ｅｖａｌ０１について、音声セグメントに対するアテンションスコアの平均値は０．６であり、ブランクに対するアテンションスコアの平均値は０．３６であった。一方、単音ベースにおいては、アテンションスコアの平均値はいずれもそれらの値より十分に小さい。
【０１９２】
最終の残差ブロック２０Ａにおいては、いずれのシステムについても、ショートカット経路を避ける傾向が強い。具体的には、ＣＳＪ−Ｅｖａｌ０１についての音声フレームに対するアテンションスコアの平均値は、いずれのシステムについてもほぼ０．０であった。
【０１９３】
これらの実験結果に基づいて、基本ＣＴＣベースドモデル１（ＶＲｅｓＴＤ−ＣＴＣ）に含まれる残差ブロック２０に対する重みを調整した改良ＣＴＣベースドモデル１Ａを用意した。より具体的には、音声セグメントに対するアテンションスコアαｔｉをしきい値「０．５」が二値化することで、一部の時間遅延ブロック２２を削除した。すなわち、上述した切り落とし法により生成された学習済モデルを「ＶＲｅｓＴＤＭ−ＣＴＣｐｒｕｎｅと称する。
【０１９４】
（ｇ５：音声認識性能）
次に、本実施の形態に従う改良ＣＴＣベースドモデル１Ａの音声認識性能の評価結果の一例について説明する。音声認識性能の評価には、ＣＳＪに含まれる３個の評価データセット（ＣＳＪ−Ｅｖａｌ０１、ＣＳＪ−Ｅｖａｌ０２、ＣＳＪ−Ｅｖａｌ０３）を用いた。音声認識性能の評価には、上述したベースラインモデル（ＤＮＮ−ＨＭＭ−ＣＥおよびＶＲｅｓＴＤ−ＣＥ）と比較した。この音声認識性能の評価結果を以下のＴａｂｌｅ３に示す。
【０１９５】
【表３】
2020020872.tif 000014
【０１９６】
上述の評価結果においては、評価指標として、自動音声認識（ＡＳＲ：Automatic Speech Recognition）の単語誤り率（ＷＥＲ：word error rate）を用いた。ＷＥＲは、評価対象のモデルに音声を入力したときに出力されるテキストについて、当該入力された音声に対応する正解テキストに対する誤り率を示す。ＷＥＲの値が小さいほど性能が高いことを示す。
【０１９７】
上述の評価結果によれば、ＶＲｅｓＴＤＭ−ＣＴＣｐｒｕｎｅおよびＶＲｅｓＴＤＭ−ＣＴＣｒｅｔｒａｉｎの両方とも、すべての評価データセットにおいて、ベースラインモデル（ＤＮＮ−ＨＭＭ−ＣＥ）および基本ＣＴＣベースドモデル１（ＶＲｅｓＴＤ−ＣＴＣ）に比較して、著しい改善が見られる。また、ＶＲｅｓＴＤＭ−ＣＴＣｒｅｔｒａｉｎについては、２つの評価データセットにおいて、ＶＲｅｓＴＤ−ＣＥと同等の性能を発揮するとともに、３番目の評価データセットにおいてはより高い性能を発揮している。
【０１９８】
［Ｈ．まとめ］
本実施の形態に従う改良ＣＴＣベースドモデル１Ａによれば、複数の時間遅延層２４を通過する経路に対する重み（第１の重み）と、ショートカット経路２６に対する重み（第２の重み）とをタイムステップごとに更新できる。このようなタイムステップ毎の重みの更新によって、ネットワーク全体を動的に振る舞わせることができ、これによって、対象のシステムに応じた適切なネットワーク構造を実現できる。
【０１９９】
また、本実施の形態に従う改良ＣＴＣベースドモデル１Ａによれば、アテンションモジュール２８が更新する重み（スケールファクタ）の時間的な変化を監視することで、不安定な時間遅延層２４などを特定することができ、これによって、高精度かつ高速な学習を実現できる。
【０２００】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２０１】
１  基本ＣＴＣベースドモデル、１Ａ  改良ＣＴＣベースドモデル、２  特徴量抽出部、４  認識エンジン、１０，３２，２８２  全結合層、２０，２０Ａ  残差ブロック、２２  時間遅延ブロック、２４  時間遅延層、２６  ショートカット経路、２８  アテンションモジュール、２９  加算器、３０  出力層、３４  マッピング関数、４０，５２０  トレーニングデータセット、４０Ｓ  縮小トレーニングデータセット、４２  音声信号、４４  テキスト、２４１，２４２  遅延要素、２８４  ｓｏｆｔｍａｘ関数、２８５  出力経路、２８６，２８８  乗算器、５００  情報処理装置、５０２  ＣＰＵ、５０４  ＧＰＵ、５０６  主メモリ、５０８  ディスプレイ、５１０  ネットワークインターフェイス、５１２  二次記憶装置、５１４  トレーニングプログラム、５１６  モデル定義データ、５１８  ネットワークパラメータ、５２２  入力デバイス、５２４  光学ドライブ、５２６  光学ディスク、５２８  内部バス、Ｓ  音声認識システム。
【図１】
2020020872.tif 000015
【図２】
2020020872.tif 000016
【図３】
2020020872.tif 000017
【図４】
2020020872.tif 000018
【図５】
2020020872.tif 000019
【図６】
2020020872.tif 000020
【図７】
2020020872.tif 000021
【図８】
2020020872.tif 000022
【図９】
2020020872.tif 000023
【図１０】
2020020872.tif 000024
【図１１】
2020020872.tif 000025
【図１２】
2020020872.tif 000026
【図１３】
2020020872.tif 000027
【図１４】
2020020872.tif 000028
【図１５】
2020020872.tif 000029
【図１６】
2020020872.tif 000030