図面 (/)

技術 識別器、学習済モデル、学習方法

出願人 国立研究開発法人情報通信研究機構
発明者 李勝ルーシュガン高島遼一沈鵬河井恒
出願日 2018年7月30日 (1年10ヶ月経過) 出願番号 2018-142418
公開日 2020年2月6日 (4ヶ月経過) 公開番号 2020-020872
状態 未査定
技術分野 知識ベースシステム 音声認識 学習型計算機
主要キーワード ショートカット経路 NNモデル タイムステップ毎 ベースラインモデル パラメータチューニング 開発データ トレーニングステップ 学習性能
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2020年2月6日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (17)

課題

対象のシステムに応じて適切なネットワーク構造を提供できるモデルを提供する。

解決手段

識別器は、入力信号から所定時間幅フレームごとに第1の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路と、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールとを含む。複数の時間遅延層は、入力に対して所定のタイムステップ遅延を与える遅延要素を有している。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新する。

概要

背景

音声認識分野において、超深層畳み込みネットワーク(very deep convolutional network)は、従来の深層ニューラルネットワーク(DNN:deep neural network)を大きく上回る性能を示すことが知られている。

音声認識タスクに対して、超深層残差時間遅延ニューラルネットワーク(very deep residual time-delay neural network)が提案されている(例えば、非特許文献1参照)。層数の少ないTDNN(time-delay neural network)およびFSMN(feedforward sequential memory networks)とは異なり、超深層残差時間遅延ニューラルネットワークは、再帰フィードバックを用いずに、より長いコンテキスト依存性を学習できる。そのため、BLSTM(bidirectional long short term memory)ネットワークを用いる場合に生じ得る時間遅れなどの問題を回避できる。そのため、音響モデルおよび言語モデルトレーニング一体化したE2E(end-to-end)トレーニングへの適用などが有望視されている。

音声認識のための有効なE2Eフレームワークとして、CTC(connectionist temporal classification)フレームワークを用いたモデルが知られている(例えば、非特許文献2など参照)。CTCフレームワークは、入力される可変長音声フレームと出力されるラベル単音(phones)、文字(character)、音節(syllable)などの単位)との間で生じるシーケンスラベリング問題の解決に注力している。CTCのモデル化技術においては、音響モデルパイプラインを大幅に簡素化している。そのため、CTCフレームワークにおいては、フレームレベルでのラベルや初期GMM−HMM(Gaussian mixture model and hidden Markov model)モデル(音響モデルに相当)を必要としない。

本願発明者らは、先に、超深層残差時間遅延(very deep residual time-delay)構造を用いて、CTCベースのE2Eモデルをトレーニングすることを提案している(例えば、非特許文献3など参照)。

概要

対象のシステムに応じて適切なネットワーク構造を提供できるモデルを提供する。識別器は、入力信号から所定時間幅フレームごとに第1の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路と、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールとを含む。複数の時間遅延層は、入力に対して所定のタイムステップ遅延を与える遅延要素を有している。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新する。

目的

本技術は、対象のシステムに応じて適切なネットワーク構造を提供できるモデルを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

入力信号に対してラベルシーケンスを出力する識別器であって、前記入力信号から所定時間幅フレームごとに第1の特徴ベクトルを順次生成する入力層と、前記入力層に引き続く、積層された複数の残差ブロックと、前記複数の残差ブロックの出力側に接続された出力層とを備え、前記複数の残差ブロックの各々は、積層された複数の時間遅延層と、前記複数の時間遅延層をバイパスするショートカット経路と、前記複数の時間遅延層を通過する経路と前記ショートカット経路との間の重みを調整するアテンションモジュールとを含み、前記複数の時間遅延層は、入力に対して所定のタイムステップ遅延を与える遅延要素を有しており、前記アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、前記タイムステップごとに前記重みを更新する、識別器。

請求項2

前記アテンションモジュールは、対応する残差ブロックの出力と前記ショートカット経路とに接続された全結合層と、前記全結合層に接続されたsoftmax関数とを含む、請求項1に記載の識別器。

請求項3

前記時間遅延層の各々は、入力ベクトルに対して、当該入力ベクトルに対応するフレームである現在フレームに対して、前記タイムステップだけ時間を戻した過去フレームに対応する第1の内部ベクトルと、前記タイムステップだけ時間を進めた未来フレームに対応する第2の内部ベクトルとを生成する、請求項1に記載の識別器。

請求項4

入力信号に対してラベルのシーケンスを出力するように、コンピュータを機能させるための学習済モデルであって、前記学習済モデルは、前記入力信号から所定時間幅のフレームごとに第1の特徴ベクトルを順次生成する入力層と、前記入力層に引き続く、積層された複数の残差ブロックと、前記複数の残差ブロックの出力側に接続された出力層とを備え、前記複数の残差ブロックの各々は、積層された複数の時間遅延層と、前記複数の時間遅延層をバイパスするショートカット経路と、前記複数の時間遅延層を通過する経路と前記ショートカット経路との間の重みを調整するアテンションモジュールとを含み、前記複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有しており、前記アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、前記タイムステップごとに前記重みを更新する、ように構成される、学習済モデル。

請求項5

入力信号に対してラベルのシーケンスを出力する識別器の学習方法であって、前記識別器は、前記入力信号から所定時間幅のフレームごとに第1の特徴ベクトルを順次生成する入力層と、前記入力層に引き続く、積層された複数の残差ブロックと、前記複数の残差ブロックの出力側に接続された出力層とを備え、前記複数の残差ブロックの各々は、積層された複数の時間遅延層と、前記複数の時間遅延層をバイパスするショートカット経路とを含み、前記複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有しており、前記学習方法は、トレーニングデータセットを用いて前記識別器のネットワークを規定するパラメータを決定する第1のトレーニングステップと、前記識別器に、前記複数の時間遅延層を通過する経路と前記ショートカット経路との間の重みを調整するアテンションモジュールを付加する付加ステップとを備え、前記アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、前記タイムステップごとに前記重みを更新するように構成されており、トレーニングデータセットを用いて前記アテンションモジュールを規定するパラメータを決定する第2のトレーニングステップとを備える、学習方法。

請求項6

前記アテンションモジュールが付加された識別器に入力信号を与えることで、前記アテンションモジュールにより算出される前記重みの値の変化に基づいて、前記複数の時間遅延層の一部を削除するステップをさらに備える、請求項5に記載の学習方法。

技術分野

0001

本技術は、入力信号に対してラベルシーケンスを出力する識別器、当該識別器に向けられた学習済モデル、当該識別器の学習方法に関する。

背景技術

0002

音声認識分野において、超深層畳み込みネットワーク(very deep convolutional network)は、従来の深層ニューラルネットワーク(DNN:deep neural network)を大きく上回る性能を示すことが知られている。

0003

音声認識タスクに対して、超深層残差時間遅延ニューラルネットワーク(very deep residual time-delay neural network)が提案されている(例えば、非特許文献1参照)。層数の少ないTDNN(time-delay neural network)およびFSMN(feedforward sequential memory networks)とは異なり、超深層残差時間遅延ニューラルネットワークは、再帰フィードバックを用いずに、より長いコンテキスト依存性を学習できる。そのため、BLSTM(bidirectional long short term memory)ネットワークを用いる場合に生じ得る時間遅れなどの問題を回避できる。そのため、音響モデルおよび言語モデルトレーニング一体化したE2E(end-to-end)トレーニングへの適用などが有望視されている。

0004

音声認識のための有効なE2Eフレームワークとして、CTC(connectionist temporal classification)フレームワークを用いたモデルが知られている(例えば、非特許文献2など参照)。CTCフレームワークは、入力される可変長音声フレームと出力されるラベル(単音(phones)、文字(character)、音節(syllable)などの単位)との間で生じるシーケンスラベリング問題の解決に注力している。CTCのモデル化技術においては、音響モデルパイプラインを大幅に簡素化している。そのため、CTCフレームワークにおいては、フレームレベルでのラベルや初期GMM−HMM(Gaussian mixture model and hidden Markov model)モデル(音響モデルに相当)を必要としない。

0005

