本記事では、RQ-VAE Transformerと呼ばれる機械学習手法を用いて、テキストから画像を生成(Image to Text)する方法をご紹介します。
RQ-VAE Transformer
概要
RQ-VAE Transformerは高解像度画像生成技術です。
RQ-VAE
Transformerは、高解像度画像を効果的に生成するため、残差量子化VAE(Residual-Quantized
VAE)とRQ-Transformerで構成される2段階のフレームワークです。
この構成は、計算コストを効率的に削減しつつ、画像生成タスクにおいて様々なベンチマークで既存の自己回帰モデルより優れていると示されています。
出典: Autoregressive Image Generation using Residual Quantization |
詳細はこちらの論文をご参照ください。
本記事では、上記手法を用いて、任意のテキストを入力して画像を生成する方法をご紹介します。
デモ(Colaboratory)
それでは、実際に動かしながらText to Imageを行っていきます。
ソースコードは本記事にも記載していますが、下記のGitHubでも取得可能です。
GitHub - Colaboratory demo
また、下記から直接Google Colaboratoryで開くこともできます。
なお、このデモはPythonで実装しています。
Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。
おすすめの書籍
[初心者向け] Pythonで機械学習を始めるまでに読んだおすすめ書籍一覧
本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。
おすすめのオンライン講座
[初心者向け] 機械学習がゼロから分かるおすすめオンライン講座
本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。
環境セットアップ
それではセットアップしていきます。 Colaboratoryを開いたら下記を設定しGPUを使用するようにしてください。
はじめに、GitHubからソースコードを取得します。
続いて、ライブラリのインストールします。
注意点として、「RESTART
RUNTIME」が表示された場合「ランタイム」→「ランタイムを再起動」を実行してください。
続いて、ライブラリをインポートします。
学習済みモデルのセットアップ
環境セットアップが完了したので、続いて学習済みモデルを論文発表元から取得します。
/content/rq-vae-transformer/pretrainedにモデルがダウンロードされます。
先ほどダウンロードしたモデルをロードしておきます。
RQ-VAEとRQ-Transferの2ステージ構成のため、2つのモデルをダウンロードしています。
Text to Image
それでは、Text to Imageを実行します。
初めに任意のテキストを英語で設定します。
今回は雪の中の桜の写真を生成してみます。
生成結果を出力します。
出力結果は以下の通りです。
高解像度画像が4x4の16枚表示されます。
精細な画像が生成されていますね。
まとめ
本記事では、RQ VAE Transformerを用いたText to Imageを行いました。
テキスト次第で様々な画像が生成されるため是非いろいろ試してみてください。
また本記事では、機械学習を動かすことにフォーカスしてご紹介しました。
もう少し学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。ぜひご一読下さい。
また動かせるだけから理解して応用できるエンジニアの足掛かりに下記のUdemyなどもお勧めです。
参考文献
1. 論文 - Autoregressive Image Generation using Residual Quantization
0 件のコメント :
コメントを投稿