「画像生成AI」の仕組みと技術動向について。
目次
AI・ディープラーニングの全体像
- 人工知能
- 機械学習
- ディープラーニングの基本・応用
- ディープラーニングの研究
- AIプロジェクト
- AI社会実装に伴う法律・倫理
画像生成AI
概要
- 画像生成AI→「image to image型」・「text to image型」
- 大量の学習用画像データから「潜在空間」を学習し、それに基づき新しい画像を生成する
- 「潜在空間」→学習用画像の特徴量が分布している空間
- 画像とテキストを関連づけ、そのテキストに対応する画像を生成する
- ユーザーが入力した指示テキストを言語モデルで分析
→テキストエンコーダを用い、テキストから埋め込みベクトル表現に変換する
→画像生成器によって、ベクトルから画像に変換する - 画像生成モデル→「変分オートエンコーダ(VAE)」・「敵対的生成ネットワーク(GAN)」
変分オートエンコーダ(VAE)
- 「変分オートエンコーダ(Variational Auto-Encoder;VAE)」
- 隠れ層で入力データの特徴量を抽出し、出力層で元のデータを復元するように学習を行うニューラルネットワークの一種
- 「確率分布」→オートエンコーダで抽出した特徴量を表現(→未知のデータを確率的に生成)
- ”統計量”が必要な潜在変数
- 入力画像から抽出した特徴量を「確率統計分布」に変換
- 統計分布から、データ点を「ランダムサンプリング」する
- サンプリングした点をデコーダによって復元し、新しい画像データを生成
敵対的生成ネットワーク(GAN)
- 「敵対的生成ネットワーク(Generative Adversarial Network;GAN)」
- 「ジェネレータ(Generator)」と「ディスクリミネータ(Discriminator)」で構成されている
- ジェネレータとディスクリミネータを競合させ、本物と見分けられないような偽物(新しいデータ)を生成する
- ジェネレータとディスクリミネータ→共通の損失関数を用いて訓練される
- 2つのネットワークが相反する目的のために競い合うことで、生成する画像の精度を上げていく
DCGAN(Deep Convolutional GAN) | ・各々に「CNN」を採用 ・「ジェネレータ」→「ランダムノイズ」を入力し、それを本物のデータに近づけるよう写像するようにして新たなデータを生成する |
---|---|
Pix2Pix | ・入力画像と目標画像の関係性や変換を学習するツール ・新たな入力画像に対し、学習した関係性に基づきスタイル変更後の画像を生成する ・ベクトル変換は行わず、画像のピクセルに直接作用して画像に変換する |
CycleGAN | ・Pix2Pixでは教師あり学習を使っていたが、CycleGANでは教師なし学習を使うため学習データの準備コストが軽減される ・画像データセット同士の分野・領域などのドメインの関係を学習することで画像変換を実現 |
StyleGAN StyleGAN2 | ・CNNによる畳み込み処理の後に特有のスタイル調整を行い、ノイズから高解像度かつ自然な画像を生成する |
拡散モデルを用いた画像生成AIモデル
概要
- 「拡散モデル(Diffusion Model)」→元データに徐々に「ノイズ」を加えて、完全なノイズになるまでのプロセスを逆転し、「ノイズを徐々に除去」することによってデータ復元することを学習する
- 学習のしやすさと生成された画像の品質の高さで注目されている
- 初代DALL-Eは、「VQ-VAE」で特徴量に圧縮し、これをキャプションとペアにし、GPT3で機械学習を行う
- DALL-E2は、「CLIP」(画像分類モデル)と拡散モデルを組み合わせた2段階のモデル
- DALL-E2、DALL-E3(OpenAI)
- Stable Diffusion(英Stability AI)
- Midjourney(英Midjourney)
- Imagen(Google)
CLIP(Contrastive Language-Image Pre-training)
- 画像分類モデル
- 画像と文章の間の双方向の関係を捉えるマルチモーダルのモデル
- DALL-E2だけではなく、Stabe Diffusionなどで応用されている
- Transformerを利用した「テキストエンコーダ」と「画像エンコーダ」から構成されている
- 画像とキャプションのペアを用いて事前学習している
- テキストと画像の間の「コサイン類似度」を計算(テキストに対する画像の類似度を測り画像データを分類)
- コサイン類似度が正しいペアに関して大きくなり、間違ったペアに関して小さくなるように、テキストと画像を近づける学習をする
- 学習済みモデルに画像を入力すると被写体を認識、それを描写するキャプションを自動生成する
- テキストを与えると、それに合った画像の特徴量を判断し、適切な画像を選び出す能力を持っている
- 事前学習されたCLIPは、従来の画像分類手法とは異なり、Zero-shotで分類器として使用できる
- 対象物の画像に対し、ファインチューニングなしに、画像とテキストの類似度を測ることで正しく画像を分類できる
拡散モデル
- 拡散モデル(Diffusion Model)→ノイズ除去拡散確率モデル
- 画像にノイズを追加し画像を劣化させる関数と、それを除去して元画像を復元するネットワークを持っている
- 「誘導拡散(Guided Diffusion)」→特定テキストで条件づけながら、より本物らしい画像を生成する手法
- 「GLIDE」→DALL-E2が実際に使用されており、テキストの条件に合った画像を生成するよう改良