見出し画像

ChatGPTから見るジェネレーティブAIの未来

昨年から画像を生成できるAI「Stable Diffusion」や、テキストを生成できるAI「ChatGPT」など普及してきました。
BingにChatGPTが導入された事で検索エンジン終了と巷で騒がれてますが、私は違和感を感じてます。
この違和感は、ジェネレーティブAIの本質的な部分についての違和感に繋がります。

ジェネレーティブAIとは

ジェネレーティブAI(Generative AI)は、コンピュータが新しいデータや画像、音声、文章を生成する技術です。AIが生成するデータは、元のトレーニングデータに似たものであることが多く、この技術は画像や音声の合成、自然言語処理、音楽作成、そしてゲーム開発などの分野で広く使用されています。
ジェネレーティブAIの最も一般的なアプリケーションは、ディープラーニングモデルであるGAN(Generative Adversarial Network)です。GANは、2つのニューラルネットワークを使用して、新しいデータを生成します。1つのネットワークは、本物のデータを表現するために訓練され、もう1つのネットワークは、偽のデータを生成するために訓練されます。2つのネットワークは競い合い、生成された偽のデータをより本物に近づけようとします。この競争的なプロセスにより、本物に近い新しいデータが生成されます。
GANは、例えば画像生成において、非常にリアルな画像を生成できるため、興味深い応用が多数あります。例えば、GANを使用して、架空の建築物の画像を生成することができます。また、GANを使用して、芸術家のスタイルで画像を生成することもできます。GANを使用して、人工的に生成された画像がリアルなものであることを識別するためのツールも開発されています。
ジェネレーティブAIは、音声や自然言語処理にも使用されます。たとえば、音声合成技術により、誰かの声を模倣することができます。また、自然言語処理により、文章を自動的に生成することができます。これには、文章のスタイルを指定することもできます。
最近の研究では、GANの派生であるVAE(Variational Autoencoder)や、GANとVAEを組み合わせたハイブリッドモデルなど、新しいタイプのジェネレーティブAIが登場しています。これらのモデルは、生成されたデータの品質を向上させ、生成されたデータの多様性を増やすことができます。

ジェネレーティブAIの前は

最初に理解しておく必要があるのは、従来型のAIは、過去のデータを中心に未来を予測したり、データを分類・カテゴライズしたりする事が中心でした。
これは、特徴量を発見して、そこから予測、カテゴライズするという機能を持っていました。
人間も同様に犬を判断する時に、耳があって鼻があって、しっぽがあって。。。猫との違いは、顔(鼻)がとんがっていたり。
これをChatGPTに聞いてみると、

犬と猫の見た目の違い
犬と猫の見た目の違いは、以下のようなものがあります。

外見:犬は比較的大きな耳、突き出た鼻、長い顔、長い首、そして比較的大きな体型を持っています。猫は、より小さな耳、より短い顔、より短い首、より小さな体型、そして尖った顔を持っています。

毛:犬と猫の毛の質感や長さは、品種によって異なりますが、犬は毛の量が多く、長い品種も多い一方で、猫は毛の量が少なく、短い品種が多いです。また、犬の毛は、猫の毛に比べて硬い傾向があります。

目:犬の目は、比較的大きく、丸みを帯び、多くの品種で明るい色をしています。猫の目は、狭く、より斜めに位置しており、様々な色をしています。

肢体:犬は、より長い足と指を持っている傾向があります。猫は、より短い足と指を持っており、爪が犬に比べてより鋭くなっています。

しっぽ:犬は、ふさふさとしたしっぽを持っている品種もありますが、多くの品種は、比較的細く、先が尖ったしっぽを持っています。猫は、より太く、ふさふさとしたしっぽを持っている傾向があります。

これらの特徴は、品種によって異なる場合がありますが、犬と猫の基本的な外見の違いは、上記のような特徴によって区別されます。

この様な従来型のAIは、データやコンテンツから学習するディープラーニングにより構築された機械学習手法した。

ジェネレーティブAIとは

同じくChatGPTに聞いてみました。

ジェネレーティブAI
ジェネレーティブAI(Generative AI)は、機械学習の一種で、人工的なシステムが自己学習を通じて、新しいデータや情報を生成する能力を持つ技術です。これにより、機械は、データの生成や創造的なタスクに従事することができます。

ジェネレーティブAIには、いくつかのアプローチがあります。代表的なものとしては、以下の2つがあります。

敵対的生成ネットワーク(GAN):2つのニューラルネットワークを使用し、1つはデータ生成を担当し、もう1つはその生成されたデータを判断することで、よりリアルなデータ生成を実現します。

