AI

機械学習における埋め込みとは?

エンベッディングはAIが言葉やデータを理解するのに役立ち、検索エンジンやLLM、レコメンデーションに力を与えている。
1 分読
What are Embeddings in Machine Learning blog image

エンベッディングがなければ、AI産業や技術全般は事実上認識できないものになっていただろう。LLMはあなたを理解できないだろうし、検索エンジンはあなたが何を探しているのかわからないだろうし、他のすべての推薦システムはランダムなジャンクを吐き出すだろう。

エンベッディングがどのように機能するのか、また機械学習におけるエンベッディングの重要性を探ります。

エンベッディングとは何か?

機械は言葉を理解しないが、数字は理解する。どんなソフトウェア言語でも、コンパイルや解釈によってコードを書くと、最終的にはマシンが理解できるバイナリや16進コード(どちらも数値形式)になる。

AI、特に機械学習では、モデルは情報を理解する必要がある。エンベッディングの出番だ。エンベッディングを使うことで、単語や画像、その他あらゆる種類の情報を、機械が読み取り可能な数値に変換することができる。これにより、AIはパターンや関係、意味を見つけることができる。

機械は言葉ではなく数字を理解する。エンベッディングは人間のデータとAIをつなぐ架け橋となる。

エンベッディングが重要な理由

ピザ屋を検索したら、おすすめのタコスが出てくる世界を想像してみてください。ウェブスクレイピングをするとき、ChatGPTや ClaudeにPythonのヒントを求め、ペットのニシキヘビの世話の仕方を教えてもらうことを想像してみてください!

エンベッディングは、モデルにあなたの意図を理解させる。エンベッディングがなければ、ほとんどのシステムは、あなたの正確なテキストとデータベース内の何かをマッチさせることで動作する。

  • グーグル
  • LLMS:エンベッディングがあれば、これらのモデルはあなたが実際に何を言っているのかを理解することができます。Pythonのヒントを覚えていますか?
  • レコメンデーション:Netflixのような企業は、フィルタリングや他のいくつかの技術とともに、あなたが実際に楽しめる番組を推薦するためにそれを使用している。

エンベッディングは、機械がデータを読むだけでなく、実際に理解することを可能にする。

ベクトル埋め込み言語

最も単純な形では、ベクトルは単なるリストである。ノートパソコンのリストを表現したいとする。各ノートパソコンは、OS、CPUメーカー、処理コア、RAMなどの詳細を持っています。

WindowsノートパソコンとChromebook

ラップトップが2台あるとすると、以下のようになる。

  • Windowsのラップトップ[ウィンドウズ」「インテル」「4」「8]
  • クロームブック ["ChromeOS"、"Mediatek"、8、"4"]。

行列ベクトルを組み合わせて表にする

行列はリストのリストである。技術的に純粋な人はここで私を修正し、ベクトルのベクトルと呼ぶだろう…しかし、我々が先に確立したように、ベクトルは単なるリストである。人間が行列を見るときは、それを表として見る。

これが人間が読めるマトリックスだ。

OS CPUメーカー プロセッサー・コア RAM (GB)
ウィンドウズ インテル 4 8
クロームOS メディアテック 8 4

我々の行列はベクトルのベクトル(リストのリスト)である。見ての通り、これは読みにくいが、まだ理解できる。機械にとっては上の表より読みやすいが、機械が読みやすいように最適化されているわけではない。

[
    ["Windows", "Intel", 4, 8],
    ["ChromeOS", "Mediatek", 8, 4]
]

本当に機械が読めるようにするには、単語を数字に置き換える必要がある。数字以外の特徴を表すために、それぞれ数字を割り当てることにする。

OS

  • ウィンドウズ0
  • ChromeOS: 1

CPUメーカー

  • インテル0
  • メディアテック:1

この時点で、私たちの “表 “は人間の可読性を完全に失っている。しかし、機械は数字を非常にうまく扱う。そのため、機械はこのデータを効率的に処理して関係を見つけることができる。

[
    [0, 0, 4, 8],
    [1, 1, 8, 4]
]

これは機械が見るには完璧だ。機械は言葉を読むことはできないが、数字のパターンを検出することはできる。この形式であれば、モデルはデータを効果的に分析し、パターンを探すことができる。

エンベッディングの仕組み

文脈に基づく単語のグループ化

