2017年3月21日火曜日

「Zero-Shot 論文」の翻訳

ゼロ・ショット翻訳を可能にする
Googleの多言語ニューラル機械翻訳システム


Melvin Johnson, Mike Schuster, Quoc V. Le, Maxim Krikun, Yonghui Wu,
Zhifeng Chen, Nikhil Thorat
melvinp, schuster, qvl, krikun ,yonghui,zhifengc,nsthorat@google.com
Fernanda Viégas, Martin Wattenberg, Greg Corrado, 
Macduff Hughes, Jeffrey Dean


概要


私たちは、単一のニューラル機械翻訳(NMT)モデルを使用して、複数の言語どうしを翻訳する、シンプルで洗練されたソリューションを提案します。

私たちのソリューションでは、基本のアーキテクチャーからモデルのアーキテクチャーを変更する必要はありません。代わりに入力文の始めに特殊な人工的なトークンを導入して、必要なターゲット言語を指定するだけです。エンコーダ、デコーダ、アテンションを含むモデルの残りの部分は変更されず、すべての言語で共有されています。

共有ワードピースのボキャブラリを使用することで、多言語NMTはパラメータを増やさずに、単一のモデルを利用することができるのです。これは、従来の多言語NMTの提案よりも大幅に簡単なものです。私たちの方法は、多くの場合、モデル・パラメータの総数を一定に保ちながら、関連するすべての言語ペアの翻訳品質を改善します。

WMT'14のベンチマークでは、単一の多言語モデルが、英語 -> フランス語翻訳に匹敵するパフォーマンスを達成し、英語 -> ドイツ語の翻訳では、最先端の結果を凌駕しています。同様に、単一の多言語モデルは、それぞれ、フランス語 -> 英語とドイツ語 -> 英語のWMT'14とWMT'15ベンチマークの最新の結果を上回りました。

製品版のコーパスでは、最大12言語対の多言語モデルで、多くの個々のペアの翻訳より良い翻訳が可能になります。

我々のモデルは、モデルが訓練された言語ペアの翻訳品質を向上させることに加えて、訓練中に明示的には見られなかった言語ペアの間の暗黙的な橋渡しを実行することも学ぶことができました。それは、翻訳の学習とゼロ・ショット翻訳がニューラル翻訳で可能であることを示しています。

最後に、私たちのモデルには、普遍的なインターリンガ表現が存在することを示唆する分析を示し、複数の言語を混在させた時に起きる、興味深い例を示します。

1 はじめに


ニューラル機械翻訳(NMT)[22,2,5]は、多くの大規模な環境で急速に採用されてきた機械翻訳に対するエンドツーエンドのアプローチです[24]。このようなシステムのほとんどは、単一の言語のペアのために構築されていました 。 基本的なNMTアーキテクチャを大幅に変更することなく、単一のモデルを使用して複数言語のペアを処理するための十分に単純で効率的な方法はありませんでした。

この論文では、単一のモデルを使用して多言語間で翻訳を行うための簡単な方法を紹介します。多言語データを利用することで、関連するすべての言語のNMTを改善します。私たちの方法では、従来のNMTモデルアーキテクチャに変更を加える必要はありません。代わりに、必要なターゲット言語を示す人工的なトークンを、入力シーケンスに追加します。 [24]で説明されているように、エンコーダー、デコーダー、アテンション、共有ワードピースの語彙のすべての他の部分はまったく同じです。私たちは私たちのシステムを、多言語 GNMTと呼びます。なぜなら、それは[24]の拡張版だからです。この方法にはいくつかの魅力的な利点があります。


シンプルさ:モデルのアーキテクチャは変更されていないため、より多くの言語へのスケーリングは簡単です。新しいデータは単純に追加され、オーバーサンプリングまたはアンダーサンプリングによってすべての言語が適切に表現されます。ターゲット言語が変更された場合には、新しいトークンが使用されます。これにより、複数の言語を扱う際に必要なモデルの総数を減らすことができるため、製品版の展開も簡単なものになります。 Googleでは、ソースとターゲットとして合計100以上の言語をサポートしているため、もし、それぞれの翻訳のモデルが、1つの言語ペアしかサポートしていないとすれば、すべての言語ペア間の最良の翻訳を得るためには、理論的には、$100^2$ものモデルが必要になるはずです。明らかに、これは製品版の環境では問題です。


リソースの少ない言語の改善:多言語NMTモデルでは、すべてのパラメータが、モデル化されているすべての言語ペアによって暗黙のうちにに共有されます。これにより、モデルは、トレーニングを通じて言語の境界を越えて一般化されます。利用可能なデータがほとんどない言語のペアと豊富なデータを持つ言語のペアが単一のモデルに混在すると、リソースの少ない言語ペアの翻訳品質が大幅に向上することが観察されています。


ゼロ・ショット翻訳:単一のモデルで複数の言語ペアをモデリングすることの驚くべきメリットは、モデルが、これまで見たことのない言語ペア間の翻訳(ゼロ・ショット翻訳)を暗黙のうちに学習することです。 たとえば、ポルトガル語から英語、英語からスペイン語のサンプルで訓練された多言語NMTモデルでは、その言語ペアのデータは見当たらないにもかかわらず、ポルトガル語からスペイン語への合理的な翻訳が生成されます。問題の言語ペアの追加データをほとんど使わずに、ゼロ・ショット言語ペアの品質を簡単に改善できることを、私たちは示します。


この論文の残りの節では、最初に関連した仕事について議論し、多言語システムアーキテクチャをより詳細に説明します。次に、ソースとターゲット側の言語をマージするさまざまな方法を、難易度が増す順に(多対1、1対多、多対多)検討し、いくつかの実験の結果について議論します。 それは、WMTのベンチマークやGoogleの製品版データセットの一部にも適用されます。

翻訳学習の実験の結果を示し、機械翻訳システムで典型的に使用される明示的なブリッジング(すなわち、英語のような一般的な言語に最初に翻訳し、続いて、この共通の言語から希望するターゲット言語に翻訳する)と比較して暗黙的に学習されたブリッジング(ゼロ・ショット翻訳)がどのように実行されるかを示します。

私たちは、新しいシステムの視覚化について説明します、それは、言語間で意味論的表現(インターリンガ)が共有されていることを示す最初の証拠を提供しています。

