結論
CBOWは、周辺の単語から中心の単語を予測するように学習するword2vecのモデルで、学習が速いのが特徴です。スキップグラムは、逆に中心の単語から周辺の単語を予測するモデルで、学習に時間がかかる一方、元の論文の比較では、意味的な関係を問う類推の課題でCBOWより高い正解率を示しました。
比較表
| 観点 | CBOW | スキップグラム |
|---|---|---|
| 英語 | Continuous Bag-of-Words | Continuous Skip-gram |
| 入力 | 周辺の単語(ウィンドウ内の複数の語) | 中心の単語(1語) |
| 予測するもの | 中心の単語 | 周辺の単語(1語ずつ) |
| 周辺の単語の扱い | ベクトルを平均して1つにまとめるため、並び順は区別しない | 周辺の語ごとに別々の予測にする。論文では、遠い語ほど学習に使う回数を減らしている |
| 中心の単語1つあたりの予測の回数 | 1回 | 周辺の単語の数だけ |
| 学習時間(論文、同じデータ・300次元での比較) | 約1日 | 約3日 |
| 類推の課題の正解率(論文、640次元での比較) | 意味的な関係24%、文法的な関係64% | 意味的な関係55%、文法的な関係59% |
| シラバス項目 | 技術分野 項目27 自然言語処理 | 技術分野 項目27 自然言語処理 |
| G検定での問われ方 | 周辺から中心という予測の向き、名前のBag-of-Wordsの意味、学習が速い点 | 中心から周辺という予測の向き、予測の回数が多く計算量が大きい点 |
それぞれの説明
CBOWとスキップグラムは、2013年にGoogleのTomas Mikolovらが提案した、word2vecの2つのモデルです。どちらも、文章の中のある単語とその前後の単語を使った予測の課題を解き、その過程で単語のベクトル(分散表現)を学びます。違いは、予測の向きにあります。
CBOW
CBOW(Continuous Bag-of-Words)は、前後の単語から真ん中の単語を当てます。「今日は_が降った」の空欄を、前後の語から推測するイメージです。周辺の単語のベクトルを平均して1つにまとめてから予測するので、並び順は区別しません。名前のBag-of-Wordsは、この性質を表しています。
中心の単語1つにつき予測は1回で済むため、学習が速く進みます。論文で同じデータと次元数(300次元)を使って比べたとき、CBOWの学習は約1日で終わりました。
スキップグラム
スキップグラムは、逆に真ん中の1語から、前後の単語を1語ずつ当てます。「雨」から、近くに現れやすい「降る」「傘」を当てるイメージです。周辺の単語の数だけ予測を繰り返すので計算量が大きくなり、同じ比較での学習時間は約3日でした。
その代わり、得られるベクトルの質に違いが出ます。論文が640次元のベクトルで比べた結果では、国と首都のような意味的な関係を問う類推の正解率は、スキップグラムが55%、CBOWが24%でした。一方、文法的な関係の類推では、CBOWが64%、スキップグラムが59%と、CBOWがやや上回っています。
共通点
どちらも、非線形の隠れ層をもたない浅いモデルです。論文は、計算の大部分を占める非線形の隠れ層を取り除くことで、大量の文章から効率よく学習できるようにしました。また、どちらも1つの単語に1つのベクトルを割り当てます。そのため、多義語を文脈に応じて区別することはできません。
見分けるコツ
- 予測の向きで見分けます。CBOWは「周りから真ん中」、スキップグラムは「真ん中から周り」です。
- 計算量の違いは予測の回数から考えます。中心の単語1つにつき、CBOWは1回、スキップグラムは周辺の単語の数だけ予測するので、学習が速いのはCBOWです。
- どちらも、ほしいのは予測の結果ではなく、学習によって得られる単語のベクトル(分散表現)です。予測は、ベクトルを学ぶための手段にあたります。
◯×チェック
-
CBOWもスキップグラムも、学習の主な目的は単語の予測そのものではなく、学習を通じて単語のベクトル(分散表現)を得ることにある。
答えを見る
答え ◯ 正しい
単語の予測は、ベクトルを学ぶための課題です。学習後は、得られたベクトルを単語どうしの類似度の計算や、別のモデルの入力に使います。
-
CBOWとスキップグラムは、非線形の隠れ層を何層も重ねた深いネットワークで、文脈の複雑な関係を表現する。
答えを見る
答え × 誤り
word2vecの論文は、計算量の大部分が非線形の隠れ層から生じると考え、これを取り除いた浅いモデルとして2つを提案しました。単純にした分、大量の文章で学習できます。
-
データ、ベクトルの次元数、エポック数などの条件をそろえて学習した場合、CBOWのほうがスキップグラムより短い時間で学習を終えられる。
答えを見る
答え ◯ 正しい
CBOWは中心の単語1つにつき予測が1回で済み、スキップグラムは周辺の単語の数だけ予測します。論文の比較では、CBOWが約1日、スキップグラムが約3日でした。
関連問題
問題の一覧(2問)
出典と作成について
作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)
公開日: 最終更新日: 最終確認日:
対応シラバス:シラバス第1.4版 技術27
出典
- G検定 試験出題範囲(シラバス2024)第1.4版(技術分野 項目27 自然言語処理)2026年11月1日閲覧
- Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean, Efficient Estimation of Word Representations in Vector Space (2013)(3 New Log-linear Models、4.3 Comparison of Model Architectures(Table 3、Table 5))2026年11月1日閲覧
ほかの違い比較51件
- アジャイルとウォーターフォールの違い
- 赤池情報量規準(AIC)とベイズ情報量規準(BIC)の違い
- バギングとブースティングの違い
- バッチ正規化とレイヤー正規化の違い
- バッチ学習・ミニバッチ学習とオンライン学習の違い
- BERTとGPTの違い
- 分類問題と回帰問題の違い
- CNN・RNNとTransformerの違い
- 協調フィルタリングとコンテンツベースフィルタリングの違い
- 共分散と相関係数の違い
- データ汚染とAdversarial Attackの違い
- 決定木とランダムフォレストの違い
- 深さ優先探索と幅優先探索の違い
- 営業秘密と限定提供データの違い
- Faster R-CNNとYOLOの違い
- GANと拡散モデル(Diffusion Model)の違い
- GANとVAEの違い
- GDPRと個人情報保護法の違い
- 勾配降下法と誤差逆伝播法の違い
- グリッドサーチとランダムサーチの違い
- ホールドアウト検証と交差検証の違い
- 画像分類(物体識別)と物体検出の違い
- 委託・第三者提供と共同利用の違い
- k-means法と階層的クラスタリングの違い
- 個人情報・個人データと保有個人データの違い
- 個人情報と個人識別符号の違い
- L1正則化とL2正則化の違い
- 最小二乗法と最尤法の違い
- LIMEとSHAPの違い
- LSTMとGRUの違い
- 機械学習とディープラーニングの違い
- 平均絶対値誤差(MAE)と平均二乗誤差(MSE)の違い
- 正規化と正則化の違い
- 主成分分析(PCA)と特異値分解(SVD)の違い
- 主成分分析(PCA)とt-SNEの違い
- 適合率と再現率の違い
- プルーニング・量子化と蒸留の違い
- Q学習とSARSAの違い
- RNNとLSTMの違い
- Self-AttentionとSource-Target Attentionの違い
- セマンティック・インスタンスとパノプティックの違い
- 新規性と進歩性の違い
- シグモイド関数とソフトマックス関数の違い
- ソフトローとハードローの違い
- 強いAIと弱いAIの違い
- 教師あり学習・教師なし学習と強化学習の違い
- 特許権と著作権の違い
- 匿名加工情報と仮名加工情報の違い
- 転移学習とファインチューニングの違い
- 請負契約と準委任契約の違い
- Zero-shotとFew-shotの違い