株式会社ホクソエムのブログ

R, Python, データ分析, 機械学習

深層学習系のトップ会議ICLR2020のNLP系論文についてざっくり紹介

ホクソエムサポーターの白井です。今回はICLR2020 の論文を紹介します。

The International Conference on Learning Representations (ICLR) は機械学習の中でも特に深層学習 を専門とした国際会議です。 OpenReview.net によるopen peer reviewを採用しているので、submitされた論文はだれでも閲覧可能です。(ICLR2020 open review)

2020年はエチオピアで開催予定でしたが、COVID-19の影響でvirtual conferenceとなりました。

今回はNLP系の論文について5本紹介します。 すでに日本語ブログ記事で紹介されているような論文もありますが、自分が興味を持った部分を中心としてざっくりと紹介したいと思います。

以降、とくに記載がない場合、図は論文またはブログからの引用です。

1. Reformer: The Efficient Transformer

タイトル通り、Transformerを効率的にした Reformer (Trax Transformer) という手法を提案する論文です。

Transformer (Vaswani et al., 2017) は学習に膨大なリソースが必要という欠点がありますが、提案手法ではこの欠点を Locality-Sensitive Hashing Attention (LSH attention)Reversible Transformer の2つによって解決します。

まずは LSH attention について説明します。

  • Attenntion の計算  \mathrm{Attention}(Q, K, V) = \mathrm{softmax}\left(\frac{QK^\top}{\sqrt{d_{k} }} \right) V において、 QK^\top の計算に着目します。
  • この行列計算は、サイズが大きくてメモリが必要な割に、最終的にsoftmax関数を適用するため、無駄が多いと考えられます。
  • そこで、 Q=K として計算する shared-QK Transformer を提案します。
  • 次に、  Q=K としたときの  \mathrm{softmax}(QK^\top) に着目します。
  • softmax は値の大きい要素ほど重要であり、値の小さい要素は無視できます。
  • そこで、query q_i に最も近い key の部分集合だけを取り出して計算すれば、QK^\top のうち値の大きくなる要素だけを計算することができ、行列演算が簡略化できます。
  • この近傍を探索する問題を解決するために locality-sensitive hashing (LSH, 局所性鋭敏型ハッシュ)を利用します。
  • これにより、Attention の計算効率を上げることができます。

次に、Reversible Transformer について説明します。

  • 必要なメモリは少なくとも層 (layer) の数  n_l だけ増えるため、大きいTransfomerだと16GBという膨大なメモリが必要になります。
  • RevNet (Gomez et al., 2017) を参考に、n_l を減らすことを考えます。
  • RevNet はモデルのパラメータのみで、続く層の活性化から層の活性化を復元する画像分類モデルです。
  • 典型的な残差ネットワークでは x \mapsto yy = x + F(x) のように1入力1出力 (図の (a) )となります。
  • RevNetでは入力・出力のペア (x_1, x_2) \mapsto (y_1, y_2) で、以下が成立します。
    • y_1 = x_1 + F(x_2), y_2 = x_2 + G(y_1)
    • 残差を足し引きすることで層を反転できます x_2 = y_2 - G(y_2), x_1 = y_1 - G(x_2)
    • (図の (b), (c) )
  • Fを Attention layer、 GをFeed-forword layerとみなすのが Reversible Transformer です。

これら2つのテクニックによって、計算コストとメモリコストを効率化することで、長文も一度に扱えるようになります。

ちなみに、この論文を紹介しているいくつかのブログでは、「罪と罰」全文を理解できてすごいのがウリっぽい見出しになっていますが、あくまで、モデルが小説のような長いテキストを 一度 に読み込めるだけです。 そこから要約するのか、翻訳するのか、読解タスクを解くのかは学習データ次第だと私は考えます。

ブログでは画像生成タスクの結果が記載されています。(下の図) 効率化によって、断片的な画像から復元するような large-context data も扱えるようになったといえます。

2. GENERALIZATION THROUGH MEMORIZATION: NEAREST NEIGHBOR LANGUAGE MODELS

この論文では、例えば Dickens is the author ofDickens wrote は次の単語 (作品名・書籍名) に対して同じ分布を持つことが理解できるように、予測問題よりも表現学習 (representation learning) のほうが簡単であるという仮説を立てた上で、既存の言語モデルの類似度 (similarity) によって補完する手法を提案しています。

具体的には、学習済みの言語モデルに対して、kNN (K近傍法) を用いた拡張を行う kNN-LMs を提案します。

式で表すと下記のようになります。

 
p(y|x) = \lambda p_ {kNN}(y|x) + (1-\lambda) p_ {LM}(y|x)

 p _ {LM} は学習済み言語モデル (この論文ではTransformerLM)、  p _ {kNN} は図の上部分を表しています

kNN-LMsの図

  • p _ {kNN} は学習済み言語モデルである p _ {LM} のcontextを利用するため、( p _ {LM}の)追加の学習が必要ない
  • 同じドメインのみならず、他のドメインにおいても パープレキシティ が低下

既存のニューラル言語モデルをkNNという単純な手法によって拡張することでパフォーマンスが向上しているのが興味深いです。

3. Neural Machine Translation with Universal Visual Representation

NMT (ニューラル機械翻訳) において、画像情報を利用する論文です。

画像情報はNMTによっても有用な情報ですが、複数の言語について対応した画像+文のコーパスは少ないため、 画像+単一言語のアノテーションデータを利用して補う手法を提案しています。

  • 文と画像のペアから トピック単語に対応する画像のルックアップテーブル を作成
    • トピック単語の抽出にはtfidfを使う
  • 学習時にはsource sentenceと似たトピックの画像グループを抽出し、ResNet(He et al., 2016) の画像表現にエンコード

