seegongsik
人工知能

わかりやすく エンベディング とは

前のレッスンでは、CNNが写真を数の格子として受け取り、特徴を見つけました。写真は最初から明るさの数でできていますが、単語はそうはいきません。「猫」という文字をどれだけ眺めても、その意味を表す数はどこにもありません。コンピュータに単語の意味を渡すには、単語ごとに数の座標をつけ、意味の似た単語どうしが近くに来るように並べます。単語をこうした意味の座標に変えることを、エンベディングと呼びます。

01

単語ごとに座標をつける

コンピュータは数でしか計算できません。けれども私たちは単語で話し、考えるので、どうにかして単語を数に変える必要があります。いちばん簡単なのは単語に番号をふることですが、番号だけでは猫が車よりも犬に似ているという事実を表せません。
そこで、地図の上の一点のように、単語ごとに座標をつけます。catはこのあたり、dogはあのあたりというように、どの単語にも自分の場所ができます。

単語を押して、意味の空間に置いてみましょう

単語を一つずつ押してみましょう。文字だった単語が意味の空間の一点になり、その位置が二つの数で表されます。

単語を押すと点が打たれ、そばに二つの数がつきました。横の位置と縦の位置、この数の組が座標です。単語が数になったので、コンピュータが扱えるようになりました。
ウィジェットでは見やすいように二つの数で描いていますが、実際のエンベディングは単語一つに数百個の数をつけます。ただし点をでたらめに打てば、座標には何の意味もありません。そこで、意味の似た単語は近くに置くという約束をもう一つ加えます。

02

似た意味は近くに集まる

この約束を守ると、catとdogはどちらも動物なので近くに置かれ、kingとqueenもどちらも王族なので近くに置かれます。反対に、catとcarはつづりが一文字しか違わないのに意味がまったく違うので、遠く離れます。
この意味の空間では、距離がそのまま意味の似かたを表します。近ければ似ていて、遠ければ違うのです。

catdogkingqueenapplepear
● 動物● 王族● 果物
単語がばらばらに散らばっています

「意味ごとに並べる」ボタンを押してみましょう。散らばっていた単語が動物、王族、果物のまとまりに集まり、ほかのまとまりからは離れます。

単語がまとまりごとに集まりました。まとまりの中では近く、ほかのまとまりとは遠く離れています。では、この座標は誰が決めるのでしょうか。人が単語ごとに手で決めるわけではありません。コンピュータは、catが動物だということを文字からはまったく知らず、膨大な量の文章の中で単語がどう使われているかだけを見ます。
猫と犬は、「えさをやる」「毛が抜ける」のような似たことばのそばによく出てきます。似た文脈に出てくる単語どうしの座標が近づくように学習させると、距離だけで意味の似かたを測れるようになります。

03

座標で計算すると意味が動く

単語が座標になると、おもしろいことが起こります。座標は数なので足したり引いたりでき、しかもその計算が意味をもつのです。kingの座標からmanの向きを引くと王族らしさだけが残り、そこにwomanの向きを足すと、驚いたことにqueenの近くに着きます。
王から男を引いて女を足すと女王になるわけです。座標の上の道をたどることが、意味の道をたどることになります。

kingmanwomanqueen
kingの位置から出発します

ステップのボタンを順に押してみましょう。kingからmanを引いてwomanを足す道をたどると、矢印がqueenの近くに着きます。

矢印は本当にqueenの近くに着きました。やったのは座標の足し算と引き算だけなのに、結果は意味とぴったり合います。manからwomanへ向かう矢印と、kingからqueenへ向かう矢印が、ほぼ同じ向きで、ほぼ同じ長さだからです。
よく学習したエンベディングでは、こうした向きが性別や、国と首都のような関係を表します。もちろんいつもぴったり合うわけではなく、答えのすぐそばに着くことが多いのですが、誰も教えていない関係が座標の中にひとりでに生まれるのは驚きです。

04

座標になるのは単語だけではない

座標に変える方法は単語だけのものではありません。写真一枚も座標に変えられ、似た写真どうしが近くに集まります。声や一曲の歌も座標になり、よく聴く曲から人の好みまで座標で表せます。
何でも座標に変えて近さを測れば、コンピュータは似ているかどうかを扱えます。前のレッスンのCNNが写真から取り出した特徴も、こうした座標として使われます。

単語も同じように点の座標になり、似たものは近くに集まります

種類を切り替えて押してみましょう。単語でも画像でも音声でもユーザーでも、同じように点になり、似たものどうしが近くに集まります。

種類を変えても、絵は同じでした。点が打たれ、似たものどうしが近くに集まります。音楽アプリが似た曲をすすめたり、写真アプリがそっくりな写真を探したりするのも、中では座標どうしの距離を測っているのです。
異なる種類を同じ空間に置くように学習させれば、文章で写真を探すこともできます。「海辺の子犬」という文章の座標にいちばん近い写真を選べばよいからです。

05

まとめ

まとめるとこうです。コンピュータは数しか扱えないので、単語を座標という数の組に変えます。これがエンベディングです。いちばん大事な約束は意味の似た単語を近くに置くことで、座標はたくさんの文章で単語がどう使われているかから学びます。
だから距離がそのまま意味の似かたになり、座標の足し引きも意味をもちます。単語だけでなく、画像や音声、ユーザーも同じやり方で扱います。

要点を順に押して振り返りましょう

要点を順に押して振り返りましょう。(単語を座標に → 似た意味は近くに → 座標の計算が意味をもつ → 画像・音声も同じやり方)

これで、コンピュータが単語の意味をどう扱いはじめるのかがわかりました。単語を座標に変え、似たものを近くに集めるという単純な考えが、検索や翻訳、おすすめ、絵と文章を結びつける仕事まで支えています。
ただ、単語一つに座標が一つだけだと困ることがあります。英語のappleは果物のこともあれば、会社の名前のこともあります。文の中のほかの単語を見て、その場所での意味を決める方法、アテンションを次のレッスンで扱います。

一言でいうとエンベディングは、単語を意味の座標に変えることです。座標は数の組なのでコンピュータが計算でき、実際には単語一つに数百個の数をつけます。いちばん大事な約束は、意味の似た単語を近くに置くことです。座標は人が決めるのではなく、膨大な文章から、似た文脈に出てくる単語どうしが近づくように学びます。だから王と女王、犬と猫は近くに集まり、関係のない単語は遠く離れます。座標なので足し引きもでき、王から男を引いて女を足すと女王の近くに着くように、その計算が意味をもちます。同じ方法で画像や音声、ユーザーも座標に変えれば、似ているかどうかを距離で測れます。単語を座標に変えるこの第一歩が、コンピュータが意味を扱う土台です。
← 人工知能
このページがお役に立ったなら支援する