【Transformer入門】Skip-gramとCBOW、実際に使われているのはどっち?その意外な真実

こんにちは。ゆうせいです。

前回の学習で、Word2Vec の Skip-gram と CBOW について理解を深めてもらえたことと思います。言葉をベクトルにする魔法のような技術でしたよね。

さて、ここでよくある疑問についてお話ししましょう。

現在、自然言語処理の主役といえば、ChatGPT のようなAIの基盤となっている Transformer です。では、この Transformer の中では、Skip-gram と CBOW、一体どちらが使われているのでしょうか。

新人のエンジニアの方からよくこの質問を受けます。二択クイズだと思って答えを探そうとすると、実は迷宮入りしてしまうのです。

今回は、この意外な真実について、例え話を交えながら紐解いていきましょう。

結論:実は「どちらも使われていない」が正解

いきなり答えを言ってしまいますが、Transformer という仕組みそのものには、Skip-gram も CBOW も、そのままの形では使われていません。

えっ、どういうこと。 と驚きましたか。

実は、Transformer は Attention(アテンション) という、Word2Vec とは全く異なる新しいメカニズムを心臓部に持っているのです。

これを料理に例えてみましょう。

Skip-gram や CBOW を カレー粉 だと思ってください。これを使えば、食材(単語)にカレー味(意味)をつけることができますよね。一方、Transformer は AIシェフ というもっと高度なシステムそのものです。

AIシェフは、カレー粉(Word2Vec)をあらかじめ持ってくることもできますが、最近のすごいシェフは、料理をしながら自分で最高のスパイスの調合(意味の学習)を一から作り上げてしまうのです。

つまり、Transformer は Skip-gram や CBOW に頼らなくても、自分で言葉の意味を学習できる能力を持っています。

しかし「魂」は受け継がれている

そのままでは使われていないと言いましたが、実はアイデアの魂はしっかりと受け継がれています。特に CBOW の考え方は、Transformer の代表的なモデルである BERT(バート) に色濃く残っています。

CBOWとBERTの共通点:穴埋めクイズ

思い出してみてください。CBOW は周りの単語から真ん中の単語を当てる 穴埋めクイズ でしたよね。

実は、BERT も学習段階で Masked Language Model という手法を使っています。これは、文章の一部分を隠して(マスクして)、それが何であるかを周囲の文脈から予測するタスクです。

  • CBOW:袋の中に単語を入れて、順序を気にせず混ぜてから予測する。
  • BERT:文章の順序や位置情報をしっかり保ったまま、離れた単語との関係(Attention)を使って予測する。

やっていることはどちらも 穴埋め ですが、BERT の方がより高度に文脈を読めるようになっているのです。CBOW が進化した姿と言えるかもしれませんね。

なぜWord2Vecを使わなくなったの?

では、なぜ最新の Transformer では、あらかじめ Skip-gram や CBOW で作ったベクトルを使わなくなったのでしょうか。

それは、多義語の問題を解決するためです。

Word2Vec(Skip-gram/CBOW)で作ったベクトルは、一つの単語につき一つの意味しか持てません。たとえば 銀行 という単語は、お金を預ける場所でもあり、川の土手(バンク)という意味も持ちえますが、Word2Vec ではこれらが十把一絡げにされてしまいます。辞書に固定された意味が載っているようなものです。

一方で Transformer は、文脈に合わせて単語の意味を変化させることができます。これを 文脈化単語埋め込み と呼びます。

  • Word2Vec:どこで使われても同じ意味のベクトル(固定的な辞書)
  • Transformer:前後の会話によって色を変えるカメレオン

Transformer は、文章の中でその単語がどう使われているかを見て、その場で最適な意味(ベクトル)を計算します。そのため、あらかじめ固定された Word2Vec を使う必要がなくなった、むしろ一から学習した方が精度が出るようになったのです。

学習の流れを整理しよう

混乱しないように、今の時代の標準的な学習の流れを整理しましょう。

  1. Tokenizer(分割):文章を単語やサブワードにバラバラにする。
  2. Embedding(埋め込み層):単語をとりあえずのベクトルに変換する。
    • 昔はここに Word2Vec の結果を入れていました(初期値として利用)。
    • 今はここもランダムな値からスタートして、Transformer 自身に学習させることが多いです。
  3. Encoder / Decoder(Transformer本体):Attention 機構を使って、文脈を考慮した深い意味を計算する。

つまり、Transformer の中には 埋め込み層 という入り口があり、そこに Skip-gram や CBOW の結果を使うことは 技術的には可能 ですが、必須ではないし、主流ではなくなりつつある、というのが正確なところです。

まとめ

今回の話をまとめましょう。

  • Transformer の中で Skip-gram や CBOW がそのまま動いているわけではありません。
  • Transformer は Attention という別の仕組みを使っています。
  • ただし、穴埋めで学習するというアイデア(CBOW的発想)は、BERT などのモデルに受け継がれています。
  • 固定的な意味しか持てない Word2Vec から、文脈に応じて意味が変わる Transformer へと進化しました。

技術は断絶しているのではなく、過去のアイデアを踏み台にして進化しています。Skip-gram や CBOW の理解は、なぜ Transformer がすごいのか を理解するための大切な基礎になるのです。

ここまでの話で、言葉のベクトル化の歴史がつながったのではないでしょうか。

次は、その Transformer の核心部分である Attention(注意機構) が、具体的にどうやって単語同士の結びつきを見ているのか、その仕組みを覗いてみませんか。

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。