変分オートエンコーダ(VAE):入力されたデータを、より低次元の潜在空間に変換し、そこで操作や編集を行った後、元のデータに復元します。このようにして、機械は、新しいデータを生成することができます。

ジェネレーティブAIは、画像、音声、文章など、多様な種類のデータ生成に応用されています。例えば、GANは、自然な画像の生成、音声合成、3Dモデルの生成などに使用されています。VAEは、自然言語の生成、写真の修正、音楽の作成などに使用されています。

なるほど。なるほど。
データの生成や創造的なタスクに従事することができます。という部分は大袈裟にも見えますが、ここがポイント。
今までのAIは、特徴量だったのを、ジェネレーティブAIは、論理を理解して結果を予測でなく生成する事ができる。

まるで出来るない社員と出来る社員の違いにも似ている


従来型のAIは、出来ない社員と同じで決められた事が得意なAI。最もこれだけでも十分省力化によって人件費削減やミスの削減による品質向上が期待できた。
ジェネレーティブAIは、同じフローなら対応できる優秀な社員と同じだ。

論理を学んだジェネレーティブAI

例えば、

じゃんけんを3回連続かつ確率

という質問に対しての答えは、

じゃんけんをすると、勝ち・負け・あいこのいずれかの結果が生じるため、1回のじゃんけんで勝つ確率は1/3、負ける確率は1/3、あいこになる確率も1/3となります。

3回連続で勝つ確率を求めるためには、3回とも勝つ確率を掛け合わせる必要があります。したがって、以下のように計算できます。

1/3 × 1/3 × 1/3 = 1/27

つまり、じゃんけんを3回連続で勝つ確率は1/27となります。同様に、3回連続で負ける確率も1/27となります。3回中2回勝つ確率や1回も勝てない確率など、他の結果の確率も同様に計算できます。

これは、AIが論理を学んでいるという事である。
でも、もしかしたらこの問題は、Web上にあるページの検索結果かもしれません。

じゃんけんを97回連続かつ確率

これはきっとWEB上にはなさそうだと思います。

1回のじゃんけんで勝つ確率は1/3、負ける確率も1/3、あいこになる確率も1/3です。従って、97回連続で勝つ確率を計算するには、(1/3)^97を計算する必要があります。

ただし、この値は非常に小さな数値であるため、以下のように科学表記法で表現されます。

(1/3)^97 ≈ 2.57 × 10^-47

つまり、じゃんけんを97回連続で勝つ確率は、非常に低い確率であり、ほぼ起こり得ないことがわかります。同様に、97回連続で負ける確率も同じく2.57 × 10^-47となります。

ついでに負ける確率も同じという事も提案してくれてます。これはAIが完全に論理を理解していると言えると思います。
これが正に今までのAIとジェネレーティブAIが違う部分という理解が必要です。

ジェネレーティブAIの前と後の違い

ジェネレーティブAIの前と後の違いは、データ生成のプロセスにおいて大きな進歩があったことです。以前は、コンピュータが生成するデータは、あらかじめプログラムされたルールに基づいていました。つまり、コンピュータはある種の規則性に従ってデータを生成していました。この方法は、ある程度正確でしたが、生成されたデータが単調で予測可能だったため、より複雑なタスクには適していませんでした。
しかし、ジェネレーティブAIの登場により、コンピュータは本物に近いデータを生成できるようになりました。これは、深層学習モデルを使用して、データ生成プロセスを学習することによって実現されます。これにより、コンピュータは元のトレーニングデータに似たデータを生成することができますが、同時に、新しいデータを生成することもできます。また、データ生成プロセスにおいて、コンピュータは規則性に従うことがなく、より多様なデータを生成できます。
この進歩により、ジェネレーティブAIは、多くの分野で有用性が認められるようになりました。例えば、画像生成において、コンピュータは本物に見える画像を生成することができます。また、音声合成技術により、誰かの声を模倣することもできます。自然言語処理においては、文章を自動的に生成することができます。これにより、より自然な文章が生成されるようになりました。
さらに、ジェネレーティブAIの進歩により、より多様な応用が可能になっています。例えば、GANを使用して、架空の建築物の画像を生成することができます。また、GANを使用して、芸術家のスタイルで画像を生成することもできます。さらに、人工的に生成されたデータを使用して、機械学習モデルをトレーニングすることができます。これにより、より正確な予測が可能になります。

創造的なジェネレーティブAI

