特許法第30条第2項適用 令和2年6月19日にホームページにおいて「Efficient Active Learning for Automatic Speech Recognition via Augmented Consistency Regularization」について公開
以下、本開示の実施のための具体的な内容を添付された図面を参照して詳細に説明する。ただし、以下の説明では本開示の要旨を不要に曖昧にさせ得る恐れがある場合、広く知られている機能や構成に関する具体的な説明は省略することにする。
添付された図面で、同一または対応する構成要素には同じ参照符号が付与されている。また、以下の実施例の説明において、同一または対応する構成要素を重複して記述することが省略され得る。しかし、構成要素に関する技術が省略されても、そのような構成要素がある実施例に含まれないものと意図しない。
開示された実施例の利点および特徴、そして、それらを達成する方法は添付される図面とともに後述されている実施例を参照すると明確になるであろう。しかし、本開示は以下で開示される実施例に限定されるものではなく互いに異なる多様な形態で具現化され得、ただし本実施例は本開示を完全なものとし、本開示が通常の技術者に発明の範疇を完全に知らせるために提供されるものに過ぎない。
本明細書で使われる用語について簡略に説明し、開示された実施例について具体的に説明する。本明細書で使われる用語は本開示での機能を考慮しつつ、可能な限り現在広く使われる一般的な用語を選択したが、これは関連分野に従事する技術者の意図または判例、新しい技術の出現などにより変わり得る。また、特定の場合には出願人が任意に選定した用語もあり、この場合、該当する発明の説明の部分で詳細にその意味を記載するであろう。したがって、本開示で使われる用語は単なる用語の名称ではなく、その用語が有する意味と本開示の全般にわたった内容に基づいて定義されるべきである。
本明細書での単数の表現は文脈上明白に単数であると特定しない限り、複数の表現を含む。また、複数の表現は文脈上明白に複数であると特定しない限り、単数の表現を含む。明細書全体で、ある部分がある構成要素を含むとする場合に、これは特に反対の記載がない限り、他の構成要素を除くのではなく他の構成要素をさらに含む可能性があることを意味する。
また、明細書で使われる「モジュール」または「ユニット」という用語はソフトウェアまたはハードウェア構成要素を意味し、「モジュール」または「ユニット」はある役割を遂行する。しかし、「モジュール」または「ユニット」はソフトウェアまたはハードウェアに限定される意味ではない。「モジュール」または「ユニット」はアドレッシング(アドレス指定)できる保存媒体にあるように構成されてもよく、一つまたはそれ以上のプロセッサを再生させるように構成されてもよい。したがって、一例として、「モジュール」または「ユニット」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素およびタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイまたは変数のうち少なくとも一つを含むことができる。構成要素と「モジュール」または「ユニット」は中で提供される機能は、さらに小さい数の構成要素および「モジュール」または「ユニット」に結合されたり、追加的な構成要素と「モジュール」または「ユニット」にさらに分離されたりし得る。
本開示の一実施例によると、「モジュール」または「ユニット」はプロセッサおよびメモリで具現化され得る。「プロセッサ」は汎用プロセッサ、中央処理装置(CPU)、マイクロ・プロセッサ、デジタル信号プロセッサ(DSP)、制御器、マイクロ制御器、状態マシンなどを含むように広く解釈されるべきである。いくつかの環境で、「プロセッサ」は特定用途向け半導体(ASIC)、プログラム可能ロジックデバイス(PLD)、フィールドプログラム可能ゲートアレイ(FPGA)等を指称することもある。「プロセッサ」とは、例えば、DSPとマイクロ・プロセッサの組み合わせ、複数のマイクロ・プロセッサの組み合わせ、DSPコアと結合した一つ以上のマイクロ・プロセッサの組み合わせ、または任意の他のそのような構成の組み合わせと同じ処理デバイスの組み合わせを指称することもある。また、「メモリ」は電子情報を保存可能な任意の電子コンポーネントを含むように広く解釈されるべきである。「メモリ」は任意のアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、不揮発性の任意のアクセスメモリ(NVRAM)、プログラム可能読み取り専用メモリ(PROM)、消去可能なプログラム可能読み取り専用メモリ(EPROM)、電気的に消去可能PROM(EEPROM)、フラッシュメモリ、磁気または光学データ保存装置、レジスタなどのようなプロセッサ読み取り可能媒体の多様な類型を指称することもある。プロセッサがメモリから情報を読み取り/読み取ったメモリに情報を記録できるのであれば、メモリはプロセッサと電子通信状態にあると言われる。プロセッサに集積されたメモリはプロセッサと電子通信状態にある。
本開示で「音声認識モデル」はスピーチ(speech)データを入力すると、入力された音声に含まれた言語情報に対応するテキストデータを出力するモデルを指称し得る。すなわち、音声認識モデルはSTT(Speech-to-Text)技術を具現化することができる。本開示の一実施例において、音声認識モデルは学習データを利用して教師あり学習、教師なし学習または半教師あり学習を遂行することによって生成またはアップデートされる人工ニューラルネットワークモデルに該当し得る。例えば、音声認識モデルはListen、Attend and Spell(LAS)基盤のE2E-ASR(End-to-End Automatic Speech Recognition)モデルであり得る。
本開示で「音声サンプル」は音声認識モデルを学習、アップデート、そして、テストするために収集した使用者のスピーチ(speech)データを指称し得る。音声サンプルは収集されたデータを前処理して一定のフォーマットで加工したものであり得る。例えば、音声サンプルは収集した使用者のスピーチデータから、200msのウィンドウの長さ(window-length)と100msのストライドの長さ(stride-length)を有するハミングウインドウ(hamming window)を利用して抽出したスペクトログラム(Spectrogram)を含むことができる。
本開示で「ラベル」は音声サンプルに対応するテキストシーケンスを指称し得る。例えば、ラベルは音声サンプルに含まれた言語情報、言語学的意味をテキストに転写(transcribe)したものであり得る。ラベルは音声サンプルが音声認識モデルに入力される時に出力される疑似ラベル(pseudo label)とヒューマンアノテーター(human annotator)が音声サンプルに対して転写した正解ラベルを含むことができる。
図1は、使用者110が音声命令を通じて使用者端末120からサービスを提供してもらう例示を示す図面である。一実施例において、使用者端末120はマイクなどの入力装置を通じて使用者110から音声命令を受信することができる。この場合、使用者端末120は受信された音声命令を音声認識モデルを利用して認識し、認識された音声命令に対応する情報および/またはサービスを使用者110に提供することができる。図示された通り、使用者110が「今日の天気教えて」という音声命令を発話する場合、使用者端末120は該当音声命令を自動で認識し、今日の天気予報をスピーカーなどを通じて出力することができる。
使用者端末120は使用者110が発話する音声命令を認識し、音声命令に対応するサービス/情報を提供するように構成された任意の装置であり得る。例えば、使用者端末120は音声検索サービス、人工知能(AI、Artificial Intelligence)秘書サービス、地図ナビゲーション(Navigation)サービス、セットトップボックス(set-top box)制御サービスなどのサービスを提供することができる。図1では使用者端末120が人工知能スピーカーとして図示されたが、これに限定されず、音声命令を認識しそれに対応するサービスを提供できる任意の装置であり得る。
使用者110の音声命令を認識するために、使用者端末120は機械学習などを通じて生成された音声認識モデルを利用することができる。このような音声認識モデルは音声認識の正確度を高めるために、反復的な/漸進的な学習を通じてアップデートされ得る。人が音声サンプルを聴取して直接正解ラベルを生成したヒューマンラベルドサンプル(Human Labeled Sample;HLS)をできるだけ多く使うことによって音声認識モデル性能を最大化することができるが、ラベリング費用の限界によりHLSのみを利用した音声認識モデル学習方法は現実的に困難である。特に、音声サンプルをラベリングする作業、すなわち、人が音声サンプルを聞いて転写する作業はイメージをラベリングする作業よりはるかに高い費用が要求されるため、ヒューマンラベリング費用を最小化しつつ音声認識性能を最大化できる機械学習方式が要求される。
一実施例において、HLSを最小化するために半教師あり学習(Semi-Supervised Learning;SSL)と能動学習(Active Learning;AL)をつなぎ合わせ、ラベルが割当されていない音声サンプルを利用して学習効率性をさらに向上させるために一貫性正規化(Consistency Regularization;CR)技法を使うことができる。具体的には、ラベルが割当されていない音声サンプルプールから不確実性スコアが最も高い(すなわち、音声認識モデルの信頼度が最も低い)n個の音声サンプルを抽出してヒューマンラベリング作業を遂行することによって、複数のHLSを準備することができる。ここで、nは自然数であり、ヒューマンラベリング費用の予算に応じて決定され得る。また、ラベルが割当されていない音声サンプルプールに残っている音声サンプルのうち、不確実性スコアがあらかじめ定められた臨界値未満(すなわち、音声認識モデルの信頼度が臨界値超過)の音声サンプルを抽出してマシンラベリング作業を遂行し、音声サンプルを増強することによって複数のマシンラベルドサンプル(Machine Labeled Sample;MLS)を準備することができる。そして、音声認識モデルはHLSとMLSを共に使って学習/アップデートされ得る。ここで、MLSは音声認識モデルを学習/アップデートするのにHLSを補助する役割を遂行することができる。
図2は、本開示の一実施例に係る音声認識サービスを提供して音声認識モデルを学習するために、情報処理システム230が複数の使用者端末210_1、210_2、210_3と通信可能なように連結された構成を示す概要図である。情報処理システム230はネットワーク220を通じて音声認識基盤サービスを提供できるシステムおよび/または音声認識モデルを学習できるシステムを含むことができる。一実施例において、情報処理システム230は音声認識基盤サービスまたは音声認識モデル学習に関連したコンピュータ遂行可能なプログラム(例えば、ダウンロード可能なアプリケーション)およびデータを保存、提供および遂行できる一つ以上のサーバー装置および/またはデータベース、またはクラウドコンピューティングサービス基盤の一つ以上の分散コンピューティング装置および/または分散データベースを含むことができる。情報処理システム230により提供される音声認識基盤サービスは、複数の使用者端末210_1、210_2、210_3のそれぞれに設置された音声検索アプリケーション、人工知能秘書アプリケーションなどを通じて使用者に提供され得る。例えば、情報処理システム230は音声検索アプリケーション、人工知能秘書アプリケーションなどを通じて使用者から入力される音声命令に対応する情報を提供したり対応する処理を遂行したりすることができる。追加的に、情報処理システム230は音声認識モデルを学習/アップデートするために、複数の使用者端末210_1、210_2、210_3から音声サンプルを収集することができる。
複数の使用者端末210_1、210_2、210_3はネットワーク220を通じて情報処理システム230と通信することができる。ネットワーク220は複数の使用者端末210_1、210_2、210_3と情報処理システム230の間の通信が可能なように構成され得る。ネットワーク220は設置環境により、例えば、イーサネット(Ethernet)、有線ホームネットワーク(Power Line Communication)、電話線通信装置およびRS-serial通信などの有線ネットワーク、移動通信網、WLAN(Wireless LAN)、Wi-Fi(登録商標)、Bluetooth(登録商標)およびZigBee(登録商標)などのような無線ネットワークまたはその組み合わせで構成され得る。通信方式は制限されず、ネットワーク220が含むことができる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網、衛星網など)を活用する通信方式だけでなく、使用者端末210_1、210_2、210_3の間の近距離無線通信も含まれ得る。
図2で携帯電話端末210_1、タブレット端末210_2およびPC端末210_3が使用者端末の例として図示されたが、これに限定されず、使用者端末210_1、210_2、210_3は有線および/または無線通信が可能で音声基盤サービスアプリケーション、検索アプリケーション、ウェブブラウザアプリケーションなどが設置されて遂行され得る任意のコンピューティング装置であり得る。例えば、使用者端末は、AIスピーカー、スマートフォン、携帯電話、ナビゲーション、コンピュータ、ノートパソコン、デジタル放送用端末、PDA(Personal Digital Assistants)、PMP(Portable Multimedia Player)、タブレットPC、ゲームコンソール(game console)、ウェアラブルデバイス(wearable device)、IoT(internet of things)デバイス、VR(virtual reality)デバイス、AR(augmented reality)デバイス、セットトップボックスなどを含むことができる。また、図2には3個の使用者端末210_1、210_2、210_3がネットワーク220を通じて情報処理システム230と通信するものとして図示されているが、これに限定されず、異なる数の使用者端末がネットワーク220を通じて情報処理システム230と通信するように構成されてもよい。
図3は、本開示の一実施例に係る使用者端末210および情報処理システム230の内部構成を示すブロック図である。使用者端末210は音声基盤サービスアプリケーションなどが実行可能であり、有線/無線通信が可能な任意のコンピューティング装置を指称し得、例えば、図2の携帯電話端末210_1、タブレット端末210_2、PC端末210_3等を含むことができる。図示された通り、使用者端末210はメモリ312、プロセッサ314、通信モジュール316および入出力インターフェース318を含むことができる。これと同様に、情報処理システム230はメモリ332、プロセッサ334、通信モジュール336および入出力インターフェース338を含むことができる。図3に図示された通り、使用者端末210および情報処理システム230は、それぞれの通信モジュール316、336を利用してネットワーク220を通じて情報および/またはデータを通信できるように構成され得る。また、入出力装置320は入出力インターフェース318を通じて使用者端末210に情報および/またはデータを入力したり、使用者端末210から生成された情報および/またはデータを出力したりするように構成され得る。
メモリ312、332は非一過性の任意のコンピュータ読み取り可能な記録媒体を含むことができる。一実施例によると、メモリ312、332は、RAM(random access memory)、ROM(read only memory)、ディスクドライブ、SSD(solid state drive)、フラッシュメモリ(flash memory)などのような非消滅性大容量保存装置(permanent mass storage device)を含むことができる。他の例として、ROM、SSD、フラッシュメモリ、ディスクドライブなどのような非消滅性大容量保存装置はメモリとは区分される別途の永久保存装置であって、使用者端末210または情報処理システム230に含まれ得る。また、メモリ312、332には運営体制(Operating System)と少なくとも一つのプログラムコード(例えば、使用者端末210に設置されて駆動される音声基盤サービスアプリケーションなどのためのコード)が保存され得る。
このようなソフトウェア構成要素はメモリ312、332とは別途のコンピュータで読み取り可能な記録媒体からローディングされ得る。このような別途のコンピュータで読み取り可能な記録媒体はこのような使用者端末210および情報処理システム230に直接連結可能な記録媒体を含むことができるが、例えば、フロッピードライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータで読み取り可能な記録媒体を含むことができる。他の例として、ソフトウェア構成要素はコンピュータで読み取り可能な記録媒体ではない通信モジュールを通じてメモリ312、332にローディングされ得る。例えば、少なくとも一つのプログラムは開発者またはアプリケーションの設置ファイルを配布するファイル配布システムがネットワーク220を通じて提供するファイルによって設置されるコンピュータプログラムに基づいてメモリ312、332にローディングされ得る。
プロセッサ314、334は基本的な算術、ロジックおよび入出力演算を遂行することによって、コンピュータプログラムの命令を処理するように構成され得る。命令はメモリ312、332または通信モジュール316、336によりプロセッサ314、334で提供され得る。例えば、プロセッサ314、334はメモリ312、332のような記録装置に保存されたプログラムコードにより受信される命令を遂行するように構成され得る。
通信モジュール316、336はネットワーク220を通じて使用者端末210と情報処理システム230が互いに通信するための構成または機能を提供することができ、使用者端末210および/または情報処理システム230が他の使用者端末または他のシステム(一例として別途のクラウドシステムなど)と通信するための構成または機能を提供することができる。一例として、使用者端末210のプロセッサ314がメモリ312などのような記録装置に保存されたプログラムコードにより生成した要請またはデータ(例えば、使用者の音声命令に対応するデータなど)は、通信モジュール316の制御によりネットワーク220を通じて情報処理システム230に伝達され得る。逆に、情報処理システム230のプロセッサ334の制御により提供される制御信号や命令が、通信モジュール336とネットワーク220を経て使用者端末210の通信モジュール316を通じて使用者端末210に受信され得る。例えば、使用者端末210は情報処理システム230から通信モジュール316を通じて音声命令と関連した情報などを受信することができる。
入出力インターフェース318は入出力装置320とのインターフェースのための手段であり得る。一例として、入力装置はオーディオセンサおよび/またはイメージセンサを含んだカメラ、キーボード、マイクロホン、マウスなどの装置を、そして、出力装置はディスプレイ、スピーカー、ハプティックフィードバックデバイス(haptic feedback device)などのような装置を含むことができる。他の例において、入出力インターフェース318はタッチスクリーンなどのように入力と出力を遂行するための構成または機能が一つに統合された装置とのインターフェースのための手段であり得る。例えば、使用者端末210のプロセッサ314がメモリ312にローディングされたコンピュータプログラムの命令を処理する場合において、情報処理システム230や他の使用者端末が提供する情報および/またはデータを利用して構成されるサービス画面などが、入出力インターフェース318を通じてディスプレイに表示され得る。図3では入出力装置320が使用者端末210に含まれないように図示されているが、これに限定されず、使用者端末210と一つの装置で構成され得る。また、情報処理システム230の入出力インターフェース338は情報処理システム230と連結されたり、情報処理システム230が含むことができる入力または出力のための装置(図示されず)とのインターフェースのための手段であり得る。図3では入出力インターフェース318、338がプロセッサ314、334と別途に構成された要素として図示されたが、これに限定されず、入出力インターフェース318、338がプロセッサ314、334に含まれるように構成され得る。
使用者端末210および情報処理システム230は図3の構成要素より多くの構成要素を含むことができる。しかし、多くの従来技術的構成要素を明確に図示する必要はない。一実施例によると、使用者端末210は前述された入出力装置320のうち少なくとも一部を含むように具現化され得る。また、使用者端末210はトランシーバー(transceiver)、GPS(Global Positioning system)モジュール、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含むことができる。例えば、使用者端末210がスマートフォンである場合、一般的にスマートフォンが含んでいる構成要素を含むことができ、例えば、加速度センサ、ジャイロセンサ、カメラモジュール、各種物理的なボタン、タッチパネルを利用したボタン、入出力ポート、振動のための振動器などの多様な構成要素が使用者端末210にさらに含まれるように具現化され得る。
一実施例によると、使用者端末210のプロセッサ314は音声基盤サービスを提供するアプリケーションなどが動作するように構成され得る。この時、該当アプリケーションおよび/またはプログラムと関連したコードが使用者端末210のメモリ312にローディングされ得る。アプリケーションおよび/またはプログラムが動作する間に、使用者端末210のプロセッサ314は入出力装置320から提供された情報および/またはデータを入出力インターフェース318を通じて受信したり通信モジュール316を通じて情報処理システム230から情報および/またはデータを受信したりすることができ、受信された情報および/またはデータを処理してメモリ312に保存することができる。また、このような情報および/またはデータは通信モジュール316を通じて情報処理システム230に提供することができる。
音声基盤サービスアプリケーションなどのためのプログラムが動作する間に、プロセッサ314は入出力インターフェース318と連結されたタッチスクリーン、キーボード、オーディオセンサおよび/またはイメージセンサを含んだカメラ、マイクロホンなどの入力装置を通じて入力されたり選択されたテキスト、イメージ、映像、音声などを受信することができ、受信されたテキスト、イメージ、映像および/または音声などをメモリ312に保存したり通信モジュール316およびネットワーク220を通じて情報処理システム230に提供することができる。一実施例において、プロセッサ314は入力装置を通じて音声基盤サービスアプリケーション上で使用者によって入力された音声命令関連データをネットワーク220および通信モジュール316を通じて情報処理システム230に提供することができる。情報処理システム230のプロセッサ334は複数の使用者端末および/または複数の外部システムから受信された情報および/またはデータを管理、処理および/または保存するように構成され得る。一実施例において、情報処理システム230は使用者端末210から受信した音声命令関連データに対応する情報を使用者端末210に提供することができる。追加的に、情報処理システム230は使用者端末210からラベルが割当されていない音声サンプルを収集することができる。
図4は、本開示の一実施例に係る音声サンプル410に対するラベリング作業を通じてHLSデータベース(DB)460およびMLS DB470を構築する例示を示す図面である。情報処理システムのプロセッサは使用者端末からラベルが割当されていない音声サンプル410を収集することができる。収集された音声サンプル410はラベルが割当されていない音声サンプルDB420に保存され得る。収集されたすべての音声サンプルに対してヒューマンラベリングを遂行することは多くの費用が要求されるため、プロセッサは音声認識モデル440を利用して音声サンプル410からヒューマンラベリングを遂行するための音声サンプルを抽出することができる。
プロセッサは音声サンプル410のうち音声認識モデル440の学習に有用なサンプル(informative sample)を選択するために、不確実性基盤のAL(uncertainty-based AL)を使うことができる。具体的には、プロセッサはそれぞれの音声サンプルの不確実性スコアに基づいてヒューマンラベリングのための音声サンプル422を抽出することができる。一実施例において、プロセッサはあらかじめ生成された音声認識モデル440を利用してラベルが割当されていない音声サンプルDB420内の音声サンプルの不確実性スコアを算出し、最も高い不確実性スコアを有するn個の音声サンプル422を抽出することができる。ここで、nは自然数であり、ヒューマンラベリング費用の予算に応じて決定され得る。
一実施例において、音声サンプルの不確実性スコアは音声認識モデル440により出力されるテキストシーケンスの長さ正規化された結合確率(length-normalized joint probability)を示すことができる。例えば、音声サンプルの不確実性スコアと信頼度スコアは下記の数式(1)~(3)を利用して算出され得る。
ここで、
は音声認識モデル440により出力されるテキストシーケンス(すなわち、最も可能性が高いデコーディングされたテキスト)を示し、
は出力テキストシーケンスの結合確率を示し、Lは出力テキストシーケンスの長さを示し、
は長さ正規化されたログ結合確率を示し、NPは音声サンプルの不確実性スコアを示し、δは音声サンプルの信頼度スコアを示すことができる。前記で確認できるように、長いテキストに対する結合確率が過小評価(underestimating)されることを防止するために、プロセッサは出力テキストの長さに基づいて結合確率を正規化することができる。一実施例において、音声サンプルの不確実性スコアは音声認識モデル440が音声サンプルの出力テキストシーケンスをデコーディングする間、音声認識モデル440のデコーダの部分で算出され得る。
最も高い不確実性スコア(最も低い信頼度スコア)を有するn個の音声サンプル422はヒューマンラベリングのために、ヒューマンアノテーター(Human annotator)430に提供され得る。ヒューマンアノテーター430は伝達されたn個の音声サンプル422を聴取して正解ラベル432を生成することができる。正解ラベル432は音声サンプル内に含まれたスピーチを転写したテキストシーケンスであり得る。プロセッサは不確実性が高いn個の音声サンプル422と対応するn個の正解ラベル432をHLS DB460にHLS(Human Labeled Sample)として保存することができる。この時、一つのHLSは音声サンプルと正解ラベルの対で構成され得る。
追加的に、プロセッサはラベルが割当されていない音声サンプルDB420からマシンラベリングのための音声サンプル424を抽出することができる。不確実性が高い音声サンプル(すなわち、音声認識モデル440の信頼度が低いサンプル)を利用してMLSを準備する場合、MLSが音声認識モデル440に誤った情報を提供して音声認識モデル性能をかえって低下させる可能性がある。したがって、プロセッサは音声サンプルDB420内の残っている音声サンプルのうち、あらかじめ決定された臨界値以下の不確実性スコア(臨界値以上の信頼度スコア)を有する少なくとも一つの音声サンプルをマシンラベリングのための不確実性が低い音声サンプル424として抽出することができる。
不確実性の低い音声サンプル424はマシンラベリングのために音声認識モデル440に提供され得る。音声認識モデル440は伝達された音声サンプル424それぞれに対応する疑似ラベル(pseudo label)442を予測することができる。疑似ラベルは音声サンプルが音声認識モデル440に入力される時、出力されるテキストシーケンスであり得る。
疑似ラベルはHLSに比べて情報が少ないだけでなく雑音も多いことがあるため、HLSと同じ方式でMLSを処理する場合、音声認識モデル440の学習/アップデートに役に立たないか、かえって誤った情報を提供して音声認識モデル440の性能を阻害し得る。これを防止するために、不確実性の低い音声サンプル424はデータ増強ユニット450に提供され得る。データ増強ユニット450は伝達された音声サンプル424を増強(augment)して増強された音声サンプル452を生成することができる。音声サンプルの増強は音声サンプルに歪曲、ノイズなどを追加することを意味し得る。イメージサンプルの増強とは異なり、音声サンプルに含まれた言語情報は歪曲、ノイズなどに非常に脆弱であるため、音声サンプル内の言語情報は歪曲、ノイズなどによって容易に損傷され得る。したがって、音声サンプル増強プロセスは、歪曲、ノイズなどが追加されても音声サンプル内の言語学的意味が変更されないように慎重に設計されなければならない。
一実施例によると、データ増強ユニット450は音声サンプル424に対してピッチシフティング(pitch shifting)を遂行することができる。代案として、データ増強ユニット450は音声サンプル424に対してタイムスケーリング(time scaling)を遂行することができる。代案として、データ増強ユニット450は音声サンプル424に加算性白色ガウシアンノイズ(Additive White Gaussian Noise)を追加することができる。プロセッサは増強された音声サンプル452と対応する疑似ラベル442をMLS DB470にMLS(Machine Labeled Sample)として保存することができる。この時、一つのMLSは増強された音声サンプルと疑似ラベルの対で構成され得る。
プロセッサはHLS DB460内のHLSとMLS DB470内のMLSを使って音声認識モデル440をアップデートすることができる。一実施例によると、プロセッサはHLS DB460に保存された音声サンプル-正解ラベル対と、MLS DB470に保存された増強された音声サンプル-疑似ラベル対に基づいて半教師あり学習(semi-supervised learning)を遂行して音声認識モデル440をアップデートすることができる。HLSとMLSをすべて利用して音声認識モデル440をアップデートすることによって、音声認識モデル440の強靭性(robustness)を向上させることができる。
一実施例によると、プロセッサは音声認識モデル440により予測される音声サンプル422と対応する出力データ、そして、音声サンプル422の正解ラベル432の間の差が最小化されるように音声認識モデル440をアップデートすることができる。例えば、音声認識モデル440により予測される音声サンプル422と対応する出力データと正解ラベル432の間の差は、下記のような標準クロス-エントロピー損失関数(standard cross-entropy loss function)により算出され得る。
ここで
は指導損失(supervised loss:教師あり損失)を示し、Bはミニバッチ(mini-batch)の大きさを示し、L
nはn番目のHLSサンプルの長さを示し、
は音声認識モデル440により予測された出力データ(すなわち、音声認識モデル440により予測される音声サンプル422と対応するテキストシーケンス)を示し、Hはクロス-エントロピー(cross-entropy)を示す。
また、プロセッサは音声認識モデル440により予測される増強された音声サンプル452と対応する出力データ、そして、音声サンプル424の疑似ラベル442の間の差が最小化されるように音声認識モデル440をアップデートすることができる。例えば、音声認識モデル440により予測される増強された音声サンプル452と対応する出力データと音声サンプル424の疑似ラベル442の間の差は、下記のような標準クロス-エントロピー損失関数によって算出され得る。
は非指導損失(unsupervised loss:教師なし損失)を示し、Bはミニバッチ(mini-batch)の大きさを示し、L
nはn番目のMLSサンプルの長さを示し、Aは増強関数を示し、
は音声認識モデル440により予測される増強された音声サンプル452と対応する出力データ(すなわち、音声認識モデル440により予測される増強された音声サンプル452と対応するテキストシーケンス)を示し、
は疑似ラベル442を示し、Hはクロス-エントロピー(cross-entropy)を示す。
音声認識モデル440のアップデートに使われる総損失
を統合して、下記の数式(6)のように定義され得る。
ここでλは非指導損失の係数値を示すことができる。例えば、λは0と1の間の定数値であり得る。λは半教師あり学習(semi-supervised learning)を遂行して音声認識モデル440をアップデートする過程で、信頼できるサンプルであるHLSを使う指導損失に加重値を加えるために使われ得る。プロセッサは総損失
が最小化するように半教師あり学習を遂行することができる。
一実施例において、プロセッサは一定量の音声サンプル410がラベルが割当されていない音声サンプルDB420に追加されるたびに、前述した流れに沿って新しいHLSとMLSをHLS DB460とMLS DB470に保存し、HLS DB460内のHLSとMLS DB470内のMLSを使って音声認識モデル440をアップデートする過程を繰り返すことができる。
図5は、本開示の一実施例に係る初期音声認識モデル生成方法500を示すフローチャートである。一実施例において、初期音声認識モデルを生成する方法500はプロセッサ(例えば、情報処理システムの少なくとも一つのプロセッサ)により遂行され得る。図示された通り、初期音声認識モデルを生成する方法500はプロセッサがラベルが割当されていない複数の音声サンプルを受信することによって開始され得る(S510)。その後、プロセッサはヒューマンアノテーターからラベルが割当されていない複数の音声サンプルそれぞれに対する正解ラベルを受信することができる(S520)。
その後、プロセッサは段階(S510)で受信した音声サンプルおよび段階(S520)で受信した正解ラベルのペアに基づいて、初期音声認識モデルを生成することができる(S530)。すなわち、プロセッサはHLSを利用して人工ニューラルネットワークモデルの教師あり学習を遂行することによって初期音声認識モデルを生成することができる。ここで、一つのHLSは音声サンプルと正解ラベルの対で構成され得る。
図6は、本開示の一実施例に係る漸進的音声認識モデル学習方法600を示すフローチャートである。一実施例において、音声認識モデルを学習する方法600はプロセッサ(例えば、情報処理システムの少なくとも一つのプロセッサ)により遂行され得る。図示された通り、音声認識モデルを学習する方法600はプロセッサがラベルが割当されていない複数の音声サンプルを受信することによって開始され得る(S610)。複数の音声サンプルは音声認識サービスを提供する間に使用者端末から収集された音声サンプルであり得る。
複数の音声サンプルを受信することに応答して、プロセッサは音声認識モデルを利用して複数の音声サンプルからヒューマンラベリングのための第1セットの音声サンプルを抽出することができる(S620)。一実施例において、プロセッサは音声認識モデルを利用して複数の音声サンプルそれぞれの不確実性スコアを算出し、複数の音声サンプルのうち最も高い不確実性スコアを有するあらかじめ決定された個数の音声サンプルを第1セットの音声サンプルとして抽出することができる。ここで、不確実性スコアは音声認識モデルによって出力されるテキストシーケンスの長さ正規化された結合確率を示すことができる。
その後、プロセッサは第1セットの音声サンプルと対応する第1セットのラベルを受信することができる(S630)。ここで、第1セットのラベルは人によって生成された正解ラベルであり得る。プロセッサは第1セットの音声サンプルと第1セットのラベルをHLSで保存することができる。
また、プロセッサは音声認識モデルを利用して複数の音声サンプルからマシンラベリングのための第2セットの音声サンプルを抽出することができる(S640)。一実施例において、プロセッサは複数の音声サンプルのうちあらかじめ決定された臨界値以下の不確実性スコアを有する少なくとも一つの音声サンプルを第2セットの音声サンプルとして抽出することができる。ヒューマンラベリングのための第1セットの音声サンプルの数はマシンラベリングのための第2セットの音声サンプルの数より少なくてもよい。
その後、プロセッサは音声認識モデルを利用して第2セットの音声サンプルと対応する第2セットのラベルを決定することができる(S650)。ここで、第2セットのラベルは音声認識モデルによって予測された疑似ラベルであり得る。
また、プロセッサは第2セットの音声サンプルを増強することができる(S660)。一実施例において、プロセッサは第2セットの音声サンプルに対してピッチシフティングを遂行することができる。他の実施例において、プロセッサは第2セットの音声サンプルに対してタイムスケーリングを遂行することができる。さらに他の実施例において、プロセッサは第2セットの音声サンプルに加算性白色ガウシアンノイズを追加することができる。プロセッサは増強された第2セットの音声サンプルと第2セットのラベルをMLSで保存することができる。
その後、プロセッサは第1セットの音声サンプル、第1セットのラベル、増強された第2セットの音声サンプルおよび第2セットのラベルに基づいて半教師あり学習を遂行して音声認識モデルをアップデートすることができる(S670)。一実施例において、プロセッサは音声認識モデルによって予測される第1セットの音声サンプルと対応する第1セットの出力データ、そして、第1セットのラベルの間の差が最小化されるように音声認識モデルをアップデートすることができる。追加的に、プロセッサは音声認識モデルによって予測される増強された第2セットの音声サンプルと対応する第2セットの出力データ、そして、第2セットのラベルの間の差が最小化されるように音声認識モデルをアップデートすることができる。ここで、第1セットの出力データと第1セットのラベルの間の差、そして、第2セットの出力データと第2セットのラベルの間の差は、標準クロス-エントロピー損失関数によって算出され得る。図示された通り、プロセッサはS610~S670を繰り返し遂行することによって、音声認識モデルを漸進的に学習/アップデートすることができる。
図7は、本開示の一実施例に係る音声認識モデルを生成、アップデート、そして、テストするための音声サンプル710、720、730の例示を示す図面である。情報処理システムのプロセッサは使用者端末から音声サンプル710、720、730を受信することができる。受信された音声サンプルは初期音声サンプル710、後続音声サンプル720、そして、テスト用音声サンプル730に分類され得る。一実施例において、プロセッサは200msのウィンドウの長さ(window-length)と100msのストライドの長さ(stride-length)を有するハミングウインドウ(hamming window)を利用して、受信された音声サンプルからスペクトログラム(Spectrogram)を抽出することができる。
プロセッサは初期音声サンプル710を利用して初期音声認識モデルを生成することができる。一実施例において、プロセッサは初期音声サンプル710を利用して図5で前述した初期音声認識モデル生成方法を遂行することによって、初期音声認識モデルを生成することができる。その後、プロセッサは後続音声サンプル720を利用して音声認識モデルをアップデートすることができる。一実施例において、プロセッサは後続音声サンプル720を利用して図6で前述した音声認識モデル学習方法を遂行することによって、音声認識モデルをアップデートすることができる。例えば、プロセッサは後続音声サンプル720を複数の区間(例えば、30個の区間)に分け、各区間の音声サンプルを利用して音声認識モデルアップデートを何回も(例えば、30回)遂行することができる。
音声認識モデルの生成およびアップデートが完了した後、プロセッサはテスト用音声サンプル730を利用して音声認識モデル性能をテストすることができる。一実施例において、プロセッサはテスト用音声サンプル730それぞれをアップデート完了した音声認識モデルに入力し、出力データとヒューマンアノテーターが生成した正解ラベルを比較することによって、音声認識モデル性能をテストすることができる。音声認識モデルの性能は文字水準エラー率(Character-level Error Rate;CER)で評価され得る。ここで、CERは出力データと正解ラベルの間の文字の差に基づいて決定され得る。
一実施例において、初期音声サンプル710の数は後続音声サンプル720の数より少なくてもよい。例えば、初期音声サンプル710は110時間の音声サンプルを含み、後続音声サンプル720は386時間の音声サンプルを含み、テスト用音声サンプル730は56時間の音声サンプルを含むことができる。また、初期音声サンプル710は後続音声サンプル720より先に収集された音声サンプルであり、後続音声サンプル720はテスト用音声サンプル730より先に収集された音声サンプルであり得る。このような構成によって、本開示の実施例に係る音声認識モデル学習方法の性能を実際の状況と類似するように評価することができる。このような環境で遂行された本開示の実施例に係る音声認識モデル学習方法の性能評価は、以下で図8~図10を参照して説明する。性能評価では音声サンプルの信頼度スコア(数式(3)のδ値)が臨界値(τ=0.9)を超過する音声サンプルを抽出してマシンラベリングを遂行した。また、音声認識モデル学習でMLSの影響を強調するために非指導損失の係数値(λ)を1として使った。
図8は、ヒューマンラベリングのための音声サンプルを抽出する方式による音声認識モデルの性能差を示すグラフである。前述したように、音声認識モデルを学習/アップデートするためにラベルが割当されていない音声サンプルからヒューマンラベリングを遂行するための音声サンプルを抽出することができる。グラフで「NP」は前述した数式(1)および(2)を利用して音声サンプルの不確実性スコアを算出した場合を示す。グラフで「RND」はヒューマンラベリングを遂行する音声サンプルをランダムに抽出した場合を示す。グラフで「Loss」と「CER」は数式(1)~(2)ではない他の方式で不確実性スコアを算出した場合を示す。
それぞれの基準により抽出されるヒューマンラベリングを遂行する音声サンプルの音声認識モデル学習に対する有用性を評価するために、複数の音声サンプルを前述した基準に沿って整列し、5個の音声サンプルセットに分割することができる。例えば、合計386.5時間の音声サンプルをそれぞれの基準に沿って整列し、77.3時間の5個の音声サンプルセットに分割することができる。ここで、「set1/5」は最も不確実性の高いサンプル(すなわち、音声認識モデル学習に有用なサンプル)を含むセットであり、「set5/5」は最も不確実性の低いサンプル(すなわち、音声認識モデル学習に有用でないサンプル)を含むセットである。その後、各音声サンプルセットを利用してHLSを準備し、準備されたHLSを利用して教師あり学習を遂行して音声認識モデルを生成することができる。生成された音声認識モデルの性能はCER(%)で示すことができる。ここで、CER(%)が低いほど音声認識モデルの性能がよいことを意味し得る。
図示された通り、「NP」、「Loss」、「CER」はそれぞれ「set1/5」で最小のCER(%)値を有し、「set1/5」で「NP」が最も小さいCER(%)値を有する。また、「NP」では不確実性スコアが低い(すなわち、信頼度スコアが高い)音声サンプルセットを使うほどCER(%)がほぼ単調に(monotonically)に増加することを確認することができる。反面「Loss」、「CER」では「NP」とは異なり、各音声サンプルセットに対するCER(%)値に対して予想外の変化形態が表れることを確認することができる。これは、「Loss」または「CER」方式を利用して音声サンプルの不確実性スコアを算出する場合、音声認識モデルを通じて予測されるテキストシーケンス間の結合確率を考慮せず、正解ラベルと音声認識モデルによって予測されるラベル間の差を測定して不確実性スコアを決定するためである。したがって、ヒューマンラベリングを遂行する音声サンプルを抽出するために、音声サンプルのNP値(前述した数式(1)および(2)を利用して音声サンプルの不確実性スコアを算出することが他の基準で不確実性スコアを算出することより正確で効果的である。
図9は、本開示の音声サンプル増強方式による音声認識モデルの性能の差を示すグラフである。グラフで「NoCR」はデータ増強を遂行していない場合を示し、「CR-P」はデータ増強として音声サンプルに対してピッチシフティングを遂行した場合を示し、「CR-A」はデータ増強として音声サンプルに加算性白色ガウシアンノイズを追加した場合を示し、「CR-S」はデータ増強として音声サンプルに対してタイムスケーリングを遂行した場合を示す。例えば、「CR-P」は音声サンプルの音程を2.5段階(1段階は一オクターブを8個に分けたもの)シフトしたものを示し、「CR-A」は音声サンプルにSNR(Signal-to-Noise Ratio)が5以下である加算性白色ガウシアンノイズを追加したものを示し、「CR-S」は音声サンプルの再生速度を1.5倍早くタイムスケーリングしたものを示す。
図9で、x軸はHLSの量(すなわち、音声サンプルの時間)を示し、x軸の「(LUxy)」のxyはHLS(x)とMLS(y)の比率を示す。例えば、38.6h(LU19)の場合、38.6時間分量のHLSとHLSの9倍の量のMLSに基づいて半教師あり学習を遂行して音声認識モデルアップデートを進めた場合を示す。図9のグラフは下記の表1と共に分析され得る。表1は各行および各列に対応する条件でアップデートされた音声認識モデルの性能(CER(%))を表す。ここで、CER(%)が低いほど音声認識モデルの性能がよいものと評価することができる。
表1で確認できるように、386時間のHLSのみを利用して教師あり学習を通じて生成された音声認識モデルの性能がCER=10.89%であって、最も良い。また、表1と図9で確認できるように、HLSの量が減少し、MLSの量が増えるほど音声認識モデルの性能がますます悪くなることを確認することができる。追加的に、LU16の場合を除いて「NoCR」のCER(%)が「Supervised learning」のCER(%)より高いことから、増強していない音声サンプルを含むMLSはかえって音声認識モデルの学習に否定的な影響を与えることを確認することができる。特に、性能評価で比較的低い信頼度スコア臨界値(τ=0.9)に基づいてマシンラベリングを遂行する音声サンプルを抽出し、高い非指導損失の係数値(λ=1)を設定して音声認識モデルを半教師あり学習したため、MLS内の不正確な疑似ラベルの音声認識モデルに対する否定的影響がよく示される。
表1と図9でLU12とLU14の「CR-S」を除いて、各行で、「NoCR」より増強された音声サンプルを利用した場合(「CR-S」、「CR-A」、「CR-P」)のCER(%)が低いことを確認することができる。また、「CR-S」、「CR-A」、「CR-P」のうち「CR-P」が最も低いCER(%)を有するため、データ増強として音声サンプルに対してピッチシフティングを遂行した場合、音声認識モデルの性能が最も良いことを確認することができる。
一方、音声認識モデル学習に利用されるHLSの数が少ない時(例えば、LU16またはLU19)、MLSに含まれた音声サンプルの増強の効果がさらに著しく表れることを確認することができる。例えば、LU19で増強された音声サンプルを使う場合のCER(%)が、「Supervised learning」と「NoCR」に比べてそれぞれ1.26%pおよび1.60%p減少する。反面、十分な量のHLSを利用して音声認識モデルを学習/アップデートした場合(例えば、LU12)には音声サンプル増強の効果がわずかなものに見えるが、これは音声認識モデルに対するHLSの学習効果が十分に大きく表れるためである。
図10は、本開示の一実施例により音声認識モデルを何回もアップデートする場合、学習回次と音声認識モデルの性能の関係を示すグラフである。図10のグラフは音声認識モデルを30回目までアップデートし、それぞれの回次にアップデートされた音声認識モデルのCER(%)を示す。LU12、LU16それぞれに対して「NoCR」のCER(%)が「CR-S」、「CR-A」、「CR-P」のCER(%)よりも大きいことを確認することができる。すなわち、「NoCR」で不正確な疑似ラベル(すなわち、不正確なMLS)による音声認識モデルの性能低下が表れる。本開示の実施例によると、非指導損失
が音声認識モデルがよく分からない音声サンプルに高い信頼度スコアを付与することを制約するため、前述した問題を緩和して機械学習でMLSを活用して優秀な音声認識モデル性能を提供することができる。
結論として、本開示の実施例により音声認識モデルを学習/アップデートする場合、0.26%pのCER増加(すなわち、性能低下)だけでラベリング費用を2/3ほど節減することができ、1.08%pのCER増加だけでラベリング費用を6/7ほど節減することができる。したがって、音声認識モデルの性能低下(例えば、不正確なMLSによる性能低下)は殆どないようにしつつ、音声認識モデルをアップデートするためのヒューマンラベリング費用を顕著に低減することが可能である。
前述した音声認識モデル学習方法はコンピュータで実行するために、コンピュータ読み取り可能な記録媒体に保存されたコンピュータプログラムで提供され得る。媒体はコンピュータで実行可能なプログラムを保存し続けたり、遂行またはダウンロードのために一時保存したりするものでもよい。また、媒体は単一または数個ハードウェアが結合された形態の多様な記録手段または保存手段でもよいが、あるコンピュータシステムに直接接続される媒体に限定されず、ネットワーク上に分散的に存在するものでもよい。媒体の例示としては、ハードディスク、フロッピーディスクおよび磁気テープのような磁気媒体、CD-ROMおよびDVDのような光記録媒体、フロプティカルディスク(floptical disk)のような磁気-光媒体(magneto-optical medium)、およびROM、RAM、フラッシュメモリなどを含んでプログラム命令語が保存されるように構成されたものがあり得る。また、他の媒体の例示として、アプリケーションを流通するアプリストアやその他の多様なソフトウェアを供給乃至流通するサイト、サーバーなどで管理する記録媒体乃至保存媒体が挙げられる。
本開示の方法、動作または技法は多様な手段によって具現化されてもよい。例えば、このような技法はハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで具現化されてもよい。本願の開示と連係して説明された多様な例示的な論理的ブロック、モジュール、回路およびアルゴリズム段階は電子ハードウェア、コンピュータソフトウェア、または両者の組み合わせで具現化されてもよいことを通常の技術者は理解できるであろう。ハードウェアおよびソフトウェアの、このような相互間の代替を明確に説明するために、多様な例示的な構成要素、ブロック、モジュール、回路および段階がそれらの機能的観点で一般的に前述された。そのような機能がハードウェアで具現化されるかまたはソフトウェアで具現化されるかどうかは、特定のアプリケーションおよび全体システムに課される設計要求事項により変わる。通常の技術者はそれぞれの特定のアプリケーションのために多様な方式で説明された機能を具現化してもよいが、そのような具現化は本開示の範囲から逸脱させるものと解釈されてはならない。
ハードウェアの具現化において、技法の遂行に利用されるプロセッシングユニットは、一つ以上のASIC、DSP、デジタル信号プロセッシングデバイス(digital signal processing devices;DSPD)、プログラム可能論理デバイス(programmable logic devices;PLD)、フィールドプログラム可能ゲートアレイ(field programmable gate arrays;FPGA)、プロセッサ、制御器、マイクロ制御器、マイクロ・プロセッサ、電子デバイス、本開示に説明された機能を遂行するように設計された他の電子ユニット、コンピュータ、またはこれらの組み合わせ内で具現化されてもよい。
したがって、本開示と連係して説明された多様な例示的な論理ブロック、モジュールおよび回路は、汎用プロセッサ、DSP、ASIC、FPGAや他のプログラム可能論理デバイス、離散ゲートやトランジスタロジック、離散ハードウェアコンポーネント、または本願に説明された機能を遂行するように設計されたものなどの任意の組み合わせで具現化されたり遂行されたりしてもよい。汎用プロセッサはマイクロ・プロセッサでもよいが、代案として、プロセッサは任意の従来のプロセッサ、制御器、マイクロ制御器、または状態マシンでもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、例えば、DSPとマイクロ・プロセッサ、複数のマイクロ・プロセッサ、DSPコアと連係した一つ以上のマイクロ・プロセッサ、または任意の他の構成の組み合わせで具現化されてもよい。
ファームウェアおよび/またはソフトウェアの具現化において、技法はランダムアクセスメモリ(random access memory;RAM)、読み取り専用メモリ(read-only memory;ROM)、不揮発性RAM(non-volatile random access memory;NVRAM)、PROM(programmable read-only memory)、EPROM(erasable programmable read-only memory)、EEPROM(electrically erasable PROM)、フラッシュメモリ、コンパクトディスク(compact disc;CD)、磁気または光学データストレージデバイスなどのようなコンピュータ読み取り可能媒体上に保存された命令で具現化されてもよい。命令は一つ以上のプロセッサによって実行可能でもよく、プロセッサに本開示に説明された機能の特定態様を遂行させてもよい。
以上で説明された実施例が一つ以上の独立型コンピュータシステムで現在開示された主題の態様を活用するものとして記述されたが、本開示はこれに限定されず、ネットワークや分散コンピューティング環境のような任意のコンピューティング環境と連係して具現化されてもよい。さらに、本開示で主題の様相は複数のプロセッシングチップや装置で具現化されてもよく、ストレージは複数の装置に亘って同様に影響を受けることもある。このような装置はPC、ネットワークサーバーおよび携帯用装置を含んでもよい。
本明細書では本開示が一部の実施例と関連して説明されたが、本開示の発明が属する技術分野の通常の技術者が理解できる本開示の範囲を逸脱しない範囲で多様な変形および変更が行われ得る。また、そのような変形および変更は本明細書に添付された特許請求の範囲内に属するものと理解されるべきである。