このセクションでは、エンベディングを取得するための 2 つの一般的な手法に焦点を当てます。
- 次元数の削減
- 大規模なニューラル ネットモデルからのエンベディングの抽出
次元数の削減手法
重要なデータをキャプチャする数学的手法は数多く存在します。 低次元空間における高次元空間の構造を表すものです。理論上 これらの手法のいずれかを使用して、機械のエンべディングを作成できます。 学習します。
例: 主成分分析(PCA) 単語のエンベディングを作成するために使われています。ある一連のインスタンスから バッグ オブ ワード ベクトルに対して、PCA による試行が 相関性の強いディメンションを見つけるため あります。
ニューラル ネットワークの一部としてのエンベディングのトレーニング
モデルのトレーニング中にエンべディングを作成できます。 ニューラル ネットワーク 選択します。このアプローチにより、カスタム エンベディングが エンベディングを個別にトレーニングするよりも時間がかかることがあります。
一般に、ニューラル ネットワークにサイズ d の隠れ層を作成できます。 として指定されているネットワーク エンベディング レイヤ。ここで d 隠れ層のノード数と隠れ層のノード数の両方を エンべディング空間内の次元数です。このエンベディング レイヤは、レイヤ 2 レイヤと レイヤで表します。他のディープ ニューラル ネットワークと同様に、 ノードでの損失を最小限に抑えるために、トレーニング中に レイヤに配置されます。
おすすめの食事の例に戻ると、目標は次のとおりです。 現在のお気に入りに基づいて、ユーザーが好む新しい食事を予測 提供します。まず、ユーザーに関する追加のデータをコンパイルして、お気に入りトップ 5 食料。次に、このタスクを教師あり学習の問題としてモデル化できます。私たちは 上位 5 つの食品のうちの 4 つを特徴量データとして、 5 番目の食品を陽性ラベルとして使用し、食品を ソフトマックスを使用したモデルの予測 損失です。
ニューラル ネットワーク モデルはトレーニング中に、モデルに最適な重みを 最初の隠れ層のノードです。これはエンベディング レイヤとして機能します。 たとえば、モデルの最初の隠れ層にノードが 3 つある場合、 食品の関連性が最も高い 3 つのディメンションが サンドイッチネス、デザート、流動性です図 12 は、 「ホットドッグ」の入力値3 次元ベクトルに変換されます。
![図 12. ホットドッグのワンホット エンコード用のニューラル ネット。最初のレイヤは、
入力レイヤに 5 つのノードがあり、各ノードに食品のアイコンが注釈されています。
は、ボルシチ、ホットドッグ、サラダ、...、シャワルマを表します。これらのノードには、
ワンホット状態を表す値 [0, 1, 0, ..., 0]
「ホットドッグ」のエンコーディングです。入力レイヤは 3 ノードのエンベディングに接続
各ノードの値は 2.98、-0.75、0 です。「
5 ノードの隠れ層に接続され、その隠れ層が
5 ノード出力レイヤに接続されています。](https://developers.google.cn/static/machine-learning/crash-course/embeddings/images/one_hot_hot_dog_embedding.png?authuser=3&hl=ja)
hot dog
のワンホット エンコード
ディープ ニューラル ネットワークに入力として渡されます。エンべディング レイヤは、
3 次元エンベディング ベクトルへのワンホット エンコーディングを
[2.98, -0.75, 0]
。
トレーニングの過程で、エンベディング レイヤの重みが最適化されます。 エンベディング ベクトルが それぞれに近いものになります あります。エンベディング レイヤの個々のディメンション( エンベディング レイヤが表すもの)が「デザートネス」ほど理解できることはめったにありません。または 「流動性」です。場合によってはあるかもしれませんが、必ずしもそうとは限らない できます。
エンベディングは通常タスクに固有で、互いに異なる 異なる場合です。たとえば、ベジタリアンによって生成されたエンベディングと、 非ベジタリアン分類モデルには、肉含有量という 2 つの次元がある場合があります。 乳製品に関するコンテンツです一方、朝食によって生成されたエンベディングと、 アメリカ料理のディナー分類器は、ディメンションが若干異なる場合があります。 カロリー含有量、穀物含有量、肉含量「シリアル」および 「卵とベーコンのサンドイッチ」エンべディング空間で近接する場合もあります。 朝食と夕食の分類器ですが、モデルのエンベディング空間では大きく異なります。 ベジタリアンと非ベジタリアンの分類器です。
単語のエンベディングのトレーニング
前のセクションでは、 セマンティック関係を可視化する word2vec エンベディング空間。
Word2vec は、単語のエンベディングのトレーニングに使用される多くのアルゴリズムの一つです。 分布仮説に基づいて、意味的に類似したデータを ベクトルを幾何学的に近接させます。分布 仮説 は、同じ近傍の単語が含まれることが多い単語は、 学習します。「犬」という単語の両方と「cat」ほぼすべての Pod の “獣医師”という言葉はこの事実は意味的類似性を反映しています 1957 年に言語学者ジョン・ファースが言うように、「あなたは会社による一言を 確認します
次の動画では、単語のエンベディングを作成する別の方法について解説しています。 ニューラル ネットワークをトレーニングするプロセスの一部であり、以下のようになります。
静的エンベディングとコンテキスト エンベディング
上記の動画で説明したような単語のエンベディングの制限の一つが、 静的である。各単語はベクトル内の 1 つの点で表現される さまざまな意味を持つかもしれませんが、その組み合わせによって 使用されます。前回の演習では、 単語の意味的類似性をマッピングすることの難しさに オレンジは、色または果物の種類を表します。
こうした欠点を補うために開発されたのが、コンテキスト エンベディングです。 コンテキスト エンベディングを使用すると、 各表現に特定の単語に関する情報が組み込まれ、 文脈に基づいて判断できますコンテキスト エンベディングでは、 orange には 2 つの独立した表現がある。1 つは「color」をキャプチャする 例: 「私のお気に入りのセーターはオレンジです」 ストライプもう 1 つは「フルーツ」というたとえば、 「オレンジは、完全に熟する前に木から引き取られました。」