本願発明者らは、先に、超深層残差時間遅延(very deep residual time-delay)構造を用いて、CTCベースのE2Eモデルをトレーニングすることを提案している(例えば、非特許文献3など参照)。

先行技術

0006

S. Zhang, M. Li, Z. Yan, and L. Dai, "Deep-FSMN for large vocabulary continuous speech recognition," in arXiv preprint (accepted forICASSP2018) 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.

発明が解決しようとする課題

0007

超深層モデルを規定するパラメータの膨大さは、最適化を複雑化するとともに、汎化性能を低下させるという課題を有している。本願発明者らの研究では、特定のシステムに対して十分にチューニングされた超深層モデルを別のデータ設定をもつシステムにそのまま適用することはできない。これは、優れた性能を発揮する構造を見つけることは容易ではなく、ネットワーク構造のすべての候補について多数の実験を行なう必要がある。

0008

本技術は、対象のシステムに応じて適切なネットワーク構造を提供できるモデルを提供することを目的としている。

課題を解決するための手段

0009

本発明のある局面に従えば、入力信号に対してラベルのシーケンスを出力する識別器が提供される。識別器は、入力信号から所定時間幅フレームごとに第1の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路と、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールとを含む。複数の時間遅延層は、入力に対して所定のタイムステップ遅延を与える遅延要素を有している。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新する。

0010

アテンションモジュールは、対応する残差ブロックの出力とショートカット経路とに接続された全結合層と、全結合層に接続されたsoftmax関数とを含むようにしてもよい。

0011

アテンションモジュールは、第1の重みと第2の重みの合計が1となるように、複数の時間遅延層を通過する経路に対する第1の重みと、ショートカット経路に対する第2の重みとを算出するようにしてもよい。

0012

時間遅延層の各々は、入力ベクトルに対して、当該入力ベクトルに対応するフレームである現在フレームに対して、タイムステップだけ時間を戻した過去フレームに対応する第1の内部ベクトルと、タイムステップだけ時間を進めた未来フレームに対応する第2の内部ベクトルとを生成するようにしてもよい。

0013

入力信号は、音声信号であり、識別器は、音声信号に対する音声認識結果を示すラベルを出力するようにしてもよい。

0014

本発明の別の局面に従えば、入力信号に対してラベルのシーケンスを出力するように、コンピュータを機能させるための学習済モデルが提供される。学習済モデルは、入力信号から所定時間幅のフレームごとに第1の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路と、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールとを含む。複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有している。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新する、ように構成される。

0015

本発明のさらに別の局面に従えば、入力信号に対してラベルのシーケンスを出力する識別器の学習方法が提供される。識別器は、入力信号から所定時間幅のフレームごとに第1の特徴ベクトルを順次生成する入力層と、入力層に引き続く、積層された複数の残差ブロックと、複数の残差ブロックの出力側に接続された出力層とを含む。複数の残差ブロックの各々は、積層された複数の時間遅延層と、複数の時間遅延層をバイパスするショートカット経路とを含む。複数の時間遅延層は、入力に対して所定のタイムステップの遅延を与える遅延要素を有している。学習方法は、トレーニングデータセットを用いて識別器のネットワークを規定するパラメータを決定する第1のトレーニングステップと、識別器に、複数の時間遅延層を通過する経路とショートカット経路との間の重みを調整するアテンションモジュールを付加する付加ステップとを含む。アテンションモジュールは、対応する残差ブロックに与えられる入力が対応する複数の時間遅延層を通過して得られる結果出力と、当該対応する残差ブロックに与えられる入力とに基づいて、タイムステップごとに重みを更新するように構成されている。学習方法は、トレーニングデータセットを用いてアテンションモジュールを規定するパラメータを決定する第2のトレーニングステップを含む。

0016

第2のトレーニングステップは、アテンションモジュールを規定するパラメータを含む、識別器のネットワークを規定するすべてのパラメータの値を再度決定するステップを含むようにしてもよい。

0017

第2のトレーニングステップは、第1のトレーニングステップにおいて決定されたパラメータを固定した状態で、アテンションモジュールを規定するパラメータのみを決定するステップを含むようにしてもよい。

0018

学習方法は、アテンションモジュールが付加された識別器に入力信号を与えることで、アテンションモジュールにより算出される重みの値の変化に基づいて、複数の時間遅延層の一部を削除するステップをさらに含むようにしてもよい。

発明の効果

0019

本技術によれば、対象のシステムに応じて適切なネットワーク構造を提供できる。

図面の簡単な説明

0020

本実施の形態に従う学習済モデルを用いたアプリケーション例を示す模式図である。
図1に示す音声認識システムSの学習方法を説明するための模式図である。
本実施の形態に従う基本CTCベースドモデルにおける処理内容を概略するための図である。
本実施の形態に従う基本CTCベースドモデルのネットワーク構造の一例を示す模式図である。
本実施の形態に従う基本CTCベースドモデルに含まれる時間遅延層の処理構造を示す模式図である。
図4に示すネットワーク構造のうち3層の残差ブロックからなるネットワーク構造を採用した場合と等価なネットワーク構造の一例を示す模式図である。
本実施の形態に従う改良CTCベースドモデルのネットワーク構造の要部を示す模式図である。
本実施の形態に従う音声認識システムSを実現するハードウェア構成の一例を示す模式図である。
本実施の形態に従う改良CTCベースドモデルの学習方法(再トレーニング法)の処理手順を示すフローチャートである。
本実施の形態に従う改良CTCベースドモデルの学習方法(切り落とし法)の処理手順を示すフローチャートである。
本実施の形態に従う改良CTCベースドモデルにおけるデータ伝達分布例を示す図である。
本実施の形態に従う改良CTCベースドモデルの学習方法(ネットワーク再構成法)の処理手順を説明するための図である。
本実施の形態に従う改良CTCベースドモデルを用いて算出されるスケールファクタ時間的変化の一例を示す図である。
本実施の形態に従う改良CTCベースドモデルの学習方法(ネットワーク再構成法)の処理手順を示すフローチャートである。
本実施の形態に従う改良CTCベースドモデルのデコーディング方法の処理手順を示すフローチャートである。
本実施の形態に従う改良CTCベースドモデルのアテンションスコアの変化例を示す図である。

実施例

0021

本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。

0022

[A.アプリケーション例]
まず、本実施の形態に従う学習済モデルを用いたアプリケーション例について説明する。

0023

図1は、本実施の形態に従う学習済モデルを用いたアプリケーション例を示す模式図である。図1には、アプリケーション例として、音声認識システムSを示す。音声認識システムSは、音声信号の入力を受けて認識結果を出力する。より具体的には、音声認識システムSは、音声信号の入力を受けて、予め定められた区間(以下、「音声フレーム」とも称す。)ごとの時系列データから特徴ベクトルを抽出する特徴量抽出部2と、特徴量抽出部2からのベクトルの入力を受けてテキストなどの認識結果を出力する認識エンジン4とを含む。

0024

特徴量抽出部2は、入力される音声信号から音声フレームごとに特徴ベクトルを順次生成する。特徴量抽出部2から出力される特徴ベクトルは、予め定められた次元数を有しており、入力される音声信号の対応する音声フレームに相当する部分の特徴量を反映する。特徴ベクトルは、入力される音声信号の長さに応じて、順次出力されることになる。以下では、このような一連の特徴ベクトルの全部または一部を「音響特徴シーケンス」とも総称する。

0025

認識エンジン4は、特徴量抽出部2から出力される音声フレームごとの特徴ベクトルを学習済モデルに入力してテキストを出力する。このように、認識エンジン4は、本実施の形態に従う学習済モデルで構成され、デコーダとして機能する。すなわち、認識エンジン4は、音声認識のためのE2Eフレームワーク(音響モデルおよび言語モデルが一体化されて構成される)であり、音声フレームの入力を受けて対応するテキストを出力する。

0026

図2は、図1に示す音声認識システムSの学習方法を説明するための模式図である。図2を参照して、音声信号42と対応するテキスト44とからなるトレーニングデータセット40を用意する。音声信号42を特徴量抽出部2に入力するとともに、特徴量抽出部2により順次生成される特徴ベクトルを認識エンジン4に入力することで、認識エンジン4からの認識結果(テキスト)を得る。認識エンジン4からの認識結果と、入力される音声信号42に対応するラベル(テキスト44)との誤差に基づいて、認識エンジン4を規定するネットワークのパラメータを順次更新することで、ネットワークが最適化される。

