今更ジェネレーティブAIについて勉強してみた

はじめに

タイトルの通りです。ずっと批判的な目線で見てきたジェネレーティブAI(いわゆる画像生成AIやテキスト生成AIと呼ばれるサービス)について、何も知らないまま批判するのもどうかと思ったので、Udemyを使って勉強してみました。

結論から書くと、上手いこと使えば商用に活かせるようなものも作れるでしょうが、生成したものを完成形として商用とするには少しレベルが低く、生成されたものを修正する知識や技術は身につけなければならないと思います。様々な工程において、時短テクとして使用されることはあるでしょうね。

そもそもAIとは

AIとは、かなり広義の意味合いを持つものです。

AI(人工知能)は、「コンピュータによって、生物の知能や、もしくはその延長線上にあるものを再現する技術」を指します。

現在は汎用人工知能と、特化型人工知能の2つに分類わけされています。

汎用人工知能

汎用人工知能は、アニメや漫画などで登場するような、人の知能並みの汎用性を持ったAIを指します。

鉄腕アトムや、プラメモのアイラのような感じですかね。 現在は、実用化に至っていない。とされています。

特化型人工知能

対して、特化型人工知能は、現在実用化されているような、将棋専門のAI、画像認識に特化したAI、自然言語処理に特化したAIを指します。

要は、特定の分野のみに特化した人工知能、ということですね。 中でも、自然言語処理の分野はChatGPTの登場によって、近年特に注目されていますよね。

このように、AIと一口に言っても、かなり広義の意味を持つ言葉なのです。分野も関係ありませんし、機械学習アルゴリズムも、教師の有無も、何なら機械学習でさえないかもしれません。AIという分野の中に、機械学習があり、その中に、教師あり学習教師なし学習強化学習と言った分野が存在し、その更に中にディープラーニングと呼ばれる技術が存在する、といった形の構造になっています。

では、タイトルにもなっているジェネレーティブAIとはどういった分野の、どういった方法で学習をしたものなのでしょうか。

ジェネレーティブAI

ジェネレーティブAIとは、データを生成することができるAI全てを指します。画像や文章、音楽、コードなど、全てジェネレーティブAIにカテゴライズされます。

今回は詳しいところまで触れませんが、大抵のジェネレーティブAIは、Transformという仕組みがベースとなっているとされています。

補足ですが、ChatGPTは

ChatGPTの仕組み超解説:ChatGPTの裏側大解剖|ChatGPT研究所

を、Stable Diffusionは

StableDiffusion : テキストから画像を生成する機械学習モデル | by Kazuki Kyakuno | axinc | Medium

を見るとある程度詳しく構造について知ることができると思います。LLMやCLIPについて私は知らなかったので、とても勉強になりました。

これまで、ジェネレーティブAIを使って何かを生成する際には、プログラミングのコードを用いて、ニューラルネットワークを構築するなり使用するなりして、コードを用いて、AIの操作を行っていました。これには、機械学習や数学の知識が必要でした。

それが近年では、ChatGPTのように、自然言語(英語や日本語)を用いることによって誰でもプログラミングの知識を必要とすることなく、ジェネレーティブAIを使えるようになったのです。これにより、絵や音楽、コーディングといった、専門技術の民主化が起きたわけですね。

実際に使ってみる

一般に、画像生成を扱うための手順は以下のようになっているようです。

画像生成手順

  1. Chat GPTに欲しい画像を説明した文章を作成してもらう
  2. DeepLなどで英語に変換する
  3. 画像生成AIに投げる 4.できた画像から欲しい情報が抜けていた場合、プロンプトにその情報を付加
  4. 3-4 を繰り返す

実際に私もやってみました。

まず、作りたい画像を決めます。

今回は、たまたま聴いていたさつきがてんこもりさんの、廃人シュプレヒコールのサムネイルの初音ミクのような画像を作りたいとします。

www.nicovideo.jp

次に、ChatGPTにイメージした画像を簡単に説明した文章を投げ、それをプロンプト(命令文)化するように依頼します。

次に、DeepLに投げて英語にしてStableDiffusionに投げようと思った……のですが、いつの間にかStableDiffusionの無料版は公開終了していたようです。

代替品として、Bing Image Creatorを用います。この子はプロンプトが日本語でもいけるので、翻訳はせずにそのまま投げます。

少し待って、出力された画像がこちらです。

暗い部屋でパソコンに向かう初音ミクのようなもの
まあ大体イメージ通りですね。言いたいことは色々とありますが、試行回数1回目ならこんなものでしょう。

感想

やってみて思いましたけど、これをお絵描きというにはあまりにやっている作業に「描き」が少なすぎます。というか描いてませんしね。

文字をキーボードで「打って」、自然言語処理AIに画像生成AIへの命令文として使用できるようなプロンプトを「生成させて」、画像生成AIへ生成したプロンプトを「入力して」「出力させている」わけですから。

自分が無から有を生み出しているわけないのに、これをお絵描きや絵師などと名乗れる人は逆に肝が据わっているというか…言ってて悲しくならないんでしょうかね。

ただ、ChatGPTの日本語生成能力は正直驚きました。今回使用したのはGPT3.5なので、もう少し不安定な日本語を生成するかと思っていたのですが、Twitterに溢れている日本語の文章の方が、よっぽど読みづらいし、変だと思います。

今回生成された画像もGPTが出力したプロンプトに書かれている条件をかなり抑えている気がします。もっと細かく条件を指定し、何回も試行を行えば欲しい画像を得ることもできるかもしれませんね。

総評

流石にお絵描きと言うにはおこがましいと思いますけど笑

人に何かを作ることを依頼する時、頭の中にあるイメージを言葉で伝えるのは難しいし、かといってイラストを描くにはそれなりの技術や知識が必要とされる気がしているので、簡単なイメージ図を生成して、完成版は本職の人にお願いするのが綺麗な活用方法なのかな。と思います。 0→1をつくる中の、0→0.5くらいにはなるんじゃないですかね。

結局、完成したものを評価するのは人間なので、技術や知識は必要になります。 AIさえあれば勉強はいらないと人間が勉強をやめてしまえば、AIも学習する対象が成長しないので進化は止まります。

結局勉強はし続けなければならないし、作業が0になることはないし、イラストレーターや動画クリエイター、プログラマーといった、大分類の職業がなくなることはしばらくは起こらないでしょうね。

限定的な立場の人間がジェネレーティブAIに取って代わられることはあるかもしれないので、自分がこれから先、どういった立場で社会に貢献していくのか。そのことを一度考えることが、多くの人に必要になるかもしれませんね。