izmyonの日記

奈良の山奥で研究にいそしむ大学院生の学習記録。

今日の論文2023/4/14:N -gram Is Back: Residual Learning of Neural Text Generation with n-gram Language Model

N -gram Is Back: Residual Learning of Neural Text Generation with n-gram Language Model

aclanthology.org

Huayang Li, Deng Cai, Jin Xu, and Taro Watanabe. 2022. Residual Learning of Neural Text Generation with n-gram Language Model. In Findings of the Association for Computational Linguistics: EMNLP 2022, pages 1523–1533, Abu Dhabi, United Arab Emirates. Association for Computational Linguistics.

©2022 Association for Computational Linguistics

License: Creative Commons Attribution 4.0 International License(CC-BY)

本記事は、原著の内容に基づき筆者がまとめたものです。以下の図は、そこから引用しています。

This article is my summary based on the content of the original publication. The following figures are taken from it.

要点まとめ

  • N-gram LMはNeural LMにとって代わられた。しかし、N-gramLMは多くのテストケースで満足のいく性能を達成し、低い計算コストで言語の知識を捉えることができる。
  • N-gram LMとデータ分布の残差にフィットするNeural LNを学習することで、Neural部分が深い言語理解に集中でき、さらに基盤となるN-gramモデルを切り替えることでNeural部分を切り替えることなくLMをカスタマイズする柔軟な手法を提案する。
  • この手法により、言語モデリング機械翻訳、要約において、一般的なNeural Modelよりも一貫して更なる性能向上を達成することが実証された。
  • しかもこの手法では、ドメイン固有のN-gramモデルに切り替えるだけで、効果的なドメイン適応が可能であることも示している。
  • コードは以下で公開されている。

github.com

背景

  • . x = \{ x_1, x_2, \ldots, x_L \}を長さ Lの単語列とする。言語モデルは以下の式で定式化される。ここで、 x_{1}^{k-1} x_kの文脈である。
 P(x) = P(x_1) P \left( x_2\mid x_1 \right) \cdots P(x_L\mid x_{L-1}) = \prod_{k=1}^L P(x_k\mid x_{k-1})
  • 様々なタスクで広く採用されいている修正Kneser-Neyスムージングを用いる。Kneser-Neyは x_1^{k-1} 全体を、文脈中の最後の n-1単語で近似する。
 P(x_k | x_1^{k-1} ) \sim P_{NG} (x_k | x^{k-1}_{k-n+1} )

Kneser-Neyアルゴリズムでは、 P_{NG} (x_k | x^{k-1}_{k-n+1} ) の推定は再帰式によって求められる。

  • Neural LMは通常、文脈全体 x_1^{k-1}に基づいて、 x_kの確率分布を推定する。Neural LMのパラメータ \thetaは、以下のMLEロスによって最適化される。
 L_{NU} = \sum_{ x \in D} \sum^L_{k=1} \log P_{NU} \left( x_k | x^{k-1}_{1} ; \theta \right)

ここで、 Dは訓練データセットである。

 P_{NU} \left( x_k | x^{k-1}_{1} ; \theta \right) は次のように計算される。

 P_{NU} \left( x_k | x^{k-1}_{1} ; \theta \right) = \rm{softmax} \left( \phi \left( h_k \right) \right) [x_k ]

ここで、 h_kはNueral LMの最終層が出力する隠れベクトルとし、 [x_k]は、 x_kに関する成分をベクトルで取ること、つまり、この式でソフトマックスから得られる確率分布を取ることと定義され、 \phi (-)は隠れベクトル h_kを語彙空間のベクトルに変換する線形層であり、ロジットとも呼ばれる。

手法

  • 主なモチベーションは、Nueral LMを用いて残差関数を近似することである。文脈 x_{1}^{k-1}が与えられたとき、次単語の真の分布  \mathcal{G} \left( x_{1}^{k-1} \right) とする。 そして、
 \mathcal{Q} (x_1^{k-1} ) = P_{NG} ( X | x^{k-1}_{k-n+1} )

をその時のN-gram LMの分布予測とする。ここで、Xを確率変数、 P_{NG} ( X | x^{k-1}_{k-n+1} )はKneser-Neyアルゴリズム再帰的に求められる。 このn-garam分布 \mathcal{Q} (x_1^{k-1} ) は、言語の豊富な知識をすでにとらえているので、残差関数 F(x_{k-1}) := \mathcal{G} (x_{k-1}) - \mathcal{Q} (x_{k-1})を近似できないか?というアプローチである。

  • 理想的には、以下のように P_{NU}を再定義するのが一つの方法である。
 P_{NU}(x_k \mid x_{k-1}; \theta) = F(x_{k-1}) [x_k ] + P_{NG} (x_k | x_{k-1:k-n+1})