0027

[B.基本ネットワーク構造]
本実施の形態に従う学習済モデルは、以下に説明するような基本ネットワーク構造に対して、アテンションモジュールを適宜付加して学習およびネットワーク構造の最適化を実現する。先に、本実施の形態に従う基本ネットワーク構造について説明する。

0028

(b1:概要
本実施の形態においては、CTCフレームワークを用いたモデルに分類される基本ネットワーク構造(以下、「基本CTCベースドモデル」とも称す。)を用いる。基本CTCベースドモデルは、入力信号に対してラベルのシーケンスを出力する識別器である。以下では、主として、入力信号として音声信号を用いるとともに、基本CTCベースドモデルが音声信号に対する音声認識結果を示すラベルを出力する例について説明するが、基本CTCベースドモデルは、音声認識以外のタスクにも応用が可能である。

0029

典型例として、本実施の形態に従う基本CTCベースドモデル1には、入力される音声信号のセンテンスに順次設定されるウィンドウ(10−15個の音声フレームを含む)の特徴量が入力される。ここで、センテンスは、言語的に意味のある区切りを意味し、通常、予め定められた区間長さの音声フレームを複数含むことになる。

0030

本実施の形態に従う基本CTCベースドモデル1からの出力は、パスと称されるフレームレベルのシーケンス(以下、「CTC出力シーケンス」とも称す。)である。出力されるシーケンスは、何らのCTCラベルもないブランク(以下、「φ」とも表現する。)を含む。

0031

図3は、本実施の形態に従う基本CTCベースドモデル1における処理内容を概略するための図である。図3を参照して、入力される音声信号のセンテンスの先頭にウィンドウ(10−15個の音声フレームを含む)を設定するとともに、ウィンドウを複数個所にスライドさせることで、CTC出力を推定する。図3に示すように、基本CTCベースドモデル1への入力は、前進の経路のみを有している。すなわち、過去の情報のみを入力として必要とするので、入力音声の終了を待つ必要がない。

0032

以下の説明においては、本実施の形態に従う基本CTCベースドモデル1を「VResTD−CTC」(very deep residual time-delay neural network - CTC)」とも称する。

0033

本実施の形態に従う基本CTCベースドモデル1をトレーニングすることで、図1の認識エンジン4を実現する学習済モデルを実現できる。特徴量抽出部2については、経験則などに基づいて、予め設計されてもよい。

0034

図4は、本実施の形態に従う基本CTCベースドモデル1のネットワーク構造の一例を示す模式図である。図4を参照して、基本CTCベースドモデル1には、音声信号を予め定められた区間ごとに抽出した時系列データ(音声フレーム)から特徴量抽出部2(図1)が生成する特徴ベクトル(音響特徴シーケンス)が入力される。基本CTCベースドモデル1は、順次入力される特徴ベクトルに対して、対応するテキスト(サブワードシーケンス)を順次出力する。

0035

より具体的には、基本CTCベースドモデル1は、入力層としての全結合層10(以下、「FC」または「FC layers」とも称す。)と、複数の残差ブロック20と、出力層30とを含む。

0036

入力層としての全結合層10は、特徴ベクトルの入力を受けて、必要な次元数の内部ベクトルを生成する。

0037

複数の残差ブロック20は、全結合層10に引き続いて配置される。複数の残差ブロック20は互いに積層されることで、多段の残差ブロック20を構成する。

0038

残差ブロック20の各々は、時間遅延ブロック22を含む。時間遅延ブロック22は、積層された複数の時間遅延層24(「TD layer」とも表現する。)を含む。残差ブロック20の各々は、さらに、時間遅延ブロック22をバイパスするショートカット経路26と、時間遅延ブロック22の出力とショートカット経路26(「Short−cut path」とも表現する。)の出力とを合成する加算器29とを含む。

0039

出力層30は、複数の残差ブロック20の出力側に接続されており、全結合層32と、マッピング関数34とを含む。全結合層32は、最終段の残差ブロック20の出力ノードに結合されており、出力される特徴ベクトルについての確率を正規化して、最も確からしいラベルを出力する。出力層30からはフレームごとにラベルが出力されるので、入力される音声信号に対応してラベルが順次出力されることになる。図4には、ラベルとして単音(なお、単音は、単音(phones)、文字(character)、音節(syllable)などの単位を意味する)を用いる例を示している。フレームごとに順次推定される一連のラベル(単音のシーケンス)がCTC出力シーケンスとなる。基本CTCベースドモデル1の推定結果には、対応するラベルが存在しない、ブランク(図4においては「φ」で示されている。)を含み得る。

0040

マッピング関数34は、CTC出力シーケンスから対応するテキスト(サブワードシーケンス)を順次決定する。

0041

以上の通り、本実施の形態に従う基本CTCベースドモデル1においては、入力されたフレームごとの音声信号に対する認識結果として、テキスト(サブワードシーケンス)が出力される。

0042

(b2:単一の時間遅延層24での処理)
図5は、本実施の形態に従う基本CTCベースドモデル1に含まれる時間遅延層24の処理構造を示す模式図である。図5を参照して、時間遅延層24は、入力に対して所定のタイムステップtiの遅延を与える2つの遅延要素241,242を含む。

0043

遅延要素241,242の各々は、タイムステップtiだけ入力を遅延させる。時間遅延層24に与えられる入力シーケンスは、遅延要素241においてタイムステップtiの遅延が与えられる。遅延要素241においてタイムステップtiの遅延が与えられた結果出力はさらに遅延要素242に与えられる。遅延要素242は、遅延要素241からの結果出力に対してさらにタイムステップtiの遅延を与える。このような2段の遅延要素によって、タイミングがタイムステップtiずつ異なる3種類のコンテキストが生成される。

0044

入力されるフレームを未来コンテキストとし、遅延要素241からの結果出力を現在コンテキストとし、遅延要素242から出力される結果出力を過去コンテキストとすることで、実質的に双方向にタイムステップを拡大できる。

0045

図5に示すように、時間遅延層24の各々は、入力シーケンス(入力ベクトル)に対して、当該入力ベクトルに対応するフレームである現在フレームに対して、タイムステップtiだけ時間を戻した過去フレームに対応する過去コンテキスト(第1の内部ベクトル)と、タイムステップtiだけ時間を進めた未来フレームに対応する未来コンテキスト(第2の内部ベクトル)とを生成する。

0046

本実施の形態に従う基本CTCベースドモデル1において、l(エル番目の時間遅延層24へ与えられる全体の入力シーケンスHlは、以下の(1)式のように示すことができる。

0047

0048

まず、いずれのhltについても、l番目の時間遅延層24に入力されると、l番目の時間遅延層24についての標準重み行列Wlおよびバイアスblを用いて、以下の(2)式のように線形変換される。

0049

0050

次に、l番目の時間遅延層24におけるタイムステップtでの偏差etlは、以下の(3)式のように示すことができる。

0051

0052

時間遅延層24の各々の出力は、以下の(4)式のように示すことができる。

0053

0054

なお、上述の(4)式においては、残差ブロック20の活性化関数として正規化線形関数(ReLU:rectified linear unit)を用いる例を示すが、これに限らず、任意の活性化関数を用いることができる。以下の説明では、正規化線形関数を「ReLU」とも称す。

0055

(b3:残差ブロック20での処理)
積層された複数の時間遅延層24からなる残差ブロック20全体で見ると、多層変換fiの出力と多層変換fiをバイパスするショートカット出力との結合(加算器29の結果)が出力されることになる。多層変換fiは、時間遅延層24および活性化関数(ReLU)を直列結合した関数である。

0056

0057

複数の残差ブロック20を互いに積層したネットワークは、アンサンブルネットワークのような振る舞いを見せる。

0058

図6は、図4に示すネットワーク構造のうち3層の残差ブロック20からなるネットワーク構造を採用した場合と等価なネットワーク構造の一例を示す模式図である。図6(A)に示すネットワーク構造は、ショートカット経路26および合成する加算器29を展開することにより、図6(B)に示す等価ネットワーク構造として表現できる。図6(B)に示すように、異なる数の残差ブロック20を通過する経路が複数(図6では8つ)並列に存在することになる。この結果、異なるすべてのタイムステップの遅延が与えられた結果が最終的に結合される。

0059

図4および図6に示す基本CTCベースドモデル1においては、最終の残差ブロック20からのすべての出力は、所定時間に亘る他の残差ブロック20からの出力を含むことになる。例えば、3層の残差ブロック20からなる基本CTCベースドモデル1を想定すると、最終の残差ブロック20からのあるタイムステップにおける出力y3tは、以下の(6)式のように示すことができる。

0060

0061

[C.改良ネットワーク構造]
次に、本実施の形態に従う改良ネットワーク構造について説明する。本実施の形態に従う改良ネットワーク構造は、上述の図4および図6に示される基本CTCベースドモデル1を構成する残差ブロック20に改良を加えたものに相当する。以下、「基本CTCベースドモデル」との対比として「改良CTCベースドモデル」とも称す。なお、「基本CTCベースドモデル」と「改良CTCベースドモデル」とを区別しない文脈においては、単に「CTCベースドモデル」と総称することもある。

0062

図7は、本実施の形態に従う改良CTCベースドモデルのネットワーク構造の要部を示す模式図である。図7(A)は、本実施の形態に従う基本CTCベースドモデルの残差ブロック20の構造例を示し、図7(B)は、本実施の形態に従う改良CTCベースドモデルの残差ブロック20Aの構造例を示す。

0063

図7(A)と図7(B)とを比較して、残差ブロック20Aは、残差ブロック20に比較して、アテンションモジュール28(Attention module)をさらに含む。アテンションモジュール28は、残差ブロック20Aの出力層の後段に配置される。アテンションモジュール28は、残差ブロック20Aに含まれる2つの経路(ショートカット経路26側の経路および時間遅延ブロック22側の経路)に対する重みを調整する。このようなアテンションモジュール28を採用することで、基本CTCベースドモデル1をより動的に振る舞わせることができるため、学習性能および識別性能を高めることができる。

0064

本実施の形態において、アテンションモジュール28は、時間遅延を実現する残差ブロック(時間遅延層24)の後段に配置されることで後述するような顕著な効果を奏する。

0065

以下の説明においては、以下の(7)式に示すような、それぞれの経路の重みを変更するためのアテンションスコアαti(ベクトル量)を用いる。

0066

0067

アテンションスコアαti(ベクトル量)は、重みαtiおよび重みβti(=1−αti)を要素として含む。重みαtiは、任意のタイムステップtにおいて、i番目の残差ブロック20Aのショートカット経路26を伝達されるデータに対するスケールファクタを意味し、重みβti(=1−αti)は、任意のタイムステップtにおいて、i番目の残差ブロック20Aの時間遅延ブロック22を伝達されるデータに対するスケールファクタを意味する。

0068

より具体的には、図7(B)に示すように、アテンションモジュール28は、全結合層282と、softmax関数284と、乗算器286,288とを含む。

0069

アテンションモジュール28の全結合層282は、対応する残差ブロック20Aの出力とショートカット経路26とに接続される。softmax関数284は、全結合層282に接続される。

0070

時間遅延ブロック22からの出力経路285は乗算器286に入力され、乗算器286において重みβtiを乗じられた上で加算器29に出力される。一方、ショートカット経路26は乗算器288に入力され、乗算器288において重みαtiを乗じられた上で加算器29に出力される。なお、αti+βti=1である。このように、アテンションモジュール28は、重みαti(第1の重み)と重みβti(第2の重み)の合計が1となるように、複数の時間遅延層24を通過する経路に対する重みαti(第1の重み)と、ショートカット経路26に対する重みβti(第2の重み)とを算出する。

0071

重みαtiおよび重みβtiが動的に変更されることで、残差ブロック20Aからの出力に含まれる、多層変換fiの出力と多層変換fiをバイパスするショートカット出力との比率を動的に調整できる。

0072

このように、アテンションモジュール28は、複数の時間遅延層24を通過する出力経路285とショートカット経路26との間の重みを調整する。

0073

図7に示すような残差ブロック20Aからの出力は、上述の(5)式に示す関係式に対する重み付けを変更することで、以下の(8)式のように定義できる。

0074

0075

このように、アテンションモジュール28は、対応する残差ブロック20Aに与えられる入力が対応する複数の時間遅延層24を通過して得られる結果出力と、当該対応する残差ブロック20Aに与えられる入力とに基づいて、タイムステップごとに重みαtiおよび重みβti(スケールファクタ)を更新する。

0076

より具体的には、重みαtiおよび重みβtiは、全結合層282およびsoftmax関数284を用いて、以下の(9)式に従って算出される。

0077

0078

[D.ハードウェア構成]
次に、本実施の形態に従う学習済モデルを用いた音声認識システムSを実現するためのハードウェア構成の一例について説明する。

0079

図8は、本実施の形態に従う音声認識システムSを実現するハードウェア構成の一例を示す模式図である。音声認識システムSは、典型的には、コンピュータの一例である情報処理装置500を用いて実現される。

0080

図8を参照して、音声認識システムSを実現する情報処理装置500は、主要なハードウェアコンポーネントとして、CPU(central processing unit)502と、GPU(graphics processing unit)504と、主メモリ506と、ディスプレイ508と、ネットワークインターフェイス(I/F:interface)510と、二次記憶装置512と、入力デバイス522と、光学ドライブ524とを含む。これらのコンポーネントは、内部バス528を介して互いに接続される。

0081

CPU502および/またはGPU504は、後述するような各種プログラムを実行することで、本実施の形態に従う音声認識システムSの実現に必要な処理を実行するプロセッサである。CPU502およびGPU504は、複数個配置されてもよいし、複数のコアを有していてもよい。

0082

主メモリ506は、プロセッサ(CPU502および/またはGPU504)が処理を実行するにあたって、プログラムコードやワークデータなどを一時的に格納(あるいは、キャッシュ)する記憶領域であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などの揮発性メモリデバイスなどで構成される。

0083

ディスプレイ508は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。

0084

ネットワークインターフェイス510は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータを遣り取りする。ネットワークインターフェイス510としては、例えば、イーサネット登録商標)、無線LAN(local area network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。

0085

入力デバイス522は、ユーザからの指示や操作などを受付けるデバイスであり、例えば、キーボードマウスタッチパネルペンなどで構成される。また、入力デバイス522は、学習およびデコーディングに必要な音声信号を収集するための集音デバイスを含んでいてもよいし、集音デバイスにより収集された音声信号の入力を受付けるためのインターフェイスを含んでいてもよい。

0086

光学ドライブ524は、CD−ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク526に格納されている情報を読出して、内部バス528を介して他のコンポーネントへ出力する。光学ディスク526は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ524が光学ディスク526からプログラムを読み出して、二次記憶装置512などにインストールすることで、コンピュータが情報処理装置500として機能するようになる。したがって、本発明の主題は、二次記憶装置512などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク526などの記録媒体でもあり得る。

0087

図8には、非一過的な記録媒体の一例として、光学ディスク526などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。

0088

二次記憶装置512は、コンピュータを情報処理装置500として機能させるために必要なプログラムおよびデータを格納する。例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。

0089

より具体的には、二次記憶装置512は、図示しないOS(operating system)の他、学習処理を実現するためのトレーニングプログラム514と、学習対象のネットワーク構造を定義するモデル定義データ516と、学習済モデルを規定するためのネットワークパラメータ518と、トレーニングデータセット520とを格納している。

0090

トレーニングプログラム514は、プロセッサ(CPU502および/またはGPU504)により実行されることで、ネットワークパラメータ518を決定するための学習処理を実現する。モデル定義データ516は、学習対象となる基本CTCベースドモデル1および改良CTCベースドモデル1Aのネットワーク構造を構成するコンポーネントおよび接続関係などを定義するための情報を含む。ネットワークパラメータ518は、学習対象のモデル(ネットワーク)を構成する要素ごとのパラメータを含む。ネットワークパラメータ518に含まれる各パラメータの値は、トレーニングプログラム514の実行により最適化される。トレーニングデータセット520は、例えば、後述するようなCSJに含まれるデータセットを用いることができる。例えば、学習対象の基本CTCベースドモデル1および改良CTCベースドモデル1Aが音声認識タスクに向けられたものである場合には、トレーニングデータセット520は、講演などの音声信号と、当該音声信号に対応する発話内容を示す転記テキストとを含む。

0091

プロセッサ(CPU502および/またはGPU504)がプログラムを実行する際に必要となるライブラリ機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールにより代替してもよい。この場合には、プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、OSの実行環境下にインストールされることで、目的の処理を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。

0092

また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。

0093

図8には、単一のコンピュータを用いて情報処理装置500を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的連携して、情報処理装置500および情報処理装置500を含む音声認識システムSを実現するようにしてもよい。

0094

プロセッサ(CPU502および/またはGPU504)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。

0095

業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置500を実現できるであろう。

0096

説明の便宜上、同一の情報処理装置500を用いて、学習(CTCベースドモデルの構築)およびデコーディング(CTCベースドモデルを含むモデルによる音声認識)を実行する例を示したが、学習およびデコーディングを異なるハードウェアを用いて実現してもよい。

0097

[E.学習方法]
次に、本実施の形態に従う改良CTCベースドモデル1Aの学習方法について説明する。

0098

(e1:概要)
本実施の形態に従うCTCベースドモデルは、E2Eフレームワークを提供するものであり、音響モデルおよび言語モデルを別々に学習する必要はない。すなわち、CTCベースドモデルは、入力される音声信号に対応するテキストを直接出力するものであり、学習処理においては、音声信号と対応するテキストとからなるトレーニングデータセットを用いる。

0099

本実施の形態に従うCTCベースドモデルの学習処理は、ニューラルネットワークの一般的な学習処理と同様に、教師有り学習を用いることができる。具体的には、CTCベースドモデルを構成する各コンポーネントのパラメータに任意の初期値を設定する。その上で、トレーニングデータセットに含まれる音声信号(音響特徴シーケンス)をCTCベースドモデルに順次入力するとともに、CTCベースドモデルから順次出力されるCTC出力シーケンス(テキスト)と入力された音声信号に対応するテキストとの誤差を算出し、その算出した誤差に基づいて、CTCベースドモデルを構成する各コンポーネントのパラメータを逐次更新する。

0100

このような学習処理によって、トレーニングデータからCTCベースドモデルに対応する学習済モデルを構築できる。

0101

本実施の形態においては、改良CTCベースドモデル1Aを適切に学習させることで、音声認識性能を改善することができる。上述したようなアテンションモジュール28を含む改良CTCベースドモデル1Aに特徴ベクトルを入力することで、任意のタイムステップtにおける、それぞれのショートカット経路26についてのスケールファクタ(αt1,αt2,…αti,…αtN)を取得できる。

0102

本願発明者らの研究によれば、それぞれの残差ブロック20Aにおいて、時間遅延ブロック22をデータが通過する経路の重みと、ショートカット経路26をデータが通過する経路の重みとは、適用されるシステムによって様々である。

0103

そこで、本実施の形態においては、以下に示すような、再トレーニング法(Retrain-based method)、切り落とし法(Prune-based method)またはネットワーク再構成法という学習方法を採用できる。

0104

(e2:再トレーニング法)
再トレーニング法は、超深層畳み込みネットワークである改良CTCベースドモデル1Aを規定するすべてのパラメータ(アテンションモジュール28のパラメータも含む)を再度トレーニングする方法である。より具体的には、基本CTCベースドモデル1をトレーニングすることで学習済モデルを取得し、この取得された学習済モデルに対して、アテンションモジュール28を付加して改良CTCベースドモデル1Aを構成した上で、再度トレーニングを実行する。

0105

基本CTCベースドモデル1および改良CTCベースドモデル1Aの両方をトレーニングしなければならないので、トレーニングに要する時間は約2倍になるが、音声認識性能を確実に向上させることができる。

0106

なお、スケールファクタ(αt1,αt2,…αti,…αtN)は、タイムステップtごとに変化することになる。

0107

図9は、本実施の形態に従う改良CTCベースドモデル1Aの学習方法(再トレーニング法)の処理手順を示すフローチャートである。図9に示す各ステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)がトレーニングプログラム514を実行することで実現される。

0108

図9を参照して、情報処理装置500には、音声信号42と対応するテキスト44とからなるトレーニングデータセット40が入力される(ステップS100)。情報処理装置500は、基本CTCベースドモデル1を規定するパラメータの初期値をランダムに決定する(ステップS102)。

0109

情報処理装置500は、トレーニングデータセット40に含まれる音声信号42からフレームごとに特徴ベクトルを生成する(ステップS104)。そして、情報処理装置500は、生成した特徴ベクトルを基本CTCベースドモデル1に入力して推定結果を算出する(ステップS106)。

0110

情報処理装置500は、算出された推定結果が予め定められた数に到達したか否かを判断する(ステップS108)。算出された推定結果が予め定められた数に到達していなければ(ステップS108においてNO)、ステップS104以下の処理が繰返される。

0111

算出された推定結果が予め定められた数に到達していれば(ステップS108においてYES)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する(ステップS110)。

0112

学習処理の収束条件が満たされていなければ(ステップS110においてNO)、情報処理装置500は、ミニバッチとしてまとめて算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、基本CTCベースドモデル1を規定するパラメータの値を更新し(ステップS112)、ステップS104以下の処理を繰返す。

0113

これに対して、学習処理の収束条件が満たされていれば(ステップS110においてYES)、現在のパラメータを学習結果として出力する(ステップS114)。すなわち、現在のパラメータにより規定される基本CTCベースドモデル1が学習済モデルとして出力される。

0114

上述のステップS100〜S114において、情報処理装置500は、トレーニングデータセット40を用いて基本CTCベースドモデル1(識別器)のネットワークを規定するパラメータを決定する第1のトレーニングステップを実行する。

0115

続いて、情報処理装置500は、学習済の基本CTCベースドモデル1に対してアテンションモジュール28を付加して改良CTCベースドモデル1Aを生成する(ステップS116)。すなわち、情報処理装置500は、基本CTCベースドモデル1(識別器)に、複数の時間遅延層24を通過する経路とショートカット経路26との間の重みを調整するアテンションモジュール28を付加する付加ステップを実行する。

0116

情報処理装置500は、改良CTCベースドモデル1Aに付加されたアテンションモジュール28のパラメータの初期値をランダムに決定する(ステップS118)。そして、再度トレーニングを開始する。

0117

具体的には、情報処理装置500は、トレーニングデータセット40に含まれる音声信号42からフレームごとに特徴ベクトルを生成する(ステップS120)。そして、情報処理装置500は、生成した特徴ベクトルを改良CTCベースドモデル1Aに入力して推定結果を算出する(ステップS122)。

0118

情報処理装置500は、算出された推定結果が予め定められた数に到達したか否かを判断する(ステップS124)。算出された推定結果が予め定められた数に到達していなければ(ステップS124においてNO)、ステップS120以下の処理が繰返される。

0119

算出された推定結果が予め定められた数に到達していれば(ステップS124においてYES)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する(ステップS126)。

0120

学習処理の収束条件が満たされていなければ(ステップS126においてNO)、情報処理装置500は、ミニバッチとしてまとめて算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、改良CTCベースドモデル1Aを規定するパラメータの値を更新し(ステップS128)、ステップS120以下の処理を繰返す。

0121

これに対して、学習処理の収束条件が満たされていれば(ステップS126においてYES)、現在のパラメータを学習結果として出力する(ステップS130)。すなわち、現在のパラメータにより規定される改良CTCベースドモデル1Aが学習済モデルとして出力される。そして、処理は終了する。

0122

上述のステップS118〜S130において、情報処理装置500は、トレーニングデータセット40を用いてアテンションモジュール28を規定するパラメータを決定する第2のトレーニングステップを実行する。この第2のトレーニングステップにおいて、情報処理装置500は、アテンションモジュール28を規定するパラメータを含む、改良CTCベースドモデル1A(識別器)のネットワークを規定するすべてのパラメータの値を再度決定することになる。

0123

このようにパラメータ全体の決定処理を2回実行することで、高い識別精度を実現できる。

0124

(e3:切り落とし法)
上述の再トレーニング法では、改良CTCベースドモデル1Aを規定するすべてのパラメータ(アテンションモジュール28のパラメータも含む)を更新対象としたが、切り落とし法では、生成された学習済モデルのパラメータについては固定した上で、より少ないトレーニングデータでアテンションモジュール28のパラメータのみをトレーニングするようにしてもよい。

0125

アテンションモジュール28のパラメータのみをトレーニングすることで、学習処理に要する時間を短縮できる。

0126

図10は、本実施の形態に従う改良CTCベースドモデル1Aの学習方法(切り落とし法)の処理手順を示すフローチャートである。図10に示す各ステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)がトレーニングプログラム514を実行することで実現される。図10に示す処理のうち、図9に示す処理と同一のものは、同一のステップ番号を付している。

