ロボマインド・プロジェクト、第306弾!
こんにちは、ロボマインドの田方です。
ようやく、正体が見えてきました。
何のことかというと、LaMDAです。
意識が宿ったと話題となったグーグルのAI、LaMDAです。
意識が宿ったことはグーグル自体が否定してますし、たとえば元MITメディアラボ所長の伊藤穣一さんとかは、単なる言語モデルに意識が宿るはずがないって、あっさり切り捨てていました。
ただ、一般人や、AIの専門家の中にも、これは本当に意識が宿ったといえるんじゃないかって意見が分かれていました。
僕も、この件に関して、第270回「AIに意識が宿ったかを見抜く5つのポイント」で解説しました。
その中で、もし、本当に意識が宿ったんなら、グーグルがとっくに発表してるはずで、それが出てこない以上、まやかしだって語りました。
そうこうしてるうちに、LaMDAのことは、誰も話題にしなくなって、僕もすっかり忘れていました。
ところが、先日のグーグルの基調講演でLamDA2が正式に発表されたんです。
それも、サンダー・ピチャイCEOが直接、発表したんです。
これが、かなり面白かったんですよ。
正直、僕が思ってる以上のものでした。
さすが、グーグルです。
グーグルが何を目指してて、LamDAは、何ができて、何ができないのか、ほぼ明確になりました。
僕は、AIの意識とか、言葉の意味理解について長年研究してきてます。
特に、コンピュータの意味理解に関しては、自然言語処理から言語学、脳科学まで幅広く研究してますので、誰よりも精通してると自負しています。
その視点で、今回の発表を見ると、今のAIの限界というものが見えてきました。
これは、グーグルの研究者自身も気付いてないことです。
これが今回のテーマです。
正体を現したグーグルのAI、LaMDA2
それでは、始めましょう!
最近のAIの流行りは、大規模言語モデルを使った文章の自動生成です。
イーロン・マスクが設立したOpenAIのGPT-3が有名ですし、LaMDAもその一つです。
何がすごいかって言うと、人が書いたのと見分けがつかないぐらい高精度な文章を生成できることです。
中身は単純で、ある単語が出現したとき、次の単語の出現確率はどうなるかってことを計算するだけです。
それが、最近は、どの単語とどの単語が出現したら、この単語が出現する確率が何%とかって、膨大な組み合わせを計算するんです。
そのためパラメータの数も膨大になって、LaMDAの場合、5400億個ものパラメータがあるらしいです。
今、大規模言語モデルは、このパラメータの数の競い合いになってます。
それでは、さっそく、LaMDAの中身を見て行きましょう。
こっからは、基調講演の内容から取り上げます。
まずは、Imagine Itってアプリです。
これは、何かテーマを決めると、それに関する文章を自動で生成してくれます。
たとえば「海の底にいるところを想像してみて」って入力します。
すると、「あなたは、マリワナ海溝の最も底にいます」とかって、文章を生成するんですよ。
さらに、それに関連する質問が出てきます。
たとえば、「どんな臭いがしますか?」とか、「どんな種類の生き物がいますか?」とかって。
それで、これ(どんな種類の生き物がいますか?)を選ぶと、「海の底には奇妙な生き物が暮らしています」とかってどんどん、文章を作ってくれるんですよ。
これって、すごいことなんですよ。
でも、これだけじゃ、何がすごいのか、よく、分からないですよね。
これ、GPT-3と比べると、よく分かるんですよ。
GPT-3でも、最初に単語を入力すると、それに続く文章を自動で生成してくれます。
(第270回の7:30~8:03を流す)
これが、今までの文章自動生成です。
大規模言語モデルって、単語の次にどんな単語が来るかを学習するわけです。
おそらく「お母さん」って単語の近くに、「ダンナ」とか、「お腹」って単語が来る確率が高かったんでしょう。
「お腹」って単語の近くに「触る」って単語が来る確率が高かったんでしょう。
そんなのをつなげるから、こんな文章になるんです。
意味とか文脈とか、お構いなしです。
大規模言語モデルで文章を作るって、意外と難しいってわかるでしょ。
それが、LaMDAは、そのレベルの問題は軽く解消してるんですよ。
おそらく、これは、検索で培ったグーグルの技術の賜物でしょう。
ユーザーが探してる情報をいかに的確に提示するかって検索エンジンの技術がここに生かされてるんです。
たとえばグーグルは、Word2Vecという技術を持ってます。
これは、単語をベクトル空間で表現します。
細かい内容は省略しますけど、これを使うと、こんな計算ができるんです。
王 – 男 + 女 = 女王
これは、王って単語から、男の成分を引き算して、女の成分を足し算すると、女王って意味になるってことです。
単語の意味をベクトルで表現してるから、こんな計算ができるんです。
これを使えば、文章そのもの、つまり単語の並びだけを学習するんじゃなくて、文章の意味を学習することができます。
たとえば、今回のデモで、「ニューヨークで人気のピザのトッピングは?」って質問を、ベンガル語でするデモもありました。
ベンガル語で書かれたそんな文章を学習しても、ニューヨークのピザの話題なんか、ほとんどないですよね。
でも、英語の記事をベクトルに変換してから学習すれば、ベンガル語で質問されても、正しく応えることができます。
グーグルは、こういうノウハウに長けてるんでしょう。
次は、List Itというアプリを見てみます。
これは、何かをしようと思ったとき、タスクを分解して、リストを作成してくれるアプリです。
たとえば、「家庭菜園を作りたい」って入力します。
そしたら、一瞬で、サブリストを作成してくれます。
・「何を育てたいかのリストを作る」とか
・「あなたの地域だと、何が育つか調べよう」とか
って感じです。
そして、これ(あなたの地域だと、何が育つか調べよう)を選ぶと、さらにサブリストを作ってくれます。
たしかに、これは使えそうです。
これだけじゃありません。
次は、もっとすごいですよ。
論理的に思考して数学の文章題を解くってデモです。
数学の文章題を学習させることで、LaMDA自身に論理的な思考を身に付けさせるんです。
さっそく、例をみてみましょう。
次の問題を学習させます。
ロジャーは、五つのテニスボールを持っています。
彼は、テニスボールが入った二つの缶を買いました。
缶には三つのテニスボールが入っています。
さて、彼は今、合計いくつのテニスボールを持っているでしょう?
これが問題です。
ここで、答えを導くための思考の過程も教えるんです。
ロジャーは、最初、五つのボールを持っていた。
テニスボール3個入りの缶が2缶で6個のテニスボール。
5+6=11
これで、答えは11となります。
これを学習させるんです。
つまり、文章題と、それに対応する数式をペアで学習させるわけです。
すごいのは、こっからです。
次の問題はこれです。
「5月は合計で何時間ありますか?」です。
そしたら、まず、次のように考えます。
一日は24時間です。
5月は31日あります。
31×24=744
よって、5月は合計744時間です。
正解です。
どうです?
テニスボールが合計何個になるかの思考過程を教えるだけで、5月に合計何時間あるかを自分で導き出したんです。
これは、すごいでしょ。
これって、もう、意味を理解してるっていってもいいんじゃないでしょうか?
さて、こっからが本題です。
本当に、LaMDAは意味を理解してるんでしょうか?
LaMDAは、いったい何ができて、何ができないんでしょうか?
最初のデモに、そのヒントがありました。
「海の底を想像してみましょう」といって「マリワナ海溝の底にいます」って続けてましたよね。
「海の底」から「マリワナ海溝」を想像したわけです。
その後、奇妙な生き物の話とかが続きましたよね。
海の底に関連する単語が何か、分かってるようです。
それから、ピザのトッピングが何かも分っていましたよね。
これ、「海の底」に「マリワナ海溝」とか「奇妙な生き物」を関連させて覚えてるんでしょう。
おそらく、ピザはトッピングを持ってるって形でデータ管理してるようです。
家庭菜園の場合だと、家庭菜園は、場所とか、植える野菜とかを持ってるって管理してるんでしょう。
そうやって管理すれば、リストを作成することができそうです。
同じように考えれば、缶は3つのテニスボールを持ってるって管理してそうです。
それと数式をペアで学習すれば、何と何をかけ合わせれば合計になるって計算のパターンを導き出せそうですよね。
それが分かれば、月と時間の関係でも答えを導きだせます。
どうも、○○は○○を持ってるって関係でデータを管理することで、いろんなことが上手く行くようです。
ただし、これは、今回紹介したデモからみた話です。
意地悪な見方をすれば、うまく行くものだけを、デモとして紹介してるとも見えます。
それじゃぁ、上手く行かない場合ってあるんでしょうか?
じつは、このデモの中にも、ちょくちょく、おかしなものが出て来てたんですよ。
でも、ピチャイCEOは、そこは無視してました。
それじゃぁ、何を無視してたか見て行きましょう。
たとえば、最初のImagine Itのデモです。
「あなたは、マリワナ海溝の最も底にいます」って文章を、読み上げていました。
でも、その後の文章は無視して飛ばしてるんですよ。
さて、何て書いてあったか読んでみますね。
「波が潜水艦の壁にぶつかっています」です。
なんか、ちょっとおかしいですよね。
海の底に波があるってのが変です。
だって、波って海面にありますから。
海の底にはありません。
おそらく、海は波を持ってるって管理してるんでしょう。
それから、海の底は潜水艦を持ってるとか、潜水艦は壁を持ってるとかって。
そして、これらの単語を自然な文になるようにつなげたんでしょう。
そしたら、「潜水艦の壁に波がぶつかっている」って文章になったわけです。
文章としては自然ですけど、海の底では起こり得ないことです。
これがLaMDAの限界なんです。
それじゃぁ、もっと他に、うまいデータ管理の方法はないんでしょうか?
じつは、原因はデータの管理の仕方じゃなくて、もっと根本的なとこにあるんですよ。
それは、学習データです。
つまり、テキストデータが問題ってことです。
ここ、もう少し詳しく説明します。
僕らが生きてるの世界はテキストの中じゃないですよね。
三次元世界ですよね。
空間があって、重力があって、固体や液体や気体がある世界です。
重いものは下に落ちて、海の底に沈みます。
海の表面は、風で波が起こります。
こんなの、○○は○○を持ってるって関係だけで表現できません。
これが、テキストデータだけを学習する大規模言語モデルの限界なんです。
じゃぁ、僕らが生きてる世界のことを理解するには、どうすればいいんでしょう。
それは、僕らが生きてる世界そのものを表現しないといけないんですよ。
たとえば、三次元空間を理解するには、三次元空間を再現できないといけません。
つまり、三次元の物理シミュレーションとかです。
それなら、重力も、波も再現できます。
そして、再現したものに対して、「海」とか、「波」って単語を割り当てるんです。
これが、意味を定義したってことです。
大規模言語モデルの限界が分かってきましたか?
どれだけ大量の文書を学習しても、どれだけパラメータを増やしても、テキストデータを学習する限り、現実の物理世界には絶対に辿り着かないんです。
これを、記号接地問題と言います。
または、シンボルグラウンディング問題といいます。
ここまで考えたら、自然言語処理の本質が見えてきました。
LaMDAは、かなり実用的なツールになってきています。
ただし、本当に言葉の意味を理解してるわけじゃありません。
言葉の意味を学習するには、同じ世界をシミュレーションする仕組みが必要なんです。
たとえば、物理シミュレータを使えば、上下とか、固体、液体の意味を理解させることができます。
ただし、物理シミュレータが理解できるのは、物理世界だけです。
物理世界にないものなんか、いっぱいあります。
たとえば、感情とか心とかです。
でも、これも物理世界と同じように考えればいいんです。
つまり、心の動きをシミュレーションするシステムを作るんです。
嬉しいとか悲しいって感情を再現する心のシステムです。
さらに、感謝や、善悪といった心理状態を再現するようにすれば、相手の気持ちを理解して、自然な会話ができます。
でも、そんなことしてるとこ、世界中、どこにもありません。
いや、一つだけあります。
それが、ロボマインドです。
ロボマインドがやってることに興味がある方は、よかったら、こちらの本を読んでください。
はい、今回の動画が面白かったらチャンネル登録、高評価お願いしますね。
それじゃぁ、次回も、おっ楽しみに!