エンベッディングは、上記で作成した数値エンコーディングをはるかに超えるものです。エンベッディングは、大規模なデータセットを、大規模な分析なしには理解できないような複雑な行列に変換することを可能にします。

エンベッディングを使えば、AIは実際にこのデータを分析し、数式を適用して関係を見つけることができる。キングとクイーンは似たような概念だ。これらのオブジェクトはどちらも似たベクトルを持つだろう。

ベクトルを使えば、実際に計算ができる。私たちよりも機械の方がはるかに得意だ。機械は、以下のような数式でその関係を見ることができる。

  • キング - 男+女=クイーン

教師あり埋め込みと教師なし埋め込み

埋め込みには大きく分けて2つのタイプがある:教師あり」と「教師なし」です。

教師あり埋め込み

シェイプスラベル付きデータ

ラベルとマッピングのある構造化されたデータに対してモデルを訓練する場合、これは教師あり学習と呼ばれ、教師あり埋め込みを生成する。AIは人間によって明示的に教えられているのだ。

一般的な用途

  • 電子メールある種の電子メールは、スパムかスパムでないかのどちらかにマップされる。
  • 画像:ラベル付けされた犬猫の画像でモデルを学習。

教師ありエンベッディングでは、人間がすでにパターンを認識しており、それを機械に教える。

教師なし埋め込み

構造化されていない人間の文章

教師なし埋め込みは構造化されておらず、ラベル付けもされていない。モデルは大量のデータをスキャンする。そして、よく一緒に出てくる単語や文字をグループ化する。これにより、モデルは人間から直接学習するのではなく、パターンを発見することができる。十分な発見があれば、これらのパターンは予測につながる。

一般的な用途

  • LLM:大規模言語モデルは、単語の大規模なデータセットをスキャンし、それらがどのように組み合わされているかを正確に予測するように設計されている。
  • オートコンプリートとスペルチェック:この同じコンセプトのより原始的な形。単語を構成する文字を正確に予測するように設計されています。

エンベッディングの作成方法

埋め込みを作成する手順

エンベッディングは人間が割り当てるものではなく、学習されるものだ。類似性、パターン、そして最終的には関係性を学習するためには、大量のデータでモデルを訓練する必要がある。

ステップ1:データの収集

モデルを訓練するには、大規模なデータセットが必要だ。ウィキペディアを使ってモデルを学習させると、ウィキペディアから事実を学習し、ウィキペディアのように話すようになります。私たちのウェブスクレーパーAPIは、リアルタイムで高品質のデータを抽出するのに役立ちます。

モデルはほとんど何でもトレーニングできる。

  • テキスト書籍、PDF、ウェブサイトなど
  • 画像ラベル画像、ピクセル関係
  • ユーザーとの対話:製品の推奨、ブラウザの動作

ステップ2:データをベクトルに変換する

先に学んだように、機械は人間が読めるデータではうまく機能しない。前のステップで収集したデータは、数値ベクトルに変換する必要がある。

エンコーディングには2種類ある:

  • ワンホットエンコーディング:この方法はより基本的である。この形式では、モデルはデータ内の関係を捉えることができない。
  • 密な埋め込み:現代のAIでは一般的な手法。密接に関連するオブジェクト(キングとクイーン)は、行列内で密接にグループ化されます。

ステップ3:モデルのトレーニング

エンベッディングを作成するために、モデルは以下のような機械学習技術を使用する。

  1. 単語の共起(Word2VecGloVe
    )ポリラングプレースホルダは変更しない
  2. 文脈学習(BERTGPT
    )ポリランプレースホルダは変更しない

ステップ4:微調整

いったん学習されたモデルは、微調整される必要がある。モデルを微調整するには、特定のタスクの目的に合うように埋め込みを調整する。

  • 検索エンジンは、クエリをよりよく理解するために、エンベッディングを改良する。
  • レコメンデーションシステムは、しばしばユーザーの行動に基づいて埋め込みを調整する。
  • LLMは、新しいデータに基づいて埋め込みを調整するために、定期的な微調整を必要とする。

結論

エンベッディングは、現代のAI業界のみならず、ハイテク業界全体にとって不可欠な要素である。検索結果からLLMまで、あらゆるものを支えています。私たちのデータセットを使えば、あなたのモデルを訓練するための膨大な量の良質なデータにアクセスすることができます。

今すぐサインアップして、データセットのサンプルを含む無料トライアルを開始しましょう。