最後に、ソース側のコード切り替えと重み付けされたターゲット言語の混合といった言語の混合のいくつかの興味深い応用を例とともに示し、さらなる探求の可能な道を示唆します。

2 関連した仕事


インターリンガを用いる翻訳は機械翻訳の古典的な方法です[16、10]。その目覚ましい歴史にもかかわらず、機械翻訳の最も実用的なアプリケーションは、個々の言語ペアに集中してきました。なぜなら、複数の言語間で、信頼できる翻訳を行うシステムを構築するのは非常に難しかったからです。

ニューラル・マシン・トランスレーション[22,2,5]は、機械翻訳に対する有望なエンド・ツー・エンドの学習アプローチであり、様々な方法で多言語機械翻訳に急速に拡張されました。

初期の試みの1つは、マルチタスク学習環境における多言語訓練を提案した[12]の研究です。彼らのモデルは多言語NMTのための基本的なエンコーダ - デコーダネットワークです。ただ、この場合はアテンションの仕組みがありませんでした。彼らは、多言語データを適切に使用するために、サポートされているソースとターゲット言語ごとに1つずつ、複数のエンコーダとデコーダでモデルを拡張します。

同様に[6]においては、ターゲット言語ごとに別々のデコーダとアテンション機構を追加することによって、マルチリンガルNMTを実行するアテンション・ベースのエンコーダ/デコーダアプローチを変更しました。

[3]においては、テキスト以外の複数のモダリティをエンコーダ - デコーダ・フレームワークに組み込んでいます。多言語の訓練のために、特にリソースの少ない言語対のために、いくつかの他のアプローチが提案されています。

例えば、[26]において、モデルが複数の異なるエンコーダを有し、各ソース言語に対して異なるアテンション・メカニズムを持つ複数ソース変換の一つの形が提案されました。しかし、この仕事には、関係するすべての言語の間に多方向の並列コーパスが存在する必要がありますが、これは実際には得るのが難いことです。

我々のアプローチに最も密接に関連しているのは、[7]です。そこでは、単一の共有アテンション機構を使用するマルチウェイ多言語NMTを提案していますが、ソース/ターゲット言語ごとに複数のエンコーダ/デコーダを提案しています。

最近[11]において、複数のソース言語にわたって共有されるCNNベースの文字レベルエンコーダが提案されています。ただし、このアプローチでは、単一のターゲット言語にのみ翻訳を実行できます。

我々のアプローチは、マルチタスク学習フレームワーク[4]に関連しています。その前提にもかかわらず、この枠組みは実世界のアプリケーションでは実用的な成功を収めていません。

音声認識では、単一のモデルを使用して複数の言語をモデル化することについては、多くの成功した報告がなされています(広範な参考文献および参考文献については[17]を参照)。多言語言語処理は、翻訳以外の分野でも成功することが示されています[9、23]。

目的が非常に異なっていますが、その精神においては、私たちと似たアプローチを取る[20]では、ソース文に特別なトークンを追加することによって、ターゲット翻訳の丁寧さのレベルを制御するためにNMTフレームワークが拡張されています。

私たちの方法には、他のシステムにはない利点があります。それは、システムにゼロ・ショット翻訳を実行する能力を与えるということです。それは、訓練中に特定の言語ペアからの明示的なサンプルを見ることなしに、システムがソース言語からターゲット言語に翻訳を行うことができることを意味します。

ゼロショット翻訳は、[8]の直接的な目標でした。この直接の目標を達成することはできませんでしたが、事前に訓練されたマルチウェイ多言語モデルを使用し、あとで、モデルが生成する擬似パラレルデータで微調整する「ゼロリソース」翻訳と呼ばれる処理を実行できました。

私たちの知る限りでは、エンドツーエンド・モデルを使用して本当の多言語翻訳の使用を検証したのは、私たちの仕事が初めてです。結果として、製品として現場でも既に使用されています。これは、機械翻訳における翻訳学習の成功例であるゼロ・ショット翻訳の可能性を、追加の手順なしで示した最初の仕事です。

3 多言語翻訳のシステム・アーキテクチャー



多言語モデルのアーキテクチャ(図1参照)は、Googleのニューラル・マシン・トランスレーション(GNMT)システム[24]と同じものです。(オプションで、エンコーダとデコーダのレイヤー間の直接接続を追加しています。それを、私たちは実験の一部で利用しました。 詳細な説明については、論文を参照してください。)


図1
[24]で説明されているものに加えて、多言語GNMTシステムのモデルアーキテクチャの入力には、必要なターゲット言語を示す人工的なトークンがあります。この例では、トークン<2es>は、ターゲット文がスペイン語であることを示し、ソースの文は処理ステップとして反転されます。ほとんどの実験では、エンコーダとデコーダの間の直接接続も使用しましたが、後でこれらの接続の影響は無視できることを見つけました(ただし、一度訓練でこの接続を利用したら、推論には、この接続は必要になります)。残りのモデル・アーキテクチャは[24]と同じです。


単一システム内で多言語データを利用できるようにするため、私たちは、入力データの簡単な変更を提案しています。入力文の冒頭に人工的なトークンを導入して、モデルが翻訳する対象言語を示すことです。たとえば、次の英語とスペイン語の文章を考えてみましょう。
Hello, how are you? -> ¿Hola como estás?
この文は、次のように変更されて、スペイン語がターゲット言語であることを示します。
<2es> Hello, how are you? -> ¿Hola como estás?

ソース言語を指定していないことに注意してください。モデルはソース言語を自動的に学習します。ソース言語を指定しないと、スペルは同じだが異なるソース言語の、意味が異なる単語の翻訳が曖昧になる可能性があるという欠点があるのですが、コード切り替えを使って簡単に入力を処理できるという利点があります。ほとんどすべての場合で、文脈が正しい翻訳を生成するのに十分な言語の証拠を提供することがわかります。

トークンを入力データに追加した後、複数の言語ペアからなるすべての多言語データを一度にモデル化します。データの一部をオーバーサンプリングまたはアンダーサンプリングして、利用可能な言語データの相対比率を調整します。我々は、トレーニングに使用されるすべてのソースとターゲットのデータを共有するワードピースモデル[18、21]を使用します。通常は32,000ワードピースです。すべてのトレーニングは、[24]で説明されている一般的なNMTパイプラインとして実行されます。それは、TensorFlow [1] で実装されています。

