Upgrade to Pro — share decks privately, control downloads, hide ads and more …

COIL: Revisit Exact Lexical Match in Informatio...

Hiroki_Iida
September 09, 2021

COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted List

SNLI2021での論文紹介スライドです。NACCL2021の論文、COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized Inverted Listを紹介しています。

Hiroki_Iida

September 09, 2021
Tweet

More Decks by Hiroki_Iida

Other Decks in Research

Transcript

  1. COIL: Revisit Exact Lexical Match in Information Retrieval with Contextualized

    Inverted List Authoe: Luyu Gao, Zhuyun Dai, Jamie Callan 紹介者: 東工大D2 飯田 大貴 断りのない限り本スライドの図は当該論文からの引用です
  2. スコアリング 6 n 𝑠!"# (𝑞, 𝑑): Coil-tokのスコア。完全一致したtokenの内、内積が最大のもの。 l 𝑠!"# 𝑞,

    𝑑 = ∑$!∈$∩' max '"($! (𝒗) $* 𝒗+ ') n 𝑠$%&& (𝑞, 𝑑): Coil-fullのスコア。𝑠!"# (𝑞, 𝑑)とCLS-token由来のベクトルの内積を足したもの。 l 𝑠,-.. 𝑞, 𝑑 = 𝑠!"# 𝑞, 𝑑 + 𝒗/.0 $ * 𝒗/.0 ' n 各ベクトルは、線形変換を通じて次元を小さくする l 𝑣) $ = 𝑾!"#𝐿𝑀 𝑞, 𝑖 + 𝒃!"#, 𝑣+ ' = 𝑾!"#𝐿𝑀 𝑞, 𝑖 + 𝒃!"#, 𝑣/.0 $ = 𝑾/.0𝐿𝑀 𝑞, 𝐶𝐿𝑆 + 𝒃/.0 , 𝑣/.0 ' = 𝑾/.0𝐿𝑀 𝑑, 𝐶𝐿𝑆 + 𝒃/.0 𝑞: クエリ, 𝑞!: クエリのi-th token 𝑑: 文書, 𝑑": 文書のj-th token 𝑞 ∩ 𝑑: クエリと文書で一致するtoken 𝒗 ! #: 𝑞! 由来のベクトル, 𝒗" $: 𝑑" 由来のベクトル 𝐿𝑀(𝑞, 𝑖): 𝑞! をBERTでencodesしたベクトル 𝐿𝑀(𝑑, 𝑗): 𝑑" をBERTでencodesしたベクトル
  3. トレーニング 7 n 損失関数: 対数尤度 l 𝐿 = − log

    ;<= 0 $,'# ;<= 0 $,'# >∑$ ;<= 0 $,'$ % l 正例の文書: 𝑑>, 負例の文書: {𝑑@ A, 𝑑B A, … , 𝑑. A, … } n 負例作成方法: in-batch negative + bm25-negative l In-batch negative: batch中の他の正例の文書を負例として扱う l bm25-negative: bm25の検索結果で正例ではないものを負例として扱う n 対象タスク・訓練データ l MSMARCO Passageタスク: MSMARCO Passage l MSMARCO Documentタスク: MSMARCO Document
  4. 比較手法 8 n Lexical Retriever: 単語一致とそのスコアリングでランキングする l BM25 l DeepCT:

    BERTを使い単語の重みを学習する方法 l DocT5Query: T5を使い、文書からクエリを生成し、文書拡張を行う方法。ランキングはBM25を 使用 n Dense Retriever: クエリと文書のベクトル表現で検索するもの n ColBERT: 全tokenの文脈化ベクトルを使用するもの n BERT Reranker: BM25のtop1000をBERTでrerankingする方法
  5. 結果: MSMARCO passage 10 n COIL-fullはCOIL-tokより性能向上: COIL-tokとDense Retrieverが補完的 n COIL-fullは、ColBERT・BERT

    rerankerと同等程度の性能 n Rerankingにかかる時間はCOILの方が、 BERT rerankerより速い l COIL: 10ms, BERT reranker: 2700ms
  6. 次元が精度と速度に与える影響 12 n COIL-fullは、ColBERTより速い。ColBERTは、Approximate Nearest Neighborにて高速 化しているがそれよりも速い n CLSのベクトルの次元を削る(𝑛! =

    768から𝑛! = 128)と、大幅に速くなり、Dense よりも速く、良い性能となる n COIL-tokにすると、さらには速くなる。それでもDenseより良い性能 𝑛% : CLSベクトルの次元 𝑛&: tokenベクトルの次元 𝑛% = 0: COIL-tokの場合 COIL-full COIL-tok
  7. おまけ: tokenベクトルの次元を1にした場合 14 n uniCOIL: COIL-tokのtokenベクトルの次元を1にした場合 l 学習データを通じて、文書とクエリの各単語の重みを決めたものとみなせる n タスクに合わせた単語重みにできるだけでも、かなり良い結果になる

    n DocT5Queryで語彙を拡張しておくと、Vocabulary mismatchが減り さらに良い Jimmy Lin: A Few Brief Notes on DeepImpact, COIL, and a Conceptual Framework for Information Retrieval Techniquesより DeepImpact: 単語重みを 学習する別の手法
  8. まとめと感想 15 n まとめ l 転置indexでContextualized representationを活用する手法を紹介 l 既存手法と遜色ない精度で、検索速度を向上させた n

    感想 l Vocabulary mismatchに対応しなくても、性能指標を大幅に上げることができることに驚き l 単語の文脈一致度に合わせてスコアリングできれば、性能が大幅に上がる l タスクに応じて、文書中での重要度を文書・クエリそれぞれだけから決めるだけでもある 程度性能が向上しうる場合がある
  9. 実験パラメータ 17 n MSMARCO Documentの訓練時は、最初の512tokenを使用する 項目 Value 𝑛": トークンベクトルの次元 32

    𝑛!: CLSベクトルの次元 768 optimizer AdamW Training epoch 5 Learning rate 3e-6 Warm-up ratio 0.1 schedular Linear schedular Document truncation Frist 512 tokens Others a Layer Normalization to CLS vector CPU Xeon E5-2630 v3 GPU RTX 2080 ti
  10. トレーニングデータ正例数 18 n MSMARCO Passage: 532,761 n MSMARCO Document: 384,597

    https://microsoft.github.io/msmarco/TREC-Deep-Learning-2019.htmlより