画像生成AIのしくみを数学理論を最小限にやさしく紹介する本連載、後編は、画像生成AIの絵筆とも言える「画像生成器」に使われている、最先端の機械学習技術を紹介します。また、画像生成AIが現在抱える問題や、話題のChatGPTについても解説しています。
※「画像生成AIのしくみ【前編】 AIに言葉を理解させる技術」 もご覧ください。
パーツ2:画像生成器
生成AIの種類
前編(本誌2023年2月号)では、画像生成AIはテキストエンコーダと画像生成器の2つの部分から構成されていると説明しました。「 パーツ1」として紹介したテキストエンコーダの役割は、入力されたテキストを「意味を表すベクトル」に変換することでした。では画像生成器の役割は何かというと、テキストエンコーダから渡される「入力テキストの意味」に合った画像を生成することです。
画像生成器のモデリングにはいろいろな方法があります。代表的な例として、GAN (Generative Adversarial Network )と拡散モデル があります。
GANは生成器 と識別器 の2つのニューラルネットワークからなり、それぞれ「識別器をだます偽物の画像を生成する」「 入力画像が実データからサンプルされた本物なのか、生成された偽物なのかを識別する」という役割を持ちます(図1 ) 。
図1 GANの訓練と生成のプロセス
一方、拡散モデルは、ノイズ[1] が付加された画像からノイズを除去するというモデリングに基づきます。ノイズ除去のプロセスを繰り返すことで、完全なノイズから画像を生成します(図2 ) 。これらについて、以降で詳しく見ていきます。
図2 拡散モデルの訓練と生成のプロセス
[1] ここでは、一定の確率分布に従う乱数からなるベクトルを「ノイズ」と表現しています。なお、GANと拡散モデルで図におけるノイズの表現が異なっています。一般的に、拡散モデルでは画像と同じ次元(縦×横×RGB)のノイズを考えますが、GANでは100次元程度の低次元のノイズを考えます。
画像生成器のモデリングにはほかにもVAE (Variational AutoEncoder )やフローベースモデル、自己回帰モデルなどがありますが、ここでは主な手法であるGANと拡散モデルを掘り下げることとし、詳しい解説は既存の文献[文献1] [文献2] に譲ります。ただし、これは他の手法が重要でないということを意味しません。実際、VAEはStable Diffusionの内部処理の効率化に使われています。また、GoogleがImagenのあとに発表したPartiとMuseはそれぞれ自己回帰モデルと新しく提案されたモデルです。今後拡散モデルに取って代わるものが登場することはあり得るので、注意が必要です。
GAN
図1のように、GANは生成器と識別器からなります。生成器はランダムなノイズから偽物の画像を生成し、識別器は画像がデータセットにある本物の画像か否かを判定します。このいたちごっこ――識別器は正解率を最大化し、生成器は識別器の正解率を最小化する――を通して、ネットワークの重みを学習していきます。生成器と識別器が切磋琢磨《 せっさたくま 》 しながら性能を高め合う学習の過程はしばしば、偽札の製造者と鑑定士の関係にも例えられます。
なお、GANでtext-to-imageを行うには、生成器と識別器の訓練時に、テキストをエンコードしたベクトルを参照情報として入力します。たとえば、データセットから「黒い犬」というキャプションと画像(本物)をサンプリングしたとします。生成器にはこのキャプションを入力して生成画像(偽物)を得ます。識別器には、キャプションおよび本物と偽物の画像を入力し、各画像が本物かどうかを識別させます。
GANは、2021年ごろまで生成AI研究の中心的な存在でした。2014年に初めて考案されたときは32×32程度のサイズの画像しか扱えませんでした[文献3] が、のちに改良手法が次々と提案され、2019年には本物と見分けがつかないほど精巧な画像を生成できるようになりました(図3 ) 。
図3 StyleGAN2が生成した顔画像の例(実際には1,024×1,024のカラー画像。論文[文献4] より引用)
しかし、GANには重大な弱点が1つあります。それは、データの分布を明示的には学習していない点です。例として、0から9の手書き数字の画像からなるデータセットを考えてみましょう。このデータには10個のカテゴリ(モード)があります。理想的な生成器は10個のモードすべてを再現できなければなりません。しかし、識別器をだますという生成器の目的は、10個の数字のうち一部を本物らしく生成すれば、ある程度達成できてしまいます。たとえば、「 1」と「7」だけを完璧に生成し、それ以外の数字は生成しないというような状況です。こうなってしまうと、生成器の学習はそれ以上進みません。この問題をモード崩壊 と呼びます。
モード崩壊は、学習に用いるデータの多様性が高いほど起きやすくなります。実は、図3で紹介したStyleGAN2の訓練に使われたデータセットは、位置がそろった正面向きの顔画像のみからなるため、モード崩壊が起きにくいという事情がありました。GANはこういったデータセットの学習は得意でも、対象や構図が異なるさまざまな画像を含むImageNetのようなデータセットから学習すると、モード崩壊が起きてしまいます。そのため、GANは多様な画像を生成するのは苦手なのです。
拡散モデル
GANに対して拡散モデルは、多様なデータであっても高品質に生成できるということで、2020年ごろから注目されるようになりました。
図4 の比較はこの違いを象徴しています。GANが似たような構図の画像ばかり生成しているのに対し、拡散モデルは多様な構図の画像を生成しています。
図4 ImageNetで訓練したGANと拡散モデルでそれぞれ「フラミンゴ」の画像を生成した結果(論文[文献5] より引用。左がGAN、右が拡散モデルで生成した画像)
それでは、図2と図5を参照しながら拡散モデルの中身を見ていきましょう。冒頭で説明したように、拡散モデルはノイズが付加された画像からノイズを除去する逆拡散過程 によってデータを生成します。
図5 ノイズを付加する拡散過程(右から左)とノイズを除去する逆拡散過程(左から右)
拡散モデルの前提には拡散過程 という確率過程があります。拡散過程では、正規分布に従うノイズをデータに少しずつ付加していきます。時刻t =0から始めて時刻t =Tまで計T回ノイズを付加すると、正規分布に従う完全なノイズになります。コップの中の水に垂らしたインクが拡散していく過程と同じです。ここまででは機械学習は登場しません。
逆拡散過程では、この拡散過程を逆にたどります。すなわち、時刻t =Tの完全なノイズから始めて、「 ノイズを少しだけ除去する」という操作をT回繰り返すことで、データを生成します。各ステップで除去するノイズはニューラルネットワークで推定します。このニューラルネットワークは、時刻t =t +1の画像から直前のステップで付加されたノイズを推定するというタスクによって訓練されています。そのため、除去すべきノイズを推定できます。
ノイズを推定するニューラルネットワークとしては、U-Net [文献6] やTransformerが使われます。どちらも内部に注意機構と呼ばれるモジュールがあり、ここに付加情報を入れることができます。付加情報として、テキストをエンコードしたベクトルを渡せばtext-to-imageになります。同様に、画像をエンコードしたベクトルを渡せばimage-to-imageになります。
拡散モデルの生成処理の高速化
拡散モデルには、GANよりも多様な画像を生成できるという利点がある一方、ノイズから画像を生成するのにT回の推論が必要になるという欠点もあります。これはすなわち、GANと比べて生成にT倍程度[2] の時間がかかるということです。この弱点を克服するため、さまざまな工夫が考案されています。
Stable Diffusionの特色でもある工夫が潜在拡散モデル です。これは、拡散モデルをピクセル空間ではなく圧縮された潜在空間で行うというアイデアです。2つの空間を行き来するには前述のVAEを利用します。そのぶんネットワークが余計に必要になりますが、T回の繰り返し部分の計算量を削減できるので、全体で見ると大幅な効率化になります。
次に、画像サイズを段階的に大きくしていくという工夫があります。これは、最初に低解像度用の拡散モデルで小さな画像を生成し、それをもとに高解像度用の拡散モデルで大きな画像を生成するというものです。
ほかにも、T回の繰り返しを間引くアプローチや、逆拡散過程を確率微分方程式とみなして数値解法を利用するアプローチなどがあります。
Stable Diffusionは、これらの技術を複数組み合わせることで実用に耐える生成速度を達成しています。
生成AIのこれから
画像生成AIの製品化
画像生成AIの中心技術であるtext-to-imageの解説は以上です。しかし、text-to-imageだけでは、多くの人が使える画像生成AIのアプリケーションを作ることはできません。この節では、製品としての画像生成AIを支えている技術について簡単に紹介します。
まずは、text-to-image以外の機能についてです。実際にデザインやコンテンツを作成する場面では、自分の画像に基づいた画像生成をしたり、text-to-imageで生成された画像を修正したりしたいという需要が存在します。こういったケースでは、次のようなimage-to-imageの諸機能が役立ちます。
ラフスケッチや線画、ベタ塗りから画像を完成させる
写真をイラスト風に変換する、またはその逆
画像の一部分だけを編集する(inpainting)
画像の外側を生成する(outpainting)
超解像
また、たとえば広告用の画像を作成したいときなど、商品や広告キャラクターのアイデンティティを保ったまま画像を編集したいという需要もあるでしょう(図6 ) 。こういったケースでは、DreamBoothやImagic[文献7] などの画像生成AIが役立ちます。ただし、この技術はディープフェイクとの親和性が通常のtext-to-image以上に高いので、提供や利用には注意が必要です。
図6 Imagicによる「アイデンティティを保つ画像編集」の例(画像は論文[文献7] より引用)
画像生成AIを多くの人に使ってもらうためには、GUIはほぼ必須です。画像生成AIの要求スペックが高い(GPUや大きなRAMなど)のであれば、実行環境も提供側で用意してWebアプリケーションとして提供するのが親切でしょう。実際、DALL・E 2が話題になって以降は、画像生成AIをWeb UI付きで公開する動きが一般的に見られるようになりました(図7 ) 。
図7 Stable DiffusionのマネージドサービスであるDreamStudioの操作画面
しかし、DALL・E 2以前は、研究成果の公開といえばソースコードとモデルの重みを配布するだけというケースがほとんどで、限られたユーザーしか使えない状態が長らく続いていました。Web上で動くデモを用意するには開発コストやサーバ代が必要ですので、実現が難しい事情も納得できます。
この状況を打破するのに貢献したのが、GradioやStreamlitなどのデモ作成用ライブラリと、Hugging Face Spaces(ホスティングサービス)です。これらを利用するとフロントエンドやバックエンドのコーディングやサーバの設定をほとんどせずにデモサイトが作れるので、開発者は画像生成AIの開発に集中できます。
column: ChatGPTとは
前編の記事を執筆したあとに、OpenAIが新しい対話AI「ChatGPT 」を公開しました。ChatGPTは、既存の対話AIとは比べ物にならないほど自然で有用な回答をするとして画像生成AIに劣らないほどの話題になりました。
ChatGPTは文章生成AIの一種であり、前編の記事の中で関連技術の大規模言語モデルやGPT-3に触れているので、閑話休題で簡単な解説をします。
まずは、以下のやりとりの例を見てください。
著者 :
生成AIって何?3行で説明して
ChatGPT :
生成AIは、コンピューターが人間のように自然な文章や音声、画像などを生成することを目的としたAIです。そのようなAIのモデルは、入力データを分析し、それらの特徴を学習し、それらを基に自然な出力を生成することができます。生成AIは、自然言語生成、音声合成、画像生成などに広く使われています。
著者 :
社会に与える影響は?箇条書きで列挙して
ChatGPT :
生成AIは、以前には手作業で行われていた作業を自動化することができるため、労働力を削減することができます。
生成AIを用いることで、より多くのコンテンツを短期間で生産できるようになります。
(以下略)
日本語が完璧だというだけでも驚きですが、回答の正確さや有用さもまた驚くべきものです。ほかにも作詞をしたり、プログラムのデバッグを手伝ったりと、幅広いやりとりが可能です。
GPT-3は、入力に「次の文をフランス語に訳しなさい」のようなタスク指示文を入れることで、任意のタスクを解くことができる大規模言語モデルでした。しかし、GPT-3は事前学習において「次のトークンを予測する」というタスクをひたすら解いているだけですので、生成する文章が常に有用であるとは限りません。実際、同じ文章を繰り返したり、うそをでっち上げたり、偏見を含む価値判断を表明したりと、不適切な挙動を示すことが指摘されていました。
そこで、こういった問題を避けるためのしくみをGPT-3に備えさせようという動機が生まれます。この動機に従ってGPT-3を改良したものがChatGPTです。
GPT-3の改良には、人間のフィードバックからの強化学習 (reinforcement learning from human feedback :RLHF )という技術が使われています。RLHFを使うと、「 対話AIの挙動に関する望ましさ」という複雑な価値基準を大規模言語モデルに学ばせることができます。大規模言語モデルのRLHFは次の3つのステップからなります。
大規模言語モデルが生成した文章に人間による評価スコアを与え、「 人間のフィードバック」のデータセットを作ります
1のデータセットを用いて報酬モデルを訓練します
報酬モデルから得られる報酬が高くなるように、大規模言語モデルを強化学習させます
残念ながら、執筆時点ではChatGPTの技術詳細は明らかにされていません。しかし、その前身モデルとも言えるInstructGPT については論文が公開されている[文献8] ので、興味のある方はご参照ください。
画像生成AIの現時点での課題
ここまで、画像生成AIの急速な普及に寄与した周辺技術について解説しました。本項では、生成AIの現時点での課題について考えます。
DALL・E 2やStable Diffusionがリリースされた当初は、生成画像の品質に関して図8 のような課題が指摘されていました。
図8 DALL・E 2とStable Diffusionが生成する画像の問題点(画像は筆者作成)
しかし、これらの問題は新しい画像生成AIが登場するたびに解決に近づいているように見えます。たとえば、Imagenはテキストエンコーダを強いモデルに置き換えることで対策を行っています。
一方、より解決の難しい問題として、図9 のようなデータセット由来の問題があります。
図9 データセット由来の問題点(画像は筆者作成)
図9に挙げた2つのケースは根本的にはデータセットに含まれるバイアスという同じ原因に由来していますが、問題としての表れ方は異なります。
1つめの例は、データセットでは「パンダのラテアート」の画像とキャプションが多く存在していたため、「 ラテアート」「 パンダ」という単語が存在すると主客の関係を無視して「パンダのラテアート」の画像を生成しやすくなるという問題です。
同様に、「 人に乗った馬」というクエリを入れると、「 馬に乗った人」が生成されやすいという例があります。
2つめの例は、データセット内で強く結び付いた性別や人種などの属性を暗黙的に仮定してしまうもので、多様性の尊重の観点から不適切な挙動です。DALL・E 2の公開後、「 CEOと入力すると白人男性が出やすい」などの指摘が寄せられたため、OpenAIはこの問題への対策を行いました[文献9] 。
その内容は公式には明らかにされていませんが、ユーザーの実験から「クエリに『黒人』『 女性』などの単語を付加する確率的な内部処理を入れた」という見方がほぼ確実です[3] 。その場しのぎな対策ですが、それだけ解決の難しい問題だということでもあります。いずれの問題も、解決には図8の問題よりも長い時間がかかるでしょう。
AIと著作権
技術的な話題からは少し逸れますが、画像生成AIをツールとして提供ないし利用する際に重要な問題となる、著作権についても簡単に触れておきます。AIと著作権の問題に詳しいSTORIA法律事務所のブログ によると、論点は大きく分けて次の3つです。
AIの訓練のために他人の著作物(画像や文章など)を勝手に収集して利用することは適法か
自動生成された画像に著作権が発生するか
学習に用いられた画像と同一の画像が偶然に自動生成された場合、著作権侵害に該当するか
それぞれに場合分けがあり、中には結論の出ていない小論点もあります。したがって、とくに画像生成AIを商用目的で提供・利用する場合は、これらの論点について事前に専門家の判断を仰ぐのが良いでしょう。なお、画像以外の生成AIに関しても同様の論点が存在するのと、肖像権やパブリシティ権などほかの権利についても類似した論点が存在します。
今後の発展
最後に、これから生成AIがどのように発展していくのか、生成AIの未来に触れて本連載の結びとします。
第一に、前述のような課題を解決してより入力に忠実で自然な画像が生成できるようになるという発展の方向があるでしょう。第二に、動画や3Dモデルのようなより情報量の多いメディアを生成できるようになるという発展の方向があるでしょう。後者の方向性での成果はすでに出始めており、動画生成ではImagen-VideoやPhenakiといったtext-to-videoが、3Dモデルの生成ではDreamFusionやMagic3Dといったtext-to-3Dが発表されています。また、音声や音楽などの生成AIもまさに発展の最中です。
これらの技術が成熟し、拡大するころには、創作活動のあり方が今とは一変しているのではないでしょうか。画像や音、動画が手軽に生成・編集できるとなれば、現在は大変な労力を投じて作られている映像作品やゲームなどを個人で制作できる時代が来るかもしれません。もちろん、生成AIの活用を広げていくためには、著作権にまつわる諸問題の整理やフェイクコンテンツ対策などの社会制度の整備が不可欠です。
生成AIは創作の生産性向上と民主化を通じ、創作の在り方を進化させる大きな可能性を秘めていると感じています。AIが社会に与える影響を議論するときは、どうしても「AIに仕事を奪われるのではないか」というネガティブな見方が目立ちますが、このようなポジティブな側面にも注目し、社会としてこの機会を最大限活用していくような方向性に進んでいくことを願ってやみません。
参考文献
[文献1] Sam Bond-Taylor et al. Deep Generative Modelling: A Comparative Review of VAEs, GANs, Normalizing Flows, Energy-Based and Autoregressive Models. In TPAMI, 2021. URL: https://arxiv.org/abs/2103.04922