English-to-German+画像コーパスMulti30K の画像情報を利用したEnglish-to-Romanian、English-to-German、English-to-Frenchの翻訳タスクにおいて、いずれも画像情報を用いた方が精度が上がる結果となっています。

アイデアとしてはシンプルですが、テキスト以外の情報を利用するマルチモーダルな手法かつ、複数言語への対応というアプローチが新しいと感じました。

4. ELECTRA: PRE-TRAINING TEXT ENCODERS AS DISCRIMINATORS RATHER THAN GENERATORS

ELECTRA (Efficiently Learning an Encoder that Classifies Token Replacements Accurately) は最初に紹介した Reformer と同じく、効率的であることがウリの手法です。

系統としてはNNを用いた言語モデルですが、 BERTのような masked language model (MLM) と大きく異なるのは、GeneratorとDiscriminatorというGANのような構造を用いて、replaced token detection(RTD) で事前学習をする点です。(正確にはGANモデルでありません)

ELECTRAの図

  • GeneratorはGANのような敵対的モデルではなく、最大尤度を学習
    • 実質 MLM
  • Discriminator は Generator の渡した token が "real" かどうか区別する2値分類を学習
  • Generator と Discriminator の lossを最小化するよう学習
  • この2つを事前学習したのち、Discriminatorをdown stream taskに利用 (ELECTRA)

興味深い点は、効率的に学習するために以下のような拡張 (MODEL EXTENSIONS) が述べられている点です。

  • GeneratorはDiscriminatorより小さいサイズ
    • 究極的には "unigram" generatorでも可能
  • GeneratorとDiscriminatorは重みを共有
    • token and positional embeddings
  • Generatorの学習を最適化させる学習アルゴリズムtwo-stage training procedure
    • うまくいかなかったのでこれは採用されず

特に最後の学習アルゴリズムについては、敵対的学習よりも提案手法であるMLE (最尤推定) によるGeneratorの方がGLUE scoreが優れていたことが述べられています。 テキストとGANsの相性については次の論文 (LANGUAGE GANS FALLING SHORT) で紹介します。

実験結果として、ELECTRAは従来のSOTAモデルよりも小さいモデル・単一GPUでの学習であっても、優れたGLUE scoreを達成しています。

ちなみに論文中では計算量をfloating point operations(FLOPs) (FLOPSではない)で表しています。 (FLOPsについて参考: Chainerで書いたニューラルネットの理論計算量を推定するchainer_computational_cost)

5. LANGUAGE GANS FALLING SHORT

前述のELECTRAが引用している論文です。(今年のICLRに採択されていますが、論文自体はarXivに2018年からアップロードされていた模様。)

従来の自然言語生成 (NLG)において、MLE(最尤推定)を学習に利用した手法では、学習と生成の入力が異なっていました。学習時には常に正解データを与えられますが、生成時には前のステップで予測した値のみ与えられます。

from Sequence Level Training with Recurrent Neural Networks (関東CV勉強会 強化学習論文読み会)

このようなサンプルの品質の低下の問題 exposure bias の解決案として、 generative adversarial networks (GANs) が提案されています。しかしながらGANsのモデルは品質についての検証が多く、多様性については無視されていました。

この論文では自然言語生成の評価において、temperature sweep によって質と多様性のトレードオフ(quality-diversity trade-off) を特徴付ける方法を提案しています。 ここでいう temperature は ボルツマンマシン における温度の意味で使われています。

Generator G と temperature  \alpha の関係を式で表すと下記のようになります。


G_\theta (x _ t | x _ {1:t-1}) = \mathrm{softmax}(o _ t \cdot W / \alpha)
  • generator's pre-logit activation o _ t
    • 詳しく記述されていないがLSTMの output gate?
  • word embedding W
  • Boltzmann temperature parameter  \alpha (動かしてチューニングする)
    •  \alpha を1より小さくすると  o _ t が増大し、Gの条件確率エントロピーが低下する

実際に \alpha を変更した MLE(最尤推定) での結果が以下の表のようになります。

 \alpha=1 の例は統語的には合っていますが、文章全体の一貫性に欠けています。  \alphaを大きくすると統語的には間違った文が生成され、 \alpha を小さくすると生成される文が一意になります。

temperature sweepを利用し、seqGAN (Yu et al., 2017) ベースのGANモデル RL-GANとそこから敵対的学習を取り除いたMLEモデルを比較したところ、MLEモデルの方が質と多様性のトレードオフの側面において、優れた結果であることがわかりました。

つまり、MLEのexposure bias はGANsモデルの最適化よりも問題が少ないということです。 また、MLEによる学習は質と多様性に応じて良いpolicyのGeneratorに改善する一方で、GANsの学習では学習した分布からエントロピー下げることで高品質なサンプルが得られると解釈することもできます。

パラメーターによって自然言語生成の出力を変化させて評価するアプローチを提案していると同時に、自然言語におけるGANsの扱いについて、疑問を提示するような論文にもなっています。

自然言語とGANsはなにかしらのボトルネックがあるのかもしれません。

おわりに

TransformerやBERTがメジャーである一方で、効率的な手法や拡張手法の提案がされている印象をうけました。

モデルサイズが小さく・学習時間が短くなることで、機械学習の活用が、より手軽になっていく気がします。

参考資料

ICLRについて

LSH

GANs

exposure bias

NLG

GLUE benchmark