ChatGPTとStable Diffisionと脳構造の比較と今後のAIの取るべく構造に関する考察
■最初に
この記事はQiitaで私の方で書いてる内容などをもう一度リライト、ブラッシュアップしながら、今後の自分での実装や書籍化などに向けてあらためてこちらでまとめ直していく想定での内容です。 (最初の投稿!) 内容は初心者向けではなく、かなりハードな内容ですが、言葉としては難しい言い回しは全くしないで行くつもりです。一応大規模なレンダリングハードや、サーバーサイドレンダリングシステムの設計などをしてきてる中での経験や知識からの深めの話をするつもり。(絵文字入んないのか・・・??)
■ChatGPTの衝撃の根本部分
ChatGPTの話題はもはや全人類のバズワード化している感がある。余りにやりすぎでは?という意見もあるけど、実際にはそうでもない。なぜかと言えば、ChatGPT、特に4では今までのAIでは絶対にできなかったのではと思われる新たな知能が 「発現している」 のが明確になってきたからだ。それは具体的には、「Winograd Schema Challenge」(ウィノグラード・スキーマ・チャレンジ)という、その文章だけではなく、正直を知らないとできない質問を悠々とこなすからだ。人工知能は古来、「常識をどうやって教え込むのか??」が大きな問題になって来ていた。機械なんだし、何も知ってるわけもないから、人間のように、この世で知性として役立とうと思ったら、絶対的に「常識」がいる。カバンとはどんなものか。バスとかどんなものか、そういう事を知らなければ「バスにかばんを忘れた!」と言われても何のことだか、ちっともわからない。なんとなくわかった言葉を返すだけだったのが今までのAIの限界。AIは理解してない論を繰り返してる一部学者とかいまだにいるけど、それはこれを根拠にしてる。
ところが、 ChatGPT君はこれを鮮やかに解いてしまう 。全然困らない。だって実際にバスと何だ、とかかばんは何だ、とか聞けばちゃんと全部答える。日本語だけではなく、英語でも他の言語でも。それだけで我々よりすでに知識はある、常識も持っている。
そしてもう一つが「心の理論」だ。心の理論とは簡単に言えば、「話してる相手に気持ち(感情)を類推できる」「ものや人に対して、「心があるかどうか」まで分かる」「その場面では誰(ないしもの)がどういう気持ちを持っているかを判断してそれを元に言葉を作る」事ができるという事。
これらに関しては、既に最初から、成績が非常に良い、という事が言われていて、実際にChatGPTで誰でも試せる状態ではあったし、確認できたので、話題になった。しかし人間にはまだかなわないかな??という事だったけど、実はよく調べてみると、指示プロンプトを調整すると、なんとこれらの問題を「人間以上に」解けるという事が分かってしまい、論文にもなった。
つまり 「常識や心を人間以上に分かる機械」 がもう完成してしまった。実際に動作してしまった。これもStable Diffusionの神絵を作れるマシンとしての驚き、いやそれ以上の驚きで人類に迎えられたと言っていいだろう。
■ChatGPTの構造について
詳細はおいて置いて、概略図は乗っけておくよ。まずは基本構造
そして、それらを組み合わせた全体構造。
細かい動作は既にいろんな人が描いてるからあまりここでは説明しないよ。この話に重要と思う所だけ。この構造を見てわかるのは、
- 非常に単純な構造の繰り返し
- 超大規模
という事だ。設計だけだったら、もはや高校生ぐらいでも情報を習ったら理解できるようなレベルの簡単さ。この簡単さがでも、まさに 衝撃の部分 なんだよね。みんなこんな単純な構造では複雑な事は出いないだろう??という予測をしていた。日本の学者とか特に軽視していたのは明確だ。でも、上に述べたような事が実際に起こり、しかもオープンで1億人とか試しちゃったので、偉そうなことを言っても否定が全くできなくなった。自分もでも実際、これだけの営農は出ないだろうと予測していて「なめてた」(すいません)。
だけど出来てしまった。今度は逆に、 なぜこの構造では、高度な処理ができたのか が問題になってくるわけだ。これをここではこの後議論しようと思う。
■Stable Diffision(LDM)の衝撃の根本部分
こちらもいわば「生成系AI」のChatGPT目に登場して、人間の創造性、という一番AIなどではできないだろう?と言われた分野を一気に広げまくってしまったことで世界中で話題になった。Stable Diffusionは特にオープンソースであり、それが公開されたことで世界中で自宅PCで動かせるようになった。しかも高度な処理に対して、メモリも異様に少ない。データセットも数Gバイトとかで何千万枚と学習させてる中ではめちゃくちゃに小さい。必要メモリもRTX3060の12Gぐらいでも十分に動く。自分でもずっと使っている。
これは出た当初もなかなかのクオリティではあったが、それでもMidjourneyなどの商用のアプリケーションに比べればそれほどかな?という点もあり、また目が4つあったり、手足が6本あったりと言った壊れた絵も多く、たまに出るあたりを引いて遊ぶ、自分の絵の参考にしたり、みたいな使い方だった。それが最近の数か月でクオリティが劇的にアップし、ControlNetなども利用出来て、ポーズや顔の表情を指定出来たり、キャラの一部だけ調整したり、動画も作れたり、と毎日のようにバージョンが上がって、もはや神絵どころか全くの写真としか思えない人物を大量に安定して作成できるようになった。つまり既にAIが絵を描くスキルは 「ほとんどの人類を超えて」 しまった。
■Stable Diffision(LDM)の構造について
Stable Diffisionを作るLDM(Latent Diffusion Model)の構造も上げておこう。これも詳細はそれぞれの何かを見てもらいたい。自分のQiitaの記事も含め、もっと詳しい説明はたくさん既にあるから、基本的に説明は省きます。
で、これの重要な部分はこの基本構造がとても小さいという事だ。GPTなどとは違って、Latentの攪拌部に当たるU-Netでは64x64の画像空間しか扱わない。これも「なぜ動く?」という部分に絞ってこの後話をしたい。
■両者の相違点
さて、早々に両者の違いについて書いて行こう。
GPTの構造は書いたように非常に単純でいわばフラットな構造だ。どこを切ってもTransformer。ひたすらひたすらTransformer。
これは人間の脳でいうとどこだろう?お分かりだろうか?そう、それは人間の知能をつかさどる大きな部分、そう「大脳」の構造に酷似している。
大脳は、それぞれの処理を「カラム」と言われる構造単位で行う事が知られている、カラムは完全固定ではないが、まとまった処理単位として働いていることがわかっている。そうまさにTransformerと比べられるようなある処理単位が延々と並び、しかもそのシンプルな構造が脳の一番多数の所を担っている。そして大脳はいわば「白紙」に近い状態で生まれてくる。もちろん完全な無構造ではなく、大枠のつながりは生まれる時に出来ている。でも例えば人間は生まれてmから、物を見るようになって初めて「視覚野の大脳が構造化される」ことがよく分かっている。つまりのン等に物を見るために、人間の大脳は最初は大枠構造しか持たず、生まれてからの学習で構造化されてはじめて緻密な絵が見えるようになっていく。
人間の視覚野という人間の意識や知能に極めて重要な役割の部分すら人間は「生まれてから」生成される。実際に生まれてからしばらく目をふさいでおくと人間の目はきちんと認識ができなくなる。これは脳の可塑性と成長時期が密接にかかわっていることを示している。
まあ要は
ChatGPTは巨大な「大脳」のシミュレータとしての構造だ
一方、Stable Diffusionはどうか。
Stable Diffusionの構造は基本的には、非常に重要なポイントとして、Latent Space(潜在空間)と呼ばれる、U-Netの構造を持つことだ。そしてそこには、VAEのエンコーダを通った、元絵としての「概念情報」が入ってくる。そしてそれをLatent Spaceではひたすらぐるぐる回しながら、一方の言葉の認識器(CLIP)から入ってきた言葉からの絵の概念をU-Net内で攪拌していく。
だから、Latent Spaceでは「様々な絵の概念」が混ぜ合わされている。しかも何回もSTEP数分だけノイズ除去をしながら混ぜ合わせる。これによって、言葉の概念、特定の絵の概念が絵にまじりあいながら、Diffusionモデルとして、ノイズ除去を繰り返して、一定の絵に収束している。これは構造でいえば、上のGPTの構造よりはるかに複雑でしかも脳っぽいこと、ある意味では「全脳的な構造を持って処理」をやっている。
人間の脳も、感覚器から入った情報を、概念、いわばクオリアにして入力し、それを意識で扱いながら自分の行動を決める。意識が無いのと実際には同じ(受動意識仮説)とする人々もいるけど、自分はそうは思わない。「意識」という現代科学からは鬼っ子扱いされてるものが、実際には自分そのもの。科学はまだ「自分自身」が全くわかってない。これも自分には仮説があるけど、それは別の項で述べる。ここれは、このLDMの構造の特徴部分だけ記載する。
ここでの流れとしては
- 言語や絵としての入力(ノイズ含む)
- VAEのエンコードでそれを潜在変数に
- 潜在変数を拡散しながら、ノイズ除去を繰り返し、イメージを明確化する処理を繰り返す
- 十分に攪拌したところで外部に再びVAEを通って出力
という流れだ。何か次の単語を予測するだけ、に見える単純なGPTの構造とは大きく違い、それぞれのネットワークが、効率的に最初から構造がありそれおぞれが処理をしている事がわかる。
これはつまり簡単に言うと、小さい動物やまさに絵を描くだけの小人さん、のようなふるまいでだ。
LDMは小さいが全脳型のアーキテクチャであり、処理だ、という事だ
まとめよう。
つまりGPTは大脳型アーキテクチャであり、LDMは全脳型アーキテクチャである。
■ここから何が言えるか?
ここから何が言えるだろうか。この記事は分析だけでは無く、より深堀りしたい。まず、それぞれ違う構造を取っているのは、歴史的な経緯や、チームとしての設計方針など、偶然もあるものと思われるけど、それ以外にも面白い所がある。大脳型は完全にフラット構造であり、事前の構造は非常に少ない。しかしそれでどうやって高度な知能を実現するのか?ここが日本の研究者たちがぅっと今でも突っ込んでいる所(例:苫米地氏)だ。できないだろう?と思っていたがでも、「出来てしまった」これはどういうことか?
これは既に論文として出始めていて、その中では以下のような事が明確化されてきている。
構造は元々フラットではあったが、その中に、多数の単語の概念などが出来上がっている。これは他のLLMでもそうなんだけど、このGPT4クラスにはより抽象概念としての言葉の領域が学習によって発生している。これによって高度な常識や抽象概念を含んだ処理が可能になっている。これは当然今のふるまいから予想はされたえど、実際にその構造が「自発的に発生している」事が証明されたという事。
つまり、大脳型のGPTは非常に多数のTransformerの並んだ構造と大量の学習で、この抽象概念、いわば潜在変数、「クオリア」を自発的に発生した能ではないか、そしてそれを扱っている、という事ではないか?という事だ。
で、これがこの構造のどこに発生しているかなんだけど、これは明確に、この多数のレイヤーの真ん中あたり、で発生しているものと考えられる。ニューラルネットワークの構造は、昔は3層とかでしかできなかったけど、あのGoogleを辞めたジェフリーヒントンらによって、まず「オートエンコーダ」と呼ばれる構造が作られた。オートエンコーダの構造は、ニューロンにつながったネットワークが「外からくるときに次第に絞られていき」(エンコーダ)細くなってから、また「広がって仏力につながる」(デコーダ)という構造だ。これで入るものと出るものが同じになるように学習すると、要は中では「ニューロンと線の数が足りないので情報は不必要なものがしてられ」「特徴が抽出され」「それが再度学習で補間されて大きな情報として外に出ていく」というものだ。
画像認識のCNNとかは実はこの入る部分だけを作てる訳。
そしてこれは人間の学習に元々似ている。まずいろんな人の行動や言葉を「まねる」まねるとは、中の処理系で入ったものと同一のものを出すことだ。それによって、中の絞られた構造を通る事で、その「大事な部分だけが残ってそれが復元で来るようになって」始めてまねることができるようになっていく。ここでは全体情報量は一度削減され、再度拡張される。
実際にLDMの構造はこれの変型版だ。VAEはVaridational Auto Encoderであり、特に元のAuto Encoderより概念の抽出と、概念からの絵の生成を使う事で異常なものなどを検出しやすくするという形をとっている。そして中心のU-Netも実際にはほぼバイパス経路のあるAutoEncoderだ。しかもここでは概念自体を圧縮し、拡張している。さらにその圧縮・伸張処理の最中にTransformerのAttention機構だけ実装する事で、言葉の概念を混ぜ込んでいけるようになっている。
つまりこの構造は元々のヒントンの考えたオートエンコーダーのとりわけ優秀な進化系であるともいえる。
では大脳型アーキテクチャのGPTではどうなっているか。この構造は入り口も出口も、そして真ん中も実際には同じ大きさだ、いわば寸胴な構造なのだ。ではこれでは情報の圧縮はされないのでは?と思う。しかし実際には、この中間部こそ、多少無駄ではあるが、Latentの抽出や、その層を行っている構造が「自発的に学習によって作られている」といういう事だ。
ちょうどいい具合に、中間層は、もとの情報を一度抽象化する事で情報量は大きく減る。そしてその余った部分に、自発的に潜在変数や高度な抽象概念、心の理論、COTなどが作られた、と考えることができる。つまりは、LDMは生まれて比較的すぐに動く生物のように低学習量で速やかに動く(GPTに比べれば)。そしてGPTは大脳として、非常の多数の、人間なら成人になるまでの十年以上の学習で複雑な抽象概念や心の理論を自発発生させ、さらに高度な抽象思考を身に着ける構造となっている、と言える。
■両者の利点と限界
これらからは、以下のような事が言える。
アーキテクチャ | 類似構造 | 構造の複雑さ | 学習量 | リソース量 | 性能 | 向いた分野 |
---|---|---|---|---|---|---|
GPT | 大脳 | 単純 | 非常に多くしないとNG | 巨大 | 高度な知性を生みだせる | 言語処理・論理 |
LDM | 全脳 | 比較的複雑 | 比較的少量の学習でも動作 | コンパクト | 専用のスキルセットの実現 | 絵の処理・エッジデバイス |
それぞれの特徴がある事がわかるだろう。それぞれは実はかなりトレードオフであり、相補的な特徴を持つことがわかる。
■今後のアーキテクチャの方向性は?
上記の考察から、AIの今後のアークテクチャ、特にAGIとしてのふるまいは今後非常に多数の場所で求められることになるが、そういったものの実現でどのようなアーキテクチャが良いかを考えて見よう。
上記は、2つの方向性があって、票でわかるように、「大型だが大脳のみ」「小型で全脳型」と分かれていることがわかる。これは両者とも発展途上であり、言ってしまえば人間は両方がそろっている脳を持っている。つまり大きな大脳で全脳として機能している。そしてそれによってまさに人間としてのふるまいが可能になっている。
これから言えることは、まずこの2つのアーキテクチャは今後「融合されても問題ない」ないしむしろ「積極的に融合されるべき」という事だ。大脳構造も、Latent部分を切り分けて持つことで、初期の学習量が少ない時の動作が安定化し、さらに必要なCOTなどの学習をより効率的に行う事ができるようになっていくだろう。そして、今は言語解釈にCLIPなどを利用しているLDMはより大きな大脳構造を持つことで、大量の文章からの文脈をつかみ、その中から絵の発想を深く検討し描画する事も可能になって行くという事だからだ。
この項の結論
今回は代表的な生成AIの構造の検討と、特徴の把握を行った。これにより、2つのアーキテクチャは違うものの、神減の脳のそれぞれ一部分のもした構造であり、特性もまさにその通りであることが分かった。そして今後はその融合ア0木テクチャがAGIの実現に向けての指針になることが分かったと思う。
Discussion