JP7282363B2 - Language discrimination model training method and apparatus, and computer program therefor - Google Patents
Language discrimination model training method and apparatus, and computer program therefor Download PDFInfo
- Publication number
- JP7282363B2 JP7282363B2 JP2019086005A JP2019086005A JP7282363B2 JP 7282363 B2 JP7282363 B2 JP 7282363B2 JP 2019086005 A JP2019086005 A JP 2019086005A JP 2019086005 A JP2019086005 A JP 2019086005A JP 7282363 B2 JP7282363 B2 JP 7282363B2
- Authority
- JP
- Japan
- Prior art keywords
- utterance
- data
- training
- network
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
この発明は音声言語識別技術に関し、特に、ニューラルネットワークを使用して短時間の発話データから発話の言語を識別するためのモデルの訓練技術に関する。 TECHNICAL FIELD The present invention relates to speech language identification technology, and more particularly to training a model for identifying speech language from short speech data using a neural network.
発話言語識別(LID)は、発話がどの言語でなされているかを識別する技術である。発話言語識別は音声言語翻訳、多言語音声認識等、幅広い多言語発話処理システムの前処理として機能することが多い。こうした応用の多くにおいて、発話言語識別技術はリアルタイムに動作することが前提とされており、したがって短い発話のみに基づいて高い信頼性で発話言語を識別することが非常に重要である。 Spoken language identification (LID) is a technique for identifying in which language a speech is being made. Spoken language identification often serves as preprocessing for a wide range of multilingual speech processing systems, such as spoken language translation and multilingual speech recognition. In many of these applications, spoken language identification techniques are supposed to work in real-time, so it is very important to reliably identify the spoken language based only on short utterances.
最近では、発話言語識別技術は幅広く研究され、発展を遂げている。例えば、サポートベクタマシン、確率的線形識別分析(PLDA)、及び深層ニューラルネットワーク等の従来の分類器を用いたi-ベクタ技術はその有効性が確認され、様々なシステム、特に比較的長い発話に対するタスクにおいて最先端の性能を示している。しかし、短い発話に対する発話言語識別では、i-ベクタを用いた方式では性能がしばしばひどく劣化することが知られている。 Recently, spoken language identification technology has been extensively researched and developed. For example, i-vector techniques using conventional classifiers, such as support vector machines, probabilistic linear discriminant analysis (PLDA), and deep neural networks, have been validated in various systems, especially for relatively long utterances. It shows state-of-the-art performance in its task. However, it is known that in spoken language identification for short utterances, the i-vector based approach often suffers from severe performance degradation.
一方、最近はまた、畳込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、及びアテンションを用いたニューラルネットワーク等によるEnd-to-End型の手法を音声言語識別に用いる試みがされている(後掲の非特許文献1、2及び3)。短い発話に対する音声言語認識では、End-to-End型の手法はi-ベクタを用いた手法と比較してより高い性能を示すことがわかってきた。しかし、短い発話は、長い発話と比較してバリエーションが大きく、モデルの汎化が難しい。したがって、短い発話に対しても十分な汎化を可能とすることが求められている。
On the other hand, recently, attempts have also been made to use end-to-end methods such as convolutional neural networks (CNN), recurrent neural networks (RNN), and attention-based neural networks for spoken language identification. (Non-Patent
一方、知識蒸留(Knowledge Distillation。以下「KD」という。)という手法が非特許文献4で提案されている。この手法は、知識の圧縮方法ということができる。図1を参照して、この手法によるシステム40では、コンパクトなスチューデントネットワーク60を、より複雑で高性能なティーチャーネットワーク50の出力を用いて訓練する。ティーチャーネットワーク50は高精度で動作可能ではあるが、構成が複雑で構成要素が多いため動作に時間がかかり、リアルタイムの処理には向かない。一方、スチューデントネットワーク60はティーチャーネットワーク50と比較して層の数及び各層を構成するニューロンの数が少なく、ティーチャーネットワーク50より高速に動作する。しかしスチューデントネットワーク60は構成がシンプルであるだけに、通常の手法での訓練では十分な性能を示すことができない。こうした問題に対し、非特許文献4では、ティーチャーネットワーク50が持つ言語認識の知識を用いた知識蒸留によりスチューデントネットワーク60を訓練する手法が開示されている。
On the other hand, Non-Patent Document 4 proposes a technique called Knowledge Distillation (hereinafter referred to as “KD”). This method can be called a knowledge compression method. Referring to FIG. 1, in this
非特許文献4に開示された手法の概略は以下のとおりである。図1を参照して、ティーチャーネットワーク50を通常の手法により訓練する。
The outline of the method disclosed in Non-Patent Document 4 is as follows. Referring to FIG. 1, a
すなわち、ティーチャーネットワーク50のための訓練データを準備する。訓練データを構成する各訓練サンプルは、一定発話時間の発話データと、その発話の言語を示すラベルからなる。訓練時には、ティーチャーネットワーク50の入力にこの発話データを表す行列xが入力される。一方、その行列xの言語を表すベクトルがハードラベルとしてティーチャーネットワーク50の出力に与えられる。このハードラベルのベクトルは、識別対象の言語の数だけの要素を持つワンホットベクトルである。ティーチャーネットワーク50はこうした訓練データを用いて通常の誤差逆伝播法により訓練される。
That is, prepare training data for the
ティーチャーネットワーク50を用いたスチューデントネットワーク60の訓練は以下のように行われる。スチューデントネットワーク60を訓練するための訓練サンプルは、ティーチャーネットワーク50を訓練するときの訓練データと同じ訓練データ(発話データと言語識別のラベル)と、その訓練サンプルの発話データをティーチャーネットワーク50に入力したときにティーチャーネットワーク50が出力するラベル(ソフトラベルと呼ぶ。)とである。訓練サンプルの発話データxに対してティーチャーネットワーク50が出力する値は最終的にソフトマックス層54で要素数K個のベクトルとして出力される。各要素は、発話がその要素に対応する言語の発話である確率を表す。発話データxが入力されたときのティーチャーネットワーク50の出力ベクトルをベクトルz(x)とし、ベクトルz(x)のi番目の要素をzi(x)、ソフトマックス層54の出力ベクトルqのi番目の要素をqiとすると、非特許文献4では両者の間に以下のような関係をもたせる。
Training of the
このソフトラベルを用いたスチューデントネットワーク60の訓練は以下のように行われる。訓練サンプルの発話データxがスチューデントネットワーク60に入力される。このときのスチューデントネットワーク60の最終層の出力値に対して、以下の2通りの損失(第1の損失66及び第2の損失70)を計算し、両者の加重和により最終的な合計損失74を計算する。この合計損失74が0に近づくよう、誤差逆伝播法によってスチューデントネットワーク60のパラメータを更新する。
Training of the
すなわち、一方では、発話データxの言語を表すワンホットベクトルからなるハードラベル72と、スチューデントネットワーク60の出力にソフトマックス層68を適用して得た出力ベクトルとを用いて、クロスエントロピー(CE)による第2の損失70を算出する。他方では、スチューデントネットワーク60の出力をティーチャーネットワーク50のソフトラベル計算に用いた温度Tを用いて除算62し、さらにこの値を入力とするソフトマックス層64の出力と、ティーチャーネットワーク50から得たソフトラベル56とから、第1の損失66を計算する。この第2の損失70と第1の損失66との加重和が合計損失74である。合計損失をLKDとし、LKDを式で表すと以下のようになる。
On the one hand, the cross entropy (CE) is calculated using the
ここでは、クロスエントロピーを用いて、ソフト損失(第1の損失66)と、訓練サンプルの発話データxに対するハード損失(第2の損失70)とを以下の式により算出する。 Here, using cross-entropy, a soft loss (first loss 66) and a hard loss (second loss 70) for training sample utterance data x are calculated according to the following equations.
一方、このKDに触発された技術であって、非特許文献5に開示されたFitNetsと呼ばれる技術がある。非特許文献5に開示されたネットワークの訓練方法について、図2から図5を参照して説明する。図2を参照して、このシステム100は、訓練済のティーチャーネットワーク110を用いて、ティーチャーネットワーク110より層の数は多いが、各層のニューロン数が少ないスチューデントネットワーク(非特許文献5ではFitNetと呼ばれている。)120を訓練する。非特許文献5では、ニューラルネットワークの層の数が多いほど柔軟に処理できるという特性を利用するため、この図2に示すようにスチューデントネットワーク120の層の数がティーチャーネットワーク110の層の数より多いことが前提とされている。ただしスチューデントネットワーク120の各隠れ層内のニューロン数はティーチャーネットワーク110のものより少ない。すなわち、スチューデントネットワーク120は全体としてティーチャーネットワーク110より「スリム」なネットワークである。
On the other hand, there is a technique called FitNets disclosed in Non-Patent
非特許文献5では、ティーチャーネットワーク110の中央付近の隠れ層114を転送元、スチューデントネットワーク120の中央付近の隠れ層124を転送先とする。非特許文献5よれば、転送元の隠れ層114及び転送先の隠れ層124が入力から遠すぎるとネットワークの柔軟性に欠けるということであり、非特許文献5では転送元の隠れ層114及び転送先の隠れ層124の双方とも中央の層がえらばれている。h、gを自然数として、転送元の隠れ層114が第h層、転送先の隠れ層124が第g層であるものとする。図2では、ティーチャーネットワーク110の第1層から転送元の隠れ層114までの層群全体をWHint層112として表し、スチューデントネットワーク120の第1層から転送先の隠れ層124までの層群全体をWGuided層122と呼ぶ。
In
また、ティーチャーネットワーク110の隠れ層のニューロン数がスチューデントネットワーク120のニューロン数より多いため、図3に示すように、転送先の隠れ層124を含むWGuided層の直後に、転送先の隠れ層124の出力数と等しい数の入力を持ち、転送元の隠れ層114を含むWHint層112の出力数と等しい数の出力を持つリグレッサ126を設ける。
Further, since the number of neurons in the hidden layer of the
図3に示すように、非特許文献5の技術では、転送先の隠れ層124を含むWGuided層122のパラメータWGuidedとリグレッサ126のパラメータWrとにより定義される損失LHTを最小化するようにWGuidedの値を学習し、さらに図4に示すようにスチューデントネットワーク120の出力に対して定義される損失LKDを最小化するよう、非特許文献4のKD手法を用いてスチューデントネットワーク120を訓練する。
As shown in FIG. 3, in the technique of
より詳細には、図2~図4及び図5を参照して、スチューデントネットワーク120の訓練は以下のようにして行われる。図2のティーチャーネットワーク110のWHint層112に対応して準備されたパラメータ集合WHintに、訓練済のティーチャーネットワーク110のパラメータ集合の中で、第1層から第h層までのパラメータ集合{WT
1,…,WT
h}を代入する(ステップ140)。また、スチューデントネットワーク120のパラメータ集合の中で、第1層から第g層までのパラメータ集合に対応して準備されたパラメータ集合WGuidedに、ランダムに初期化したスチューデントネットワーク120のパラメータ集合{WS
1,…,WS
g}を代入する(ステップ142)。ここで、パラメータ集合WGuidedは隠れ層WGuided
1,…,WGuided
gを含む。
More specifically, referring to FIGS. 2-4 and 5, training of
ステップ144でリグレッサ126のパラメータ集合Wrを、ランダムに選んだ小さな値で初期化する。ステップ146で以下の式によりWGuidedに対応するパラメータ集合W*Guidedの値を計算する。パラメータ集合W*Guidedは隠れ層WGuided
*1,…,WGuided
*gを含む。
At
このようにしてスチューデントネットワーク120の第1段階の訓練が終了した後、ステップ150でスチューデントネットワーク120に対するKDの学習が次式により実行される。
After the first-stage training of the
しかし、非特許文献5に記載された技術を用いた場合では、訓練済のティーチャーネットワークのパラメータを用いてスチューデントネットワークの第1段階の訓練を行った後、さらにティーチャーネットワークの出力を用いてスチューデントネットワークの第2段階の訓練を行う必要があり、処理が複雑であるという問題がある。しかも、短い発話(例えば4秒未満)の場合にはやはり精度が落ち、発話が短くなるほど精度の劣化が甚だしくなるという問題がある。
However, when the technique described in
したがってこの発明は、発話が短くても高い精度で発話言語を認識できるような発話言語認識モデルの訓練方法を提供することである。 SUMMARY OF THE INVENTION Accordingly, it is an object of the present invention to provide a training method for a spoken language recognition model that can recognize a spoken language with high accuracy even if the utterance is short.
この発明の第1の局面に係る言語識別モデルの訓練方法は、第1の発話時間の発話データにより訓練済の、所定数の言語の集合に関する発話の言語識別のための第1のニューラルネットワークを用いて、第1の発話時間より短い第2の発話時間の発話データにより、言語の集合に関する発話の言語識別のための第2のニューラルネットワークの訓練を行う言語識別モデルの訓練方法である。第2の発話時間の発話データの各々は、第1の発話時間の発話データのいずれかの一部である。第1のニューラルネットワークは、第1の発話時間の発話データを入力として各層の出力を伝搬するように配置された第1の数の畳込み層群と、当該第1の数の畳込み層群の出力を受け、言語識別情報を出力する第1の分類ネットワークとを含む。第2のニューラルネットワークは、第2の発話時間の発話データを入力として各層の出力を伝搬するように配置された第2の数の畳込み層群と、当該第2の数の畳込み層群の出力を受け、言語識別情報を出力するための第2の分類ネットワークとを含む。第1の数の畳込み層群のある層は、第2のニューラルネットワークに対する知識の転送元となる転送元層であり、第2の数の畳込み層群のある層は、知識の転送先となる転送先層である。この方法は、第1のニューラルネットワークを動作可能な形式で準備するステップと、第1のニューラルネットワークの訓練を行ったときの第1の発話時間の発話データと、第1の発話時間の発話データに含まれる第2の発話時間の発話データと、当該第1の発話時間の発話データの発話言語を示す言語情報とからなる訓練データを互いに関連付けて含む訓練データを機械読取可能な形式で準備するステップと、訓練データの第1の発話時間の発話データが第1の数の畳込み層群に入力されたときの転送元層の出力と、当該第1の発話時間の発話データと関連付けられた第2の発話時間の発話データが第2の数の畳込み層群に入力されたときの転送先層の出力と、当該第2の発話時間の発話データの言語情報とを少なくとも用いて、第2のニューラルネットワークを訓練するステップとを含む。 A language discrimination model training method according to a first aspect of the present invention provides a first neural network for language discrimination of utterances related to a set of a predetermined number of languages, trained with utterance data of a first utterance time. to train a second neural network for language identification of utterances for a set of languages with utterance data of a second utterance time shorter than the first utterance time. Each piece of speech data of the second speech time is any part of the speech data of the first speech time. The first neural network includes a first number of convolutional layer groups arranged to receive speech data of a first speech time as an input and propagate the output of each layer, and the first number of convolutional layer groups. and a first classification network that receives the output of and outputs language identification information. The second neural network includes a second number of convolutional layer groups arranged to receive speech data of a second speech time as an input and propagate the output of each layer, and the second number of convolutional layer groups. and a second classification network for receiving the output of and outputting language identification information. The layer with the first number of convolutional layers is the source layer from which knowledge is transferred to the second neural network, and the layer with the second number of convolutional layers is the knowledge destination. This is the transfer destination layer. The method comprises the steps of preparing a first neural network in operational form; speech data for a first speech time when training the first neural network; speech data for the first speech time; Prepare training data in a machine-readable format containing training data consisting of utterance data of the second utterance time included in and language information indicating the utterance language of the utterance data of the first utterance time in association with each other a step, the output of the source layer when the utterance data of the first utterance time of the training data is input to the first number of convolutional layers, and the utterance data of the first utterance time associated with the Using at least the output of the transfer destination layer when the speech data of the second speech time is input to the second number of convolutional layers and the linguistic information of the speech data of the second speech time, the and training two neural networks.
好ましくは、転送元層のニューロン数は、転送先層のニューロン数と同じである。 Preferably, the number of neurons in the source layer is the same as the number of neurons in the destination layer.
より好ましくは、転送元層は第1の数の畳込み層群の最上位層であり、転送先層は、第2の数の畳込み層群の最上位層である。 More preferably, the source layer is the topmost layer of the first number of convolutional layers and the destination layer is the topmost layer of the second number of convolutional layers.
さらに好ましくは、第2のニューラルネットワークを訓練するステップは、訓練データの第1の発話時間の発話データxTが第1の数の畳込み層群に入力されたときの転送元層の出力uT(xT;ΘT)、ただしΘTは転送元層のパラメータ集合を表す、を算出するステップと、発話データxTに関連する第2の発話時間の発話データxSが第2の畳込み層群に入力されたときの転送先層の出力uS(xS;ΘS)、ただしΘSは転送先層のパラメータ集合を表す、を算出するステップと、転送先層において以下の損失関数LFRKDを算出するステップと、
好ましくは、この言語識別モデルの訓練方法はさらに、訓練データセット及び開発データセットを用いて、第1のニューラルネットワークのパラメータと、第2のニューラルネットワークのパラメータとを、開発データセットの入力に対する第2のニューラルネットワークの出力の誤差、訓練データセットに対する第1のニューラルネットワークの誤差、及び訓練データセットに対する第2のニューラルネットワークの誤差とを用いて定義される損失関数を最小化するよう、対話型で調整する対話型パラメータ調整ステップを含む。 Preferably, the method of training a language discrimination model further comprises using the training data set and the development data set to convert the parameters of the first neural network and the parameters of the second neural network to the inputs of the development data set. to minimize a loss function defined using the error of the outputs of the two neural networks, the error of the first neural network on the training data set, and the error of the second neural network on the training data set. includes an interactive parameter adjustment step that adjusts with
より好ましくは、対話型パラメータ調整ステップは、訓練データセット及び開発データセットから抽出されたミニバッチデータセットを用いて、開発データセットの入力に対する第2のニューラルネットワークの出力の誤差と、訓練データセットに対する第1のニューラルネットワークとの誤差とを用いて定義される第1の誤差関数を最小化するよう、第1のニューラルネットワークのパラメータを調整する第1の調整ステップと、訓練データセットから抽出されたミニバッチデータセットに対する第2のニューラルネットワークの誤差を用いて定義される第2の損失関数を最小化するよう、第2のニューラルネットワークのパラメータを調整する第2の調整ステップと、第1の調整ステップ及び第2の調整ステップを、ミニバッチデータセットを変化させながら訓練データセット及び開発データセットに対して所定の終了条件が成立するまで交互に繰返すステップとを含む。 More preferably, the interactive parameter adjustment step uses the mini-batch data sets extracted from the training data set and the development data set to determine the error of the output of the second neural network with respect to the input of the development data set and the training data set a first adjustment step of adjusting the parameters of the first neural network so as to minimize a first error function defined using the error with the first neural network from the training data set; a second adjustment step of adjusting the parameters of the second neural network to minimize a second loss function defined using the second neural network's error for the mini-batch data set obtained from the first repeating the adjusting step and the second adjusting step alternately with varying mini-batch data sets for the training data set and the development data set until a predetermined termination condition is met.
第2の局面に係る言語識別モデルの訓練装置は、第1の発話時間の発話データにより訓練済の、所定数の言語の集合に関する発話の言語識別のための第1のニューラルネットワークを用いて、第1の発話時間より短い第2の発話時間の発話データにより、言語の集合に関する発話の言語識別をするための第2のニューラルネットワークを訓練する言語識別モデルの訓練装置である。第2の発話時間の発話データの各々は、第1の発話時間の発話データのいずれかの一部であり得る。第1のニューラルネットワークは、第1の発話時間の発話データを入力として各層の出力を伝搬するように配置された第1の数の畳込み層群と、当該第1の数の畳込み層群の出力を受け、言語識別情報を出力する第1の分類ネットワークとを含む。第2のニューラルネットワークは、第2の発話時間の発話データを入力として各層の出力を伝搬するように配置された第2の数の畳込み層群と、当該第2の数の畳込み層群の出力を受け、言語情報を出力するための第2の分類ネットワークとを含む。第1の数の畳込み層群のある層は、第2のニューラルネットワークに対する知識の転送元となる転送元層であり、第2の数の畳込み層群のある層は、知識の転送先となる転送先層である。この装置は、第1のニューラルネットワークを動作可能な形式で記憶するモデル記憶装置と、第1のニューラルネットワークの訓練を行ったときの第1の発話時間の発話データと、第1の発話時間の発話データに含まれる第2の発話時間の発話データと、当該第2の発話時間の発話データの発話言語を示す言語情報とからなる訓練データを互いに関連付けて含む訓練データを機械読取可能な形式で記憶する訓練データ記憶装置と、訓練データの第1の発話時間の発話データが第1の数の畳込み層群に入力されたときの転送元層の出力と、当該第1の発話時間の発話データと関連付けられた第2の発話時間の発話データが第2の数の畳込み層群に入力されたときの転送先層の出力と、当該第2の発話時間の発話データの言語情報とを少なくとも用いて、第2のニューラルネットワークを訓練する訓練手段とを含む。
この発明の第3の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかの装置の各手段として機能させる。
A language discrimination model training device according to a second aspect uses a first neural network for language discrimination of utterances related to a set of a predetermined number of languages, which has been trained with utterance data of a first utterance time, A language discrimination model training device for training a second neural network for language discrimination of utterances relating to a set of languages, using utterance data of a second utterance time shorter than the first utterance time. Each of the second speech time speech data may be part of any of the first speech time speech data. The first neural network includes a first number of convolutional layer groups arranged to receive speech data of a first speech time as an input and propagate the output of each layer, and the first number of convolutional layer groups. and a first classification network that receives the output of and outputs language identification information. The second neural network includes a second number of convolutional layer groups arranged to receive speech data of a second speech time as an input and propagate the output of each layer, and the second number of convolutional layer groups. and a second classification network for receiving the output of and outputting linguistic information. The layer with the first number of convolutional layers is the source layer from which knowledge is transferred to the second neural network, and the layer with the second number of convolutional layers is the knowledge destination. This is the transfer destination layer. This apparatus includes a model storage device for storing a first neural network in an operable form, speech data of a first speech time when the first neural network is trained, and data of the first speech time. training data in a machine-readable format containing training data consisting of utterance data of a second utterance time included in the utterance data and language information indicating an utterance language of the utterance data of the second utterance time in association with each other; A training data storage device to store, an output of a transfer source layer when speech data of a first speech time of training data is input to a first number of convolutional layer groups, and a speech of the first speech time The output of the transfer destination layer when the utterance data of the second utterance time associated with the data is input to the second number of convolutional layers, and the linguistic information of the utterance data of the second utterance time and training means for using at least training the second neural network.
A computer program according to a third aspect of the present invention causes a computer to function as each means of any one of the above devices.
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。 In the following description and drawings, identical parts are provided with identical reference numerals. Therefore, detailed description thereof will not be repeated.
[第1の実施の形態]
<構成>
[訓練の概略]
図6に、この発明の第1の実施の形態に係る発話言語識別モデルの訓練方法200の構成の概略を示す。図6を参照して、この実施の形態に係る訓練方法200は、訓練済のティーチャーネットワーク210を用いてスチューデントネットワーク220を訓練する。
[First embodiment]
<Configuration>
[Outline of training]
FIG. 6 shows an outline of the configuration of a
ティーチャーネットワーク210は、この実施の形態では発話時間が4秒の発話データ230からなる訓練データを用いて訓練され、4秒の発話データの入力に応答して、その発話データの言語が所定数(例えば10個)の言語の中のいずれであるかを示す出力ベクトル212を出力するように訓練される。この訓練自体には通常の手法が用いられる。この訓練に用いられる訓練サンプルは、4秒の発話データとその発話データの発話言語が何かを表すラベルとを含む。
The
ティーチャーネットワーク210は、各々が畳込みブロックからなる複数の隠れ層を含む特徴抽出部214と、特徴抽出部214の出力する特徴量に基づいて発話言語を分類し出力ベクトル212を出力するための2層の全結合層からなる全結合層ネットワーク216とを含む。全結合層ネットワーク216の最終ステージには図示しないsoftmax層が存在する。このように複数の畳込みブロックを含む深層ニューラルネットワーク(Deep Convolution Neural Network)を以下「DCNN」と呼ぶ。
The
特徴抽出部214は複数の畳込みブロックを含むが、本実施の形態ではその最上位層の畳込みブロック218が訓練で獲得した特徴抽出に関する知識を後述のような方法でスチューデントネットワーク220に転送する。この知識は畳込みブロック218の出力という形で表される。
スチューデントネットワーク220は、ティーチャーネットワーク210と同様、DCNNからなる。スチューデントネットワーク220は、発話データ230より短い2秒という発話時間の発話データ232を含む訓練データと、ティーチャーネットワーク210の畳込みブロック218のパラメータとを用いて訓練され、2秒の発話時間の発話データの入力に応答して、ティーチャーネットワーク210の出力ベクトル212と同様、入力された発話データによる発話が10言語の中のどの言語で発話されたかを示す出力ベクトル222を出力するためのものである。
The
スチューデントネットワーク220は、ティーチャーネットワーク210の特徴抽出部214と同様、複数の畳込みブロックを含む特徴抽出部224と、特徴抽出部224の出力する特徴量に基づいて入力発話の分類を行い、出力ベクトル222を出力するための2層の全結合層からなる全結合層ネットワーク226とを含む。なお、全結合層ネットワーク226は、最終層に図示しないsoftmax層を含む。
Similar to the
特徴抽出部224も複数の畳込みブロックを含むが、この実施形態ではその最上位の階層の畳込みブロック228に、畳込みブロック218の知識を転送する。したがって、畳込みブロック228のニューロン数は、畳込みブロック218のニューロン数と同じである。一方、スチューデントネットワーク220への入力の発話長はティーチャーネットワーク210への入力の発話長の半分であるため、スチューデントネットワーク220の最下段の畳込み層のニューロン数はティーチャーネットワーク210の最下段のニューロンの半分である。同様に、特徴抽出部224内の一部畳込みブロックのニューロンは、特徴抽出部214内の各畳込みブロックのニューロンより少ない。こうした構成によりスチューデントネットワーク220はティーチャーネットワーク210より高速に動作可能である。
The
[発話言語識別モデルの訓練装置]
図7にこの実施の形態に係る発話言語識別モデルの訓練方法を実現する訓練装置の概略構成をブロック図形式で示す。図7を参照して、この訓練装置250は、ティーチャーネットワーク210の訓練に用いる訓練サンプルを含む訓練データを記憶するためのティーチャーネットワーク訓練データ記憶部260と、ティーチャーネットワーク210を、動作可能な形式で記憶するための第1の言語識別モデル記憶部262と、ティーチャーネットワーク訓練データ記憶部260に記憶された訓練データを用いて第1の言語識別モデル記憶部262に記憶されたティーチャーネットワーク210を通常の誤差逆伝播法を用いて訓練するためのティーチャーネットワーク訓練部264とを含む。各訓練サンプルは、この実施の形態では例えば発話時間4秒の発話データとその発話の言語を識別する言語ラベルとを含む。
[Training Device for Spoken Language Discrimination Model]
FIG. 7 shows, in block diagram form, a schematic configuration of a training device that implements the method of training a spoken language discrimination model according to this embodiment. Referring to FIG. 7, this
第1の言語識別モデル記憶部262は、ティーチャーネットワーク210が実現する関数のアルゴリズムを規定するプログラムを記憶するためのティーチャーネットワークプログラム記憶部280と、このアルゴリズムが実現する関数の振る舞いを決定するパラメータ及びティーチャーネットワーク210の構成を規定するハイパーパラメータを記憶するためのティーチャーネットワークパラメータ記憶部282とを含む。ここでいうハイパーパラメータは、ネットワークの層数、各畳込み層が使用するフィルタサイズ及びその数、マックスプーリングの際のウィンドウサイズ及びそのストライド等の情報を含む。
The first language identification
訓練装置250はさらに、ティーチャーネットワーク訓練データ記憶部260に記憶された訓練サンプルの各々を変換して発話時間2秒の発話データと元の4秒の発話データとを含む訓練サンプルを出力するための訓練データ変換部266と、訓練データ変換部266の出力する訓練サンプルを機械可読な形式で記憶するためのスチューデントネットワーク訓練データ記憶部268とを含む。発話時間2秒の発話データの各々は、その元になった発話時間4秒の発話データと関連付けられている。
The
訓練データ変換部266は、例えばティーチャーネットワーク訓練データ記憶部260に記憶された各訓練サンプルの4秒の発話データを発話時間2秒ずつの発話データに分割し、分割して得られた2つの発話データの各々と元の4秒の発話データとを互いに関連付けて組合わせ、さらに元の訓練サンプルのラベルを付すことで新しい訓練サンプルを生成する。すなわち、ティーチャーネットワーク210の訓練サンプル1つからはスチューデントネットワーク220の訓練サンプルが2つ得られ、各訓練サンプルは、2秒の発話データと、その発話データの元となった4秒の発話データと、その発話データの言語を示すラベルとを含む。このように、短い時間の発話データが長い時間の発話データの約数となっていると、短い時間の発話データの生成上では都合がよい。ただし、この発明はそのような実施の形態には限定されず、短い発話時間が長い発話時間の約数でなくてもよい。
The training
訓練装置250はさらに、スチューデントネットワーク訓練データ記憶部268に記憶されたスチューデントネットワーク220の訓練データ及び第1の言語識別モデル記憶部262に記憶されたティーチャーネットワーク210からなる言語識別モデルを用いて、後述する訓練方法によりスチューデントネットワーク220を訓練するためのスチューデントネットワーク訓練部272と、スチューデントネットワーク220を記憶するための第2の言語識別モデル記憶部270とを含む。
The
第2の言語識別モデル記憶部270は、スチューデントネットワーク220が実現する関数のアルゴリズムを規定するプログラムを記憶するためのスチューデントネットワークプログラム記憶部290と、このアルゴリズムが実現する関数の振る舞いを決定するパラメータ及びスチューデントネットワーク220の構成を規定するハイパーパラメータを記憶するためのスチューデントネットワークパラメータ記憶部292とを含む。
The second language identification
図8-図10は、図7に示すスチューデントネットワーク訓練部272として機能するようコンピュータを制御するコンピュータプログラムの制御構造を示すフローチャートである。図8を参照して、このプログラムは、ティーチャーネットワーク210用の訓練データを用いてティーチャーネットワーク210を訓練するステップ320と、訓練済のティーチャーネットワーク210とハードラベルとを用いてスチューデントネットワークを訓練するステップ322とを含む。
8-10 are flow charts showing the control structure of a computer program that controls a computer to function as the student
図9に、図8のステップ320の詳細を示す。図9を参照して、このプログラムは、ティーチャーネットワーク210の訓練データを準備するステップ330と、ティーチャーネットワーク210のパラメータ集合を初期化するステップ332と、訓練の予定実行数だけ訓練処理336を繰返すステップ334と、ステップ334の結果得られたティーチャーネットワーク210のパラメータ集合をティーチャーネットワークパラメータ記憶部282(図7)に保存してこの処理を終了する訓練処理338とを含む。
FIG. 9 shows details of
訓練処理336は、訓練データセットからmサンプルのミニバッチをサンプリングするステップ350と、ティーチャーネットワーク210にミニバッチの音声データを入力したときのティーチャーネットワーク210の出力を訓練データ内のハードラベルとの差を算出するステップ352と、ミニバッチに対して算出される以下の損失関数LT(xT,y)を最小化するようティーチャーネットワーク210の全ての層のパラメータを誤差逆伝播法により更新して訓練処理336を終了するステップ354とを含む。なお次式においてラベルyの右肩の「T」は転置を表す。一方、下添字の「T」はティーチャーネットワーク210に関する値であることを示す。同様にスチューデントネットワーク220に関する損失関数LS(xS,y)も定義される。
The
図10に、図8のステップ322の詳細を示す。図10を参照して、このプログラムは、訓練済のティーチャーネットワーク210とハードラベルとからスチューデントネットワーク220を訓練する訓練データを準備するステップ360と、スチューデントネットワークパラメータ記憶部292に記憶されたスチューデントネットワーク220のパラメータ集合ΘSを初期化するステップ362とを含む。本実施の形態では、ステップ362の初期化ではGlorotの一様分布手法と呼ばれる手法を用いている。もちろん、初期化はこの手法に限定されず、他の手法を用いてもよい。
FIG. 10 shows details of
なお、ステップ360では、図7に示すように、訓練データ変換部266がティーチャーネットワーク訓練データ記憶部260に記憶された訓練データから発話長2秒の訓練データを生成し、元の発話長4秒の訓練データとあわせてスチューデントネットワーク訓練データ記憶部268に格納する。なお、ここでは発話長4秒の訓練データを中央で分割して発話長2秒の訓練データを2つ生成している。しかしこの発明はそのような実施の形態には限定されない。もとの訓練データから、互いに重なる発話部分を持つ複数の訓練データに生成してもよい。
In
このプログラムはさらに、ステップ360で準備されたスチューデントネットワーク220の訓練データを用いて、以下の訓練処理366を予め定めておいた予定実行数だけ繰返すステップ364と、ステップ364の訓練が終了した時点のスチューデントネットワーク220のパラメータ集合ΘSを図7に示すスチューデントネットワークパラメータ記憶部292に保存して処理を終了するステップ368とを含む。なおこの実施の形態では、訓練処理366の処理を指定回数だけ繰返したときに訓練を終了するものとしたが、他の終了条件の成立により繰返しを終了するようにしてもよい。例えばミニバッチによるパラメータの更新の大きさの絶対値がしきい値以下となることが所定回数連続したときに、繰返しを終了するようにしてもよい。
Further, this program uses the training data of the
訓練処理366は、訓練データからm個の訓練サンプルのミニバッチをサンプリングするステップ380と、これらm個の訓練サンプルの中の2秒の発話データをそれぞれスチューデントネットワーク220に入力し、スチューデントネットワーク220の出力とハードラベルとの差を算出するステップ382とを含む。ステップ382では、スチューデントネットワーク220の転送先の隠れ層である畳込みブロック228の出力も算出し記憶する。転送先の畳込みブロック228の出力はuS(xS;ΘS)と表される特徴量である。ここで、xSはスチューデントネットワーク220に入力される2秒の発話データを表し、ΘSは知識の転送先である畳込みブロック228のパラメータ集合を表し、uSは畳込みブロック228までの特徴抽出部224により規定される関数を表す。なお、各ミニバッチを構成するm個の訓練サンプルは、少なくとも識別の対象となる言語の数以上であることが望ましい。例えば、言語別にそれぞれ同数ずつ、又はサンプル数に比例した割合で、合計がm個になるように各言語からサンプリングすることが望ましい。
The
訓練処理366はさらに、訓練データの各々について、その4秒の発話データをティーチャーネットワーク210に入力し、そのときのティーチャーネットワーク210の知識の転送元である畳込みブロック218の出力を算出するステップ384を含む。畳込みブロック218の出力はuT(xT;ΘT)と表される特徴量である。ここで、xTはティーチャーネットワーク210に入力される4秒の発話データを表し、ΘTは畳込みブロック218のパラメータ集合を表し、uTは転送元層までの特徴抽出部214により規定される関数を表す。
The
訓練処理366はさらに、ステップ384に続き、以下の式(6)により表される損失関数LFRKDを計算するステップ386を含む。
The
<動作>
図6~図10を参照して、この実施の形態に係る訓練装置250は以下のように動作する。最初に、ティーチャーネットワーク訓練データ記憶部260にティーチャーネットワーク210の訓練データを準備する。ティーチャーネットワークプログラム記憶部280には、ティーチャーネットワーク210のアルゴリズムを規定するプログラムが予め記憶されている。ティーチャーネットワーク訓練部264は、この訓練データとティーチャーネットワークプログラム記憶部280に記憶されたプログラムとを用いてティーチャーネットワーク210を訓練する(図8のステップ320)。
<Action>
6-10,
ティーチャーネットワーク210の訓練では、図9に示すように、最初にステップ330が準備され、ティーチャーネットワーク210のパラメータ集合を初期化する(ステップ332)。続いて訓練処理336が訓練の予定実行数だけ繰返し行われる(ステップ334)。このステップ334が終了したときのティーチャーネットワーク210のパラメータ集合がティーチャーネットワークパラメータ記憶部282(図7)に記憶される。この結果、ティーチャーネットワークパラメータ記憶部282にはティーチャーネットワーク210の各層のパラメータ集合が記憶される。このパラメータ集合は図6に示す転送元となる畳込みブロック218のパラメータ集合ΘTを含む。
In training the
ティーチャーネットワーク210の訓練が終了すると、訓練データ変換部266がティーチャーネットワーク訓練データ記憶部260に記憶されたティーチャーネットワークのための訓練データを変換し、スチューデントネットワーク220のための訓練データを生成する(ステップ360)。変換後の訓練データはスチューデントネットワーク訓練データ記憶部268に記憶される。スチューデントネットワーク訓練データ記憶部268に記憶される各訓練サンプルは、ティーチャーネットワーク訓練データ記憶部260に記憶されていた訓練サンプルの4秒の発話データを分割した2秒の発話データと、元になった4秒の発話データと、ラベルとを含む。
After the training of the
スチューデントネットワークプログラム記憶部290には、スチューデントネットワーク訓練部272のアルゴリズムを規定するプログラム(スチューデントネットワークプログラム)が記憶されている。スチューデントネットワークパラメータ記憶部292には、スチューデントネットワーク220の構成を規定するハイパーパラメータが予め記憶され、スチューデントネットワーク220のパラメータを記憶する記憶領域が確保される。
The student network
スチューデントネットワーク220の訓練では、スチューデントネットワーク訓練部272は、スチューデントネットワーク220のための訓練データを準備する(ステップ360)。具体的には、スチューデントネットワーク訓練部272は図7に示すスチューデントネットワーク訓練データ記憶部268にアクセスし、訓練データファイルをオープンしメモリにロードする。続いてスチューデントネットワークパラメータ記憶部292に確保されたスチューデントネットワークのパラメータ集合の記憶領域を初期化する(ステップ362)。このパラメータ集合は、図6に示す転送先となる畳込みブロック228のパラメータ集合ΘSを含む。
In
続いて、スチューデントネットワーク訓練部272は、以下の処理(図10の訓練処理366)を所定の予定実行回数だけ繰返すステップ364を実行する。
Subsequently, the student
訓練処理366では、スチューデントネットワーク訓練部272は、スチューデントネットワーク訓練データ記憶部268に記憶された訓練データからm個の訓練サンプルからなるミニバッチをサンプリングする(ステップ380)。このミニバッチに含まれる各訓練サンプルの中の2秒の発話データxSをスチューデントネットワーク220に入力し、それぞれに対応してスチューデントネットワーク220から出力される識別結果yとハードラベルとの誤差を算出する。同時に、スチューデントネットワーク220の特徴抽出部224の最上位層である畳込みブロック228の出力uS(xS;ΘS)を算出する(ステップ382)。
In
続いてステップ384で、ティーチャーネットワーク210に各訓練サンプルの中で、ミニバッチに含まれる2秒のサンプリングデータを含む4秒の発話データxTを入力し、特徴抽出部214の最上位層である転送元の畳込みブロック218からの出力uT(xT;ΘT)を算出する。
Subsequently, in
さらにスチューデントネットワーク訓練部272は、式(6)により表される損失関数LFRKDの値を算出する(ステップ386)。
Further, the student
訓練処理366の最後には、スチューデントネットワーク220のパラメータ全てを、損失関数LFRKDの値を最小化するように通常の誤差逆伝播法を用いて更新し、1ミニバッチに対する訓練処理366の処理を終了する(ステップ388)。
At the end of the
以上の処理を予定実行数だけ繰返すことにより、スチューデントネットワーク220の訓練が終了する。スチューデントネットワーク訓練部272はこのときのスチューデントネットワーク220のパラメータ集合をスチューデントネットワークパラメータ記憶部292に保存し(ステップ368)、スチューデントネットワーク220の訓練を終了する。
Training of the
<実験結果>
上記実施の形態にしたがった訓練方法により訓練したスチューデントネットワークによる実験を行い、上記訓練方法が有効か否かを確認した。
<Experimental results>
An experiment was conducted using a student network trained by the training method according to the above embodiment, and it was confirmed whether or not the above training method was effective.
図11に、この実験で使用した各言語の訓練データの概要を示す。図11を参照して、この実験では、ビルマ語、中国語、英語、フランス語、インドネシア語、日本語、韓国語、スペイン語、タイ語及びベトナム語の発話データを用いた。これら発話データは出願人において準備したものである。 FIG. 11 shows an overview of the training data for each language used in this experiment. Referring to FIG. 11, this experiment used speech data in Burmese, Chinese, English, French, Indonesian, Japanese, Korean, Spanish, Thai, and Vietnamese. These speech data were prepared by the applicant.
各言語の発話データを、訓練用データセット、検証用データセット、及びテスト用データセットに分割した。各言語についてのこれらデータに関する情報は図11に記載したとおりであり、各言語について、訓練用データセットが4500、検証用データセットが300、テスト用データセットが1200のサンプルからからなっている。ただし、各発話データの合計時間は図11に示すように互いに一致しているわけではない。発話データの平均時間は7.6秒である。これら発話データはいずれもネイティブ話者により発話されたデータである。 The speech data for each language was divided into a training dataset, a validation dataset, and a test dataset. Information about these data for each language is shown in FIG. 11, and for each language consists of 4500 training datasets, 300 validation datasets and 1200 test datasets. However, the total time of each utterance data does not match each other as shown in FIG. The average duration of speech data is 7.6 seconds. All of these utterance data are data uttered by a native speaker.
実験でのモデルの評価には発話言語の識別誤り率(UER)を用いた。 Spoken language discrimination error rate (UER) was used to evaluate the model in the experiment.
実験では、図12に示すような構成のDCNNをティーチャーネットワークとして、図13に示すような構成のDCNNをスチューデントネットワークとして、それぞれ準備した。図12に示す例は入力の発話長が4秒のものであり、図13に示す例は入力の発話長が2秒のものである。 In the experiment, a DCNN configured as shown in FIG. 12 was prepared as a teacher network, and a DCNN configured as shown in FIG. 13 was prepared as a student network. The example shown in FIG. 12 is for an input utterance length of 4 seconds, and the example shown in FIG. 13 is for an input utterance length of 2 seconds.
図12を参照して、ティーチャーネットワークのDCNNは、入力として4秒の発話を受ける。音声信号をフレーム長25msec、フレーム間隔(フレーム移動間隔)10msecでフレーム化する。入力の発話長が4秒なので、1入力のフレーム数は全部で4×1000/10=400フレームである。各フレームは音声信号を60次元のメルフィルタバンクに通して得られた60個の要素からなる60次元のベクトルである。すなわち、DCNNには400×60の行列が入力される。図12において、例えば第1行において「conv(7×7, 16, relu)」とあるのは、畳込みブロックにおいて使用されるフィルタのサイズが7×7、フィルタ数が16、活性化関数がRectified Linear Unitであることを示す。「max-pooling(3×3, stride 2×2)」は、マックスプーリングが、3×3の領域を対象に、横方向に2つずつ移動させながら行われ、行の末尾まで移動したら対象領域を縦(下)方向に2つ移動させて同じ処理が行われること、を示す。「BN」は、その畳込みブロックにおいてバッチ正規化処理を行うことを示す。
Referring to FIG. 12, the teacher network DCNN receives 4 seconds of speech as input. The audio signal is framed with a frame length of 25 msec and a frame interval (frame shift interval) of 10 msec. Since the utterance length of the input is 4 seconds, the total number of frames for one input is 4×1000/10=400 frames. Each frame is a 60-dimensional vector of 60 elements obtained by passing the speech signal through a 60-dimensional mel filter bank. That is, a 400×60 matrix is input to the DCNN. In FIG. 12, for example, "conv(7×7, 16, relu)" in the first line means that the filter size used in the convolution block is 7×7, the number of filters is 16, and the activation function is Indicates Rectified Linear Unit. "max-pooling (3 × 3,
図13を参照して、スチューデントネットワーク220のDCNNは、入力として2秒の発話を受ける。入力される音声信号をフレーム化し、各フレームを60次元のベクトルに変換する。この結果、DCNNへの入力は200×60の行列となる。図13において図12と異なるのは、入力ベクトルの数(入力層のニューロン数)の相違に加えて、畳込みブロックの第3層のmax-poolingのストライドが1×2(図12では2×2)となっている点である。これは、入力データの次元数が図12と図13とで異なっているのに対し、転送元層と転送先の層とのニューロン数を等しくするための調整である。その他の点では、図13の見方は図12と同様である。
Referring to FIG. 13, the DCNN of
この実験では、図13に示すものと同じ構成のDCNNを発話長2秒の訓練データで訓練したものをベースラインとした。さらに、発話長が2秒の発話を入力とするDCNNを、発話長が4秒のティーチャーネットワークを使用したKD手法(非特許文献1)により訓練したものを本実施の形態との比較例として準備した。KD手法を用いた比較例は、温度T=3、5、7とλ=0.1、0.3、0.5及び0.7の組合わせで構築した。 In this experiment, a DCNN having the same configuration as that shown in FIG. 13 was trained with training data having an utterance length of 2 seconds as a baseline. Furthermore, a DCNN with an utterance length of 2 seconds as an input is trained by the KD method (Non-Patent Document 1) using a teacher network with an utterance length of 4 seconds, and prepared as a comparative example with this embodiment. bottom. Comparative examples using the KD approach were constructed at combinations of temperatures T=3, 5, 7 and λ=0.1, 0.3, 0.5 and 0.7.
本実施の形態のスチューデントネットワークとしては、図12と同様の構成で入力発話長=2秒のDCNNを準備し、同様の構成で入力発話長4秒のDCNNをティーチャーネットワークとして訓練することで準備した。この際、λは0.1、0.3,0.5及び0.7を用いた。 As the student network of this embodiment, a DCNN with an input utterance length of 2 seconds was prepared with the same configuration as in FIG. . At this time, λ was 0.1, 0.3, 0.5 and 0.7.
実験の結果を図14に示す。図14を参照して、KD手法を用いたものでは、T=3,λ=0.3としたものがテストでは最も高い性能(UER=5.69%)を示した。これはベースライン(UER=6.87%)と比較して17.18%の改善である。これに対して本実施の形態の手法により訓練したネットワーク(FRKD)では、λ=0.3で知識転送訓練の損失関数にL1ノルムを採用したものが最も高い性能(UER=5.28%)を示した。これはベースラインと比較して18.94%の改善であり、KD法と比較しても7.21%の改善である。 The results of the experiment are shown in FIG. Referring to FIG. 14, in the KD method, T=3 and λ=0.3 showed the highest performance (UER=5.69%) in the test. This is an improvement of 17.18% compared to baseline (UER=6.87%). On the other hand, in the network (FRKD) trained by the method of the present embodiment, the one that adopted the L1 norm as the loss function for knowledge transfer training with λ = 0.3 had the highest performance (UER = 5.28%). showed that. This is an 18.94% improvement compared to baseline and a 7.21% improvement compared to the KD method.
この実験ではλ=0.5に固定してL1ノルムを用いたものとL2ノルムを用いたものとの性能比較も行った。その結果、前者のUERが5.33%であったのに対し、後者のUERは5.89%であった。したがってL1ノルムを用いた方がL2ノルムを用いたものと比較して9.51%ほど相対的に性能がよいことが分かった。L2ノルムを用いたものはKD法で最も高い性能を示したもの(UER=5.69%)よりも性能が低くなっている。 In this experiment, we also performed a performance comparison between the L1 norm fixed at λ=0.5 and the L2 norm. As a result, the former UER was 5.33%, while the latter UER was 5.89%. Therefore, it was found that the performance using the L1 norm is relatively better than the one using the L2 norm by 9.51%. The one using the L2 norm has lower performance than the best performance of the KD method (UER=5.69%).
以上から、この発明の手法により訓練したモデルは、KD法を用いたものより高い性能が得られること、損失関数にL2ノルムではなくL1ノルムを用いた方が高い性能を実現できることが分かった。 From the above, the model trained by the method of this invention can obtain higher performance than that using the KD method, and that the L1 norm instead of the L2 norm for the loss function can achieve higher performance.
図15に、実験で用いたベースラインのモデル、スチューデントネットワークの訓練に用いたティーチャーネットワーク、KD法により訓練したスチューデントネットワーク、及びこの発明に係る方法により訓練したスチューデントネットワークにより得られた特徴量を次元圧縮して可視化した図を示す。この図は検証データセットに対して各モデルが出力した特徴量の分布を2次元の散布図のように表したものである。ティーチャーモデルは発話長4秒のもの、ベースラインと2つのスチューデントモデルは発話長1秒のものである。 FIG. 15 shows the feature values obtained from the baseline model used in the experiment, the teacher network used for training the student network, the student network trained by the KD method, and the student network trained by the method according to the present invention. A compressed visualization is shown. This figure represents the distribution of the feature values output by each model for the verification data set like a two-dimensional scatter diagram. The teacher model has an utterance length of 4 seconds, and the baseline and two student models have an utterance length of 1 second.
図15(B)に示すように、ティーチャーネットワークの図では特徴量がきれいに10個のクラスタに分散している。この10個のクラスタは、それぞれの言語に対応している。したがってティーチャーネットワークを用いると10個の言語を高い精度で識別できることが分かる。それに対し、図15(A)に示すベースラインでは、特徴量の分離がよくできておらず、言語の識別性能が低いことが分かる。図15(C)に示すKD法によるものでは、図15(A)のベースラインよりは特徴量の分離がよいが、それでも十分ではない。一方、図15(D)に示すこの発明によるものでは、特徴量がよく分離されており、図15(B)に示すティーチャーネットワークのものに近くなっている。したがってこの図15からも、この発明によるDCNNの訓練方法により、精度の高い発話言語識別が可能であることが分かる。 As shown in FIG. 15B, in the diagram of the teacher network, the feature values are neatly distributed among 10 clusters. These 10 clusters correspond to each language. Therefore, it can be seen that ten languages can be identified with high accuracy using the teacher network. On the other hand, in the baseline shown in FIG. 15(A), the separation of the feature quantity is not well done, and it can be seen that the language discrimination performance is low. The KD method shown in FIG. 15(C) separates the feature quantity better than the baseline shown in FIG. 15(A), but is still not sufficient. On the other hand, in the network according to the present invention shown in FIG. 15(D), the feature values are well separated and are close to those of the teacher network shown in FIG. 15(B). Therefore, from FIG. 15 as well, it can be seen that the DCNN training method according to the present invention enables highly accurate speech language identification.
<変形例>
上記実施の形態では、ティーチャーネットワークを4秒の発話データで、スチューデントネットワークを2秒の発話データで、それぞれ訓練した。しかし発話データ長の長さはこの組合わせには限定されない。またスチューデントネットワークの発話長がティーチャーネットワークの発話長より短ければよい。ただし、今回の発明の目的から考えて、スチューデントネットワークを訓練するための発話長は2秒以下であることが望ましい。さらに、上記実施の形態では4秒と2秒というように、一方が他方の倍数、すなわち他方が一方の約数という関係になっている。しかしそのような組合わせに限定されるわけではない。ただし、訓練データの準備の容易さ、畳込みネットワークのハイパーパラメータの決定の容易さから考えて、倍数と約数という関係の発話長で訓練データを準備することが現実的である。
<Modification>
In the above embodiment, the teacher network was trained with four seconds of speech data, and the student network was trained with two seconds of speech data. However, the length of the speech data length is not limited to this combination. Also, it is sufficient if the utterance length of the student network is shorter than the utterance length of the teacher network. However, considering the purpose of the present invention, it is desirable that the utterance length for training the student network is 2 seconds or less. Furthermore, in the above embodiment, one is a multiple of the other, that is, the other is a divisor of the other, such as 4 seconds and 2 seconds. However, it is not limited to such combinations. However, considering the ease of preparation of training data and the ease of determination of hyperparameters of a convolutional network, it is realistic to prepare training data with utterance lengths that are in the relationship of multiples and divisors.
また、上記実験では、ティーチャーネットワーク及びスチューデントネットワークのいずれも7層の畳込みブロックを含んでいる。また、転送元の層及び転送先の層の双方ともこれら畳込みブロックの最上位の隠れ層である。しかしこの発明はそのような実施の形態には限定されない。畳込みブロックの数は7層以外でもよいし、ティーチャーネットワークとスチューデントネットワークの畳込みブロックの数が一致しなくても良い。また転送元の層又は転送先の層は、特徴量を抽出する畳込みブロック群の最上位の畳込みブロックでなくてもよいし、両者の畳込みブロック群内での位置が一致する必要もない。 Also, in the above experiments, both the teacher network and the student network contain 7 layers of convolutional blocks. Also, both the source layer and the destination layer are the top hidden layers of these convolutional blocks. However, the invention is not limited to such embodiments. The number of convolution blocks may be other than seven layers, and the number of convolution blocks of the teacher network and the student network may not match. In addition, the transfer source layer or the transfer destination layer may not be the highest convolutional block of the convolutional block group from which the feature value is extracted, and the positions of both in the convolutional block group need to match. do not have.
上記実施の形態では、LFRKD損失を用いた訓練を言語識別のためのDCNNに適用した。このDCNNでは、畳込みブロック群が出力するのは特徴量に相当し、その特徴量を全結合層に入力することで言語識別を行っている。しかしこの発明はそのような実施の形態には限定されない。例えば、同じ手法により訓練された畳込みブロック群が抽出した特徴量を用いて、話者識別を行うこともできる。ただしこの場合には、特徴量を用いて、発話が特定の話者によってなされたものか否かを判定する2クラス分類器としてDCNNを利用するのが現実的である。 In the above embodiments, training with the L FRKD loss was applied to the DCNN for language identification. In this DCNN, what the convolutional block group outputs corresponds to the feature amount, and language identification is performed by inputting the feature amount to the fully connected layer. However, the invention is not limited to such embodiments. For example, speaker identification can be performed using features extracted by convolutional block groups trained by the same technique. However, in this case, it is practical to use the DCNN as a two-class classifier that uses features to determine whether an utterance is made by a specific speaker.
[第2の実施の形態]
以下に説明する第2の実施の形態は、第1の実施の形態により得られたモデルに対して、ティーチャーネットワークとスチューデントネットワークとの対話型訓練(対話型パラメータ調整)という、新規な方法で改良を加えたものである。後述するように、この方法で訓練したスチューデントネットワークは、第1の実施の形態において訓練したものよりもさらに高い精度を示した。また、同じ発話時間での精度もより高くなることが確認できた。したがって、同じ精度で言語識別するのであれば、必要な発話長をより短くできる。
[Second embodiment]
The second embodiment described below improves the model obtained by the first embodiment by a new method of interactive training (interactive parameter adjustment) between the teacher network and the student network. is added. As will be described later, the Student's network trained in this manner showed even higher accuracy than the one trained in the first embodiment. In addition, it was confirmed that the accuracy at the same utterance time was higher. Therefore, if language discrimination is performed with the same accuracy, the necessary utterance length can be shortened.
<構成>
図16に、この第2の実施の形態に係る訓練装置400の概略構成をブロック図形式で示す。図16を参照して、訓練装置400は、第1の実施の形態と同様に構成されたティーチャーネットワーク訓練データ記憶部260、第1の言語識別モデル記憶部262、ティーチャーネットワーク訓練部264、訓練データ変換部266、スチューデントネットワーク訓練データ記憶部268、スチューデントネットワーク訓練部272及び第2の言語識別モデル記憶部270を含む。
<Configuration>
FIG. 16 shows a schematic configuration of a
訓練装置400はさらに、第1の言語識別モデルを構成するティーチャーネットワーク210のパラメータ調整のためにスチューデントネットワーク220に入力される開発データセットを記憶する開発データ記憶部412と、ティーチャーネットワーク訓練データ記憶部260に記憶されたティーチャーネットワーク訓練データ、スチューデントネットワーク訓練データ記憶部268に記憶されたスチューデントネットワーク訓練データ、及び開発データ記憶部412に記憶された開発データを用いて、ティーチャーネットワーク210とスチューデントネットワーク220とのパラメータを調整するための訓練データを記憶するための訓練データ記憶装置414と、この訓練データを用いたティーチャーネットワーク210とスチューデントネットワーク220との間での対話型処理により、ティーチャーネットワークとスチューデントネットワークとの双方のパラメータの調整を行い、それによってスチューデントネットワークによる言語識別の精度を第1の実施の形態によるものと比較してより高くするための対話型モデル調整部410とを含む。
The
図17に、コンピュータを訓練装置400として機能させるためのコンピュータプログラムの制御構造をフローチャート形式で示す。図18に、この第2の実施の形態における損失関数とティーチャーネットワーク210及びスチューデントネットワーク220のパラメータ更新の概略を模式的に示す。
FIG. 17 shows in flow chart form the control structure of a computer program for causing a computer to function as
図17を参照して、このプログラムは、ティーチャーネットワーク訓練データを用いて第1の言語識別モデルを構成するティーチャーネットワーク210を訓練するステップ320と、ステップ320により訓練されたティーチャーネットワーク210のパラメータセットの中で、最上位層の畳込みブロック218(図18)のパラメータセットΘ0
Tを記憶装置に保存するステップ450と、ステップ450に続き、スチューデントネットワーク訓練データを用いてスチューデントネットワーク220を訓練するステップ322と、ステップ322に引き続き、ティーチャーネットワーク210及びスチューデントネットワーク220のパラメータ調整に使用する訓練データを、ティーチャーネットワーク訓練データ、スチューデントネットワーク訓練データ、及び開発データ記憶部412に記憶された開発データを用いて訓練データ記憶装置414に準備するステップ452とを含む。なお、ここでの訓練データは、{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、開発データ、ラベル}の組である。これらの中で{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、ラベル}の組がスチューデントネットワーク220のパラメータ調整に使用され、{ティーチャーネットワーク210の訓練データ、開発データ、ラベル}の組がティーチャーネットワーク210のパラメータ調整に用いられる。したがって、図18に示されるように、スチューデントネットワーク220への入力である訓練データは開発データサンプル520を含む。開発データセットサンプル520は、2秒の発話長の発話データと、その発話の言語を示すラベルyとが組になったものである。
Referring to FIG. 17, the program uses the teacher network training data to train a
このプログラムはさらに、訓練の予定実行数だけ外側ループ処理456を実行するステップ454と、ステップ452が完了したときのスチューデントネットワーク220のパラメータ集合を図7のスチューデントネットワークパラメータ記憶部292のような記憶装置に記憶してプログラムの実行を終了するステップ458とを含む。
The program also includes a step 454 that executes the
外側ループ処理456は、訓練データをシャッフルするステップ480と、このシャッフル後の訓練データを用い、全訓練データを処理するまで以下に説明する内側ループ処理484を実行するステップ482とを含む。
The
内側ループ処理484は、訓練データのミニバッチセットからmサンプルのミニバッチをサンプリングするステップ500と、ステップ500でサンプリングされたミニバッチの中で{ティーチャーネットワーク210の訓練データ、開発データ、ラベル}の組を用いて以下の損失関数^LTを最小化するようにティーチャーネットワーク210のパラメータを調整するステップ502とを含む(記号「^」は数式では文字の直上に記載されている「ハット記号」を表す。)。
The
このプログラムはさらに、ステップ500でサンプリングされたミニバッチの中で{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、ラベル}を用いて、以下の損失関数^LSを最小化するようにスチューデントネットワーク220のパラメータを調整するステップ504を含む。
The program further uses {training data for
図18及び図19を参照して、図17の内側ループ処理484について説明する。図17のステップ502では、各ミニバッチの各サンプルについて、ティーチャーネットワーク210の訓練データである発話データ230(サンプルxT)がティーチャーネットワーク210に与えられる。ティーチャーネットワーク210の全結合層ネットワーク216からは出力ベクトル212が出力される。この出力ベクトル212とラベルyとの間で計算される損失関数LTは矢印532が示すように式(7)の一部を構成する。ティーチャーネットワーク210の畳込みブロック218からはuT(xT;ΘT)が出力される。uT(xT;ΘT)は、畳込みブロック218のパラメータ集合がパラメータ集合ΘT、ティーチャーネットワーク210の入力がサンプルxTのときの畳込みブロック218の出力ベクトルを表す。このベクトルは、矢印536で表されるように式(7)の一部を構成する。
18 and 19,
一方、開発データサンプル520(xS)がスチューデントネットワーク220に入力されると、スチューデントネットワーク220からは出力ベクトル522が出力される。出力ベクトル522とラベルyとの間で計算される損失関数LSは、矢印534で示すように式(7)の一部を構成する。
On the other hand, when development data samples 520 (x S ) are input to
また、ティーチャーネットワーク210と同様の構成で、畳込みブロック218に代えて、パラメータ集合ΘTではなくあらかじめ記憶していた初期パラメータ集合Θ0
Tを持つ畳込みブロック528とすることでネットワーク524が得られる。ネットワーク524は特徴抽出部526を含み、特徴抽出部526の最上位の隠れ層は畳込みブロック528である。このネットワーク524は他の点ではティーチャーネットワーク210と同一である。このネットワーク524に発話データ230(xT)を入力する。そのときの畳込みブロック528の出力uT(xT;Θ0
T)は、矢印538で示すように式(7)の一部を構成する。
In addition, with the same configuration as the
こうして得られる式(7)の損失関数が最小化するようにティーチャーネットワーク210のパラメータを調整する。
The parameters of
一方、図19を参照して、スチューデントネットワーク220のパラメータ調整は以下のようにして行われる。ティーチャーネットワーク210に発話データ230(xT)を与える。発話データ230(発話長は4秒)に対応する発話データ232(発話長は2秒)をスチューデントネットワーク220に与える。スチューデントネットワーク220の出力する出力ベクトル222とラベルyとの間で定義される損失関数Lsは、矢印560で示すように式(8)の一部を構成する。同じく、畳込みブロック218の出力ベクトルと畳込みブロック228の出力ベクトルとから第1の実施の形態で用いた損失関数Lktが算出される。この損失関数Lktも、矢印562により示すように式(8)の一部を構成する。
On the other hand, referring to FIG. 19, parameter adjustment of
式8及び式(9)において、λ、γ、及びξはハイパーパラメータであって、これらをいずれも(0、1)の範囲で様々に変化させることで、最適な組合せを実験により求める。
In
<動作>
図16を参照して、ティーチャーネットワーク210及びスチューデントネットワーク220の訓練は第1の実施の形態と同様にティーチャーネットワーク訓練部264、訓練データ変換部266及びスチューデントネットワーク訓練部272により行われる。これらの訓練が終了すると、ティーチャーネットワーク訓練データ記憶部260にはティーチャーネットワーク210が記憶されている。第2の言語識別モデル記憶部270にはスチューデントネットワーク220が記憶されている。
<Action>
Referring to FIG. 16,
この後、対話型モデル調整部410が開発データ記憶部412を用いてさらにティーチャーネットワーク210とスチューデントネットワーク220のパラメータを調整する。開発データ記憶部412にはあらかじめ前述した構成の訓練データが記憶されている。
After that, the interactive
図17を参照して、訓練装置400による言語識別モデルの訓練は、コンピュータを以下のように機能させることで実現される。ステップ320では、ティーチャーネットワーク訓練データを用いて第1の言語識別モデルを構成するティーチャーネットワーク210を訓練する。ステップ450では、ステップ320により訓練されたティーチャーネットワーク210のパラメータセットの中で、最上位層の畳込みブロック218(図18)のパラメータセットΘ0
Tを記憶装置に保存する。さらにステップ322では、スチューデントネットワーク訓練データを用いてスチューデントネットワーク220を訓練する。ステップ452では、ティーチャーネットワーク210及びスチューデントネットワーク220のパラメータ調整に使用する訓練データを、ティーチャーネットワーク訓練データ、スチューデントネットワーク訓練データ、及び開発データ記憶部412に記憶された開発データを用いて訓練データ記憶装置414に準備する。
Referring to FIG. 17, training of the language identification model by
ここでの訓練データは、{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、開発データ、ラベル}の組である。これらの中で{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、ラベル}の組がスチューデントネットワーク220のパラメータ調整に使用され、{ティーチャーネットワーク210の訓練データ、開発データ、ラベル}の組がスチューデントネットワーク220のパラメータ調整に用いられる。
The training data here is a set of {training data of
さらに、ステップ454では、訓練の予定実行数だけ外側ループ処理456を実行する。
Further, in step 454, the
外側ループ処理456のステップ480では、訓練データをシャッフルする。続くステップ482では、このシャッフル後の訓練データを用い、全訓練データを処理するまで以下に説明する内側ループ処理484を実行する。
Step 480 of the
内側ループ処理484のステップ500では、訓練データのミニバッチセットからmサンプルのミニバッチをサンプリングする。続くステップ502において、サンプリングされたミニバッチの中で{ティーチャーネットワーク210の訓練データ、開発データ、ラベル}の組を用いて式(7)に示す損失関数^LTを最小化するようにティーチャーネットワーク210のパラメータを調整する。さらに、続くステップ504において、ステップ500でサンプリングされたミニバッチの中で{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、ラベル}を用いて、式(8)に示す損失関数^LSを最小化するようにスチューデントネットワーク220のパラメータを調整する。
Step 500 of the
以下、全ての訓練データを処理するまで内側ループ処理484が繰返され、さらに訓練の予定実行数だけ外側ループ処理456が繰返される。
The
<実験結果>
この第2の実施の形態に係る訓練装置400により訓練されたスチューデントネットワークの性能を確認するための実験を行った。実験の結果を、第1の実施の形態による訓練装置250及びそのパータ―ベーションによる結果とあわせて図20に示す。ここで、バーターベーションとは、第1の実施の形態による訓練装置において、損失Lktにランダムノイズを重畳させて(Lkt=||UT-US+Noise||)学習させることを意味している。実験によれば、第1の実施の形態による訓練装置の学習時にバーターベーションを行うことにより、精度が若干上がる場合があった。この実験では、図20に示した第1の実施の形態の結果に鑑みて、λ=0.3に設定した上で、γの値を0.1、0.2及び0.3に変化させた。「ValId.」はスチューデントネットワークによる、検証データセットに対する精度(URE%)を示し、「Test」はテストデータセットに対する精度を示す。
<Experimental results>
An experiment was conducted to confirm the performance of the student network trained by the
図20を参照して、この第2の実施の形態では、γ=0.1、0.2及び0.3におけるテストデータに対する言語識別精度は、それぞれ4.78、5.12、及び4.86であった。これらはいずれも第1の実施の形態で最もよい精度(λ=0.3のときの5.28)を上回っている。それだけではなく、パータ―ベーションによる精度(5.17)も上回っている。 Referring to FIG. 20, in this second embodiment, the language identification accuracies for the test data at γ=0.1, 0.2 and 0.3 are 4.78, 5.12 and 4.78, respectively. was 86. All of these exceed the best accuracy (5.28 when λ=0.3) in the first embodiment. Not only that, but it also exceeds the accuracy of perturbation (5.17).
この結果、第2の実施の形態によれば、パータ―ベーションによるように偶然の結果に影響されることなく、一定の手順にしたがうことで高い識別精度を実化するようにスチューデントニューラルネットワークを訓練できることが分かる。 As a result, according to the second embodiment, a student neural network is trained to achieve high discrimination accuracy by following a fixed procedure without being affected by chance results such as perturbation. I know you can.
図21には、第2の実施の形態に係る方法で訓練したスチューデントニューラルネットワーク(ITSL:Interactive Teacher-Student Learning)の言語識別精度(URE%)を、他の方式によるものと比較して表形式で示したものである。比較対象は、ベースライン(DCNN)、第1の実施の形態に係るもの(FRKD)、及び第1の実施の形態に対するパータ―ベーションによるもの(FRKD-P)である。これらの実験では、いずれも発話長4秒の発話を入力とするティーチャーモデルを用いた。ISTLではλ=0.3、γ=0.1、及びξ=0.1に設定した。 FIG. 21 shows the language discrimination accuracy (URE%) of the student neural network (ITSL: Interactive Teacher-Student Learning) trained by the method according to the second embodiment compared with other methods in tabular form. is shown. Comparisons are baseline (DCNN), according to the first embodiment (FRKD), and with perturbation to the first embodiment (FRKD-P). In these experiments, a teacher model with an utterance length of 4 seconds as an input was used. ISTL set λ=0.3, γ=0.1, and ξ=0.1.
図21に示すように、この第2の実施の形態に係るスチューデントモデル(ITSL)では、全ての発話長において他の方式によるものを上回る精度を示した。具体的には、ISTLは、ベースモデルに対して発話長2秒、1.5秒、1.0秒についてそれぞれ30.4%、22.7%及び16.0%の改善を示した。ISTLはまた、FRKDに対してもそれぞれ9.5%、6.1%、及び8.7の改善を示した。FRKD―Pに対しても、ISTLはそれぞれ7.5%、4.6%、及び7.3%の改善を示した。 As shown in FIG. 21, the student model (ITSL) according to the second embodiment exhibits accuracy superior to other methods for all utterance lengths. Specifically, the ISTL showed 30.4%, 22.7% and 16.0% improvement over the base model for speech lengths of 2, 1.5 and 1.0 seconds, respectively. ISTL also showed improvements of 9.5%, 6.1%, and 8.7 for FRKD, respectively. Against FRKD-P, ISTL also showed 7.5%, 4.6%, and 7.3% improvement, respectively.
これらの結果から、この第2の実施の形態に係るスチューデントニューラルネットワークからなる言語識別モデルは、短い発話長の入力に対しても高い精度でその言語を識別できることが分かる。これは、このモデルの畳込みブロック228(図18及び図19を参照)が、短い発話長の入力からロバストな特徴量を抽出できることを示している。したがって、言語識別だけではなく、短い発話長で何らかの判定を行う必要があるタスク、例えば話者認証にも適用できる可能性があることを示す。 From these results, it can be seen that the language identification model consisting of the student's neural network according to the second embodiment can identify the language with high accuracy even for input with a short utterance length. This shows that the convolution block 228 (see FIGS. 18 and 19) of this model can extract robust features from short utterance length inputs. Therefore, we show that it can be applied not only to language identification, but also to tasks that require some kind of judgment with a short utterance length, such as speaker authentication.
[コンピュータによる実現]
この発明の実施の形態に係る訓練装置250及び400並びにそれらによる言語識別モデルの訓練方法は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図22はこのコンピュータシステム630の外観を示し、図23はコンピュータシステム630の内部構成を示す。
[Realization by computer]
The
図22を参照して、このコンピュータシステム630は、メモリポート652及びDVD(Digital Versatile Disk)ドライブ650を有するコンピュータ640と、キーボード646と、マウス648と、モニタ642とを含む。
Referring to FIG. 22, this
図23を参照して、コンピュータ640は、メモリポート652及びDVDドライブ650に加えて、CPU(中央処理装置)656及びGPGPU(汎用画像処理装置)657を含む。コンピュータ640はさらに、CPU656、GPGPU657、メモリポート652及びDVDドライブ650に接続されたバス666と、ブートプログラム等を記憶する読出専用メモリ(ROM)658と、バス666に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ(RAM)660と、ハードディスク654を含む。コンピュータシステム630はさらに、他端末との通信を可能とするネットワーク668への接続を提供するネットワークインターフェイス(I/F)644と、発話信号を音声信号として入出力する機能を持つ音声I/F670とを含む。
Referring to FIG. 23,
コンピュータシステム630を上記した実施の形態に係る訓練装置250又は400の各機能部として、言語識別モデルの訓練方法の各ステップを実行するよう機能させるためのコンピュータプログラムは、DVDドライブ650又はメモリポート652に装着されるDVD662又はリムーバブルメモリ664に記憶され、さらにハードディスク654に転送される。又は、プログラムはネットワーク668を通じてコンピュータ640に送信されハードディスク654に記憶されてもよい。また、キーボード646、マウス648、及びモニタ642とエディタプログラム等を用いてソースプログラムを作成し、コンパイラによりコンパイルしてオブジェクトプログラムをハードディスク654に格納するようにしてもよい。プログラムは実行の際にRAM660にロードされる。DVD662から、リムーバブルメモリ664から又はネットワーク668を介して、直接にRAM660にプログラムをロードしてもよい。
The computer program for causing the
このプログラムは、コンピュータ640を、上記実施の形態に係る訓練装置250又は400として、言語識別モデルの訓練方法の各ステップを実行するよう機能させるための命令列を含む。ティーチャーネットワーク210、スチューデントネットワーク220の訓練において実行される大量の数値演算処理は、CPU656及びGPGPU657を用いて行う(CPU656のみを用いてもよいがGPGPU657を用いる方が高速である。)。コンピュータ640にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ640上で動作するオペレーティングシステム若しくはサードパーティのプログラム、又は、コンピュータ640にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体は、この実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記した訓練装置250として、言語識別モデルの訓練方法の各ステップを実行する機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
This program includes a sequence of instructions for causing the
なお、上記実施の形態では、図10に示すように、ミニバッチ処理の際に同時にティーチャーネットワーク210による値uT(xT;ΘT)を算出している。しかしこの発明はそのような実施の形態には限定されない。この値はスチューデントネットワーク220の訓練処理とは独立計算できる。したがってスチューデントネットワーク220の訓練に先立ち、各サンプルを用いて予め算出しておいてもよい。この場合、この値を記憶装置に記憶しておくことが必要になる。
In the above embodiment, as shown in FIG. 10, the value u T (x T ; Θ T ) is calculated by the
今回開示された実施の形態は単に例示であって、この発明が上記した実施の形態のみに制限されるわけではない。この発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。 The embodiments disclosed this time are merely examples, and the present invention is not limited only to the above-described embodiments. The scope of the present invention is indicated by each claim after taking into account the description of the detailed description of the invention, and all changes within the meaning and range equivalent to the wording described therein include.
40、100 システム
50、110、210 ティーチャーネットワーク
52、62 除算
54、64、68 ソフトマックス層
56 ソフトラベル
60、120、220 スチューデントネットワーク
66 第1の損失関数
70 第2の損失関数
72 ハードラベル
74 合計損失
112 WHint層
114 転送元の隠れ層
122 WGuided層
124 転送先の隠れ層
126 リグレッサ
200 訓練方法
212、222、522 出力ベクトル
214、224、526 特徴抽出部
216、226 全結合層ネットワーク
218、228、528 畳込みブロック
230、232 発話データサンプル
250、400 訓練装置
260 ティーチャーネットワーク訓練データ記憶部
262 第1の言語識別モデル記憶部
264 ティーチャーネットワーク訓練部
266 訓練データ変換部
268 スチューデントネットワーク訓練データ記憶部
270 第2の言語識別モデル記憶部
272 スチューデントネットワーク訓練部
280 ティーチャーネットワークプログラム記憶部
282 ティーチャーネットワークパラメータ記憶部
290 スチューデントネットワークプログラム記憶部
292 スチューデントネットワークパラメータ記憶部
336、338、366 訓練処理
40, 100
Claims (8)
前記第2の発話時間の発話データの各々は、前記第1の発話時間の発話データのいずれかの一部であり、
前記第1のニューラルネットワークは、前記第1の発話時間の発話データを入力として各層の出力を伝搬するように配置された第1の数の畳込み層群と、当該第1の数の畳込み層群の出力を受け、言語識別情報を出力する第1の分類ネットワークとを含み、
前記第2のニューラルネットワークは、前記第2の発話時間の発話データを入力として各層の出力を伝搬するように配置された第2の数の畳込み層群と、当該第2の数の畳込み層群の出力を受け、前記言語識別情報を出力するための第2の分類ネットワークとを含み、
前記第1の数の畳込み層群のある層は、前記第2のニューラルネットワークに対する知識の転送元となる転送元層であり、
前記第2の数の畳込み層群のある層は、前記知識の転送先となる転送先層であり、
前記方法は、
前記第1のニューラルネットワークを動作可能な形式で準備するステップと、
前記第1のニューラルネットワークの訓練を行ったときの前記第1の発話時間の発話データと、前記第1の発話時間の発話データに含まれる前記第2の発話時間の発話データと、当該第1の発話時間の発話データの発話言語を示す言語情報とからなる訓練データを互いに関連付けて含む訓練データを機械読取可能な形式で準備するステップと、
前記訓練データの前記第1の発話時間の発話データが前記第1の数の畳込み層群に入力されたときの前記転送元層の出力と、当該第1の発話時間の発話データと関連付けられた前記第2の発話時間の発話データが前記第2の数の畳込み層群に入力されたときの前記転送先層の出力と、当該第2の発話時間の発話データの言語情報とを少なくとも用いて、前記第2のニューラルネットワークを訓練するステップとを含む、言語識別モデルの訓練方法。 using a first neural network for language discrimination of utterances for a set of a predetermined number of languages, trained on utterance data of a first utterance time, of a second utterance time shorter than the first utterance time; A method for training a language identification model for training a second neural network for language identification of utterances for said set of languages from utterance data, comprising:
each of the utterance data of the second utterance time is any part of the utterance data of the first utterance time;
The first neural network includes a first number of convolutional layer groups arranged to receive the speech data of the first speech time as an input and to propagate the output of each layer, and the first number of convolutional layers. a first classification network that receives the outputs of the layers and outputs language identification information;
The second neural network includes a second number of convolutional layer groups arranged to receive the speech data of the second speech time as an input and propagate the output of each layer, and the second number of convolutional layers. a second classification network for receiving the outputs of the layers and for outputting the language identification;
the layer with the first number of convolutional layers is a transfer source layer from which knowledge is transferred to the second neural network;
the layer with the second number of convolutional layers is a destination layer to which the knowledge is transferred;
The method includes:
preparing the first neural network in operational form;
utterance data of the first utterance time when training the first neural network; utterance data of the second utterance time included in the utterance data of the first utterance time; preparing training data in a machine-readable format including training data consisting of linguistic information indicating the uttered language of the utterance data of the utterance time of and associated with each other;
When the utterance data of the first utterance time of the training data is input to the first number of convolutional layers, the output of the transfer source layer is associated with the utterance data of the first utterance time. at least the output of the transfer destination layer when the utterance data of the second utterance time is input to the second number of convolutional layers, and the linguistic information of the utterance data of the second utterance time and training the second neural network using the language discrimination model.
前記訓練データの前記第1の発話時間の発話データxTが前記第1の数の畳込み層群に入力されたときの前記転送元層の出力uT(xT;ΘT)、ただしΘTは前記転送元層のパラメータ集合を表す、を算出するステップと、
前記発話データxTに関連する前記第2の発話時間の発話データxSが前記第2の数の畳込み層群に入力されたときの前記転送先層の出力uS(xS;ΘS)、ただしΘSは前記転送先層のパラメータ集合を表す、を算出するステップと、
前記転送先層において以下の損失関数LFRKDを算出するステップと、
前記発話データxSが与えられたときの前記第2のニューラルネットワークの出力と、当該発話データxSに関連付けられた前記言語情報yとを用いて誤差逆伝播法により前記第2のニューラルネットワークのパラメータを更新するステップとを含む、請求項1~請求項3のいずれかに記載の言語識別モデルの訓練方法。 The step of training the second neural network comprises:
Output u T (x T ; Θ T ) of the source layer when the utterance data x T of the first utterance time of the training data is input to the first number of convolutional layers, where Θ T represents the parameter set of the source layer;
Output u S (x S ; Θ S of the destination layer when the speech data x S of the second speech time related to the speech data x T is input to the second number of convolutional layers ), where Θ S represents the parameter set of the destination layer;
calculating the following loss function L FRKD at the destination layer;
Using the output of the second neural network when the utterance data xS is given and the linguistic information y associated with the utterance data xS , the error backpropagation method is used to run the second neural network. and updating the parameters.
前記第2の発話時間の発話データの各々は、前記第1の発話時間の発話データのいずれかの一部であり、
前記第1のニューラルネットワークは、前記第1の発話時間の発話データを入力として各層の出力を伝搬するように配置された第1の数の畳込み層群と、当該第1の数の畳込み層群の出力を受け、言語識別情報を出力する第1の分類ネットワークとを含み、
前記第2のニューラルネットワークは、前記第2の発話時間の発話データを入力として各層の出力を伝搬するように配置された第2の数の畳込み層群と、当該第2の数の畳込み層群の出力を受け、前記言語識別情報を出力するための第2の分類ネットワークとを含み、
前記第1の数の畳込み層群のある層は、前記第2のニューラルネットワークに対する知識の転送元となる転送元層であり、
前記第2の数の畳込み層群のある層は、前記知識の転送先となる転送先層であり、
前記装置は、
前記第1のニューラルネットワークを動作可能な形式で記憶するモデル記憶装置と、
前記第1のニューラルネットワークの訓練を行ったときの前記第1の発話時間の発話データと、前記第1の発話時間の発話データに含まれる前記第2の発話時間の発話データと、当該第2の発話時間の発話データの発話言語を示す言語情報とからなる訓練データを互いに関連付けて含む訓練データを機械読取可能な形式で記憶する訓練データ記憶装置と、
前記訓練データの前記第1の発話時間の発話データが前記第1の数の畳込み層群に入力されたときの前記転送元層の出力と、当該第1の発話時間の発話データと関連付けられた前記第2の発話時間の発話データが前記第2の数の畳込み層群に入力されたときの前記転送先層の出力と、当該第2の発話時間の発話データの言語情報とを少なくとも用いて、前記第2のニューラルネットワークを訓練するための訓練手段とを含む言語識別モデルの訓練装置。 using a first neural network for language discrimination of utterances for a set of a predetermined number of languages, trained on utterance data of a first utterance time, of a second utterance time shorter than the first utterance time; An apparatus for training a language identification model for training, from speech data, a second neural network for language identification of utterances for said set of languages, comprising:
each of the utterance data of the second utterance time is any part of the utterance data of the first utterance time;
The first neural network includes a first number of convolutional layer groups arranged to receive the speech data of the first speech time as an input and to propagate the output of each layer, and the first number of convolutional layers. a first classification network that receives the outputs of the layers and outputs language identification information;
The second neural network includes a second number of convolutional layer groups arranged to receive the speech data of the second speech time as an input and propagate the output of each layer, and the second number of convolutional layers. a second classification network for receiving the outputs of the layers and for outputting the language identification ;
the layer with the first number of convolutional layers is a transfer source layer from which knowledge is transferred to the second neural network;
the layer with the second number of convolutional layers is a destination layer to which the knowledge is transferred;
The device comprises:
a model storage device storing the first neural network in operable form;
utterance data of the first utterance time when training the first neural network; utterance data of the second utterance time included in the utterance data of the first utterance time; a training data storage device for storing, in a machine-readable format, training data including language information indicating an utterance language of the utterance data of the utterance time of and training data associated with each other;
When the utterance data of the first utterance time of the training data is input to the first number of convolutional layers, the output of the transfer source layer is associated with the utterance data of the first utterance time. at least the output of the transfer destination layer when the utterance data of the second utterance time is input to the second number of convolutional layers, and the linguistic information of the utterance data of the second utterance time training means for training said second neural network using said language discrimination model training apparatus.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018161489 | 2018-08-30 | ||
JP2018161489 | 2018-08-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020038343A JP2020038343A (en) | 2020-03-12 |
JP7282363B2 true JP7282363B2 (en) | 2023-05-29 |
Family
ID=69737911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019086005A Active JP7282363B2 (en) | 2018-08-30 | 2019-04-26 | Language discrimination model training method and apparatus, and computer program therefor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7282363B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111832514B (en) * | 2020-07-21 | 2023-02-28 | 内蒙古科技大学 | Unsupervised pedestrian re-identification method and unsupervised pedestrian re-identification device based on soft multiple labels |
CN111816159B (en) * | 2020-07-24 | 2022-03-01 | 腾讯科技(深圳)有限公司 | Language identification method and related device |
CN113160801B (en) * | 2021-03-10 | 2024-04-12 | 云从科技集团股份有限公司 | Speech recognition method, device and computer readable storage medium |
CN114283402B (en) * | 2021-11-24 | 2024-03-05 | 西北工业大学 | License plate detection method based on knowledge distillation training and space-time combined attention |
CN117252213A (en) * | 2023-07-06 | 2023-12-19 | 天津大学 | End-to-end speech translation method using synthesized speech as supervision information |
CN117765214A (en) * | 2024-02-21 | 2024-03-26 | 飞狐信息技术(天津)有限公司 | 3D digital lip real-time driving method, device, terminal and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018126213A1 (en) | 2016-12-30 | 2018-07-05 | Google Llc | Multi-task learning using knowledge distillation |
-
2019
- 2019-04-26 JP JP2019086005A patent/JP7282363B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018126213A1 (en) | 2016-12-30 | 2018-07-05 | Google Llc | Multi-task learning using knowledge distillation |
Non-Patent Citations (2)
Title |
---|
SHEN, Peng et al.,Feature Representation of Short Utterances based on Knowledge Distillation for Spoken Language Identification,Interspeech 2018,2018年09月06日 |
SHEN, Peng et al.,INTERACTIVE LEARNING OF TEACHER-STUDENT MODEL FOR SHORT UTTERANCE SPOKEN LANGUAGE IDENTIFICATION,ICASSP 2019,2019年04月17日 |
Also Published As
Publication number | Publication date |
---|---|
JP2020038343A (en) | 2020-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7282363B2 (en) | Language discrimination model training method and apparatus, and computer program therefor | |
CN110136693B (en) | System and method for neural voice cloning using a small number of samples | |
Lokesh et al. | An automatic tamil speech recognition system by using bidirectional recurrent neural network with self-organizing map | |
US11222621B2 (en) | Variational embedding capacity in expressive end-to-end speech synthesis | |
Mehrish et al. | A review of deep learning techniques for speech processing | |
van Niekerk et al. | A comparison of discrete and soft speech units for improved voice conversion | |
US11392833B2 (en) | Neural acoustic model | |
JP6911208B2 (en) | Speaking style transfer | |
US20200410976A1 (en) | Speech style transfer | |
Hashimoto et al. | Trajectory training considering global variance for speech synthesis based on neural networks | |
US20220238116A1 (en) | A Method Of Sequence To Sequence Data Processing And A System For Sequence To Sequence Data Processing | |
Deng et al. | Foundations and Trends in Signal Processing: DEEP LEARNING–Methods and Applications | |
JP2023553993A (en) | Unsupervised learning of disentangled utterance content and style expressions | |
CN114021524A (en) | Emotion recognition method, device and equipment and readable storage medium | |
Poncelet et al. | Low resource end-to-end spoken language understanding with capsule networks | |
Swain et al. | A DCRNN-based ensemble classifier for speech emotion recognition in Odia language | |
Yeh et al. | Speech Representation Learning for Emotion Recognition Using End-to-End ASR with Factorized Adaptation. | |
Wu et al. | Speech synthesis with face embeddings | |
Baas et al. | StarGAN-ZSVC: Towards zero-shot voice conversion in low-resource contexts | |
Daouad et al. | An automatic speech recognition system for isolated Amazigh word using 1D & 2D CNN-LSTM architecture | |
Shinozaki et al. | Automated development of dnn based spoken language systems using evolutionary algorithms | |
Mohanty et al. | Voiced odia digit recognition using convolutional neural network | |
CN113270091A (en) | Audio processing system and method | |
Zhang et al. | A Non-Autoregressivee Network for Chinese Text to Speech and Voice Cloning | |
Kaewprateep et al. | Evaluation of small-scale deep learning architectures in Thai speech recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220314 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230110 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230224 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230411 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7282363 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |