(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】人工神経網における復号化方法及び音声認識装置
(51)【国際特許分類】
G10L 15/16 20060101AFI20241119BHJP
【FI】
G10L15/16
(21)【出願番号】P 2019171730
(22)【出願日】2019-09-20
【審査請求日】2022-08-29
(31)【優先権主張番号】10-2018-0139787
(32)【優先日】2018-11-14
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】李 敏重
【審査官】中村 天真
(56)【参考文献】
【文献】国際公開第2018/168509(WO,A1)
【文献】国際公開第2018/057809(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-25/93
G06N 3/02- 3/10
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
第1人工神経網における復号化方法において、
以前に入力された少なくとも1つの入力トークンに基づいて、出力トークンの候補の確率を予測するステップと、
前記予測された確率に基づいて、前記候補のうち前記出力トークンを決定するステップと、
前記出力トークンの決定された確率に基づいて、前記出力トークン及び予め定義された特殊トークンのいずれか1つを選択することによって、次の入力トークンを決定するステップであって、前記出力トークンの確率が
予め決定した閾値確率よりも小さい場合には、前記特殊トークンを前記次の入力トークンとして選択し、前記出力トークンの確率が前記閾値確率よりも大きい場合には、前記出力トークンを前記次の入力トークンとして選択する、ステップと、
を含む人工神経網における復号化方法。
【請求項2】
前記特殊トークンを次の入力トークンとして決定する場合、
前記特殊トークンに基づいて予測される次の出力トークンの候補の信頼度は、前記出力トークンに基づいて予測される次の出力トークンの候補の信頼度よりも高い、請求項1に記載の人工神経網における復号化方法。
【請求項3】
前記出力トークンを決定するステップは、前記第1人工神経網と連動する少なくとも1つの第2人工神経網によって予測された前記候補の確率と、前記第1人工神経網によって予測された前記候補の確率との組合せに基づいて、前記候補のうち前記出力トークンを選択するステップを含む、請求項1に記載の人工神経網における復号化方法。
【請求項4】
前記人工神経網の入力レイヤは、前記候補それぞれに対応する複数のノード及び前記特殊トークンに対応する特殊ノードを含む、請求項1-3のうち何れか1項に記載の人工神経網における復号化方法。
【請求項5】
前記少なくとも1つの入力トークンは、前記人工神経網によって予め予測された出力トークン及び前記特殊トークンのうち少なくとも1つを含む、請求項1-3のうち何れか1項に記載の人工神経網における復号化方法。
【請求項6】
前記出力トークンを決定するステップは、前記候補のうち確率が最も高いトークンを選択するステップを含む、請求項1に記載の人工神経網における復号化方法。
【請求項7】
前記次の入力トークンを決定するステップは、
前記出力トークンの確率と
前記予め決定した閾値確率とを比較するステップ
をさらに含む、請求項1に記載の人工神経網における復号化方法。
【請求項8】
前記出力トークンの候補の確率を予測するステップは、前記少なくとも1つの入力トークンと前記出力トークンとの間の相関関係に基づいて、前記出力トークンの候補の確率を予測するステップを含む、請求項1に記載の人工神経網における復号化方法。
【請求項9】
前記少なくとも1つの入力トークン及び前記次の入力トークンに基づいて次の出力トークンを決定するステップをさらに含む、請求項1-8のうち何れか1項に記載の人工神経網における復号化方法。
【請求項10】
前記特殊トークン以外のトークンが前記特殊トークンにアテンションしないように前記特殊トークンをマスキングするステップをさらに含む、請求項1-9のうち何れか1項に記載の人工神経網における復号化方法。
【請求項11】
前記特殊トークンが前記次の入力トークンとして決定された場合、次の出力トークンと前記特殊トークンとの間の相関関係を予め決定した数値以下に設定するステップをさらに含む、請求項1-10のうち何れか1項に記載の人工神経網における復号化方法。
【請求項12】
前記出力トークンを決定するステップは、
前記出力トークンが前記特殊トークンと同一であるかを判断するステップと、
前記出力トークンが前記特殊トークンと同一である場合、前記候補のうち2番目に確率の高いトークンを前記出力トークンとして決定するステップと、
を含む、請求項1に記載の人工神経網における復号化方法。
【請求項13】
請求項1乃至請求項12のいずれか一項に記載の復号化方法をコンピュータに実行させるコンピュータプログラム。
【請求項14】
人工神経網における音声認識装置であって、
以前に入力された少なくとも1つの入力トークンに基づいて、出力トークンの候補の確率を予測し、
前記予測された確率に基づいて前記候補のうち前記出力トークンを決定し、
前記出力トークンの決定された確率に基づいて、前記出力トークン及び予め定義された特殊トークンのいずれか1つを選択することによって次の入力トークンを決定するプロセッサであって、前記出力トークンの確率が
予め決定した閾値確率よりも小さい場合には、前記特殊トークンを前記次の入力トークンとして選択し、前記出力トークンの確率が前記閾値確率よりも大きい場合には、前記出力トークンを前記次の入力トークンとして選択する、プロセッサと、
を含む音声認識装置。
【請求項15】
前記特殊トークンを次の入力トークンとして決定する場合、
前記特殊トークンに基づいて予測される次の出力トークンの候補の信頼度は、前記出力トークンに基づいて予測される次の出力トークンの候補の信頼度よりも高い、請求項14に記載の音声認識装置。
【請求項16】
前記人工神経網の入力レイヤは、前記候補それぞれに対応する複数のノード及び前記特殊トークンに対応する特殊ノードを含む、請求項14又は15に記載の音声認識装置。
【請求項17】
前記少なくとも1つの入力トークンは、前記人工神経網によって予め予測された出力トークン及び前記特殊トークンのうち少なくとも1つを含む、請求項14-16のうち何れか1項に記載の音声認識装置。
【請求項18】
前記プロセッサは、前記候補のうち確率が最も高いトークンを選択する、請求項14に記載の音声認識装置。
【請求項19】
前記プロセッサは、前記人工神経網と連動する他の人工神経網によって予測された前記候補の確率と前記人工神経網によって予測された前記候補の確率との組合せに基づいて、前記候補のうち前記出力トークンを選択する、請求項14に記載の音声認識装置。
【請求項20】
前記プロセッサは、
前記次の入力トークンを決定する前に、前記出力トークンの確率と
前記予め決定した閾値確率とを比較する、請求項14に記載の音声認識装置。
【請求項21】
前記プロセッサは、前記少なくとも1つの入力トークンと前記出力トークンとの間の相関関係に基づいて、前記出力トークンの候補の確率を予測する、請求項14-20のうち何れか1項に記載の音声認識装置。
【請求項22】
前記プロセッサは、前記少なくとも1つの入力トークン及び前記次の入力トークンに基づいて次の出力トークンを決定する、請求項14-21のうち何れか1項に記載の音声認識装置。
【請求項23】
前記プロセッサは、前記特殊トークン以外のトークンが前記特殊トークンにアテンションしないように前記特殊トークンをマスキングする、請求項14-22のうち何れか1項に記載の音声認識装置。
【請求項24】
前記プロセッサは、前記特殊トークンが前記次の入力トークンとして決定された場合、次の出力トークンと前記特殊トークンとの間の相関関係を予め決定した数値以下に設定する、請求項14に記載の音声認識装置。
【請求項25】
前記プロセッサは、
前記出力トークンが前記特殊トークンと同一であるかを判断し、
前記出力トークンが前記特殊トークンと同一である場合、前記候補のうち2番目に確率の高いトークンを前記出力トークンとして決定する、請求項14に記載の音声認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、人工神経網における復号化方法及びその装置に関する。
【背景技術】
【0002】
長さの決められていないシーケンスを人工神経網の入力として受け、決められていない長さの出力を生成しなければならない問題を解決するための方法として、シーケンスツーシーケンス(sequence-to-sequence)モデルの1つであるエンコーダ-デコーダの人工神経網モデルが導入されたが、特に、その中でも決められていない長さの出力を人工神経網に算出するために、1つのシーケンスを構成している単位であるトークン(token)ごとに人工神経網の以前出力を入力にして次の出力を続けて出力する方法は、自己回帰(auto-regressive)復号化と呼ばれる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本発明の目的は、人工神経網における復号化方法及びその装置を提供する。
【課題を解決するための手段】
【0004】
一実施形態に係る第1人工神経網における復号化方法は、以前に入力された少なくとも1つの入力トークンに基づいて、出力トークンの候補の確率を予測するステップと、前記予測された確率に基づいて、前記候補のうち前記出力トークンを決定するステップと、前記出力トークンの決定された確率に基づいて、前記出力トークン及び予め定義された特殊トークンのいずれか1つを選択することによって、次の入力トークンを決定するステップとを含む。
【0005】
前記特殊トークンを次の入力トークンとして決定する場合、前記特殊トークンに基づいて予測される次の出力トークンの候補の信頼度は、前記出力トークンに基づいて予測される次の出力トークンの候補の信頼度よりも高い。
【0006】
前記出力トークンを決定するステップは、前記第1人工神経網と連動する少なくとも1つの第2人工神経網によって予測された前記候補の確率と、前記第1人工神経網によって予測された前記候補の確率との組合せに基づいて、前記候補のうち前記出力トークンを選択し得る。
【0007】
前記人工神経網の入力レイヤは、前記候補それぞれに対応する複数のノード及び前記特殊トークンに対応する特殊ノードを含み得る。
【0008】
前記少なくとも1つの入力トークンは、前記人工神経網によって予め予測された出力トークン及び前記特殊トークンのうち少なくとも1つを含み得る。
【0009】
前記出力トークンを決定するステップは、前記候補のうち確率が最も高いトークンを選択するステップを含み得る。
【0010】
前記次の入力トークンを決定するステップは、前記出力トークンの確率と予め決定した閾値確率とを比較するステップと、前記出力トークンの確率が前記閾値確率よりも小さい場合、前記特殊トークンを前記次の入力トークンとして選択するステップと、前記出力トークンの確率が前記閾値確率よりも大きい場合、前記出力トークンを前記次の入力トークンとして選択するステップとを含み得る。
【0011】
前記出力トークンの候補の確率を予測するステップは、前記少なくとも1つの入力トークンと前記出力トークンとの間の相関関係に基づいて、前記出力トークンの候補の確率を予測するステップを含み得る。
【0012】
一実施形態に係る人工神経網における復号化方法は、前記少なくとも1つの入力トークン及び前記次の入力トークンに基づいて次の出力トークンを決定するステップをさらに含み得る。
【0013】
一実施形態に係る人工神経網における復号化方法は、前記特殊トークン以外のトークンが前記特殊トークンにアテンションしないように前記特殊トークンをマスキングするステップをさらに含み得る。
【0014】
一実施形態に係る人工神経網における復号化方法は、前記特殊トークンが前記次の入力トークンとして決定された場合、次の出力トークンと前記特殊トークンとの間の相関関係を予め決定した数値以下に設定するステップをさらに含み得る。
【0015】
前記出力トークンを決定するステップは、前記出力トークンが前記特殊トークンと同一であるかを判断するステップと、前記出力トークンが前記特殊トークンと同一である場合、前記候補のうち2番目に確率の高いトークンを前記出力トークンとして決定するステップとを含み得る。
【0016】
第1人工神経網における復号化方法において、人工神経網における復号化方法は、以前に入力された少なくとも1つの入力トークンに基づいて、出力トークンの候補の確率を予測するステップと、前記第1人工神経網と連動する少なくとも1つの第2人工神経網によって予測された前記候補の確率と、前記第1人工神経網によって予測された前記候補の確率との組合せに基づいて、前記候補のうち前記出力トークンを選択するステップと、前記少なくとも1つの第2人工神経網のうち、前記出力トークンの確率を最も高く判断した人工神経網と前記第1人工神経網との間で前記出力トークンの確率を比較するステップと、前記比較結果に基づいて、前記出力トークン及び予め定義された特殊トークンのいずれか1つを選択することによって、前記第1人工神経網の次の入力トークンを決定するステップとを含む。
【0017】
前記次の入力トークンを決定するステップは、前記出力トークンの確率を最も高く判断した人工神経網と前記第1人工神経網の前記出力トークンの確率の差が予め決定した閾値よりも大きい場合、前記特殊トークンを前記第1人工神経網の前記次の入力トークンとして選択するステップと、前記出力トークンの確率を最も高く判断した人工神経網と前記第1人工神経網の前記出力トークンの確率の差が予め決定した閾値よりも小さい場合、前記出力トークンを前記第1人工神経網の前記次の入力トークンとして選択するステップとを含み得る。
【0018】
前記特殊トークンに基づいて予測される次の出力トークンの候補の信頼度は、記閾値よりも大きい場合、前記出力トークンに基づいて予測される次の出力トークンの候補の信頼度よりも高い。
【0019】
一実施形態に係る音声認識装置は、以前に入力された少なくとも1つの入力トークンに基づいて、出力トークンの候補の確率を予測し、前記予測された確率に基づいて前記候補のうち前記出力トークンを決定し、前記出力トークンの決定された確率に基づいて、前記出力トークン及び予め定義された特殊トークンのいずれか1つを選択することによって次の入力トークンを決定するプロセッサとを含む。
【0020】
一実施形態に係る音声認識装置は、現在まで入力された少なくとも1つの入力トークンに基づいて、出力トークンの候補の確率を予測し、第1人工神経網と連動する少なくとも1つの第2人工神経網によって予測された前記候補の確率と前記第1人工神経網によって予測された前記候補の確率との組合せに基づいて、前記候補のうち前記出力トークンを選択し、前記少なくとも1つの第2人工神経網のうち、前記出力トークンの確率を最も高く判断した人工神経網と前記第1人工神経網との間で前記出力トークンの確率を比較し、前記比較結果に基づいて、前記出力トークン及び予め定義された特殊トークンのいずれか1つを選択することによって、前記第1人工神経網の次の入力トークンを決定するプロセッサを含む。
【0021】
一実施形態に係る音声認識システムは、命令を格納するメモリと、1つ以上のプロセッサとを含み、前記命令が前記プロセッサによって実行されるとき、前記プロセッサは、入力音声から音声特徴を抽出し、音声特徴を符号化して符号化された特徴を生成し、前記符号化された特徴及び以前に決定された認識結果に基づいて出力トークンの候補の確率を決定し、言語モデル人工神経網によって決定された前記出力トークンの候補の加重値と音声認識人工神経網によって決定された前記出力トークンの候補の加重値に基づいて次の出力トークンを決定する。
【発明の効果】
【0022】
本発明によると、人工神経網における復号化方法及びその装置を提供することができる。
【図面の簡単な説明】
【0023】
【
図1】一実施形態に係る1つの人工神経網で自己回帰復号化を行うデコーダの動作方法を説明するための図である。
【
図2】一実施形態に係るアテンションメカニズム(attention mechanism)が適用された人工神経網において、特殊トークンをマスキングする方法を説明するための図である。
【
図3】一実施形態に係るエンコーダ-デコーダ構造の人工神経網システムを示すブロック図である。
【
図4】一実施形態に係るアンサンブル方式を用いたエンコーダ-デコーダ構造の人工神経網システムを示すブロック図である。
【
図5】一実施形態に係る追加言語モデルを有する音声認識人工神経網における適用実施形態を示すブロック図である。
【
図6】一実施形態に係る追加言語モデル人工神経網を有する音声認識人工神経網システムを示す図である。
【
図7A】一実施形態に係る言語モデル人工神経網デコーダと音声認識人工神経網デコーダにおけるアンサンブル方式を適用した実施形態を示す図である。
【
図7B】一実施形態に係る特殊トークンを用いた言語モデル人工神経網デコーダと音声認識人工神経網デコーダにおけるアンサンブル方式を適用した実施形態を示す図である。
【
図8】一実施形態に係る人工神経網における復号化方法を示すフローチャートである。
【
図9】一実施形態に係る自己回帰に基づくシーケンス生成人工神経網における低い確率トークンの処理方法を説明するためのフローチャートである。
【
図10】一実施形態に係る自己回帰に基づくシーケンス生成人工神経網における低い確率トークンの処理装置のブロック図である。
【発明を実施するための形態】
【0024】
実施形態に対する特定な構造的又は機能的な説明は単なる例示のための目的として開示されたものとして、様々な形態に変更される。したがって、実施形態は特定な開示形態に限定されるものではなく、本明細書の範囲は技術的な思想に含まれる変更、均等物ないし代替物を含む。
【0025】
第1又は第2などの用語を複数の構成要素を説明するために用いることがあるが、このような用語は1つの構成要素を他の構成要素から区別する目的としてのみ解釈されなければならない。例えば、第1構成要素は第2構成要素と命名することができ、同様に第2構成要素は第1構成要素にも命名することができる。
【0026】
いずれかの構成要素が他の構成要素に「連結」されているか「接続」されていると言及されたときには、その他の構成要素に直接的に連結されているか又は接続されているが、中間に他の構成要素が存在し得るものと理解されなければならない。
【0027】
本明細書で用いられる用語は、単に特定の実施形態を説明するために使用されたものであり、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、1つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【0028】
異なるように定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【0029】
以下、実施形態を添付の図面を参照して詳説する。添付図面を参照して説明することにおいて、図面符号に関わらず同じ構成要素は同じ参照符号を付与し、これに関する重複説明は省略することにする。
【0030】
図1は、一実施形態に係る1つの人工神経網で自己回帰復号化方法を説明するための図である。
【0031】
図1を参照すると、一実施形態に係るデコーダ120は、符号化された特徴110を入力(input)として受信する。例えば、デコーダ120は、人工神経網内デコーダ120の前端に接続されたエンコーダ(図示せず)から入力を受信する。
【0032】
エンコーダとデコーダ120は、ニューラルネットワークで具現されたシーケンスツーシーケンスエンコーダ-デコーダであってもよい。一例としてニューラルネットワークは、DNN(Deep Neural Network)であるが、これに限定されることはない。DNNは、1つ又はそれ以上のFCN(Fully connected network)、DCN(Deep ConVolutional Nnetwork)、RNN(Recurrent Neural Network)、RDNN(Recurrent Deep Neural Network)及びBDRNN(Bidirectional Recurrent Neural Network)などを含んでもよく、DNNは、FCN、DCN、RNN、RDNN、BDRNNを組み合わせて構成されてもよい。ニューラルネットワーク内レイヤのノードは、非線形で互いに影響を与える関係であり、各ノードから出力される値、ノード間の関係など、ニューラルネットワークのパラメータは学習、例えば、誤差逆伝播(loss based back propagation)によって最適化されることができる。
【0033】
ニューラルネットワークは、プロセッサで具現されたニューラルネットワークモデルであってもよく、ニューラルネットワークモデルを介して学習後に入力パターンと出力パターン、又は入力パターンのパターン認識間の直観的なマッピングを提供することのできる特殊な算出構造として様々なプロセスが実現される。マッピングを生成したり、このような例示的なパターン認識を行う学習能力は、神経網の学習能力と称される。学習能力は、また、特殊な算出構造が入力パターン又は入力パターンの部分を1つ以上の所定のグループに属する構成員に分類される。また、学習を介して訓練された神経網は、例えば、神経網が訓練されていない入力パターンに対して比較的に正確であるか、信頼できる出力を生成する一般化能力を有する。
【0034】
一例として、シーケンスツーシーケンスエンコーダ-デコーダは、エンコーダとデコーダが統合されたネットワーク構造であって、入力シーケンスから認識結果のシーケンスを生成することができる。例えば、シーケンスツーシーケンス構造で具現されたエンコーダとデコーダ120は、入力音声から入力音声に対応する認識結果を直接生成する。エンコーダとデコーダ120は、入力音声を受信する前に、予め学習された入力シーケンスから認識結果のシーケンスを生成するように予め学習される。
【0035】
エンコーダは、入力シーケンスを符号化して符号化された特徴110を生成する。エンコーダは、入力シーケンスから特徴を抽出し、符号化された情報を生成する。符号化された特徴110は、デコーダ120に印加される。デコーダ120は、符号化された特徴110に基づいて認識結果を生成する。
【0036】
図1を参照すると、符号化された特徴110を受信したデコーダ120は、入力トークンである開始トークン115に基づいて、トークン1(token1)105を出力トークンとして決定する。トークン1(token1)105を出力トークンとして決定し、デコーダ120は、トークン1(token1)105を次の入力トークンとして決定する。
【0037】
エンコーダ-デコーダ構造の人工神経網のデコーダ120は、ステップごとにエンコーダから算出された情報に基づいて出力トークンを求めるが、ここで、以前のステップまで選択された入力トークンに依存して求めることができる。
【0038】
例えば、トークン1(token1)105を入力トークンとして決定したデコーダ120は、トークン1(token1)105に基づいて出力トークンの候補の確率を予測する。c1ないしcmが出力トークンの候補であり、p1ないしpmが各候補の確率である。確率に基づいて、候補のうち出力トークンを決定する。例えば、候補のうち確率が最も高いトークンを出力トークンとして選択する。
【0039】
ステップiにおいて、トークンtiの条件付き確率は数式(1)のように表現することができる。
【0040】
p(t
i|t
1,t
2,...,t
i-1,H
e) (1)
H
eは、エンコーダの隠れリプリゼンテーション(hidden representation)に符号化された特徴110に該当する。t
1ないしt
i-1は、今まで選択された入力トークンである。説明の便宜上、
図1で符号化された特徴110がデコーダ120内に最初のステップのノードにのみ印加されるものと図示したが、符号化された特徴110は、以後のステップの他のノードにも同様に印加されてもよい。
【0041】
一般的な自己回帰復号化を行うシーケンスツーシーケンスモデルで出力トークンとして選択されたトークンが次の入力トークンとして決定される。以前のステップまで選択された入力トークンに依存して出力トークンを決定するため、シーケンスツーシーケンスモデルで出力トークンとして選択された後、入力トークンが低い確率を有する場合、選択された出力トークンによって次のトークンを予測する性能が低下する。
【0042】
例えば、出力トークンの候補c1ないしcmのうち確率の低いciが出力トークンとして決定されてしまうかもしれない。以前のトークンに基づいて次の出力を生成する特徴のために自己回帰復号化過程で確率の低いトークンに基づいて次のトークンを生成しなければならない場合、即ち以前のトークンの確率が低い場合、以後トークンを円満に生成し難い。一例として、c1ないしcmのうち、相対的にはciの確率が最も高いが、c1ないしcmの確率がすべて高くない値を有する場合が存在し得る。又は、様々な人工神経網モデルで生成するトークンのうちの1つを選択し、使用するモデルアンサンブル自己回帰復号化する環境では、アンサンブルの結果として他の人工神経網によって生成されたトークンに基づいて次のトークンを生成しなければならない場合が生じる。
【0043】
人工神経網は、入力トークンti-1の確率が低い場合、p(ti|t1,t2,...,ti-1,He)を介して出力トークンであるtiを予測できなくなる。
【0044】
低い確率を有する入力トークンti-1であってもそれに基づいて出力トークンtiを円満に予測するために、条件付き確率に関する数式(1)でトークンti-1を除いて確率を算出すれば、このような問題を解決することができるかもしれない。しかし、学習データから上述の条件付き確率で学習するように設計されているため、以前のトークンに独立的に条件付き確率を算出することは、本来の目的を没却してしまうことが懸念される。
【0045】
一実施形態に係る復号化方法によれば、条件付き確率に影響を与えない特殊トークンtNCを導入して入力トークンti-1の確率の低い場合にも出力トークンであるtiを円満に予測することができる。
【0046】
図1を参照すると、トークン1に対する出力に決定された出力トークンc
iの確率であるp
iを、予め決定した閾値確率θ
nc¬と比較する。閾値確率θ
nc¬は予め決定した値であって、所望する出力を取得することができる入力トークン確率の最小値である。例えば、出力トークンc
iの確率であるp
iが閾値確率θ
nc¬よりも大きい場合、出力トークンc
iを次の入力トークンとして決定する場合に所望する出力を取得することができると判断されるため、出力トークンc
iを次の入力トークンとして決定することができる。
【0047】
出力トークンciの確率であるpiが閾値確率θnc¬よりも小さい場合、出力トークンciを次の入力トークンとして決定する場合、所望する出力が取得されないと判断されるため、出力トークンciを次の入力トークンとして決定し難い。この場合、もし、出力トークンciの確率piが閾値確率θnc¬よりも小さい場合、出力トークンciの代わりに予め定義された特殊トークンNCを次の入力トークンとして決定する。
【0048】
特殊トークンに基づいて予測される次の出力トークンの候補の信頼度は、閾値確率よりも低い確率の出力トークンに基づいて予測される次の出力トークンの候補の信頼度よりも高い。人工神経網は、このような特性を満足するよう予め学習されてもよい。人工神経網を学習させる具体的な内容については後述する。例えば、ciの確率であるpiが閾値確率θnc¬よりも小さい場合、特殊トークンNCに基づいて予測される次の出力トークンの候補の信頼度は、ciに基づいて予測される次の出力トークンの候補の信頼度よりも高い。
【0049】
信頼度は、トークンに対する信頼度であって、学習データの正解出力トークンに近い程度を意味する。例えば、ciの確率であるpiが閾値確率θnc¬よりも小さい場合、特殊トークンNCに基づいて予測される次の出力トークンの候補のうち、最も確率が高い出力トークンは、ciに基づいて予測される次の出力トークンの候補のうち最も確率が高い出力トークンよりも正解の出力トークンに近い。
【0050】
人工神経網は、出力トークン及び特殊トークンのいずれか1つを選択することによって、次の入力トークンを決定すれば、少なくとも1つの入力トークン及び次の入力トークンに基づいて次の出力トークンをより適切に決定することができる。例えば、人工神経網は、特殊トークンNCを次の入力トークンとして決定すれば、入力トークンであるトークン1と次の入力トークンである特殊トークンNCに基づいて次の出力トークンであるトークン3(token3)を決定することができる。
【0051】
図2は、一実施形態に係るアテンションメカニズムが適用された人工神経網において、特殊トークンをマスキングする方法を説明するための図である。
【0052】
図2を参照すると、一実施形態に係るデコーダ220は、少なくとも1つの入力トークンと出力トークンとの間の相関関係に基づいて、出力トークンの候補の確率を予測する。出力トークンは、入力トークンに応じて異なる加重値をもって出力トークンの候補の確率を予測できる。
【0053】
例えば、人工神経網は、アテンションメカニズム(attention mechanism)が適用された人工神経網であってもよい。人工神経網は、今まで予測したトークン間の関係をアテンションメカニズムによく表現されるよう学習されることができる。
【0054】
特殊トークンが他のトークンに影響を及ぼすことを防止するために、他のトークンが特殊トークンにアテンションされないよう強制するために、特殊トークンをマスキングする。
【0055】
例えば、入力トークン「is」に対応する出力トークンの場合、「Hi」、「this」、「is」の入力トークンだけでなく、特殊トークンNCまでアテンションする。特殊トークンが他のトークンに影響を及ぼしてはならないため、入力トークン「is」に対応する出力トークンが、特殊トークンNCにアテンションをしないよう強制するために特殊トークンをマスキングする。
【0056】
以下、で
図3~
図5を参照してエンコーダ-デコーダ構造の人工神経網システムに対して詳細に説明される。
【0057】
図3は、一実施形態に係るエンコーダ-デコーダ構造の人工神経網システムを示すブロック図である。
【0058】
図3を参照すると、一実施形態に係るエンコーダ-デコーダ構造の人工神経網システムは、エンコーダ320、デコーダ330を含む人工神経網310を含む。エンコーダ-デコーダ構造人工神経網は、前処理プロセッサ340、アテンションマスキング算出装置350、及びトークン修正装置360を含む。
図3に示すデコーダ330は、
図1及び2を参照して前述したデコーダ220に対応する。
【0059】
一実施形態に係るエンコーダ-デコーダ構造の人工神経網システムは、1つの人工神経網310で低い確率を有するトークンを処理する。
【0060】
シーケンスツーシーケンスエンコーダ320-デコーダ330は、エンコーダ320とデコーダ330が統合されたネットワーク構造であって、入力シーケンスから認識結果のシーケンスを生成する。
【0061】
前処理プロセッサ340は、人工神経網の入力を前処理するモジュールであって、例えば、入力信号に含まれたノイズを除去したり、入力信号を人工神経網に入力するために適切な形態に加工する。
【0062】
トークン修正装置360は、実行時に、予測された出力トークンの確率が閾値確率θNCよりも低い出力トークンを特殊トークンに代替して次の出力トークンを予測するように修正できる。
【0063】
また、トークン修正装置360は、出力トークンが特殊トークンと同一であるかを判断する。出力トークンが特殊トークンと同一である場合、候補のうち2番目に確率の高いトークンを出力トークンとして決定する。これによって、特殊トークンが出力されないようにする。
【0064】
アテンションマスキング算出装置350は、他のトークンが特殊トークンに条件付き確率を有しないようにするために、他のトークンが特殊トークンにアテンションがかからないようアテンション加重値をマスキングする。アテンションマスキング算出装置350は、学習の実行時に同一に動作し得る。
【0065】
このような
図3は、発明の説明のための一例として、限定された図面に基づいて説明されたが、当技術分野で通常の知識を有する者であれば、
図3に基づいて様々な技術的修正及び変形を適用することができる。例えば、デコーダ330は、アテンションマスキング算出装置350とトークン修正装置360を含む広い概念である。
【0066】
図4は、一実施形態に係るアンサンブル方式を用いたエンコーダ-デコーダ構造の人工神経網システムを示すブロック図である。
【0067】
図4を参照すると、一実施形態に係る人工神経網システムは、複数の人工神経網410,420,430を含む。
【0068】
アンサンブル方式を用いたエンコーダ-デコーダ構造の人工神経網システムにおいて、m個のデコーダに対応するエンコーダは必ずしもm個である必要はない。エンコーダのないデコーダが存在してもよい。例えば、人工神経網420,430にはデコーダ422,432だけが存在し、エンコーダ421,431がなくてもよい。
【0069】
アンサンブル方式によれば、複数の人工神経網410,420,430を用いて複数のデコーダ412,422,432が予測した出力トークンの候補の確率の組合せに基づいて、出力トークンの候補のうち出力トークンを選択することができる。
【0070】
アンサンブル方式を用いる場合、デコーダ412,422,432ごとに異なる出力トークンを最も確率が高いと判断する。例えば、人工神経網410のデコーダ412はc1が、人工神経網420のデコーダ422はc2が、人工神経網430のデコーダ432はc3の確率が最も高いと判断する。
【0071】
デコーダ412,422,432ごとに異なる出力トークンを最も確率が高いと判断しても、1つの出力トークンを決定することができる。例えば、最終的に複数のデコーダ412,422,432が予測した出力トークンの候補の確率の組合せに基づいて、出力トークンの候補のうち出力トークンを選択し得る。
【0072】
選択された出力トークンが強制的に全てのデコーダの次の入力トークンとして入力される場合、確率が最も高いと判断されない出力トークンを、次の入力トークンとして入力するデコーダが発生する可能性がある。
【0073】
例えば、最終的に複数のデコーダ412,422,432が予測した出力トークンの候補c1、c2、c3の確率の組合せに基づいてc1を出力トークンとして選択する場合、デコーダ422とデコーダ432は、結果的に自身の基準に最も確率の高い出力トークンの候補c2、c3に基づいて次の出力トークンを生成することができず、他のデコーダ412が生成した出力トークンの候補であるc1に基づいて次のトークンを生成しなければならない場合が生じる。以前のトークンに基づいて次のトークンを求める自己回帰的な特徴に起因して、自身のデコーダ422,432において確率の低い次の入力トークンc1を入力にする人工神経網420,430は、次の出力トークンを円満に予測することができなくなる。
【0074】
一実施形態に係るアンサンブル方式を用いたエンコーダ-デコーダ構造の人工神経網システムにも、条件付き確率に影響を与えることができない特殊トークンを導入し、自身が確率の最も高いと判断しないトークンを入力にして出力トークンを正常に予測することができる。
【0075】
複数の人工神経網のアンサンブルを行う場合には、j番目の人工神経網ごとに出力トークンとして決定されたtmaxに対する確率Pj(tmax)と、tmaxを最も高く判断した人工神経網410の確率とを比較する。例えば、出力トークンの候補c1、c2、c3のうち、人工神経網420における出力トークンとして決定されたc1に対する確率p2(c1)と、c1を最も高く判断した人工神経網410におけるc1に対する確率p1(c1)とを比較する。
【0076】
出力トークン確率を最も高く判断した人工神経網410と、j番目の人工神経網の出力トークン確率の差
【0077】
【数1】
が予め決定した閾値よりも大きい場合、特殊トークンは、j番目の人工神経網の次の入力トークンとして選択される。例えば、p1(c1)とp2(c1)の差が予め決定した閾値θ
DIFFよりも大きい場合、c1ではない特殊トークンが人工神経網420の次の入力トークンとして選択される。出力トークン確率を最も高く判断した人工神経網410と、j番目の人工神経網の出力トークン確率の差が予め決定した閾値よりも小さい場合には、決定された出力トークンがj番目の人工神経網の次の入力トークンとして選択される。
【0078】
出力トークン確率を最も高く判断した人工神経網と、j番目の人工神経網の出力トークン確率の差
【0079】
【数2】
が予め決定した閾値よりも大きい場合、特殊トークンに基づいて予測される次の出力トークンの候補の信頼度は、出力トークンに基づいて予測される次の出力トークンの候補の信頼度よりも高い。
【0080】
図2を参照して説明した特殊トークンをマスキングする方法は、
図4に示すアンサンブル方式を用いたエンコーダ-デコーダ構造の人工神経網システムにも同様に適用される。
【0081】
トークン修正装置460は、実行時に、予測された出力トークンの確率が閾値確率θNCよりも低い出力トークンを特殊トークンに代替して次の出力トークンを予測するように修正することができる。
【0082】
トークン修正装置460は、実行時に、出力トークン確率を最も高く判断した人工神経網410と、j番目の人工神経網の出力トークン確率の差
【0083】
【数3】
が予め決定した閾値よりも大きい場合、特殊トークンをj番目の人工神経網の次の入力トークンとして選択する。
【0084】
また、トークン修正装置460は、出力トークンが特殊トークンと同一であるかを判断する。出力トークンが特殊トークンと同一である場合、候補のうち2番目に確率の高いトークンを出力トークンとして決定する。これによって、特殊トークンが出力されないようにする。
【0085】
アテンションマスキング算出装置450は、他のトークンが特殊トークンに条件付き確率を有しないようにするために、他のトークンが特殊トークンにアテンションがかかることができないようアテンション加重値をマスキングする。アテンションマスキング算出装置450は、学習される間のみならず、実行-推論又は実現される間にも同一に動作される。
【0086】
図5は、一実施形態に係る追加言語モデル人工神経網を有する音声認識人工神経網における適用実施形態を示すブロック図である。音声認識人工神経網は、音声認識装置の一例として実現される。音声認識装置は、音声認識装置の構成要素である受信機又はセンサ(例えば、マイクロホン)を用いて、ユーザから音声又は入力を収集したり、受信機から音声信号を受信することができ、受信機は、分離されたり音声認識装置の外部に存在してもよい。
【0087】
音声認識装置は、個人ユーザが使用する電子装置であってもよく、例えば、スマートフォン、スマートパッド、スマートバンドのような着用型装置(wearable device)、個人携帯情報端末(Personal Digital Assistant;PDA)、ラップトップ、その内部の構成要素又はそれに関する独立型装置であってもよい。異なる例として、音声認識装置は、複数のユーザによって共有される電子装置、例えば、音声認識スピーカ及び音声認識TVを含む。
【0088】
図5を参照すると、一実施形態に係る言語モデル人工神経網を有する音声認識人工神経網は、音声認識モデル人工神経網510と言語モデル人工神経網520を含む。
【0089】
音声認識の場合、音声をエンコーダ511の入力として認識結果である単語の連続を出力するデコーダ512から構成されることが基本的であるが、これに加えて、単語の連続がどれ程一般的な文章で確率が高いかを判断するデコーダ521で形成される言語モデル人工神経網520をさらに活用し、その性能を高めることができる。
【0090】
実際の音声に基づいて、単語を時点ごとに予測する音声認識モデル人工神経網は、新しい単語といっても音声を聞いて発音に応じて音素を組み合わせて単語を作り出すが、一般的な文章で学習された言語モデル人工神経網の場合、学習時に習っていない新しい単語(新しい場所、新造語など)が出てくると、その単語の出力確率は極めて低くなる。このような低い確率を有する単語を入力として次の単語を予測しようとするとき、言語モデル人工神経網は、習っていない入力から次の単語を出力しなければならないことから、正しく予測することが難い。
【0091】
一実施形態に係る言語モデル人工神経網520にもトークン修正装置560とアテンションマスキング算出装置550を用いて、
図4を参照して前述した条件付き確率に影響を与えることができない特殊トークンを導入し、自身が確率の最も高いと判断していないトークンを入力として出力トークンを正常に予測することができる。
【0092】
以下、
図6~
図7Bを参照して、追加言語モデル人工神経網を有する音声認識人工神経網における適用実施形態に対して詳細に説明される。
【0093】
図6は、一実施形態に係る追加言語モデル人工神経網を有する音声認識人工神経網システムを示す図である。
【0094】
図6を参照すると、一実施形態に係る追加言語モデル人工神経網を有する音声認識人工神経網システムは、エンコーダ610、音声認識人工神経網デコーダ620、及び言語モデル人工神経網デコーダ630を含む。
【0095】
追加言語モデル人工神経網を有する音声認識人工神経網システムは、入力音声から音声特徴640を抽出する。入力音声は、複数のフレームごとに情報を含む音声信号であり、音声特徴640は、少なくとも1つのフレーム単位で抽出された情報のシーケンスであり、多次元のベクトルに表現される。以下、説明の便宜のために入力音声が「Hi MinChul this is」である場合の実施形態について説明する。
【0096】
追加言語モデル人工神経網を有する音声認識人工神経網システムは、言語モデル人工神経網デコーダ630と音声認識人工神経網デコーダ620のアンサンブルを用いて入力音声のシーケンスから認識結果のシーケンスを生成する。「アンサンブル」は、ともに考慮する個別人工神経網モジュールを指す。例えば、アンサンブルとは、言語モデル人工神経網デコーダ630と音声認識人工神経網デコーダ620の組合せであり得る。
【0097】
言語モデル人工神経網デコーダ630と音声認識人工神経網デコーダ620は、トークン単位でそれぞれの認識結果を出力し、それぞれの認識結果をアンサンブル加重値に応じてアンサンブルして最終の認識結果を生成する。例えば、音声認識人工神経網デコーダ620は、入力音声と以前に決定された認識結果に基づいて出力トークンの候補を決定し、言語モデル人工神経網デコーダ630は、以前に決定された認識結果に基づいて出力トークンの候補を決定し、それぞれの出力トークンの候補をアンサンブル加重値(weighted sum)に応じてアンサンブルして最終の認識結果を生成する。
【0098】
エンコーダ610とデコーダ620は、入力音声に対応する正解テキスト対のシーケンスから認識結果のシーケンスを生成するように予め学習されている一方、言語モデル人工神経網デコーダ630は、任意のテキストシーケンスから認識結果のシーケンスを生成するように予め学習される。
【0099】
エンコーダ610は、音声特徴640を符号化して符号化された特徴650を生成する。エンコーダ610は、音声特徴640の次元を変換し、符号化された情報を生成する。符号化された特徴650は、音声認識人工神経網デコーダ620に印加される。音声認識人工神経網デコーダ620はトークン単位で、符号化された特徴650と以前に決定された認識結果に基づいて出力トークンの候補を生成し、言語モデル人工神経網デコーダ630はトークン単位で、以前に決定された認識結果に基づいて出力トークンの候補を生成する。2つの認識結果を予め決定したアンサンブル加重値に応じてアンサンブルし、最終の認識結果を生成することができる。例えば、音声認識人工神経網デコーダ620と言語モデル人工神経網デコーダ630のアンサンブル加重値は1:0.2であってもよい。
【0100】
以下、
図7A~
図7Bを参照して、言語モデル人工神経網デコーダと音声認識人工神経網デコーダにおけるアンサンブル方式を適用した実施形態について詳細に説明される。
【0101】
図7Aは、一実施形態に係る言語モデル人工神経網デコーダと音声認識人工神経網デコーダにおけるアンサンブル方式を適用した実施形態を示す図である。
【0102】
図7Aを参照すると、一実施形態に係る音声認識人工神経網デコーダ710と言語モデル人工神経網デコーダ720は、それぞれ
図6に示す音声認識人工神経網デコーダ620と言語モデル人工神経網デコーダ630に対応する。
【0103】
音声認識人工神経網デコーダ710と言語モデル人工神経網デコーダ720は、自己回帰デコーダとして入力トークン「Hi」に基づいて、出力トークンの候補の確率を予測する。例えば、音声認識人工神経網デコーダ710は、入力トークン「Hi」と符号化された音声特徴に基づいて、「MinChul」と「Bixby」を出力トークンの候補として出力し、それぞれの確率を0.7と0.1に予測する。また、言語モデル人工神経網デコーダ720は、入力トークン「Hi」に基づいて、「MinChul」と「Bixby」を出力トークンの候補として出力し、それぞれの確率を0.001と0.8に予測する。
【0104】
音声認識人工神経網デコーダ710と言語モデル人工神経網デコーダ720は、アンサンブル加重値を用いて候補のうち出力トークンを決定する。例えば、「MinChul」は0.7+0.2×0.001=0.7002の最終加重値を有し、「Bixby」は0.1+0.2×0.8=0.26の最終加重値を有するため、「MinChul」が出力トークンとして決定される。
【0105】
自己回帰復号化の環境では、言語モデル人工神経網デコーダ720で自身の基準として最も確率が高い「Bixby」でないアンサンブルの結果として決定された「MinChul」を次の入力トークンとして入力する。言語モデル人工神経網デコーダ720で「MinChul」は低い確率を有するため、次の出力トークンを円満に予測し難い。
【0106】
例えば、言語モデル人工神経網デコーダ720は、次の入力トークン「MinChul」に基づいて、「this」と「dis」を次の出力トークンの候補として出力し、それぞれの確率を0.01と0.01に予測する。音声認識人工神経網デコーダ710は、次の入力トークン「MinChul」に基づいて、「this」と「dis」を次の出力トークンの候補として出力し、それぞれの確率を0.34と0.38に予測する。「this」と「dis」の発音が似ているため、音声認識人工神経網デコーダ710で「this」と「dis」の確率が類似し得る。
【0107】
音声認識人工神経網デコーダ710と言語モデル人工神経網デコーダ720は、アンサンブル加重値を用いて候補のうち次の出力トークンを決定する。例えば、「this」は0.34+0.2×0.01=0.342の最終加重値を有し、「dis」は0.38+0.2×0.01=0.382の最終加重値を有するため、「dis」が次の出力トークンとして決定される。その結果、
図7Aによる音声認識人工神経網デコーダ710と言語モデル人工神経網デコーダ720は、入力音声「this」とは異なる「dis」を出力する。
【0108】
前述した実施形態で、言語モデル人工神経網デコーダ720によって予測された現在出力トークンの候補のうち、音声認識人工神経網デコーダ710と言語モデル人工神経網デコーダ720との間のアンサンブルによって決定された「MinChul」の確率は、予め決定した閾値確率よりも低い。低い確率の「MinChul」によって、言語モデル人工神経網デコーダ720は、次の出力トークンから「this」と「dis」をよく区分することができない。このように、音声モデル人工神経網デコーダ710の性能を補完しなければならない言語モデル人工神経網デコーダ720の性能が低下するにつれ、前述した実施形態のように「this」とは異なる「dis」を出力するなど、誤った結果が導き出される。
【0109】
以下、
図7Bを参照して特殊トークンを用いた言語モデル人工神経網デコーダと音声認識人工神経網デコーダにおけるアンサンブル方式を適用した実施形態について詳細に説明される。
【0110】
図7Bは、一実施形態に係る特殊トークンを用いた言語モデル人工神経網デコーダと音声認識人工神経網デコーダにおけるアンサンブル方式を適用した実施形態を示す図である。
【0111】
図7Bを参照すると、一実施形態に係る音声認識人工神経網デコーダ710と言語モデル人工神経網デコーダ720は、アンサンブル加重値を用いて候補のうち「MinChul」を出力トークンとして決定する。
【0112】
言語モデル人工神経網デコーダ720は、「MinChul」の確率と予め決定した閾値確率とを比較する。例えば、予め決定した閾値確率は0.01であってもよい。言語モデル人工神経網デコーダ720の「MinChul」の確率は0.001として、閾値確率0.01よりも小さいため、「MinChul」の代わりに特殊トークンNCを次の入力トークンとして選択する。
【0113】
言語モデル人工神経網デコーダ720は、次の入力トークンである特殊トークンNCに基づいて、「this」と「dis」を次の出力トークンの候補として出力し、それぞれの確率を0.4と0.1に予測する。音声認識人工神経網デコーダ710は、次の入力トークン「MinChul」に基づいて、「this」と「dis」を次の出力トークンの候補として出力し、それぞれの確率を0.34と0.38に予測する。
【0114】
音声認識人工神経網デコーダ710と言語モデル人工神経網デコーダ720は、アンサンブル加重値を用いて候補のうち次の出力トークンを決定する。例えば、「this」は、0.34+0.2×0.4=0.42の最終加重値を有し、「dis」は0.38+0.2×0.1=0.4の最終加重値を有するため、「this」が次の出力トークンとして決定される。
【0115】
図8は、一実施形態に係る人工神経網における復号化方法を示すフローチャートである。
図8に示す動作は、示された順序及び方式により実行されるが、示された実施形態の思想及び範囲を逸脱しない限り、一部の動作の順序が変更されたり一部の動作が省略されてもよい。
図8に示された複数の動作は、並列又は同時に実行されてもよい。
図8に示す1つ以上のブロック及びブロックの組合せは、特定の機能を行う特殊目的のハードウェアに基づくコンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。以下の
図8に示す説明に加えて、
図1~
図7の説明は
図8に適用可能であるため、重複する内容の説明は省略する。
【0116】
図8を参照すると、一実施形態に係るステップS810~830は、
図3を参照して前述されたデコーダ330によって実行される。デコーダ330は、1つ又はそれ以上のハードウェアコンポーネント、又は、ハードウェアとソフトウェアを含む1つ又はそれ以上のコンポーネントによって実現される。
【0117】
ステップS810において、デコーダ330は、現在まで入力された少なくとも1つの入力トークンに基づいて、出力トークンの候補の確率を予測する。
【0118】
ステップS820において、デコーダ330は、確率に基づいて候補のうち出力トークンを決定する。候補のうち確率が最も高いトークンを選択する。又は、第1人工神経網と連動する第2人工神経網によって予測された候補の確率と第1人工神経網によって予測された候補の確率の組合せに基づいて、候補のうち出力トークンを選択する。
【0119】
ステップS830において、デコーダ330は、出力トークンの確率に基づいて出力トークン及び予め定義された特殊トークンのいずれか1つを選択することによって、次の入力トークンを決定する。
【0120】
少なくとも1つの入力トークンは、人工神経網によって予め予測された出力トークン及び特殊トークンのうち少なくとも1つを含む。
【0121】
人工神経網の入力レイヤは、候補に対応する複数のノード及び特殊トークンに対応する特殊ノードを含む。
【0122】
図9は、一実施形態に係る自己回帰に基づくのシーケンス生成人工神経網における低い確率トークンの処理方法を説明するためのフローチャートである。
図9に示す動作は、示された順序及び方式で実行されるが、示された実施形態の思想及び範囲を逸脱しない限り、一部の動作の順序が変更されたり、一部の動作が省略されてもよい。
図9に示された複数の動作は、並列又は同時に実行されてもよい。
図9に示す1つ以上のブロック及びブロックの組合せは、特定機能を行う特殊目的のハードウェアに基づくコンピュータ、又は、特殊目的のハードウェア及びコンピュータ命令の組合せによって実現される。以下の
図9に示す説明に加えて、
図1~
図8の説明は
図9に適用可能であるため、重複する内容の説明は省略する。
【0123】
図9を参照すると、ステップS901において、一実施形態に係る自己回帰に基づくシーケンス生成人工神経網は入力を受信する。例えば、音声認識人工神経網システムでは入力音声を受信する。
【0124】
ステップS902において、エンコーダは、受信した入力から符号化された特徴を生成する。例えば、エンコーダは、音声特徴の次元を変換させ、符号化された情報を生成する。
【0125】
ステップS903において、デコーダは、符号化された特徴に基づいて出力トークンの候補の確率を予測する。デコーダは、ステップごとにエンコーダーから算出された情報に基づいて出力トークンを求めるが、ここで、以前のステップまで選択された入力トークンに依存して求めることができる。
【0126】
ステップS904において、デコーダは、確率に基づいて候補のうち出力トークンを決定する。例えば、i番目のステップで最も確率の高いti(top likelihood token)を出力トークンとして決定する。
【0127】
ステップS905において、デコーダは、出力トークンが特殊トークンと同一であるかを判断する。
【0128】
ステップS906において、出力トークンが特殊トークンと同一である場合、デコーダは候補のうち2番目に確率の高いトークンを出力トークンとして決定する。これによって特殊トークンが出力されないようにする。
【0129】
ステップS907において、出力トークンが特殊トークンと同一でない場合、デコーダは、出力トークンの確率と予め決定した閾値確率とを比較する。
【0130】
ステップS908において、出力トークンの確率が閾値確率よりも大きい場合、デコーダは、出力トークンを次の入力トークンとして選択する。
【0131】
ステップS909において、出力トークンの確率が閾値確率よりも小さい場合、デコーダは、出力トークンの代わりに特殊トークンを次の入力トークンとして選択する。
【0132】
ステップS910において、デコーダは、特殊トークンが異なるトークンに影響を及ぼすことを防止するために、他のトークンが特殊トークンにアテンションしないよう強制するために特殊トークンをマスキングする。
【0133】
条件付き確率に影響を与えることができない特殊トークンtNCを導入し、入力トークンti-1の確率が低い場合にも出力トークンであるtiを円満に予測することができる。特殊トークンは、数式(2)のような特徴を有するよう学習される。
【0134】
【数4】
<T
1>、<T
2>は任意のトークンシーケンスであって、空シーケンス(empty sequence)を含む。数式(2)のように学習されたt
NCが利用可能であれば、決定した閾値θ
NCよりもt
i-1の確率が低い場合、トークンt
i-1を含む条件付き確率が算出されることを防止するため、t
i-1をt
NCに代替して次のトークンを正しく予測することができる。任意の確率で学習に使用する正解文章のトークンを特定確率θ
Replaceからt
NCに代替して人工神経網を学習させることができる。
【0135】
すなわち、補助人工神経網が区分される場合、補助人工神経網の学習データだけで正解トークンを特定確率θReplaceに変更して学習させ得る。例えば、追加言語モデル人工神経網を有する音声認識人工神経網システムの場合、言語モデル人工神経網が補助人工神経網であってもよく、このとき言語モデル人工神経網だけの学習データだけで正解トークンを特定確率θReplaceに変更して学習させることができる。
【0136】
図10は、一実施形態に係る自己回帰に基づくシーケンス生成人工神経網における低い確率トークンの処理装置のブロック図である。
【0137】
図10を参照すると、一実施形態に係る自己回帰に基づくシーケンス生成人工神経網における低い確率トークンの処理装置1000は、センサ1010、プロセッサ1030、及び通信インターフェース1070を含む。自己回帰に基づくシーケンス生成人工神経網における低い確率トークンの処理装置1000は、メモリ1050、及びディスプレイ1090をさらに含む。センサ1010、プロセッサ1030、メモリ1050、通信インターフェース1070、及びディスプレイ1090は、通信バス1005を介して通信する。
【0138】
センサ1010は、例えば、マイクセンサ、音声センサを含む。
【0139】
プロセッサ1030は、
図1~
図9を参照して前述した少なくとも1つの方法又は少なくとも1つの方法に対応するアルゴリズムを行ってもよい。プロセッサ1030は、プログラムを実行し、自己回帰に基づくシーケンス生成人工神経網における低い確率トークンの処理装置1000を制御する。プロセッサ1030によって実行されるプログラムコードは、メモリ1050に格納される。
【0140】
プロセッサ1030は、例えば、CPU(Central Processing Unit)又はGPU(Graphics Processing Unit)から構成する。
【0141】
メモリ1050は、プロセッサ1030が処理したデータを格納する。例えば、メモリ1050は、プログラムを格納する。格納されるプログラムは、ユーザの歩行を補助するようにコーディングされ、プロセッサ1030によって実行可能なシンタックス(syntax)の集合であってもよい。メモリ1050は、揮発性メモリ又は不揮発性メモリであってもよい。
【0142】
通信インターフェース1070は、複数のセンサ1010、プロセッサ1030、及びメモリ1050と接続してデータを送受信する。通信インターフェース1070は、外部の他の装置と接続してデータを送受信する。以下、「A」を送受信するという表現は、「Aを示す情報(information)又はデータ」を送受信することを示す。
【0143】
通信インターフェース1070は、自己回帰に基づくシーケンス生成人工神経網における低い確率トークンの処理装置1000内の回路網で実現される。例えば、通信インターフェース1070は、内部バス及び外部バスを含む。異なる例として、通信インターフェース1070は、自己回帰に基づくシーケンス生成人工神経網における低い確率トークンの処理装置1000と外部の装置を接続する要素であってもよい。通信インターフェース1070は、外部の装置からデータを受信し、プロセッサ1030及びメモリ1050にデータを送信する。
【0144】
ディスプレイ1090は、デコードされた結果を表示する。例えば、翻訳結果、音声認識結果がディスプレイ1090に表示される。
【0145】
以上で
図1~
図10を参照して説明された前処理プロセッサ340,440,441,442、アテンションマスキング算出装置350,450,550、エンコーダ320,411,421,431,511、デコーダ330,412,422,432,512,521、トークン修正装置360,460,560、センサ1010、プロセッサ1030、メモリ1050、通信インターフェース1070、及びディスプレイ1090は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組み合せで具現される。例えば、本実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、又は命令(instruction)を実行して応答する異なる装置のように、1つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム(OS)及びオペレーティングシステム上で実行される1つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は1つが使用されるものとして説明する場合もあるが、当技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含むことが把握する。例えば、処理装置は、複数のプロセッサ又は1つのプロセッサ及び1つのコントローラを含む。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0146】
ソフトウェアは、コンピュータプログラム、コード、命令、又はそのうちの一つ以上の組合せを含み、希望の通りに動作するよう処理装置を構成したり、独立的又は結合的に処理装置を命令することができる。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令又はデータを提供するために、いずれかの類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、又は送信される信号波に永久的又は一時的に具体化することができる。ソフトウェアはネットワークに連結されたコンピュータシステム上に分散され、分散した方法で格納されたり実行され得る。ソフトウェア及びデータは一つ以上のコンピュータで読出し可能な記録媒体に格納され得る。
【0147】
本実施形態による方法は、様々なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組み合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD-ROM、DYIJDのような光記録媒体、フロプティカルディスクのような磁気-光媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明に示す動作を実行するために1つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【0148】
上述したように実施形態をたとえ限定された図面によって説明したが、当技術分野で通常の知識を有する者であれば、上記の説明に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順で実行されるし、及び/又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組み合わせられてもよいし、他の構成要素又は均等物によって置き換え又は置換されたとしても適切な結果を達成することができる。
【0149】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。