【AI入門】[エンベディング]によるベクトル化の可能性 -人の思考をベクトル化したら?
先日、自分の家紋や、ひいては、自分自身を表現する「自分の個人の紋章」を生成系AIで作れる、という、未来のAIの可能性について述べました。
「エンベディング」って?
この考えに至った概念、また、Chat-GPTなどの生成系AIが使っているのが、モノを数値化、正確には、「ベクトル値」にするためにする「エンベディング」というものです。
ベクトル値?、エンベディング?
聞きなれない言葉ですよね。
物事をベクトル化することが、今後、さまざまなことに革新をもたらすでしょう。今回は「エンベディングして物事をベクトル(数値)化すること」について、簡単に説明します。
ベクトル値とは?
まず、ベクトル(数)値とは何かを説明します。
3次元ベクトル
僕たちの世界では、モノの形を、縦、横、高さの3次元で表します。
どちらも3つの数値で、そのモノの大きさや存在位置を定義できます。
僕たちの生きている世界は3次元といいますが、こうした3つの次元=変数で表現するのが一般的なので、3次元というわけですね。これを3次元ベクトルといいます。
ちなみに、さきほどのメガネケースは、3次元ベクトルになおすと(3,5,10)という3つの数値の並びになるわけです。
ベクトルは方向という意味で日常会話でも使われています。「あなたの考えと私の考えは、同じベクトルを向いてるね」などと言いますよね。
生成系AIは「ベクトル値」の計算を行う
Chat-GPTなどの生成系AIは、流ちょうな言葉で回答しますが、これは、入力された文章の回答にふさわしい文章を、「ベクトル値」の計算をして、一番ふさわし単語を並べて出力する形で回答をしています。
多次元のベクトル値
では、どのようなベクトル値を計算しているかというと、多次元のベクトル値となります。
多次元とは、字のごとく、多くの次元のことです。その理由は、Chat-GPTは、僕たちが使う、言葉を「適切に」使いこなさなければならないからです。
例えを出していきましょう。言葉を話すには、「単語」を流ちょうにつなげないといけないですよね。
ましてや、Chat-GPTは、言葉だけでなく、画像も、音声も、扱います。
世の中の単語や画像など、色々なものを、意味を持たせて理解、区別させるには、単語やモノなどの持つ意味や概念といった複雑なことを、コンピュータに認識させ、区別させないといけません。
コンピューターが扱えるのはデータです。データーとは数値の並びです。
この複雑な、単語やモノなどの持つ意味や概念を数値の並びで理解させようとしたら、3次元の3つの数値の並びだけでは、とても理解させられません。もっと多くの数値を並べて、個々の単語や物の概念を認識させないと、それらを使い分けることができないのです。
そのため、複雑な数値、つまり多次元な数値が必要。これを多次元のベクトル値、と呼びます。
生成系AIの扱うベクトル値
では、生成系AIを賢く動かせるためには、単語や画像をどれぐらいの次元を使って表現、区別すればいいのでしょうか?
これは、Chat-GPTやGoogleのBardなど生成系AIによって異なりますが、一般的なには数千~多ければ数万以上の多次元の値が必要になります。
つまり、Chat-GPTなどの生成系AIのシステムは、その内部で、単語などを(10,14,26,53.345.20,632,12,76,...)といった数千、数万次元のベクトル値で管理、把握、計算をして、動いているということです。
エンベディングとは
AIはシステムなので、コンピューターを動かすCPU、正確にはGPUが高性能であれば、このような多次元のベクトル値を計算し扱えるのです。
そして、この「モノゴトの概念を多次元のベクトル数値化することを、「エンベディング」といいます。
エンベディングとGPU
エンベディングの方法は多数存在し、ベクトルの次元が多ければ多いほど扱うのが大変になるため、大きなコンピューターでないと扱えません。
ちなみに、こうした多次元ベクトルを計算するのに長けたコンピュータのCPUをGPUと呼び、このGPUがないと、AIを開発したり、動かしたりできないのです。
Chat-GPTが流ちょうな回答をするまで
Chat-GPTが質問に回答する際に、答えとして一番「最適」と思われるベクトル値を計算し、それに最も近いベクトル値をもつ単語を出力します。
出力後の回答文の次の言葉を出すために、さらに続きの単語としてふさわしい単語を、やはりベクトル計算して……を延々と続けることで、流ちょうな言葉で回答をしているのです。
ベクトル化の可能性
物事の概念をエンベディング→ベクトル化
こうした物事の概念をエンベディングしてベクトル化することで、今後色々な可能性がでてくると思います。
「ベクトル値がより近似値」であることが「似ている」ということ、だからです。
人の思考をベクトル化したら
人の思考をベクトル化したらどうなるでしょうか?
このエンベディングをすることによる、モノの概念を数値化する。
このことで、以前お話しした、家紋の画像と意味を数値化して表現する、ことなどができるようになります。
さらには、哲学などの思想、喜びや怒りなどの感情など、の抽象的な概念も、このエンベディングによって、ベクトル化することが理論的には可能ですし、遠くない将来、そうなるでしょう。
アナログとデジタルの融合
そうすれば、今まで「なんとなく気に入ってる」といった抽象的な事象から、哲学などの思想やアートに至るすべてのものが、アナログからデジタルに置き換えることができます。
これは、アナログとデジタルの融合ともいえるわけで、こうすることで、言語化できなかった、ヒトの知恵、すなわち、暗黙知などが数値化され、より論理的に扱えるような時代になるかもしれません。
「エンベディングによるベクトル化」、未知の可能性
それほどに、この「エンベディングによるベクトル化」には未知の可能性を秘めており、今後AIがAGIになる過程において、様々なことがデジタル化されていくと、僕は思っています。