用語集

埋め込み

エンベッディングとは何か、NLP、レコメンデーション、コンピュータビジョンのためにデータ内の意味的関係を捕捉することで、どのようにAIを強化するのかを学ぶ。

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

機械学習(ML)や人工知能(AI)の領域では、埋め込みは、単語、文章、画像、その他のアイテムなどの複雑なデータを、多次元空間の密な数値ベクトルとして表現するための基本的な技術である。この変換はデータから学習され、アルゴリズムが入力の意味、文脈、または本質的な特徴を捉えることを可能にする。主な利点は、学習データに基づいて類似していると判断された項目が、この「埋め込み空間」内の近くの点にマッピングされることであり、これにより機械は、ワンホットエンコーディングのような従来の疎な表現よりもはるかに効果的に、複雑な関係やパターンを理解できるようになる。

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

エンベッディングは、離散変数(単語など)や複雑なオブジェクト(画像やユーザープロファイルなど)の比較的低次元のベクトル表現を学習したものです。ワンホットエンコーディングのように、各次元が単一のアイテムに対応し、固有の関係情報を持たない非常に高次元の疎なベクトルを作成する方法とは異なり、エンベッディングは、各次元がアイテムの特徴を表現するのに寄与する高密度のベクトル(通常は数十から数千の次元を持つ)です。重要なのは、埋め込み空間におけるこれらのベクトルの位置が、意味的な関係を捉えることです。例えば、単語の埋め込みでは、"king "と "queen"、"walking "と "ran "のように、似たような意味を持つ単語や似たような文脈で使われる単語は、数学的に近いベクトルを持つことになります(例えば、コサイン類似度を使用)。この近さは、データから学習された意味的類似性を反映している。

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

エンベッディングは通常、自己教師あり学習のような手法によって大規模なデータセットで訓練されたニューラルネットワーク(NN)モデルを用いて生成される。例えば、Word2Vecに代表される単語埋め込みによく使われる手法では、膨大なテキストコーパスの中で、周囲の単語(コンテキスト)に基づいて単語を予測するモデルを学習します。この学習プロセスにおいて、ネットワークは、バックプロパゲーションのような手法により、予測誤差を最小化するために、各単語の埋め込みベクトルを含む内部パラメータを調整する。その結果得られるベクトルには、構文情報と意味情報が暗黙的に符号化される。埋め込み空間の次元数は重要なハイパーパラメータであり、モデルの詳細を捉える能力と、計算コストやオーバーフィッティングのリスクに影響する。このような高次元のデータ空間を可視化するには、t-SNEや PCAのような次元削減技術が必要になることが多く、TensorFlow Projectorのようなツールを使って探索することができます。

エンベッディングの応用

エンベッディングは、様々な領域にわたる多くの最新のAIシステムにおいて重要なコンポーネントである:

  • 自然言語処理(NLP)エンベッディングは、単語、文、または文書全体を表します。BERTや Transformerアーキテクチャのようなモデルは、機械翻訳感情分析質問応答、効果的なセマンティック検索などのタスクのために、言語のニュアンスを理解するためにエンベッディングに大きく依存しています。カスタマーサポートのチャットボットは、ユーザーのクエリが正確なキーワードを使用していなくても、知識ベース内の最も関連性の高い回答を見つけるためにセンテンスエンベッディングを使用します。
  • 推薦システム埋め込みは、ユーザーやアイテム(映画、商品、記事など)を表すことができる。ユーザーと彼らが好きなアイテムが埋め込み空間内で近接するように埋め込みを学習することで、システムは、ユーザーが以前にやりとりしたアイテムや、似たようなユーザーが好きなアイテムに似た新しいアイテムを推薦することができる(協調フィルタリング)。Netflixや Amazonのような企業は、これを広範囲に活用している。
  • コンピュータビジョン(CV)画像や画像パッチは、視覚的特徴を捉える埋め込みに変換することができる。これは画像検索(視覚的に類似した画像を見つける)や画像分類のようなタスクの基本であり、以下のようなモデルによって実行される物体検出や 画像分割のような、より複雑なタスクの基礎となる。 Ultralytics YOLO.あるeコマース・プラットフォームは、ユーザーが衣料品の写真をアップロードし、カタログから類似商品を見つけることができるように、画像埋め込みを使用します。Ultralytics HUBのようなプラットフォームは、このようなモデルのトレーニングとデプロイを容易にする。
  • グラフ解析エンベッディングはグラフのノードとエッジを表現し、リンク予測やコミュニティ検出のようなタスクのためにネットワーク構造とノードの関係をキャプチャします。

エンベッディングと関連概念

エンベッディングを関連用語と区別することは有益である:

  • エンベッディングと特徴抽出の比較:エンベッディングは、ディープラーニングによって実現される、洗練された、しばしば自動化された特徴抽出の一形態である。従来の特徴工学では、手作業で特徴(例えば、画像のカラーヒストグラム)を定義する必要があるかもしれないが、エンベッディングは学習中にデータから直接関連する特徴を学習する。
  • エンベッディング vs.ベクトル検索/ベクトルデータベースエンベッディングとは、データ項目のベクトル表現である。ベクトル検索とは、埋め込みデータのコレクションをクエリして、クエリベクトルに最も近い(近い)ものを見つけるプロセスで、多くの場合、効率化のために近似最近傍(ANN)アルゴリズムを使用します。ベクターデータベース(Pineconeや Milvusのような)は、大量の埋め込みデータを保存し、インデックスを付け、高速なベクター検索を行うために最適化されたデータベースです。

エンベッディングは、機械学習モデルにデータを表現する強力な方法を提供し、テキストから画像まで、さまざまなデータタイプの意味的類似性や複雑なパターンを理解できるようにします。エンベッディングは、多くのAIアプリケーションの進歩を促進する基礎技術であり、次のような最新のMLフレームワークの機能に不可欠です。 PyTorchTensorFlow.

すべて読む