エンベディング: インタラクティブな演習

次のウィジェットは TensorFlow の Embedding Projector に基づき、10,000 個の word2vec 静的ベクトルを 3 次元空間にフラット化したものです。元の高次元空間では最も近かった点どうしが、3 次元に投影すると遠く離れて見える場合があるため、このような次元の圧縮は誤解を招く可能性があります。最も近い n 個の点は紫色でハイライト表示されます。n の値は、[Isolate __ points] でユーザーが選択できます。右側のサイドバーには、これらの最近傍の点が表示されます。

これらの演習で、上記のウィジェットを使って word2vec エンベディングを操作してみましょう。

タスク 1

次の単語について、20 個の最近傍語を検索して、各グループがクラウドのどこに位置付けられるかを確認してみましょう。

  • iiithirdthree
  • taoway
  • orangeyellowjuice

これらの結果から何がわかるでしょうか。

回答はこちらをクリック

iiithirdthree は意味的に類似していますが、文章中では異なるコンテキストで使用されるため、このエンベディング空間では近くに配置されていません。word2vec では、iiithird よりも iv に近い位置にあります。

同様に、waytao の直訳ですが、学習に使われたデータセットの中でこれらの単語が頻出する単語グループはまったく異なるため、この 2 つのベクトルは非常に遠い位置にあります。

orange の最初のいくつかの最近傍語は色に関連する単語ですが、juicepeel といった果物としての orange に関連する単語は、14 番目や 18 番目にようやく現れます。ちなみに、「オレンジ公」に関連して prince も 17 番目にあります。3 次元の投影空間では、orange に最も近い単語は yellow などの色となっており、juice の近くには orange は含まれていません。

タスク 2

トレーニング データの特徴を推測してみましょう。例として、次の単語について 100 個の最近傍語を検索し、各グループがクラウド上のどこにあるかを確認してみてください。

  • bostonparistokyodelhimoscowseoul(これは引っかけ問題です)
  • janesarahjohnpeterrosajuan

回答はこちらをクリック

boston の最近傍語の多くは、米国の他の都市です。paris の最近傍語の多くは、ヨーロッパの他の都市です。しかし、tokyodelhi では同じような結果にならないようです。一方は世界中の旅行ハブの都市と関連付けられ、もう一方は india やそれに関連する単語と結びついています。seoul は、この簡略化された単語ベクトルのセットにはそもそも含まれていません。

このことから、このデータセットには、米国の地理に関するドキュメントが多く含まれ、ヨーロッパ地域の地理に関連するドキュメントも一部あるものの、他の国や地域については詳細な情報が十分網羅されていないことがわかります。

同様に、このデータセットには男性の英語名が多く含まれており、女性の英語名もいくらかありますが、他言語の名前は非常に少ないようです。ちなみに、Don Rosa 氏はディズニーの「スクルージ マグダック」の漫画を描いた人物であるため、「rosa」の最近傍語に「scrooge」や「mcduck」が含まれているのもその影響と考えられます。

実際に、word2vec が提供する事前にトレーニングされた単語ベクトルは、2013 年までの Google ニュース記事を使用してトレーニングされています。

タスク 3

エンベディングは単語だけに限りません。画像や音声などのデータもエンベディングが可能です。このタスクでは、以下の操作を行います。

  1. TensorFlow の Embedding Projector を開きます。
  2. [データ] という左側のサイドバーで [Mnist with images] を選択します。これにより、手書き数字の MNIST データベースのエンベディングを投影したものが表示されます。
  3. クリックして回転を止め、画像を 1 つ選択します。必要に応じて、拡大または縮小してください。
  4. 右のサイドバーで最近傍の画像を確認します。驚いた点はありますか?
  • 一部の 7 で、近傍として 1 が表示されるのはなぜでしょうか。一部の 8 で、近傍として 9 が表示されるのはなぜでしょうか。
  • 投影空間の端にある画像と中央にある画像に何か違いはありますか。

これらのエンベディングを作成したモデルは、画像データ(ピクセル)を受け取って、各画像の数値ベクトル表現を選択しています。手書き数字の画像と実際の数字の概念を自動的に結びつけているわけではありません。

回答はこちらをクリック

形が類似しているため、細くて幅が狭い一部の 7 のベクトル表現は、手書きの 1 のベクトルに近い位置に配置されます。一部の 89、および 53 でも同様の現象が見られます。

投影空間の外側にある手書き数字は、9 つの数字のいずれかであると明確に定義され、またそれ以外の数字と明確に区別される強い特徴を持つ傾向があります。