AI解剖教室 · Part 3 文字を数字に

第32章 番号札の限界

Q. トークンには番号があるのに、その番号をそのままモデルに入れてはだめなのでしょうか?

  1. トークンには番号がありましたね(第29章)。「私は」は158341番、「に」は5280番。この番号をそのまま入れたらどうなるでしょう?
  2. モデルは数をかけたり足したりします(第12章)。すると「私は」は「に」の約30倍大きい値として扱われます。番号の大きさに意味はないのに。
  3. そこで番号の代わりに、場所で表します。単語の数だけ欄を作り、自分の場所にだけ1を入れます。これがワンホット表現です。
  4. これで大きさの差はなくなりました。でも問題が2つあります。1つめ、長すぎること。GPT-4oなら約20万欄のうち、1はたった1つです。
  5. 2つめ、どの単語もみんな同じだけ他人どうし。どの2語でも、距離は√2(第8章)、内積は0(第9章)です。
  6. 犬と猫が似ていることを、ワンホットでは表せません。犬とバスと同じくらい遠いのです。
  7. 必要なのは、短くて、意味が似ていれば近くなる数の列です。それが次の章で出会う埋め込みです。

この章のまとめ