【うめこみひょうげん】

埋め込み表現 とは?

💡 言葉の「意味」を数字の座標に変換する技術
📌 このページのポイント
埋め込み表現(Embedding) ベクトル空間 次元1 次元2 動物 乗り物 飛行機 単語の演算 + 女王 女王 同じ方向 意味が近い単語はベクトル空間で近くに配置され、関係性が演算で表現できる
埋め込み表現のイメージ
ひよこ ひよこ

コンピューターって文字を数値に変換するって聞いたけど、埋め込み表現って何が違うの?

ペンギン先生 ペンギン先生

普通の文字コードは「意味を無視した変換」なんだ。AはASCIIで65、Bは66、でも65と66に意味的な近さはない。埋め込み表現は「猫」と「ネコ」が似ていて「猫」と「車」が遠いというような、意味の距離関係を保ったまま数値に変換するんだよ。

ひよこ ひよこ

「王様 - 男性 + 女性 = 女王」みたいな演算って本当にできるの?

ペンギン先生 ペンギン先生

Word2Vecという手法で実際に示された有名な例だよ。「王様」のベクトルから「男性」のベクトルを引いて「女性」のベクトルを足すと、「女王」のベクトルに近い値になるんだ。意味を数値で演算できるのが埋め込み表現の面白いところだよ。

ひよこ ひよこ

埋め込みって何次元なの?

ペンギン先生 ペンギン先生

モデルによって違って、128次元から4096次元以上まで様々だよ。次元が大きいほど多くの意味の違いを表現できるけど、計算コストも増える。GPT-3は12288次元の埋め込みを使っているんだ。人間には想像できない高次元の空間だけどね。

ひよこ ひよこ

埋め込みって文脈によって変わるって聞いたけど、どういうこと?

ペンギン先生 ペンギン先生

静的埋め込みと動的埋め込みという違いがあるんだ。Word2Vecのような静的埋め込みは「bank」という単語に一つの固定ベクトルを割り当てる。でもBERTのような動的埋め込み(文脈化埋め込み)は「I went to the bank(銀行)」と「The river bank(川岸)」で「bank」に異なるベクトルを割り当てる。文脈全体を見てベクトルを決めるから同じ単語でも文章によって表現が変わる。この違いが「文脈の意味を理解する」ことに大きく貢献しているんだけど、どの文脈情報がどのくらいベクトルに反映されるかは解釈が難しくてAI研究者でも詳細は掴みにくいんだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「埋め込み表現」って出てきたら「言葉の意味を数値のリストに変換したもの」と思えればだいたいOK!
📖 おまけ:英語の意味
「Embedding」 = 埋め込む・組み込む
💬 言語という抽象的なものを数値空間に「埋め込む(embed)」というイメージだよ。Word2VecやBERTが有名な手法
← 用語集にもどる