---
title: 【大規模言語モデル入門】８章8.1~8.2
tags: 
author: [京都大学人工知能研究会KaiRA](https://convert.docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/KJ4V9G9VE1.jpg?width=480
description: 【大規模言語モデル入門】８章8.1~8.2 by 京都大学人工知能研究会KaiRA
published: November 28, 24
canonical: https://convert.docswell.com/s/kyoto-kaira/KN19RQ-2024-11-28-215440
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/KJ4V9G9VE1.jpg)

2024年度後期輪読会
第７回
大規模言語モデル入門
8章 文埋め込み（8.1~8.2）
京都大学理学部理学科一回
栗岡幸作
0


# Page. 2

![Page Image](https://bcdn.docswell.com/page/LE13KDK4JG.jpg)

アジェンダ
◼ 文埋め込みとは？
◼ 文埋め込みモデルSimCSE
1


# Page. 3

![Page Image](https://bcdn.docswell.com/page/GEWPDYDZJ2.jpg)

アジェンダ
◼ 文埋め込みとは？
◼ 文埋め込みモデルSimCSE
2


# Page. 4

![Page Image](https://bcdn.docswell.com/page/47ZKGXGL73.jpg)

1.文埋め込みとは？
文埋め込みとは、文の意味を数値ベクトルで表現すること（文をベクトルへ変換）
・ひとつの文に対してひとつのベクトルを対応させ、似た意味の文には似たベクトルを対
応させる。（単語埋め込み1.3節参照）
3


# Page. 5

![Page Image](https://bcdn.docswell.com/page/YJ6QY4YMJV.jpg)

1.文埋め込みとは？
文埋め込みを用いると、意味内容の正確な把握が必要なタスクを効率よく行える。
・文の意味の類似度を数値化することによって、TF-IDF (Term Frequency-Inverse Document
Frequency)などの単純な手法よりも正確な文書検索を行える。
・文埋め込みで得たベクトル表現は、文書分類や感情分析などの下流タスクに転用可能
例）企業などの「よくある質問（FAQ）」
既存の質問の文埋め込み表現を計算しておくと、ユーザーが入力した質問の埋め込み表現
を計算し、あとはベクトルの類似度を計算するだけでユーザーが知りたい情報を素早く、
そして低い計算コストで提供できる。
上のタスクをBERT単体で行う（5.4節参照）と計算量が膨大になる。
4


# Page. 6

![Page Image](https://bcdn.docswell.com/page/GJ5RGQGQ74.jpg)

1.文埋め込みとは？
文埋め込みの性能評価は、文の意味的類似度の評価と転移学習の性能の評価による
・STS12-16、STS Benchmark(STS-B)、SICK-R 等
人間が文のペアに意味の類似度が0から5に範囲で評価しラベルづけ
→人間の評価に近ければ高い評価（文の意味的類似度の評価）
・SentEval (Sentence Evaluation)
テキスト分類や自然言語推論、パラフレーズ検出などの複数のタスク
→下流タスクに対する文埋め込みの汎用性の評価
5


# Page. 7

![Page Image](https://bcdn.docswell.com/page/LE3PRVRZJ5.jpg)

アジェンダ
◼ 文埋め込みとは？
◼ 文埋め込みモデルSimCSE
6


# Page. 8

![Page Image](https://bcdn.docswell.com/page/8EDLY8Y4JG.jpg)

2.文埋め込みモデルSimCSE
文埋め込みを得る単純な方法はとして二つ挙げられるが、どちらも性能はよくない
手法１）単語埋め込みを足し合わせる
文章に含まれる単語のベクトル表現を足し合わせる。
問題点）文章の中の順序関係が反映されない
例）「会社の音楽を再生する」と「音楽の会社を再生する」
手法２）BERTの出力をそのまま流用
BERTの出力するCLSトークンそのまま、もしくは平均 or maxpoolingを用いる。
問題点）CLSトークンは文の意味的な一貫性を保証しない（？）
＊Sentence-BERT はこの問題を解決しているらしい
（参照：https://arxiv.org/pdf/1908.10084）
7


# Page. 9

![Page Image](https://bcdn.docswell.com/page/V7P2686V78.jpg)

2.文埋め込みモデルSimCSE
SimCSEは対照学習によって文埋め込み表現を得る。
対照学習・・・データの類似や違い利用して効果的な特徴表現を学習
類似データ（正例）はベクトル値を近づける。
異なるデータ（負例）はベクトル値を遠ざける。
https://panhouse.blog/paper/implementation/simclrを使って自己教師学習をしてみた/
8


# Page. 10

![Page Image](https://bcdn.docswell.com/page/2JVD3N3RJQ.jpg)

2.文埋め込みモデルSimCSE
教師なしSimCSEはラベルづけされていない文章データを用いて訓練
・SimCSEは正例ペアをモデルのドロップアウトによって得る。
同一の文を2回大規模言語モデルに入力して、得られたベクトルの組を正例ペアとする。
・負例ペアは訓練データのバッチ内の異なるデータの組み合わせを利用する。
N個のデータを含んだミニバッチに対して𝑁 × 𝑁の類似度行列を得る。
（対角成分が正例ペア、それ以外が負例ペア）
各行について、i番目のデータに対する交差エントロピー ℒ𝑖 を最適化
exp(𝑠𝑖𝑚(𝑥𝑖 , 𝑥𝑖+ )/𝜏)
ℒ𝑖 = − ln 𝑁
σ𝑗=1 exp(𝑠𝑖𝑚(𝑥𝑖 , 𝑥𝑗+ )/𝜏)
𝜏 :温度付きソフトマックス関数の温度パラメータ
𝑠𝑖𝑚 ∶コサイン類似度
9


# Page. 11

![Page Image](https://bcdn.docswell.com/page/5EGY3K36EL.jpg)

2.文埋め込みモデルSimCSE
教師ありSimCSEはラベルづけされた自然言語推論データセットを用いて訓練
自然言語推論データセットの前提文と仮定文の間には「含意」「中立」「矛盾」とラベ
ル付けされている。
仮説文𝑥𝑖 の「含意」ラベルを正例𝑥𝑖+ 、「矛盾」ラベルを負例𝑥𝑗− とする。
→「矛盾」ラベルのペアはしっかりと意味の違いを捉えないと区別できない。
バッチ内のランダムな負例と異なり学習の難しいハード負例となり、結果的に教師あり
SimCSEは高い性能を示す。
各行について、i番目のデータに対する交差エントロピー ℒ𝑖 を最適化
exp(𝑠𝑖𝑚(𝑥𝑖 , 𝑥𝑖+ )/𝜏)
ℒ𝑖 = − ln 𝑁
σ𝑗=1(exp 𝑠𝑖𝑚 𝑥𝑖 , 𝑥𝑗+ /𝜏 + exp 𝑠𝑖𝑚 𝑥𝑖 , 𝑥𝑗− /𝜏 )
𝜏 :温度付きソフトマックス関数の温度パラメータ
𝑠𝑖𝑚 ∶コサイン類似度
10


