ロボット共生社会の基礎知識 第14回 ロボットの可能性を広げる生成AI、大規模言語モデル
動画も作れる生成AI
上の画像は、Stability AI社の「Dreamstudio」を使って生成した画像です。「生成AI(Generative AI)」とは、学習データと同じようなデータを出力できるような性質を持つニューラルネットワークのことです。「プロンプト」と呼ばれる自然言語による入力を与えることで、テキストや文章、画像、音声などを生成することができます。特に画像生成においてズバ抜けた性能を持つイギリスのStability AIの「Stable Diffusion」や、テキスト生成のアメリカOpenAIの「ChatGPT」登場以降、2023年から爆発的に活用法が模索されています。
なお「ニューラルネットワーク」とは何かということも気になる点だと思います。よく「神経ネットワークを真似た計算ネットワークで、層状の神経細胞で構成され、学習データに基づいて重みを調整することで入力から出力を生成する仕組み」と言われています。実際のところは入力から何かしらの計算を行って出力を出す関数で、線形代数が使われています。「高校の数学で習う行列って何に使うんだろう」と思っている方もいらっしゃるかもしれませんが、こういうところに使われているのです。ロボットの運動学計算にも行列が用いられています。
さて、生成AIが作れるのは静止画像だけではありません。スタートアップのRunwayの「Gen2」、Googleの「Lumiere」や、Stability AIも動画を生成できるAIを開発していることが知られています。自動生成されたものだとは信じられないような動画もあります。
さらに、OpenAIが2024年2月に公開した「Sora」は、「diffusion transformer (DiT) 」というしくみを使い、テキストから高画質の動画を作ることができます。一般公開はされていませんが、最長1分の動画を作ることができるそうです。実際に作られた動画は、こちらで見ることができますが、本当に驚きの出来です。従来は苦手とされていた、時間的な一貫性も多くの場合は保たれています。よく見るとおかしなところもまだありますが、一度見ただけでは気づきにくいレベルになっています。
テキストから動画を作るだけではありません。静止画から動画を作り、その動画の一部を改変した動画を作ることも自由にできます。一般公開しない理由の一つはデマや悪用を防ぐためなのでしょう。なお、名前は日本語の「ソラ」に由来するそうです。「無限の創造的可能性」という思いがこめられているとか。
そして、ここには重要なことが一つ書かれています。動画生成AIは単に動画を作るだけではなく「物理世界の汎用シミュレータを作るための有望な道だ」というのです。実際、生成されている動画を見ると、物理法則を反映しているように見える部分もあります。リアルで破綻していない動画を作るためには、世界のシミュレーションがある程度できないとダメなのでしょう。
生成AIで音楽を作ることもできます。「Suno AI」はテキストを入力するだけで簡単に音楽を作れます。歌詞を入れる必要すらありません。「元気になる曲を」「勉強がはかどる曲を」といった適当な注文をするだけで、歌詞付きの音楽が出てくるのです。
試しに「機械やロボット、AIに興味を持つ若者を励ます曲を作ってください」と入力してみました(日本語も使えます)。20秒くらいでできあがった曲の一つがこれです。タイトルも「Suno AI」がつけたものです。
これも簡単に試せるので、まだやったことがない方は是非試してみてください。音楽がわかる方なら、ここからさらに手を加えるのも良いと思います。
大規模言語モデル(LLM)
生成AIのうち、大量のテキストデータを学習して、テキスト関連の生成ができるモデルが「LLM(Large Language Modelの略。大規模言語モデル)」です。数十億から数百億のパラメータを持つ大規模なネットワークです。大量のデータで学習しているLLMは一般的な知識表現を獲得していると考えられ、しばしば、生成AIの基盤としても用いられています。要するに「常識や知識をいっぱい持っていて、その知識を自在に活用できる」という意味です。
LLMを使ったサービスで、一番よく知られているのが「ChatGPT」です。「ChatGPT」のGPTとは「Generative Pre-trained Transformer」のことで、Transformerという機械学習のしくみを使って大量データで事前学習をしているネットワークという意味です。自然言語処理を行って文章を理解し、チャットによる質問に対して応答してくれます。長文を要約したり翻訳したりする作業も瞬時に行ってくれます。
「ChatGPT」はこのコラムでも何度かご紹介していますが、使ったことがない方は是非一度、自分で試してみてください。無料版でも、ほぼあらゆる質問にスラスラと答えてくれます。画像生成AIに入力するためのプロンプトを考えてもらうこともできます。
生成AI全般に言えることですが、使い方にはコツがあります。生成AIでは出力結果の中から「良い」と思えるものを、さらに発展・拡張させていくことが簡単にできます。最初の出力は今ひとつであっても、何度もやりとりすることで、どんどん面白い結果を出力させることが可能です。製造業などで「学習させるためのデータが足らない」と言われる領域でも、最近は生成AIを使ってデータ自体を作り出す試みが多く行われています。
ただし、ときどきウソを言います。勝手に、ありもしない情報を作り出してしまうのです。「ハルシネーション(Hallucination)」と呼ばれています。「幻覚」という意味です。その点は気をつけなければなりませんが、いくらでも相手してくれますし、勝手に切り上げても文句は言いません。
面白いことに、AIに対しても礼儀正しく質問するほうが良い答えが返ってくる傾向があることが知られています。もともとの学習データがそうなっているからなのかもしれません。雑な質問に対しては雑に、丁寧な質問に対しては丁寧に返すものです。
LLMを使えばエンジニアの仕事も自動化可能に?
「国際ロボット展」でデンソーウェーブが出展した、ChatGPTを活用した自然言語でのロボットプログラムの生成
LLMを使うと、プログラミングのコードを作ることもできます。つまり、自然言語(普段、普通にしゃべったり書いたりしている言葉のことです)で入力する(指令を与える)と、コードを出力するといったことができます。
これをロボットに使うと、自然言語でロボットに命令して実行する(ためのコードを生成して実行させる)といったことができるようになります。これまでコードは人間のエンジニアが手で書いていましたが、そこを自動化できれば、より深いレベル、本当の意味での自動化が可能になります。
2023年の「国際ロボット展」のなかで、産業用ロボット大手のデンソーウェーブは、ChatGPTを使ってロボットのプログラムを自動生成するデモを行いました。
作業してほしいことを口頭で言います。すると「Whisper」という音声認識モデルを通じてテキスト化されて、その動作を実行するコードが自動で生成されます。たとえば「まず最初に作業原点に移動します。原点はP1です」「次に作業直前の場所に移動します。場所はP2です」「作業場所ではハンドを閉じてワークをつかみます」といった条件を指定してプログラムを作成させるのです。
これができると、ロボットの制御や動作させるプログラム言語の書き方自体は知らなくても、作業内容を知ってさえいれば、ロボットを動作させることができます。作業のあいだでの修正や条件を追加するのも容易になります。ロボットに新しくいろいろな作業をやらせたいと考えた時に、動きを変えることも簡単になるのです。
また、ここがLLMのすごいところなのですが、ChatGPTはあいまいな指示も理解できます。あいまいな表現をふくむ自然言語で音声指示を行って、作業をさせることも可能です。国際ロボット展ではインスタントコーヒーを淹れるという作業を行っていました。
コーヒーの粉を一定量だけすくったり(秤量と言います)、混ぜたりするスキルは「AI模倣学習」を使って再現されています。ロボット関節の角度情報や、はかりの重量などの値の関係を学習させたモデルを使って、指定された量をすくったり注いだりすることができます。この技術はアメリカのintegral AIという会社が開発したものです。「integral Task Planner」と呼ばれています。デンソーウェーブによると、AIにロボット動作の手本を見せると、AIが手本を模倣して自律的に動き出すことができるとのことです。
動作で示すことはできるけど、言葉にするのはなかなか難しい作業というのもありますが、そういう作業を自動化させることができるのです。
世界を理解させ、行動させるためのLLM
LLMはあいまいな表現でも何を意味しているのかを理解できます。自動運転EV開発を行っているチューリングという会社は、自動運転のためにLLMを開発しています。LLMの本質は「言語を通じて極めて高いレベルでこの世界を認知・理解している」ことであり、「完全自動運転の実現には、人間と同等以上にこの世界を理解した自動運転AIが必要だ」というのが彼らの考えです。
LLMを使うことで、複雑な道路状況を常識的に理解して、走行を続けるために何ができるのか、何をすべきなのかが判断できます。初めて見るような、つまり事前に学習していない未知の状況でも対応できます。また、「自分がなぜそのような動き方をしているのか」ということを、自然言語で出力して人間に伝えられるというのも重要な点です。
これらの特徴は、今後、より人間に近いところで、多様な働き方が期待されるロボット全般に必要とされる能力であることは言うまでもありません。
Preferred Robotics(プリファード・ロボティクス)が販売中の「カチャカ」という家庭向け搬送ロボットもChatGPTと連携できます。たとえば、「みんなに飲み物を配ってあげて。そのときに一言声をかけてあげて」というだけで、細かいプログラミングをすることなく、そのような動きをするコードが生成・ 実行されます。ロボットがすごくじゅうなんに働けるようになる可能性があります。
このような応用は、まだまだ始まったばかりです。LLMのロボットへの活用は、今後も、どんどん広がるでしょう。
強化学習やマルチモーダルなど、将来はどうなる?
これらは現段階で実現している話です。また、今回は触れていませんが、強化学習を使った歩行制御などの技術も最近、急激に進歩しています。まるで生き物のような柔軟で多種多様な動きができるようになっています。
また、「マルチモーダル」と呼ばれるような複数の異なる種類の情報を扱う、たとえばテキストと画像や音声などを同時に入力して、ロボットの動作のようなコードや数値として出力するようなモデルの研究も進んでいます。
もちろん伝統的な手法も大事なのですが、以前は「とても難しい」と言われていたようなことが、するっと乗り越えられるようなことが実際に起きています。
「AI」という呼び方はかなり雑な言い方で、色々な技術の集合体です。活用法もバラバラです。それをひとまとめにして「AI」と呼んでいるのが実状です。しかし、いずれにしても言えることは「進歩がとても早い」ということです。技術の進化する速度は一定ではなく、早くなったり一時的に停滞したりするものなのですが、AIの世界はいま、どんどん進むフェーズに入っているようです。
たとえば、Googleは2023年12月にAIモデル「Gemini 1.0」を発表したのですが、2024年2月には能力を大きく向上させた「Gemini 1.5」を発表しました。わずか2ヶ月で大幅バージョンアップです。生成AIへ入力できる情報量を示す「トークン」も、新たなモデルが発表されるたびに増えています。こちらで使えます。
5年、10年といわず、1年、2年で、まったく違った話になっている可能性はとても高いです。皆さんが勉強するべき内容も変化していくと思います。
ロボットは動き回って、物体を物理的に操作できるコンピューターです。もっともっとロボットを使うことが簡単になったら、コンピューターによる物理空間へのアクセスがもっと簡単になります。そうなると、どんな可能性がひらけるのか。前回と同じですが、皆さんには自由な発想で考えてほしいと思っています。