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

PromptBERT: Improving BERT Sentence Embeddings with Prompts

hajime kiyama
August 31, 2023
66

PromptBERT: Improving BERT Sentence Embeddings with Prompts

Japanese explanation

hajime kiyama

August 31, 2023
Tweet

Transcript

  1. Introduction • BERTの学習がうまくいかない原因は異方性と考えられていた ◦ トークンの埋め込みは狭い円錐に偏る • しかし,embedding bias が真の問題である ◦

    bias を取り除くことで性能の向上を確認 ◦ 人手で取り除く & 文が短い場合に対応できない • Prompt を用いた文埋め込みの獲得方法を提案 ◦ template から文埋め込みを獲得し対照学習 ◦ 事前学習のみ, 教師あり,教師なしの全手法で使用 ◦ SimCSE と比較し BERT や RoBERTa で精度向上 2
  2. Original BERT layers fail to improve the performance. • static

    token embedding vs last layer ◦ STSタスクにおける事前実験 ◦ コサイン類似度に基づく異方性の尺度 ◦ 小さいとよい • 文埋め込みの性能と異方性 ◦ 異方性が小さくなっても性能は向上しない 4
  3. Embedding biases harms the sentence embeddings performance. • token embedding

    は token frequency のバイアスが存在 • 異方性は BERT の token frequency に対して敏感 ◦ 頻度の高いトークンはクラスター化 ◦ 頻度の低いトークンは疎に分布 5 濃いと頻度が多い 薄いと頻度が少ない
  4. Embedding biases harms the sentence embeddings performance. • WordPiece のサブワード

    と 大文字、小文字 ◦ これは新たな bias ◦ 赤、青、黄の3つ(2つ)の領域に分かれる ◦ RoBERTa は subword の影響が大きい 6 赤:大文字あり 青:小文字のみ 黄:subword
  5. Embedding biases harms the sentence embeddings performance. • static token

    embedding の異方性 ◦ 任意の2つのトークン埋め込み間のコサイン類似度の平均 ◦ bert-base-uncased だけ異方性が高い ◦ roberta は値が小さく等方的に分布 • bias は静的埋め込みによるもので異方性とは無関係では? 7
  6. Embedding biases harms the sentence embeddings performance. • static token

    embedding から bias を削除 ◦ bias と考えられる上位のトークンを削除 ▪ Freq : frequency tokens ▪ Sub : subword tokens ▪ Case : uppercase tokens ▪ Pun : punctuation ◦ bias を削除すると性能向上 • 手動で取り除いている点に注意 ◦ 文が短い場合や意味のある単語が省略されるかも 8
  7. Prompt based sentence embedding • Prompt を用いた文埋め込み手法を提案 • 文埋め込みタスクをマスク言語タスクとして再定義 ◦

    [MASK] トークンから文を表現することで埋め込みの bias を回避 • MLMで予測されたラベルトークンでなく、文ベクトルが欲しい ◦ 問題1:どのように prompt で文ベクトルを表現するか? ◦ 問題2:どのように文ベクトルに適した prompt を見つけるか? 9
  8. Represent Sentence with the Prompt • 問題1:どのように prompt で文ベクトルを表現するか? ◦

    手法1:[MASK]トークンの隠れベクトルを使用 ◦ 手法2:h[MASK]とMLM分類ヘッドを用いてtop-k-tokenを獲得し,確率分布に従いトークンの加重 平均を計算 ▪ W_v は static token embedding を使うため bias が問題 ▪ 重みの平均化により、 BERTは下流タスクで fine-tuning が困難 • よって手法1を採用 10
  9. Prompt search • 問題2:どのように文ベクトルに適した prompt を見つけるか? ◦ 手法1:人手で発見 ▪ 73.44

    ◦ 手法2:T5 による生成 ▪ 64.75 ◦ 手法3:OptiPrompt による生成 ▪ 80.90 • よって手法3を採用 11
  10. Prompt Based Contrastive Learning with Template Denoising • simCSEと同様に対照学習を実施 ◦

    どのように適切な正例を獲得するか? ◦ 異なる template を用いてペアを獲得 ◦ h_i : template 全体を入力し獲得した隠れ表現 ◦ h^_i : template の部分(入力文はpadding的に処理)のみを入力し獲得した隠れ表現 ◦ h_i - h^_i : sentence embedding 12
  11. Dataset and Baseline • Dataset ◦ 7つの STS (Semantic Textual

    Similarity) ◦ [0,5]の連続値で意味的な類似度を表す • Baseline ◦ GLoVe ◦ 後処理:BERT-flow, BERT-whitening ◦ fine-tuning : IS-BERT, inferSent, Universal Sentence Encoder, SBERT, simCSE, ConSERT • pretrained and fine-tuned ◦ 事前学習のみ ◦ fine-tuning ▪ 教師なし ▪ 教師あり 13
  12. Effectiveness of Prompt based contrastive learning with template denoising 教師なし訓練の

    object を変えた時の実験 1. 同じ template で,擬似データとして inner dropout noise を使用 2. 異なる template で positive pair を作成 3. 異なる template で template denoising を実施 異なる template を使って denoising すると良い正例ペアが獲得できる 16
  13. Template denoising • template denoising は top-k 予測に対して有効 ◦ top-5

    の性能はかなり向上 ◦ しかし [MASK] tokenを使った時は差が少ない • [MASK] token では同程度 ◦ 対照学習の部分にだけ template denoising を使用 17
  14. Conclusion • 文埋め込みにおけるBERTの性能の低さを分析 ◦ static token bias により BERT の知識を生かせていなかった

    • Promptによる文埋め込み手法を提案 ◦ fine-tuning 時には template denoise による対照学習を提案 • STSや転移後のタスクで効果的 ◦ 教師あり/なし間の gap がかなり低減 19