0127

図10を参照して、情報処理装置500には、音声信号42と対応するテキスト44とからなるトレーニングデータセット40が入力される(ステップS100)。情報処理装置500は、基本CTCベースドモデル1を規定するパラメータの初期値をランダムに決定する(ステップS102)。

0128

情報処理装置500は、トレーニングデータセット40に含まれる音声信号42からフレームごとに特徴ベクトルを生成する(ステップS104)。そして、情報処理装置500は、生成した特徴ベクトルを基本CTCベースドモデル1に入力して推定結果を算出する(ステップS106)。

0129

情報処理装置500は、算出された推定結果が予め定められた数に到達したか否かを判断する(ステップS108)。算出された推定結果が予め定められた数に到達していなければ(ステップS108においてNO)、ステップS104以下の処理が繰返される。

0130

算出された推定結果が予め定められた数に到達していれば(ステップS108においてYES)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する(ステップS110)。

0131

学習処理の収束条件が満たされていなければ(ステップS110においてNO)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、基本CTCベースドモデル1を規定するパラメータの値を更新し(ステップS112)、ステップS104以下の処理を繰返す。

0132

これに対して、学習処理の収束条件が満たされていれば(ステップS110においてYES)、現在のパラメータを学習結果として出力する(ステップS114)。すなわち、現在のパラメータにより規定される基本CTCベースドモデル1が学習済モデルとして出力される。

