Facebook の言語翻訳は、最終的に複数の大規模なニューラル ネットワークによって実行されるようになりました。
ソーシャルメディア大手のグーグルは木曜日、ユーザーの投稿やステータスアップデートの翻訳にニューラルネットワークを採用すると発表した。こうした取り組みはグーグルが初めてではない。例えば、グーグルとマイクロソフトは昨年11月に翻訳サービスをニューラルネットワークにアップグレードしている。
しかし、重要なのは、Facebook が畳み込みニューラル ネットワークとリカレント ニューラル ネットワークを組み合わせて使用しているのに対し、Google と Microsoft は実稼働環境でリカレント ニューラル ネットワークのみを使用しているように見えることです。
約20億人のユーザーを抱える世界最大のソーシャルメディアネットワークであるマーク・ザッカーバーグ率いるFacebookは、毎日45億件もの翻訳を処理しなければなりません。Facebookの旧システムはフレーズベースの翻訳を採用しており、文中の単語のまとまりをある言語から別の言語に変換するものでした。これは構文や構造が異なる言語間ではうまく翻訳できない、扱いにくい方法です。
この新システムは、主にリカレントニューラルネットワーク(RNN)を採用しています。これは、データサイエンスにおいて自然言語を扱う際に一般的に用いられる手法です。まず、単語はベクトルに変換されます。このプロセスはエンコーディングと呼ばれます。RNNは文全体を単語ごとに解釈し、エンコードされたベクトルの分布を調べて、対象言語の関連単語と照合します。このプロセスはデコーディングと呼ばれます。
トルコ語から英語への翻訳例。Facebookの従来のフレーズベース技術とニューラル機械翻訳を比較
Facebookの応用機械学習グループの研究者たちは、Caffe 2とPythonおよびC++で書かれたソフトウェアを用いて、約1年をかけてニューラル機械翻訳システムを構築しました。翻訳システムプロジェクトの一環として、Caffe 2にRNNのサポートが追加され、その成果は近日中に公開されるとのことです。このように多数の層を持つ大規模なニューラルネットワークの学習は、バッチ処理で行わなければなりませんでした。
翻訳プロセスを効果的にするには、高速化が不可欠です。そうでなければ、ユーザーはイライラして翻訳を敬遠してしまいます。ビーム検索は、よく使われるフレーズを選択することで、翻訳候補を絞り込むために使用されます。
一方、Facebookは英語からフランス語、英語からドイツ語への翻訳を他の翻訳方法よりも高速に行うことができます。これは、これらの翻訳に、自社のRNNではなく畳み込みニューラルネットワーク(CNN)を使用しているためです。CNNは、テキスト内のすべての単語を特定の順序ではなく同時にシステムに入力できるため、RNNよりも高速です。現在、研究者たちはCNNを他の言語に拡張する研究を進めています。
最後に、たとえば Google には英語からフランス語、英語からドイツ語、英語からスペイン語などを処理できる多言語ニューラル ネットワークがあるのに対し、Facebook では言語の組み合わせごとに個別のネットワークを使用していることがわかります。®