(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】ディープニューラルネットワークを使用する端末間話者認識
(51)【国際特許分類】
G10L 17/18 20130101AFI20221109BHJP
G10L 17/10 20130101ALI20221109BHJP
G10L 17/00 20130101ALI20221109BHJP
G06N 3/04 20060101ALI20221109BHJP
【FI】
G10L17/18
G10L17/10
G10L17/00 200C
G06N3/04 154
(21)【出願番号】P 2019535198
(86)(22)【出願日】2017-09-11
(86)【国際出願番号】 US2017050927
(87)【国際公開番号】W WO2018049313
(87)【国際公開日】2018-03-15
【審査請求日】2020-09-08
(32)【優先日】2016-09-12
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】519084065
【氏名又は名称】ピンドロップ セキュリティー、インコーポレイテッド
(74)【代理人】
【識別番号】110000855
【氏名又は名称】弁理士法人浅村特許事務所
(72)【発明者】
【氏名】コーリー、エリー
(72)【発明者】
【氏名】ガーランド、マシュー
【審査官】西村 純
(56)【参考文献】
【文献】米国特許出願公開第2015/0127336(US,A1)
【文献】米国特許出願公開第2016/0019458(US,A1)
【文献】米国特許出願公開第2016/0217367(US,A1)
【文献】Uzan et al.,I Know That Voice: Identifying the Voice Actor Behind the Voice,2015 International Conference on Biometrics (ICB),2015年05月22日
【文献】Wang et al.,Learning Fine-grained Image Similarity with Deep Ranking,arXiv:1404.4661v1,2014年04月17日
【文献】Hoffer et al.,DEEP METRIC LEARNING USING TRIPLET NETWORK,arXiv:1412.6622v3,2015年03月23日
【文献】Zeghidour et al.,Joint Learning of Speaker and Phonetic Similarities with Siamese Networks,Interspeech 2016,2016年09月08日
(58)【調査した分野】(Int.Cl.,DB名)
G10L 17/00-17/26
G06N 3/04- 3/10
(57)【特許請求の範囲】
【請求項1】
話者認識デバイスであって、
会話サンプルを記憶するメモリデバイスであって、前記会話サンプルが、
同一話者による会話サンプルのデュアルセット、
前記デュアルセットと同一話者によらない会話サンプルのコホートセット、および
話者モデルセット、を含む、メモリデバイスと、
トリプレットネットワークアーキテクチャを有するディープニューラルネットワークをモデル化するように構成されたプロセッサ基盤デバイスと、を備え、
前記プロセッサ基盤デバイスが、前記会話サンプルのデュアルセットが前記会話サンプルのコホートセットとの組み合わせで前記ディープニューラルネットワークを通して供給される、バッチ処理に従って前記ディープニューラルネットワークを訓練し、
前記プロセッサ基盤デバイスが、前記訓練されたディープニューラルネットワークを通して認識会話サンプルを供給し、前記認識会話サンプルおよび前記話者モデルの少なくとも1つに応じて、前記訓練されたディープニューラルネットワークの出力に基づいてユーザを検証または識別
し、
前記ディープニューラルネットワークが、
第1の入力を受信および処理して、第1のネットワーク出力を生成する第1のフィードフォワードニューラルネットワークと、
第2の入力を受信および処理して、第2のネットワーク出力を生成する第2のフィードフォワードニューラルネットワークと、
第3の入力を受信および処理して、第3のネットワーク出力を生成する第3のフィードフォワードニューラルネットワークと、を含み、
複数の話者の各々に関して、前記メモリデバイスが、前記話者によるP個の会話サンプルの第1のセット
および前記話者によるP個の会話サンプルの第2のセット
を含み、Pが、2以上の整数であり、
前記ディープニューラルネットワークが、前記プロセッサ基盤デバイスによって訓練され、それにより、前記複数の話者の各々に関して、
前記ディープニューラルネットワークが、バッチ処理を実施し、その間に、前記対応する会話サンプルの第1のセットが前記第1のフィードフォワードニューラルネットワークを通して供給され、前記対応する会話サンプルの第2のセットが前記第2のフィードフォワードニューラルネットワークを通して供給され、前記会話サンプルのコホートセットが前記第3のフィードフォワードニューラルネットワークを通して供給され、
前記バッチ処理が完了すると、前記対応する会話サンプルの第1のセット、前記対応する会話サンプルの第2のセット、および前記会話サンプルのコホートセットにそれぞれ基づいて取得された、前記第1のネットワーク出力、前記第2のネットワーク出力、および前記第3のネットワーク出力に基づいて、損失関数が算出され、
前記算出された損失関数が、バックプロパゲーション法によって前記第1、第2および第3のフィードフォワードニューラルネットワークの各々の接続重みを修正するために使用さ
れ、
前記損失関数が、
前記会話サンプルの第1のセットのうちの1つ
に応じた前記第1のネットワーク出力と、前記対応する会話サンプルの第2のセットのうちの1つ
に応じた前記第2のネットワーク出力との間の類似度S
+に対応する正の距離d
+と、
前記会話サンプルの第1のセットのうちの前記1つ
に応じた前記第1のネットワーク出力と、前記コホートセットのそれぞれの会話サンプルに応じた前記第3のネットワーク出力のうちの最も類似の1つとの間の類似度S
-に対応する負の距離d
-と、に基づ
く、話者認識デバイス。
【請求項2】
前記正の距離d
+および前記負の距離d
-が、前記対応する類似度S
+、S
-に異なるそれぞれのマージンM
+、M
-を適用することによって決定される、請求項
1に記載の話者認識デバイス。
【請求項3】
前記損失関数が、
【数1】
によって定義され、式中、
【数2】
であり、
d
+=2(1-min((S
++M
+),1)
)であり、
d
-=2(1-max((S
-+M
--1),0))であり、
【数3】
であり、
【数4】
であり、
が、N回の反復中に供給されたN個の負の会話サンプルのうちのn番目のものであり、
が、前記会話サンプルの第1のセットのうちの1つに応じた前記第1のネットワーク出力であり、
が、前記会話サンプルの第2のセットのうちの1つに応じた前記第2のネットワーク出力であり、
が、前記負の会話サンプル
に応じた前記第3のネットワーク出力であり、
【数5】
であり、
【数6】
であり、
Kが、定数である、請求項
2に記載の話者認識デバイス。
【請求項4】
前記ディープニューラルネットワークの第1、第2および第3のフィードフォワードニューラルネットワークの各々が、少なくとも1つの重畳層および完全に接続された層を含む、請求項1に記載の話者認識デバイス。
【請求項5】
前記第1、第2および第3のフィードフォワードニューラルネットワークの各々が、少なくとも1つの最大プーリング層および後続の完全に接続された層をさらに含む、請求項
4に記載の話者認識デバイス。
【請求項6】
前記第1、第2および第3のフィードフォワードニューラルネットワークのそれぞれ1つに入力される、各会話サンプルが、
基礎会話信号を複数のオーバーラッピングウィンドウにパーティション分割することと、
複数の特徴を前記オーバーラッピングウィンドウの各々から抽出することと、によって、前処理される、請求項
4に記載の話者認識デバイス。
【請求項7】
前記第1、第2および第3のフィードフォワードニューラルネットワークが、前記前処理された会話サンプルを受信する第1の重畳層を含み、
前記第1の重畳層が、数N
Cの重畳フィルタを含み、
前記N
C個の重畳フィルタの各々が、F×w
f個のニューロンを有し、Fが、前記第1の重畳層の高さに対応し、w
fが、前記重畳層の幅に対応し、
Fが、前記オーバーラッピングウィンドウの各々から抽出された前記特徴の数に等しく、w
fが、5以下である、請求項
6に記載の話者認識デバイス。
【請求項8】
前記デバイスが、前記ユーザが自己識別を入力する話者検証タスクを実施するように構成され、前記認識会話サンプルが、前記ユーザの識別情報が前記自己識別と同一であることを確認するために使用される、請求項1に記載の話者認識デバイス。
【請求項9】
前記デバイスが、それぞれの会話サンプルを伴って前記メモリデバイス内に記憶された複数の潜在的識別情報から前記ユーザを識別するために前記認識会話サンプルが使用される、話者識別タスクを実施するように構成されている、請求項1に記載の話者認識デバイス。
【請求項10】
会話サンプルを前記ユーザから前記認識会話サンプルとして受信する入力デバイスをさらに備える、請求項1に記載の話者認識デバイス。
【請求項11】
方法であって、
メモリデバイス内に記憶された複数の会話サンプルに基づいて、トリプレットネットワークアーキテクチャを有するディープニューラルネットワークのコンピュータ実装モデルを訓練することであって、前記複数の会話サンプルが、
同一話者による会話サンプルのデュアルセットと、
前記デュアルセットと同一話者によらない会話サンプルのコホートセットと、
話者モデルセットと、を含む、訓練することと、
前記訓練されたディープニューラルネットワークを通して認識会話サンプルを供給し、前記認識会話サンプルおよび前記話者モデルの少なくとも1つに応じて、前記訓練されたディープニューラルネットワークの出力に基づいてユーザを検証または識別することと、を含み、
前記ディープニューラルネットワークの前記訓練が、前記会話サンプルのデュアルセットが前記会話サンプルのコホートセットとの組み合わせで前記ディープニューラルネットワークを通して供給される、バッチ処理に従って実施さ
れ、
前記ディープニューラルネットワークが、
第1のフィードフォワードニューラルネットワークであって、この各反復が、第1のネットワーク出力を生成するために第1の入力を受信および処理する、第1のフィードフォワードニューラルネットワークと、
第2のフィードフォワードニューラルネットワークであって、この各反復が、第2のネットワーク出力を生成するために第2の入力を受信および処理する、第2のフィードフォワードニューラルネットワークと、
第3のフィードフォワードニューラルネットワークであって、この各反復が、第3のネットワーク出力を生成するために第3の入力を受信および処理する、第3のフィードフォワードニューラルネットワークと、
複数の話者の各々に関して、前記メモリデバイスが、前記話者によるP個の会話サンプルの第1のセット
および前記話者によるP個の会話サンプルの第2のセット
を含み、Pが、2以上の整数であり、
前記ディープニューラルネットワークが訓練され、それにより、前記複数の話者の各々に関して、
前記ディープニューラルネットワークが、バッチ処理を実施し、その間に、前記対応する会話サンプルの第1のセットが前記第1のフィードフォワードニューラルネットワークを通して供給され、前記対応する会話サンプルの第2のセットが前記第2のフィードフォワードニューラルネットワークを通して供給され、前記会話サンプルのコホートセットが前記第3のフィードフォワードニューラルネットワークを通して供給され、
前記バッチ処理が完了すると、前記対応する会話サンプルの第1のセット、前記対応する会話サンプルの第2のセット、および前記会話サンプルのコホートセットにそれぞれ基づいて取得された、前記第1のネットワーク出力、前記第2のネットワーク出力、および前記第3のネットワーク出力に基づいて、損失関数が算出され、
前記算出された損失関数が、バックプロパゲーション法によって前記第1、第2および第3のフィードフォワードニューラルネットワークの各々の接続重みを修正するために使用さ
れ、
に関して算出された前記損失関数が、
前記会話サンプルの第1のセットのうちの1つ
に応じた前記第1のネットワーク出力と、前記対応する会話サンプルの第2のセットのうちの1つ
に応じた前記第2のネットワーク出力との間の類似度S
+に対応する正の距離d
+と、
前記会話サンプルの第1のセットのうちの前記1つ
に応じた前記第1のネットワーク出力と、前記コホートセットのそれぞれの会話サンプルに応じた前記第3のネットワーク出力のうちの最も類似の1つとの間の類似度S
-に対応する負の距離d
-と、に基づく
、方法。
【請求項12】
前記正の距離d
+および前記負の距離d
-が、前記対応する類似度S
+、S
-に異なるそれぞれのマージンM
+、M
-を適用することによって決定される、請求項
11に記載の方法。
【請求項13】
前記損失関数が、
【数7】
によって定義され、式中、
【数8】
であり、
d
+=2(1-min((S
++M
+),1)
)であり、
d
-=2(1-max((S
-+M
--1),0))であり、
【数9】
であり、
【数10】
であり、
が、N回の反復中に供給されたN個の負の会話サンプルのうちのn番目のものであり、
が、前記会話サンプルの第1のセットのうちの1つに応じた前記第1のネットワーク出力であり、
が、前記会話サンプルの第2のセットのうちの1つに応じた前記第2のネットワーク出力であり、
が、前記負の会話サンプル
に応じた前記第3のネットワーク出力であり、
【数11】
であり、
【数12】
であり、
Kが、定数である、請求項
12に記載の方法。
【請求項14】
前記損失関数が、
【数13】
によって定義され、式中、
μ
+および
は、ガウス分布に基づく正の認識スコアの平均および標準偏差であり、
および
は、ガウス分布に基づく負の認識スコアの平均および標準偏差である、請求項
11に記載の方法。
【請求項15】
前記ディープニューラルネットワークの第1、第2および第3のフィードフォワードニューラルネットワークの各々が、少なくとも1つの重畳層および完全に接続された層を含む、請求項
11に記載の方法。
【請求項16】
前記第1、第2および第3のフィードフォワードニューラルネットワークの各々が、少なくとも1つの最大プーリング層および後続の完全に接続された層をさらに含む、請求項
15に記載の方法。
【請求項17】
前記第1、第2および第3のフィードフォワードニューラルネットワークの各々が、ソフトマックス層および出力層をさらに含み、
前記ディープニューラルネットワークのパラメータが、話者識別タスクを話者の閉集合に対して実施するために、事前訓練されたニューラルネットワークのパラメータによって初期化され、前記出力層が、前記話者の各々のための別個のニューラルユニットを含む、請求項
16に記載の方法。
【請求項18】
前記第1、第2、第3のフィードフォワードニューラルネットワークのそれぞれ1つに入力される、各会話サンプルを前処理することであって、
基礎会話信号を複数のオーバーラッピングウィンドウにパーティション分割することと、
複数の特徴を前記オーバーラッピングウィンドウの各々から抽出することと、による、前処理することをさらに含む、請求項
15に記載の方法。
【請求項19】
前記第1、第2および第3のフィードフォワードニューラルネットワークが、前記前処理された会話サンプルを受信する第1の重畳層を含み、
前記第1の重畳層が、数N
Cの重畳フィルタを含み、
前記N
C個の重畳フィルタの各々が、F×w
f個のニューロンを有し、Fが、前記第1の重畳層の高さに対応し、w
fが、前記重畳層の幅に対応し、
Fが、前記オーバーラッピングウィンドウの各々から抽出された前記特徴の数に等しく、w
fが、5以下である、請求項
18に記載の方法。
【請求項20】
話者検証タスクが実施され、前記ユーザが自己識別を入力し、前記認識会話サンプルが、前記ユーザの識別情報が前記自己識別と同一であることを確認するために使用される、請求項
11に記載の方法。
【請求項21】
話者識別タスクが実施され、前記認識会話サンプルが、それぞれの会話サンプルを伴って前記メモリデバイス内に記憶された複数の潜在的識別情報から前記ユーザを識別するために使用される、請求項
11に記載の方法。
【請求項22】
会話サンプルをユーザから、入力デバイスを介して、前記認識会話サンプルとして受信することをさらに含む、請求項
11に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2016年9月12日に出願された米国非仮特許出願第15/262,748号の優先権を主張し、この開示全体は、参照によって本明細書に組み込まれる。
本発明は、話者検証および/または話者の識別を含む音声認識を対象とする。さらに、本発明は、テキスト独立型話者認識を行うために使用され得る。
【背景技術】
【0002】
話者認識に対する現在の最新の手法は、音響混合ガウス分布(GMM)(全体の内容が参照によって本明細書に組み込まれる、Douglas A.Reynolds et al.,“Speaker Verification Using Adapted Gaussian Mixture Models,”Digital Signal Processing,2000を参照されたい)、または音声認識ディープニューラルネットワークアーキテクチャ(全体の内容が参照によって本明細書に組み込まれる、Y.Lei et al.,“A Novel Scheme for Speaker Recognition Using a Phonetically-Aware Deep Neural Network,”Proceedings of ICASSP 2014を参照されたい)のいずれかを使用して推定されるユニバーサルバックグラウンドモデル(UBM)に基づく。最も有効な技術は、全変動パラダイムを使用してUBMモデルを全ての会話発声に適合させることからなる(全体の内容が参照によって本明細書に組み込まれる、N.Dehak et al.,“Front-End Factor Analysis for Speaker Verification,”IEEE Transactions on Audio,Speech,and Language Processing,Vol.19,No.4,pp.788-798,May 2011を参照されたい)。全変動パラダイムは、話者およびチャネルに関する全情報を保存する「iベクトル」として知られる低次元特徴ベクトルを抽出することを目的とする。チャネル補償技術の適用後、結果として生じるiベクトルは、話者の声紋または音声署名とみなされ得る。
【0003】
かかる手法の主な欠点は、人間の知覚システムを再生するように設計された手作りの特徴のみを使用することによって、それらの手法が、話者を認識または検証するために重要である有用な情報を破棄する傾向にあることである。典型的には、上記の手法は、メル周波数ケプストラム係数(MFCC)等の低位の特徴を利用し、それらをガウス分布の定数(典型的には、1024または2048ガウス)に当てはめることを試みる。これは、ガウス仮定が必ずしも保たれない特徴空間内の複雑な構造をモデル化することを困難にする。
【発明の概要】
【0004】
本発明は、トリプレットネットワークアーキテクチャを有するディープニューラルネットワークを利用して、フロントエンド特徴抽出器を訓練するシステムを対象とし、話者の識別情報の検証、または既知の話者の閉集合の中から話者を識別するタスクを実施するために使用される。
【0005】
代表的な実施形態によると、システムは、メモリデバイスおよびプロセッサ基盤デバイスからなる。メモリデバイスは、同一話者による会話サンプルのデュアルセット、デュアルセットと同一話者によらない会話サンプルのコホートセット、および話者モデルセットを含む、会話サンプルを記憶する。さらに、プロセッサ基盤デバイスは、トリプレットネットワークアーキテクチャを有するディープニューラルネットワークをモデル化するように構成される。プロセッサ基盤デバイスは、会話サンプルのデュアルセットが会話サンプルのコホートセットとの組み合わせでディープニューラルネットワークを通して供給される、バッチ処理に従ってディープニューラルネットワークを訓練する。
【0006】
さらなる代表的な実施形態によると、ディープニューラルネットワークは、第1の入力を受信および処理して第1の出力を生成する第1のフィードフォワードニューラルネットワークと、第2の入力を受信および処理して第2の出力を生成する第2のフィードフォワードニューラルネットワークと、第3の入力を受信および処理して第3の出力を生成する第3のフィードフォワードニューラルネットワークと、を含み得る。また、複数の話者の各々に関して、メモリデバイスが、話者によるP個の会話サンプルの第1のセット
および話者によるP個の会話サンプルの第2のセット
を含み、Pが、2以上の整数である。ディープニューラルネットワークは、プロセッサ基盤デバイスによって訓練され、それにより、複数の話者の各々に関して、ディープニューラルネットワークは、バッチ処理を実施し、その間に、対応する会話サンプルの第1のセットが第1のフィードフォワードニューラルネットワークを通して供給され、対応する会話サンプルの第2のセットが第2のフィードフォワードニューラルネットワークを通して供給され、会話サンプルのコホートセットが第3のフィードフォワードニューラルネットワークを通して供給される。バッチ処理が完了すると、対応する会話サンプルの第1のセット、対応する会話サンプルの第2のセット、および会話サンプルのコホートセットにそれぞれ基づいて取得された、第1のネットワーク出力、第2のネットワーク出力、および第3のネットワーク出力に基づいて、損失関数が算出される。算出された損失関数は、バックプロパゲーション法によって第1、第2および第3のフィードフォワードニューラルネットワークの各々の接続重みを修正するために使用される。
【0007】
さらなる代表的な実施形態によると、上記の損失関数は、会話サンプルの第1のセットのうちの1つ
に応じた第1のネットワーク出力と、対応する会話サンプルの第2のセットのうちの1つ
に応じた第2のネットワーク出力との間の類似度S
+に対応する正の距離d
+と、会話サンプルの第1のセットのうちの1つ
に応じた第1のネットワーク出力と、コホートセットのそれぞれの会話サンプルに応じた第3のネットワーク出力のうちの最も類似の1つとの間の類似度S
-に対応する負の距離d
-と、に基づき得る。さらに、正の距離d
+および負の距離d
-が、対応する類似度S
+、S
-に異なるそれぞれのマージンM
+、M
-を適用することによって決定され得る。特に、損失関数は、
【数1】
として定義され得、式中、
【数2】
であり、d
+=2(1-min((S
++M
+),1)であり、d
-=2(1-max((S
++M
--1),0)であり、
【数3】
であり、
【数4】
であり、
は、N回の反復中に供給されたN個の負の会話サンプルのうちのn番目のものであり、
は、会話サンプルの第1のセットのうちの1つに応じた第1のネットワーク出力であり、
は、会話サンプルの第2のセットのうちの1つに応じた第2のネットワーク出力であり、
は、負の会話サンプル
に応じた第3のネットワーク出力であり、Kは、定数である。
【0008】
代替的な代表的な実施形態によると、損失関数は、等価エラー率(EER)メトリックに関連し得る。この場合において、損失関数は、
【数5】
として定義され得、式中、μ
+および
は、ガウス分布に基づく正の認識スコアの平均および標準偏差であり、
および
は、ガウス分布に基づく負の認識スコアの平均および標準偏差である。
【0009】
代表的な実施形態によると、トリプレットネットワークアーキテクチャに採用されるフィードフォワードニューラルネットワークの各々は、少なくとも1つの重畳層、少なくとも1つの最大プーリング層、および完全に接続された層を含み得る。
【0010】
さらに、一代表的な実施形態において、本発明は、ユーザが自己識別を入力する話者検証タスクを実施するために使用され得、認識会話サンプルは、ユーザの識別情報が自己識別と同一であることを確認するために使用される。別の代表的な実施形態において、本発明は、それぞれの会話サンプルを伴って記憶された複数の潜在的識別情報からユーザを識別するために認識会話サンプルが使用される、話者識別タスクを実施するために使用され得る。上記の実施形態は、相互排他的ではなく、同一トリプレットネットワークアーキテクチャが、両方のタスクを実施するために使用され得る。
【図面の簡単な説明】
【0011】
【
図1】本発明の代表的な実施形態による、話者認識を実施するためのシステムを例示する。
【
図2A】本発明の代表的な実施形態による、訓練での使用のためのトリプレットネットワークアーキテクチャを有するディープニューラルネットワークの概略構造を例示する。
【
図2B】本発明の代表的な実施形態による、特定のユーザに対する加入および試験での使用のためのトリプレットネットワークアーキテクチャを有するディープニューラルネットワークの概略構造を例示する。
【
図3A】訓練での使用のための、前処理された会話サンプルを受信するように設計された、トリプレットネットワークアーキテクチャを有するディープニューラルネットワークの構造の具体例を例示する。
【
図3B】特定のユーザに対する加入および試験での使用のためのディープニューラルネットワークアーキテクチャの構造の具体例を例示する。
【
図3C】訓練での使用のための、生の会話サンプルを処理するように設計された、トリプレットネットワークアーキテクチャを有するディープニューラルネットワークの構造の別の具体例を例示する。
【
図4】本発明の代表的な実施形態による、話者認識のための概略処理のフローチャートを例示する。
【
図5】本発明の代表的な実施形態による、話者認識を実施するトリプレットネットワークアーキテクチャのディープニューラルネットワークを利用する処理のフローチャートを例示する。
【
図6】本発明の代表的な実施形態による、トリプレットネットワークアーキテクチャを有するディープニューラルネットワークを訓練するための処理のフローチャートである。
【
図7】ソフトマックス関数を組み込み、かつ話者認識を具体的に実施するように事前訓練されるように設計された、トリプレットネットワークアーキテクチャを有するディープニューラルネットワークの構造の一例を例示する。
【発明を実施するための形態】
【0012】
本発明のより詳細な説明が、ここで、添付図面を参照して提供されることになる。
【0013】
本発明の代表的な実施形態は、テキスト独立型話者認識を行うために、トリプレットネットワークアーキテクチャを有するディープニューラルネットワーク(DNN)を利用するシステムおよび方法を対象とする。「ディープニューラルネットワーク」および「DNN」という用語は、複数の線形および非線形変換関数からなる、複数の隠れ層を有するニューラルネットワークを指す。本出願において、話者認識の2つのサブタスクは、検証および識別と考えられる。本出願の目的に関して、「検証」は、実際の話者が、その名乗る人物であるかどうかを検出するタスクを指し、一方で「識別」は、話者の所定のリストから話者の識別情報を取得するタスクを指す。以下に説明される本発明の原理は、これらのサブタスクのいずれか一方または両方に適用され得る。また、本出願において、「ユーザ」という用語は、DNNが認識するように訓練される、特定の話者を指すために使用される場合がある。
【0014】
話者認識を実施するDNNの使用は、DNNが低位の特徴を表現し、かつそれらを高位の特徴にマッピングする点でより良好であるため、混合ガウスモデル(GMM)を使用して推定されたユニバーサルバックグラウンドモデル(UBM)を利用する他の手法に対して有利である。低位の特徴は、生の会話信号と同様に低位であり得る。高位の特徴は、会話信号の全変動を保存する声紋である。したがって、DNNによって抽出された声紋は、UBM/GMMによって取得されたiベクトルに類似し得るが、より優れた結果を与える。
【0015】
図1は、本発明の代表的な実施形態による、話者認識を実施するためのシステムを例示する。
図1によると、ユーザまたは話者は、発声された音を電気信号に変換するためのマイクロフォンを含む入力デバイス10に発声する。
図1に特に示されるように、入力デバイス10は、電話(携帯電話または固定電話のいずれか)もしくはコンピュータ、またはボイスオーバーインターネット(VoIP)通信が可能な他のプロセッサ基盤デバイス等の、遠距離通信が可能なデバイスとすることができる。事実上、本発明が、電話詐欺から保護する、例えば、発信者がその名乗る人物であることを検証する、または発信者の識別情報を「ブラックリスト」または「ブロックされた発信者リスト」上の人物として検出する、アプリケーションで具体的に利用され得ると考えられる。
【0016】
図1によると、話者識別を実施するために使用されるユーザの発声は、本明細書では「認識会話サンプル」と呼ばれることになる。認識会話サンプルは、入力デバイス10から話者認識サブシステム20に電気的に送信され得る。認識会話サンプルが話される入力デバイス10が遠距離通信デバイス(例えば、電話)である場合が考えられるが、そうである必要はない。例えば、入力デバイス10は、話者認識サブシステム20に近接して位置する単なるマイクロフォンであってもよい。
【0017】
図1の話者認識サブシステム20は、コンピューティングシステム22を含み得、これは、トリプレットネットワークアーキテクチャ(この詳細は、以下により詳細に説明されることになる)を有するディープニューラルネットワークをモデル化するようにプログラムされた、サーバまたは汎用パーソナルコンピュータ(PC)であってもよい。しかしながら、コンピューティングシステム22が、単一デバイスに厳密に限定されるものではなく、代わりに、本明細書に説明されるオペレーションを実施するために協働して働く複数のコンピュータおよび/またはデバイスを備えてもよいことが留意されるべきである(例えば、DNNの訓練は、1つのコンピューティングデバイス内で起こり得るが、実際の検証/識別タスクは、別のコンピューティングデバイス内で実施される)。単一または複数の中央処理装置(CPU)が、訓練および試験の両方のためのコンピューティングデバイスとして使用され得る場合、グラフィック処理ユニット(GPU)もまた使用され得る。例えば、コンピューティングデバイス22におけるGPUの使用は、特に訓練中の算出コストを低減することを助け得る。
【0018】
図1に示されるように、話者認識サブシステム20はまた、代表的な実施形態においてDNNを訓練するために使用されるメモリデバイス24も含む。特に、このメモリデバイス24は、複数のユーザまたは話者からの複数のサンプルされた会話信号(または「会話サンプル」)、および話者登録サブシステム20に「加入」されているユーザに対して取得された複数の登録された声紋を含み得る。特に、メモリデバイス24は、DNNに対して実施されることになるそれぞれの機能、訓練および試験、に対応する2つの異なるデータセットを含む。
【0019】
訓練の機能に関して、本発明の代表的な実施形態によると、DNNは、複数の話者に対応する正のサンプルおよび数Nの負のサンプルに従って訓練される。訓練を実施するために、メモリデバイス24は、好ましくは、複数の話者の各々からの実際の発声として取得された少なくとも2つの会話サンプルを含むデータセットを含むことになる。これらの会話サンプルは、関連する話者に関する「正の会話サンプル」と呼ばれる。メモリデバイス24において、DNNを訓練するためのデータセットはまた、上記の話者の各々に対する数Nの「負の会話サンプル」も含むことになる。これらの負の会話サンプルは、関連する話者とは異なる人々による発声に対応する。特定の例において、1000個の負の会話サンプル(すなわち、N=1000)が、DNNを訓練するために使用される複数の話者の各々に関して使用され得る。しかしながら、数Nは、1000より多くてもよく、または少なくてもよい。未知の会話元の会話サンプルが、かかる会話サンプルがDNNを訓練するために現在使用されている話者とは異なる話者iから発生したことが確認され得るか否かにかかわらず、負の会話サンプルの1つとして使用され得ることも留意されるべきである。
【0020】
メモリデバイス24は、「試験」機能を実施するために別のデータセットを含み得、それによってDNNは、ユーザを確実に検証または識別することによって実際の話者認識を実施する。この機能を実施するために、データセットは、特定のユーザの1つの正の会話サンプルのみを必要とし、これは、話者認識サブシステム22へのユーザの「加入」の結果として取得され得る(これは、以下により詳細に説明されることになる)。さらに、このデータセットは、システムによって検証/識別され得る各ユーザに対応する、1つ以上の登録された声紋を含み得る。
【0021】
図1を再び参照すると、話者認識分析の結果は、発信者(すなわち、ユーザ)を認証する、すなわち、発信者がその名乗る人物であることを検証することを必要とするエンドアプリケーション30によって使用され得る。代替として、エンドアプリケーション30は、所定のリスト(例えば、ブラックリストまたはブロックされた発信者)にある任意の発信者を識別することを必要とし得る。これは、発端末識別情報(CLID)(「発信者ID」と呼ばれることもある)による検出をすり抜けるために電話番号を偽装する悪意のある発信者を検出することを助け得る。しかしながら、本発明が悪意のある発信者を取り除くように設計されたアプリケーション30によって使用され得るが、本発明は、これらのタイプのアプリケーション30に限定されない。例えば、本発明は、例えば、音声生体認証が、部屋、リソース等へのアクセスを解錠するために使用される、他のアプリケーション30で有利に使用され得る。
【0022】
様々な変更が
図1に例示されたシステムになされ得ることが留意されるべきである。例えば、入力デバイス10は、認識会話サンプルをエンドアプリケーション30に直接送信し得、エンドアプリケーション30は、次いで、認識会話サンプルを話者認識サブシステム20に中継する。この場合において、エンドアプリケーション30はまた、自己識別を表すユーザからいくつかの形態の入力も受信し得る。例えば、話者識別タスクの場合において、エンドアプリケーション30は、ユーザを識別するようにユーザに要求し得(音声的または他の形態の入力のいずれか)、認識会話サンプルおよびユーザの主張された識別情報の両方を認証のために会話認識サブシステム20に送信し得る。他の場合において、ユーザの自己識別は、CLIDによって取得されるような、ユーザの主張された電話番号からなり得る。さらに、
図1に例示される様々な要素のそれぞれの場所に関する限定は存在しない。一定の状況において、エンドアプリケーション30は、ユーザから遠隔であり得、したがってユーザに対する遠距離通信の使用を要求して、エンドアプリケーション30と対話する。代替的に、ユーザ(および入力デバイス10)は、例えば、アプリケーション30が音声起動セキュリティゲート等を制御する場合、使用時にエンドアプリケーション30に近接していてもよい。
【0023】
図2Aは、本発明の代表的な実施形態による、訓練での使用のためのトリプレットネットワークアーキテクチャを有するディープニューラルネットワーク(DNN)の概略構造を例示する。また、
図2Aは、P個の音声サンプル、それらの対応するP個の正のサンプル、およびN個の負の会話サンプルのコホートセットが、第1、第2および第3のフィードフォワードニューラルネットワークを訓練するために使用される、バッチ処理の使用を概念的に例示する。
【0024】
図2Aにおいて、DNNは、同一パラメータを共有する、同一フィードフォワードニューラルネットワーク212、222および232の3つのインスタンスからなる。共有されたパラメータ(図に示されるように)を有すると、3つのフィードフォワードニューラルネットワーク212、222、232は、層の数および構成、層間の接続重み等において同一である。これらのフィードフォワードニューラルネットワーク212、222、232は、それぞれ、入力210、220、230を介して3つの異なるサンプルを提供される。特に、DNNが訓練されているとき、DNNは、バッチ処理を実施し得、それによって第1のフィードフォワードニューラルネットワーク212および第2のフィードフォワードニューラルネットワーク222が、それぞれ入力210および220を介して、各々
と示される、P個の会話サンプルの1つのセット、および各々
と示される、対応するP個の正の会話サンプルの1つのセットと共に供給される。これらの会話サンプルの2つのセットは、同一話者によって話されている(およびしたがって同一話者に起因する)。さらに、第3のフィードフォワードニューラルネットワーク232は、バッチ処理中に入力230を介して、負の会話サンプルの共通コホートセット
を供給する。コホートセット内の負の会話サンプルは、上記のP個のサンプルのセットとして同一話者によって話されておらず(または同一話者によって話されていることが少なくとも既知ではない)、したがって同一話者に起因しない。第1のフィードフォワードニューラルネットワーク212の出力214は、サンプル
に応じて第1のP個の埋め込みベクトルセットを生成し、第2のフィードフォワードニューラルネットワーク222の出力224は、サンプル
に応じて第2のP個の埋め込みベクトルセットを生成する。また、第3のフィードフォワードニューラルネットワーク232の出力234は、コホートセット内の負の会話サンプルに応じて第3のN個の埋め込みベクトルセットを生成する。所与のバッチが処理された後、これらの埋め込みベクトルは、損失を算出するために使用され(これは、以下により詳細に説明されることになる)、損失は、バックプロパゲーション法に従って3つのフィードフォワードニューラルネットワーク212、222、232の接続重みを修正するために使用される。
【0025】
さらに、
図2Bに示されるように、別のフィードフォワードニューラルネットワーク242は、DNNの訓練が完了した後、ユーザによって(入力デバイス10を介して)入力された認識会話サンプルに基づいて実際の話者認識を実施するために使用される。第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232が、共有されたパラメータを組み込み、したがってDNNの訓練が完了したときに互いに同一であるため、これらの3つのフィードフォワードニューラルネットワークのうちのいずれか1つが、話者認識を実施するフィードフォワードニューラルネットワーク242として互換的に使用され得る。代替的に、3つのフィードフォワードニューラルネットワーク212、222、232の間で共有されたパラメータを組み込む、フィードフォワードニューラルネットワークの新しいインスタンスが、ユーザの加入および/または試験(話者認識)での使用のための
図2Bのフィードフォワードニューラルネットワーク242として使用されてもよい。このフィードフォワードニューラルネットワーク242によって実施される加入および試験が以下により詳細に説明されることになる。
【0026】
ここで、追加の詳細が、DNNの設計に対して提供されることになる。以下に論じられることになるように、重畳ニューラルネットワーク(CNN)の態様は、少なくとも1つの重畳層を第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232の各々に組み込むことによってDNNの態様と組み合わせられ得る。さらに、各重畳層は、3次元、つまり高さ、幅および深さにおいてニューロンを有する。
【0027】
図3Aは、DNNの訓練での使用のためのトリプレットネットワークアーキテクチャを有するDNNの構造の特定の例を例示する。
図3Aに示されるように、第1、第2および第3のフィードフォワードニューラルネットワーク212、222および232の各々は、最大プーリング層に接続された第1の重畳層、第2の最大プーリング層によって追従される第2の重畳層、後続の完全に接続された層、および埋め込みベクトルを含む出力層を含み得る。しかしながら、訓練の終わりの際、フィードフォワードニューラルネットワーク212、222、232の各々の出力層は、入力されたサンプルの特徴表現(すなわち、声紋)を生成するように構成されることになる。
【0028】
また
図3Aに示されるものは、第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232のそれぞれの入力210、220、230である。代表的な実施形態によると、ニューラルネットワーク212、222、232のそれぞれ1つに入力される前に、会話サンプルの各々(会話サンプル
、正の会話サンプル
、および負の会話サンプル
)は、対応する発声の「画像」を生成するために前処理され得る。かかる前処理は、信号の非会話部を破棄するために、音声区間検出を適用することを含み得る。前処理はまた、基礎をなす会話信号を一定数(W)のオーバーラッピングウィンドウにパーティション分割することと、一定数(F)の特徴(例えば、メルフィルタバンク特徴)をW個のオーバーラッピングウィンドウの各々から抽出することを含み得る。請求項を限定するように解釈されない、かかる前処理の具体例が、説明されることになる。この非限定的例において、画像が、基礎をなす会話信号を、10ミリ秒のオーバーラップ(またはウィンドウシフト)を含む、20ミリ秒期間のウィンドウにパーティション分割することによって各会話サンプルに対して生成され得る。さらに、各サンプルに対する画像は、500個の上記のオーバーラッピングウィンドウを含み得(W=500)、40個のメルフィルタバンク特徴(F=40)が各ウィンドウから抽出されている(それによって、入力210、220、230の各々におけるサイズ40×500の画像を結果としてもたらす)。これは、5秒間の会話サンプルに対応することになる(40次元の特徴ベクトルが10ミリ秒毎に抽出されている)。しかしながら、これは、単に一例であり、異なる発声期間、異なる数のウィンドウ、ならびに異なる数およびタイプの特徴が使用されてもよいことが留意されるべきである。言い換えると、異なるタイプの会話「画像」がDNNに適用され得る。
【0029】
上記の前処理が、関連する会話サンプルがメモリデバイス24に記憶される前後のいずれかに実施され得ることが留意されるべきである。ユーザから認識会話サンプルを入力するデバイス10、ならびに正および負の会話サンプルを入力するために使用される他のタイプの会話送信/記録デバイスが、上記の前処理のオペレーションの一部または全部を実施するように構成され得ることも考えられる。
【0030】
再び
図3Aを参照すると、入力信号が上記のようにサイズF×Wの前処理された画像であると仮定すると、第1、第2および第3のフィードフォワードニューラルネットワークの各々の第1の重畳層は、かかる画像を処理する適切な数(N
C)の重畳フィルタを含み得る。さらに、この層内の各重畳フィルタは、対応するウィンドウの特徴を処理し、したがってF×w
fのサイズのニューラルユニット(または「ニューロン」)を有するように構成され得る。したがって、各重畳フィルタは、特徴の数Fと比例する高さ、および様々な検討(例えば、会話のダイナミクスを考慮するように、処理およびメモリ要件に合致するように等)に基づいて選択され得る幅(w
f)を有することになる。
【0031】
図3Aのフィードフォワードニューラルネットワーク212、222、232内の第1の重畳層の構成の具体的な非限定的例が、ここで説明されることになる。本例の目的に関して、入力された画像が、前処理に関する上記の非限定的例に関して上記のように40×500のサイズ(F×W)で前処理されると仮定され得る(10ミリ秒毎に抽出された40次元の特徴ベクトルを含む、5秒の会話に対応する)。この場合において、第1、第2および第3のフィードフォワードニューラルネットワークの各々の重畳層は、256個の重畳フィルタ(N
C=256)を含み得、各フィルタが、40ニューロンの高さ(各ウィンドウから抽出された40個の特徴に対応する)、および5ニューロンを超えない(例えば、1または3ニューロン)幅(w
f)を有する。この場合において、
図3Aの第1の重畳層の深さは、256になり、この層の高さは、40になり、層の幅は、w
f≦5になる。また、この非限定的例において、第1の重畳層のエントリーニューロンは、入力画像の複数のウィンドウに接続され得る。
【0032】
上記が非限定的例であり、第1の重畳層の深さおよび高さの次元が、それぞれ、上記の256および40とは異なってもよいことが留意されるべきである。しかしながら、この場合において、深さ(すなわち、重畳フィルタの数NC)が、好ましくは、入力された画像内のオーバーラッピングウィンドウの数以下であり、一方で高さが、好ましくは、関連する会話サンプルの処理中にウィンドウの各々から抽出された特徴(例えば、メルフィルタバンク特徴)の数に等しいことが提案される。
【0033】
図3Aを再び参照すると、フィードフォワードニューラルネットワーク212、222、232の各々における第1の重畳層に続いて、1次元の最大プーリング層のサイズs
mが提供される。最大プーリング層は、一時的な入力系列からの最大値を算出する層である。
図3Aにおいて、最大プーリング層の結果は、N
C個の重畳フィルタからなる、第2の重畳層に提供される。しかしながら、これらのフィルタのサイズは、第1の重畳層のものと同一である必要はない。非限定的例において、第2の重畳層の高さおよび幅は、1であり得る。さらに、
図3Aによると、最終的な全体最大プーリング層は、全時間軸にわたって適用されて、結果として生じる埋め込みベクトルを、入力された画像の期間に対して低感度にする。次の層は、完全に接続された層および出力層であり、例えば、各々がN
C個のニューロン有する。出力層は、訓練中に埋め込みベクトルを提供するが、訓練後、特徴表現、つまり、サンプルの元となる話者の声紋または音声署名を生成するように構成される。具体的には、それぞれの第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232の出力層は、上記にDNNの第1、第2および第3のネットワーク出力214、224、234と呼ばれたものである。
【0034】
例えば、訓練中、会話サンプル
の画像が第1のフィードフォワードニューラルネットワーク212を通して供給されたとき、第1のネットワーク出力214は、
に対して埋め込まれたベクトルを表す、
として記号化され得る結果を生成する。同様に、正の会話サンプル
の画像が第2のフィードフォワードニューラルネットワーク222を通して供給されたとき、第2のネットワーク出力224は、
に対して埋め込まれたベクトルを表す、
として記号化され得る結果を生成する。同様に、負の会話サンプル
の画像が第3のフィードフォワードニューラルネットワーク232を通して供給されたとき(nが1~Nの任意の整数である)、第3のネットワーク出力234は、
に対して埋め込まれたベクトルを表す、
として記号化され得る結果を生成する。
【0035】
図3Aに示されるように、サンプルを訓練する所与のバッチが処理された後、損失関数が、第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232のそれぞれの出力214、224、234に基づいて算出され得る。算出された損失関数は、DNN内の全ての重みに関して損失関数の勾配を算出することを目的とする、「確率的勾配降下法」オプティマイザを有するバックプロパゲーションアルゴリズムを使用してDNNのそれぞれのニューラルネットワーク212、222、232を訓練するために使用され得る。オプティマイザの目標は、損失関数を最小にするために、重みを更新することである。しかしながら、他のタイプのバックプロパゲーションアルゴリズムが使用され得ることも考えられる。
図3Aの例において、損失関数は、第1の重畳層、第2の重畳層、および完全に接続された層の各々の接続重みを更新するために使用され得る。訓練アルゴリズムに関するより詳細は、
図6に関して以下に論じられることになる。
【0036】
ここで、特定のユーザの加入および試験での使用のためのDNNアーキテクチャの具体例を例示する、
図3Bを参照することになる。特に、
図3Bは、加入および試験機能を実施するためのフィードフォワードニューラルネットワーク242を例示する。
図2Bに関して上述されたように、
図3Bのフィードフォワードニューラルネットワーク242の構成およびパラメータは、
図3AのDNNが訓練された後、第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232の各々と同一構成およびパラメータを共有することになる。したがって、訓練の終わりにおいて、第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232のいずれか1つは、
図3Bのフィードフォワードニューラルネットワーク242として使用され得るか、または共有されたパラメータおよび構成を組み込むニューラルネットワークの新しいインスタンスが使用され得る。
【0037】
図3Bに示されるように、ニューラルネットワーク242は、その入力240で、会話サンプルの前処理によって生成された画像を受信し得る。加入または試験が実施されるか否かに依存して、入力された画像は、特定のユーザを加入または登録する目的のために入力された会話サンプル(すなわち、「加入会話サンプル」)、または話者認識が行われる際の会話サンプル(すなわち、「認識会話サンプル」)のいずれかに対応することになる。一度、入力された画像がフィードフォワードニューラルネットワーク242を通して供給されると、出力層240は、対応する特徴提示(すなわち、声紋)を生成することになる。出力層240によって生成された各特徴表現は、iベクトルに類似し得るが、それらがDNNによって生成されたため、話者の音声の低位の特徴をより良好に表すように設計される。
【0038】
上述のように、
図3Aおよび
図3Bの両方のDNNアーキテクチャの例は、各入力された会話サンプルが画像として前処理されている仮定に基づく。しかしながら、そうである必要はない。例えば、DNNは、
図3Cが入力として生の会話サンプルを処理するためのトリプレットネットワークアーキテクチャを有するディープニューラルネットワークの例を例示する、異なるトリプレットネットワークアーキテクチャを呈してもよい。特に、
図3Cに示されるように、それぞれのフィードフォワードニューラルネットワーク212、222および232のそれぞれの入力210、220および230で受信された会話サンプルは、
図3Aおよび
図3Bに関する上記の様式で前処理されない。代わりに、各入力されたサンプルは、一連のサンプルを取得するために生の会話信号(例えば、入力デバイス10を介して入力される)をサンプリングすることによって取得された信号を構築する。さらに、
図3Cの特定の例に示されるように、第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232の各々は、追加の重畳層および局所最大プーリングを含み、これらは、
図3Aに関して説明されたものに類似する他の層の前に位置付けられる。生の会話サンプルを受信するように示される、
図3Cの追加された重畳層は、生の会話サンプルから抽出されることになる特徴の数に対応する数(F)の重畳フィルタからなる。追加された最大プーリング層は、サイズs
m1の1次元の層とすることができる。これらの追加の層は、
図3Aおよび
図3Bに関する上記の前処理に類似する変換を適用するように構成され得る。
【0039】
ここで、本発明の代表的な実施形態による、話者認識のための概略処理400のフローチャートを例示する、
図4を参照することになる。この図のオペレーションS410によると、トリプレットネットワークアーキテクチャを有するDNNが訓練される。特定のユーザに対して話者認識を行うために、DNNが、他の話者(かつ、可能であれば、未知の話者)から取得された複数の負の会話サンプルとの組み合わせで、ユーザから取得された少なくとも1つの会話サンプルに基づいて訓練されることになることが考えられる。
図4に例示されるように、DNNの訓練に使用される会話サンプルは、メモリデバイス24のストレージから抽出され得る。DNNが訓練された後、特定のユーザは、オペレーションS420において話者認識サブシステム20によって登録または加入され得る。これは、「話者モデル」が、話者検証を実施するために、同一ユーザの特徴表現または声紋との将来的な比較の目的のために、特定のユーザに対して生成され得ることを意味する。その後、認識会話サンプルが、オペレーションS430において取得される。認識会話サンプルは、例えば、入力デバイス10から取得され得る。
図4のオペレーションS440において、認識会話サンプルは、DNN(すなわち、ニューラルネットワーク242)を通して供給され、認識会話サンプルに応じたDNNの出力が、オペレーションS450において使用されて(上記の話者モデルと共に)、話者認識を実施する、すなわち、DNN出力に基づいてユーザを検証するか、または識別するかのいずれかを行う。
【0040】
図5は、本発明の代表的な実施形態による、特定のユーザに対する話者認識を行うためのより具体的な処理500のフローチャートを例示する。
図5のオペレーションS510において、第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232からなるDNNは、メモリデバイス24内に記憶された会話サンプルを使用してコンピュータシステム22によって訓練される。この訓練処理の代表的な実施形態は、
図6に関してより詳細に説明されることになる。メモリデバイス24が、複数の異なるユーザに対応するバッチにおいてDNNを訓練するために有用な会話サンプルのバンクを含み得ることに留意されるべきである。それゆえに、S510による、DNNを訓練することは、話者によるメモリデバイス24内の会話サンプルを分類および抽出するための任意の必要なステップを含み得る。
【0041】
DNNがS510の結果として訓練された後、コンピュータシステム22は、登録された(または加入された)ユーザのリストに関して話者認識を実施するためにDNNを使用するように動作可能である。これは、DNNが登録された(加入された)ユーザのうちの一人を名乗る話者が、実際にその名乗る人物であるか否かを判定することによって検証を実施し得ることを意味する。また、DNNが、匿名の話者を、話者が実際に登録された(加入された)ユーザのリストに存在するかどうかを識別し、話者がこのリストに存在しない場合、話者が未知であることを示し得ることも意味する。したがって、本発明の代表的な実施形態において、話者モデルが、加入または登録されている各ユーザに関して生成される。かかる話者モデルを生成する特定の例は、特定のユーザを加入させるために、
図5のオペレーションS520およびS525に関して開示されている。
【0042】
図5のオペレーションS520において、特定のユーザの加入は、対応する加入会話サンプル(すなわち、特定のユーザによって実際に発声された会話サンプル)を受信することによって開始される。オペレーションS525において、加入会話サンプルは、対応する声紋(または特徴表現)を出力するために、フィードフォワードニューラルネットワーク242(
図2Bおよび
図3Bに関して上に説明されたような)を通して供給される。フィードフォワードニューラルネットワーク242によって生成された声紋は、その後、メモリデバイス24内に記憶され、登録されたユーザの話者モデルとして使用され得る。また、ユーザからの1つよりも多い加入会話サンプルが受信され、ユーザを登録するために使用され得ることも可能である。この場合において、複数の加入サンプルは、ユーザの複数の声紋を生成するために、フィードフォワードニューラルネットワーク242を通して供給され得る。この場合において、平均ベクトルは、複数の声紋から算出され、ユーザの話者モデルとして使用され得る。
【0043】
図5のオペレーションS520およびS525は、代表的な実施形態による、DNNの「加入」機能の例を説明する。しかしながら、DNNが、登録されたユーザの話者モデルを生成するために、上記の様式で使用されることは、本発明の要件ではない。
【0044】
図5のオペレーションS530~S560の順序に従って、話者認識が特定のユーザに対して実施され得る。したがって、これらのオペレーションは、本発明の代表的な実施形態による、DNNの「試験」機能に対応する。
【0045】
S530において認識会話サンプルがデバイス10を介してユーザから受信される。この認識会話サンプルは、次いで、オペレーションS530においてフィードフォワードニューラルネットワーク242に供給され、このフィードフォワードニューラルネットワーク242に応じて、ネットワーク出力244でユーザの認識会話サンプルの特徴表現または声紋を生成する。
【0046】
図5のオペレーションS540において、認識会話サンプルに応じてフィードフォワードニューラルネットワーク242によって出力される声紋または特徴表現は、ユーザを検証または識別するために使用される。特に、この声紋は、オペレーションS525によって生成され、1つ以上の登録されたユーザに関してメモリデバイス24内に記憶された、1つ以上の話者モデルと比較され得る。上述のように、これらの話者モデルの各々は、フィードフォワードニューラルネットワーク242によって同様に生成された声紋であり得る。判断ボックスS550によると、認識会話サンプルの結果としてニューラルネットワーク242によって取得された声紋が記憶された話者モデルのいずれかに「合致」するか否かに対する判断がなされる。各話者モデルが同様に生成された声紋であると仮定すると、この合致は、2つの声紋間の類似性(または距離)の測定によって決定され得る。一方で、各話者モデルが対応するユーザの会話特徴の異なる表現を含む場合、声紋を話者モデルのそれぞれの特徴と比較し、かつ合致が存在するか否かを決定するために、異なる処理がS540~S550で使用され得る。
【0047】
S550が認識会話サンプルの声紋と記憶された会話サンプルのうちの1つの間で合致が起こったと判断した場合、処理500は、S560に進み、特定のユーザの識別情報が認証されたこと(話者検証タスクにおいて)、または特定のユーザの識別情報が所定のリストもしくは既知の識別情報に存在していること(話者識別タスクにおいて)を示す。一方で、S550がいかなる合致も起こらなかったと判断した場合、処理500は、S570に進み、特定のユーザがその名乗る人物ではない(したがって偽物)であること、または特定のユーザの識別情報が話者認識サブシステム20にとって未知であることを示す。これらの結果は、例えば、ディスプレイおよび/または音声出力上でコンピュータシステム22によって出力され得るか、または結果は、出力される別の場所に送信され得るか、もしくはエンドアプリケーション30に送信され、そこで使用され得る。例えば、話者検証および識別タスクの両方において、エンドアプリケーション30は、結果を使用して、ユーザが特定のリソースまたはパスにアクセスすることを許可/拒否し得る。例えば、エンドアプリケーション30は、ユーザがブラックリストまたはブロックされた発信者のリストの一員であると識別されたとき、ユーザの電話発信をブロックするために使用され得る。アプリケーション30はまた、ユーザの識別情報を偽っているユーザを自動的に合図する(またはそれに関する認証を警告する)ためにも使用され得る。
【0048】
再び
図5を参照すると、1つの話者認識タスクが実施された後、DNNは、S580に例示されるように、登録されたユーザの現在のプールに基づいて、特定のサンプルに対して別の話者認識タスクを実施するために使用され得る(処理500が、S530に戻って、新しい認識会話サンプルを受信することを含む)。将来的な話者認識タスクを行う目的のために、別の話者が加入されること、すなわち、登録されたユーザのプールに加えられることを必要とすることも考えられる。S590に例示されるように、新しいユーザが加入または登録されることを必要とする場合、処理500は、オペレーションS520に戻り、それによって新しい話者モデルが生成される。
【0049】
次に、より具体的な説明が、処理に関して提供されることになり、それによってDNNは、
図5のオペレーションS510によって各登録されたユーザに対して訓練される。
【0050】
特に、
図6は、本発明の代表的な実施形態による、DNNを訓練する処理5100のフローチャートである。DNNのこの訓練は、バッチ処理によって実施され得、それによって損失関数は、サンプルを訓練するバッチがDNNを通して供給された後に算出される。各バッチに関して、同一話者によって全て話された、X
i(i=1、...、P)として示されたP個の会話サンプルの1つのセットは、続いて、第1のフィードフォワードニューラルネットワーク212を通して適用される。また、各バッチに関して、
サンプルと同一話者によって全て話された、対応するP個の会話サンプルの1つのセット
は、続いて、第2のフィードフォワードニューラルネットワーク222に適用される。第3のフィードフォワードニューラルネットワーク232に関して、負の会話サンプルのコホートセット
(
および
会話サンプルを話した人物とは異なる人物によって話されたもの)は、引き続いて、各バッチ中に第3のフィードフォワードニューラルネットワーク232に入力される。非限定的例によると、コホートセット内の負の会話サンプルの数N(および各バッチに対して実行する反復の数)は、1000に等しくてもよい。しかしながら、コホートセットは、異なる数の負の会話サンプルを含んでもよい。負の会話サンプルの同一コホートセットが、DNNの訓練中に、複数のバッチまたは可能であれば全てのバッチのために使用され得ることが可能である。また、各負の会話サンプルが、
および
の話者とは異なる人物によって話されることになると考えられる場合、コホートセット内の負の会話サンプルのうちの1つとして未知の会話元(すなわち、話者の識別情報が未知である)の会話サンプルを利用することが可能である。
【0051】
図6を参照すると、オペレーションS5110によって、特定の話者からのP個の会話サンプルの1つのセット
が、メモリデバイス24から抽出される。同様に、S5120において、同一話者からのP個の会話サンプルの1つのセットもまた、メモリデバイス24から抽出される。正の会話サンプルの数Pは、少なくとも2つであるべきであり、Pが、2つよりも多くなることが考えられる。さらに、オペレーションS5130によると、N個の負の会話サンプルのコホートセットが、メモリデバイス24から取得される。
【0052】
上述のように、ディープニューラルネットワーク(DNN)は、各バッチにおいて、P個の会話サンプルの1つのセット
および対応するP個の正の会話サンプルの1つのセット
が、全て同一話者由来であり、それぞれ、第1のフィードフォワードニューラルネットワーク212および第2のフィードフォワードニューラルネットワーク222を通して供給されるように、バッチ内で訓練を実施することになる。P個の会話サンプルのセット
は、引き続いて、オペレーションS5140において第1のニューラルネットワーク212を通して供給され、一方でP個の正の会話サンプルのセット
は、オペレーション5150において第2のフィードフォワードニューラルネットワーク222を通して供給される。オペレーションS5160において、コホートセット内のN個の負の会話サンプルが、引き続いて、第3のフィードフォワードニューラルネットワーク232を通して供給される。
【0053】
所与のバッチがこのようにDNNを通して処理された後、オペレーションS5170が実施される。このオペレーションは、DNNを通して、会話サンプル
、正の会話サンプル
、負の会話サンプル
のコホートセット
を供給する結果として生成された埋め込みベクトルセットに基づいて損失を計算する。さらに、S5170によると、計算された損失は、第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232の各々の接続重みを修正するために使用される。特に、確率的勾配降下法オプティマイザを利用するバックプロパゲーション法が、一度、損失関数が計算されると、重みを修正するために使用され得る。損失を計算するための関数が、以下により詳細に説明されることになる。
【0054】
各バッチ(すなわち、P個の会話サンプル
の各セットおよび対応するP個の正の会話サンプル
のセット)の損失を計算するために使用される損失関数は、以下のパラメータに基づく:
・各会話サンプル
に応じた第1のネットワーク出力214(すなわち、埋め込みベクトル
)と、対応する正の会話サンプル
に応じた第2のネットワーク出力224(すなわち、埋め込みベクトル
)との間の類似度S
+
・各会話サンプル
に応じた第1のネットワーク出力214(すなわち、
)と、コホートセットに応じた第3のネットワーク出力234のうちの最も類似のもの(すなわち、特徴表現
のうちの最も類似のもの)との間の類似度S
-
・類似度S
+およびS
-にそれぞれ適用される、正のマージンM
+および負のマージンM
-
・類似度S
+および対応するマージンM
+に基づいて計算される正の距離d
+
・類似度S
-および対応するマージンM
-に基づいて計算される負の距離d
+
正のマージンM
+および負のマージンM
-の使用は、会話サンプル
および
が互いに合理的に近く、かつ会話サンプル
が負の会話サンプルの最も近くから合理的に遠い状況下で損失関数の追加のコストを回避することを助ける。
【0055】
代表的な実施形態によると、各バッチの損失関数は、次式のように定義され得る:
【数6】
式中、
【数7】
方程式(2)において、Kは、定数(例えば、1000)を表す。さらに、方程式(2)の正および負の距離d
+およびd
-は、次の方程式によって計算され得る:
d
+=2(1-min((S
++M
+),1) 方程式(3)
および
d
-=2(1-max((S
-+M
--1),0) 方程式(4)。
【0056】
方程式(3)および(4)に示されるように、正および負の距離d
+およびd
-は、それぞれ、類似度S
+およびS
-ならびに対応するマージンM
+およびM
-に基づいて計算される。これらの類似度S
+およびS
-は、次の方程式によって計算され得る:
【数8】
および
【数9】
方程式(5)において、最大演算子は、コホートセットに基づいて第3のフィードフォワードニューラルネットワーク232によって生成された特徴表現
のうちの1つを抽出し、これは、特徴表現
に最も類似する。
【0057】
また、正および負のマージンM
+およびM
-は、次の方程式によって計算され得る:
【数10】
および
【数11】
方程式(5)~(8)によると、それぞれの距離(d
+およびd
-)を決定するために使用される、類似度(S
+およびS
-)およびマージン(M
+およびM
-)は、余弦類似度の観点で算出される。正および負のマージンの使用と共に、余弦類似度に基づく距離の使用は、声紋の堅牢な表現を提供する。
【0058】
再び
図6を参照すると、損失関数が所与のバッチに関して計算されるとき、算出された損失は、オペレーションS5170において使用されて、例えば、確率的勾配降下法を使用するバックプロパゲーション法によって、第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232の各々の接続重みを修正する。例えば、DNNが
図3Aに例示される特定の構成を有する場合、算出された損失は、第1の重畳層、第2の重畳層、および完全に接続された層に関して重みを修正するために使用され得る。
【0059】
ドロップアウト訓練が、重みを修正するために、バックプロパゲーション法と併せて使用され得ることも留意される。特に、ドロップアウトアルゴリズムにおいて、訓練中のニューロンの一定の部分またはパーセンテージは、それらの対応する重みの修正を防止するために、訓練中にドロップされる。例えば、ドロップアウトアルゴリズムは、重みの80%のみ(またはさらにちょうど50%)が所与のバッチの結果として修正されるように適用され得る。
【0060】
図6の処理5100において、DNNの接続重みがオペレーションS5170によって所与のバッチに関して算出された損失によって修正された後、S5180において、DNNが任意のより多くのバッチ(すなわち、会話サンプルの異なるセット
および異なる話者に対応する正の
)によって訓練されることになるか否かの決定がなされる。処理されることになるより多くのバッチが存在する場合、処理は、オペレーションS5110に戻って、必要なサンプルを抽出し、新しいバッチの処理を開始する。そうでない場合、
図6において、DNNの訓練が完了されるようにみなされる。
【0061】
図4~6のフローチャートが例示の目的のみのために提供され、添付の請求項によって定義される本発明を限定するように意図されないことが留意されるべきである。これらの図に開示された処理は、修正されてもよく、本発明の概念および範囲内に依然として留まる。例えば、これらのフローチャートの各々がオペレーションの順序を例示するが、これらのオペレーションの順番は、変更されてもよく、これらのフローチャートに例示された一定のオペレーションは、省略されてもよく、示されていない他のオペレーションが追加されてもよい。
【0062】
同様に、
図1、2A、2Bおよび3A~3Cに例示された構造および構成もまた、例示の目的のみのために提供される。それらに例示されたシステムおよびニューラルネットワーク構成は、本発明の概念および範囲内で矛盾しない任意の様式で修正されてもよい。
【0063】
代替的な実施形態
上記の実施形態において、トリプレットネットワークアーキテクチャを有するDNNは、検証(実際の話者がその名乗る人物であるかどうかを検出する)および識別(話者の識別情報を閉集合内の誰かに合致させる)の両方の話者認識タスクを実施するように訓練される。かかる実施形態において、トリプレットネットワークアーキテクチャのDNNモデルは、
図3Aおよび
図3Bに例示される構造を含み得、
図6に示される処理によってさらに訓練され得る。この場合において、トリプレットネットワークアーキテクチャのDNNモデルのパラメータは、訓練前に、ランダムに初期化され得る。
【0064】
しかしながら、代替的な実施形態によると、DNNは、識別のタスクのために具体的に設計され得、異なるDNN構造および訓練方法が採用され得る。例えば、トリプレットネットワークアーキテクチャを有するDNNモデルのパラメータをランダムに初期化することに代えて、パラメータは、話者の閉集合に対して話者識別タスクを実施するように具体的に訓練されたDNNのパラメータによって代わりに初期化され得、出力クラスは、異なる話者ラベルである。さらに、かかる話者識別訓練中、DNNの構造は、
図3Aおよび
図3Bに例示されたフィードフォワードニューラルネットワーク212、222、232、242の構造に基づき得るが、少なくとも2つの追加の層によって修正され得る:(1)ソフトマックス層、および(2)訓練セット内のそれぞれの話者の複数のユニットを含む出力層。
【0065】
例えば、これらの追加の層は、
図3Aおよび
図3Bに例示されたフィードフォワードニューラルネットワーク構造に付加され得る。上記のように、
図3Aおよび
図3Bに例示されたフィードフォワードニューラルネットワークの各々は、完全に接続された層、および埋め込みベクトルまたは声紋を生成するための後続層で終わる。代替的な実施形態によると、この後続層は、ソフトマックス層および出力層を供給する、第2の完全に接続された層に転換され得る。ソフトマックス層は、正規化指数関数と呼ばれることもあり、かつシグモイド関数の一般化である、関数を実行する。ソフトマックス関数は、人工ニューラルネットワークによって実装されたものを含む、様々な確率マルチクラス分類法で使用される。付加された出力層に関して、この層のニューラルユニットの数は、DNNが識別するように訓練される話者の数に等価である。例えば、DNNが3000の異なる話者に対して話者識別を実施するように訓練された非限定例において、出力層は、3000の異なるユニットを含むことになる。
【0066】
DNN(付加された層を有する)が話者の閉集合に対して話者識別を行うように訓練された後、訓練されたパラメータは、次いで、例えば、
図6に関して上に説明された処理による、損失関数に基づく後続の訓練のための第1、第2および第3のフィードフォワードニューラルネットワーク212、222、232に与えられ得る。
【0067】
この代替的な実施形態は、上記のように
図3Aおよび
図3Bに例示された構造に基づき得るが、他の修正もまた、この代替的な実施形態にフィードフォワードニューラルネットワークの構造になされ得ると考えられる。例えば、
図7は、代替的な実施形態に関して使用されるDNNの構造の具体例を例示する。参照として
図3Bのフィードフォワードニューラルネットワークの構造を使用して、
図7は、3つの重畳層、3つの最大プーリング層、および4つの完全に接続された層を組み込む修正された構造を有するフィードフォワードニューラルネットワーク242’を例示する。
図7において、第4の完全に接続された層が、ソフトマックス層710、およびいくつかのユニット(DNNが識別するように訓練される話者の数に等価)からなる出力層720に接続される。話者識別訓練が行われた後、パラメータは、次いで、トリプレットネットワークアーキテクチャによるそれぞれのフィードフォワードニューラルネットワークに与えられ得、上記の損失関数に基づいて訓練され得る。
【0068】
第2の代替的な実施形態
図6に例示された訓練処理の説明において、具体的な損失関数が、方程式(1)~(8)に関して上に説明されたことが留意される。しかしながら、DNNが、
図6に関して上に説明された特定の損失関数によって訓練されることは、要件ではない。代替的な代表的な実施形態において、例えば、等価エラー率(EER)メトリックに直接関連する異なる損失関数がDNNを訓練するために使用され得る。
【0069】
EERメトリックは、典型的には、話者認識システムの正確さを評価するために使用される。話者認識および他の生体認証システムにおいて、EERは、他人受入率および本人拒否率を等化するための閾値を事前決定するために使用される。EERは、正の認識スコア(合致を示す)および負の認識スコア(不一致を示す)の分布がガウス分布である仮定において引き出され、次の方程式によって表現され得る:
【数12】
方程式(9)において、erf(z)の項は、誤差関数を表し、一方でμ
+および
は、正の認識スコアの平均および標準偏差であり、
および
は、負の認識スコアの平均および標準偏差である。この場合において、正および負の認識スコアは、方程式(1)~(8)の損失関数に関して上述された類似度S
+およびS
-に類似する。したがって、正の認識スコアの平均および標準偏差(μ
+および
)、および負の認識スコアの平均および標準偏差(
および
)は、次式のようにバッチ処理から引き出され得る:
【数13】
【数14】
【数15】
【数16】
式中、記号P、N、EVx
i、EVx
i
+、およびEVx
i
-は、方程式(1)~(8)に関して上に定義されたものと同一の意味を有する。
【0070】
上の方程式(9)に示されるように、EERの値を最小にすることは、項
【数17】
の最大化をもたらす。この論理を使用すると、訓練中に最小にされる損失関数は、次式のように定義され得る:
【数18】
それゆえに、方程式(1)~(8)に関して説明された損失関数に対する代替として、トリプレットネットワークアーキテクチャを有するDNNが、方程式(14)によって定義された損失関数によって訓練され得る。しかしながら、他の損失関数もまた、DNNを使用するために使用されてもよく、本発明は、特定の損失関数に限定されるものではない。
【0071】
特定の実施形態が例の目的のために上に説明されたが、それらは、その範囲が添付の請求項に定義されている本発明を限定することを意図しない。