要約すると、このアプローチは、われわれが知りうる選択肢の中で、最もシンプルで最もエレガントです。トレーニングと推論の間に、ソースデータの各センテンスに1つのトークンを追加して、目的のターゲット言語を指定するだけで済みます。


4 実験と結果


この節では、多言語モデルをいくつかの異なる構成で訓練するために提案された方法を適用します。単一または複数のソース/ターゲット言語のモデルを持つことができるので、3つの興味深いケースをテストします。


● 多くのソース言語を1つのターゲット言語(多対1)に、

● 1つのソース言語から多くのターゲット言語(1対多)に、および

● 多くのソース言語を多くのターゲット言語に(多対多)。


私たちは、また、製品版のデータで訓練された単一の大規模モデルで、多くの関連する(あるいは関連しない)言語をまとめたメリットについて、結果を示して議論するでしょう。

最後に、学習データに明示的な例が存在しない言語ペア間でモデルが翻訳することを学習し、さらにデータを追加することでゼロ・ショットの翻訳品質をさらに向上させる実験結果を紹介します。

4.1 データセット、訓練手順、評価基準


WMT'14の英語(En)-> フランス語(Fr)データセット、WMT'14の英語 -> ドイツ語(De)データ、Google内部の製品版データセットのいくつかでモデルを訓練します。

WMT En -> Frでは、トレーニングセットに36Mの文ペアが含まれています。 WMT En -> De訓練セットには、5Mの文ペアが含まれています。

どちらの場合も、以前の作業[14、19、25、24]と比較するテストセットとしてnewstest2014を使用します。

WMT Fr -> EnとDe -> Enでは、newstest2014とnewstest2015をテストセットとして使用します。 WMT'15よりも若干小さいWMT'14データで訓練したにもかかわらず、[13]と同様に、newstest2015でDe -> Enモデルをテストします。 newstest2012とnewstest2013の組み合わせが開発セットとして使用されます。

WMTに加えて、英語 <-> 日本語(Ja)、英語 <-> 韓国語(Ko)、英語 <-> スペイン語(Es)、英語 <-> ポルトガル語(Pt)などの、非常に明確な言語特性を持つ幅広い言語を表現しているGoogle内部のデータセットの多言語アプローチを評価します。

これらのデータセットは、WMTデータセットより2〜3桁大きいものです。私たちの訓練の手順は、[24]で説明したものとほとんど同じです。その論文の詳細な説明を参照してください。

多言語モデルでは、単一言語ペアモデルよりもトレーニングに時間がかかることがあります。これは、各言語のペアがトレーニングプロセスのほんの一部にしか見られないためです。

言語の数に応じて、フルトレーニングには最大10Mステップ、収束までには3週間かかることがあります(約100 GPU)。これらのモデルの収束を高速化するためには、より大きなバッチサイズと通常よりわずかに高めの学習率を初期値として使用します。

標準BLEUスコアメトリックを使用してモデルを評価しました。結果を、[24,22,14,25]と比較可能にするために、公開されていてダウンロードできるMosesの実装の中のmultibleu.plスクリプトで、トークン化されたBLEUスコアを計算しました。

すべての言語ペアが同じ量の訓練データを持つわけではないので、多言語モデルを構築する際には2つの戦略を開拓しました。

一つは、すべての言語ペアのデータを最大言語ペアと同じサイズにオーバーサンプリングします。もう一つは、何の変更もせずにそのままデータを混ぜています。私たちのWMTモデルでは、これらの両方の戦略を使用した結果を報告します。

製品版モデルでは、比率が等しくなるようにデータのバランスを常に取っています。モデルのすべてのコンポーネントを共有するメリットは、ミニバッチには訓練と推論の際に異なる言語ペアのデータが含まれる可能性があることです。これは、言語ペアごとに別々のバッチを用意し、トレーニング中に更新を処理するためのスケジューリング戦略を考案し、複数の言語を扱う際にプロダクションで簡単に導入するよりもずっと簡単です。

4.2 多対1


この節では、複数のソース言語が単一のターゲット言語(言語ペアを組み合わせる最も簡単な方法)を持つ場合を検討します。単一のターゲット言語しかないので、追加のソーストークンは必要ありません。私たちは3つの実験を行います:


● 最初の実験は、WMTデータセット上で行います。ここでは、ドイツ語 -> 英語とフランス語 -> 英語を組み合わせて多言語モデルを学習します。私たちのベースラインは、2つの単一言語ペアモデルです。ドイツ語 -> 英語とフランス語 -> 英語は独立して訓練されています。これらの実験は、言語ペアごとのデータ量が等しくなるようにオーバーサンプリングで1回実行し、もう一回はオーバーサンプリングなしで実行します。


● 2番目の実験は、製品版データに基づいています。ここでは、日本語 -> 英語、韓国語 -> 英語とオーバーサンプリングを組み合わせています。ベースは、日本語 -> 英語、韓国語 -> 英語の2つの言語ペアモデルです。


● 最後の3番目の実験は、製品版データの上で、スペイン語 -> 英語、ポルトガル語 -> 英語の両方を組み合わせたものです。オーバーサンプリングを使用します。ベースラインは、ここでも、独立に訓練された2つの単一言語ペアモデルです。


多言語および単一言語のペアモデルはすべて、単一の言語ペア([24]で説明されているように1024ノードおよび8つのLSTMレイヤーと32kの共有ワードピース・モデル・ボキャブラリを使用)で訓練されたベースラインNMTモデルと同じパラメータ数を持ちます。

これは多言語モデルには、不公平なものと思われます。なぜなら、Nが多言語モデルで結合された言語対の数であれば、単一言語対モデルに比べて、言語対ごとに利用可能なパラメータの数は、N倍だけ減少します。多言語モデルはまた、組み合わせたボキャブラリーを処理しなければなりません。実験を簡単にするため、すべてのモデルでパラメータの数を一定に保つことを選択しました。

表1