0133

上述のステップS100〜S114において、情報処理装置500は、トレーニングデータセット40を用いて基本CTCベースドモデル1(識別器)のネットワークを規定するパラメータを決定する第1のトレーニングステップを実行する。

0134

続いて、情報処理装置500は、学習済の基本CTCベースドモデル1に対してアテンションモジュール28を付加して改良CTCベースドモデル1Aを生成する(ステップS116)。すなわち、情報処理装置500は、基本CTCベースドモデル1(識別器)に、複数の時間遅延層24を通過する経路とショートカット経路26との間の重みを調整するアテンションモジュール28を付加する付加ステップを実行する。

0135

情報処理装置500は、改良CTCベースドモデル1Aに付加されたアテンションモジュール28のパラメータの初期値をランダムに決定する(ステップS118)。そして、アテンションモジュール28に対するトレーニングを開始する。

0136

具体的には、情報処理装置500は、基本CTCベースドモデル1のトレーニングに用いたトレーニングデータセット40の一部からなる縮小トレーニングデータセット40Sを取得する(ステップS119)。そして、情報処理装置500は、縮小トレーニングデータセット40Sに含まれる音声信号42からフレームごとに特徴ベクトルを生成する(ステップS121)。そして、情報処理装置500は、生成した特徴ベクトルを改良CTCベースドモデル1Aに入力して推定結果を算出する(ステップS122)。

