JP2020038343A - 言語識別モデルの訓練方法及び装置、並びにそのためのコンピュータプログラム - Google Patents

言語識別モデルの訓練方法及び装置、並びにそのためのコンピュータプログラム Download PDF

Info

Publication number
JP2020038343A
JP2020038343A JP2019086005A JP2019086005A JP2020038343A JP 2020038343 A JP2020038343 A JP 2020038343A JP 2019086005 A JP2019086005 A JP 2019086005A JP 2019086005 A JP2019086005 A JP 2019086005A JP 2020038343 A JP2020038343 A JP 2020038343A
Authority
JP
Japan
Prior art keywords
utterance
data
training
layer
network
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.)
Granted
Application number
JP2019086005A
Other languages
English (en)
Other versions
JP7282363B2 (ja
Inventor
鵬 沈
Peng Shen
鵬 沈
シュガン ルー
Xugang Lu
シュガン ルー
勝 李
Sheng Li
勝 李
恒 河井
Hisashi Kawai
恒 河井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Publication of JP2020038343A publication Critical patent/JP2020038343A/ja
Application granted granted Critical
Publication of JP7282363B2 publication Critical patent/JP7282363B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

【課題】短い発話でも高い精度で発話言語を認識できるよう発話言語認識モデルを訓練する。【解決手段】 この方法は、第1の発話時間の発話データで訓練済の第1のニューラルネットワーク(NN)を準備するステップと、第1の発話時間の発話データと、その発話データに含まれる第2の発話時間の発話データと、言語情報とからなる訓練データを含む訓練データを準備するステップと、第1の発話時間の発話データが第1のNNに入力されたときの、第1のNN内の知識の転送元層の出力と、この発話データと関連付けられた第2の発話時間の発話データが第2のNNに入力されたときの第2のNN内の転送先層の出力と、当該第2の発話時間の発話データの言語情報とを少なくとも用いて、前記第2のNNの訓練を行うステップとを含む。【選択図】図6

Description

この発明は音声言語識別技術に関し、特に、ニューラルネットワークを使用して短時間の発話データから発話の言語を識別するためのモデルの訓練技術に関する。
発話言語識別(LID)は、発話がどの言語でなされているかを識別する技術である。発話言語識別は音声言語翻訳、多言語音声認識等、幅広い多言語発話処理システムの前処理として機能することが多い。こうした応用の多くにおいて、発話言語識別技術はリアルタイムに動作することが前提とされており、したがって短い発話のみに基づいて高い信頼性で発話言語を識別することが非常に重要である。
最近では、発話言語識別技術は幅広く研究され、発展を遂げている。例えば、サポートベクタマシン、確率的線形識別分析(PLDA)、及び深層ニューラルネットワーク等の従来の分類器を用いたi−ベクタ技術はその有効性が確認され、様々なシステム、特に比較的長い発話に対するタスクにおいて最先端の性能を示している。しかし、短い発話に対する発話言語識別では、i−ベクタを用いた方式では性能がしばしばひどく劣化することが知られている。
一方、最近はまた、畳込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、及びアテンションを用いたニューラルネットワーク等によるEnd-to-End型の手法を音声言語識別に用いる試みがされている(後掲の非特許文献1、2及び3)。短い発話に対する音声言語認識では、End-to-End型の手法はi−ベクタを用いた手法と比較してより高い性能を示すことがわかってきた。しかし、短い発話は、長い発話と比較してバリエーションが大きく、モデルの汎化が難しい。したがって、短い発話に対しても十分な汎化を可能とすることが求められている。
A. Lozano-Diez, R. Zazo Candil, J. G. Dominguez, D. T. Toledano and J. G. Rodriguez, "An end-to-end approach to language identification in short utterances using convolutional neural networks," in Proc. of Interspeech, 2015. S. Fernando, V. Sethu, E. Ambikairajah and J. Epps, "Bidirectional Modelling for Short Duration Language Identification," in Proc. of Interspeech, 2017. W. Geng, W. Wang, Y. Zhao, X. Cai and B. Xu, "End-to-End Language Identification Using Attention-Based Recurrent Neural Networks," in Proc. of Interspeech, 2016. G. Hinton, O. Vinyals and J. Dean, "Distilling the knowledge in a neural network," arXiv preprint arXiv:1503.02531, 2015. A. Romero, N. Ballas, S. E. Kahou, A. Chassang, C. Gatta and Y. Bengio, "Fitnets: Hints for thin deep nets," in Proc. of ICLR, 2015.
一方、知識蒸留(Knowledge Distillation。以下「KD」という。)という手法が非特許文献4で提案されている。この手法は、知識の圧縮方法ということができる。図1を参照して、この手法によるシステム40では、コンパクトなスチューデントネットワーク60を、より複雑で高性能なティーチャーネットワーク50の出力を用いて訓練する。ティーチャーネットワーク50は高精度で動作可能ではあるが、構成が複雑で構成要素が多いため動作に時間がかかり、リアルタイムの処理には向かない。一方、スチューデントネットワーク60はティーチャーネットワーク50と比較して層の数及び各層を構成するニューロンの数が少なく、ティーチャーネットワーク50より高速に動作する。しかしスチューデントネットワーク60は構成がシンプルであるだけに、通常の手法での訓練では十分な性能を示すことができない。こうした問題に対し、非特許文献4では、ティーチャーネットワーク50が持つ言語認識の知識を用いた知識蒸留によりスチューデントネットワーク60を訓練する手法が開示されている。
非特許文献4に開示された手法の概略は以下のとおりである。図1を参照して、ティーチャーネットワーク50を通常の手法により訓練する。
すなわち、ティーチャーネットワーク50のための訓練データを準備する。訓練データを構成する各訓練サンプルは、一定発話時間の発話データと、その発話の言語を示すラベルからなる。訓練時には、ティーチャーネットワーク50の入力にこの発話データを表す行列xが入力される。一方、その行列xの言語を表すベクトルがハードラベルとしてティーチャーネットワーク50の出力に与えられる。このハードラベルのベクトルは、識別対象の言語の数だけの要素を持つワンホットベクトルである。ティーチャーネットワーク50はこうした訓練データを用いて通常の誤差逆伝播法により訓練される。
ティーチャーネットワーク50を用いたスチューデントネットワーク60の訓練は以下のように行われる。スチューデントネットワーク60を訓練するための訓練サンプルは、ティーチャーネットワーク50を訓練するときの訓練データと同じ訓練データ(発話データと言語識別のラベル)と、その訓練サンプルの発話データをティーチャーネットワーク50に入力したときにティーチャーネットワーク50が出力するラベル(ソフトラベルと呼ぶ。)とである。訓練サンプルの発話データxに対してティーチャーネットワーク50が出力する値は最終的にソフトマックス層54で要素数K個のベクトルとして出力される。各要素は、発話がその要素に対応する言語の発話である確率を表す。発話データxが入力されたときのティーチャーネットワーク50の出力ベクトルをベクトルz(x)とし、ベクトルz(x)のi番目の要素をz(x)、ソフトマックス層54の出力ベクトルqのi番目の要素をqとすると、非特許文献4では両者の間に以下のような関係をもたせる。
このとき、ソフトマックス層54の出力するラベルの値を「ソフト化」するために、ティーチャーネットワーク50の出力層が出力する値を「温度」と呼ばれる値Tで除算52してソフトマックス層54への入力とする。温度Tは通常は1であるが、温度Tが大きくなると、ソフトマックス層54の値の出力分布がある程度ならされる(ソフト化される)。
このソフトラベルを用いたスチューデントネットワーク60の訓練は以下のように行われる。訓練サンプルの発話データxがスチューデントネットワーク60に入力される。このときのスチューデントネットワーク60の最終層の出力値に対して、以下の2通りの損失(第1の損失66及び第2の損失70)を計算し、両者の加重和により最終的な合計損失74を計算する。この合計損失74が0に近づくよう、誤差逆伝播法によってスチューデントネットワーク60のパラメータを更新する。
すなわち、一方では、発話データxの言語を表すワンホットベクトルからなるハードラベル72と、スチューデントネットワーク60の出力にソフトマックス層68を適用して得た出力ベクトルとを用いて、クロスエントロピー(CE)による第2の損失70を算出する。他方では、スチューデントネットワーク60の出力をティーチャーネットワーク50のソフトラベル計算に用いた温度Tを用いて除算62し、さらにこの値を入力とするソフトマックス層64の出力と、ティーチャーネットワーク50から得たソフトラベル56とから、第1の損失66を計算する。この第2の損失70と第1の損失66との加重和が合計損失74である。合計損失をLKDとし、LKDを式で表すと以下のようになる。
ここでLhardが第2の損失70であり、Lsoftが第1の損失66を表す。λはハード損失とソフト損失とをバランスさせるための重みである。Nは訓練サンプルの数を表す。yはハードラベルを表す要素数Kのワンホットベクトルである。
ここでは、クロスエントロピーを用いて、ソフト損失(第1の損失66)と、訓練サンプルの発話データxに対するハード損失(第2の損失70)とを以下の式により算出する。
ここで、p(x)は各クラスに対してスチューデントモデルが出力する確率を要素とするK次元ベクトルであり、y及びqはそれぞれ、ベクトルy及びqに対する転置を表す。図1から明らかなように、ソフト損失を算出する際にもティーチャーネットワークの処理と同様、スチューデントネットワーク60の出力は温度Tで除算62された後にソフトマックス層64に与えられる。
一方、このKDに触発された技術であって、非特許文献5に開示されたFitNetsと呼ばれる技術がある。非特許文献5に開示されたネットワークの訓練方法について、図2から図5を参照して説明する。図2を参照して、このシステム100は、訓練済のティーチャーネットワーク110を用いて、ティーチャーネットワーク110より層の数は多いが、各層のニューロン数が少ないスチューデントネットワーク(非特許文献5ではFitNetと呼ばれている。)120を訓練する。非特許文献5では、ニューラルネットワークの層の数が多いほど柔軟に処理できるという特性を利用するため、この図2に示すようにスチューデントネットワーク120の層の数がティーチャーネットワーク110の層の数より多いことが前提とされている。ただしスチューデントネットワーク120の各隠れ層内のニューロン数はティーチャーネットワーク110のものより少ない。すなわち、スチューデントネットワーク120は全体としてティーチャーネットワーク110より「スリム」なネットワークである。
非特許文献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と呼ぶ。
また、ティーチャーネットワーク110の隠れ層のニューロン数がスチューデントネットワーク120のニューロン数より多いため、図3に示すように、転送先の隠れ層124を含むWGuided層の直後に、転送先の隠れ層124の出力数と等しい数の入力を持ち、転送元の隠れ層114を含むWHint層112の出力数と等しい数の出力を持つリグレッサ126を設ける。
図3に示すように、非特許文献5の技術では、転送先の隠れ層124を含むWGuided層122のパラメータWGuidedとリグレッサ126のパラメータWrとにより定義される損失LHTを最小化するようにWGuidedの値を学習し、さらに図4に示すようにスチューデントネットワーク120の出力に対して定義される損失LKDを最小化するよう、非特許文献4のKD手法を用いてスチューデントネットワーク120を訓練する。
より詳細には、図2〜図4及び図5を参照して、スチューデントネットワーク120の訓練は以下のようにして行われる。図2のティーチャーネットワーク110のWHint層112に対応して準備されたパラメータ集合WHintに、訓練済のティーチャーネットワーク110のパラメータ集合の中で、第1層から第h層までのパラメータ集合{W ,…,W }を代入する(ステップ140)。また、スチューデントネットワーク120のパラメータ集合の中で、第1層から第g層までのパラメータ集合に対応して準備されたパラメータ集合WGuidedに、ランダムに初期化したスチューデントネットワーク120のパラメータ集合{W ,…,W }を代入する(ステップ142)。ここで、パラメータ集合WGuidedは隠れ層WGuided 1,…,WGuided gを含む。
ステップ144でリグレッサ126のパラメータ集合Wrを、ランダムに選んだ小さな値で初期化する。ステップ146で以下の式によりWGuidedに対応するパラメータ集合W*Guidedの値を計算する。パラメータ集合W*Guidedは隠れ層WGuided *1,…,WGuided *gを含む。
続くステップ148で、上の式により計算されたWGuidedの各隠れ層WGuided *1,…,WGuided *gの値をスチューデントネットワーク120の隠れ層{W ,…,W }に代入する。以上でスチューデントネットワーク120の第1段階の訓練は終了である。
このようにしてスチューデントネットワーク120の第1段階の訓練が終了した後、ステップ150でスチューデントネットワーク120に対するKDの学習が次式により実行される。
上記非特許文献5に記載された技術は、ティーチャーネットワーク110よりも層数の多いスリムなスチューデントネットワーク120を、訓練済のティーチャーネットワーク110のパラメータを使用して訓練することにより、スチューデントネットワーク120の精度を高くできるという意味で有用である。スチューデントネットワーク120はティーチャーネットワーク110よりも層の数は多いが、各層に含まれるニューロンの数は少なく、したがって高い精度を保ちながら比較的高速に動作する。
しかし、非特許文献5に記載された技術を用いた場合では、訓練済のティーチャーネットワークのパラメータを用いてスチューデントネットワークの第1段階の訓練を行った後、さらにティーチャーネットワークの出力を用いてスチューデントネットワークの第2段階の訓練を行う必要があり、処理が複雑であるという問題がある。しかも、短い発話(例えば4秒未満)の場合にはやはり精度が落ち、発話が短くなるほど精度の劣化が甚だしくなるという問題がある。
したがってこの発明は、発話が短くても高い精度で発話言語を認識できるような発話言語認識モデルの訓練方法を提供することである。
この発明の第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のニューラルネットワークを訓練するステップとを含む。
好ましくは、転送元層のニューロン数は、転送先層のニューロン数と同じである。
より好ましくは、転送元層は第1の数の畳込み層群の最上位層であり、転送先層は、第2の数の畳込み層群の最上位層である。
さらに好ましくは、第2のニューラルネットワークを訓練するステップは、訓練データの第1の発話時間の発話データxが第1の数の畳込み層群に入力されたときの転送元層の出力u(x;Θ)、ただしΘは転送元層のパラメータ集合を表す、を算出するステップと、発話データxに関連する第2の発話時間の発話データxが第2の畳込み層群に入力されたときの転送先層の出力u(x;Θ)、ただしΘは転送先層のパラメータ集合を表す、を算出するステップと、転送先層において以下の損失関数LFRKDを算出するステップと、
(ただしλは重み係数、Lhard(x,y)は、前記第2のニューラルネットワークに発話データxが与えられたときの前記第2のニューラルネットワークの出力と、当該発話データxに関連付けられた前記言語情報yとの間に定義される損失関数)発話データxが与えられたときの第2のニューラルネットワークの出力と、当該発話データxに関連付けられた言語情報とを用いて誤差逆伝播法により第2のニューラルネットワークのパラメータを更新するステップとを含む。
好ましくは、この言語識別モデルの訓練方法はさらに、訓練データセット及び開発データセットを用いて、第1のニューラルネットワークのパラメータと、第2のニューラルネットワークのパラメータとを、開発データセットの入力に対する第2のニューラルネットワークの出力の誤差、訓練データセットに対する第1のニューラルネットワークの誤差、及び訓練データセットに対する第2のニューラルネットワークの誤差とを用いて定義される損失関数を最小化するよう、対話型で調整する対話型パラメータ調整ステップを含む。
より好ましくは、対話型パラメータ調整ステップは、訓練データセット及び開発データセットから抽出されたミニバッチデータセットを用いて、開発データセットの入力に対する第2のニューラルネットワークの出力の誤差と、訓練データセットに対する第1のニューラルネットワークとの誤差とを用いて定義される第1の誤差関数を最小化するよう、第1のニューラルネットワークのパラメータを調整する第1の調整ステップと、訓練データセットから抽出されたミニバッチデータセットに対する第2のニューラルネットワークの誤差を用いて定義される第2の損失関数を最小化するよう、第2のニューラルネットワークのパラメータを調整する第2の調整ステップと、第1の調整ステップ及び第2の調整ステップを、ミニバッチデータセットを変化させながら訓練データセット及び開発データセットに対して所定の終了条件が成立するまで交互に繰返すステップとを含む。
第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の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかの装置の各手段として機能させる。
非特許文献4に開示されたスチューデントネットワーク60の訓練方法の概略を示す模式図である。 非特許文献5に開示されたティーチャーネットワークとスチューデントネットワークの概略構成を模式的に示す図である。 非特許文献5におけるスチューデントネットワークの第1段階の訓練方法を模式的に説明する図である。 非特許文献5におけるスチューデントネットワークの第2段階の訓練方法を模式的に説明する図である。 非特許文献5におけるスチューデントネットワークの訓練を実現するプログラムの制御構造の概略を示すフローチャートである。 この発明の第1の実施の形態に係る発話言語識別モデルの訓練方法の概略を模式的に示す図である。 この発明の第1の実施の形態に係る発話言語識別モデルの訓練方法を実現する訓練装置の構成を示すブロック図である。 この発明の第1の実施の形態に係る発話言語識別モデルの訓練方法を実現するようコンピュータを機能させるコンピュータプログラムの制御構造を示すフローチャートである。 図8に示すプログラムの一部の制御構造を示すフローチャートである。 図8に示すプログラムの一部の制御構造を示すフローチャートである。 実験で使用した各言語の訓練データの概要を表形式で示す図である。 実験で使用したティーチャーネットワークの構成を示す図である。 実験で使用したスチューデントネットワークの構成を示す図である。 実験の結果を条件に応じて対比して表形式で示す図である。 この発明の第1の実施の形態に係る発話言語識別モデルにおいて抽出された特徴量の分布を、ベースライン、ティーチャーモデル、及び従来技術を用いたモデルにおける特徴量の分布と対比して示す図である。 第2の実施の形態に係る訓練装置の概略構成を示すブロック図である。 コンピュータを、第2の実施の形態に係る訓練装置として機能させるプログラムの制御構造を示すフローチャートである。 第2の実施の形態に係る訓練装置での、ティーチャーネットワークのパラメータ調整の手順を模式的に示す図である。 第2の実施の形態に係る訓練装置での、スチューデントネットワークのパラメータ調整の手順を模式的に示す図である。 第2の実施の形態に係る訓練装置に関する実験結果を、従来技術及び第1の実施の形態に係る訓練装置の実験結果とあわせて表形式で示す図である 第2の実施の形態に係る訓練装置について、異なる発話長に対する精度を確認する実験結果を、従来技術及び第1の実施の形態に係る訓練装置の実験結果とあわせて表形式で示す図である。 この発明の各実施の形態に係る発話言語識別モデルの訓練方法を実現するコンピュータシステムの外観図である。 図22に示すコンピュータシステムのハードウェア構成を示すブロック図である。
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
[第1の実施の形態]
<構成>
[訓練の概略]
図6に、この発明の第1の実施の形態に係る発話言語識別モデルの訓練方法200の構成の概略を示す。図6を参照して、この実施の形態に係る訓練方法200は、訓練済のティーチャーネットワーク210を用いてスチューデントネットワーク220を訓練する。
ティーチャーネットワーク210は、この実施の形態では発話時間が4秒の発話データ230からなる訓練データを用いて訓練され、4秒の発話データの入力に応答して、その発話データの言語が所定数(例えば10個)の言語の中のいずれであるかを示す出力ベクトル212を出力するように訓練される。この訓練自体には通常の手法が用いられる。この訓練に用いられる訓練サンプルは、4秒の発話データとその発話データの発話言語が何かを表すラベルとを含む。
ティーチャーネットワーク210は、各々が畳込みブロックからなる複数の隠れ層を含む特徴抽出部214と、特徴抽出部214の出力する特徴量に基づいて発話言語を分類し出力ベクトル212を出力するための2層の全結合層からなる全結合層ネットワーク216とを含む。全結合層ネットワーク216の最終ステージには図示しないsoftmax層が存在する。このように複数の畳込みブロックを含む深層ニューラルネットワーク(Deep Convolution Neural Network)を以下「DCNN」と呼ぶ。
特徴抽出部214は複数の畳込みブロックを含むが、本実施の形態ではその最上位層の畳込みブロック218が訓練で獲得した特徴抽出に関する知識を後述のような方法でスチューデントネットワーク220に転送する。この知識は畳込みブロック218の出力という形で表される。
スチューデントネットワーク220は、ティーチャーネットワーク210と同様、DCNNからなる。スチューデントネットワーク220は、発話データ230より短い2秒という発話時間の発話データ232を含む訓練データと、ティーチャーネットワーク210の畳込みブロック218のパラメータとを用いて訓練され、2秒の発話時間の発話データの入力に応答して、ティーチャーネットワーク210の出力ベクトル212と同様、入力された発話データによる発話が10言語の中のどの言語で発話されたかを示す出力ベクトル222を出力するためのものである。
スチューデントネットワーク220は、ティーチャーネットワーク210の特徴抽出部214と同様、複数の畳込みブロックを含む特徴抽出部224と、特徴抽出部224の出力する特徴量に基づいて入力発話の分類を行い、出力ベクトル222を出力するための2層の全結合層からなる全結合層ネットワーク226とを含む。なお、全結合層ネットワーク226は、最終層に図示しないsoftmax層を含む。
特徴抽出部224も複数の畳込みブロックを含むが、この実施形態ではその最上位の階層の畳込みブロック228に、畳込みブロック218の知識を転送する。したがって、畳込みブロック228のニューロン数は、畳込みブロック218のニューロン数と同じである。一方、スチューデントネットワーク220への入力の発話長はティーチャーネットワーク210への入力の発話長の半分であるため、スチューデントネットワーク220の最下段の畳込み層のニューロン数はティーチャーネットワーク210の最下段のニューロンの半分である。同様に、特徴抽出部224内の一部畳込みブロックのニューロンは、特徴抽出部214内の各畳込みブロックのニューロンより少ない。こうした構成によりスチューデントネットワーク220はティーチャーネットワーク210より高速に動作可能である。
[発話言語識別モデルの訓練装置]
図7にこの実施の形態に係る発話言語識別モデルの訓練方法を実現する訓練装置の概略構成をブロック図形式で示す。図7を参照して、この訓練装置250は、ティーチャーネットワーク210の訓練に用いる訓練サンプルを含む訓練データを記憶するためのティーチャーネットワーク訓練データ記憶部260と、ティーチャーネットワーク210を、動作可能な形式で記憶するための第1の言語識別モデル記憶部262と、ティーチャーネットワーク訓練データ記憶部260に記憶された訓練データを用いて第1の言語識別モデル記憶部262に記憶されたティーチャーネットワーク210を通常の誤差逆伝播法を用いて訓練するためのティーチャーネットワーク訓練部264とを含む。各訓練サンプルは、この実施の形態では例えば発話時間4秒の発話データとその発話の言語を識別する言語ラベルとを含む。
第1の言語識別モデル記憶部262は、ティーチャーネットワーク210が実現する関数のアルゴリズムを規定するプログラムを記憶するためのティーチャーネットワークプログラム記憶部280と、このアルゴリズムが実現する関数の振る舞いを決定するパラメータ及びティーチャーネットワーク210の構成を規定するハイパーパラメータを記憶するためのティーチャーネットワークパラメータ記憶部282とを含む。ここでいうハイパーパラメータは、ネットワークの層数、各畳込み層が使用するフィルタサイズ及びその数、マックスプーリングの際のウィンドウサイズ及びそのストライド等の情報を含む。
訓練装置250はさらに、ティーチャーネットワーク訓練データ記憶部260に記憶された訓練サンプルの各々を変換して発話時間2秒の発話データと元の4秒の発話データとを含む訓練サンプルを出力するための訓練データ変換部266と、訓練データ変換部266の出力する訓練サンプルを機械可読な形式で記憶するためのスチューデントネットワーク訓練データ記憶部268とを含む。発話時間2秒の発話データの各々は、その元になった発話時間4秒の発話データと関連付けられている。
訓練データ変換部266は、例えばティーチャーネットワーク訓練データ記憶部260に記憶された各訓練サンプルの4秒の発話データを発話時間2秒ずつの発話データに分割し、分割して得られた2つの発話データの各々と元の4秒の発話データとを互いに関連付けて組合わせ、さらに元の訓練サンプルのラベルを付すことで新しい訓練サンプルを生成する。すなわち、ティーチャーネットワーク210の訓練サンプル1つからはスチューデントネットワーク220の訓練サンプルが2つ得られ、各訓練サンプルは、2秒の発話データと、その発話データの元となった4秒の発話データと、その発話データの言語を示すラベルとを含む。このように、短い時間の発話データが長い時間の発話データの約数となっていると、短い時間の発話データの生成上では都合がよい。ただし、この発明はそのような実施の形態には限定されず、短い発話時間が長い発話時間の約数でなくてもよい。
訓練装置250はさらに、スチューデントネットワーク訓練データ記憶部268に記憶されたスチューデントネットワーク220の訓練データ及び第1の言語識別モデル記憶部262に記憶されたティーチャーネットワーク210からなる言語識別モデルを用いて、後述する訓練方法によりスチューデントネットワーク220を訓練するためのスチューデントネットワーク訓練部272と、スチューデントネットワーク220を記憶するための第2の言語識別モデル記憶部270とを含む。
第2の言語識別モデル記憶部270は、スチューデントネットワーク220が実現する関数のアルゴリズムを規定するプログラムを記憶するためのスチューデントネットワークプログラム記憶部290と、このアルゴリズムが実現する関数の振る舞いを決定するパラメータ及びスチューデントネットワーク220の構成を規定するハイパーパラメータを記憶するためのスチューデントネットワークパラメータ記憶部292とを含む。
図8−図10は、図7に示すスチューデントネットワーク訓練部272として機能するようコンピュータを制御するコンピュータプログラムの制御構造を示すフローチャートである。図8を参照して、このプログラムは、ティーチャーネットワーク210用の訓練データを用いてティーチャーネットワーク210を訓練するステップ320と、訓練済のティーチャーネットワーク210とハードラベルとを用いてスチューデントネットワークを訓練するステップ322とを含む。
図9に、図8のステップ320の詳細を示す。図9を参照して、このプログラムは、ティーチャーネットワーク210の訓練データを準備するステップ330と、ティーチャーネットワーク210のパラメータ集合を初期化するステップ332と、訓練の予定実行数だけ訓練処理336を繰返すステップ334と、ステップ334の結果得られたティーチャーネットワーク210のパラメータ集合をティーチャーネットワークパラメータ記憶部282(図7)に保存してこの処理を終了する訓練処理338とを含む。
訓練処理336は、訓練データセットからmサンプルのミニバッチをサンプリングするステップ350と、ティーチャーネットワーク210にミニバッチの音声データを入力したときのティーチャーネットワーク210の出力を訓練データ内のハードラベルとの差を算出するステップ352と、ミニバッチに対して算出される以下の損失関数L(x,y)を最小化するようティーチャーネットワーク210の全ての層のパラメータを誤差逆伝播法により更新して訓練処理336を終了するステップ354とを含む。なお次式においてラベルyの右肩の「T」は転置を表す。一方、下添字の「T」はティーチャーネットワーク210に関する値であることを示す。同様にスチューデントネットワーク220に関する損失関数L(x,y)も定義される。
図10に、図8のステップ322の詳細を示す。図10を参照して、このプログラムは、訓練済のティーチャーネットワーク210とハードラベルとからスチューデントネットワーク220を訓練する訓練データを準備するステップ360と、スチューデントネットワークパラメータ記憶部292に記憶されたスチューデントネットワーク220のパラメータ集合Θを初期化するステップ362とを含む。本実施の形態では、ステップ362の初期化ではGlorotの一様分布手法と呼ばれる手法を用いている。もちろん、初期化はこの手法に限定されず、他の手法を用いてもよい。
なお、ステップ360では、図7に示すように、訓練データ変換部266がティーチャーネットワーク訓練データ記憶部260に記憶された訓練データから発話長2秒の訓練データを生成し、元の発話長4秒の訓練データとあわせてスチューデントネットワーク訓練データ記憶部268に格納する。なお、ここでは発話長4秒の訓練データを中央で分割して発話長2秒の訓練データを2つ生成している。しかしこの発明はそのような実施の形態には限定されない。もとの訓練データから、互いに重なる発話部分を持つ複数の訓練データに生成してもよい。
このプログラムはさらに、ステップ360で準備されたスチューデントネットワーク220の訓練データを用いて、以下の訓練処理366を予め定めておいた予定実行数だけ繰返すステップ364と、ステップ364の訓練が終了した時点のスチューデントネットワーク220のパラメータ集合Θを図7に示すスチューデントネットワークパラメータ記憶部292に保存して処理を終了するステップ368とを含む。なおこの実施の形態では、訓練処理366の処理を指定回数だけ繰返したときに訓練を終了するものとしたが、他の終了条件の成立により繰返しを終了するようにしてもよい。例えばミニバッチによるパラメータの更新の大きさの絶対値がしきい値以下となることが所定回数連続したときに、繰返しを終了するようにしてもよい。
訓練処理366は、訓練データからm個の訓練サンプルのミニバッチをサンプリングするステップ380と、これらm個の訓練サンプルの中の2秒の発話データをそれぞれスチューデントネットワーク220に入力し、スチューデントネットワーク220の出力とハードラベルとの差を算出するステップ382とを含む。ステップ382では、スチューデントネットワーク220の転送先の隠れ層である畳込みブロック228の出力も算出し記憶する。転送先の畳込みブロック228の出力はu(x;Θ)と表される特徴量である。ここで、xはスチューデントネットワーク220に入力される2秒の発話データを表し、Θは知識の転送先である畳込みブロック228のパラメータ集合を表し、uは畳込みブロック228までの特徴抽出部224により規定される関数を表す。なお、各ミニバッチを構成するm個の訓練サンプルは、少なくとも識別の対象となる言語の数以上であることが望ましい。例えば、言語別にそれぞれ同数ずつ、又はサンプル数に比例した割合で、合計がm個になるように各言語からサンプリングすることが望ましい。
訓練処理366はさらに、訓練データの各々について、その4秒の発話データをティーチャーネットワーク210に入力し、そのときのティーチャーネットワーク210の知識の転送元である畳込みブロック218の出力を算出するステップ384を含む。畳込みブロック218の出力はu(x;Θ)と表される特徴量である。ここで、xはティーチャーネットワーク210に入力される4秒の発話データを表し、Θは畳込みブロック218のパラメータ集合を表し、uは転送元層までの特徴抽出部214により規定される関数を表す。
訓練処理366はさらに、ステップ384に続き、以下の式(6)により表される損失関数LFRKDを計算するステップ386を含む。
訓練処理366はさらに、ステップ386に続き、スチューデントネットワーク220の全ての層のネットワークのパラメータを、上記した損失関数を最小化するよう通常の誤差逆伝播法で更新し、対象となるミニバッチによる訓練処理366を終了するステップ388を含む。
<動作>
図6〜図10を参照して、この実施の形態に係る訓練装置250は以下のように動作する。最初に、ティーチャーネットワーク訓練データ記憶部260にティーチャーネットワーク210の訓練データを準備する。ティーチャーネットワークプログラム記憶部280には、ティーチャーネットワーク210のアルゴリズムを規定するプログラムが予め記憶されている。ティーチャーネットワーク訓練部264は、この訓練データとティーチャーネットワークプログラム記憶部280に記憶されたプログラムとを用いてティーチャーネットワーク210を訓練する(図8のステップ320)。
ティーチャーネットワーク210の訓練では、図9に示すように、最初にステップ330が準備され、ティーチャーネットワーク210のパラメータ集合を初期化する(ステップ332)。続いて訓練処理336が訓練の予定実行数だけ繰返し行われる(ステップ334)。このステップ334が終了したときのティーチャーネットワーク210のパラメータ集合がティーチャーネットワークパラメータ記憶部282(図7)に記憶される。この結果、ティーチャーネットワークパラメータ記憶部282にはティーチャーネットワーク210の各層のパラメータ集合が記憶される。このパラメータ集合は図6に示す転送元となる畳込みブロック218のパラメータ集合Θを含む。
ティーチャーネットワーク210の訓練が終了すると、訓練データ変換部266がティーチャーネットワーク訓練データ記憶部260に記憶されたティーチャーネットワークのための訓練データを変換し、スチューデントネットワーク220のための訓練データを生成する(ステップ360)。変換後の訓練データはスチューデントネットワーク訓練データ記憶部268に記憶される。スチューデントネットワーク訓練データ記憶部268に記憶される各訓練サンプルは、ティーチャーネットワーク訓練データ記憶部260に記憶されていた訓練サンプルの4秒の発話データを分割した2秒の発話データと、元になった4秒の発話データと、ラベルとを含む。
スチューデントネットワークプログラム記憶部290には、スチューデントネットワーク訓練部272のアルゴリズムを規定するプログラム(スチューデントネットワークプログラム)が記憶されている。スチューデントネットワークパラメータ記憶部292には、スチューデントネットワーク220の構成を規定するハイパーパラメータが予め記憶され、スチューデントネットワーク220のパラメータを記憶する記憶領域が確保される。
スチューデントネットワーク220の訓練では、スチューデントネットワーク訓練部272は、スチューデントネットワーク220のための訓練データを準備する(ステップ360)。具体的には、スチューデントネットワーク訓練部272は図7に示すスチューデントネットワーク訓練データ記憶部268にアクセスし、訓練データファイルをオープンしメモリにロードする。続いてスチューデントネットワークパラメータ記憶部292に確保されたスチューデントネットワークのパラメータ集合の記憶領域を初期化する(ステップ362)。このパラメータ集合は、図6に示す転送先となる畳込みブロック228のパラメータ集合Θを含む。
続いて、スチューデントネットワーク訓練部272は、以下の処理(図10の訓練処理366)を所定の予定実行回数だけ繰返すステップ364を実行する。
訓練処理366では、スチューデントネットワーク訓練部272は、スチューデントネットワーク訓練データ記憶部268に記憶された訓練データからm個の訓練サンプルからなるミニバッチをサンプリングする(ステップ380)。このミニバッチに含まれる各訓練サンプルの中の2秒の発話データxをスチューデントネットワーク220に入力し、それぞれに対応してスチューデントネットワーク220から出力される識別結果yとハードラベルとの誤差を算出する。同時に、スチューデントネットワーク220の特徴抽出部224の最上位層である畳込みブロック228の出力u(x;Θ)を算出する(ステップ382)。
続いてステップ384で、ティーチャーネットワーク210に各訓練サンプルの中で、ミニバッチに含まれる2秒のサンプリングデータを含む4秒の発話データxを入力し、特徴抽出部214の最上位層である転送元の畳込みブロック218からの出力u(x;Θ)を算出する。
さらにスチューデントネットワーク訓練部272は、式(6)により表される損失関数LFRKDの値を算出する(ステップ386)。
訓練処理366の最後には、スチューデントネットワーク220のパラメータ全てを、損失関数LFRKDの値を最小化するように通常の誤差逆伝播法を用いて更新し、1ミニバッチに対する訓練処理366の処理を終了する(ステップ388)。
以上の処理を予定実行数だけ繰返すことにより、スチューデントネットワーク220の訓練が終了する。スチューデントネットワーク訓練部272はこのときのスチューデントネットワーク220のパラメータ集合をスチューデントネットワークパラメータ記憶部292に保存し(ステップ368)、スチューデントネットワーク220の訓練を終了する。
<実験結果>
上記実施の形態にしたがった訓練方法により訓練したスチューデントネットワークによる実験を行い、上記訓練方法が有効か否かを確認した。
図11に、この実験で使用した各言語の訓練データの概要を示す。図11を参照して、この実験では、ビルマ語、中国語、英語、フランス語、インドネシア語、日本語、韓国語、スペイン語、タイ語及びベトナム語の発話データを用いた。これら発話データは出願人において準備したものである。
各言語の発話データを、訓練用データセット、検証用データセット、及びテスト用データセットに分割した。各言語についてのこれらデータに関する情報は図11に記載したとおりであり、各言語について、訓練用データセットが4500、検証用データセットが300、テスト用データセットが1200のサンプルからからなっている。ただし、各発話データの合計時間は図11に示すように互いに一致しているわけではない。発話データの平均時間は7.6秒である。これら発話データはいずれもネイティブ話者により発話されたデータである。
実験でのモデルの評価には発話言語の識別誤り率(UER)を用いた。
実験では、図12に示すような構成のDCNNをティーチャーネットワークとして、図13に示すような構成のDCNNをスチューデントネットワークとして、それぞれ準備した。図12に示す例は入力の発話長が4秒のものであり、図13に示す例は入力の発話長が2秒のものである。
図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」は、その畳込みブロックにおいてバッチ正規化処理を行うことを示す。
図13を参照して、スチューデントネットワーク220のDCNNは、入力として2秒の発話を受ける。入力される音声信号をフレーム化し、各フレームを60次元のベクトルに変換する。この結果、DCNNへの入力は200×60の行列となる。図13において図12と異なるのは、入力ベクトルの数(入力層のニューロン数)の相違に加えて、畳込みブロックの第3層のmax-poolingのストライドが1×2(図12では2×2)となっている点である。これは、入力データの次元数が図12と図13とで異なっているのに対し、転送元層と転送先の層とのニューロン数を等しくするための調整である。その他の点では、図13の見方は図12と同様である。
この実験では、図13に示すものと同じ構成のDCNNを発話長2秒の訓練データで訓練したものをベースラインとした。さらに、発話長が2秒の発話を入力とするDCNNを、発話長が4秒のティーチャーネットワークを使用したKD手法(非特許文献1)により訓練したものを本実施の形態との比較例として準備した。KD手法を用いた比較例は、温度T=3、5、7とλ=0.1、0.3、0.5及び0.7の組合わせで構築した。
本実施の形態のスチューデントネットワークとしては、図12と同様の構成で入力発話長=2秒のDCNNを準備し、同様の構成で入力発話長4秒のDCNNをティーチャーネットワークとして訓練することで準備した。この際、λは0.1、0.3,0.5及び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%の改善である。
この実験ではλ=0.5に固定してL1ノルムを用いたものとL2ノルムを用いたものとの性能比較も行った。その結果、前者のUERが5.33%であったのに対し、後者のUERは5.89%であった。したがってL1ノルムを用いた方がL2ノルムを用いたものと比較して9.51%ほど相対的に性能がよいことが分かった。L2ノルムを用いたものはKD法で最も高い性能を示したもの(UER=5.69%)よりも性能が低くなっている。
以上から、この発明の手法により訓練したモデルは、KD法を用いたものより高い性能が得られること、損失関数にL2ノルムではなくL1ノルムを用いた方が高い性能を実現できることが分かった。
図15に、実験で用いたベースラインのモデル、スチューデントネットワークの訓練に用いたティーチャーネットワーク、KD法により訓練したスチューデントネットワーク、及びこの発明に係る方法により訓練したスチューデントネットワークにより得られた特徴量を次元圧縮して可視化した図を示す。この図は検証データセットに対して各モデルが出力した特徴量の分布を2次元の散布図のように表したものである。ティーチャーモデルは発話長4秒のもの、ベースラインと2つのスチューデントモデルは発話長1秒のものである。
図15(B)に示すように、ティーチャーネットワークの図では特徴量がきれいに10個のクラスタに分散している。この10個のクラスタは、それぞれの言語に対応している。したがってティーチャーネットワークを用いると10個の言語を高い精度で識別できることが分かる。それに対し、図15(A)に示すベースラインでは、特徴量の分離がよくできておらず、言語の識別性能が低いことが分かる。図15(C)に示すKD法によるものでは、図15(A)のベースラインよりは特徴量の分離がよいが、それでも十分ではない。一方、図15(D)に示すこの発明によるものでは、特徴量がよく分離されており、図15(B)に示すティーチャーネットワークのものに近くなっている。したがってこの図15からも、この発明によるDCNNの訓練方法により、精度の高い発話言語識別が可能であることが分かる。
<変形例>
上記実施の形態では、ティーチャーネットワークを4秒の発話データで、スチューデントネットワークを2秒の発話データで、それぞれ訓練した。しかし発話データ長の長さはこの組合わせには限定されない。またスチューデントネットワークの発話長がティーチャーネットワークの発話長より短ければよい。ただし、今回の発明の目的から考えて、スチューデントネットワークを訓練するための発話長は2秒以下であることが望ましい。さらに、上記実施の形態では4秒と2秒というように、一方が他方の倍数、すなわち他方が一方の約数という関係になっている。しかしそのような組合わせに限定されるわけではない。ただし、訓練データの準備の容易さ、畳込みネットワークのハイパーパラメータの決定の容易さから考えて、倍数と約数という関係の発話長で訓練データを準備することが現実的である。
また、上記実験では、ティーチャーネットワーク及びスチューデントネットワークのいずれも7層の畳込みブロックを含んでいる。また、転送元の層及び転送先の層の双方ともこれら畳込みブロックの最上位の隠れ層である。しかしこの発明はそのような実施の形態には限定されない。畳込みブロックの数は7層以外でもよいし、ティーチャーネットワークとスチューデントネットワークの畳込みブロックの数が一致しなくても良い。また転送元の層又は転送先の層は、特徴量を抽出する畳込みブロック群の最上位の畳込みブロックでなくてもよいし、両者の畳込みブロック群内での位置が一致する必要もない。
上記実施の形態では、LFRKD損失を用いた訓練を言語識別のためのDCNNに適用した。このDCNNでは、畳込みブロック群が出力するのは特徴量に相当し、その特徴量を全結合層に入力することで言語識別を行っている。しかしこの発明はそのような実施の形態には限定されない。例えば、同じ手法により訓練された畳込みブロック群が抽出した特徴量を用いて、話者識別を行うこともできる。ただしこの場合には、特徴量を用いて、発話が特定の話者によってなされたものか否かを判定する2クラス分類器としてDCNNを利用するのが現実的である。
[第2の実施の形態]
以下に説明する第2の実施の形態は、第1の実施の形態により得られたモデルに対して、ティーチャーネットワークとスチューデントネットワークとの対話型訓練(対話型パラメータ調整)という、新規な方法で改良を加えたものである。後述するように、この方法で訓練したスチューデントネットワークは、第1の実施の形態において訓練したものよりもさらに高い精度を示した。また、同じ発話時間での精度もより高くなることが確認できた。したがって、同じ精度で言語識別するのであれば、必要な発話長をより短くできる。
<構成>
図16に、この第2の実施の形態に係る訓練装置400の概略構成をブロック図形式で示す。図16を参照して、訓練装置400は、第1の実施の形態と同様に構成されたティーチャーネットワーク訓練データ記憶部260、第1の言語識別モデル記憶部262、ティーチャーネットワーク訓練部264、訓練データ変換部266、スチューデントネットワーク訓練データ記憶部268、スチューデントネットワーク訓練部272及び第2の言語識別モデル記憶部270を含む。
訓練装置400はさらに、第1の言語識別モデルを構成するティーチャーネットワーク210のパラメータ調整のためにスチューデントネットワーク220に入力される開発データセットを記憶する開発データ記憶部412と、ティーチャーネットワーク訓練データ記憶部260に記憶されたティーチャーネットワーク訓練データ、スチューデントネットワーク訓練データ記憶部268に記憶されたスチューデントネットワーク訓練データ、及び開発データ記憶部412に記憶された開発データを用いて、ティーチャーネットワーク210とスチューデントネットワーク220とのパラメータを調整するための訓練データを記憶するための訓練データ記憶装置414と、この訓練データを用いたティーチャーネットワーク210とスチューデントネットワーク220との間での対話型処理により、ティーチャーネットワークとスチューデントネットワークとの双方のパラメータの調整を行い、それによってスチューデントネットワークによる言語識別の精度を第1の実施の形態によるものと比較してより高くするための対話型モデル調整部410とを含む。
図17に、コンピュータを訓練装置400として機能させるためのコンピュータプログラムの制御構造をフローチャート形式で示す。図18に、この第2の実施の形態における損失関数とティーチャーネットワーク210及びスチューデントネットワーク220のパラメータ更新の概略を模式的に示す。
図17を参照して、このプログラムは、ティーチャーネットワーク訓練データを用いて第1の言語識別モデルを構成するティーチャーネットワーク210を訓練するステップ320と、ステップ320により訓練されたティーチャーネットワーク210のパラメータセットの中で、最上位層の畳込みブロック218(図18)のパラメータセットΘ を記憶装置に保存するステップ450と、ステップ450に続き、スチューデントネットワーク訓練データを用いてスチューデントネットワーク220を訓練するステップ322と、ステップ322に引き続き、ティーチャーネットワーク210及びスチューデントネットワーク220のパラメータ調整に使用する訓練データを、ティーチャーネットワーク訓練データ、スチューデントネットワーク訓練データ、及び開発データ記憶部412に記憶された開発データを用いて訓練データ記憶装置414に準備するステップ452とを含む。なお、ここでの訓練データは、{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、開発データ、ラベル}の組である。これらの中で{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、ラベル}の組がスチューデントネットワーク220のパラメータ調整に使用され、{ティーチャーネットワーク210の訓練データ、開発データ、ラベル}の組がティーチャーネットワーク210のパラメータ調整に用いられる。したがって、図18に示されるように、スチューデントネットワーク220への入力である訓練データは開発データサンプル520を含む。開発データセットサンプル520は、2秒の発話長の発話データと、その発話の言語を示すラベルyとが組になったものである。
このプログラムはさらに、訓練の予定実行数だけ外側ループ処理456を実行するステップ454と、ステップ452が完了したときのスチューデントネットワーク220のパラメータ集合を図7のスチューデントネットワークパラメータ記憶部292のような記憶装置に記憶してプログラムの実行を終了するステップ458とを含む。
外側ループ処理456は、訓練データをシャッフルするステップ480と、このシャッフル後の訓練データを用い、全訓練データを処理するまで以下に説明する内側ループ処理484を実行するステップ482とを含む。
内側ループ処理484は、訓練データのミニバッチセットからmサンプルのミニバッチをサンプリングするステップ500と、ステップ500でサンプリングされたミニバッチの中で{ティーチャーネットワーク210の訓練データ、開発データ、ラベル}の組を用いて以下の損失関数を最小化するようにティーチャーネットワーク210のパラメータを調整するステップ502とを含む(記号「^」は数式では文字の直上に記載されている「ハット記号」を表す。)。
この式中で使用されている損失関数L及びLはそれぞれ、ティーチャーネットワーク210の損失関数及びスチューデントネットワーク220の損失関数を表す。この損失関数としては、誤差逆伝播法が使用可能なものであればどのようなものを用いてもよいが、この実施の形態では従来の技術で紹介した式(3)と同様のものを用いる。γ及びξは実験により定めるパラメータである。ノルム1の項は、このパラメータ調整において、ティーチャーネットワーク210の最上位層の畳込みブロック218のパラメータが、元の畳込みブロック218のパラメータ(初期値Θ )からあまり離れてしまわないようにするための制約である。
このプログラムはさらに、ステップ500でサンプリングされたミニバッチの中で{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、ラベル}を用いて、以下の損失関数^Lを最小化するようにスチューデントネットワーク220のパラメータを調整するステップ504を含む。
式(8)中において、L及びLktはそれぞれ第1の実施の形態で使用したものと同じである。定数λはLとLktとのバランスを取るための定数であり、実験により定められる。
図18及び図19を参照して、図17の内側ループ処理484について説明する。図17のステップ502では、各ミニバッチの各サンプルについて、ティーチャーネットワーク210の訓練データである発話データ230(サンプルx)がティーチャーネットワーク210に与えられる。ティーチャーネットワーク210の全結合層ネットワーク216からは出力ベクトル212が出力される。この出力ベクトル212とラベルyとの間で計算される損失関数Lは矢印532が示すように式(7)の一部を構成する。ティーチャーネットワーク210の畳込みブロック218からはu(x;Θ)が出力される。u(x;Θ)は、畳込みブロック218のパラメータ集合がパラメータ集合Θ、ティーチャーネットワーク210の入力がサンプルxのときの畳込みブロック218の出力ベクトルを表す。このベクトルは、矢印536で表されるように式(7)の一部を構成する。
一方、開発データサンプル520(x)がスチューデントネットワーク220に入力されると、スチューデントネットワーク220からは出力ベクトル522が出力される。出力ベクトル522とラベルyとの間で計算される損失関数Lは、矢印534で示すように式(7)の一部を構成する。
また、ティーチャーネットワーク210と同様の構成で、畳込みブロック218に代えて、パラメータ集合Θではなくあらかじめ記憶していた初期パラメータ集合Θ を持つ畳込みブロック528とすることでネットワーク524が得られる。ネットワーク524は特徴抽出部526を含み、特徴抽出部526の最上位の隠れ層は畳込みブロック528である。このネットワーク524は他の点ではティーチャーネットワーク210と同一である。このネットワーク524に発話データ230(x)を入力する。そのときの畳込みブロック528の出力u(x;Θ )は、矢印538で示すように式(7)の一部を構成する。
こうして得られる式(7)の損失関数が最小化するようにティーチャーネットワーク210のパラメータを調整する。
一方、図19を参照して、スチューデントネットワーク220のパラメータ調整は以下のようにして行われる。ティーチャーネットワーク210に発話データ230(x)を与える。発話データ230(発話長は4秒)に対応する発話データ232(発話長は2秒)をスチューデントネットワーク220に与える。スチューデントネットワーク220の出力する出力ベクトル222とラベルyとの間で定義される損失関数Lsは、矢印560で示すように式(8)の一部を構成する。同じく、畳込みブロック218の出力ベクトルと畳込みブロック228の出力ベクトルとから第1の実施の形態で用いた損失関数Lktが算出される。この損失関数Lktも、矢印562により示すように式(8)の一部を構成する。
式8及び式(9)において、λ、γ、及びξはハイパーパラメータであって、これらをいずれも(0、1)の範囲で様々に変化させることで、最適な組合せを実験により求める。
<動作>
図16を参照して、ティーチャーネットワーク210及びスチューデントネットワーク220の訓練は第1の実施の形態と同様にティーチャーネットワーク訓練部264、訓練データ変換部266及びスチューデントネットワーク訓練部272により行われる。これらの訓練が終了すると、ティーチャーネットワーク訓練データ記憶部260にはティーチャーネットワーク210が記憶されている。第2の言語識別モデル記憶部270にはスチューデントネットワーク220が記憶されている。
この後、対話型モデル調整部410が開発データ記憶部412を用いてさらにティーチャーネットワーク210とスチューデントネットワーク220のパラメータを調整する。開発データ記憶部412にはあらかじめ前述した構成の訓練データが記憶されている。
図17を参照して、訓練装置400による言語識別モデルの訓練は、コンピュータを以下のように機能させることで実現される。ステップ320では、ティーチャーネットワーク訓練データを用いて第1の言語識別モデルを構成するティーチャーネットワーク210を訓練する。ステップ450では、ステップ320により訓練されたティーチャーネットワーク210のパラメータセットの中で、最上位層の畳込みブロック218(図18)のパラメータセットΘ を記憶装置に保存する。さらにステップ322では、スチューデントネットワーク訓練データを用いてスチューデントネットワーク220を訓練する。ステップ452では、ティーチャーネットワーク210及びスチューデントネットワーク220のパラメータ調整に使用する訓練データを、ティーチャーネットワーク訓練データ、スチューデントネットワーク訓練データ、及び開発データ記憶部412に記憶された開発データを用いて訓練データ記憶装置414に準備する。
ここでの訓練データは、{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、開発データ、ラベル}の組である。これらの中で{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、ラベル}の組がスチューデントネットワーク220のパラメータ調整に使用され、{ティーチャーネットワーク210の訓練データ、開発データ、ラベル}の組がスチューデントネットワーク220のパラメータ調整に用いられる。
さらに、ステップ454では、訓練の予定実行数だけ外側ループ処理456を実行する。
外側ループ処理456のステップ480では、訓練データをシャッフルする。続くステップ482では、このシャッフル後の訓練データを用い、全訓練データを処理するまで以下に説明する内側ループ処理484を実行する。
内側ループ処理484のステップ500では、訓練データのミニバッチセットからmサンプルのミニバッチをサンプリングする。続くステップ502において、サンプリングされたミニバッチの中で{ティーチャーネットワーク210の訓練データ、開発データ、ラベル}の組を用いて式(7)に示す損失関数^Lを最小化するようにティーチャーネットワーク210のパラメータを調整する。さらに、続くステップ504において、ステップ500でサンプリングされたミニバッチの中で{ティーチャーネットワーク210の訓練データ、スチューデントネットワーク220の訓練データ、ラベル}を用いて、式(8)に示す損失関数^Lを最小化するようにスチューデントネットワーク220のパラメータを調整する。
以下、全ての訓練データを処理するまで内側ループ処理484が繰返され、さらに訓練の予定実行数だけ外側ループ処理456が繰返される。
<実験結果>
この第2の実施の形態に係る訓練装置400により訓練されたスチューデントネットワークの性能を確認するための実験を行った。実験の結果を、第1の実施の形態による訓練装置250及びそのパータ―ベーションによる結果とあわせて図20に示す。ここで、バーターベーションとは、第1の実施の形態による訓練装置において、損失Lktにランダムノイズを重畳させて(Lkt=||U−U+Noise||)学習させることを意味している。実験によれば、第1の実施の形態による訓練装置の学習時にバーターベーションを行うことにより、精度が若干上がる場合があった。この実験では、図20に示した第1の実施の形態の結果に鑑みて、λ=0.3に設定した上で、γの値を0.1、0.2及び0.3に変化させた。「ValId.」はスチューデントネットワークによる、検証データセットに対する精度(URE%)を示し、「Test」はテストデータセットに対する精度を示す。
図20を参照して、この第2の実施の形態では、γ=0.1、0.2及び0.3におけるテストデータに対する言語識別精度は、それぞれ4.78、5.12、及び4.86であった。これらはいずれも第1の実施の形態で最もよい精度(λ=0.3のときの5.28)を上回っている。それだけではなく、パータ―ベーションによる精度(5.17)も上回っている。
この結果、第2の実施の形態によれば、パータ―ベーションによるように偶然の結果に影響されることなく、一定の手順にしたがうことで高い識別精度を実化するようにスチューデントニューラルネットワークを訓練できることが分かる。
図21には、第2の実施の形態に係る方法で訓練したスチューデントニューラルネットワーク(ITSL:Interactive Teacher−Student Learning)の言語識別精度(URE%)を、他の方式によるものと比較して表形式で示したものである。比較対象は、ベースライン(DCNN)、第1の実施の形態に係るもの(FRKD)、及び第1の実施の形態に対するパータ―ベーションによるもの(FRKD−P)である。これらの実験では、いずれも発話長4秒の発話を入力とするティーチャーモデルを用いた。ISTLではλ=0.3、γ=0.1、及びξ=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%の改善を示した。
これらの結果から、この第2の実施の形態に係るスチューデントニューラルネットワークからなる言語識別モデルは、短い発話長の入力に対しても高い精度でその言語を識別できることが分かる。これは、このモデルの畳込みブロック228(図18及び図19を参照)が、短い発話長の入力からロバストな特徴量を抽出できることを示している。したがって、言語識別だけではなく、短い発話長で何らかの判定を行う必要があるタスク、例えば話者認証にも適用できる可能性があることを示す。
[コンピュータによる実現]
この発明の実施の形態に係る訓練装置250及び400並びにそれらによる言語識別モデルの訓練方法は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図22はこのコンピュータシステム630の外観を示し、図23はコンピュータシステム630の内部構成を示す。
図22を参照して、このコンピュータシステム630は、メモリポート652及びDVD(Digital Versatile Disk)ドライブ650を有するコンピュータ640と、キーボード646と、マウス648と、モニタ642とを含む。
図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とを含む。
コンピュータシステム630を上記した実施の形態に係る訓練装置250又は400の各機能部として、言語識別モデルの訓練方法の各ステップを実行するよう機能させるためのコンピュータプログラムは、DVDドライブ650又はメモリポート652に装着されるDVD662又はリムーバブルメモリ664に記憶され、さらにハードディスク654に転送される。又は、プログラムはネットワーク668を通じてコンピュータ640に送信されハードディスク654に記憶されてもよい。また、キーボード646、マウス648、及びモニタ642とエディタプログラム等を用いてソースプログラムを作成し、コンパイラによりコンパイルしてオブジェクトプログラムをハードディスク654に格納するようにしてもよい。プログラムは実行の際にRAM660にロードされる。DVD662から、リムーバブルメモリ664から又はネットワーク668を介して、直接にRAM660にプログラムをロードしてもよい。
このプログラムは、コンピュータ640を、上記実施の形態に係る訓練装置250又は400として、言語識別モデルの訓練方法の各ステップを実行するよう機能させるための命令列を含む。ティーチャーネットワーク210、スチューデントネットワーク220の訓練において実行される大量の数値演算処理は、CPU656及びGPGPU657を用いて行う(CPU656のみを用いてもよいがGPGPU657を用いる方が高速である。)。コンピュータ640にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ640上で動作するオペレーティングシステム若しくはサードパーティのプログラム、又は、コンピュータ640にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体は、この実施の形態のシステム、装置及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令の内、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記した訓練装置250として、言語識別モデルの訓練方法の各ステップを実行する機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
なお、上記実施の形態では、図10に示すように、ミニバッチ処理の際に同時にティーチャーネットワーク210による値u(x;Θ)を算出している。しかしこの発明はそのような実施の形態には限定されない。この値はスチューデントネットワーク220の訓練処理とは独立計算できる。したがってスチューデントネットワーク220の訓練に先立ち、各サンプルを用いて予め算出しておいてもよい。この場合、この値を記憶装置に記憶しておくことが必要になる。
今回開示された実施の形態は単に例示であって、この発明が上記した実施の形態のみに制限されるわけではない。この発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
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 訓練処理

Claims (8)

  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のニューラルネットワークを訓練するステップとを含む、言語識別モデルの訓練方法。
  2. 前記転送元層のニューロン数は、前記転送先層のニューロン数と同じである、請求項1に記載の言語識別モデルの訓練方法。
  3. 前記転送元層は前記第1の数の畳込み層群の最上位層であり、前記転送先層は、前記第2の数の畳込み層群の最上位層である、請求項1又は請求項2に記載の言語識別モデルの訓練方法。
  4. 前記第2のニューラルネットワークを訓練するステップは、
    前記訓練データの前記第1の発話時間の発話データxが前記第1の数の畳込み層群に入力されたときの前記転送元層の出力u(x;Θ)、ただしΘは前記転送元層のパラメータ集合を表す、を算出するステップと、
    前記発話データxに関連する前記第2の発話時間の発話データxが前記第2の畳込み層群に入力されたときの前記転送先層の出力u(x;Θ)、ただしΘは前記転送先層のパラメータ集合を表す、を算出するステップと、
    前記転送先層において以下の損失関数LFRKDを算出するステップと、
    ただしλは重み係数、Lhard(x,y)は、前記第2のニューラルネットワークに前記発話データxが与えられたときの前記第2のニューラルネットワークの出力と、当該発話データxに関連付けられた前記言語情報yとの間に定義される損失関数、
    前記発話データxが与えられたときの前記第2のニューラルネットワークの出力と、当該発話データxに関連付けられた前記言語情報yとを用いて誤差逆伝播法により前記第2のニューラルネットワークのパラメータを更新するステップとを含む、請求項1〜請求項3のいずれかに記載の言語識別モデルの訓練方法。
  5. さらに、訓練データセット及び開発データセットを用いて、前記第1のニューラルネットワークのパラメータと、前記第2のニューラルネットワークのパラメータとを、前記開発データセットの入力に対する前記第2のニューラルネットワークの出力の誤差、前記訓練データセットに対する前記第1のニューラルネットワークの誤差、及び前記訓練データセットに対する前記第2のニューラルネットワークの誤差とを用いて定義される損失関数を最小化するよう、対話型で調整する対話型パラメータ調整ステップを含む、請求項1から請求項4のいずれかに記載の言語識別モデルの訓練方法。
  6. 前記対話型パラメータ調整ステップは、
    訓練データセット及び開発データセットから抽出されたミニバッチデータセットを用いて、前記開発データセットの入力に対する前記第2のニューラルネットワークの出力の誤差、前記訓練データセットに対する前記第1のニューラルネットワークとの誤差とを用いて定義される第1の誤差関数を最小化するよう、前記第1のニューラルネットワークのパラメータを調整する第1の調整ステップと、
    前記訓練データセットから抽出されたミニバッチデータセットに対する前記第2のニューラルネットワークの誤差を用いて定義される第2の損失関数を最小化するよう、前記第2のニューラルネットワークのパラメータを調整する第2の調整ステップと、
    前記第1の調整ステップ及び前記第2の調整ステップを、前記ミニバッチデータセットを変化させながら前記訓練データセット及び開発データセットに対して所定の終了条件が成立するまで交互に繰返すステップとを含む、請求項5に記載の言語識別モデルの訓練方法。
  7. 第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のニューラルネットワークを訓練するための訓練手段とを含む言語識別モデルの訓練装置
  8. コンピュータを、請求項1〜請求項6のいずれかに記載の訓練方法の各ステップを実行するよう機能させる、コンピュータプログラム。
JP2019086005A 2018-08-30 2019-04-26 言語識別モデルの訓練方法及び装置、並びにそのためのコンピュータプログラム Active JP7282363B2 (ja)

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 true JP2020038343A (ja) 2020-03-12
JP7282363B2 JP7282363B2 (ja) 2023-05-29

Family

ID=69737911

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019086005A Active JP7282363B2 (ja) 2018-08-30 2019-04-26 言語識別モデルの訓練方法及び装置、並びにそのためのコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP7282363B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111816159A (zh) * 2020-07-24 2020-10-23 腾讯科技(深圳)有限公司 一种语种识别方法以及相关装置
CN111832514A (zh) * 2020-07-21 2020-10-27 内蒙古科技大学 基于软多标签的无监督行人重识别方法及装置
CN113077812A (zh) * 2021-03-19 2021-07-06 北京声智科技有限公司 语音信号生成模型训练方法、回声消除方法和装置及设备
CN113160801A (zh) * 2021-03-10 2021-07-23 云从科技集团股份有限公司 语音识别方法、装置以及计算机可读存储介质
CN114283402A (zh) * 2021-11-24 2022-04-05 西北工业大学 基于知识蒸馏训练与时空联合注意力的车牌检测方法
CN117252213A (zh) * 2023-07-06 2023-12-19 天津大学 使用合成语音作为监督信息的端到端语音翻译方法
CN117765214A (zh) * 2024-02-21 2024-03-26 飞狐信息技术(天津)有限公司 3d数字人唇形实时驱动方法、装置、终端和存储介质
CN117252213B (zh) * 2023-07-06 2024-05-31 天津大学 使用合成语音作为监督信息的端到端语音翻译方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018126213A1 (en) * 2016-12-30 2018-07-05 Google Llc Multi-task learning using knowledge distillation

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
SHEN, PENG ET AL.: "Feature Representation of Short Utterances based on Knowledge Distillation for Spoken Language Ident", INTERSPEECH 2018, JPN6023000137, 6 September 2018 (2018-09-06), ISSN: 0004958586 *
SHEN, PENG ET AL.: "INTERACTIVE LEARNING OF TEACHER-STUDENT MODEL FOR SHORT UTTERANCE SPOKEN LANGUAGE IDENTIFICATION", ICASSP 2019, JPN6023000138, 17 April 2019 (2019-04-17), ISSN: 0004958585 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111832514A (zh) * 2020-07-21 2020-10-27 内蒙古科技大学 基于软多标签的无监督行人重识别方法及装置
CN111832514B (zh) * 2020-07-21 2023-02-28 内蒙古科技大学 基于软多标签的无监督行人重识别方法及装置
CN111816159A (zh) * 2020-07-24 2020-10-23 腾讯科技(深圳)有限公司 一种语种识别方法以及相关装置
CN111816159B (zh) * 2020-07-24 2022-03-01 腾讯科技(深圳)有限公司 一种语种识别方法以及相关装置
CN113160801A (zh) * 2021-03-10 2021-07-23 云从科技集团股份有限公司 语音识别方法、装置以及计算机可读存储介质
CN113160801B (zh) * 2021-03-10 2024-04-12 云从科技集团股份有限公司 语音识别方法、装置以及计算机可读存储介质
CN113077812A (zh) * 2021-03-19 2021-07-06 北京声智科技有限公司 语音信号生成模型训练方法、回声消除方法和装置及设备
CN114283402A (zh) * 2021-11-24 2022-04-05 西北工业大学 基于知识蒸馏训练与时空联合注意力的车牌检测方法
CN114283402B (zh) * 2021-11-24 2024-03-05 西北工业大学 基于知识蒸馏训练与时空联合注意力的车牌检测方法
CN117252213A (zh) * 2023-07-06 2023-12-19 天津大学 使用合成语音作为监督信息的端到端语音翻译方法
CN117252213B (zh) * 2023-07-06 2024-05-31 天津大学 使用合成语音作为监督信息的端到端语音翻译方法
CN117765214A (zh) * 2024-02-21 2024-03-26 飞狐信息技术(天津)有限公司 3d数字人唇形实时驱动方法、装置、终端和存储介质

Also Published As

Publication number Publication date
JP7282363B2 (ja) 2023-05-29

Similar Documents

Publication Publication Date Title
CN110136693B (zh) 用于使用少量样本进行神经话音克隆的系统和方法
JP7282363B2 (ja) 言語識別モデルの訓練方法及び装置、並びにそのためのコンピュータプログラム
US11222621B2 (en) Variational embedding capacity in expressive end-to-end speech synthesis
Fer et al. Multilingually trained bottleneck features in spoken language recognition
US9984682B1 (en) Computer-implemented systems and methods for automatically generating an assessment of oral recitations of assessment items
US10008209B1 (en) Computer-implemented systems and methods for speaker recognition using a neural network
CN111771213B (zh) 语音风格迁移
US11538455B2 (en) Speech style transfer
CN107851434A (zh) 使用自适应增量学习方法的语音识别系统和方法
Deng et al. Foundations and Trends in Signal Processing: DEEP LEARNING–Methods and Applications
US20220238116A1 (en) A Method Of Sequence To Sequence Data Processing And A System For Sequence To Sequence Data Processing
Michalek et al. A survey of recent DNN architectures on the TIMIT phone recognition task
CN114021524A (zh) 一种情感识别方法、装置、设备及可读存储介质
Ahmed et al. Acoustic modeling using deep belief network for Bangla speech recognition
Lin Reinforcement learning and bandits for speech and language processing: Tutorial, review and outlook
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
Wu et al. Speech synthesis with face embeddings
Al-Radhi et al. Deep Recurrent Neural Networks in speech synthesis using a continuous vocoder
Daouad et al. An automatic speech recognition system for isolated Amazigh word using 1D & 2D CNN-LSTM architecture
Wen et al. Improving deep neural network based speech synthesis through contextual feature parametrization and multi-task learning
Shinozaki et al. Automated development of dnn based spoken language systems using evolutionary algorithms
Vaněk et al. Recurrent DNNs and its Ensembles on the TIMIT Phone Recognition Task
Ahmed et al. Acoustic Modeling of Bangla Words using Deep Belief Network
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