この式に基づいてMLE損失を最適化すれば、実データ分布 \mathcal{G}  \mathcal{F} + \mathcal{G} で近似することに相当するが、 \mathcal{F} (-) が未束縛の場合、この式で定義される P_{NU} は有効な確率分布として保証されない場合がある。一方、 \mathcal{F} (-) が有効な分布として束縛されている場合、この目的関数はNeural LMとN-gram LMのアンサンブルとなるだろう。n-gramは弱いモデルであるため、それらのアンサンブルは、実験結果にもあるようにNeural LMよりも悪い性能を達成する可能性が高くなる。

  • これらの問題を解決するために、ロジットレベルで残差近似を定義することを提案する。言語モデリングにおいて、確率分布をそのロジットにマッピングし直し、以下のように残差学習を行うことができる。
 F'(x_{k-1}^{1}) := \text{softmax}^{-1}(\mathcal{G} (x_{k-1}^{1})) - \text{softmax}^{-1}(\mathcal{Q} (x_{k-1}^{1}))\qquad(7)  \text{softmax}^{-1}(p) = \log p + C

ここで、 F'(-) はlogitsレベルの残差関数、  \text{softmax}^{-1} (p) は確率分布 pをそのlogitsに移すsoftmaxの逆関数 Cは定数である。logitsが最終分布と高い相関を持つこと、logitsの値は実数であることなどの理由で、logitsレベルで残差学習を行う。

したがって、最終的な P_{NU}は、以下のようになる。

PNU(x_k|x_{k-1}^1;\theta) = \text{softmax}\left(F'(x_{k-1}^{1}) + \alpha \times \text{softmax}^{-1}( \mathcal{Q} (x_{k-1}^{1}))\right) [x_k]

ここで、 \alphaN-gram分布 \mathcal{Q} (x_1^{k-1} )の滑らかさを制御するパラメータ、 \mathcal{F'} (\cdot)はNeural LMのlogits \phi (h_k)から近似される。この定義を用いてMLE損失を最適化する。

実験

言語モデリング

  • wikitext-103ベンチマークを使用して性能を評価する。トレーニングセットには約101Mのトークンが含まれており、単語レベルとサブワードレベルの両方でモデルを訓練する。

  • Neural LMのベースラインには、fairseqによるGPT-2ベースとAdaptive Input (ADP)という二つの人気のあるニューラル言語モデルで実装する。ADPモデルは単語レベルで、GPT-2のベースモデルはサブワードレベルで訓練する。N-gramに関しては、単語レベルとサブワードレベルの両方のデータに対して、KenLMを使用してn-gramモデルを訓練する。本研究では n=5とした。

  • 本アプローチであるN GRAM RESは、ベースラインとなるバニラニューラルモデルをPPLスコアで着実に上回っている。

マルチドメイン言語モデル

  • IT, Koran, Law, Medecal, Subtitlesの5つのドメインを持つバイリンガルデータセットの英語側を使用し、5つのドメインを合わせた学習データにsubword-nmtを適用した。NeuralモデルとしてGPT-2ベースを使用し、5つのドメインを合わせたデータで学習した。さらに、各ドメインでGPT-2をファインチューニングした。N GRAM RESでは、特定のドメインごとに5-gramモデルを訓練し、訓練とテストの間に使用する5-gramモデルを対応するドメインに切り替える。なお、Neral部分のパラメータはテスト時は固定される。

  • N GRAM RESはバニラニューラルモデルGPT-2を大きく上回る性能を発揮していることが分かる。N GRAM RESアプローチは5-gram LMにドメイン固有の情報を多く保持しているためにNeuralモジュールが学習中に有用で補完的な知識を学習することができ性能向上につながったのではないかという仮説を持っている。

  • さらに、N GRAM RESはFINETUNE手法の性能に非常に近く、Law領域ではわずかに上回っている。FINETUNEと比較して、N GRAM RESはテストドメインにモデルを適合させることのコストが低いことである。

機械翻訳

  • IWSLT14、IWSLT15で機械翻訳の実験を行った。ベースラインとして、エンコーダ層とデコーダ層がそれぞれ6つ、FFNサブレイヤーの隠れサイズは1024、注目ヘッド数は4、ドロップアウト率は0.3、重み減衰率は0.001に設定した、Transformerモデルを用いた。そのほかのデフォルト設定に準じた。N GRAM RESは、デコーダ側にのみ適用し、実装の書斎は言語モデリングタスクと同様である。また、更新のたびに \alphaの値をせんけいに減少させるN GRAM RES ANNEALも実装した。

  • 結果、本アプローチによる二つのモデルは、いずれもTRANSFORMERモデルを凌駕することが分かった。

また、N GRAM RES ANNEALは、各言語ペアで最良の結果を達成した。これは、N gram LMが最初の段階でより重要であり、その段階以降は翻訳性能を低下させる可能性があることを意味している。

抽象的要約

  • CNN/DailyMailデータセットをfairseqのスクリプトに従って前処理して用い、ROUGEスコアで性能を評価する。ベースラインには、BERT LARGEモデルを20k回の更新でfinetuneしたものを用いる。KEN LM - 5 GRAM LMを原文と要約文の混合データで訓練する。ここでも提案手法はデコーダ側で用いた。

  • 本アプローチでは、モデルアーキテクチャを変更することなく、強力なベースラインモデルのBEARTLARGEの性能を改善することができた。機械翻訳タスクと異なり、 \alpha値を使用することでアニーリングよりも良い性能を達成できた。これはターゲット側の言語モデリングがより重要な役割を果たすためと思われる。