0137

情報処理装置500は、算出された推定結果が予め定められた数に到達したか否かを判断する(ステップS124)。算出された推定結果が予め定められた数に到達していなければ(ステップS124においてNO)、ステップS120以下の処理が繰返される。

0138

算出された推定結果が予め定められた数に到達していれば(ステップS124においてYES)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する(ステップS126)。

0139

学習処理の収束条件が満たされていなければ(ステップS126においてNO)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、改良CTCベースドモデル1Aに含まれるアテンションモジュール28を規定するパラメータの値を更新し(ステップS129)、ステップS120以下の処理を繰返す。

0140

これに対して、学習処理の収束条件が満たされていれば(ステップS126においてYES)、現在のパラメータを学習結果として出力する(ステップS130)。すなわち、現在のパラメータにより規定される改良CTCベースドモデル1Aが学習済モデルとして出力される。そして、処理は終了する。

0141

上述のステップS118〜S130において、情報処理装置500は、トレーニングデータセット40を用いてアテンションモジュール28を規定するパラメータを決定する第2のトレーニングステップを実行する。この第2のトレーニングステップにおいて、情報処理装置500は、第1のトレーニングステップにおいて決定されたパラメータ(基本CTCベースドモデル1を規定するパラメータ)を固定した状態で、アテンションモジュール28を規定するパラメータのみを決定する処理を実行する。

0142

このように、基本CTCベースドモデル1を規定するパラメータを固定することで、第2のトレーニングを短時間で実現できる。

0143

(e4:ネットワーク再構成法)
本実施の形態に従う改良CTCベースドモデル1Aのアテンションモジュール28が示す各残差ブロック20Aのアテンションスコアあるいはスケールファクタ(重み)の平均値は、データを伝達可能なすべての経路からの情報を示すことになる。

0144

図11は、本実施の形態に従う改良CTCベースドモデル1Aにおけるデータ伝達の分布例を示す図である。図11に示す例では、1番目の残差ブロック20Aにおいては、データはショートカット経路26を主体的に通過し、2番目以降の残差ブロック20Aにおいては、データは時間遅延ブロック22を主体的に通過していることが分かる。

0145

このような改良CTCベースドモデル1Aにおけるデータ伝達の状態を事前知識として利用することで、改良CTCベースドモデル1Aのネットワーク構造を改良し得る。ネットワーク構造の改良によって、音声認識性能も向上させることができる。

0146

例えば、i番目の残差ブロック20Aについての重みαtiを2値化(「0」または「1」)することで、ネットワーク構造自体をチューニングできる。すなわち、重みαtiが「1」であれば、対応する残差ブロック20Aの時間遅延ブロック22にはデータが伝達されないので、時間遅延ブロック22を削除してもよいと判断できる。一方、重みαtiが「0」であれば、ショートカット経路26を削除してもよいと判断できる。

0147

このような重みαtiを2値化する方法としては、トレーニングデータセットの一部からなるデータセットを用いて順次生成される特徴ベクトルに対して、タイムステップごとに算出される重みαtiの代表値(平均値、最大値最小値中間値など)が予め定められたしきい値を超えるか否かに基づいて決定できる。重みαtiの二値化に用いられるデータセットは、例えば、後述するような開発データセット(CSJ−Dev)の音声部分を用いることができる。

0148

図12は、本実施の形態に従う改良CTCベースドモデル1Aの学習方法(ネットワーク再構成法)の処理手順を説明するための図である。まず、図12(A)に示すように、基本CTCベースドモデル1を通常のトレーニングデータセットを用いてトレーニングする。続いて、図12(B)に示すように、基本CTCベースドモデル1にアテンションモジュール28を追加して、通常のトレーニングの一部からなる縮小トレーニングデータセットを用いてアテンションモジュール28をトレーニングする。

0149

基本CTCベースドモデル1に対応するパラメータおよびアテンションモジュール28に対応するパラメータをトレーニングした後、改良CTCベースドモデル1Aに対して、開発データセットなどの音声部分から生成される特徴ベクトルを入力し、各残差ブロック20Aにおけるスケールファクタの時間的変化を算出する。各残差ブロック20Aにおいては、次の図13に示すような時間的変化を算出できる。

0150

図13は、本実施の形態に従う改良CTCベースドモデル1Aを用いて算出されるスケールファクタの時間的変化の一例を示す図である。図13に示すスケールファクタである重みαt1の値は、入力される音節ごとに大きく変化している。

