(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-19
(45)【発行日】2024-03-28
(54)【発明の名称】翻訳学習装置、翻訳学習方法及びプログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20240321BHJP
G06N 3/045 20230101ALI20240321BHJP
G06N 3/0475 20230101ALI20240321BHJP
G06F 40/44 20200101ALI20240321BHJP
G06F 40/279 20200101ALI20240321BHJP
【FI】
G06N3/08
G06N3/045
G06N3/0475
G06F40/44
G06F40/279
(21)【出願番号】P 2020196901
(22)【出願日】2020-11-27
【審査請求日】2023-02-08
【新規性喪失の例外の表示】特許法第30条第2項適用 2020年3月9日に言語処理学会 第26回年次大会 発表論文集(2020年3月) ウェブサイトにて公開 2020年3月16日~2020年3月19日(公開日:2020年3月19日)に言語処理学会 第26回年次大会 (NLP2020)オンライン開催にて公開
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】永田 昌明
(72)【発明者】
【氏名】安井 豪
(72)【発明者】
【氏名】鶴岡 慶雅
【審査官】坂庭 剛史
(56)【参考文献】
【文献】中村朝陽、鶴岡慶雅,非自己回帰的な生成と事前学習を用いた機械翻訳への試み,言語処理学会第26回年次大会(NLP2020)発表論文集,日本,言語処理学会,2020年03月09日,pp.847-850(P4-16)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/045
G06N 3/0475
G06N 20/00
G06F 40/44
G06F 40/279
(57)【特許請求の範囲】
【請求項1】
原言語文に基づいて目的言語文の長さを第1のニューラルネットワークを用いて予測し、予測した長さのトークン列のうちの全ての位置がマスクされた第1のマスク付き目的言語トークン列を生成する長さ予測部と、
前記第1のマスク付き目的言語トークン列又は第2のマスク付き目的言語トークン列においてマスクされた位置の目的言語トークンを第2のニューラルネットワークを用いて予測することで、目的言語トークン列を生成するトークン予測部と、
前記目的言語トークン列と前記第2のニューラルネットワークの内部状態とを入力として、当該目的言語トークン列についてマスクすべき位置を第3のニューラルネットワークを用いて予測して、前記第2のマスク付き目的言語トークン列を生成するマスク予測部と、
前記第1のニューラルネットワーク、前記第2のニューラルネットワーク及び前記第3のニューラルネットワークを含む非自己回帰的機械翻訳モデルを一体として学習する学習部と、
を有することを特徴とする翻訳学習装置。
【請求項2】
前記第2のニューラルネットワークは、ニューラルネットワークによる双方向言語モデルを用いた穴埋め言語モデルであり、
前記マスク予測部は、前記穴埋め言語モデルの隠れ状態をsource-target attentionのsource側の情報として利用して、入力とした目的言語トークン列の各トークンにマスクするか否かを予測する、
ことを特徴とする請求項1記載の翻訳学習装置。
【請求項3】
前記学習部は、前記第2のマスク付き目的言語トークン列の生成と、前記第2のマスク付き目的言語トークン列を入力とする前記トークン予測部による前記目的言語トークン列の生成とから構成される処理が1回実行されるたびに、前記非自己回帰的機械翻訳モデルのモデルパラメータを更新し、前記第3のニューラルネットワークについては、正解と異なるトークンにはマスクをかけ、正解に一致するトークンにはマスクをかけないような予測を行うように学習を行う、
ことを特徴とする請求項1又は2記載の翻訳学習装置。
【請求項4】
前記学習部は、前記第2のマスク付き目的言語トークン列の生成と、前記第2のマスク付き目的言語トークン列を入力とする前記トークン予測部による前記目的言語トークン列の生成とから構成される処理が2以上の所定回数実行されるたびに、前記非自己回帰的機械翻訳モデルのモデルパラメータを更新し、トークン予測部が生成する前記目的言語トークン列からGumbel-softmaxによるサンプリングを行い、得られたトークン列を前記マスク予測部の入力とし、前記第2のマスク付き目的言語トークン列についてもGumbel-softmaxでサンプリングし、サンプリングによって得られたマスクするか否かの系列を次の前記処理で利用する、
ことを特徴とする請求項1又は2記載の翻訳学習装置。
【請求項5】
原言語文に基づいて目的言語文の長さを第1のニューラルネットワークを用いて予測し、予測した長さのトークン列のうちの全ての位置がマスクされた第1のマスク付き目的言語トークン列を生成する長さ予測手順と、
前記第1のマスク付き目的言語トークン列又は第2のマスク付き目的言語トークン列においてマスクされた位置の目的言語トークンを第2のニューラルネットワークを用いて予測することで、目的言語トークン列を生成するトークン予測手順と、
前記目的言語トークン列と前記第2のニューラルネットワークの内部状態とを入力として、当該目的言語トークン列についてマスクすべき位置を第3のニューラルネットワークを用いて予測して、前記第2のマスク付き目的言語トークン列を生成するマスク予測手順と、
前記第1のニューラルネットワーク、前記第2のニューラルネットワーク及び前記第3のニューラルネットワークを含む非自己回帰的機械翻訳モデルを一体として学習する学習手順と、
をコンピュータが実行することを特徴とする翻訳学習方法。
【請求項6】
請求項1乃至4いずれか一項記載の翻訳学習装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、翻訳学習装置、翻訳学習方法及びプログラムに関する。
【背景技術】
【0002】
ニューラル機械翻訳は、従来の統計的機械翻訳に比べて翻訳精度を大きく向上した。ニューラル機械翻訳の中でも、再帰ニューラルネットワーク(RNN又はLSTM)を用いた注意付き符号器復号器モデル(attention-based encoder-decoder model)に比べて、Transformerは、精度は高いが出力の計算に時間がかかることが知られている。
【0003】
Transformerは、学習時には出力側の複数のトークン(単語)を並列に処理することができるが、推論時には従来の再帰ニューラルネットワークに基づく符号器復号器モデルと同様に、出力を自己回帰的(auto-regressive)に、すなわち、文頭から文末方向へトークンを一つずつ生成する。LSTM等と比べて一つのトークンに対する計算時間が長いことが、Transformerによる推論時の計算時間の長さの原因となっている。また、強化学習のような、学習時にも推論時の挙動を再現する必要がある手法は、学習に時間がかかりすぎるためTransformerではあまり用いられない。
【0004】
近年、Transformerの復号(decode)の仕組みを非自己回帰的(non-auto-regressive)にすることにより推論時の計算時間を短縮する研究が注目を集めている(例えば、非特許文献1)。非自己回帰的な機械翻訳モデルでは、文頭から一つずつトークンを生成するのではなく、文中の全てのトークンを並列に生成する。しかし、一度の並列計算で全てのトークンを正確に予測することは難しいため、代表的な非自己回帰的ニューラル機械翻訳手法である、Mask-Predict(非特許文献1)やLevenshtein Transformerでは、何度も復号を繰り返しながら、生成する文を改善する。例えば、Mask-Predictの場合、復号を4回繰り返すことにより、自己回帰的なTransformerに比べて翻訳精度BLEUの低下を1ポイント程度に留め、出力を得られるまでの時間を約半分にできると報告されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】Ghazvininejad et al. Mask-predict: Parallel decoding of conditional masked language models. In EMNLP, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0006】
非自己回帰的なニューラル機械翻訳手法の特徴の一つは、学習時のアルゴリズムと推論時のアルゴリズムが異なる点にある。学習時の挙動と推論時の挙動が異なることは性能低下の要因となる可能性があるだけでなく、強化学習のように、推論により得られる出力に対して報酬を与えることにより推論時の挙動を改善する手法を適用することが難しい。
【0007】
本発明は、上記の点に鑑みてなされたものであって、非自己回帰的機械翻訳の翻訳精度を向上させることを目的とする。
【課題を解決するための手段】
【0008】
そこで上記課題を解決するため、翻訳学習装置は、原言語文に基づいて目的言語文の長さを第1のニューラルネットワークを用いて予測し、予測した長さのトークン列のうちの全ての位置がマスクされた第1のマスク付き目的言語トークン列を生成する長さ予測部と、前記第1のマスク付き目的言語トークン列又は第2のマスク付き目的言語トークン列においてマスクされた位置の目的言語トークンを第2のニューラルネットワークを用いて予測することで、目的言語トークン列を生成するトークン予測部と、前記目的言語トークン列と前記第2のニューラルネットワークの内部状態とを入力として、当該目的言語トークン列についてマスクすべき位置を第3のニューラルネットワークを用いて予測して、前記第2のマスク付き目的言語トークン列を生成するマスク予測部と、前記第1のニューラルネットワーク、前記第2のニューラルネットワーク及び前記第3のニューラルネットワークを含む非自己回帰的機械翻訳モデルを一体として学習する学習部と、を有する。
【発明の効果】
【0009】
非自己回帰的機械翻訳の翻訳精度を向上させることができる。
【図面の簡単な説明】
【0010】
【
図1】Mask-Predictの推論の様子を示す図である。
【
図2】Mask-Predictの学習の際の様子を示す図である。
【
図3】本発明の実施の形態における翻訳装置10のハードウェア構成例を示す図である。
【
図4】本発明の実施の形態における翻訳装置10の機能構成例を示す図である。
【
図5】翻訳モデル学習部11が実行する処理手順の一例を説明するためのフローチャートである。
【
図6】翻訳実行部12が実行する処理手順の一例を説明するためのフローチャートである。
【
図7】翻訳モデル学習部11の機能構成例を示す図である。
【
図8】翻訳モデル学習部11が実行する翻訳モデルの学習処理の処理手順の一例を説明するためのフローチャートである。
【
図9】翻訳実行部12の機能構成例を示す図である。
【
図10】翻訳実行部12が実行する翻訳処理の処理手順の一例を説明するためのフローチャートである。
【
図11】マスク予測部113の動作イメージを示す図である。
【
図13】羅英翻訳の BLEUスコア (WMT16 ro-en)を示す図である。
【発明を実施するための形態】
【0011】
まず、本実施の形態の理解に必要であると考えられる公知技術について説明する。
【0012】
[非自己回帰的翻訳モデル]
自己回帰的な文生成を行うモデルは、文を先頭から順番に1トークンずつ生成する。Transformerは再帰的な構造を持たない代わりに、学習時に未来(現在の位置より文末側)のトークンを参照しないようにする因果関係マスク(causal mask)を使用し、過去(現在の位置より文頭側)のトークン全てを入力として次のトークンを生成することで自己回帰的な文生成モデルを学習する。
【0013】
一方、非自己回帰的Transformerでは、トークンの生成に順番はなく、全てのトークンが並列に計算されるため、因果関係マスクは使用されない。また、自己回帰的な文生成では文末トークン(end-of-sentence token)が予測された時点で出力が停止するが、非自己回帰的な機械翻訳ではトークンを生成する前に予め出力の長さLが決定される。
【0014】
従って、非自己回帰的機械翻訳モデルPNAは、以下の式(1)のように定義できる。
【0015】
【数1】
ここで、X=x
1,x
2,...,x
t,...,x
Tは翻訳元言語の入力系列、Y=y
1,y
2,...,y
l,...,y
Lは翻訳先言語の出力系列、p
L(・)は出力長の予測モデル、p
Y(・)は出力トークンの予測モデルを表す。
【0016】
[条件付き穴埋め言語モデル]
条件付き穴埋め言語モデル(Conditional Masked Langage Model, CMLM)(非特許文献1)は、翻訳先言語の文の一部をマスクトークン(mask token)と呼ばれる特別なトークンに置換し、翻訳元言語の入力文と一部のトークンがマスクされた(masked)翻訳先言語の出力文とからマスクされたトークンを予測する言語モデルである。
【0017】
式(1)と比較すると、CMLMでは、一部がマスクされた翻訳先言語の文(トークン系列)がトークン予測モデルの入力に加わる。つまり、翻訳元言語の入力系列を前提条件として、翻訳先言語でトークンの穴埋め問題を解くことになる。条件付き穴埋め言語モデルは、一部のトークンをランダムにマスクした翻訳先言語の文と翻訳元言語の文とから構成される文対を入力とし、翻訳先言語の文のマスクされた位置において予測されたトークンと正解トークンとのクロスエントロピーを損失として学習を行う。
【0018】
[Mask-Predict]
Mask-Predict(非特許文献1)は、CMLMを使って非自己回帰的な機械翻訳を行うアルゴリズムである。
【0019】
図1にMask-Predictの推論(inference,復号,decode,デコード)の際の様子を示す。Mask-Predictによる復号は次のように行われる。
(1)p
Lにより出力長を予測し、全ての位置をマスクした入力系列を用意する。
(2)CMLMを用いて、マスクされた位置のトークンを予測する。
(3)CMLMの出力のうち予測された尤度が低いトークンをマスクし、次の復号ステップの入力とする。
(4)予め決めておいた復号ステップ回数に達するまで(2)と(3)を繰り返す。
【0020】
なお、(3)においてマスクするトークンの数は最後の復号ステップが終わる際にゼロになるよう線形に減らしていく。
【0021】
図2にMask-Predictの学習(training,訓練)の際の様子を示す。モデルを学習する際には、マスクをランダムに生成し、マスクされた位置において条件付き穴埋め言語モデルにより予測されたトークンと正解トークンを比較し、クロスエントロピー損失を最小化するようにモデルを学習する。
【0022】
Mask-Predictでは、ステップ(2)以降の各復号ステップにおいて、前ステップでの出力系列のうち尤度が低いトークンがマスクされて次のステップの入力系列とされる。したがって、学習時にはランダムにトークンがマスクされ、推論時には尤度に基づいてトークンがマスクされることになり、学習時と推論時の入力の性質が異なっている。例えば、非自己回帰的機械翻訳では、全てのトークンを並列に生成するため、推論時には同じトークンが複数生成されることが多いが、学習時の入力データにはこのような重複は存在しない。
【0023】
[本発明の実施の形態の翻訳装置10]
以下、図面に基づいて本発明の実施の形態の翻訳装置10について説明する。
図3は、本発明の実施の形態における翻訳装置10のハードウェア構成例を示す図である。
図3の翻訳装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、プロセッサ104、及びインタフェース装置105等を有する。
【0024】
翻訳装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【0025】
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。プロセッサ104は、CPU若しくはGPU(Graphics Processing Unit)、又はCPU及びGPUであり、メモリ装置103に格納されたプログラムに従って翻訳装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
【0026】
図4は、本発明の実施の形態における翻訳装置10の機能構成例を示す図である。
図4において、翻訳装置10は、翻訳モデル学習部11及び翻訳実行部12を有する。これら各部は、翻訳装置10にインストールされた1以上のプログラムが、プロセッサ104に実行させる処理により実現される。但し、翻訳モデル学習部11と翻訳実行部12とは、相互に異なるコンピュータにおいて実現されてもよい。すなわち、翻訳装置10は、複数のコンピュータを用いて実現されてもよい。
【0027】
図5に示されるように、翻訳モデル学習部11は、対訳データを入力し(S11)、対訳データに基づいて非自己回帰的機械翻訳モデル(以下、単に「翻訳モデル」ともいう。)を学習して(S12)、学習済みの翻訳モデルを出力する(S13)。
【0028】
図6に示されるように、翻訳実行部12は、翻訳対象の入力文を入力とし(S21)、学習済みの翻訳モデルを用いて入力文を出力文に翻訳して(S22)、出力文を出力する(S23)。
【0029】
図7は、翻訳モデル学習部11の機能構成例を示す図である。
図7に示されるように、翻訳モデル学習部11は、長さ予測部111、トークン予測部112、マスク予測部113、損失計算部114及びモデルパラメータ更新部115を有する。なお、長さ予測部111、トークン予測部112及びマスク予測部113は、翻訳モデルである(又は翻訳モデルを用いて翻訳を実行する)翻訳実行部12を構成する。
【0030】
図8は、翻訳モデル学習部11が実行する翻訳モデルの学習処理の処理手順の一例を説明するためのフローチャートである。すなわち、
図8の処理手順は、
図5のステップS12を詳細化したものである。
【0031】
ステップS101において、翻訳モデル学習部11は、学習データとしての複数の対訳データのうちの未処理の1つの対訳データ(以下、「対象対訳データ」という。)の原言語文を入力する。続いて、長さ予測部111は、原言語文に基づいて目的言語文(翻訳結果の文)の長さ(トークン数)を予測して、予測した長さのトークン列のうちの全ての位置がマスクされたマスク付き目的言語トークン列の初期値を生成する(S102)。なお、長さ予測部111は、Mask-Predictと同様に入力文からニューラルネットを用いて出力文の長さ(トークン数)を予測する。具体的には、長さ予測部111は、文の先頭に特殊な「長さトークン」(length token)を付加し、このトークンに対する出力として長さを予測する。
【0032】
続いて、トークン予測部112は、全部又は一部がマスクされたマスク付き目的言語トークン列と原言語文とを入力として、当該マスク付き目的言語トークン列においてマスクされた位置の目的言語トークンを、ニューラルネットワークを用いて予測することで、目的言語トークン列を生成する(S103)。なお、1つ目の対訳データについてステップS103が実行される場合、トークン予測部112に入力されるマスク付き目的言語トークン列は、ステップS102において生成された初期値であるため、全部がマスクされている。
【0033】
続いて、トークン予測部112は、後述のステップS105がN回繰り返されたか否かを判定する(S104)。Nは、1以上の整数であり、予め設定される。
【0034】
ステップS105の繰り返し回数がN回未満である場合(S104でNo)、マスク予測部113は、トークン予測部112によって予測された目的言語トークン列とトークン予測部112(が用いるニューラルネットワーク)の内部状態とを入力として、当該目的言語トークン列についてマスクすべき位置をニューラルネットワークを用いて予測し、マスク付き目的言語トークン列を生成する(S105)。
【0035】
したがって、ステップS105がN回実行されるまで、トークン予測とマスク予測が繰り返えされる。
【0036】
ステップS105がN回実行されると(S104でYes)、損失計算部114は、トークン予測部112によって最後に予測された目的言語トークン列及びマスク予測部113によって最後に予測されたマスクすべき位置と、対象対訳データの目的言語文とを比較することにより損失を計算する(S106)。
【0037】
続いて、モデルパラメータ更新部115は、損失計算部114によって計算された損失に基づいて、翻訳モデルの学習が収束したか否かを判定する(S107)。翻訳モデル学習部11は、学習が収束していないと判定した場合(S107でNo)。当該損失に基づいて、翻訳モデル(すなわち、長さ予測部111(が利用するニューラルネットワーク)、トークン予測部112(が利用するニューラルネットワーク)、及びマスク予測部113(が利用するニューラルネットワーク)のそれぞれのモデルパラメータを更新する(S108)。すなわち、長さ予測部111(が利用するニューラルネットワーク)、トークン予測部112(が利用するニューラルネットワーク)、及びマスク予測部113(が利用するニューラルネットワーク)が構成する翻訳モデル全体が一体として(まとめて)学習される。
【0038】
一方、翻訳モデル学習部11は、学習が収束したと判定した場合(S107でYes)、学習したモデルパラメータを、例えば、補助記憶装置102へ保存する(S109)。
【0039】
図9は、翻訳実行部12の機能構成例を示す図である。
図9中、
図7と同一部分には同一符号が付されている。
図9に示されるように、翻訳実行部12は、長さ予測部111、トークン予測部112及びマスク予測部113を含む。但し、これら各部のモデルパラメータが学習済みである点において、これら各部は
図7と異なる。
【0040】
図10は、翻訳実行部12が実行する翻訳処理の処理手順の一例を説明するためのフローチャートである。
【0041】
ステップS201において、翻訳実行部12は、翻訳対象の入力文(原言語文)を入力する。続いて、長さ予測部111は、入力文の長さ(トークン数)を予測して、予測した長さのトークン列のうちの全ての位置がマスクされたマスク付き目的言語トークン列の初期値を生成する(S202)。
【0042】
続いて、トークン予測部112は、全部又は一部がマスクされたマスク付き目的言語トークン列と入力文とを入力として、該マスク付き目的言語トークン列においてマスクされた位置の目的言語トークンを予測することで、目的言語トークン列を生成する(S203)。
【0043】
続いて、トークン予測部112は、終了条件が満たされたか否かを判定する(S204)。終了条件とは、後述のステップS205の繰り返し回数がN回未満であること、又は後述のステップS205において、マスク予測部113によって全トークンに対してマスクしないと判定されることである。
【0044】
終了条件が満たされない場合(S204でNo)、マスク予測部113は、トークン予測部112によって予測された目的言語トークン列とトークン予測部112の内部状態を入力として、当該目的言語トークン列についてマスクすべき位置をニューラルネットワークを用いて予測し、マスク付き目的言語トークン列を生成する(S205)。
【0045】
終了条件が満たされると(S204でYes)、翻訳実行部12は、最後に生成された目的言語トークン列を、出力文(入力文の翻訳結果である目的言語文)として出力する(S206)。
【0046】
図11は、マスク予測部113の動作イメージを示す図である。
図11において<msk>は、その位置のトークンがマスクされていることを表す。
【0047】
トークン予測部112は、長さ予測部111によって予測された長さのトークン列であって、その一部又は全てがマスクされたトークン列(マスク付き目的言語トークン列を)と、原言語文とを入力として、Mask-Predictと同様に、ニューラルネットワークによる双方向言語モデル(因果関係マスクを用いないTransformer)を用いた穴埋め言語モデルにより、マスクされた位置のトークンを予測する。
【0048】
マスク予測部113は、トークン予測部112からの出力系列である目的言語トークン列とトークン予測部112の最終層の隠れ状態とを入力とし、ニューラルネットワークを用いて、各トークンをマスクするか否かを予測する。具体的には、マスク予測部113は、トークン予測部112の穴埋め言語モデルの隠れ状態をsource-target attentionのsource側の情報として利用して、与えられた各トークン(入力された目的言語トークン列の各トークン)についてマスクするか否かを予測するTransformerを利用する。
【0049】
このようなマスキング機構を用いれば、出力トークンの尤度のような局所的な情報だけでなく、出力系列全体を考慮した上で、或るトークンをマスクするか否かを決定できる。また、後述のgumbel-softmaxを利用した手法で推論時の挙動を再現した学習ができる。
【0050】
翻訳モデルの学習方法としては、トークン予測とマスク予測の対から構成される復号を1回だけ行うsingle-step、又は復号を複数回(2以上の所定回数)行うmulti-stepを用いる。
【0051】
[復号一回のみの学習(single-step)]
single-stepは、学習開始時に複数回の復号を行うと学習が安定しない場合があるため、一回の復号に対して損失を計算する方法である。すなわち、single-stepの場合、
図8におけるNの値が1である。
【0052】
この方法において、翻訳モデル学習部11は、トークン予測部112の学習を、条件付き穴埋め言語モデルと同様に行う。また、翻訳モデル学習部11は、マスク予測部113については、トークン予測部112の出力系列(目的言語トークン列)と正解(目的言語文の正解)とを比較し、正解と異なるトークンにはマスクをかけ、正解に一致するトークンにはマスクをかけないような予測を行うように、クロスエントロピー損失で学習する。
【0053】
[複数回の復号を伴う学習(multi-step)]
multi-stepは、学習時にも推論時の挙動を模倣させるため、複数回の復号ステップの後の最終的な出力に対する損失を復号過程全体に逆伝搬させる方法である。
【0054】
Mask-Predictにおいて、穴埋め言語モデルによって計算されたトークンの出力分布は、その最大点(argmax)を取る形でトークンに置き換えられる。このトークンの選択は微分不可能な操作である。このトークンを選ぶ過程を擬似的に微分可能にするため、本実施の形態では本来argmaxを取るところでGumbel-softmaxによるサンプリングを利用する(「Jang et al. Categorical Reparametrization with Gumble-Softmax. In ICLR, 2017.」)。
【0055】
Gumbel-softmaxは、カテゴリ分布から疑似的に微分可能な形でサンプリングする際に用いられる手法であり、その計算は式(2)の通りである。
【0056】
【数2】
ここで、p
iは、語彙数Iのトークン予測モデルが出力するカテゴリ分布のi番目の要素である。また、g
iは、以下の式(3)ようにサンプリングされるgumbelノイズである。温度パラメータτが小さいほど、式(2)から出力される分布はone-hotに近づく。
【0057】
【数3】
本実施の形態では、翻訳モデル学習部11は、トークン予測部112の出力系列(目的言語トークン列)からGumbel-softmaxによるサンプリングを行い、得られたトークン列をマスク予測部113の入力とする。同様に、翻訳モデル学習部11は、マスク予測部113の出力系列(マスク付き目的言語トークン列)についてもGumbel-softmaxでサンプリングし、サンプリングによって得られたマスクするか否かの系列を次の復号ステップで利用する。
【0058】
微分不可能な選択操作をGumbel-softmaxで代替することで、復号の全過程が擬似的に微分可能になるため、最後の復号ステップの出力に対する損失値をそれ以前の復号ステップにも逆伝搬させることができる。これにより、推論時の挙動を再現した学習が可能になる。
【0059】
次に、本実施の形態の有効性を検証するための実験について説明する。
【0060】
[実験データ]
実験にはWMT16のルーマニア語-英語語対訳データ(wmt16 ro-en(https://www.statmt.org/wmt16/translation-task.html))を用いた。データの大きさは、学習用600,000文、開発用1,999文、テスト用1,999文である。対訳データのトークン化には、両言語の語彙を共有させた分割数40,000のByte Pair Encodingを用いた。
【0061】
[学習設定]
モデルや最適化のパラメータ設定は、Mask-Predictの設定(非特許文献1)に従った。トークン予測部112のEncoderとDecoderの埋め込み層及び隠れ層のそれぞれの次元数を512とし、attentionの headが8つのTransformerブロックを6層重ねたモデルとした。ただし、TransformerブロックのFeedforward Networkの次元数は、Small CMLMに合わせ、512とした。
【0062】
長さ予測部111については、Leven-Shtein Transformer(「Gu et al. Levenshtein transformer. In NIPS. 2019.」)の例に倣い、出力長の絶対値ではなく、翻訳元と翻訳後の系列長の差を予測する手法をとり、予測幅は[-128,128]に設定した。
【0063】
マスク予測部113のDecoderは、attentionのheadが8つであるTransformerブロック1層のみのモデルとした。埋め込み層と隠れ層の次元数は、トークン予測モデルと同様に512とした。本実施の形態のGumbel-softmaxの温度パラメータは0.1に固定した。比較対象となるMask-Predictは、著者実装ではなく独自に実装したものを使用した。
【0064】
[実験結果]
推論時は、出力長予測の候補数を2、最大復号回数Nを10とした。出力文の例を
図12に、BLEUスコアを
図13に示す。BLEUスコアの計算には、開発データに対するBLEUスコアが高かった上位5つのチェックポイントのモデルパラメータを用い、開発及びテストそれぞれについて5つのスコアの平均を取った。
図13より、本実施の形態(提案手法)のsingle-stepでは、従来のMask-Predictと比較して精度向上が見られる。しかし、本実施の形態のmulti-stepでは、精度が大幅に悪化している。いずれの手法でも復号にかかる時間はほぼ変わらず、Mask-Predictが提案手法より遅かった(約1.1倍)。
【0065】
上記の通り、実験により、マスキング機構をニューラルネットワークによりモデル化することにより、トークン予測とマスク予測の対を含む1回の復号を学習する本実施の形態のsingle-stepモデルは、従来のMask-Predictに比べて翻訳精度が向上することが分かった。
【0066】
一方、本実施の形態のmulti-stepでは翻訳精度の大幅な劣化が見られた。これは、推論時の挙動を単純に再現した学習では、復号を繰り返すことによりトークン予測の誤りが減少し、マスクすべき部分が少なくなってマスク予測部113の学習がどんどん難しくなるためである。
【0067】
但し、この問題は、復号を繰り返すことによりマスク予測部113の学習が難しくなることに対する対策(例えば、multi-stepにおいて人工的にトークン予測の誤りを生成する方法や、トークン予測部112とマスク予測部113を異なるデータで学習する方法)により解決できる(従来のMask-Predictに比べて翻訳精度が向上する)と考えられる。
【0068】
上述したように、本実施の形態によれば、非自己回帰的機械翻訳における学習時と推論時の操作の違いに注目し、代表的な非自己回帰的ニューラル機械翻訳手法であるMask-Predictをベースとし、そのマスキング機構に変更を加えることにより、非自己回帰的機械翻訳において学習時と推論時の挙動を近づけることができる。より詳しくは、本実施の形態では、学習時に推論時の復号過程を再現してモデルを学習させるために、Mask-Predictにおいて出力文をマスクする仕組み、すなわち、マスキング機構をニューラルネットワークによりモデル化し、長さの予測及びトークンの予測を含めた非自己回帰的機械翻訳モデル全体を一体として学習する。その結果、非自己回帰的機械翻訳の翻訳精度を向上させることができる。
【0069】
なお、本実施の形態において、翻訳装置10は、翻訳学習装置の一例である。翻訳モデル学習部11又はモデルパラメータ更新部115は、学習部の一例である。
【0070】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【0071】
10 翻訳装置
11 翻訳モデル学習部
12 翻訳実行部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 プロセッサ
105 インタフェース装置
111 長さ予測部
112 トークン予測部
113 マスク予測部
114 損失計算部
115 モデルパラメータ更新部
B バス