FRONT-END.AI Blog

FRONT-END.AIやAI/機械学習に関する最新情報を発信しています

テキストから画像を生み出す「DALL·E」とは

OpenAIはGPT-3をはじめ、新しいAIモデルを次々に生み出していますが、彼らが2021年1月に発表したDALL·E(ダリ)も興味深いものです。自然な文章から、それに合わせた画像を生み出せるAIモデルとなっています。

f:id:moongift:20210812151007j:plain

DALL·E: Creating Images from Text

今回は、このDALL·Eについて紹介します。

DALL·Eとは

DALL·Eはテキストと画像のペアデータを使って、自然言語のテキストから画像を生成するAIモデルです。120億のパラメータを持つGPT-3となっています。

f:id:moongift:20210812151019j:plain

例として「an illustration of a baby daikon radish in a tutu walking a dog(赤ちゃん大根がチュチュを履いて犬の散歩をしているところ)」や「an armchair in the shape of an avocado(アボガド型の肘掛け付きの椅子)」「a store front that has the word ‘openai’ written on it(openaiと書かれた店のフロント)」などとテキストを与えて、実際にそのような写真やイラストが生成されています。

GPT-3との違い

GPT-3はテキストからテキストを生成するモデルになります。DALL·Eはテキストから画像を生成するモデルという点が異なります。

仕組み

DALL·Eはベースになるテキストと画像を最大1280個のトークンを含んだ1つのデータストリームとして受け取ります。そして最尤法(さいゆうほう)を用いて、すべてのトークンを処理します。この学習方法により、画像を1から生成するだけなく、画像の全領域に渡って、指示されたテキストと一致する形で再生成できます。

その他の例

パラメータを動的に変えて、生成される画像を確認できるデモがあります。

ネオンなキューブ

f:id:moongift:20210812151039j:plain

レゴ製の球体

f:id:moongift:20210812151052j:plain

複数の指示内容があって、正しく解釈されます。ただし、指示するオブジェクトが増えていくと、その解釈にミスが発生することが多いとのことです。

小さな赤いブロックが、大きな緑のブロックの上にある

f:id:moongift:20210812151102j:plain

絵文字のコアラが黄色い帽子、赤いグローブ、青いシャツ、青いパンツを履いている

f:id:moongift:20210812151110j:plain

高いところから見下ろした狐

f:id:moongift:20210812151119j:plain

できあがる画像の一部を指定して、それ以外を補完するデモもあります。

鏡にルービックキューブが映り込んだ画像

f:id:moongift:20210812151130j:plain

たとえばカピバラが山の上、夕日の前にいるといった指示をした場合、場所によっては影を考慮しますが、DALL·Eではそういった点も自動的に補完されます。さらに画像のテイストも指定できます。

f:id:moongift:20210812151142j:plain

ハープとペンギンの融合

f:id:moongift:20210812151155j:plain

DALL·Eは既成概念を壊せる可能性があります。アボガド型の椅子もそうですが、デモでは動物と楽器という組み合わせから、新しい楽器を描き出しています。雑貨などのデザインアイディアに使えるかも知れません。

画像の変換

f:id:moongift:20210812151209j:plain

GPT-3が翻訳(英語から日本語など)を行うように、DALL·Eはベースになる画像を元に、様々なパターンで描くことができます。以下の画像は指定した猫の写真から切手をデザインするというものです。なお、これはゼロショット学習と呼ばれるもので、モデルに特別なトレーニングを行っていない状態で作られています。

地理・歴史的条件の付与

日本料理っぽい写真、のように地理や歴史的条件を受けた写真も生成できるとのことです。ちなみに以下は日本料理風の写真ですが、一部(寿司がお吸い物に沈んでいるなど)はおかしいです。

f:id:moongift:20210812151224j:plain

こちらは年代ごとのテレビの写真を生成した例です。確かにそれっぽさがあります。

f:id:moongift:20210812151238j:plain

動画解説

こちらでDALL·Eの解説を行っています(英語)。

youtu.be

コード

DALL·Eのコードはオープンソース(MIT License)として公開されています。ただしテキストから画像を生成する部分は省かれています。

openai/DALL-E: PyTorch package for the discrete VAE used for DALL·E.

そして、その部分を含めて実装した例がこちらです。

lucidrains/DALLE-pytorch: Implementation / replication of DALL-E, OpenAI's Text to Image Transformer, in Pytorch

まとめ

DALL·Eは自動的に画像を生成するので、思いもよらなかった画像が作られる可能性があるでしょう。また、画像編集ソフトウェアなどで、一部を置き換えたり、写真にマッチしたオブジェクトを追加したりするのにも使えそうです。

DALL·Eの紹介ブログ記事では様々なデモが体験できるので、ぜひその面白さ、可能性を感じてください。

DALL·E: Creating Images from Text