0151

各残差ブロック20Aについて算出されるスケールファクタの時間的変化に基づいて、各残差ブロック20Aにおけるデータの伝達状態を評価する。このデータの伝達状態は、各残差ブロック20Aにおける安定度に対応していると考えることもできる。そして、対応するスケールファクタの時間的変化が予め定められた条件を満たした残差ブロック20Aについては、図12(C)に示すように、改良CTCベースドモデル1Aから削除される。

0152

最終的に、状況に応じていくつかの時間遅延ブロック22が削除された後の改良CTCベースドモデル1Aを規定するすべてのパラメータ(アテンションモジュール28のパラメータも含む)を再度のトレーニングにより決定する。

0153

このように、アテンションモジュール28が付加された改良CTCベースドモデル1A(識別器)に入力信号を与えることで、アテンションモジュール28により算出されるスケールファクタである重みαt1の値の変化に基づいて、複数の時間遅延層24の一部を削除する処理を実行してもよい。

0154

ここで、時間遅延ブロック22の各々を削除すべきか否かの条件としては、ショートカット経路26についてのスケールファクタである重みαtiの絶対値が相対的に大きい場合、あるいは、値のバラツキが相対的に大きい場合などが挙げられる。すなわち、対象となる音声信号に対して、ショートカット経路26を通過するデータが相対的に大きい、あるいは、ショートカット経路26を通過するデータ量の変動が相対的に大きい場合には、残差ブロック20Aの安定性が低いことを意味し、このような安定性の低い残差ブロック20Aについては削除することで、学習およびデコーディングをより安定化できる。

0155

時間遅延ブロック22を削除するか否かの具体的な条件としては、以下のようなものが挙げられる。

0156

(1)特定の音声入力について、重みαti(スケールファクタ)の値が予め定められたしきい値(典型的には、「0.5」)を超える数(あるいは、現れているピーク)が予め定められた数以上である場合。

0157

(2)特定の音声入力に含まれるラベル(単音、文字、音節などの単位)に対して、重みαti(スケールファクタ)の値が予め定められたしきい値(典型的には、「0.5」)を超える数の比率が予め定められた数(例えば、30%)以上である場合。

0158

(3)重みαti(スケールファクタ)の時間的変化が示すグラフ面積が予め定められたしきい値以上である場合。

0159

(4)特定の音声入力について、重みαti(スケールファクタ)の時間変動変動幅標準偏差、分散、最大値と最小値との差)が予め定められたしきい値以上である場合。

0160

上述した以外の任意の判断基準を用いることができる。
以上のような手順によって、ネットワーク構造を最適化した上で、学習処理を実行することになる。

0161

図14は、本実施の形態に従う改良CTCベースドモデル1Aの学習方法(ネットワーク再構成法)の処理手順を示すフローチャートである。図14に示す各ステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)がトレーニングプログラム514を実行することで実現される。

0162

図14を参照して、情報処理装置500は、トレーニングデータセット40を用いて、基本CTCベースドモデル1のパラメータを決定する(ステップS150)。このステップS150の処理は、図9に示す再トレーニング法のステップS100〜S114と実質的に同一である。

0163

続いて、情報処理装置500は、学習済の基本CTCベースドモデル1に対してアテンションモジュール28を付加して改良CTCベースドモデル1Aを生成する(ステップS152)。そして、情報処理装置500は、改良CTCベースドモデル1Aに付加されたアテンションモジュール28のパラメータを決定する(ステップS154)。このステップS154の処理は、図10に示す切り落とし法のステップS118〜S130の処理と実質的に同一である。

0164

続いて、情報処理装置500は、開発データセットの音声部分から生成される特徴ベクトルを改良CTCベースドモデル1Aに入力して、各残差ブロック20Aにおけるスケールファクタの時間的変化を算出する(ステップS156)。そして、情報処理装置500は、各残差ブロック20Aにおけるスケールファクタの時間的変化に基づいて、改良CTCベースドモデル1Aに含まれる時間遅延ブロック22のうち削除すべきものが存在するか否かを判断する(ステップS158)。時間遅延ブロック22のうち削除すべきものが存在する場合(ステップS158においてYES)、情報処理装置500は、改良CTCベースドモデル1Aから対象の時間遅延ブロック22を削除する(ステップS160)。時間遅延ブロック22のうち削除すべきものが存在しない場合(ステップS158においてNO)、ステップS160の処理はスキップされる。

0165

最終的に、情報処理装置500は、(状況に応じて時間遅延ブロック22が削除された後の)改良CTCベースドモデル1Aのすべてのパラメータを再度決定する(ステップS162)。このステップS160の処理は、図9に示す再トレーニング法のステップS120〜S130と実質的に同一である。

0166

以上のような手順によって、改良CTCベースドモデル1Aの学習済モデルが生成される。

0167

[F.デコーディング方法]
次に、本実施の形態に従う改良CTCベースドモデル1Aを用いたデコーディング方法について説明する。本実施の形態に従う改良CTCベースドモデル1Aは、E2Eフレームワークであるので、音声信号から順次生成される特徴ベクトルを入力するだけで、対応するテキスト(サブワードシーケンス)が順次出力されることになる。

0168

図15は、本実施の形態に従う改良CTCベースドモデル1Aのデコーディング方法の処理手順を示すフローチャートである。図15に示す各ステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)がトレーニングプログラム514を実行することで実現される。

0169

図15を参照して、情報処理装置500は、入力される音声信号からフレームごとに特徴ベクトルを生成する(ステップS200)。そして、情報処理装置500は、生成した特徴ベクトルを改良CTCベースドモデル1Aに入力して推定結果を算出および出力する(ステップS202)。

0170

そして、情報処理装置500は、音声信号の入力が継続しているか否かを判断する(ステップS204)。音声信号の入力が継続していれば(ステップS204においてYES)、ステップS200以下の処理が繰返される。

0171

一方、音声信号の入力が継続していなければ(ステップS204においてNO)、デコーディングの処理は終了する。

0172

