本記事では、FABRICと呼ばれる機械学習手法を用いて、テキストから画像を生成する際に、適宜フィードバックを反映し生成画像を制御する方法をご紹介します。
出典: FABRIC: Personalizing Diffusion Models with Iterative Feedback |
FABLIC
概要
FABLICは、DiffusionベースText to Imageモデルにより生成された画像に対して、反復的に人間によるフィードバックをモデルに組み込むことにより、Diffusionモデルを条件付けし出力品質を向上させるText to Image技術です。
FABLICでは、生成プロセス中のself attention layerに、ユーザーのフィードバックを組み込みDiffusionプロセスを条件付けし、出力品質を改善させています。
このアーキテクチャにより、ユーザーの暗黙的な好みに最適化し、パーソナライズしたコンテンツの作成やカスタマイズなどの分野に応用できる可能性を秘めています。
出典: FABRIC: Personalizing Diffusion Models with Iterative Feedback |
詳細はこちらの論文をご参照ください。
本記事では上記手法を用いて、フィードバックを反映しながら画像を生成していきます。
デモ(Colaboratory)
それでは、実際に動かしながら画像を生成していきます。
ソースコードは本記事にも記載していますが、下記のGitHubでも取得可能です。
GitHub - Colaboratory demo
また、下記から直接Google Colaboratoryで開くこともできます。
なお、このデモはPythonで実装しています。
Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。
おすすめの書籍
[初心者向け] Pythonで機械学習を始めるまでに読んだおすすめ書籍一覧
本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。
おすすめのオンライン講座
[初心者向け] 機械学習がゼロから分かるおすすめオンライン講座
本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。
環境セットアップ
それではセットアップしていきます。 Colaboratoryを開いたら下記を設定しGPUを使用するようにしてください。
初めにGithubからソースコードを取得します。
次にライブラリをインストールします。
最後にライブラリをインポートします。
以上で環境セットアップは完了です。
学習済みモデルのセットアップ
ここでは、Stable DiffusionベースのモデルをHuggingFaceからダウンロードし、メモリにロードしていきます。
model nameにはHuggingFaceのmodel nameを設定します。
コンフィグ設定
ここでは、テキストから画像を生成する際のテキストプロンプトなどを設定します。
Text to Image
それでは、テキストプロンプトから画像を生成します。
画像表示用関数群など一部省略しています。詳細は上記リンクのGoogle Colabからご確認ください。
1st roundの生成結果は以下の通りです。
1枚目と4枚目のlikeし、Next Roundを実行します。
2nd roundの生成結果は以下の通りです。
先ほどlikeした1枚目と4枚目にテイストが近い画像が4枚生成されています。
このようにフィードバックを反映しながら任意の出力品質に近づけていくことができます。
まとめ
本記事では、FABRICを用いて、フィードバックを反映しながら画像の出力品質を改善していく方法をご紹介しました。
フィードバックを反映することによりStable Diffusionモデルの出力品質を制御することが可能になります。
また本記事では、機械学習を動かすことにフォーカスしてご紹介しました。
もう少し学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。ぜひご一読下さい。
また動かせるだけから理解して応用できるエンジニアの足掛かりに下記のUdemyなどもお勧めです。
参考文献
1. 論文 - FABRIC: Personalizing Diffusion Models with Iterative Feedback
0 件のコメント :
コメントを投稿