Dance with Agents

画像生成AIが文字を書けるようになったのは、絵を描く側ではなく、言葉を受け取る側を直したから

数年前の画像生成AIには、はっきりした弱点が2つありました。看板や本の表紙に、文字らしい模様は描かれるのに、読める言葉になっていない。 そして手や指のつじつまが合わない。 指が途中で融合したり、関節が曲がらない向きに折れたりする。

それはどちらも減ってきました。ただし減った理由が分かっているのは、文字のほうだけです。手や指については、各社が何をしたのかがほとんど公表されていません。絵が生成される仕組みそのものは『画像生成AIは、絵の描き方を習っていない』に書いたので、ここでは弱点の話だけを追いかけます。


画像生成AIが文字を書けなかった原因は、絵を描く側ではなく、言葉を受け取る側にあった

画像生成AIは、プロンプト(prompt、AIへの指示文)をそのままの文字では扱えません。言葉を数字の並びに直す係(テキストエンコーダ、text encoder)を通してから、絵を描く部分に渡します。「猫」という語が数百個の数字の組に置き換わる、という話で、その仕組みは『言葉が数字になるまで』に書きました。

初期のモデルがこの係に使っていたのは、CLIP(クリップ)という仕組みでした。Contrastive Language–Image Pre-trainingの略で、言葉と画像を対にして突き合わせておく、という意味の名前です。このCLIPは、言葉を語のかたまり単位で切っていて、1文字ずつは見ていませんでした。つまり「CAT」という3文字がどの順に並ぶかという情報が、絵を描く部分にそもそも届いていなかった。文字らしい模様までは学べても、綴りは指定しようがありません。

これを実験で示したのが、Character-Aware Models Improve Visual Text Rendering(2023年、言葉を扱う研究の国際会議ACLでの発表)です。言葉を文字単位で見るモデルに替えると、珍しい語の綴りで30ポイント以上も正解率が上がったと報告されています。

文字が書けない問題への対策は、言葉を数字に直す係に集まった

原因が言葉の側にあると分かってから、対策はそこに集中します。

大きな言語モデルを、言葉の係にそのまま使う。 GoogleのImagen(2022年)はT5-XXLという言語モデルを使い(T5はText-to-Text Transfer Transformerの略で、文章を受け取って文章を返す造りのモデル。XXLはその中で最大の版)、論文の中で絵を描く部分を大きくするより、言葉の係を大きくするほうが絵をよくすると述べています。人が見比べる評価でも、11の項目すべてでCLIPを使った版より好まれたと報告されています。

係を複数持たせる。 Stable Diffusion 3(2024年)はCLIP系2つとT5を併用し、文章の理解、文字の体裁、人の好みによる評価が改善したとしています。

学習データの説明文を作り直す。 OpenAIのDALL·E 3の論文(2023年)は、学習に使う画像の説明文を専用の装置で書き直し、95%を作り直した説明文に置き換えたと述べています。何が写っているかが詳しく書かれた説明文で訓練すれば、細かい指示も通るようになります。

方式そのものを変える。 OpenAIは2025年3月、GPT-4oに組み込んだ画像生成が自己回帰モデル(autoregressive model、文章を書くときと同じ「次の1つを当てて、それを踏まえてまた次を当てる」やり方)だとシステムカードの追補で述べ、画像の中に文字や図解を描けるとしています。

手や指のつじつまが合わない問題は、何が改善をもたらしたのかが公表されていない

こちらには、「これで直った」と言える論文がありません。壊れやすい理由のほうは、手を扱う研究の中で挙げられています。写真の中で手は小さく、主題として写っていることも少ない。関節が多く、取りうる形が膨大にある(手の研究では15の関節がそれぞれ多様な角度をとる点が挙げられています)。指同士が重なって隠れる。そして立体としての手の構造は、どこでも教わっていない。

減ってきた要因として挙げられるものは、いくつかあります。

  • 絵を描く部分そのものが大きくなった。 SDXL(2023年。Stable Diffusion XLの略で、広く使われた画像生成モデルの大きい版)は画像側の中身を3倍に増やし、言葉の係も2つに増やしています
  • 説明文が詳しくなった(上のDALL·E 3の作り直し)
  • 手の骨格を注釈として渡す研究(Annotated Hands for Generative Models)
  • 人が選んだ「良いほう」に寄せる仕上げ。 Diffusion-DPO(2023年)は、2枚を人間に見比べさせた大量の記録でモデルを微調整する手法です。DPOはDirect Preference Optimizationの略で、人がどちらを好んだかを、そのまま学ばせるという意味です。つじつまの合わない手は人に選ばれないので、そのぶん出力されにくくなるという効き方をします

つまり学習量を増やしただけではありません。 人の目で選び直す工程が加わったことが、大きく効いている可能性があります。ただし各社が実際に何をしたかは公表されていないので、ここは推測を含みます。

いまも起きるのは、拡散モデルが描いたものを数えて確かめないから

いまも起きるのは、拡散モデルが全体を少しずつ整えていく方式だからです。ノイズを引きながら画像らしい方向へ寄せていくとき、「同じ手についている指は何本か」を数えて確かめる工程は、どこにも含まれていません。

文字のほうも同じで、少しずれても絵としては自然に見えるのに、文字は1画ずれた時点で誤りになります。絵として自然かどうかと、決まりに合っているかどうかは、別の物差しです。片方だけを訓練してきた装置が、もう片方でつまずいていた、という話でもあります。

画像・動画生成の記事

画像・動画生成のページへ →