[G.評価実験
本願発明者らは、上述した本実施の形態に従う改良CTCベースドモデル1Aの性能について評価実験を行なった。以下、評価実験について説明する。

0173

(g1:データおよびタスクの説明)
評価実験には、トレーニングデータおよび評価データとして、国立国語研究所が提供している「日本語話し言葉コーパス(Corpus of Spontaneous Japanese:CSJ)」を用いた。

0174

先行研究における知見に従って、CSJに含まれる240時間分の講演の音声をトレーニングデータセット(以下、「CSJ−Train」とも称す。)として構成した。CSJは、3個の公式評価データセット(CSJ−Eval01、CSJ−Eval02、CSJ−Eval03)を含む。各評価データセットは、10講演分の音声を含む。これらの評価データセットを音声認識結果の評価に用いた。また、10講演分の音声からなる開発データセット(CSJ−Dev)をトレーニング中評価用として用いた。

0175

さらに、ウオームアップ初期化およびパラメータチューニングのためのシードモデルのトレーニング用に、CSJに含まれる27.6時間分のデータセット(以下、「CSJ−Trainsmall」とも称す。)を選択した。

0176

これらのデータセットに含まれる講演の数および時間は、以下のTable1に示す通りである。

0177

0178

(g2:ベースラインモデル
まず、CSJ−Trainを用いて、評価基準となるベースラインモデルをトレーニングした。第1のベースラインモデルとして、DNN−HMM−CE(deep neural network and hidden Markov model cross entropy)モデルを取り上げる。DNN−HMM−CEモデルを構築するにあたって、まず、音響モデルに相当するGMM−HMM(Gaussian mixture model and hidden Markov model)モデルをトレーニングし、続いて、5個の隠れ層(各層は2048個の隠れノードを有する)からなるDNNモデル(言語モデルに相当する)をトレーニングした。出力層は、約8500個のノードを有しており、これは、GMM−HMMモデルの結合トライフォン(triphone)状態に対応する。これらのトレーニングにおいて、72次元フィルタバンク特徴(24次元のスタティック+Δ+ΔΔ)を用いた。フィルタバンク特徴は、話者ごとに平均化および正規化が行なわれた結果であり、分割された11フレーム(過去5フレーム、現在フレーム、未来5フレーム)からなる。DNNモデルは、交差エントロピー損失基準に基づく標準的な確率的勾配降下法(SGD:stochastic gradient descent)を用いてトレーニングした。

0179

デコードに関して、4グラム単語言語モデル(WLM:word language model)を、591時間分のCSJトレーニングデータセットの転記テキストによりトレーニングした。WLMの語彙サイズは98×103である。

0180

(g3:改良CTCベースドモデル1Aのトレーニングのための設定)
本実施の形態に従う改良CTCベースドモデル1Aは、72次元のフィルタバンク特徴(24次元のスタティック+Δ+ΔΔ)(非分割)を用いてトレーニングした。このトレーニングにおいては、日本語の263音節(日本語書き言葉基本単位であるかな)と、非発話ノイズと、発話ノイズと、ブランク(φ)とを基本音響モデル単位として用いた。

0181

対象したネットワーク(CSJ−Trainsmallによりトレーニングされた単音ベースのシードシステムを用いてチューニングされている)は、次のように規定される。すなわち、入力層に引き続く9個の全結合層と、それに続く15個の時間遅延層24(3つの残差ブロック20A全体として)と、softmax出力の前段に配置された2つの全結合層とからなる。

0182

積層された3つの残差ブロック20Aのそれぞれにおけるウィンドウサイズの変化を以下のTable2に示す。

0183

0184

CSJに含まれる27.6時間分のデータセット(CSJ−Trainsmall)を用いて、交差エントロピー損失基準に従ってシードモデルをトレーニングし、それにより得られたモデルパラメータを用いてCTCモデルを初期化した。CTCのトレーニングには、FsAdaGradアルゴリズムを用いた。240時間分の講演の音声を含むトレーニングデータセット(CSJ−Train)を用いたトレーニングを高速化するために、BMUF(block-wise model update filtering)を適用した。各フレームに対する学習レートの初期値は0.00001とし、CSJ−Devについての検定結果に応じて学習レートを自動的に調整した。ミニバッチサイズは2048とし、同一のミニバッチにおいて並列処理されるシーケンス数は16とした。エポック数の最大値は25とした。

0185

ネットワークで算出されるスケール化された対数尤度をEESENデコーダに与えることで、改良CTCベースドモデル1Aをデコードする。

0186

また、本実施の形態に従う改良CTCベースドモデル1Aと同一の構造を有し、MicrosoftのComputational Network Toolkit(CNTK)により特徴量が設定された交差エントロピーモデル(VResTD−CE)についてもトレーニングした。このトレーニングにおいて、DNN−HMM−CEモデルと同一のラベルを用いた。

0187

(g4:アテンションモジュールの付加による改良CTCベースドモデル1Aのチューニング)
上述したように、基本CTCベースドモデル1(VResTD−CTC)に対して、アテンションモジュール28を付加することで、改良CTCベースドモデル1Aを構成する。改良CTCベースドモデル1Aを規定するすべてのパラメータ(アテンションモジュール28のパラメータも含む)をCSJ−Trainを用いてトレーニングすることで得られた学習済モデルを「VResTDM−CTCretrain」と称する。

0188

VResTDM−CTCretrainを得るために用いた学習レートの初期値は0.00001とした。ミニバッチサイズは2048とした。各エポックのトレーニングが完了するごとにCSJ−Devを用いて性能を評価した。結果的に、性能が低下する直前の17回目のエポックの開始直前でトレーニングを終了した。

0189

図16は、本実施の形態に従う改良CTCベースドモデル1Aのアテンションスコアの変化例を示す図である。図16(A)および(B)は、入力される音声フレームに対する先頭の残差ブロック20Aにおけるアテンションスコアの変化を示し、図16(C)および(D)は、入力される音声フレームに対する最終の残差ブロック20Aにおけるアテンションスコアの変化を示す。入力される音声フレームとしては、CSJ−Eval01を用いた。

0190

2つの異なるシステム(音節ベース(syllable system)および単音ベース(ci-phone system))の先頭の残差ブロック20Aを通過する際の振る舞いは、互いに異なるものとなっている。具体的には、図16(A)に示すように、音節ベースにおいては、音声セグメントはショートカット経路を通過する傾向が強い。一方、図16(B)に示すように、単音ベースにおいては、そのような傾向は見られない。

0191

評価として、音節ベースにおいては、CSJ−Eval01について、音声セグメントに対するアテンションスコアの平均値は0.6であり、ブランクに対するアテンションスコアの平均値は0.36であった。一方、単音ベースにおいては、アテンションスコアの平均値はいずれもそれらの値より十分に小さい。

0192

最終の残差ブロック20Aにおいては、いずれのシステムについても、ショートカット経路を避ける傾向が強い。具体的には、CSJ−Eval01についての音声フレームに対するアテンションスコアの平均値は、いずれのシステムについてもほぼ0.0であった。

0193

これらの実験結果に基づいて、基本CTCベースドモデル1(VResTD−CTC)に含まれる残差ブロック20に対する重みを調整した改良CTCベースドモデル1Aを用意した。より具体的には、音声セグメントに対するアテンションスコアαtiをしきい値「0.5」が二値化することで、一部の時間遅延ブロック22を削除した。すなわち、上述した切り落とし法により生成された学習済モデルを「VResTDM−CTCpruneと称する。

0194

(g5:音声認識性能)
次に、本実施の形態に従う改良CTCベースドモデル1Aの音声認識性能の評価結果の一例について説明する。音声認識性能の評価には、CSJに含まれる3個の評価データセット(CSJ−Eval01、CSJ−Eval02、CSJ−Eval03)を用いた。音声認識性能の評価には、上述したベースラインモデル(DNN−HMM−CEおよびVResTD−CE)と比較した。この音声認識性能の評価結果を以下のTable3に示す。

0195

0196

上述の評価結果においては、評価指標として、自動音声認識ASR:Automatic Speech Recognition)の単語誤り率(WER:word error rate)を用いた。WERは、評価対象のモデルに音声を入力したときに出力されるテキストについて、当該入力された音声に対応する正解テキストに対する誤り率を示す。WERの値が小さいほど性能が高いことを示す。

0197

上述の評価結果によれば、VResTDM−CTCpruneおよびVResTDM−CTCretrainの両方とも、すべての評価データセットにおいて、ベースラインモデル(DNN−HMM−CE)および基本CTCベースドモデル1(VResTD−CTC)に比較して、著しい改善が見られる。また、VResTDM−CTCretrainについては、2つの評価データセットにおいて、VResTD−CEと同等の性能を発揮するとともに、3番目の評価データセットにおいてはより高い性能を発揮している。

0198

[H.まとめ]
本実施の形態に従う改良CTCベースドモデル1Aによれば、複数の時間遅延層24を通過する経路に対する重み(第1の重み)と、ショートカット経路26に対する重み(第2の重み)とをタイムステップごとに更新できる。このようなタイムステップ毎の重みの更新によって、ネットワーク全体を動的に振る舞わせることができ、これによって、対象のシステムに応じた適切なネットワーク構造を実現できる。

0199

また、本実施の形態に従う改良CTCベースドモデル1Aによれば、アテンションモジュール28が更新する重み(スケールファクタ)の時間的な変化を監視することで、不安定な時間遅延層24などを特定することができ、これによって、高精度かつ高速な学習を実現できる。

0200

今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。

0201

1 基本CTCベースドモデル、1A 改良CTCベースドモデル、2特徴量抽出部、4認識エンジン、10,32,282 全結合層、20,20A残差ブロック、22時間遅延ブロック、24時間遅延層、26ショートカット経路、28アテンションモジュール、29加算器、30出力層、34マッピング関数、40,520トレーニングデータセット、40S縮小トレーニングデータセット、42音声信号、44テキスト、241,242遅延要素、284 softmax関数、285出力経路、286,288乗算器、500情報処理装置、502 CPU、504 GPU、506主メモリ、508ディスプレイ、510ネットワークインターフェイス、512二次記憶装置、514トレーニングプログラム、516モデル定義データ、518ネットワークパラメータ、522入力デバイス、524光学ドライブ、526光学ディスク、528内部バス、S音声認識システム。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