結果を表1に示します。すべての実験について、多言語モデルは、言語対ごとに利用可能なパラメータの数に関して上記の欠点にもかかわらず、ベースライン単一システムより優れています。このメリットを説明する可能性のある仮説の1つは、モデルがより多くの英語データをターゲット側に持ち、ソース言語が同じ言語ファミリに属していることです。それで、モデルは有用な一般化を学んでいます。

WMT実験では、French -> Englishの最大利得は+1.27BLEUです。両方のWMTテストセットの結果は、私たちがが知る限り、単一のモデルの他の公開された、どの最先端の結果よりも優れていることに注意してください。製品版の実験では、多言語モデルがベースラインの単一システムよりも+0.8 BLEUほど優れていることがわかります。

4.3 1対多


この節では、単一のソース言語と複数のターゲット言語がある場合の、私たちの方法の応用を探ります。ここでは、ターゲット言語を指定するために入力に追加のトークンを付加する必要があります。ソース言語とターゲット言語が逆になっていることを除けば、前節とほぼ同じ3組の実験を行います。


表2は、複数のターゲット言語に翻訳を実行した場合の結果をまとめたものです。

多言語モデルはベースラインに匹敵し、ある場合にはそれを上回るパフォーマンスを示しますが、全ての場合では、必ずしもそうではありません。英語はスペイン語で+ 0.9BLEUの大きな利得を得ていますが、これまでの結果とは異なり、この一連の実験ではあまり重要なメリットは得られていません。

これはおそらく、デコーダが複数のターゲット言語に翻訳するのがより困難であるという事実によるものです。例えば日本語と韓国語のような異なる記述でも、これらは単一の共有ワードピース語彙に結合されます。また、前述したように、多言語モデルは、単一言語ペアモデルと同じ数のパラメータしか持たないという、不利な点があります。

表2


オーバーサンプリングは、より大きい言語ペア(En -> Fr)の低品質を犠牲にして、小さな言語ペア(En -> De)に役立っています。オーバーサンプリングのないモデルは、期待されるるように、小さなモデルと比較して、より大きな言語でより良い結果を達成します。

これらの両極端の間に、両方の言語に利益をもたらす設定があり、その設定を見つけることが将来の仕事の範囲であることを期待しています。この効果は、小規模なデータセット(WMT)で顕著であり、製品版のデータセットではそれほど顕著ではないこともわかります。

4.4 多対多


この節では、単一のモデル内に複数のソース言語と複数のターゲット言語が存在する場合の実験について報告します。最も困難な設定です。

複数のターゲット言語が与えられているので、上記のように入力の先頭にターゲット言語のトークンを置く必要があります。結果を表3に示します。

単一言語モデルと同じモデルサイズと語彙サイズを持つ多言語製品版モデルは、ベースラインに非常に近いことがわかります。場合によっては、ベースラインモデルよりも優れている場合もあるのですが、他のモデルでは悪化しています。この効果は、このモデルでは、利用可能なすべてのトレーニングデータを利用せず、各言語のペアがベースラインで見られるデータの4分の1しか見ていないためだと考えています。

WMTデータセットでは、小さな言語ペアのオーバーサンプリングの影響をもう一度調査します。以前のセクションと同様の傾向に気付きました。オーバサンプリングは、より小さい言語ペアを、大規模なものを犠牲にして助けるのですが、オーバーサンプリングしないことが、逆の効果を持つようには見えません。

表3


単一言語ペアモデルと同じ総数のパラメータを持つモデルを使用して多数の言語を共同して訓練することで、品質が低下することがありますが、これらのモデルは訓練と製品化の複雑さを軽減します。さらに、これらの多言語モデルには、以下のセクションで詳しく説明するように、より興味深い利点があります。

4.5 大規模実験


この節では、12の製品版の言語のペアを単一言語のペアモデルと同じ数のパラメータを使用して単一の多言語モデルに結合した結果を示します。上記のように、入力にはターゲット言語トークンを前置する必要があります。上記のようにデータのバランスを取るために、より小さな言語のペアからサンプルをオーバーサンプルします。

表4


結果は表4に要約されています。多言語モデルは最高の単一モデルにかなり近く、場合によっては同等の品質を達成することさえあります。私たちは、278Mのパラメータを持つ単一のモデルが、合計3.33Bのパラメータを持つ12のモデルを実行することができることは注目に値することです。

多言語モデルでは、トレーニングの時間とコンピューティングリソースの12分の1で収束する必要があります。もう1つの重要な点は、単一のモデルより少し長く訓練しただけなので、個々の言語のペアは、その単一の言語のペアモデルと比較して、データの12分の1以下のデータしか見ていないことです。

ここでも、多言語モデルにとっては、以下の比較はやや不公平なものなのですが、利用可能なすべてのデータで訓練されたより大きなモデルが、ベースラインと同等またはそれ以上の品質を達成すると期待しています。

要約すると、多言語NMTを使用することで、品質の低下がほとんど、あるいは、まったくないように言語をグループ化でき、トレーニング効率も向上し、モデル数も少なくなり、製品化が容易になるという利点があります。

4.6 ゼロ・ショット翻訳


私たちのアプローチの興味深い利点は、明示的な訓練データがない言語ペアの間でゼロ・ショット翻訳を実行できることです。

これを実証するために、2つの異なる言語ペア、ポルトガル語 -> 英語と英語 -> スペイン語(モデル1)と、英語 <-> ポルトガル語、英語 <-> スペイン語(モデル2)の4つの異なる言語ペアのデータで訓練されたモデルの、2つの多言語モデルを使います。

これらのモデルの両方が、スペイン語 -> ポルトガル語で、合理的に良質な ポルトガル語を生成できることを示しています。私たちの知る限り、これは真の多言語ゼロ・ショット翻訳の最初のデモです。

これまでの多言語モデルと同様に、これらのモデルはいずれも、ベースラインの単一言語ペアモデルと同等かそれよりもわずかに優れています。ゼロ・ショット翻訳が問題なく機能するという楽しい事実の他に、第3言語による明示的なブリッジ処理が不要なため、デコードのスピードが半分になるという利点もあります。

表5は、ポルトガル語ス -> ペイン語の翻訳実験の結果をまとめたものです。行(a)と(b)は、フレーズベースの機械翻訳(PBMT)システムとNMTシステムのパフォーマンスを、ブリッジング(ポルトガル語から英語への翻訳とその結果の英語文のスペイン語への翻訳)行った場合についてに報告しています。

