この数カ月間、米OpenAIが公開したAI(Artificial Intelligence:人工知能)チャットボット「ChatGPT」に関する話題が絶えない。小誌でも導入した企業の事例や、連載を通じて、その有用性や可能性、今後の課題について報じてきた。
このほど、ChatGPTをはじめとする「生成AI(Generative AI)」の最新の活用事例やトレンドについて識者が語るイベント、「Generative AI Business Day」がオンラインで開催された。本稿では、ケイスクワッドの代表である小南佑介氏が語った、生成AIのこれまでの進歩と現在の技術的課題について紹介したい。
生成AIのこれまでの進歩
画像生成AIの歴史
ChatGPTのようにテキストを生成できるAIをはじめ、画像や音声などさまざまなコンテンツを生成できるAIを総称して、生成AIと呼ぶ。AI開発の歴史は意外と古く、1960年前後の第一次AIブームにさかのぼる。このころにパーセプトロンやニューラルネットワークなど、現在のディープラーニング技術の基礎となる技術が考案された。
画像生成AIの歴史を振り返ると、2014年に発表されたGAN(Generative Adversarial Network:敵対的生成ネットワーク)が象徴的だ。この技術は、Discriminator(画像を判別する機能)とGenerator(偽の画像を生成する機能)が互いに競い合うようにして精度向上を目指す。
Discriminatorは入力データが本物かGeneratorが作り出した偽物の画像かを判別するが、この様子から、偽札を作る犯人とそれを見分ける警察間のいたちごっこの関係に例えられることもある。
画像生成AIはもともと、教師データの不足や学習データの欠損を埋めるための手法として提案されたため、教師データがなくても学習できる利点を持つ。なお、これを改善したのがStable DiffusionやDall-Eなどで知られるDiffusion Modelだ。
テキスト生成AIの歴史
一方でテキスト生成AIの歴史を見ると、1990年代に提唱されたRNN(Recurrent Neural Network:回帰型ニューラルネットワーク)やLSTM(Long Short-Term Memory:長・短期記憶)が存在していた。
そうした中で、自然言語処理技術に大きなブレイクスルーをもたらしたのは、2017年に『Attention Is All You Need』という論文の中で発表されたTransformerだ。RNNのようなエンコーダ・デコーダモデルではなく、エンコーダとデコーダをAttentionでつないでいる。GPT3.5やGPT4に代表されるGPT系のモデルにもAttentionが使われている。
Transformerが技術的に優れている点は、学習を並列かつ高速に処理できるようになったことだ。これにより、大量のデータで学習できるようになった。従前のRNNやLSTMは並列化して学習できなかったため、学習にかかる時間が短縮された。
生成AIは何ができて、何ができないのか
生成AIに限らずだが、現段階のAIはフレーム問題に対処できない。フレーム問題とは「限られた処理能力しかない人工知能は、現実に起こりうる問題すべてに対処することができない」というもので、世の中の全事象の中から関係のある事象だけを選び出すことが難しいという問題だ。現在のAIは特定の用途・目的に絞った場合に能力を発揮する。
現在、ChatGPTの限界として特徴的な現象が「Hallucination(幻覚)」だ。ChatGPTはどのような問いにも的確に返答しているように見えるが、その内容には嘘も多いことに注意しなければならない。もっともらしいように見える嘘をつく現象をHallucinationと呼ぶ。
加えて、ChatGPTを利用する際には、その出力結果の正確性を誰も担保してくれないことに注意が必要だ。知らないことを調べる際はその正確性を確認できないので、現在のChatGPTは情報の検索には向かない。むしろ、相談相手として意見の壁打ちのために利用するのが良いのではないだろうか。
その他、SNSへの投稿内容の作成といったクリエイティブへの応用にも有用だ。出力結果の検証が容易または不要なタスクに使える。
小南氏はChatGPTを有効活用する手法の例として、新たなプログラミングのインタフェースとしての使い方を紹介した。ChatGPTは自然言語だけでなく、JavascriptやPythonなどのソースコードも生成できるため、開発作業の補助に使えるのだそうだ。
1960年前後にFortranというプログラミング言語が作られた際、「これからはもうプログラミングをしなくてよい、機械がすべてやってくれる」といった言説も見られたようだ。しかし、実際は言語がアセンブリ言語からより高級な人間にも理解しやすい言語に移っただけで、プログラミング自体は残っている。
今まさにChatGPTによって起こってるインタフェースの変化は、この出来事に近い。人間はChatGPTに適切なコードを生成してもらうためのプロンプトを書く必要があり、どのような仕組みでどのような設計にするのはを考えるのは人間だ。いわゆる「プログラミング的思考」と呼ばれるような、課題を解決するための試行錯誤は今後も必要となるはずだ。