Evolved Transformer:AutoMLにより進化したTransformer(1/2)

  • 2019.06.17
  • AI
Evolved Transformer:AutoMLにより進化したTransformer(1/2)

1.Evolved Transformer:AutoMLにより進化したTransformer(1/2)まとめ

・Transformerは機械翻訳など連続したデータを扱う領域において優れた成果を上げている手動設計モデル
・コンピュータ画像を扱う領域ではAutoMLが人間が手動で設計したモデルを凌駕するようになっている
・TransformerをベースにAutoMLでモデルの自動探索を行った改良版TransformerがEvolved Transformer

2.Evolved Transformerとは?

以下、ai.googleblog.comより「Applying AutoML to Transformer Architectures」の意訳です。元記事の投稿は2019年6月14日、David Soさんによる投稿です。

数年前に発表されて以来、GoogleのTransformerアーキテクチャはファンタジー小説の生成から音楽のハーモニーを作曲する事まで様々な挑戦に使用されてきました。

重要な事は、Transformerはその高い性能により、言語モデリングや機械翻訳などのシーケンシャルな連続データに適用すると、フィードフォワードニューラルネットワークがリカレントニューラルネットワークと同じくらい効果的であることを実証した事です。

シーケンシャルなデータにTransformerやその他のフィードフォワードモデルを使用する手法は人気が高まっていますが、それらのアーキテクチャはほぼ例外なく手動で設計されたモデルです。これはコンピュータビジョンの領域では、AutoMLの自動で最良のモデルアーキテクチャーを見つけるアプローチが、人間が手で設計したモデルを凌駕しつつある状況とは対照的です。

当然の事ですが、私達はシーケンシャルなデータを扱う領域にAutoMLを適用しても同様に成功するかどうか疑問に思いました。

機械翻訳タスクを一般的なシーケンスタスクの代表例とみなし、進化ベースのニューラルアーキテクチャ探索(NAS:Neural Architecture Search)を実行したところ、Evolved Transformer、さまざまな自然言語処理(NLP)タスクにおいて有望な改善を示す新しいTransformerアーキテクチャを発見しました。

Evolved Transformerは最新の機械翻訳スコアを達成しただけでなく、元のTransformerと比較して言語モデリングのパフォーマンスも向上しています。私達は、この新しいモデルをTensor2Tensorの一部としてリリースしています。これを使えば、あらゆるシーケンス問題に適用できます。

新しいテクニックの開発
進化型NASを始めるためには、新しい技術を開発する事が必要でした。発見した各アーキテクチャの「適合性」を評価するために使用していたタスク、WMT’14 English-German翻訳は、計算コストが高いのです。そのため、コンピュータビジョンの領域ではCIFAR-10のような小規模なデータセットでも問題がなかったのに、機械翻訳タスクでは同等作業でもNASの計算量が増えてしまいます。

これを解決する手法の最初のテクニックは、ウォームスタートです。つまり、進化対象とする初期モデルの母集団に、ランダムモデルではなくTransformerアーキテクチャを追加したのです。これは、私たちが強力だと思う探索空間の範囲内で探索を行うことを助け、より良いモデルをより早く見つけることを可能にします。

2番目のテクニックは、プログレッシブダイナミックハードル(PDH:Progressive Dynamic Hurdles)と呼ばれる新しい手法です。従来の手法では、NASの各候補モデルが評価される際は同じ量の計算機リソースが割り当てられました。対照的に、PDHは、より強力な候補により多くのリソースを割り当てる、進化的検索を強化するアルゴリズムです。PDHを使用すると、モデルの評価が明らかに悪い場合にはそのモデルの評価を早期に終了するため、有望なアーキテクチャにさらに多くのリソースを割り当てる事ができます。

The Evolved Transformer
前述のテクニックを使用して、私達は機械翻訳作業について大規模なNASを実施し、Evolved Transformer(ET)を発見しました。

ほとんどのシーケンスツーシーケンス(seq2seq)ニューラルネットワークアーキテクチャと同様に、入力シーケンスをembeddingsにエンコードするエンコーダと、それらのembeddingsを使用して出力シーケンスを構築するデコーダがあります。機械翻訳の場合、入力シーケンスは翻訳される文であり、出力シーケンスは翻訳です。

Evolved Transformerの最も興味深い特徴は、エンコーダモジュールとデコーダモジュールの両方の下部にある畳み込みレイヤです。両モジュールで同じ分岐パターンが追加されました。(すなわち、入力データは、追加される前に2つの別々の畳み込み層を通過します)


Evolved TransformerとオリジナルのTransformerエンコーダアーキテクチャの比較。
モジュールの下部にある分岐たたみ込み構造に注目してください。これは、エンコーダとデコーダの両方に独立して形成されています。デコーダについての解説は、私達の論文を参照してください。

 

3.Evolved Transformer:AutoMLにより進化したTransformer(1/2)関連リンク

1)ai.googleblog.com
Applying AutoML to Transformer Architectures

2)arxiv.org
The Evolved Transformer

3)github.com
tensor2tensor/tensor2tensor/models/evolved_transformer.py