(58)【調査した分野】(Int.Cl.,DB名)
前記装置は、訓練によって前記音響モデルを生成する訓練モジュールをさらに含み、ここで、訓練プロセスは、誤差逆伝播法を利用して誤差を計算することを含み、且つ誤差の精度は浮動小数点数の精度である、
ことを特徴とする請求項6に記載の装置。
【発明を実施するための形態】
【0017】
以下に、本出願の実施例を詳細に説明する。前記実施例の例が図面に示されるが、同一又は類似する符号は、常に同一又は類似する部品、又は、同一又は類似する機能を有する部品を表す。以下に、図面を参照しながら説明される実施例は例示するものであり、本出願を解釈するためだけのものであって、本出願を限定するものでると理解してはいけない。むしろ、本出願の実施例は、添付の特許請求の範囲の趣旨及び範囲に入っている全ての変更、修正及び同等物を含む。
【0018】
本出願は、埋め込み音声認識を説明する。しかしながら、本実施例の方法は、埋め込み音声認識に限定されず、ネットワーク音声認識にも適用可能である。すなわち、サーバは、以下の方式も採用することができる。
【0019】
サーバと比較して、スマート端末の記憶空間、計算能力及びリソースは比較的貧弱であるため、サーバによって採用される音響モデルは、そのまま埋め込み音声認識に適用することができない。
【0020】
埋め込み音声認識に適用するためには、音響モデルのサイズを小さくする必要がある。
【0021】
現在、一般的には、ディープニューラルネットワーク(Deep Neural Networks,DNN)と隠れマルコフモデル(hidden Markov model,HMM)とのハイブリッドモデリングを採用して音響モデルを生成する。
【0022】
音響モデルのサイズを効果的に小さくするために、本出願は、音響モデルのパラメータを変更すること、及び浮動小数点の表現から2値化の表現に変更すること、という主なアイデアに基づくものである。さらに、音響特性がDNNを通過した場合、出力も2値化に変換される。
【0023】
なお、以上により、主なアイデアを説明したが、具体的な技術案は上記の主なアイデアに限定されず、他の特徴と組み合わせてもよく、これらの様々な特徴の組み合わせは、依然として本出願の保護範囲に属する。
【0024】
なお、上記の内容には主に解決しようとする技術的課題が記載されているが、本出願は上記の技術的課題を解決することに限定されず、本出願の技術案を適用して解決できる他の技術的課題も本出願の保護範囲に属する。
【0025】
なお、本出願の各実施例は、すべての技術的問題を完全完璧に解決することに限定されず、少なくとも1つの技術的問題を少なくともある程度で解決することである。
【0026】
なお、上記の内容には本出願の主なアイデアが記載されているが、以下の実施例ではいくつかの特別な点について説明する。しかし、本出願のイノベーションポイントは、上記の主なアイデア及び特別な点に関する内容に限定されず、本出願における特に説明されていない内容も本出願のイノベーションポイントを含むことを排除するものではない。
【0027】
なお、上述にはいくつかの説明が行われているが、他の可能な技術案が排除されないので、本出願の下記の実施例と同じ、類似、等価である技術案も依然として本出願の保護範囲に属する。
【0028】
以下、具体的な実施例を組み合わせて本出願の技術案を説明する。
【0029】
本出願に係るスマート端末は、スマートフォン、タブレットコンピュータ、スマートウェアラブルデバイス、車載端末、インテリジェントロボット、スマート家電などの音声認識技術を適用可能な様々な端末を含むことができる。
【0030】
図1は本出願の一実施例によって提供される音声認識方法の概略フローチャートである。
【0031】
図1に示すように、本実施例の方法は、ステップS11と、ステップS12と、ステップS13とを含む。
【0032】
ステップS11において、入力された音声の音響特徴を抽出して、音響特徴を取得する。
ここで、既存の又は将来に現れる音響特徴抽出プロセスを採用して音響特徴を抽出してもよい。音響特性は、例えば、メル周波数ケプストラム係数(Mel Frequency Cepstrum Coefficient,MFCC)などを含む。
【0033】
ステップS12において、パラメータが2値化パラメータである音響モデルを取得する。
ここで、音響モデルは訓練段階で生成することができ、認識段階では、訓練して生成された音響モデルを直接取得する。
【0034】
一般的に、音響モデルのパラメータが浮動小数点数であるので、各パラメータは通常16又は32ビット(bit)を占める。
【0035】
本実施例において、音響モデルのパラメータは2値化パラメータであり、2値化パラメータとは、各パラメータが決定された2つの値のいずれかであることを意味する。たとえば、決定された2つの値が+1及び−1で表される場合、各パラメータは+1又は−1である。
【0036】
音響モデルのパラメータが2値化パラメータであるため、各パラメータは1ビット(bit)で表すことができる。各パラメータが16ビット又は32ビットを占める場合と比較して、音響モデルのサイズを大幅に小さくすることができ、必要な記憶スペースを減らすことができる。
【0037】
ステップS13において、前記音響特徴及び前記音響モデルに基づいて音声認識を行う。
ここで、音響モデルは、音声と音響状態確率との関係を示すことができるため、音響特徴が取得された後、音響モデルに基づいて音響状態確率を取得することができる。なお、音声認識を行う時に、他のプロセスを含んでもよく、例えば、音響状態概念が取得された後、言語モデルや発音辞書などに基づいてテキストに変換して最終的な音声認識を完成させてもよい。本出願は、主に音響モデルに関連する内容を説明し、音声認識の残りのプロセスは、従来の技術又は将来の技術によって実現することができる。
【0038】
本実施例では、パラメータが2値化パラメータである音響モデルを採用することにより、音響モデルのサイズを大幅に小さくし、必要な記憶スペースを減らすことができ、これにより埋め込み音声認識に適用することができる。
【0039】
以下、解決する課題が比較的に包括的な技術案を挙げるが、本出願はこの実施例に限定されるものではなく、異なる技術的課題を解決するための技術的特徴を単独に技術案に構成したり、異なる技術的特徴を他の方式の任意の数で任意に組み合わせて、新しい技術案を取得することもできる。
【0040】
図2は本出願の他の実施例によって提供される音声認識方法の概略フローチャートである。
【0041】
図2を参照すると、本実施例の方法は、以下のステップS21と、ステップS22と、ステップS23とを含む。
【0042】
ステップS21において、訓練によってパラメータが2値化パラメータである音響モデルを生成し、訓練プロセスは、誤差を計算することを含み、且つ誤差の精度は浮動小数点数の精度である。
【0043】
訓練段階において、大量の音声サンプルを収集することができ、各音声サンプルの音響特徴を抽出した後、これらの音響特徴に基づいて訓練して音響モデルを生成する。
【0044】
音響モデルを訓練するとき、多くの方法を採用できるが、本実施例では、DNN+HMMハイブリッドモデリング法の訓練により、音響モデルを生成することができる。
【0045】
一般的なDNNとHMMのハイブリッドモデリングと異なり、本実施例において、音響モデルのパラメータは2値化パラメータを採用する。
【0046】
上記の誤差を計算する時、誤差逆伝播法を採用することができる。誤差逆伝播法は、概略的に、誤差の出力(何らかの形式)→隠れ層(層ごとに)→入力層を含む。主な目的は、出力された誤差を逆伝播することにより、誤差を各層のすべてのユニットに割り当てて、各層ユニットの誤差信号を取得し、各ユニットの重みを修正する(そのプロセスは、重みを調整するプロセスである)。
【0047】
また、精度を確保するために、誤差を計算する時に、採用される音響モデルのパラメータは2値化パラメータであるが、誤差の精度は浮動小数点数の精度である。例えば、誤差を計算する時に、音響モデルのパラメータ以外の値はいずれも浮動小数点数を採用する。
【0048】
上記のステップS21は訓練段階で完成することができ、取得された音響モデルは、その後の音声認識に使用することができる。
【0049】
音声認識段階では、以下のステップを実行することができる。
【0050】
ステップS22において、入力された音声の音響特徴を抽出して、音響特徴を取得する。
当該ステップは上記の実施例の関連する内容を参照することができ、ここでは詳しく説明しない。
【0051】
ステップS23において、音響特徴をDNNの入力層とし、且つDNNの各隠れ層において、音響モデルのパラメータと入力値とを採用して演算することにより出力値を取得する。ここで、次の隠れ層が存在する出力値を2値化して、次の隠れ層の入力値とする。
ここで、全体が2値化数値の演算になるために、音響モデルのパラメータとして2値化数値を採用できるだけでなく、他のパラメータも2値化数値を採用することができる。
【0052】
上記のプロセスにおいて、入力層に接続された第1の隠れ層の入力も2値化数値であるように、音響特徴を2値化してもよい。
【0053】
さらに、音響モデルの安定性を確保するために、出力値を2値化する前に、まず線形変換を行ってもよい。線形変換の式は、式(1)に示すものであってもよい。
Y=a*X+b (1)
ただし、Xは出力値の最初値であり、Yは線形変換後の出力値であり、a及びbは2つの一定のパラメータであり、予め設定することができる。
【0054】
さらに、データを2値化する時に、2値化活性化関数を採用して処理することができる。例えば、2値化活性化関数は
図3に示すものある。
図3に示す活性化関数に基づいて、1つのデータの最初値が0より大きい場合、2値化された値は+1であり、データの最初値が0より大きい場合、2値化された値は−1である。
【0055】
上記では2値化された値が+1又は−1であることを例としたが、なお、例えば1又は0のような他の数を用いることもできる。
従って、上記の2値化パラメータ、線形変換及び2値化活性化関数を経て、音声認識する時に、
図4に示す2値化ネットワークを含むことができる。
【0056】
さらに、数値間の演算を行う場合、2値化数値間の演算であるため、通常の行列操作の代わりにビット操作を採用することができる。
【0057】
具体的には、ビット演算(XOR)で乗算演算を置き換え、各2値化数値の数で加算演算を置き換えることができる。
例えば、aとbは演算する2つの数値を示し、aとbはいずれも2値化数値である場合、表1に示すように、XORでaとb(a*b)の乗算を置き換えることができる。ビット演算では、1つの値を0にコードし、もう1つの値を1にコードし、例えば、+1を0にコードし、−1を1にコードすることができる。また、累積演算は、設定された(set)ビットの数と設定されていない(unset)ビットの数を計算することによって、完成することができる。ここで、設定されたビットと設定されていないビットはそれぞれ2値化数値のうちの1つを示し、例えば、1つは+1であり、もう1つは−1である。
【表1】
【0058】
上記のプロセスにおいて、特別なハードウェアによって実現することができるし、CPUやGPUなどの一般的なハードウェアによって実現することもできる。
【0059】
本実施例において、音響モデルのパラメータとして2値化パラメータを選択することにより、音響モデルのサイズを小さくし、必要な記憶スペースを減らすことができる。訓練段階で浮動小数点精度を誤差として選択することにより、音響モデルの性能を保証し、音声認識の性能を保証することができる。演算プロセスの全体において、2値化された数値を採用し、且つ演算中にビット操作で行列演算を置き換えることにより、演算量を減らし、演算能力やリソースに対する需要を減らすことができ、DSPやFPGAなどのハードウェアの演算能力を十分に活用することができる。本実施例は、演算の複雑さが減るため、CPUやGPUのような従来のハードウェアに応用することもできる。
【0060】
図5は本出願の実施例によって提供される音声認識装置の概略構成図である。
【0061】
本実施例の装置は、埋め込み音声認識装置に配置されてもよいし、サーバ内で使用されてもよい。
【0062】
図5に示すように、本実施例の装置50は、特徴抽出モジュール51、取得モジュール52及び認識モジュール53を含む。
【0063】
特徴抽出モジュール51は、入力された音声の音響特徴を抽出して、音響特徴を取得する。
取得モジュール52は、パラメータが2値化パラメータである音響モデルを取得する。
認識モジュール53は、前記音響特徴及び前記音響モデルに基づいて音声認識を行う。
【0064】
いくつかの実施例において、
図6を参照すると、本実施例の装置50は、訓練によって前記音響モデルを生成する訓練モジュール54を更に含み、ここで、訓練プロセスは、誤差逆伝播法を利用して誤差を計算することを含み、且つ誤差の精度は浮動小数点数の精度である。
【0065】
いくつかの実施例において、前記認識モジュール53は、具体的には、
前記音響モデルがDNNを含む場合、前記音響特徴を前記DNNの入力層とし、且つ前記DNNの各隠れ層において、音響モデルのパラメータと入力値とを採用して演算することにより出力値を取得し、次の隠れ層が存在する出力値を2値化して、次の隠れ層の入力値とする。
【0066】
いくつかの実施例において、前記認識モジュール53は、さらに、
出力値を線形変換して、変換された出力値を2値化する。
【0067】
いくつかの実施例において、前記認識モジュール53は、音響モデルのパラメータと入力値とを採用して演算することにより出力値を取得することは、
音響モデルのパラメータと入力値とに基づいてビット操作して、出力値を取得することを含む。
【0068】
なお、本実施例の装置は、上記方法の実施例に対応するものである。具体的な内容は、方法の実施例に関連する説明を参照し、ここでは詳しく説明しない。
【0069】
本実施例において、パラメータが2値化パラメータである音響モデルを採用することにより、音響モデルのサイズを大幅に小さくし、必要な記憶スペースを減らすことができるため、埋め込み音声認識に適用することができる。
【0070】
なお、上記実施例において同一又は類似の部分は、相互に参照することができ、一部の実施例において詳細に記載されていない内容は、他の実施例において同一又は類似の内容を参照することができる。
【0071】
本出願の実施例は機器をさらに提供し、当該機器は、プロセッサと、プロセッサによって実行可能な命令を記憶するためのメモリとを含み、ここで、前記プロセッサが、入力された音声の音響特徴を抽出して、音響特徴を取得するステップと、パラメータが2値化パラメータである音響モデルを取得するステップと、前記音響特徴及び前記音響モデルに基づいて音声認識を行うステップと、を実行するように構成される。
【0072】
本出願の実施例は非一時的なコンピュータ読み取り可能な記憶媒体をさらに提供し、前記記憶媒体における命令がプロセッサによって実行される場合、プロセッサが、入力された音声の音響特徴を抽出して、音響特徴を取得するステップと、パラメータが2値化パラメータである音響モデルを取得するステップと、前記音響特徴及び前記音響モデルに基づいて音声認識を行うステップと、を実行するように構成される。
【0073】
本出願の実施例はコンピュータプログラム製品をさらに提供し、前記コンピュータプログラム製品における命令がプロセッサによって実行される場合、プロセッサが、入力された音声の音響特徴を抽出して、音響特徴を取得するステップと、パラメータが2値化パラメータである音響モデルを取得するステップと、前記音響特徴及び前記音響モデルに基づいて音声認識を行うステップと、を実行するように構成される。
【0074】
なお、本出願の説明において、「第1」、「第2」の用語は単に説明するためのものであり、比較的な重要性を指示又は暗示すると理解してはいけない。また、本出願の説明において、別途の説明がない限り、「複数」とは、少なくとも2つを意味する。
【0075】
フローチャートにおける、又はここで他の形態で記載された任意のプロセス又は方法は、特定ロジック機能又はプロセスのステップを実現するための1つ又は複数の実行可能な命令コードを含むモジュール、セグメント又は一部を表すと理解されてもよい。また、本発明の好ましい実施形態の範囲は、ここで、示された又は論議された順番ではなく、係る機能に応じてほぼ同時の形態又は逆の順番で機能を実行することができる他の実現を含むことができる。これは、当業者であれば理解すべきのものである。
【0076】
理解すべきことは、本出願の各部分は、ハードウェア、ソフトウェア、ファームウエア又はそれらの組み合わせで実現できる。上記の実施形態において、複数のステップ又は方法がメモリに記憶され、且つ適当なコマンド実行システムのソフトウェア又はファームウエアで実現できる。例えば、ハードウェアで実現する場合、他の実施形態と同じように、本領域周知の下記の任意1つ又はそれらの組み合わせで実現できる。すなわち、デジタル信号のロジック機能を実現するロジックゲート回路を有する離散ロジック回路、ロジックゲート回路を組み合わせた適当な専用IC、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などである。
【0077】
実施例の方法における全部又は一部のステップがプログラムにより関連のハードウェアを実行することで完成されることは、本技術領域の普通の技術者に理解される。前記プログラムは1つのコンピューター読取り可能な媒体に記憶されることができる。当該プログラムを実行するとき、実施例方法のステップの1つ又はそれらの組み合わせを含む。
【0078】
この他、本出願の各実施例における各機能ユニットは、1つの処理モジュールに集積され、又は、各ユニットの単独的な物理存在であり、あるいは、2つ又は2つ以上のユニットが1つのモジュールに集積されることができる。上記の集積されたモジュールは、ハードウェアの形式、又は、ソフトウェア機能モジュールの形式で実現できる。前記集積されたモジュールが、ソフトウェア機能モジュールの形式で実現され、且つ独立の製品として販売又は使用される場合、コンピューター読取り可能媒体に記憶されることができる。
【0079】
上記の記憶メディアは、読み出し専用メモリ、ディスク、又はCDなどであって可能である。
【0080】
本発明の説明において、「一実施例」、「一部の実施例」、「例示的な実施例」、「具体的な実施例」、又は「一部の実施例」などの用語を参照した説明とは、該実施例又は実施例に結合して説明された具体的な特徴、構成、材料又は特徴が、本発明の少なくとも一実施例又は実施例に含まれることを意味する。本明細書において、上記用語に対する例示的な記述は、必ずしも同一の実施例又は実施例を示すことではない。又、説明された具体的な特徴、構成、材料又は特徴は、いずれか1つ又は複数の実施例又は実施例において適切に組み合わせることができる。
【0081】
本出願の実施例を示して説明したが、当業者にとって理解できるのは、上記の実施例は例示性のものであり、本出願に対する限定と理あ解されてはいけない。本出願の範囲で上記の実施例の変化、補正、切り替え及び変形を行うことができる。