より高い品質の翻訳を実現するGoogleの「Transformer」がRNNやCNNをしのぐレベルに


ニューラルネットワークの中でもリカレントニューラルネットワーク(RNN)は、言語モデリングや機械翻訳、質疑応答といった言語理解タスクに対する主要なアプローチ方法と見なされています。そんな中、GoogleがRNNよりも言語理解タスクに秀でた新しいニューラルネットワークアーキテクチャ「Transformer」を開発しています。

Research Blog: Transformer: A Novel Neural Network Architecture for Language Understanding
https://research.googleblog.com/2017/08/transformer-novel-neural-network.html

Googleによる言語理解タスクに秀でたニューラルネットワークアーキテクチャの「Transformer」は、英語からドイツ語、英語からフランス語の2通りの翻訳をベンチマークとしており、その両方でRNNや畳み込みニューラルネットワーク(CNN)を駆使したアーキテクチャよりも優れていることを示しています。Transformerは学習に必要な計算量が他のニューラルネットワークよりも圧倒的に少ないため、現代の機械学習ハードウェアに適しており、より高い品質の翻訳を提供できるようになるとのことです。

ニューラルネットワークを用いた翻訳モデルの「GNMT(Googleニューラル機械翻訳)」「ConvS2S」「SliceNet」とTransformerで、英語からドイツ語への翻訳を行い、翻訳の品質をスコア化したのが以下のグラフ。スコアが高いほど翻訳の質が高いということを示しており、Transformerが最も質の高い翻訳に成功しています。


以下は英語からフランス語に翻訳する際の同様のベンチマーク。ここでもTransformerが優れた翻訳を披露。


通常のニューラルネットワークは、固定長または可変長のベクトル空間表現を生成することによって言語を処理します。具体的には、個々の単語や単語の表現から始まり、周囲の単語から情報を集約し、文脈における言語の特定の意味を決定します。近年翻訳分野におけるスタンダードとなりつつあるRNNの場合、言語処理は左から右もしくは右から左に順々に行っていきます。ひとつの単語を認識すると、複数のステップを実行して言葉の意味を決定し、それをひとつずつ処理していくというのがRNNというわけ。それに対してCNNの場合は、RNNほど順々に処理を行っていくというわけではないのですが、CNNアーキテクチャのByteNetやConvS2Sの場合、単語同士の意味をつなげていくために必要な処理はRNNよりも多いそうです。

これとは対照的に、Transformerはわずか一定のステップ数しか実行しないという利点があります。Transformerにおける各ステップでは、それぞれの単語の位置に関係なく、文章内のすべての単語間の関係を直接的にモデル化する自己アテンションメカニズムが適応されます。より具体的に言えば、各単語が文章中のすべての単語と比較され、その結果が文章内の全ての単語のアテンションスコアとして残り、このスコアを基にそれぞれの単語がどういった意味合いを持っているのかが判断されます。

以下のGIF画像はTransformerによる機械翻訳の流れを簡単に図示したもの。


計算性能と翻訳精度の向上以外にもTransformerには利点があります。それは特定の単語を処理または翻訳する際に、ネットワークが関わる文章の他の部分を視覚化し、情報がネットワークをどのように移動するかについての洞察を得ることが可能という点です。これを分かりやすく説明するための例文が以下のもの。それぞれ英語の原文とフランス語の翻訳文が記載されています。


最初の英語の文章では「it」が「animal(動物)」を指しており、2つ目の英文では「it」が「street(道路)」を指しています。この英文をフランス語に翻訳する場合、「it」の翻訳はそれが指す名詞の性別によって異なってきます。そして、フランス語では「動物」と「道路」では性別が異なるため、異なる翻訳になる必要があります。しかし、Google翻訳では「it」が指すものによって異なるフランス語訳の変化を正確に翻訳できないのですが、Transformerならば「il」と「elle」といった具合に正確に翻訳可能です。

なぜTransformerが正しく翻訳できるのかというと、「特定の単語を処理または翻訳する際に、ネットワークが関わる文章の他の部分を視覚化し、情報がネットワークをどのように移動するかについての洞察を得ることが可能」という特徴に従って、ネットワークが「it」が指すものをどう判断したのかを視覚化することでよくわかります。「it」から伸びる線は「it」が指す意味の候補であり、最もスコアが高いものが最も濃い色で記されており、それぞれ異なる意味を指すことをネットワークが理解しているため正しくフランス語に翻訳できたというわけです。


Googleは、「Transformerの持つ将来的な可能性にとても興奮しており、自然言語だけでなく画像やムービーなどの、入力と出力が大きく異なるものにも適用し始めている」と語っています。また、Transformerの開発はGoogleのTensor2Tensorライブラリによって大幅に加速しており、ライブラリをダウンロードしていくつかのコマンドを呼び出すだけでTransformerネットワークを学習させることが可能な環境も整っているそうです。

・関連記事
Google翻訳のAIは独自の「中間言語」を習得して「学習してない言語間の翻訳」すら可能な段階に突入 - GIGAZINE

Google翻訳は人間レベルの翻訳精度を目指して人工知能を活用 - GIGAZINE

どのアプリからもGoogle翻訳にアクセスでき、テキストをアプリ内でそのまま翻訳できる新機能「Tap to Translate」が登場 - GIGAZINE

Google翻訳アプリの新機能「リアルタイム カメラ翻訳」を使いまくってみた - GIGAZINE

171

in ソフトウェア, Posted by logu_ii