NMTシステムは、BLEUのポイントで2点近くでPBMTシステムより優れていることがわかります。モデル1とモデル2は、ポルトガル語のスペイン語翻訳を行うために、それらの内部でブリッジすることができます。これらの数値は、2つの個別の言語ペアNMTモデルを使用したブリッジングのパフォーマンスと同じようなものなので、ここでは報告していません。比較のために、利用可能なポルトガル語 -> スペイン語のパラレルセンテンス(表5の(c)を参照)をすべて使用して、単一のNMTモデルを作成しました。

表5



最も興味深いのは、モデル1とモデル2の両方が合理的な品質でゼロショット変換を実行できるということです((d)と(e)を参照)。モデル2は、BLEUポイントで3点近くモデル1より優れていることに注目すべきです。言い換えれば、ソース側でスペイン語を追加し、ターゲット側でポルトガル語を追加すると、ポルトガル語 -> スペイン語のゼロ・ショット翻訳に役立ちます。これは、私たちの共有アーキテクチャにより、モデルがこれらすべての言語間のインターリンガを学習できるためだと考えています。私たちは、次の5節で、その詳細を展開します。

最後に、モデル2は、少量のポルトガル語 -> スペイン語のパラレルデータ(表5(c)よりも1桁小さい)で段階的に訓練した時、最良の品質を得ました。

これは、我々の多言語モデルが、暗黙的なブリッジングによるゼロ・ショット変換を実行できることを示しています。それは、少量のデータで段階的に訓練されると、強力なNMTベースラインよりも優れています。

この結果は、特に重要です。英語以外のリソースの少ない言語ペアにとって、ソース言語とターゲット言語の両方が英語でない言語ペアのパラレル・データを取得する方がはるかに難しいからです。パラレル・データの効果については、4.7節で詳しく説明します。

4.7 直接のパラレル・データの効果


このセクションでは、利用可能な並列データを活用してゼロショット変換の品質を向上させる、次の2つの方法について展開します。すなわち、

● ゼロ・ショットの方向に、パラレルデータを追加して、多言語モデルを段階的に訓練する。

● 使用可能なすべてのパラレルデータを均等に混合して、新しい多言語モデルを訓練する。

私たちの実験では、英語 <->  {ベラルーシ語、ロシア語、ウクライナ語}の並列コーパスで訓練された "ゼロ・ショット"と呼ばれるベースラインモデルを使用します。

私たちは、上記のコーパスに、ロシア語 <-> {ベラルーシ語、ウクライナ語}のデータを追加して、2番目のモデルを訓練しました。このモデルを「From-Scratch」と呼びます。どちらのモデルも4つのターゲット言語をサポートし、標準テストセットで評価されます。これまでのように、すべての言語ペアが等しく表されるように、データをオーバーサンプリングします。

最後に、「Zero-Shot」モデルの最良のチェックポイントを取って、「From-Scratch」モデルを短期間(「Zero-Shot」モデルの合計トレーニング時間の3%)訓練します。このモデルを「インクリメンタル」と呼びます。

表6からわかるように、英語 <-> X語方向については、3つのモデルすべてが同等のスコアを示しています。ロシア語 <-> {Belarusian、Ukrainian}の方向では、Zero-Shotモデルは明示的なパラレルデータなしで、1つを除いてすべての方向で比較的高いBLEUスコアを達成しています。これらの言語は言語的に関連している可能性があります。

「From Scratch」列では、新しいモデルをゼロから訓練するとゼロ・ショット翻訳の方向がさらに向上することがわかります。しかし、この戦略は、英語 <->  X語方向に若干のマイナスの影響を与えます。これは、オーバーサンプリングの戦略がこれらの方向からのデータの頻度を減らすためです。

最後の列では、直接的な並列データを使用した段階的なトレーニングが、ゼロショット言語ペアの最初の2つの列のBLEUスコアの差の大部分を回復することがわかります。要約すると、私たちの共有アーキテクチャは、ゼロショット言語のペアを非常によくモデル化し、少量の追加並列データで品質を簡単に向上させることができます。

表6


5 ビジュアルな分析


モデルを複数の言語にまたがってトレーニングすることで、個々の言語レベルでのパフォーマンスが向上し、ゼロ・ショット翻訳が有効になることがわかるということが、この論文の結論なのですが、この結果は、これらのタスクがモデル内でどのように処理されるかについて、いくつかの問題を提起します。例えば、次のような問題です。

● 言語にかかわらず、ネットワークは、同じ意味を持つ文章が同じような方法で表現される何らかの共有表現を学習しているのか?

● モデルは、訓練された言語ペアを扱うのと同じ方法で、ゼロ・ショット翻訳を実行しているのか?

ネットワークによって使用される表現を研究する1つの方法は、翻訳中のネットワークの活性化の状態を見ることです。研究の出発点は、アテンション・ベクトルのセット、すなわち、エンコーダとデコーダのネットワークを接続するレイヤ内の活性化の状況(図1の中央の青色のボックスを参照)です。

単一の文の翻訳は、一連のアテンション・ベクトルを生じさせます。この文脈において、共有表現に関する元々の問題は、異なる文のベクトルのシーケンスがどのように関連しているかを調べることによって研究することができます。

実際の例を調べて見ましょう。

● ソースまたはターゲット言語に応じて、文章がクラスタリングされているのか?

● あるいは、言語にかかわらず、同様の意味を持つ文章がクラスタリングされるのか?

私たちは、人間がより簡単に解釈できる内部埋め込みの低次元表現を見て、これらの疑問に対する答えを見つけようとします。

5.1 インターリンガの証拠


いくつかの訓練されたネットワークは、実際に共有表現の強いビジュアルな証拠を示します。

たとえば、以下の図2は、英語 <-> JapaneseとEnglish <-> Koreanでトレーニングされた多対多モデルから作成されたものです。モデルの実際の動作を視覚化するために、意味論的に同一の言語間フレーズの74個のトリプルからなる小さなコーパスから始めました。

つまり、それぞれのトリプルには、同じ基本的な意味を持つ英語、日本語、韓国語のフレーズが含まれています。これらのトリプルをコンパイルするために、私たちは日本語と韓国語の翻訳と対になった、英語の文章のための正しい(Ground Truth)データベースを検索しました。

