JP6691501B2 - Acoustic model learning device, model learning device, model learning method, and program - Google Patents
Acoustic model learning device, model learning device, model learning method, and program Download PDFInfo
- Publication number
- JP6691501B2 JP6691501B2 JP2017074365A JP2017074365A JP6691501B2 JP 6691501 B2 JP6691501 B2 JP 6691501B2 JP 2017074365 A JP2017074365 A JP 2017074365A JP 2017074365 A JP2017074365 A JP 2017074365A JP 6691501 B2 JP6691501 B2 JP 6691501B2
- Authority
- JP
- Japan
- Prior art keywords
- weight parameter
- model
- parameter
- vector
- unit
- 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
この発明は、系列モデリング技術に関し、特に、ニューラルネットワークで用いる線形変換の重みパラメータを補間する技術に関する。 The present invention relates to a sequence modeling technique, and more particularly to a technique for interpolating weighting parameters of linear transformation used in a neural network.
確率的な系列モデリングとして、例えば、n-gramモデル等がある(非特許文献1参照)。確率的な系列モデリングによる言語モデルは、例えば、確率的言語モデルと呼ばれる。また、ニューラルネットワークを用いた系列モデリングとして、例えば、再帰型ニューラルネットワーク(RNN: Recurrent Neural Network)の一種である単純再帰型ニューラルネットワーク(Elman Network)や長短期記憶(LSTM: Long short-term memory)等がある(非特許文献2参照)。ニューラルネットワークを用いた系列モデリングによる言語モデルは、例えば、ニューラル言語モデルと呼ばれる。 Examples of probabilistic sequence modeling include an n-gram model (see Non-Patent Document 1). A language model based on probabilistic sequence modeling is called, for example, a probabilistic language model. Further, as a series modeling using a neural network, for example, a simple recursive neural network (Elman Network) which is a type of recurrent neural network (RNN) or long short-term memory (LSTM) is used. Etc. (see Non-Patent Document 2). A language model based on sequence modeling using a neural network is called, for example, a neural language model.
確率的言語モデルは、前の単語が与えられたときの次の単語の確率をカテゴリカルな分布として持つことができる。したがって、確率的言語モデルは、n-gramモデルならば階数nを持つテンソルとして、すべてのパラメータを陽に記述することができる。また同時に、前のn-1個の単語が与えられたときの次の単語の確率値という意味付けをパラメータに対して持たせることができる。例えば、2-gram(bigram)モデルであれば、その情報をすべて階数2のテンソル(すなわち、行列)として表現することができる。この行列の各列は、対応する一つ前の単語が与えられたときの、次の単語の分布として解釈することができる。例えば、あるドメインAに属するテキストデータを使って学習した確率的言語モデルに対して、別のドメインBに属するテキストデータを使って元の確率的言語モデルを適応するといった実用上重要な操作を、各々から計算した確率的言語モデルの持つテンソル同士を線形補間する等の方法によって実行することができる。 Probabilistic language models can have the probability of the next word given the previous word as a categorical distribution. Therefore, a probabilistic language model can explicitly describe all parameters as a tensor with rank n if it is an n-gram model. At the same time, it is possible to give the parameter meaning of the probability value of the next word given the previous n-1 words. For example, in a 2-gram (bigram) model, all the information can be expressed as a rank-2 tensor (that is, a matrix). Each column of this matrix can be interpreted as the distribution of the next word given the corresponding previous word. For example, a practically important operation such as applying a stochastic language model learned using text data belonging to a domain A to the original stochastic language model using text data belonging to another domain B, It can be executed by a method such as linear interpolation between tensors of the probabilistic language model calculated from each.
ニューラル言語モデルは、最小要素として、入力ベクトルに対する線形変換と、線形変換後のベクトルに対する非線形変換(代表的にはsoftmax関数)が必要になる。非線形変換後のベクトルは次の単語の事後確率値として解釈できるが、線形変換に用いる重みパラメータそのものに対して意味付けを行うことはできない。そのため、例えば、あるドメインAのテキストデータを使って学習したニューラル言語モデルに対して、別のドメインBのテキストデータを使って元のニューラル言語モデルを適応するという操作を実行することができない。 The neural language model requires, as the minimum element, a linear transformation for the input vector and a non-linear transformation (typically a softmax function) for the vector after the linear transformation. The vector after the non-linear conversion can be interpreted as the posterior probability value of the next word, but the weighting parameter itself used for the linear conversion cannot be given meaning. Therefore, for example, the operation of applying the original neural language model using the text data of another domain B to the neural language model learned using the text data of a certain domain A cannot be executed.
この発明の目的は、ニューラルネットワークを用いた系列モデリングにおいて、学習時に用いた学習データとドメインが異なる学習データを用いてモデル学習を行うことができるモデル学習技術を実現することである。 An object of the present invention is to realize a model learning technique capable of performing model learning by using learning data having a domain different from that of learning data used at the time of learning in sequence modeling using a neural network.
上記の課題を解決するために、この発明の第一の態様の音響モデル学習装置は、音響特徴ベクトルを入力として、音響特徴ベクトルに対応する出力シンボルに対する事後確率ベクトルと、出力シンボルが空シンボルである確率を表す空シンボル確率と、を出力するニューラルネットワークを用いた音響モデルを記憶する音響モデル記憶部と、学習音声から抽出した音響特徴ベクトルをニューラルネットワークに入力して事後確率ベクトルと空シンボル確率とを得る事後確率計算部と、空シンボル確率に基づいてニューラルネットワークが以前の時刻に出力した事後確率ベクトルもしくはニューラルネットワークが現在の時刻に出力した事後確率ベクトルを選択して保持する文脈保存ベクトルを計算する文脈保存ベクトル計算部と、文脈保存ベクトルが計算されるたびに重みパラメータを用いて文脈保存ベクトルを線形変換してニューラルネットワークの最終隠れ層の出力と加算してニューラルネットワークの出力層に連結する文脈保存ベクトル連結部と、単語列の集合であるテキストデータから確率モデルを用いて確率モデルパラメータを生成する確率モデル生成部と、確率モデルパラメータに対してニューラルネットワークに含まれる非線形変換の逆計算を行い、重みパラメータ相当量を計算する重みパラメータ逆計算部と、線形変換で用いる重みパラメータと重みパラメータ相当量との補間を行う重みパラメータ補間部と、を含む。 In order to solve the above problems, the acoustic model learning device according to the first aspect of the present invention uses an acoustic feature vector as an input, and a posterior probability vector for an output symbol corresponding to the acoustic feature vector, and the output symbol is an empty symbol. An empty model probability that represents a certain probability, and an acoustic model storage unit that stores an acoustic model using a neural network that outputs, and an a posteriori probability vector and an empty symbol probability by inputting an acoustic feature vector extracted from learning speech into the neural network. And a context-preserving vector that holds the posterior probability vector output by the neural network at the previous time or the posterior probability vector output by the neural network at the current time based on the empty symbol probability. The context-saving vector calculation part to calculate and the context-saving vector The context-preserving vector concatenation unit that linearly transforms the context-preserving vector using the weight parameter each time the toll is calculated and adds it to the output of the final hidden layer of the neural network and concatenates it to the output layer of the neural network, and A probabilistic model generator that generates a probabilistic model parameter using a probabilistic model from a set of text data, and a weight that calculates the weight parameter equivalent amount by performing inverse calculation of the nonlinear transformation included in the neural network for the probabilistic model parameter. It includes a parameter inverse calculation unit, and a weight parameter interpolation unit that interpolates the weight parameter used in the linear conversion and the weight parameter equivalent amount.
この発明の第二の態様のモデル学習装置は、第一ドメインに属する離散値系列の集合である第一学習データから学習した重みパラメータを用いて入力ベクトルに対して線形変換を行い、線形変換後の入力ベクトルに対して非線形変換を行うニューラルネットワークを記憶するニューラルネットワーク記憶部と、第二ドメインに属する離散値系列の集合である第二学習データから確率モデルを用いて確率モデルパラメータを生成する確率モデル生成部と、確率モデルパラメータに対して非線形変換の逆計算を行い、重みパラメータ相当量を計算する重みパラメータ逆計算部と、線形変換で用いる重みパラメータと重みパラメータ相当量との補間を行う重みパラメータ補間部と、を含む。 A model learning device according to a second aspect of the present invention linearly transforms an input vector using a weighting parameter learned from first learning data that is a set of discrete value sequences belonging to a first domain, and after linear transformation Probability of generating a probabilistic model parameter using a probabilistic model from a neural network storage unit that stores a neural network that performs a non-linear transformation on the input vector and a second learning data that is a set of discrete value sequences belonging to the second domain A model generation unit, a weight parameter inverse calculation unit that performs a non-linear transformation inverse calculation on a stochastic model parameter, and calculates a weight parameter equivalent amount, and a weight that interpolates a weight parameter used in linear transformation and a weight parameter equivalent amount. And a parameter interpolation unit.
この発明によれば、確率モデルパラメータから重みパラメータ相当量を逆計算して、ニューラルネットワークで用いる線形変換の重みパラメータと補間することができるため、ニューラルネットワークを用いた系列モデリングにおいて、学習時に用いた学習データとは異なるドメインの学習データを用いてモデル学習を行うことができる。 According to the present invention, the weight parameter equivalent amount can be inversely calculated from the probabilistic model parameter and interpolated with the weight parameter of the linear transformation used in the neural network. Model learning can be performed using learning data of a domain different from the learning data.
この明細書中で使用する記号「^」は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。数式中においては、これらの記号は本来の位置、すなわち文字の真上に記述している。例えば、「^x」との表記は、 The symbol "^" used in this specification is supposed to be written right above the character immediately after it, but is written immediately before the character due to the limitation of text notation. In the mathematical formula, these symbols are described at their original positions, that is, directly above the characters. For example, the notation "^ x" is
を表している。 Is represented.
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In the drawings, components having the same function are denoted by the same reference numerals, and duplicate description will be omitted.
[第一実施形態]
第一実施形態は、あるドメインのテキストデータを用いて学習済みのニューラル言語モデルに対して、別のドメインのテキストデータを用いてモデル学習を行うモデル学習装置および方法である。第一実施形態では、2-gram(bigram)相当のモデルを対象とする。このモデルは、例えば、階数が2のテンソル(すなわち、行列)を用い、語彙数と等しい次元数を持ち、出現単語に対応する次元が1でそれ以外の次元が0を持つベクトルを入力とし、入力ベクトルと重みパラメータ行列との積を行った後、softmax関数を適用して、次の単語の事後確率ベクトルを出力するものである。ただし、テンソルの階数は任意の自然数であっても対象とすることができる。
[First embodiment]
The first embodiment is a model learning device and method for performing model learning on a neural language model that has been trained using text data of a certain domain, using text data of another domain. In the first embodiment, a model corresponding to 2-gram (bigram) is targeted. This model uses, for example, a tensor of rank 2 (that is, a matrix), has a dimension number equal to the vocabulary number, and inputs a vector having a dimension corresponding to the appearing word of 1 and other dimensions of 0, After performing the product of the input vector and the weight parameter matrix, the softmax function is applied and the posterior probability vector of the next word is output. However, the rank of the tensor can be a target even if it is an arbitrary natural number.
第一実施形態のモデル学習装置は、図1に示すように、第一学習データ記憶部10、ニューラル言語モデル生成部11、ニューラル言語モデル記憶部12、第二学習データ記憶部20、頻度テンソル生成部21、確率的言語モデル生成部22、重みパラメータ逆計算部23、重みパラメータ補正部24、および重みパラメータ補間部25を含む。ただし、重みパラメータ補正部24は必須の構成ではなく、省略することも可能である。第一実施形態のモデル学習装置が、図2に示す各ステップの処理を行うことにより、第一実施形態のモデル学習方法が実現される。
As shown in FIG. 1, the model learning device of the first embodiment includes a first learning
モデル学習装置は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知または専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。モデル学習装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。モデル学習装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、モデル学習装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。モデル学習装置が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。モデル学習装置が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。 The model learning device is, for example, a special program configured by loading a special program into a known or dedicated computer having a central processing unit (CPU), a main storage device (RAM: Random Access Memory), and the like. It is a device. The model learning device executes each process under the control of the central processing unit, for example. The data input to the model learning device and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read as needed and used for other processes. It Further, at least a part of each processing unit of the model learning device may be configured by hardware such as an integrated circuit. Each storage unit included in the model learning device is, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory (Flash Memory), or a relational storage device. It can be configured by middleware such as a database or key-value store. Each storage unit included in the model learning device has only to be logically divided, and may be stored in one physical storage device.
以下、図2を参照しながら、第一実施形態のモデル学習装置が実行するモデル学習方法の処理手続きを説明する。 The processing procedure of the model learning method executed by the model learning device of the first embodiment will be described below with reference to FIG.
第一学習データ記憶部10には、あるドメイン(以下、第一ドメインと呼ぶ)に属する複数のテキストデータを収集した第一ドメイン学習データが記憶されている。第二学習データ記憶部20には、第一ドメインとは異なるドメイン(以下、第二ドメインと呼ぶ)に属する複数のテキストデータを収集した第二ドメイン学習データが記憶されている。各テキストデータは言語モデルの学習に十分な量があればよい。
The first learning
ステップS11において、ニューラル言語モデル生成部11は、第一学習データ記憶部10に記憶された第一ドメイン学習データを読み込み、その第一ドメイン学習データを用いてニューラル言語モデルを学習する。ニューラル言語モデル生成部11は、学習済みのニューラル言語モデルをニューラル言語モデル記憶部12へ記憶する。
In step S11, the neural language
ステップS21において、頻度テンソル生成部21は、第二学習データ記憶部20に記憶された第二ドメイン学習データを読み込み、その第二ドメイン学習データに含まれる単語の連接頻度を集計し、頻度テンソルを生成する。頻度テンソル生成部21は、生成した頻度テンソルを確率的言語モデル生成部22へ出力する。この頻度テンソルは、例えば、bigramモデルのときは、頻度表となる。
In step S21, the frequency
ステップS22において、確率的言語モデル生成部22は、頻度テンソル生成部21から頻度テンソルを受け取り、その頻度テンソルから確率的言語モデルを用いて確率モデルパラメータテンソルを生成する。このとき、確率的言語モデルは、例えば、n-gramモデル等の一般的なものを用いればよい。また、その際にスムージングなどの一般的な操作を含めてもよい。確率的言語モデル生成部22は、生成した確率モデルパラメータテンソルを重みパラメータ逆計算部23へ出力する。
In step S22, the probabilistic language
ステップS23において、重みパラメータ逆計算部23は、確率的言語モデル生成部22から確率モデルパラメータテンソルを受け取り、その確率モデルパラメータテンソルに対してニューラル言語モデルに含まれる非線形変換の逆計算を行い、ニューラル言語モデルに含まれる線形変換で用いる重みパラメータに相当する量(以下、重みパラメータ相当量と呼ぶ)を計算する。重みパラメータ逆計算部23は、計算した重みパラメータ相当量を重みパラメータ補正部24へ出力する。重みパラメータ補正部24を省略した場合には、計算した重みパラメータ相当量を重みパラメータ補間部25へ出力する。
In step S23, the weight parameter
重みパラメータ相当量の逆計算は、以下のようにして行う。まず、softmax関数を式(1)に示す。ここで、Dは次元数である。 The inverse calculation of the weight parameter equivalent amount is performed as follows. First, the softmax function is shown in equation (1). Here, D is the number of dimensions.
このsoftmax関数は、入力に定数を加算しても出力が変化しない性質を持つ。この関係性を具体的に示す。確率モデルの出力ベクトルがP=[p1, p2, …, pd, …, pD]Tと固定されたベクトルであるとする。ここで、[…]Tはベクトルの転置を表す。出力ベクトルPを式(1)のsoftmax関数に代入すると、式(2)となる。 This softmax function has the property that the output does not change even if a constant is added to the input. This relationship will be specifically shown. It is assumed that the output vector of the probabilistic model is a fixed vector with P = [p 1 , p 2 , ..., p d , ..., p D ] T. Here, [...] T represents the transpose of the vector. Substituting the output vector P into the softmax function of equation (1) yields equation (2).
式(2)の分母は次元dに対して定数であるから、 Since the denominator of equation (2) is a constant for dimension d,
とおくと、式(4)〜(6)が成り立つ。 Therefore, the equations (4) to (6) are established.
式(6)は、cを媒介変数とし、入力ベクトルX=[x1, x2, …, xD]TのD次元の空間上で、点[ln(p1), ln(p2), …, ln(pD)]Tを通り、ベクトル[1, 1, …, 1]Tに平行な直線の方程式である。つまり、この直線上の任意の点が、同じ出力ベクトルP=[p1, p2, …, pD]Tを与えることがわかる。ここで、任意の基準を用いて、適当なベクトル^X=[^x1, ^x2, …, ^xD]Tを定めることができるが、ここでは、二乗ノルム最小化基準を用い、||[x1, x2, …, xD]T||2を最小化するもの、つまり、長さが最も短いものを採用する。最適な媒介変数cを^cで表すと、式(7)〜(9)が成り立つ。 Equation (6) uses c as a parameter, and points [ln (p 1 ), ln (p 2 ) on the D-dimensional space of the input vector X = [x 1 , x 2 ,…, x D ] T. ,…, Ln (p D )] T is a straight line equation parallel to the vector [1, 1,…, 1] T. That is, it can be seen that any point on this straight line gives the same output vector P = [p 1 , p 2 , ..., p D ] T. Here, an arbitrary vector can be used to determine an appropriate vector ^ X = [^ x 1 ,, ^ x 2 , ..., ^ x D ] T , but here, using the square norm minimization criterion, || [x 1 , x 2 , ..., x D ] T || The one that minimizes 2 , that is, the one that has the shortest length is adopted. When the optimal parameter c is represented by ^ c, equations (7) to (9) are established.
式(9)を式(6)に代入すると、最終的な逆計算式(10)が定まる。 By substituting equation (9) into equation (6), the final inverse calculation equation (10) is determined.
つまり、以下の式(11)によって、前の単語列が与えられたときの次の単語の事後確率ベクトルP=[p1, p2, …, pD]Tごとに確率モデルパラメータテンソルから重みパラメータ相当量^X=[^x1, ^x2, …, ^xD]Tへの逆計算を行うことができる。 That is, according to the following equation (11), weighting is performed from the probability model parameter tensor for each posterior probability vector P = [p 1 , p 2 ,…, p D ] T of the next word when the previous word string is given. The inverse calculation to the parameter equivalent ^ X = [^ x 1 , ^ x 2 ,…, ^ x D ] T can be performed.
ステップS24において、重みパラメータ補正部24は、重みパラメータ逆計算部23から重みパラメータ相当量を受け取り、ニューラル言語モデル記憶部12に記憶されているニューラル言語モデルの重みパラメータと、分布のパラメータ(平均および分散)が合うように重みパラメータ相当量を補正する。重みパラメータ補正部24は、補正した重みパラメータ相当量を重みパラメータ補間部25へ出力する。
In step S24, the weighting
理論上は、式(11)で計算される量が重みパラメータに相当する量となっているが、実際には、値のレンジが大幅にずれてしまうことがある。そこで、ヒューリスティックに平均と分散をニューラル言語モデルの重みパラメータに合わせることを行う。具体的には、重みパラメータ逆計算部23が求めた重みパラメータ相当量の平均を0、標準偏差を1に正規化し、対応するニューラル言語モデルの重みパラメータから計算した標準偏差を掛け、同様に重みパラメータから計算した平均を足すことで補正を行う。すなわち、重みパラメータ逆計算部23が求めた重みパラメータ相当量の平均をμp、標準偏差をσpとし、対応する重みパラメータの平均をμn、標準偏差をσnとし、d=1, 2, …, Dについて、式(12)を計算して重みパラメータ相当量^X=[^x1, ^x2, …, ^xD]Tを補正する。
Theoretically, the amount calculated by equation (11) is the amount corresponding to the weighting parameter, but in practice, the range of values may shift significantly. Therefore, heuristically adjust the mean and variance to the weighting parameters of the neural language model. Specifically, the weight parameter
ステップS25において、重みパラメータ補間部25は、重みパラメータ補正部24もしくは重みパラメータ逆計算部23から重みパラメータ相当量を受け取り、ニューラル言語モデル記憶部12に記憶されているニューラル言語モデルの重みパラメータと、入力された重みパラメータ相当量とを線形補間することにより、新しい重みパラメータを得る。重みパラメータ補間部25は、ニューラル言語モデル記憶部12に記憶されているニューラル言語モデルの重みパラメータを新しい重みパラメータに更新する。
In step S25, the weight
[変形例1]
第二ドメイン学習データに含まれない単語であって、ニューラル言語モデルには含まれる単語(以下、ミスマッチ単語と呼ぶ)が存在する場合、頻度テンソル生成部21は、以下の方法によって、ミスマッチ単語の仮想的な頻度を定めて、頻度テンソルを生成する。第二ドメイン学習データに含まれない単語に対して確率的言語モデルが出力する事後確率は、元々のニューラル言語モデルが出力する事後確率から大きな変化がないことが望ましい。そのため、ニューラル言語モデルの重みパラメータをsoftmax関数に掛けた後のミスマッチ単語の事後確率に変化がないという制約を用いる。この制約は、ミスマッチ単語が一個のときは簡単に解くことができる。具体的には、softmax関数の入力ベクトルをX=[x1, x2, …, xD]Tとして、最後の要素xDをミスマッチ単語の頻度とし、仮想的な値を求めたいものとする。残りの要素x1, x2, …, xD-1については、具体的な頻度が第二ドメイン学習データの集計により求まっているものとする。出力ベクトルはY=[y1, y2, …, yD]Tとして、最後の要素yDをニューラル言語モデルの重みパラメータにsoftmax関数を掛けて得られたミスマッチ単語の事後確率とし、この値が変化しないようにする。この関係性は式(13)で表される。
[Modification 1]
When a word that is not included in the second domain learning data and that is included in the neural language model (hereinafter, referred to as a mismatch word) exists, the frequency
これは、 this is,
となる。以前に出現した単語の条件ごとに式(14)の計算を行い、求まったxDをミスマッチ単語の仮想的な頻度として用いる。ミスマッチ単語を一個でなく任意の個数とする場合には、上記の関係性から立てた連立方程式を解いて、ミスマッチ単語それぞれの仮想的な頻度として用いればよい。 Becomes Equation (14) is calculated for each condition of previously appeared words, and the obtained x D is used as the virtual frequency of mismatched words. When the number of mismatched words is not one but an arbitrary number, the simultaneous equations established from the above relationships may be solved and used as the virtual frequency of each mismatched word.
[変形例2]
第一実施形態では、重みパラメータ逆計算部23が、底を自然対数とする対数関数lnを用いたが、任意の値を底とする対数関数を用いてもよい。
[Modification 2]
In the first embodiment, the weight parameter
[変形例3]
第一実施形態では、重みパラメータ逆計算部23が、二乗ノルム最小化基準を用いて、||[x1, x2, …, xD]T||2を最小化するベクトル^X=[^x1, ^x2, …, ^xD]Tを重みパラメータ相当量と定めたが、ベクトル^Xを定める基準は任意のものを用いてもよい。例えば、任意のL-pノルムを用いてもよいし、ニューラル言語モデルの重みパラメータに対して近付くように誤差を小さくしてもよい。
[Modification 3]
In the first embodiment, the weight parameter
[変形例4]
重みパラメータ補正部24は、固定の関数またはニューラル言語モデルのパラメータを用いた関数などの任意の関数を用いて、重みパラメータ相当量の値が取り得る幅を変更してもよい。
[Modification 4]
The weighting
[変形例5]
第一実施形態では、重みパラメータ補間部25が、重みパラメータ相当量とニューラル言語モデルの重みパラメータとを線形補間する構成としたが、任意の一般的な補間法、例えば、幾何平均等により補間を行ってもよい。
[Modification 5]
In the first embodiment, the weight
[変形例6]
第一実施形態では、単語列を対象として連接頻度を集計したが、例えば、文字や音素列等、任意の離散値系列を対象としてもよい。
[Modification 6]
In the first embodiment, the concatenation frequency is totaled for the word string, but any discrete value series such as a character or a phoneme string may be targeted.
[変形例7]
第一実施形態では、ニューラル言語モデル、すなわちニューラルネットワークによる言語モデルを対象としたが、他の任意の離散値系列判別を目的としたニューラルネットワークの一部または全部の重みパラメータを対象としてもよい。
[Modification 7]
In the first embodiment, the neural language model, that is, the language model based on the neural network is targeted, but the weighting parameters of a part or all of the neural network for the purpose of discriminating other arbitrary discrete value series may be targeted.
[変形例8]
第一実施形態では、確率的言語モデル生成部22は、確率的言語モデルを用いて確率モデルパラメータテンソルを出力する構成としたが、例えば、RNNやLSTM等、前の単語から次の単語を予測する確率を出力する任意のモデリングを用い、出力された確率値系列を確率モデルパラメータテンソルの代わりに用いてもよい。
[Modification 8]
In the first embodiment, the probabilistic language
[変形例9]
第一実施形態では、第一ドメイン学習データから学習したニューラルネットワークの重みパラメータを初期値としてモデル学習を行う構成を説明したが、重みパラメータ逆計算部23が求めた(すなわち、第二ドメイン学習データから学習した確率モデルの出力ベクトルに対して逆計算した)重みパラメータ相当量を初期値としてモデル学習を行ってもよい。また、重みパラメータ逆計算部23が求めた重みパラメータ相当量を平均とするガウス分布を事前分布としてモデル学習を行ってもよい。
[Modification 9]
In the first embodiment, the configuration in which the model learning is performed by using the weight parameter of the neural network learned from the first domain learning data as an initial value has been described, but the weight parameter
[第二実施形態]
第一実施形態では、系列モデリングの一例として、ニューラルネットワークによる言語モデルに対してこの発明を適用した一般的な構成例を説明した。第二実施形態では、より実用的な構成例として、CTCニューラルネットワークを用いた音響モデルに対してこの発明を適用した構成例を説明する。
[Second embodiment]
In the first embodiment, as an example of sequence modeling, a general configuration example in which the present invention is applied to a language model by a neural network has been described. In the second embodiment, as a more practical configuration example, a configuration example in which the present invention is applied to an acoustic model using a CTC neural network will be described.
主に音声認識に用いられるConnectionist Temporal Classification(以下、CTC)は、ニューラルネットワーク(NN: Neural Network)を用いた機械学習による系列変換モデルの一種であり、隠れマルコフモデル(HMM: Hidden Markov Model)相当の機能をニューラルネットワークに行わせることができる枠組みである。音声認識において現在一般的に使われているNN-HMMハイブリッド方式では、音をシンボルに変換する音響モデルにおいて、入力系列と出力系列の長さが一対一である制約がある。一方、CTCでは通常の出力シンボルに加えて、空白を表現する空シンボルを導入することにより、系列長の短くなる変換をNN音響モデルに行わせることができるようになっている。そのため、音声認識であれば、単位時間(以下、フレームとも呼ぶ)毎の音響特徴ベクトルの入力に対し、音素や文字、単語等を直接出力系列として、音響モデルや音声認識器を学習することができる(参考文献1参照)。 Connectionist Temporal Classification (CTC), which is mainly used for speech recognition, is a kind of sequence conversion model by machine learning using neural network (NN: Neural Network) and is equivalent to Hidden Markov Model (HMM). It is a framework that allows the neural network to perform the function of. The NN-HMM hybrid method, which is commonly used in speech recognition, has a constraint that the length of the input sequence and the output sequence is one-to-one in the acoustic model that converts sounds into symbols. On the other hand, in CTC, the NN acoustic model can be transformed by introducing an empty symbol that represents a blank in addition to the usual output symbol. Therefore, in the case of speech recognition, it is possible to learn an acoustic model or a speech recognizer by directly inputting an acoustic feature vector for each unit time (hereinafter, also referred to as a frame) using phonemes, characters, words, etc. as output sequences. Yes (see Reference 1).
〔参考文献1〕Yajie Miao, Mohammad Gowayyed, and Florian Metze, "EESEN: End-to-End Speech Recognition using Deep RNN Models and WFST-based Decoding", 2015 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU), IEEE, 2015.
第二実施形態の音声認識システムは、例えば、音響モデル学習装置と音声認識装置とを含む。音響モデル学習装置は、学習音声と各学習音声に関するテキスト情報(例えば、文字、音素、HMM状態等、音声の変換先のシンボル情報)とを含む学習データを用いて、学習音声から生成された音響特徴ベクトルとともに音響特徴ベクトルの変換先の正解系列としてテキスト情報を入力し、このペアを用いてCTCによる音響モデルを学習する。音声認識装置は、音響モデル学習装置により学習した音響モデルを用いて、入力音声の音声認識を行う。
[Reference 1] Yajie Miao, Mohammad Gowayyed, and Florian Metze, "EESEN: End-to-End Speech Recognition using Deep RNN Models and WFST-based Decoding", 2015 IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU), IEEE , 2015.
The voice recognition system of the second embodiment includes, for example, an acoustic model learning device and a voice recognition device. The acoustic model learning device uses a learning data including learning voices and text information (for example, characters, phonemes, HMM states, and the like, symbol information of a voice conversion destination) related to each learning voice, and generates an acoustic sound generated from the learning voice. Along with the feature vector, text information is input as the correct sequence of the transformation destination of the acoustic feature vector, and the acoustic model by CTC is learned using this pair. The voice recognition device performs voice recognition of the input voice using the acoustic model learned by the acoustic model learning device.
音響モデル学習装置は、図3に示すように、学習データ記憶部30、文脈保存ベクトル生成部31、事後確率計算部32、文脈保存ベクトル計算部33、文脈保存ベクトル連結部34、音響モデル記憶部35、テキストデータ記憶部40、頻度テンソル生成部41、確率的言語モデル生成部42、重みパラメータ逆計算部43、重みパラメータ補正部44、および重みパラメータ補間部45を含む。ただし、重みパラメータ補正部44は必須の構成ではなく、省略することも可能である。第二実施形態の音響モデル学習装置が、図5に示す各ステップの処理を行うことにより第二実施形態の音響モデル学習方法が実現される。
As shown in FIG. 3, the acoustic model learning device includes a learning
音声認識装置は、図4に示すように、音響モデル記憶部35、言語モデル記憶部36、および音声認識部37を含む。第二実施形態の音声認識装置が、図6に示す各ステップの処理を行うことにより第二実施形態の音声認識方法が実現される。
As shown in FIG. 4, the voice recognition device includes an acoustic
音響モデル学習装置および音声認識装置は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知または専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。音響モデル学習装置および音声認識装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。音響モデル学習装置および音声認識装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、音響モデル学習装置および音声認識装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。音響モデル学習装置および音声認識装置が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。音響モデル学習装置および音声認識装置が備える各記憶部は、それぞれ論理的に分割されていればよく、一つの物理的な記憶装置に記憶されていてもよい。 In the acoustic model learning device and the speech recognition device, for example, a special program is loaded into a known or dedicated computer having a central processing unit (CPU), a main storage device (RAM: Random Access Memory), and the like. It is a special device configured. The acoustic model learning device and the speech recognition device execute each process under the control of the central processing unit, for example. The data input to the acoustic model learning device and the voice recognition device and the data obtained by each process are stored in, for example, the main storage device, and the data stored in the main storage device are read as necessary and It is used for processing. Further, at least a part of each processing unit of the acoustic model learning device and the voice recognition device may be configured by hardware such as an integrated circuit. Each storage unit included in the acoustic model learning device and the voice recognition device is, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary device including a semiconductor memory device such as a hard disk, an optical disk, or a flash memory (Flash Memory). It can be configured by a storage device or middleware such as a relational database or a key-value store. Each storage unit included in the acoustic model learning device and the voice recognition device may be logically divided, and may be stored in one physical storage device.
以下、図5を参照しながら、第二実施形態の音響モデル学習装置が実行する音響モデル学習方法を説明する。 Hereinafter, the acoustic model learning method executed by the acoustic model learning device of the second embodiment will be described with reference to FIG.
音響モデル学習装置の学習データ記憶部30には、音響モデルの学習に用いる学習データが記憶されている。学習データは、学習音声と各学習音声の内容に関するテキスト情報(例えば、HMM状態、音素、文字、単語等)とを含む。学習データは手動で収集してもよいし、公知の学習データ生成技術を用いて自動的に生成してもよい。学習データは予め十分な量を用意して学習データ記憶部30に記憶しておく。
The learning
音響モデル学習装置の音響モデル記憶部35には、CTCによる音響モデルが記憶されている。初期状態では従来技術のCTCによる音響モデルを用意して記憶しておけばよい。
An acoustic model based on CTC is stored in the acoustic
ステップS31において、文脈保存ベクトル生成部31は、文脈保存ベクトルK0=[k0,1, k0,2, k0,3, k0,4, …]Tを生成する。文脈保存ベクトルK0の各次元は任意の値(例えば、0や1)に初期化する。文脈保存ベクトル生成部31は入力なしに動作することができるが、初期化に用いる値(例えば、0や1)を入力としてもよい。生成した文脈保存ベクトルK0は、音響モデル記憶部35に記憶されている音響モデルにおけるCTCニューラルネットワークの入力層もしくは隠れ層の任意の位置に連結する。連結とは、文脈保存ベクトルの情報を用いてCTCニューラルネットワークのパラメータに影響を与えるようにすることである。例えば、元々のCTCニューラルネットワークの隠れ層の前または後ろに文脈保存ベクトルを繋げ、隠れ層のベクトルの長さと文脈保存ベクトルの長さの和の長さであるベクトルを新規に生成する。または、個々の文脈保存ベクトルを隠れ層や出力層の大きさに変換する行列を別に用意し、行列による変換の結果を元々のCTCニューラルネットワークの出力層のベクトルと加算する。
In step S31, the context-preserving
ステップS32において、事後確率計算部32は、学習データ記憶部30に記憶されている学習音声から抽出した時刻t+1(t≧0)における音響特徴ベクトルXt+1=[xt+1,1, xt+1,2, xt+1,3, xt+1,4, …]Tと、前の時刻tにおける文脈保存ベクトルKtとを、音響モデル記憶部35に記憶されている音響モデルのCTCニューラルネットワークへ入力し、出力シンボルに対する事後確率ベクトルCt+1=[ct+1,1, ct+1,2, ct+1,3, ct+1,4, …]T(以下、出力事後確率ベクトルと呼ぶ)と、出力シンボルが空シンボルである確率を表す空シンボル確率φt+1とを得る。出力事後確率ベクトルCt+1と正解系列とは、CTCニューラルネットワークの誤差関数へ入力され、CTCニューラルネットワークのパラメータの更新に使用される。事後確率計算部32は、出力事後確率ベクトルCt+1および空シンボル確率φt+1を文脈保存ベクトル計算部33へ出力する。
In step S32, the posterior
ステップS33において、文脈保存ベクトル計算部33は、事後確率計算部32から出力事後確率ベクトルCt+1および空シンボル確率φt+1を受け取り、空シンボル確率φt+1に基づいて一つ前の時刻tにおける文脈保存ベクトルKt=[kt,1, kt,2, kt,3, kt,4, …]Tを更新して、現在の時刻t+1における文脈保存ベクトルKt+1=[kt+1,1, kt+1,2, kt+1,3, kt+1,4, …]Tを生成する。文脈保存ベクトル計算部33は、例えば、空シンボル確率φt+1が空シンボルであることを示す場合には、CTCニューラルネットワークが最後に空シンボル以外のシンボルを出力した際の出力事後確率ベクトルを保持し、空シンボル確率φt+1が空シンボルでないことを示す場合には、CTCニューラルネットワークが今回出力した出力事後確率ベクトルCt+1を記録するように、文脈保存ベクトルKt+1を計算する。文脈保存ベクトル計算部33は、計算した文脈保存ベクトルKt+1を文脈保存ベクトル連結部34へ出力する。
In step S33, the context-preserving
文脈保存ベクトルの計算には、例えば、電子回路におけるフリップフロップ回路に類似した更新則を用いる。CTCニューラルネットワークが出力する空シンボル確率φt+1は0から1までの値を取り、1に近いほど空シンボルである可能性が高いことを表す。簡単のため、その両端の場合を考えると、 The calculation of the context-preserving vector uses, for example, an update rule similar to a flip-flop circuit in an electronic circuit. The empty symbol probability φ t + 1 output by the CTC neural network takes a value from 0 to 1, and the closer it is to 1, the higher the possibility of an empty symbol. For simplicity, considering the case of both ends,
のように、空シンボルではない場合(φt+1=0)には現在の時刻t+1における出力事後確率ベクトルCt+1の内容を記録し、空シンボルの場合(φt+1=1)には一つ前の時刻tにおける文脈保存ベクトルKtの内容を保持する。具体的には、出力された空シンボル確率φt+1が所定の閾値以上であればφt+1=1とし、空シンボル確率φt+1が所定の閾値未満であればφt+1=0とする等の手段により空シンボル確率φt+1を二値化し、式(15)のような更新則を用いればよい。また、両端が含まれるように自然に連続的に拡張した更新則として、式(16)を定義して計算してもよい。 If it is not an empty symbol (φ t + 1 = 0), the content of the output posterior probability vector C t + 1 at the current time t + 1 is recorded, and if it is an empty symbol (φ t + 1 = In 1), the contents of the context-preserving vector K t at the previous time t are retained. Specifically, if the output empty symbol probability φ t + 1 is greater than or equal to a predetermined threshold value, then φ t + 1 = 1, and if the empty symbol probability φ t + 1 is less than the predetermined threshold value, then φ t + 1 The empty symbol probability φ t + 1 may be binarized by a means such as = 0, and an update rule such as equation (15) may be used. Further, Equation (16) may be defined and calculated as an update rule that is naturally and continuously expanded to include both ends.
ただし、 However,
は要素毎の積を表す。[1, …, 1]Tは1を縦に並べたベクトルを表す。Φt+1は空シンボル確率φt+1を出力事後確率ベクトルCt+1の次元数分並べた縦ベクトル、すなわち、Φt+1=[φt+1, …, φt+1]Tである。 Represents the product of each element. [1,…, 1] T represents a vector in which 1s are arranged vertically. Φ t + 1 is a vertical vector in which empty symbol probabilities φ t + 1 are arranged by the number of dimensions of the output posterior probability vector C t + 1 , that is, Φ t + 1 = [φ t + 1 , ..., φ t + 1 ]. T.
式(16)は式(17)のように書き下すことも可能である。 Equation (16) can also be rewritten as equation (17).
文脈保存ベクトル計算部33は、出力シンボルに対する事後確率ベクトルCt+1の代わりに、図7に示す入力層、第一隠れ層、最終隠れ層等の、ニューラルネットワークの隠れ層等の他の内部パラメータや、入力された音響特徴ベクトルXt+1を用いてもよい。また、文脈保存ベクトル計算部33は、公知の次元削減手段を用いて文脈保存ベクトルKt+1を低次元化して出力してもよいし、平均化や正規化、離散化等の予め固定された関数による変換を行った後に出力してもよい。
The context-preserving
ステップS34において、文脈保存ベクトル連結部34は、文脈保存ベクトル計算部33から文脈保存ベクトルKt+1を受け取り、音響モデル記憶部35に記憶されているCTCニューラルネットワークに対して文脈保存ベクトルKt+1を連結する。文脈保存ベクトルの連結は、各時刻に更新された文脈保存ベクトルを受け取るたびに行う。文脈保存ベクトルを連結する際には、図8に示すように、出力シンボル系列のマルコフ性を表す行列を用いた線形変換を適用した後、直接出力層に加算等で統合するようなCTCニューラルネットワークを作成する。行列による線形変換を適用するとき、文脈保存ベクトルが入力される行列を、外部の言語資源等からの情報を反映したような出力シンボル系列のマルコフ性を表す行列とする。この行列は、外部の言語資源等を集計することにより算出したシンボル遷移確率を用いて、外部から行列の値に影響を与える操作(例えば、線形補間等)により、外部の言語資源等からの情報を反映するように構成されるものである。
In step S34, the context saved
文脈保存ベクトルKt+1を線形変換する際に用いる出力シンボル系列のマルコフ性を表す行列は、ステップS41からS45の処理により学習したものである。出力シンボル系列のマルコフ性を表す行列の学習は、文脈保存ベクトルKt+1をCTCニューラルネットワークへ連結するより前であれば、任意のタイミングで行えばよい。以下、出力シンボル系列のマルコフ性を表す行列は、重みパラメータとも呼ぶ。 The matrix representing the Markov property of the output symbol sequence used when linearly converting the context-preserving vector K t + 1 is the one learned by the processing of steps S41 to S45. The learning of the matrix representing the Markov property of the output symbol sequence may be performed at any timing before connecting the context-preserving vector K t + 1 to the CTC neural network. Hereinafter, the matrix representing the Markov property of the output symbol sequence is also referred to as a weight parameter.
テキストデータ記憶部40には、少なくとも1つの単語列が含まれる複数のテキストデータが記憶されている。このテキストデータは手動で収集してもよいし、インターネット等から取得できる言語資源から自動で収集してもよいし、公知の学習データ生成技術を用いて自動的に生成してもよい。テキストデータは予め十分な量を用意してテキストデータ記憶部40に記憶しておく。
The text
ステップS41において、頻度テンソル生成部41は、テキストデータ記憶部40に記憶されたテキストデータを読み込み、そのテキストデータに含まれる単語の連接頻度を集計し、頻度テンソルを生成する。頻度テンソル生成部41は、生成した頻度テンソルを確率的言語モデル生成部42へ出力する。
In step S41, the frequency tensor generation unit 41 reads the text data stored in the text
ステップS42において、確率的言語モデル生成部42は、頻度テンソル生成部41から頻度テンソルを受け取り、その頻度テンソルから確率的言語モデルを用いて確率モデルパラメータテンソルを生成する。このとき、確率的言語モデルは、例えば、n-gramモデル等の一般的なものを用いればよい。また、その際にスムージングなどの一般的な操作を含めてもよい。確率的言語モデル生成部42は、生成した確率モデルパラメータテンソルを重みパラメータ逆計算部43へ出力する。
In step S42, the probabilistic language model generation unit 42 receives the frequency tensor from the frequency tensor generation unit 41 and generates a probabilistic model parameter tensor from the frequency tensor using the probabilistic language model. At this time, as the probabilistic language model, for example, a general one such as an n-gram model may be used. Further, at that time, a general operation such as smoothing may be included. The probabilistic language model generation unit 42 outputs the generated probabilistic model parameter tensor to the weight parameter
ステップS43において、重みパラメータ逆計算部43は、確率的言語モデル生成部42から確率モデルパラメータテンソルを受け取り、その確率モデルパラメータテンソルに対してCTCニューラルネットワークに含まれる非線形変換の逆計算を行い、出力シンボル系列のマルコフ性を表す行列(すなわち、重みパラメータ)に相当する量(以下、重みパラメータ相当量と呼ぶ)を生成する。重みパラメータ相当量の逆計算は、第一実施形態の重みパラメータ逆計算部と同様に、式(11)により行えばよい。重みパラメータ逆計算部43は、計算した重みパラメータ相当量を重みパラメータ補正部44へ出力する。重みパラメータ補正部44を省略した場合には、計算した重みパラメータ相当量を重みパラメータ補間部45へ出力する。
In step S43, the weight parameter
ステップS44において、重みパラメータ補正部44は、重みパラメータ逆計算部43から重みパラメータ相当量を受け取り、音響モデル記憶部35に記憶されている重みパラメータと、分布のパラメータ(平均および分散)が合うように重みパラメータ相当量を補正する。重みパラメータ相当量の補正は、第一実施形態の重みパラメータ補正部と同様に、式(12)により行えばよい。重みパラメータ補正部44は、補正した重みパラメータ相当量を重みパラメータ補間部45へ出力する。
In step S44, the weighting
ステップS45において、重みパラメータ補間部45は、重みパラメータ補正部44もしくは重みパラメータ逆計算部43から重みパラメータ相当量を受け取り、音響モデル記憶部35に記憶されているCTCニューラルネットワークの重みパラメータと、入力された重みパラメータ相当量とを線形補間することにより、新しい重みパラメータを得る。重みパラメータ補間部45は、音響モデル記憶部35に記憶されているCTCニューラルネットワークの重みパラメータを新しい重みパラメータに更新する。
In step S45, the weight
以下、図6を参照しながら、第二実施形態の音声認識装置が実行する音声認識方法を説明する。 Hereinafter, the voice recognition method executed by the voice recognition device of the second embodiment will be described with reference to FIG.
音声認識装置の音響モデル記憶部35には、音響モデル学習装置により学習したCTCによる音響モデルが記憶されている。
The acoustic
音声認識装置の言語モデル記憶部36には、音声認識に用いる言語モデルが記憶されている。言語モデルの種類は、音声認識部37が音声認識を行う際に利用可能なものであればどのようなものであってもよい。
The language
ステップS37において、音声認識部37は、音響モデル記憶部35に記憶された音響モデルと言語モデル記憶部36に記憶された言語モデルとを用いて、入力音声を音声認識し、その音声認識結果を出力する。音声認識部37は、CTCによる音響モデル単体を用いて音声認識を行う音声認識器でもよいし、CTCによる音響モデルを重み付き有限状態トランスデューサ(WFST: Weighted Finite-State Transducer)と組み合わせた音声認識器であってもよい。
In step S37, the
第二実施形態では、音響モデル学習装置と音声認識装置とを別々の装置として構成した音声認識システムを説明したが、音響モデル学習装置と音声認識装置とが備える機能をすべて備えた一台の音声認識装置として構成してもよい。すなわち、学習データ記憶部30、文脈保存ベクトル生成部31、事後確率計算部32、文脈保存ベクトル計算部33、文脈保存ベクトル連結部34、音響モデル記憶部35、言語モデル記憶部36、音声認識部37、テキストデータ記憶部40、頻度テンソル生成部41、確率的言語モデル生成部42、重みパラメータ逆計算部43、重みパラメータ補正部44、および重みパラメータ補間部45を含む音声認識装置を構成することも可能である。
In the second embodiment, the speech recognition system in which the acoustic model learning device and the speech recognition device are configured as separate devices has been described. However, a single speech having all the functions of the acoustic model learning device and the speech recognition device is provided. It may be configured as a recognition device. That is, the learning
上記のように構成することにより、第二実施形態の音響モデル学習装置は、CTCによる音響モデルの学習に用いる学習データとは異なる外部の言語資源であるテキストデータを用いて出力シンボル系列のマルコフ性を表す行列を学習することができる。学習データは学習音声と書き起こしのテキスト情報であるため、収集のために要するコストが大きいが、テキストデータは例えばインターネット等の既存の資源が利用できるため小さいコストで十分な量を収集することが可能である。これにより、第二実施形態の音響モデル学習装置によれば、効率的に高精度なCTCによる音響モデルを学習することができる。 With the above configuration, the acoustic model learning device of the second embodiment uses the Markov property of the output symbol sequence by using text data that is an external language resource different from the learning data used for learning the acoustic model by CTC. You can learn the matrix that represents. Since the learning data is the learning voice and the text information of the transcription, the cost required for the collection is large, but since the existing resources such as the Internet can be used for the text data, it is possible to collect a sufficient amount at a small cost. It is possible. As a result, according to the acoustic model learning device of the second embodiment, it is possible to efficiently and highly accurately learn the acoustic model by CTC.
[第三実施形態]
上記の各実施形態で説明した重みパラメータ逆計算部、重みパラメータ補正部、および重みパラメータ補間部を独立した装置として構成し、確率モデルパラメータを入力としてニューラルネットワークの重みパラメータを補間する重みパラメータ補間装置を構成することも可能である。
[Third embodiment]
A weight parameter interpolating device that configures the weight parameter inverse calculating unit, the weight parameter correcting unit, and the weight parameter interpolating unit described in each of the above embodiments as independent devices, and interpolates the weight parameter of the neural network using the probabilistic model parameters as inputs Can also be configured.
第三実施形態の重みパラメータ補間装置は、図9に示すように、重みパラメータ記憶部50、重みパラメータ逆計算部51、重みパラメータ補正部52、および重みパラメータ補間部53を含む。ただし、重みパラメータ補正部52は必須の構成ではなく、省略することも可能である。第三実施形態の重みパラメータ補間装置が、図10に示す各ステップの処理を行うことにより、第三実施形態の重みパラメータ補間方法が実現される。
As shown in FIG. 9, the weight parameter interpolation device of the third embodiment includes a weight
重みパラメータ補間装置は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知または専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。重みパラメータ補間装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。重みパラメータ補間装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、重みパラメータ補間装置の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。重みパラメータ補間装置が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。 The weight parameter interpolating device is a special program configured by loading a special program into a known or dedicated computer having a central processing unit (CPU), a main storage device (RAM: Random Access Memory), or the like. It is a device. The weight parameter interpolating device executes each process under the control of the central processing unit, for example. The data input to the weight parameter interpolating device and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out as needed and used for other processes. To be done. Further, at least a part of each processing unit of the weight parameter interpolating device may be configured by hardware such as an integrated circuit. Each storage unit included in the weight parameter interpolating device is, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory device such as a hard disk, an optical disk, or a flash memory (Flash Memory), or It can be configured by middleware such as relational database and key-value store.
以下、図10を参照しながら、第三実施形態の重みパラメータ補間装置が実行する重みパラメータ補間方法の処理手続きを説明する。 Hereinafter, the processing procedure of the weight parameter interpolation method executed by the weight parameter interpolation device of the third embodiment will be described with reference to FIG. 10.
重みパラメータ記憶部50には、あるドメインに属する学習データ(以下、第一学習データ)から学習したニューラルネットワークに含まれる線形変換で用いる重みパラメータが記憶されている。
The weight
ステップS51において、重みパラメータ逆計算部51は、重みパラメータ補間装置に入力された確率モデルパラメータテンソルに対してニューラルネットワークの非線形変換の逆計算を行い、重みパラメータ相当量を生成する。確率モデルパラメータテンソルは、第一学習データとは異なるドメインに属する学習データ(以下、第二学習データ)から処理単位(例えば、単語や形態素、文字、音素等、任意の離散値系列)毎の連接頻度を表す頻度テンソルを生成し、その頻度テンソルから確率モデルを用いて生成したものである。重みパラメータ相当量の逆計算は、第一実施形態の重みパラメータ逆計算部と同様に、式(11)により行えばよい。重みパラメータ逆計算部51は、計算した重みパラメータ相当量を重みパラメータ補正部52へ出力する。重みパラメータ補正部52を省略した場合には、計算した重みパラメータ相当量を重みパラメータ補間部53へ出力する。
In step S51, the weight parameter
ステップS52において、重みパラメータ補正部52は、重みパラメータ逆計算部51から重みパラメータ相当量を受け取り、重みパラメータ記憶部50に記憶されている重みパラメータと、分布のパラメータ(平均および分散)が合うように重みパラメータ相当量を補正する。重みパラメータ相当量の補正は、第一実施形態の重みパラメータ補正部と同様に、式(12)により行えばよい。重みパラメータ補正部52は、補正した重みパラメータ相当量を重みパラメータ補間部53へ出力する。
In step S52, the weighting
ステップS53において、重みパラメータ補間部53は、重みパラメータ補正部52もしくは重みパラメータ逆計算部51から重みパラメータ相当量を受け取り、重みパラメータ記憶部50に記憶されている重みパラメータと、入力された重みパラメータ相当量とを線形補間することにより、新しい重みパラメータを得る。重みパラメータ補間部53は、新しい重みパラメータを重みパラメータ補間装置の出力とする。
In step S53, the weight
[発明のポイント]
ニューラルネットワークで用いるsoftmax関数は、単写ではないため、逆関数が存在しない。しかし、それに相当する操作(すなわち、逆計算)を考えることにより、確率ベクトルをニューラルネットワークで用いる重みパラメータに相当する量に変換することができる。元々のニューラルネットワークで用いる重みパラメータと、別ドメインのテキストデータから計算した確率モデルのパラメータテンソルを重みパラメータに相当する量に変換したものとを補間することによって、別ドメインへのモデル適応ができる。また、変換量を初期値や制約として再学習を行うなど、この性質を用いた学習によって、単なる出力のリスコアリングではないモデルの改善を実現できる。
[Points of the Invention]
Since the softmax function used in the neural network is not a single shot, there is no inverse function. However, the probability vector can be converted into an amount corresponding to the weighting parameter used in the neural network by considering an operation (that is, inverse calculation) corresponding to that. The model can be adapted to another domain by interpolating the weight parameter used in the original neural network and the parameter tensor of the probabilistic model calculated from the text data of another domain converted into an amount corresponding to the weight parameter. In addition, learning using this property, such as performing re-learning with the conversion amount as an initial value or a constraint, can improve a model that is not simply rescoring of output.
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。 Although the embodiments of the present invention have been described above, the specific configuration is not limited to these embodiments, and even if the design is appropriately changed without departing from the gist of the present invention, Needless to say, it is included in the present invention. The various kinds of processing described in the embodiments may be executed not only in time series according to the order described, but also in parallel or individually according to the processing capability of the device that executes the processing or the need.
[プログラム、記録媒体]
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
[Program, recording medium]
When various processing functions in each device described in the above embodiments are realized by a computer, processing contents of functions that each device should have are described by a program. By executing this program on a computer, various processing functions of the above-described devices are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded in a computer-readable recording medium. The computer-readable recording medium may be any recording medium such as a magnetic recording device, an optical disc, a magneto-optical recording medium, or a semiconductor memory.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or a CD-ROM in which the program is recorded. Further, the program may be stored in a storage device of a server computer and transferred from the server computer to another computer via a network to distribute the program.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, the program recorded on a portable recording medium or the program transferred from the server computer in its own storage device. Then, when executing the process, this computer reads the program stored in its own storage device and executes the process according to the read program. As another execution form of this program, a computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to this computer. Each time, the processing according to the received program may be sequentially executed. In addition, a configuration in which the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by the execution instruction and result acquisition without transferring the program from the server computer to this computer May be It should be noted that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to a computer but has the property of defining computer processing).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 Further, in this embodiment, the present apparatus is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be implemented by hardware.
10 第一学習データ記憶部
11 ニューラル言語モデル生成部
12 ニューラル言語モデル記憶部
20 第二学習データ記憶部
21 頻度テンソル生成部
22 確率的言語モデル生成部
23 重みパラメータ逆計算部
24 重みパラメータ補正部
25 重みパラメータ補間部
30 学習データ記憶部
31 文脈保存ベクトル生成部
32 事後確率計算部
33 文脈保存ベクトル計算部
34 文脈保存ベクトル連結部
35 音響モデル記憶部
36 言語モデル記憶部
37 音声認識部
40 テキストデータ記憶部
41 頻度テンソル生成部
42 確率的言語モデル生成部
43 重みパラメータ逆計算部
44 重みパラメータ補正部
45 重みパラメータ補間部
50 重みパラメータ記憶部
51 重みパラメータ逆計算部
52 重みパラメータ補正部
53 重みパラメータ補間部
10 First Learning
Claims (8)
学習音声から抽出した音響特徴ベクトルを上記ニューラルネットワークに入力して上記事後確率ベクトルと上記空シンボル確率とを得る事後確率計算部と、
上記空シンボル確率に基づいて上記ニューラルネットワークが以前の時刻に出力した事後確率ベクトルもしくは上記ニューラルネットワークが現在の時刻に出力した事後確率ベクトルを選択して保持する文脈保存ベクトルを計算する文脈保存ベクトル計算部と、
上記文脈保存ベクトルが計算されるたびに重みパラメータを用いて上記文脈保存ベクトルを線形変換して上記ニューラルネットワークの最終隠れ層の出力と加算して上記ニューラルネットワークの出力層に連結する文脈保存ベクトル連結部と、
単語列の集合であるテキストデータから確率モデルを用いて確率モデルパラメータを生成する確率モデル生成部と、
上記確率モデルパラメータに対して上記ニューラルネットワークに含まれる非線形変換の逆計算を行い、重みパラメータ相当量を計算する重みパラメータ逆計算部と、
上記線形変換で用いる重みパラメータと上記重みパラメータ相当量との補間を行う重みパラメータ補間部と、
を含む音響モデル学習装置。 Store an acoustic model using a neural network that receives an acoustic feature vector as an input and outputs a posterior probability vector for an output symbol corresponding to the acoustic feature vector and an empty symbol probability that represents the probability that the output symbol is an empty symbol. An acoustic model storage unit that
A posterior probability calculation unit that inputs the acoustic feature vector extracted from the learning voice to the neural network to obtain the posterior probability vector and the empty symbol probability,
Context-preserving vector calculation for selecting and retaining the posterior probability vector output by the neural network at the previous time or the posterior probability vector output by the neural network at the current time based on the empty symbol probability Department,
Each time the context-preserving vector is calculated, the context-preserving vector is linearly transformed by using a weight parameter, added to the output of the final hidden layer of the neural network, and connected to the output layer of the neural network. Department,
A probabilistic model generation unit that generates a probabilistic model parameter using a probabilistic model from text data that is a set of word strings,
A weight parameter inverse calculation unit that performs inverse calculation of the non-linear transformation included in the neural network on the stochastic model parameter and calculates a weight parameter equivalent amount,
A weight parameter interpolating unit that interpolates the weight parameter used in the linear conversion and the weight parameter equivalent amount,
Acoustic model learning device including.
第二ドメインに属する離散値系列の集合である第二学習データから確率モデルを用いて確率モデルパラメータを生成する確率モデル生成部と、
上記確率モデルパラメータに対して上記非線形変換の逆計算を行い、重みパラメータ相当量を計算する重みパラメータ逆計算部と、
上記線形変換で用いる重みパラメータと上記重みパラメータ相当量との補間を行う重みパラメータ補間部と、
を含むモデル学習装置。 A neural network that performs a linear transformation on the input vector using the weighting parameters learned from the first learning data, which is a set of discrete value sequences belonging to the first domain, and performs a nonlinear transformation on the input vector after the linear transformation. A neural network storage unit for storing,
A probabilistic model generation unit that generates a probabilistic model parameter using a probabilistic model from the second learning data that is a set of discrete value series belonging to the second domain,
An inverse calculation of the non-linear transformation is performed on the stochastic model parameter, and a weight parameter inverse calculation unit that calculates a weight parameter equivalent amount,
A weight parameter interpolating unit that interpolates the weight parameter used in the linear conversion and the weight parameter equivalent amount,
Model learning device including.
上記重みパラメータ相当量の分布パラメータが上記重みパラメータの分布パラメータと合うように上記重みパラメータ相当量を補正する重みパラメータ補正部をさらに含む、
モデル学習装置。 The model learning device according to claim 2, wherein
A weight parameter correction unit that corrects the weight parameter equivalent amount so that the distribution parameter of the weight parameter equivalent amount matches the distribution parameter of the weight parameter,
Model learning device.
上記重みパラメータ補間部は、線形補間もしくは幾何平均により、上記重みパラメータと上記重みパラメータ相当量との補間を行うものである、
モデル学習装置。 The model learning device according to claim 2 or 3, wherein
The weighting parameter interpolating unit performs interpolation between the weighting parameter and the weighting parameter equivalent amount by linear interpolation or geometric mean.
Model learning device.
上記確率モデル生成部は、上記第一学習データに含まれるが上記第二学習データに含まれないミスマッチデータについて、上記重みパラメータを上記非線形変換した後の上記ミスマッチデータの出現確率が変化しないように上記ミスマッチデータの頻度を定めて、上記確率モデルパラメータを生成するものである、
モデル学習装置。 The model learning device according to any one of claims 2 to 4,
The probability model generation unit, for the mismatch data included in the first learning data but not included in the second learning data, so that the appearance probability of the mismatch data after the nonlinear conversion of the weighting parameter does not change. The frequency of the mismatch data is determined, and the probability model parameter is generated.
Model learning device.
上記ニューラルネットワークは、上記重みパラメータ相当量を初期値とし、または、上記重みパラメータ相当量が平均となるガウス分布を事前確率として学習したものである、
モデル学習装置。 The model learning device according to any one of claims 2 to 5,
The neural network is one in which the weight parameter equivalent amount is an initial value, or a Gaussian distribution in which the weight parameter equivalent amount is an average is learned as a prior probability.
Model learning device.
確率モデル生成部が、第二ドメインに属する離散値系列の集合である第二学習データから確率モデルを用いて確率モデルパラメータを生成し、
重みパラメータ逆計算部が、上記確率モデルパラメータに対して上記非線形変換の逆計算を行い、重みパラメータ相当量を計算し、
重みパラメータ補間部が、上記線形変換で用いる重みパラメータと上記重みパラメータ相当量との補間を行う、
モデル学習方法。 The neural network storage unit performs a linear transformation on the input vector using the weighting parameter learned from the first learning data, which is a set of discrete value sequences belonging to the first domain, and nonlinearly transforms the input vector after the linear transformation. It stores the neural network that performs the conversion,
The probabilistic model generation unit generates a probabilistic model parameter using a probabilistic model from the second learning data that is a set of discrete value series belonging to the second domain,
The weight parameter inverse calculation unit performs the inverse calculation of the non-linear transformation on the stochastic model parameter to calculate the weight parameter equivalent amount,
A weight parameter interpolating unit interpolates the weight parameter used in the linear conversion and the weight parameter equivalent amount,
Model learning method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017074365A JP6691501B2 (en) | 2017-04-04 | 2017-04-04 | Acoustic model learning device, model learning device, model learning method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017074365A JP6691501B2 (en) | 2017-04-04 | 2017-04-04 | Acoustic model learning device, model learning device, model learning method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018180045A JP2018180045A (en) | 2018-11-15 |
JP6691501B2 true JP6691501B2 (en) | 2020-04-28 |
Family
ID=64276069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017074365A Active JP6691501B2 (en) | 2017-04-04 | 2017-04-04 | Acoustic model learning device, model learning device, model learning method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6691501B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113632165A (en) * | 2019-03-28 | 2021-11-09 | 索尼集团公司 | Information processing apparatus, information processing method, and program |
US11423883B2 (en) * | 2019-05-06 | 2022-08-23 | Google Llc | Contextual biasing for speech recognition |
-
2017
- 2017-04-04 JP JP2017074365A patent/JP6691501B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018180045A (en) | 2018-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6712642B2 (en) | Model learning device, method and program | |
CN112289342B (en) | Generating audio using neural networks | |
US11264044B2 (en) | Acoustic model training method, speech recognition method, acoustic model training apparatus, speech recognition apparatus, acoustic model training program, and speech recognition program | |
US9984683B2 (en) | Automatic speech recognition using multi-dimensional models | |
US20190325859A1 (en) | System and methods for adapting neural network acoustic models | |
KR102167719B1 (en) | Method and apparatus for training language model, method and apparatus for recognizing speech | |
JP6651629B2 (en) | Expansion of neural network using external memory | |
JP6222821B2 (en) | Error correction model learning device and program | |
US11450332B2 (en) | Audio conversion learning device, audio conversion device, method, and program | |
JP5982297B2 (en) | Speech recognition device, acoustic model learning device, method and program thereof | |
US11514925B2 (en) | Using a predictive model to automatically enhance audio having various audio quality issues | |
US11704570B2 (en) | Learning device, learning system, and learning method | |
JP2019159058A (en) | Speech recognition system, speech recognition method, learned model | |
CN111354333B (en) | Self-attention-based Chinese prosody level prediction method and system | |
CN108735199A (en) | A kind of adaptive training method and system of acoustic model | |
US11341413B2 (en) | Leveraging class information to initialize a neural network language model | |
JP6691501B2 (en) | Acoustic model learning device, model learning device, model learning method, and program | |
CN113674733A (en) | Method and apparatus for speaking time estimation | |
GB2607133A (en) | Knowledge distillation using deep clustering | |
Gumelar et al. | Bilstm-cnn hyperparameter optimization for speech emotion and stress recognition | |
JP6633556B2 (en) | Acoustic model learning device, speech recognition device, acoustic model learning method, speech recognition method, and program | |
JP2018141925A (en) | Acoustic model learning device and acoustic model learning program | |
US20220284326A1 (en) | Using functions to annotate a syntax tree with real data used to generate an answer to a question | |
JP6082657B2 (en) | Pose assignment model selection device, pose assignment device, method and program thereof | |
JP2013182260A (en) | Language model creation device, voice recognition device and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190626 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200319 |
|
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: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200410 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6691501 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |