本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[A.アプリケーション例]
まず、本実施の形態に従う学習済モデルを用いたアプリケーション例について説明する。
図1は、本実施の形態に従う学習済モデルを用いたアプリケーション例を示す模式図である。図1には、アプリケーション例として、音声認識システムSを示す。音声認識システムSは、音声信号の入力を受けて認識結果を出力する。より具体的には、音声認識システムSは、音声信号の入力を受けて、予め定められた区間(以下、「音声フレーム」とも称す。)ごとの時系列データから特徴ベクトルを抽出する特徴量抽出部2と、特徴量抽出部2からのベクトルの入力を受けてテキストなどの認識結果を出力する認識エンジン4とを含む。
特徴量抽出部2は、入力される音声信号から音声フレームごとに特徴ベクトルを順次生成する。特徴量抽出部2から出力される特徴ベクトルは、予め定められた次元数を有しており、入力される音声信号の対応する音声フレームに相当する部分の特徴量を反映する。特徴ベクトルは、入力される音声信号の長さに応じて、順次出力されることになる。以下では、このような一連の特徴ベクトルの全部または一部を「音響特徴シーケンス」とも総称する。
認識エンジン4は、特徴量抽出部2から出力される音声フレームごとの特徴ベクトルを学習済モデルに入力してテキストを出力する。このように、認識エンジン4は、本実施の形態に従う学習済モデルで構成され、デコーダとして機能する。すなわち、認識エンジン4は、音声認識のためのE2Eフレームワーク(音響モデルおよび言語モデルが一体化されて構成される)であり、音声フレームの入力を受けて対応するテキストを出力する。
図2は、図1に示す音声認識システムSの学習方法を説明するための模式図である。図2を参照して、音声信号42と対応するテキスト44とからなるトレーニングデータセット40を用意する。音声信号42を特徴量抽出部2に入力するとともに、特徴量抽出部2により順次生成される特徴ベクトルを認識エンジン4に入力することで、認識エンジン4からの認識結果(テキスト)を得る。認識エンジン4からの認識結果と、入力される音声信号42に対応するラベル(テキスト44)との誤差に基づいて、認識エンジン4を規定するネットワークのパラメータを順次更新することで、ネットワークが最適化される。
[B.基本ネットワーク構造]
本実施の形態に従う学習済モデルは、以下に説明するような基本ネットワーク構造に対して、アテンションモジュールを適宜付加して学習およびネットワーク構造の最適化を実現する。先に、本実施の形態に従う基本ネットワーク構造について説明する。
(b1:概要)
本実施の形態においては、CTCフレームワークを用いたモデルに分類される基本ネットワーク構造(以下、「基本CTCベースドモデル」とも称す。)を用いる。基本CTCベースドモデルは、入力信号に対してラベルのシーケンスを出力する識別器である。以下では、主として、入力信号として音声信号を用いるとともに、基本CTCベースドモデルが音声信号に対する音声認識結果を示すラベルを出力する例について説明するが、基本CTCベースドモデルは、音声認識以外のタスクにも応用が可能である。
典型例として、本実施の形態に従う基本CTCベースドモデル1には、入力される音声信号のセンテンスに順次設定されるウィンドウ(10−15個の音声フレームを含む)の特徴量が入力される。ここで、センテンスは、言語的に意味のある区切りを意味し、通常、予め定められた区間長さの音声フレームを複数含むことになる。
本実施の形態に従う基本CTCベースドモデル1からの出力は、パスと称されるフレームレベルのシーケンス(以下、「CTC出力シーケンス」とも称す。)である。出力されるシーケンスは、何らのCTCラベルもないブランク(以下、「φ」とも表現する。)を含む。
図3は、本実施の形態に従う基本CTCベースドモデル1における処理内容を概略するための図である。図3を参照して、入力される音声信号のセンテンスの先頭にウィンドウ(10−15個の音声フレームを含む)を設定するとともに、ウィンドウを複数個所にスライドさせることで、CTC出力を推定する。図3に示すように、基本CTCベースドモデル1への入力は、前進の経路のみを有している。すなわち、過去の情報のみを入力として必要とするので、入力音声の終了を待つ必要がない。
以下の説明においては、本実施の形態に従う基本CTCベースドモデル1を「VResTD−CTC」(very deep residual time-delay neural network - CTC)」とも称する。
本実施の形態に従う基本CTCベースドモデル1をトレーニングすることで、図1の認識エンジン4を実現する学習済モデルを実現できる。特徴量抽出部2については、経験則などに基づいて、予め設計されてもよい。
図4は、本実施の形態に従う基本CTCベースドモデル1のネットワーク構造の一例を示す模式図である。図4を参照して、基本CTCベースドモデル1には、音声信号を予め定められた区間ごとに抽出した時系列データ(音声フレーム)から特徴量抽出部2(図1)が生成する特徴ベクトル(音響特徴シーケンス)が入力される。基本CTCベースドモデル1は、順次入力される特徴ベクトルに対して、対応するテキスト(サブワードシーケンス)を順次出力する。
より具体的には、基本CTCベースドモデル1は、入力層としての全結合層10(以下、「FC」または「FC layers」とも称す。)と、複数の残差ブロック20と、出力層30とを含む。
入力層としての全結合層10は、特徴ベクトルの入力を受けて、必要な次元数の内部ベクトルを生成する。
複数の残差ブロック20は、全結合層10に引き続いて配置される。複数の残差ブロック20は互いに積層されることで、多段の残差ブロック20を構成する。
残差ブロック20の各々は、時間遅延ブロック22を含む。時間遅延ブロック22は、積層された複数の時間遅延層24(「TD layer」とも表現する。)を含む。残差ブロック20の各々は、さらに、時間遅延ブロック22をバイパスするショートカット経路26と、時間遅延ブロック22の出力とショートカット経路26(「Short−cut path」とも表現する。)の出力とを合成する加算器29とを含む。
出力層30は、複数の残差ブロック20の出力側に接続されており、全結合層32と、マッピング関数34とを含む。全結合層32は、最終段の残差ブロック20の出力ノードに結合されており、出力される特徴ベクトルについての確率を正規化して、最も確からしいラベルを出力する。出力層30からはフレームごとにラベルが出力されるので、入力される音声信号に対応してラベルが順次出力されることになる。図4には、ラベルとして単音(なお、単音は、単音(phones)、文字(character)、音節(syllable)などの単位を意味する)を用いる例を示している。フレームごとに順次推定される一連のラベル(単音のシーケンス)がCTC出力シーケンスとなる。基本CTCベースドモデル1の推定結果には、対応するラベルが存在しない、ブランク(図4においては「φ」で示されている。)を含み得る。
マッピング関数34は、CTC出力シーケンスから対応するテキスト(サブワードシーケンス)を順次決定する。
以上の通り、本実施の形態に従う基本CTCベースドモデル1においては、入力されたフレームごとの音声信号に対する認識結果として、テキスト(サブワードシーケンス)が出力される。
(b2:単一の時間遅延層24での処理)
図5は、本実施の形態に従う基本CTCベースドモデル1に含まれる時間遅延層24の処理構造を示す模式図である。図5を参照して、時間遅延層24は、入力に対して所定のタイムステップtiの遅延を与える2つの遅延要素241,242を含む。
遅延要素241,242の各々は、タイムステップtiだけ入力を遅延させる。時間遅延層24に与えられる入力シーケンスは、遅延要素241においてタイムステップtiの遅延が与えられる。遅延要素241においてタイムステップtiの遅延が与えられた結果出力はさらに遅延要素242に与えられる。遅延要素242は、遅延要素241からの結果出力に対してさらにタイムステップtiの遅延を与える。このような2段の遅延要素によって、タイミングがタイムステップtiずつ異なる3種類のコンテキストが生成される。
入力されるフレームを未来コンテキストとし、遅延要素241からの結果出力を現在コンテキストとし、遅延要素242から出力される結果出力を過去コンテキストとすることで、実質的に双方向にタイムステップを拡大できる。
図5に示すように、時間遅延層24の各々は、入力シーケンス(入力ベクトル)に対して、当該入力ベクトルに対応するフレームである現在フレームに対して、タイムステップtiだけ時間を戻した過去フレームに対応する過去コンテキスト(第1の内部ベクトル)と、タイムステップtiだけ時間を進めた未来フレームに対応する未来コンテキスト(第2の内部ベクトル)とを生成する。
本実施の形態に従う基本CTCベースドモデル1において、l(エル)番目の時間遅延層24へ与えられる全体の入力シーケンスHlは、以下の(1)式のように示すことができる。
まず、いずれのhl tについても、l番目の時間遅延層24に入力されると、l番目の時間遅延層24についての標準重み行列Wlおよびバイアスblを用いて、以下の(2)式のように線形変換される。
次に、l番目の時間遅延層24におけるタイムステップtでの偏差et lは、以下の(3)式のように示すことができる。
時間遅延層24の各々の出力は、以下の(4)式のように示すことができる。
なお、上述の(4)式においては、残差ブロック20の活性化関数として正規化線形関数(ReLU:rectified linear unit)を用いる例を示すが、これに限らず、任意の活性化関数を用いることができる。以下の説明では、正規化線形関数を「ReLU」とも称す。
(b3:残差ブロック20での処理)
積層された複数の時間遅延層24からなる残差ブロック20全体で見ると、多層変換fiの出力と多層変換fiをバイパスするショートカット出力との結合(加算器29の結果)が出力されることになる。多層変換fiは、時間遅延層24および活性化関数(ReLU)を直列結合した関数である。
複数の残差ブロック20を互いに積層したネットワークは、アンサンブルネットワークのような振る舞いを見せる。
図6は、図4に示すネットワーク構造のうち3層の残差ブロック20からなるネットワーク構造を採用した場合と等価なネットワーク構造の一例を示す模式図である。図6(A)に示すネットワーク構造は、ショートカット経路26および合成する加算器29を展開することにより、図6(B)に示す等価ネットワーク構造として表現できる。図6(B)に示すように、異なる数の残差ブロック20を通過する経路が複数(図6では8つ)並列に存在することになる。この結果、異なるすべてのタイムステップの遅延が与えられた結果が最終的に結合される。
図4および図6に示す基本CTCベースドモデル1においては、最終の残差ブロック20からのすべての出力は、所定時間に亘る他の残差ブロック20からの出力を含むことになる。例えば、3層の残差ブロック20からなる基本CTCベースドモデル1を想定すると、最終の残差ブロック20からのあるタイムステップにおける出力y3 tは、以下の(6)式のように示すことができる。
[C.改良ネットワーク構造]
次に、本実施の形態に従う改良ネットワーク構造について説明する。本実施の形態に従う改良ネットワーク構造は、上述の図4および図6に示される基本CTCベースドモデル1を構成する残差ブロック20に改良を加えたものに相当する。以下、「基本CTCベースドモデル」との対比として「改良CTCベースドモデル」とも称す。なお、「基本CTCベースドモデル」と「改良CTCベースドモデル」とを区別しない文脈においては、単に「CTCベースドモデル」と総称することもある。
図7は、本実施の形態に従う改良CTCベースドモデルのネットワーク構造の要部を示す模式図である。図7(A)は、本実施の形態に従う基本CTCベースドモデルの残差ブロック20の構造例を示し、図7(B)は、本実施の形態に従う改良CTCベースドモデルの残差ブロック20Aの構造例を示す。
図7(A)と図7(B)とを比較して、残差ブロック20Aは、残差ブロック20に比較して、アテンションモジュール28(Attention module)をさらに含む。アテンションモジュール28は、残差ブロック20Aの出力層の後段に配置される。アテンションモジュール28は、残差ブロック20Aに含まれる2つの経路(ショートカット経路26側の経路および時間遅延ブロック22側の経路)に対する重みを調整する。このようなアテンションモジュール28を採用することで、基本CTCベースドモデル1をより動的に振る舞わせることができるため、学習性能および識別性能を高めることができる。
本実施の形態において、アテンションモジュール28は、時間遅延を実現する残差ブロック(時間遅延層24)の後段に配置されることで後述するような顕著な効果を奏する。
以下の説明においては、以下の(7)式に示すような、それぞれの経路の重みを変更するためのアテンションスコアαt i(ベクトル量)を用いる。
アテンションスコアαt i(ベクトル量)は、重みαt iおよび重みβt i(=1−αt i)を要素として含む。重みαt iは、任意のタイムステップtにおいて、i番目の残差ブロック20Aのショートカット経路26を伝達されるデータに対するスケールファクタを意味し、重みβt i(=1−αt i)は、任意のタイムステップtにおいて、i番目の残差ブロック20Aの時間遅延ブロック22を伝達されるデータに対するスケールファクタを意味する。
より具体的には、図7(B)に示すように、アテンションモジュール28は、全結合層282と、softmax関数284と、乗算器286,288とを含む。
アテンションモジュール28の全結合層282は、対応する残差ブロック20Aの出力とショートカット経路26とに接続される。softmax関数284は、全結合層282に接続される。
時間遅延ブロック22からの出力経路285は乗算器286に入力され、乗算器286において重みβt iを乗じられた上で加算器29に出力される。一方、ショートカット経路26は乗算器288に入力され、乗算器288において重みαt iを乗じられた上で加算器29に出力される。なお、αt i+βt i=1である。このように、アテンションモジュール28は、重みαt i(第1の重み)と重みβt i(第2の重み)の合計が1となるように、複数の時間遅延層24を通過する経路に対する重みαt i(第1の重み)と、ショートカット経路26に対する重みβt i(第2の重み)とを算出する。
重みαt iおよび重みβt iが動的に変更されることで、残差ブロック20Aからの出力に含まれる、多層変換fiの出力と多層変換fiをバイパスするショートカット出力との比率を動的に調整できる。
このように、アテンションモジュール28は、複数の時間遅延層24を通過する出力経路285とショートカット経路26との間の重みを調整する。
図7に示すような残差ブロック20Aからの出力は、上述の(5)式に示す関係式に対する重み付けを変更することで、以下の(8)式のように定義できる。
このように、アテンションモジュール28は、対応する残差ブロック20Aに与えられる入力が対応する複数の時間遅延層24を通過して得られる結果出力と、当該対応する残差ブロック20Aに与えられる入力とに基づいて、タイムステップごとに重みαt iおよび重みβt i(スケールファクタ)を更新する。
より具体的には、重みαt iおよび重みβt iは、全結合層282およびsoftmax関数284を用いて、以下の(9)式に従って算出される。
[D.ハードウェア構成]
次に、本実施の形態に従う学習済モデルを用いた音声認識システムSを実現するためのハードウェア構成の一例について説明する。
図8は、本実施の形態に従う音声認識システムSを実現するハードウェア構成の一例を示す模式図である。音声認識システムSは、典型的には、コンピュータの一例である情報処理装置500を用いて実現される。
図8を参照して、音声認識システムSを実現する情報処理装置500は、主要なハードウェアコンポーネントとして、CPU(central processing unit)502と、GPU(graphics processing unit)504と、主メモリ506と、ディスプレイ508と、ネットワークインターフェイス(I/F:interface)510と、二次記憶装置512と、入力デバイス522と、光学ドライブ524とを含む。これらのコンポーネントは、内部バス528を介して互いに接続される。
CPU502および/またはGPU504は、後述するような各種プログラムを実行することで、本実施の形態に従う音声認識システムSの実現に必要な処理を実行するプロセッサである。CPU502およびGPU504は、複数個配置されてもよいし、複数のコアを有していてもよい。
主メモリ506は、プロセッサ(CPU502および/またはGPU504)が処理を実行するにあたって、プログラムコードやワークデータなどを一時的に格納(あるいは、キャッシュ)する記憶領域であり、例えば、DRAM(dynamic random access memory)やSRAM(static random access memory)などの揮発性メモリデバイスなどで構成される。
ディスプレイ508は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。
ネットワークインターフェイス510は、インターネット上またはイントラネット上の任意の情報処理装置などとの間でデータを遣り取りする。ネットワークインターフェイス510としては、例えば、イーサネット(登録商標)、無線LAN(local area network)、Bluetooth(登録商標)などの任意の通信方式を採用できる。
入力デバイス522は、ユーザからの指示や操作などを受付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。また、入力デバイス522は、学習およびデコーディングに必要な音声信号を収集するための集音デバイスを含んでいてもよいし、集音デバイスにより収集された音声信号の入力を受付けるためのインターフェイスを含んでいてもよい。
光学ドライブ524は、CD−ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク526に格納されている情報を読出して、内部バス528を介して他のコンポーネントへ出力する。光学ディスク526は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ524が光学ディスク526からプログラムを読み出して、二次記憶装置512などにインストールすることで、コンピュータが情報処理装置500として機能するようになる。したがって、本発明の主題は、二次記憶装置512などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク526などの記録媒体でもあり得る。
図8には、非一過的な記録媒体の一例として、光学ディスク526などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。
二次記憶装置512は、コンピュータを情報処理装置500として機能させるために必要なプログラムおよびデータを格納する。例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。
より具体的には、二次記憶装置512は、図示しないOS(operating system)の他、学習処理を実現するためのトレーニングプログラム514と、学習対象のネットワーク構造を定義するモデル定義データ516と、学習済モデルを規定するためのネットワークパラメータ518と、トレーニングデータセット520とを格納している。
トレーニングプログラム514は、プロセッサ(CPU502および/またはGPU504)により実行されることで、ネットワークパラメータ518を決定するための学習処理を実現する。モデル定義データ516は、学習対象となる基本CTCベースドモデル1および改良CTCベースドモデル1Aのネットワーク構造を構成するコンポーネントおよび接続関係などを定義するための情報を含む。ネットワークパラメータ518は、学習対象のモデル(ネットワーク)を構成する要素ごとのパラメータを含む。ネットワークパラメータ518に含まれる各パラメータの値は、トレーニングプログラム514の実行により最適化される。トレーニングデータセット520は、例えば、後述するようなCSJに含まれるデータセットを用いることができる。例えば、学習対象の基本CTCベースドモデル1および改良CTCベースドモデル1Aが音声認識タスクに向けられたものである場合には、トレーニングデータセット520は、講演などの音声信号と、当該音声信号に対応する発話内容を示す転記テキストとを含む。
プロセッサ(CPU502および/またはGPU504)がプログラムを実行する際に必要となるライブラリや機能モジュールの一部を、OSが標準で提供するライブラリまたは機能モジュールにより代替してもよい。この場合には、プログラム単体では、対応する機能を実現するために必要なプログラムモジュールのすべてを含むものにはならないが、OSの実行環境下にインストールされることで、目的の処理を実現できる。このような一部のライブラリまたは機能モジュールを含まないプログラムであっても、本発明の技術的範囲に含まれ得る。
また、これらのプログラムは、上述したようないずれかの記録媒体に格納されて流通するだけでなく、インターネットまたはイントラネットを介してサーバ装置などからダウンロードすることで配布されてもよい。
図8には、単一のコンピュータを用いて情報処理装置500を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的に連携して、情報処理装置500および情報処理装置500を含む音声認識システムSを実現するようにしてもよい。
プロセッサ(CPU502および/またはGPU504)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置500を実現できるであろう。
説明の便宜上、同一の情報処理装置500を用いて、学習(CTCベースドモデルの構築)およびデコーディング(CTCベースドモデルを含むモデルによる音声認識)を実行する例を示したが、学習およびデコーディングを異なるハードウェアを用いて実現してもよい。
[E.学習方法]
次に、本実施の形態に従う改良CTCベースドモデル1Aの学習方法について説明する。
(e1:概要)
本実施の形態に従うCTCベースドモデルは、E2Eフレームワークを提供するものであり、音響モデルおよび言語モデルを別々に学習する必要はない。すなわち、CTCベースドモデルは、入力される音声信号に対応するテキストを直接出力するものであり、学習処理においては、音声信号と対応するテキストとからなるトレーニングデータセットを用いる。
本実施の形態に従うCTCベースドモデルの学習処理は、ニューラルネットワークの一般的な学習処理と同様に、教師有り学習を用いることができる。具体的には、CTCベースドモデルを構成する各コンポーネントのパラメータに任意の初期値を設定する。その上で、トレーニングデータセットに含まれる音声信号(音響特徴シーケンス)をCTCベースドモデルに順次入力するとともに、CTCベースドモデルから順次出力されるCTC出力シーケンス(テキスト)と入力された音声信号に対応するテキストとの誤差を算出し、その算出した誤差に基づいて、CTCベースドモデルを構成する各コンポーネントのパラメータを逐次更新する。
このような学習処理によって、トレーニングデータからCTCベースドモデルに対応する学習済モデルを構築できる。
本実施の形態においては、改良CTCベースドモデル1Aを適切に学習させることで、音声認識性能を改善することができる。上述したようなアテンションモジュール28を含む改良CTCベースドモデル1Aに特徴ベクトルを入力することで、任意のタイムステップtにおける、それぞれのショートカット経路26についてのスケールファクタ(αt 1,αt 2,…αt i,…αt N)を取得できる。
本願発明者らの研究によれば、それぞれの残差ブロック20Aにおいて、時間遅延ブロック22をデータが通過する経路の重みと、ショートカット経路26をデータが通過する経路の重みとは、適用されるシステムによって様々である。
そこで、本実施の形態においては、以下に示すような、再トレーニング法(Retrain-based method)、切り落とし法(Prune-based method)またはネットワーク再構成法という学習方法を採用できる。
(e2:再トレーニング法)
再トレーニング法は、超深層畳み込みネットワークである改良CTCベースドモデル1Aを規定するすべてのパラメータ(アテンションモジュール28のパラメータも含む)を再度トレーニングする方法である。より具体的には、基本CTCベースドモデル1をトレーニングすることで学習済モデルを取得し、この取得された学習済モデルに対して、アテンションモジュール28を付加して改良CTCベースドモデル1Aを構成した上で、再度トレーニングを実行する。
基本CTCベースドモデル1および改良CTCベースドモデル1Aの両方をトレーニングしなければならないので、トレーニングに要する時間は約2倍になるが、音声認識性能を確実に向上させることができる。
なお、スケールファクタ(αt 1,αt 2,…αt i,…αt N)は、タイムステップtごとに変化することになる。
図9は、本実施の形態に従う改良CTCベースドモデル1Aの学習方法(再トレーニング法)の処理手順を示すフローチャートである。図9に示す各ステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)がトレーニングプログラム514を実行することで実現される。
図9を参照して、情報処理装置500には、音声信号42と対応するテキスト44とからなるトレーニングデータセット40が入力される(ステップS100)。情報処理装置500は、基本CTCベースドモデル1を規定するパラメータの初期値をランダムに決定する(ステップS102)。
情報処理装置500は、トレーニングデータセット40に含まれる音声信号42からフレームごとに特徴ベクトルを生成する(ステップS104)。そして、情報処理装置500は、生成した特徴ベクトルを基本CTCベースドモデル1に入力して推定結果を算出する(ステップS106)。
情報処理装置500は、算出された推定結果が予め定められた数に到達したか否かを判断する(ステップS108)。算出された推定結果が予め定められた数に到達していなければ(ステップS108においてNO)、ステップS104以下の処理が繰返される。
算出された推定結果が予め定められた数に到達していれば(ステップS108においてYES)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する(ステップS110)。
学習処理の収束条件が満たされていなければ(ステップS110においてNO)、情報処理装置500は、ミニバッチとしてまとめて算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、基本CTCベースドモデル1を規定するパラメータの値を更新し(ステップS112)、ステップS104以下の処理を繰返す。
これに対して、学習処理の収束条件が満たされていれば(ステップS110においてYES)、現在のパラメータを学習結果として出力する(ステップS114)。すなわち、現在のパラメータにより規定される基本CTCベースドモデル1が学習済モデルとして出力される。
上述のステップS100〜S114において、情報処理装置500は、トレーニングデータセット40を用いて基本CTCベースドモデル1(識別器)のネットワークを規定するパラメータを決定する第1のトレーニングステップを実行する。
続いて、情報処理装置500は、学習済の基本CTCベースドモデル1に対してアテンションモジュール28を付加して改良CTCベースドモデル1Aを生成する(ステップS116)。すなわち、情報処理装置500は、基本CTCベースドモデル1(識別器)に、複数の時間遅延層24を通過する経路とショートカット経路26との間の重みを調整するアテンションモジュール28を付加する付加ステップを実行する。
情報処理装置500は、改良CTCベースドモデル1Aに付加されたアテンションモジュール28のパラメータの初期値をランダムに決定する(ステップS118)。そして、再度トレーニングを開始する。
具体的には、情報処理装置500は、トレーニングデータセット40に含まれる音声信号42からフレームごとに特徴ベクトルを生成する(ステップS120)。そして、情報処理装置500は、生成した特徴ベクトルを改良CTCベースドモデル1Aに入力して推定結果を算出する(ステップS122)。
情報処理装置500は、算出された推定結果が予め定められた数に到達したか否かを判断する(ステップS124)。算出された推定結果が予め定められた数に到達していなければ(ステップS124においてNO)、ステップS120以下の処理が繰返される。
算出された推定結果が予め定められた数に到達していれば(ステップS124においてYES)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する(ステップS126)。
学習処理の収束条件が満たされていなければ(ステップS126においてNO)、情報処理装置500は、ミニバッチとしてまとめて算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、改良CTCベースドモデル1Aを規定するパラメータの値を更新し(ステップS128)、ステップS120以下の処理を繰返す。
これに対して、学習処理の収束条件が満たされていれば(ステップS126においてYES)、現在のパラメータを学習結果として出力する(ステップS130)。すなわち、現在のパラメータにより規定される改良CTCベースドモデル1Aが学習済モデルとして出力される。そして、処理は終了する。
上述のステップS118〜S130において、情報処理装置500は、トレーニングデータセット40を用いてアテンションモジュール28を規定するパラメータを決定する第2のトレーニングステップを実行する。この第2のトレーニングステップにおいて、情報処理装置500は、アテンションモジュール28を規定するパラメータを含む、改良CTCベースドモデル1A(識別器)のネットワークを規定するすべてのパラメータの値を再度決定することになる。
このようにパラメータ全体の決定処理を2回実行することで、高い識別精度を実現できる。
(e3:切り落とし法)
上述の再トレーニング法では、改良CTCベースドモデル1Aを規定するすべてのパラメータ(アテンションモジュール28のパラメータも含む)を更新対象としたが、切り落とし法では、生成された学習済モデルのパラメータについては固定した上で、より少ないトレーニングデータでアテンションモジュール28のパラメータのみをトレーニングするようにしてもよい。
アテンションモジュール28のパラメータのみをトレーニングすることで、学習処理に要する時間を短縮できる。
図10は、本実施の形態に従う改良CTCベースドモデル1Aの学習方法(切り落とし法)の処理手順を示すフローチャートである。図10に示す各ステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)がトレーニングプログラム514を実行することで実現される。図10に示す処理のうち、図9に示す処理と同一のものは、同一のステップ番号を付している。
図10を参照して、情報処理装置500には、音声信号42と対応するテキスト44とからなるトレーニングデータセット40が入力される(ステップS100)。情報処理装置500は、基本CTCベースドモデル1を規定するパラメータの初期値をランダムに決定する(ステップS102)。
情報処理装置500は、トレーニングデータセット40に含まれる音声信号42からフレームごとに特徴ベクトルを生成する(ステップS104)。そして、情報処理装置500は、生成した特徴ベクトルを基本CTCベースドモデル1に入力して推定結果を算出する(ステップS106)。
情報処理装置500は、算出された推定結果が予め定められた数に到達したか否かを判断する(ステップS108)。算出された推定結果が予め定められた数に到達していなければ(ステップS108においてNO)、ステップS104以下の処理が繰返される。
算出された推定結果が予め定められた数に到達していれば(ステップS108においてYES)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する(ステップS110)。
学習処理の収束条件が満たされていなければ(ステップS110においてNO)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、基本CTCベースドモデル1を規定するパラメータの値を更新し(ステップS112)、ステップS104以下の処理を繰返す。
これに対して、学習処理の収束条件が満たされていれば(ステップS110においてYES)、現在のパラメータを学習結果として出力する(ステップS114)。すなわち、現在のパラメータにより規定される基本CTCベースドモデル1が学習済モデルとして出力される。
上述のステップS100〜S114において、情報処理装置500は、トレーニングデータセット40を用いて基本CTCベースドモデル1(識別器)のネットワークを規定するパラメータを決定する第1のトレーニングステップを実行する。
続いて、情報処理装置500は、学習済の基本CTCベースドモデル1に対してアテンションモジュール28を付加して改良CTCベースドモデル1Aを生成する(ステップS116)。すなわち、情報処理装置500は、基本CTCベースドモデル1(識別器)に、複数の時間遅延層24を通過する経路とショートカット経路26との間の重みを調整するアテンションモジュール28を付加する付加ステップを実行する。
情報処理装置500は、改良CTCベースドモデル1Aに付加されたアテンションモジュール28のパラメータの初期値をランダムに決定する(ステップS118)。そして、アテンションモジュール28に対するトレーニングを開始する。
具体的には、情報処理装置500は、基本CTCベースドモデル1のトレーニングに用いたトレーニングデータセット40の一部からなる縮小トレーニングデータセット40Sを取得する(ステップS119)。そして、情報処理装置500は、縮小トレーニングデータセット40Sに含まれる音声信号42からフレームごとに特徴ベクトルを生成する(ステップS121)。そして、情報処理装置500は、生成した特徴ベクトルを改良CTCベースドモデル1Aに入力して推定結果を算出する(ステップS122)。
情報処理装置500は、算出された推定結果が予め定められた数に到達したか否かを判断する(ステップS124)。算出された推定結果が予め定められた数に到達していなければ(ステップS124においてNO)、ステップS120以下の処理が繰返される。
算出された推定結果が予め定められた数に到達していれば(ステップS124においてYES)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、学習処理の収束条件が満たされているか否かを判断する(ステップS126)。
学習処理の収束条件が満たされていなければ(ステップS126においてNO)、情報処理装置500は、算出された一連の推定結果(出力シーケンス)と対応するテキスト44(ラベルシーケンス)との間の誤差に基づいて、改良CTCベースドモデル1Aに含まれるアテンションモジュール28を規定するパラメータの値を更新し(ステップS129)、ステップS120以下の処理を繰返す。
これに対して、学習処理の収束条件が満たされていれば(ステップS126においてYES)、現在のパラメータを学習結果として出力する(ステップS130)。すなわち、現在のパラメータにより規定される改良CTCベースドモデル1Aが学習済モデルとして出力される。そして、処理は終了する。
上述のステップS118〜S130において、情報処理装置500は、トレーニングデータセット40を用いてアテンションモジュール28を規定するパラメータを決定する第2のトレーニングステップを実行する。この第2のトレーニングステップにおいて、情報処理装置500は、第1のトレーニングステップにおいて決定されたパラメータ(基本CTCベースドモデル1を規定するパラメータ)を固定した状態で、アテンションモジュール28を規定するパラメータのみを決定する処理を実行する。
このように、基本CTCベースドモデル1を規定するパラメータを固定することで、第2のトレーニングを短時間で実現できる。
(e4:ネットワーク再構成法)
本実施の形態に従う改良CTCベースドモデル1Aのアテンションモジュール28が示す各残差ブロック20Aのアテンションスコアあるいはスケールファクタ(重み)の平均値は、データを伝達可能なすべての経路からの情報を示すことになる。
図11は、本実施の形態に従う改良CTCベースドモデル1Aにおけるデータ伝達の分布例を示す図である。図11に示す例では、1番目の残差ブロック20Aにおいては、データはショートカット経路26を主体的に通過し、2番目以降の残差ブロック20Aにおいては、データは時間遅延ブロック22を主体的に通過していることが分かる。
このような改良CTCベースドモデル1Aにおけるデータ伝達の状態を事前知識として利用することで、改良CTCベースドモデル1Aのネットワーク構造を改良し得る。ネットワーク構造の改良によって、音声認識性能も向上させることができる。
例えば、i番目の残差ブロック20Aについての重みαt iを2値化(「0」または「1」)することで、ネットワーク構造自体をチューニングできる。すなわち、重みαt iが「1」であれば、対応する残差ブロック20Aの時間遅延ブロック22にはデータが伝達されないので、時間遅延ブロック22を削除してもよいと判断できる。一方、重みαt iが「0」であれば、ショートカット経路26を削除してもよいと判断できる。
このような重みαt iを2値化する方法としては、トレーニングデータセットの一部からなるデータセットを用いて順次生成される特徴ベクトルに対して、タイムステップごとに算出される重みαt iの代表値(平均値、最大値、最小値、中間値など)が予め定められたしきい値を超えるか否かに基づいて決定できる。重みαt iの二値化に用いられるデータセットは、例えば、後述するような開発データセット(CSJ−Dev)の音声部分を用いることができる。
図12は、本実施の形態に従う改良CTCベースドモデル1Aの学習方法(ネットワーク再構成法)の処理手順を説明するための図である。まず、図12(A)に示すように、基本CTCベースドモデル1を通常のトレーニングデータセットを用いてトレーニングする。続いて、図12(B)に示すように、基本CTCベースドモデル1にアテンションモジュール28を追加して、通常のトレーニングの一部からなる縮小トレーニングデータセットを用いてアテンションモジュール28をトレーニングする。
基本CTCベースドモデル1に対応するパラメータおよびアテンションモジュール28に対応するパラメータをトレーニングした後、改良CTCベースドモデル1Aに対して、開発データセットなどの音声部分から生成される特徴ベクトルを入力し、各残差ブロック20Aにおけるスケールファクタの時間的変化を算出する。各残差ブロック20Aにおいては、次の図13に示すような時間的変化を算出できる。
図13は、本実施の形態に従う改良CTCベースドモデル1Aを用いて算出されるスケールファクタの時間的変化の一例を示す図である。図13に示すスケールファクタである重みαt 1の値は、入力される音節ごとに大きく変化している。
各残差ブロック20Aについて算出されるスケールファクタの時間的変化に基づいて、各残差ブロック20Aにおけるデータの伝達状態を評価する。このデータの伝達状態は、各残差ブロック20Aにおける安定度に対応していると考えることもできる。そして、対応するスケールファクタの時間的変化が予め定められた条件を満たした残差ブロック20Aについては、図12(C)に示すように、改良CTCベースドモデル1Aから削除される。
最終的に、状況に応じていくつかの時間遅延ブロック22が削除された後の改良CTCベースドモデル1Aを規定するすべてのパラメータ(アテンションモジュール28のパラメータも含む)を再度のトレーニングにより決定する。
このように、アテンションモジュール28が付加された改良CTCベースドモデル1A(識別器)に入力信号を与えることで、アテンションモジュール28により算出されるスケールファクタである重みαt 1の値の変化に基づいて、複数の時間遅延層24の一部を削除する処理を実行してもよい。
ここで、時間遅延ブロック22の各々を削除すべきか否かの条件としては、ショートカット経路26についてのスケールファクタである重みαt iの絶対値が相対的に大きい場合、あるいは、値のバラツキが相対的に大きい場合などが挙げられる。すなわち、対象となる音声信号に対して、ショートカット経路26を通過するデータが相対的に大きい、あるいは、ショートカット経路26を通過するデータ量の変動が相対的に大きい場合には、残差ブロック20Aの安定性が低いことを意味し、このような安定性の低い残差ブロック20Aについては削除することで、学習およびデコーディングをより安定化できる。
時間遅延ブロック22を削除するか否かの具体的な条件としては、以下のようなものが挙げられる。
(1)特定の音声入力について、重みαt i(スケールファクタ)の値が予め定められたしきい値(典型的には、「0.5」)を超える数(あるいは、現れているピーク)が予め定められた数以上である場合。
(2)特定の音声入力に含まれるラベル(単音、文字、音節などの単位)に対して、重みαt i(スケールファクタ)の値が予め定められたしきい値(典型的には、「0.5」)を超える数の比率が予め定められた数(例えば、30%)以上である場合。
(3)重みαt i(スケールファクタ)の時間的変化が示すグラフの面積が予め定められたしきい値以上である場合。
(4)特定の音声入力について、重みαt i(スケールファクタ)の時間変動の変動幅(標準偏差、分散、最大値と最小値との差)が予め定められたしきい値以上である場合。
上述した以外の任意の判断基準を用いることができる。
以上のような手順によって、ネットワーク構造を最適化した上で、学習処理を実行することになる。
図14は、本実施の形態に従う改良CTCベースドモデル1Aの学習方法(ネットワーク再構成法)の処理手順を示すフローチャートである。図14に示す各ステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)がトレーニングプログラム514を実行することで実現される。
図14を参照して、情報処理装置500は、トレーニングデータセット40を用いて、基本CTCベースドモデル1のパラメータを決定する(ステップS150)。このステップS150の処理は、図9に示す再トレーニング法のステップS100〜S114と実質的に同一である。
続いて、情報処理装置500は、学習済の基本CTCベースドモデル1に対してアテンションモジュール28を付加して改良CTCベースドモデル1Aを生成する(ステップS152)。そして、情報処理装置500は、改良CTCベースドモデル1Aに付加されたアテンションモジュール28のパラメータを決定する(ステップS154)。このステップS154の処理は、図10に示す切り落とし法のステップS118〜S130の処理と実質的に同一である。
続いて、情報処理装置500は、開発データセットの音声部分から生成される特徴ベクトルを改良CTCベースドモデル1Aに入力して、各残差ブロック20Aにおけるスケールファクタの時間的変化を算出する(ステップS156)。そして、情報処理装置500は、各残差ブロック20Aにおけるスケールファクタの時間的変化に基づいて、改良CTCベースドモデル1Aに含まれる時間遅延ブロック22のうち削除すべきものが存在するか否かを判断する(ステップS158)。時間遅延ブロック22のうち削除すべきものが存在する場合(ステップS158においてYES)、情報処理装置500は、改良CTCベースドモデル1Aから対象の時間遅延ブロック22を削除する(ステップS160)。時間遅延ブロック22のうち削除すべきものが存在しない場合(ステップS158においてNO)、ステップS160の処理はスキップされる。
最終的に、情報処理装置500は、(状況に応じて時間遅延ブロック22が削除された後の)改良CTCベースドモデル1Aのすべてのパラメータを再度決定する(ステップS162)。このステップS160の処理は、図9に示す再トレーニング法のステップS120〜S130と実質的に同一である。
以上のような手順によって、改良CTCベースドモデル1Aの学習済モデルが生成される。
[F.デコーディング方法]
次に、本実施の形態に従う改良CTCベースドモデル1Aを用いたデコーディング方法について説明する。本実施の形態に従う改良CTCベースドモデル1Aは、E2Eフレームワークであるので、音声信号から順次生成される特徴ベクトルを入力するだけで、対応するテキスト(サブワードシーケンス)が順次出力されることになる。
図15は、本実施の形態に従う改良CTCベースドモデル1Aのデコーディング方法の処理手順を示すフローチャートである。図15に示す各ステップは、典型的には、情報処理装置500のプロセッサ(CPU502および/またはGPU504)がトレーニングプログラム514を実行することで実現される。
図15を参照して、情報処理装置500は、入力される音声信号からフレームごとに特徴ベクトルを生成する(ステップS200)。そして、情報処理装置500は、生成した特徴ベクトルを改良CTCベースドモデル1Aに入力して推定結果を算出および出力する(ステップS202)。
そして、情報処理装置500は、音声信号の入力が継続しているか否かを判断する(ステップS204)。音声信号の入力が継続していれば(ステップS204においてYES)、ステップS200以下の処理が繰返される。
一方、音声信号の入力が継続していなければ(ステップS204においてNO)、デコーディングの処理は終了する。
[G.評価実験]
本願発明者らは、上述した本実施の形態に従う改良CTCベースドモデル1Aの性能について評価実験を行なった。以下、評価実験について説明する。
(g1:データおよびタスクの説明)
評価実験には、トレーニングデータおよび評価データとして、国立国語研究所が提供している「日本語話し言葉コーパス(Corpus of Spontaneous Japanese:CSJ)」を用いた。
先行研究における知見に従って、CSJに含まれる240時間分の講演の音声をトレーニングデータセット(以下、「CSJ−Train」とも称す。)として構成した。CSJは、3個の公式の評価データセット(CSJ−Eval01、CSJ−Eval02、CSJ−Eval03)を含む。各評価データセットは、10講演分の音声を含む。これらの評価データセットを音声認識結果の評価に用いた。また、10講演分の音声からなる開発データセット(CSJ−Dev)をトレーニング中の評価用として用いた。
さらに、ウオームアップ初期化およびパラメータチューニングのためのシードモデルのトレーニング用に、CSJに含まれる27.6時間分のデータセット(以下、「CSJ−Trainsmall」とも称す。)を選択した。
これらのデータセットに含まれる講演の数および時間は、以下のTable1に示す通りである。
(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)を用いてトレーニングした。
デコードに関して、4グラム単語言語モデル(WLM:word language model)を、591時間分のCSJトレーニングデータセットの転記テキストによりトレーニングした。WLMの語彙サイズは98×103である。
(g3:改良CTCベースドモデル1Aのトレーニングのための設定)
本実施の形態に従う改良CTCベースドモデル1Aは、72次元のフィルタバンク特徴(24次元のスタティック+Δ+ΔΔ)(非分割)を用いてトレーニングした。このトレーニングにおいては、日本語の263音節(日本語書き言葉の基本単位であるかな)と、非発話ノイズと、発話ノイズと、ブランク(φ)とを基本音響モデル単位として用いた。
対象したネットワーク(CSJ−Trainsmallによりトレーニングされた単音ベースのシードシステムを用いてチューニングされている)は、次のように規定される。すなわち、入力層に引き続く9個の全結合層と、それに続く15個の時間遅延層24(3つの残差ブロック20A全体として)と、softmax出力の前段に配置された2つの全結合層とからなる。
積層された3つの残差ブロック20Aのそれぞれにおけるウィンドウサイズの変化を以下のTable2に示す。
CSJに含まれる27.6時間分のデータセット(CSJ−Trainsmall)を用いて、交差エントロピー損失基準に従ってシードモデルをトレーニングし、それにより得られたモデルパラメータを用いてCTCモデルを初期化した。CTCのトレーニングには、FsAdaGradアルゴリズムを用いた。240時間分の講演の音声を含むトレーニングデータセット(CSJ−Train)を用いたトレーニングを高速化するために、BMUF(block-wise model update filtering)を適用した。各フレームに対する学習レートの初期値は0.00001とし、CSJ−Devについての検定結果に応じて学習レートを自動的に調整した。ミニバッチサイズは2048とし、同一のミニバッチにおいて並列処理されるシーケンス数は16とした。エポック数の最大値は25とした。
ネットワークで算出されるスケール化された対数尤度をEESENデコーダに与えることで、改良CTCベースドモデル1Aをデコードする。
また、本実施の形態に従う改良CTCベースドモデル1Aと同一の構造を有し、MicrosoftのComputational Network Toolkit(CNTK)により特徴量が設定された交差エントロピーモデル(VResTD−CE)についてもトレーニングした。このトレーニングにおいて、DNN−HMM−CEモデルと同一のラベルを用いた。
(g4:アテンションモジュールの付加による改良CTCベースドモデル1Aのチューニング)
上述したように、基本CTCベースドモデル1(VResTD−CTC)に対して、アテンションモジュール28を付加することで、改良CTCベースドモデル1Aを構成する。改良CTCベースドモデル1Aを規定するすべてのパラメータ(アテンションモジュール28のパラメータも含む)をCSJ−Trainを用いてトレーニングすることで得られた学習済モデルを「VResTDM−CTCretrain」と称する。
VResTDM−CTCretrainを得るために用いた学習レートの初期値は0.00001とした。ミニバッチサイズは2048とした。各エポックのトレーニングが完了するごとにCSJ−Devを用いて性能を評価した。結果的に、性能が低下する直前の17回目のエポックの開始直前でトレーニングを終了した。
図16は、本実施の形態に従う改良CTCベースドモデル1Aのアテンションスコアの変化例を示す図である。図16(A)および(B)は、入力される音声フレームに対する先頭の残差ブロック20Aにおけるアテンションスコアの変化を示し、図16(C)および(D)は、入力される音声フレームに対する最終の残差ブロック20Aにおけるアテンションスコアの変化を示す。入力される音声フレームとしては、CSJ−Eval01を用いた。
2つの異なるシステム(音節ベース(syllable system)および単音ベース(ci-phone system))の先頭の残差ブロック20Aを通過する際の振る舞いは、互いに異なるものとなっている。具体的には、図16(A)に示すように、音節ベースにおいては、音声セグメントはショートカット経路を通過する傾向が強い。一方、図16(B)に示すように、単音ベースにおいては、そのような傾向は見られない。
評価として、音節ベースにおいては、CSJ−Eval01について、音声セグメントに対するアテンションスコアの平均値は0.6であり、ブランクに対するアテンションスコアの平均値は0.36であった。一方、単音ベースにおいては、アテンションスコアの平均値はいずれもそれらの値より十分に小さい。
最終の残差ブロック20Aにおいては、いずれのシステムについても、ショートカット経路を避ける傾向が強い。具体的には、CSJ−Eval01についての音声フレームに対するアテンションスコアの平均値は、いずれのシステムについてもほぼ0.0であった。
これらの実験結果に基づいて、基本CTCベースドモデル1(VResTD−CTC)に含まれる残差ブロック20に対する重みを調整した改良CTCベースドモデル1Aを用意した。より具体的には、音声セグメントに対するアテンションスコアαt iをしきい値「0.5」が二値化することで、一部の時間遅延ブロック22を削除した。すなわち、上述した切り落とし法により生成された学習済モデルを「VResTDM−CTCpruneと称する。
(g5:音声認識性能)
次に、本実施の形態に従う改良CTCベースドモデル1Aの音声認識性能の評価結果の一例について説明する。音声認識性能の評価には、CSJに含まれる3個の評価データセット(CSJ−Eval01、CSJ−Eval02、CSJ−Eval03)を用いた。音声認識性能の評価には、上述したベースラインモデル(DNN−HMM−CEおよびVResTD−CE)と比較した。この音声認識性能の評価結果を以下のTable3に示す。
上述の評価結果においては、評価指標として、自動音声認識(ASR:Automatic Speech Recognition)の単語誤り率(WER:word error rate)を用いた。WERは、評価対象のモデルに音声を入力したときに出力されるテキストについて、当該入力された音声に対応する正解テキストに対する誤り率を示す。WERの値が小さいほど性能が高いことを示す。
上述の評価結果によれば、VResTDM−CTCpruneおよびVResTDM−CTCretrainの両方とも、すべての評価データセットにおいて、ベースラインモデル(DNN−HMM−CE)および基本CTCベースドモデル1(VResTD−CTC)に比較して、著しい改善が見られる。また、VResTDM−CTCretrainについては、2つの評価データセットにおいて、VResTD−CEと同等の性能を発揮するとともに、3番目の評価データセットにおいてはより高い性能を発揮している。
[H.まとめ]
本実施の形態に従う改良CTCベースドモデル1Aによれば、複数の時間遅延層24を通過する経路に対する重み(第1の重み)と、ショートカット経路26に対する重み(第2の重み)とをタイムステップごとに更新できる。このようなタイムステップ毎の重みの更新によって、ネットワーク全体を動的に振る舞わせることができ、これによって、対象のシステムに応じた適切なネットワーク構造を実現できる。
また、本実施の形態に従う改良CTCベースドモデル1Aによれば、アテンションモジュール28が更新する重み(スケールファクタ)の時間的な変化を監視することで、不安定な時間遅延層24などを特定することができ、これによって、高精度かつ高速な学習を実現できる。
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。