次に、訓練されたモデルを適用して、各トリプルの各センテンスを他の2つの言語に翻訳しました。このプロセスを実行すると、各トリプルに基づいて6つの新しい文が得られ、9,978のステップの合計74 * 6 = 444の翻訳が、同じ数のアテンション・ベクトルに対応することになります。

アテンション・ベクトルは高次元であるため、TensorFlow Embedding Projector2を使用して、t-SNE [15]を介して、より理解しやすいな3D空間にマッピングします。次の図では、各ポイントは翻訳プロセス中の単一のデコードステップを表しています。与えられたセンテンスのステップを表すポイントは線分で結ばれます。

図2には、9,978個の注意ベクトルの全体像が示されています。同じ元の文のトリプルから生成された点にはすべて同じ(ランダムな)色が与えられます。

これらのクラスタを調べてみると、各ストランドが単一のセンテンスを表し、ストランドのクラスタは、一般に、同じ元のセンテンスの翻訳セットを表しているのですが、ソースおよびターゲット言語が異なることを示しています。

図の右は、2つのクローズアップです。個々のクラスタは、同じトリプルのメンバーシップに基づいていて色付けされています。また、ソース言語で色付けされています。

5.2 部分的に分離された表現


すべてのモデルが、そのようなクリーンな意味クラスタリングを示すわけではありません。

時には、ある一つの言語ペアからの多くのアテンション・ベクトルを含む別々の大きなクラスターと共存する空間の一部の領域で、共同の埋め込みを観察しました。

たとえば、図3aは、ポルトガル語 -> 英語(青)と英語 -> スペイン語(黄色)で訓練され、ポルトガル語からスペイン語(赤)のゼロショット変換を実行したモデルからの注意ベクトルのt-SNEプロジェクションを示しています。

このプロジェクションは、上記のように翻訳された153個の意味的に同一のトリプルを示しています。総翻訳数は459あります。左の大きな赤い領域には、主にゼロショットのポルトガル語 -> スペイン語の翻訳が含まれています。言い換えれば、かなりの数の文では、ゼロ・ショット翻訳は、2つの訓練された翻訳方向とは異なる埋め込みを持っています。

一方、いくつかのゼロ・ショット翻訳ベクトルは、他の言語で見られる埋め込みの近くにあるように見えます(右の大きな領域と同様)。

「分離された」ゼロ・ショット変換の大きなクラスターが、何らかの重要性を持っているかどうかを尋ねるのは自然なことです。確定的な回答にはさらなる調査が必要ですが、この場合、分離された領域のゼロ・ショット翻訳ではBLEUスコアが低くなる傾向があります。同じ意味の文の埋め込みの間の距離と翻訳品質との関係を測定するために、最初に各翻訳のBLEUスコアを計算しました。 (これは、すべてのトリプルのフレーズが、正しい(Ground-Truth)データから抽出されたために可能です。)




図2

74の意味的に同一の文の埋め込みのt-SNEプロジェクション。英語 <-> 日本語と英語 <-> 韓国語のデータで訓練されたモデルは、6つの可能な方向すべてに翻訳され、合計9,978ステップ(画像内の点)を生み出す(a)埋め込みの鳥瞰図、同じ意味の文のインデックスで色付けされています。それぞれが単一の色を有する明確に定義されたクラスターが存在することは明らかです。 (b)同じ色のクラスターの1つを拡大したビュー。このクラスター内のすべての文章は、「成層圏は高度約10kmから約50kmまで広がっています。」です。(c)元の言語で色分けされた同じクラスター。このクラスタ内では、3つのソース言語すべてが表示されます。




図3

(a)ポルトガル語 -> 英語(青)と、英語 -> スペイン語(オレンジ)で訓練されたモデルの埋め込みのt-SNEプロジェクションの鳥瞰図。左の大きな赤い領域には、主にポルトガル語 -> スペイン語のゼロ・ショットの翻訳が含まれています。 (b)ゼロ・ショット翻訳のBLEUスコアとゼロ・ショット翻訳とノンブリッジ翻訳との平均点距離の散布図。ピアソン相関係数は-0.42。図3bから、この相違度スコアの値はピアソン相関係数が-0.42のゼロショット変換の品質と相関があり、中程度の相関を示していることがわかります。将来の研究のための興味深い領域は、訓練された言語ペアを介した翻訳の埋め込みと比較することによって、デコーダ内のゼロショット変換の品質を予測するために、埋め込みの地図とモデル性能との間のより信頼できる対応を見つけることです。



次に、2つのセンテンスが異なるワードピースの数で構成されるかもしれないという事実を考慮して、異なるセンテンスの埋め込みのための非類似性測度を定義する必要がありました。同じ意味を持つ文の埋め込み間の翻訳品質と距離との関係を測定するために、最初にそれぞれの翻訳のBLEUスコアを計算しました。 (これは、すべてのトリプルのフレーズが、正しい(Ground-truth)のデータから抽出されたために可能です。)

次に、2つのセンテンスが、異なるワードピースの数で構成されるかもしれないという事実を考慮して、異なるセンテンスの埋め込みのための非類似性測度を定義する必要がありました。

そのためには、文が $n$個のワードピース $w_0, w_1, \cdots , w_{n-1}$からなり、$i$番目のワードピースが、$y_i \in R^{1024}$に埋め込まれるとして、$\frac {i} {n-1}$の形の"コントロール・ポイント"を持つ、曲線$\gamma : [0,1]  \to  R^{1024}$を、次のように定義します。
$$\gamma ( \frac {i} {n-1}) = y_i $$
線形補間を使用してこれらの点の間に$\gamma$があると定義します。$m$を、二つの文のワードピースの最大数とすると、二つの曲線 $\gamma_1$と$\gamma_2$との非類似性は、次の式で定義されます。
$$dissimilarity(\gamma_1,\gamma_2)= \frac{1}{m} \sum_{i=0}^{m-1} d(\gamma_1 ( \frac {i} {n-1}) ,\gamma_2 ( \frac {i} {n-1}))$$

図3bから、この非類似性スコアの値は、ピアソン相関係数が-0.42のゼロショット変換の品質と相関があり、中程度の相関があることがわかります。