更に面白いのは、ChatGPTに「じゃんけん2ってゲームを考えて下さい」と聞いてみると

じゃんけん2とは、通常のじゃんけんと同様に手を出し合って勝ち負けを競うゲームですが、以下のようなルールが追加されています。

同時に両者が勝利した場合、2点獲得する。
両者があいこでなく、一方が勝利した場合、勝利した方が1点獲得する。
両者があいこだった場合、何も起こらず、次のラウンドに移ります。
このように、あいこの場合でも両者が勝利してしまうというルールが追加されています。

このゲームでは、通常のじゃんけんと同様に、グー、チョキ、パーのいずれかを出しますが、相手が何を出すかを予測することは通常のじゃんけんと同様に困難です。そのため、勝敗を左右するのはあいこがどの程度起こるか、そして、あいこの場合に両者が勝つことができる確率がどの程度あるかになります。

見事に新しいゲームを創造してくれました。
しかし、「同時に両者が勝利した場合」という存在ルールを出してくる辺りがこれからでしょうか。

創造的なジェネレーティブAIとは

創造的なジェネレーティブAIは、自律的にアートやデザインなどの創造的な作品を生成することができる技術です。これは、AIがある種の創造性を持ち、自分自身で新しいアイデアを生み出し、それを基に新しい作品を生成することができるようになったことを意味します。
創造的なジェネレーティブAIは、いくつかの方法で実現することができます。最も一般的な方法は、GAN(Generative Adversarial Network)を使用することです。GANは、2つのネットワーク(生成器と識別器)を使用して、元のトレーニングデータに似たデータを生成することができます。しかし、創造的なジェネレーティブAIでは、生成器ネットワークに制約を加え、ランダム性を導入することで、元のトレーニングデータとは異なる新しいデータを生成することができます。
創造的なジェネレーティブAIは、芸術やデザインの分野で特に注目されています。例えば、画像生成において、AIは、抽象的な絵画やランダムなパターンなどの独自の作品を生成することができます。また、音楽生成において、AIは、異なる楽器の音色やリズムを組み合わせて、新しい曲を生成することができます。
一方で、創造的なジェネレーティブAIの発展にはいくつかの課題が残されています。例えば、AIが生成した作品の評価基準や、AIと人間の創造性の違いなどがあります。また、AIが生成した作品が著作権の問題を引き起こすことも懸念されています。
しかし、創造的なジェネレーティブAIの発展は、芸術やデザイン分野に革新的なアプローチをもたらす可能性があります。それによって、人間の創造性を補完することができ、新しいアートフォームやデザインを生み出すことができるかもしれません。

裏にあるプロンプトエンジニアリング

上記の様な出来るAIを構築していているのは、最近話題のプロンプトエンジニアリングだ。

プロンプトエンジニアリングは、言語モデル(LM)を効率的に使用するためのプロンプトの開発と最適化のための比較的新しい学問分野です。プロンプトエンジニアリングのスキルは、大規模言語モデル(LLM)の機能と制限をより理解するのに役立ちます。研究者は、プロンプトエンジニアリングを使用して、質問応答や算術推論などの一般的なタスクや複雑なタスクの幅広い範囲でLLMの容量を向上させます。開発者は、LLMや他のツールとインターフェースする堅牢で効果的なプロンプトテクニックを設計するために、プロンプトエンジニアリングを使用します

つまり優秀な出来るAIを操るためには、適切な命令(プロンプト)をあたえる必要があり。これがジェネレーティブAIにとって重要なポイントとなる。
これは、優秀な選手に優秀なトレーナーが必要な様に、いくら優秀な選手でも適切なトレーナーでなければ、才能を発揮できずに結果がでない事と似ている。

まとめ

私がジェネレーティブAIにより検索エンジンがオワコンと言われている事に対しての違和感は、検索エンジンの代替自体は、従来型のAIで既に可能という事であって、後はUIの作り方や精度次第でした。
ジェネレーティブAIによって可能となったのは、論理を理解して創造できるという事で、従来型の検索エンジンのアプローチとは全く違うという事です。
ここを勘違いしてしまってる人が多いと思います。
先日、レコメンデーションエンジンの未来という記事を書いたが、レコメンデーションエンジンの未来は、ジェネレーティブAIにあるとも思える。
https://qiita.com/k1morikawa@github/items/ce40e64e279dc79c9e85
次回の記事ではプロンプトエンジニアリングについて書いてみたいと思います。
これからも記事を書いていきますので、モチベーションアップのためフォロー、イイねお願いします。


この記事が気に入ったらサポートをしてみませんか?