将来の研究のための興味深い領域は、訓練された言語ペアを介した翻訳の埋め込みと比較することによって、デコーダの中のゼロショット翻訳の品質を予測するために、埋め込み地図とモデル性能との間の、より信頼できる対応を見つけることです。


6 混合言語


追加のソーストークンを使用してランダムなソース言語から選択した単一のターゲット言語に翻訳する仕組みを持っていますので、ソースまたはターゲット側で言語が混在しているときに何が起こるかを考えました。特に、次の2つの実験に興味がありました。


1.多言語モデルは、文章の途中での多言語入力(コード切り替え)をうまく処理できるか?

2.多言語モデルがトリガーされ、1つではなく2つのターゲット言語トークンが重み付けされて1つに加わる(これらのトークンの重み付けされた埋め込みをマージするのと同等)場合、どうなるか?

次の2つのセクションでは、これらの実験について説明します。

6.1 ソース言語でのコード転換


このセクションでは、多言語モデルがソース言語のコード交換をどのように扱うかを示します。

ここでは、{日本語、韓国語} ->英語 データで訓練された多言語モデルの例を示します。このモデルを使用して、ソースに日本語と韓国語を混在させると、このモデルではコード切り替えが処理できます。そのようなコード切り替えサンプルはトレーニングデータには存在しないにもかかわらず、多くの場合正しい英語の翻訳が生成されます。モデルには、個々の文字/ワードピースが語彙ボキャブラリー内に存在するため、異なるタイプの記述を効果的に処理できることに注意してください。



興味深いことに、混在言語入力の翻訳は、単一の翻訳元の言語翻訳の翻訳とわずかに異なります。実際には、入力のコード切り替えが良い出力をもたらさない例を見つけることはあまり難しくありません。場合によっては、モデルは翻訳する代わりに原文の一部を単純にコピーします。

6.2 重みづけられたターゲット言語の選択


この節では、ターゲット言語を混在させたときの動作をテストします。私たちは英語など複数のターゲット言語を訓練した多言語モデルを採用しています。次に、エンコーダLSTMの最下層に "<2ja>"の埋め込みベクトルを与えるのではなく、線形結合
$(1-w)<2ja>  + w <2ko>$を与えます。

明らかに、w = 0の場合、モデルは日本語を生成する必要があり、w = 1の場合、それは韓国語を生成するはずですが、wがその間の値をとる時、何が起こるのでしょう? 

あるモデルでは、ある種の中間言語(「Japarean」)が出力されることが予想されますが、結果はそれほど驚くことではありません。たいていの場合、出力はw = 0.5付近で言語を切り替えるだけです。場合によっては、wの中間の値について、モデルは文の途中で、言語を切り替えます。

この動作の可能な説明は、デコーダLSTMによって暗黙的に学習されたターゲット言語モデルが、特にこれらの言語が異なった記述を使用する場合、異なる言語の単語を混在させることを非常に困難にする可能性があるということです。

さらに、要求されたターゲット言語を定義するトークンが文の先頭に配置されるので、デコーダがさらに進むほど、このトークンに注意を払う可能性は低くなり、その代わりに言語の選択は予め生成されたターゲットの単語で決定されます。


表7は、3つの異なる多言語モデルを使用する混合ターゲット言語の例を示しています。

最初の例(ロシア/ベラルーシ語)では、モデルが最初にベラルーシ語に切り替える前に、まずターゲット言語としてロシア語からウクライナ語(下線)に切り替わるのは興味深いことです。

2番目の例(日本語/韓国語)では、日本語から韓国語への文法を徐々に変える日本語から韓国語へのさらに興味深い移行を観察できます。 wko = 0.58では、ターゲット文の冒頭で原文を日本語と韓国語の組み合わせに変換します。 wko = 0.60では、原文は完全な韓国語に翻訳され、すべての原語が取り込まれますが、単語の順序は自然に見えません。興味深いことに、wkoが0.7まで増加すると、モデルは原文をより自然に聞こえる韓国語の文に翻訳し始めます。

表7


韓国語の翻訳には空白が含まれておらず、句読記号として ''を使用しています。これらは、すべて日本のポストプロセッサを適用したものです。

7 結論


私たちは、多言語NMTに、シンプルで洗練されたソリューションを提示しました。私たちは、すべてのパラメータが共有される単一のモデルを使用して、多数の異なる言語間の翻訳に使用できる多言語NMTモデルを訓練できることを示しました。それは、積極的な副作用として、混合されたリソースの少ない言語の翻訳の質を改善します。

また、これらのモデルを使用して明示的なブリッジングを行わずに、ゼロ・ショット翻訳が可能であることも示しました。これは、私たちが知りうる限りでは、機械翻訳のために真の翻訳学習の一つの形態が、初めて示されたということです。

ゼロ・ショット翻訳の質を明示的に改善するために、利用可能な並列データを追加する2つの異なる方法を検討して、満足できる結果に達するには、少しの量のデータの追加で十分であることがわかりました。

私たちの最大規模の実験では、12の言語ペアをそれぞれの言語ペアモデルと同じサイズの単一のモデルにマージしました。多言語モデルのモデルの容量は、劇的に削減されたにもかかわらず、それは、単一の言語ペアのベースラインの翻訳品質を若干低下させただけでした。

結果のビジュアルな解釈は、これらのモデルが、関係するすべての言語ペアの間の多言語モデルのためのインターリンガ表現の形態を学習することを示しています。シンプルなアーキテクチャでは、ソースまたはターゲット側で言語を混在させて、興味深い翻訳例を得ることができます。私たちのアプローチは、Google規模の製品版環境で確実に動作することが示されており、多数の言語にスケールさせることに、素早く対応できます。

謝辞


Google BrainチームとGoogle翻訳チームの皆様に、このプロジェクトへの彼らの基本的的な貢献に感謝したいと思います。特に、トピックに関する洞察ではJunyoung Chungに、また、Alex RudnickとOtavio Goodの親切なアドバイスに感謝します。

参考文献


[1] Abadi, M., Barham, P., Chen, J., Chen, Z., Davis, A., Dean, J., Devin, M., Ghemawat, S.,Irving, G., Isard, M., Kudlur, M., Levenberg, J., Monga, R., Moore, S., Murray, D. G., Steiner, B., Tucker, P., Vasudevan, V., Warden, P., Wicke, M., Yu, Y., and Zheng, X. Tensorflow: A system for large-scale machine learning. Tech. rep., Google Brain, 2016. arXiv preprint.
[2] Bahdanau, D., Cho, K., and Bengio, Y. Neural machine translation by jointly learning to align and translate. In International Conference on Learning Representations (2015).
[3] Caglayan, O., Aransa, W., Wang, Y., Masana, M., García-Martínez, M., Bougares, F., Barrault, L., and van de Weijer, J. Does multimodality help human and machine for translation and image captioning? In Proceedings of the First Conference on Machine Translation (Berlin, Germany, August 2016), Association for Computational Linguistics, pp. 627–633.
[4] Caruana, R. Multitask learning. In Learning to learn. Springer, 1998, pp. 95–133.
[5] Cho, K., van Merrienboer, B., Gülçehre, Ç., Bahdanau, D., Bougares, F., Schwenk, H., and Bengio, Y. Learning phrase representations using RNN encoder-decoder for statistical machine translation. CoRR abs/1406.1078 (2014).
[6] Dong, D., Wu, H., He, W., Yu, D., and Wang, H. Multi-task learning for multiple language
translation. In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics
and the 7th International Joint Conference on Natural Language Processing of the Asian Federation of
Natural Language Processing, ACL 2015, July 26-31, 2015, Beijing, China, Volume 1: Long Papers
(2015), pp. 1723–1732.
[7] Firat, O., Cho, K., and Bengio, Y. Multi-way, multilingual neural machine translation with a shared
attention mechanism. In NAACL HLT 2016, The 2016 Conference of the North American Chapter of
the Association for Computational Linguistics: Human Language Technologies, San Diego California,
USA, June 12-17, 2016 (2016), pp. 866–875.
14
[8] Firat, O., Sankaran, B., Al-Onaizan, Y., Vural, F. T. Y., and Cho, K. Zero-resource
translation with multi-lingual neural machine translation. arXiv preprint arXiv:1606.04164 (2016).
[9] Gillick, D., Brunk, C., Vinyals, O., and Subramanya, A. Multilingual language processing from
bytes. CoRR abs/1512.00103 (2015).
[10] Hutchins, W. J., and Somers, H. L. An introduction to machine translation, vol. 362. Academic
Press London, 1992.
[11] Jason, L., Cho, K., and Hofmann, T. Fully character-level neural machine translation without
explicit segmentation. arXiv preprint arXiv:1610.03017 (2016).
[12] Luong, M.-T., Le, Q. V., Sutskever, I., Vinyals, O., and Kaiser, L. Multi-task sequence to
sequence learning. In International Conference on Learning Representations (2015).
[13] Luong, M.-T., Pham, H., and Manning, C. D. Effective approaches to attention-based neural
machine translation. In Conference on Empirical Methods in Natural Language Processing (2015).
[14] Luong, M.-T., Sutskever, I., Le, Q. V., Vinyals, O., and Zaremba, W. Addressing the rare word
problem in neural machine translation. In Proceedings of the 53rd Annual Meeting of the Association for
Computational Linguistics and the 7th International Joint Conference on Natural Language Processing
(2015).
[15] Maaten, L. V. D., and Hinton, G. Visualizing Data using t-SNE. Journal of Machine Learning
Research 9 (2008).
[16] Richens, R. H. Interlingual machine translation. The Computer Journal 1, 3 (1958), 144–147.
[17] Schultz, T., and Kirchhoff, K. Multilingual speech processing. Elsevier Academic Press, Amsterdam,
Boston, Paris, 2006.
[18] Schuster, M., and Nakajima, K. Japanese and Korean voice search. 2012 IEEE International
Conference on Acoustics, Speech and Signal Processing (2012).
[19] Sébastien, J., Kyunghyun, C., Memisevic, R., and Bengio, Y. On using very large target
vocabulary for neural machine translation. In Proceedings of the 53rd Annual Meeting of the Association
for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing
(2015).
[20] Sennrich, R., Haddow, B., and Birch, A. Controlling politeness in neural machine translation via
side constraints. In NAACL HLT 2016, The 2016 Conference of the North American Chapter of the
Association for Computational Linguistics: Human Language Technologies, San Diego California, USA,
June 12-17, 2016 (2016), pp. 35–40.
[21] Sennrich, R., Haddow, B., and Birch, A. Neural machine translation of rare words with subword
units. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (2016).
[22] Sutskever, I., Vinyals, O., and Le, Q. V. Sequence to sequence learning with neural networks. In
Advances in Neural Information Processing Systems (2014), pp. 3104–3112.
[23] Tsvetkov, Y., Sitaram, S., Faruqui, M., Lample, G., Littell, P., Mortensen, D. R., Black,
A. W., Levin, L. S., and Dyer, C. Polyglot neural language models: A case study in cross-lingual
phonetic representation learning. CoRR abs/1605.03832 (2016).
[24] Wu, Y., Schuster, M., Chen, Z., Le, Q. V., Norouzi, M., Macherey, W., Krikun, M., Cao,
Y., Gao, Q., Macherey, K., Klingner, J., Shah, A., Johnson, M., Liu, X., Łukasz Kaiser,
Gouws, S., Kato, Y., Kudo, T., Kazawa, H., Stevens, K., Kurian, G., Patil, N., Wang, W.,
Young, C., Smith, J., Riesa, J., Rudnick, A., Vinyals, O., Corrado, G., Hughes, M., and
Dean, J. Google’s neural machine translation system: Bridging the gap between human and machine
translation. arXiv preprint arXiv:1609.08144 (2016).
15
[25] Zhou, J., Cao, Y., Wang, X., Li, P., and Xu, W. Deep recurrent models with fast-forward
connections for neural machine translation. CoRR abs/1606.04199 (2016).
[26] Zoph, B., and Knight, K. Multi-source neural translation. In NAACL HLT 2016, The 2016 Conference
of the North American Chapter of the Association for Computational Linguistics: Human Language
Technologies, San Diego California, USA, June 12-17, 2016 (2016), pp. 30–34.
16

0 件のコメント:

コメントを投稿