サイトのデザインが新しくなりました。

Stable Diffusionの追加学習とは?好みの画像を生成するためのテクニックを徹底解説!

Stable-Diffusion 追加学習とは 好みの画像を生成する テクニック 徹底解説

Stable Diffusionは、イメージをテキストで入力すると画像が生成できる昨今話題の画像生成AIです。ただ、テキストを入力しても自分が思うような画像を生成できなかった方が多いのではないでしょうか。

自分好みの画像を生成するには、作成したい画像のイメージを具体的に伝えるプロンプトの他にも、追加学習と呼ばれる手法が必要です。Stable Diffusionに追加学習をさせると、さらに自分好みの画像を簡単に生成できるようになります。

今回紹介するのは、Stable Diffusionの追加学習についてです。具体的な手法だけでなく、追加学習を行う流れや注意点もまとめているので、生成する画像のクオリティをあげて自分好みに変えたい方はぜひ参考にしてください。

なお弊社では、生成AIツール開発についての無料相談を承っています。こちらからお気軽にご相談ください。

目次

Stable Diffusionの追加学習とは

Stable Diffusionの追加学習とは、統一したい内容をあらかじめ追加学習させて画像生成に反映させる手法です。

Stable Diffusionでは、モデルをインストールしてプロンプトを入力し、求める画像を生成します。プロンプトだけで画像を生成すると、既存の衣装や髪型・画風などを同じにするのは非常に難しいです。一方、Stable Diffusionに追加学習をさせると、持ち合わせている画像から特徴を抽出して画像に反映できます。

実際に追加学習させるときに必要なのは、LoRAなどの追加学習ファイルです。ダウンロードしたLoRAファイルをディレクトリに保存して追加学習を行います。モデルやプロンプトだけでなく追加学習も活用して思い描いた画像を生成しましょう。

なお、Stable Diffusionのプロンプトについて詳しく知りたい方は、下記の記事を合わせてご確認ください。

Stable Diffusionにおける代表的な追加学習の手法

Stable Diffusionでの追加学習方法には3つの方法があります。

  • 転移学習(Transfer Learning)
  • 蒸留 (Distilation)
  • ファインチューニング (fine tuning)

これら3つの手法で追加学習すると、イメージに合った画像を生成しやすくなります。以下、それぞれの学習方法を解説しますので、参考にしてみてください。

転移学習 (Transfer Learning)

Stable Diffusionで代表的な追加学習手法の一つは転移学習(Transfer Learning)です。転移学習とは、別の学習で使用したモデルを活用し、別領域の学習に適用させる技術を指します。

この追加学習手法は、データが少なくても有効なのが特徴的です。対象モデルの一部を取り出して別データを入れ、モデルの追加学習を行います。

たとえば、犬の画像データを学習したモデルがあって、猫の画像を生成したい場合を考えてください。学習済みモデルは動物という知識の土台をすでに持っているので、一部のデータを取り出して猫の画像データを読み込ませると、猫の画像を生成できるようになります。

さらに、土台となる動物のデータはすでにあるので、新たなデータもすぐに学習して画像に反映できるのです。このように、転移学習は学習済みファイルを活用して効率的に追加学習ができます。

蒸留 (Distilation)

次に、Stable Diffusionで代表的な追加学習手法の一つは蒸留(Distilation)です。蒸留とは、教師モデルと呼ばれる膨大な学習済みモデルから重要な情報を抽出し、生徒モデルと呼ばれる小さなデータに情報を伝える手法です。

蒸留は大規模モデルの豊富な情報量を効率よく活用するので、時間や計算コストを抑えられるのがメリットです。また、何も学習していない生徒モデルを使用するので、追加学習させる生徒モデルを小さくできます。

ファインチューニング (fine tuning)

最後に、Stable Diffusionで代表的な追加学習手法はファインチューニング(fine tuning)です。ファインチューニングは転移学習の一種で、事前に学習したモデルにおいて一部のパラメーターを再学習させるプロセスを指します。

再学習するパラメーターに制限はなく、入力層・出力層のすべてが再学習の対象です。ファインチューニングを使用すると、大量に追加学習させる際に過学習が起きにくくなります。ただ、学習量が多いので時間と計算量が多くなりやすい点に注意しましょう。

追加学習を行う方法

次に、Stable Diffusionで追加学習を行う方法を紹介します。追加学習の方法は、主に以下の4つです。

アーキテクチャ概要
U-Netのファインチューニングエンコーダの特徴マップをデコーダに連結
LoRA特定のタスクやスタイルにあわせて学習
DreamBooth特定の内容を事後学習する技術
Testual Inversion少ないサンプル画像でも新しい概念を学習できる

今回は、LoRaを使用して追加学習手法を行います。それぞれの手法と手順について解説しますので、ぜひ参考にしてみてください。

追加学習ファイルの準備

まず、Stable Diffusionで追加学習を行う際は、追加学習ファイルを準備しましょう。画像データや学習プロセスを指定する際の設定ファイルが必要です。設定ファイルには以下の内容を含めたデータを準備してください。

  • 学習率
  • バッチサイズ
  • エポック数
  • ハイパーパラメーター
参考:https://huggingface.co/Kanbara/doll-likeness-series/tree/main

今回は、LoRAモデルであるKanbaraをダウンロードします。まずはHugging Faceのページに移動し、「File and versions」をクリックして、対象のファイルをダウンロードしてください。

追加学習ファイルのセット

次に、追加学習ファイルのセットを行いましょう。stable-diffusion-webui>models>LoRAと順番にアクセスし、ダウンロードしたモデルファイルを格納してください。

今回はMacでStable Diffusion Web UIのAUTOMATIC11111版を使用しています。下記の場所にあるのがLoRAフォルダなので自身のPCでも探してみましょう。

動作確認

最後に、LoRAモデルを所定の場所にセットしたら動作確認を行います。Stable Diffusion Web UIを起動して、「Lora」をクリックしましょう。

画面下にインストールしたLoRAモデルが表示されていたら成功です。プロンプトを入力して「Generate」をクリックし、追加学習した状態で画像を生成してみましょう。

追加学習の注意点

Stable Diffusionで追加学習を行う際は、学習済みモデルの更新内容に注意する必要があります。そのほか、以下の点で注意が必要です。

  • 使用するモデルファイルのライセンス
  • エラーが発生する可能性もある

Stable Diffusionで生成した画像を安心して使用するためにも、事前に確認しておきましょう。

ダウンロードファイルのライセンス制限

Stable Diffusionで画像を生成する場合、モデルによってはライセンスに制限があり、商用利用が許可されていない場合があります。追加学習に必要なLoRAモデルでも、それぞれライセンス制限の設定が異なるのです。

例えば、モデル自体を販売できない条件や、生成したあとの画像を販売してはならないなどの条件が記載されている場合もあります。規約に違反しないように注意しましょう。

導入時にエラーが発生する可能性

またファインチューニングの性質上、Stable Diffusionで追加学習する際は、学習モデルのすべてを更新するのではなく新しく追加した部分を更新しましょう。

学習済みモデルをすべて更新してしまうと過学習の状態に陥ってしまうことがあります。過学習になってしまうとモデルの性能の低下を招き、エラーが発生する可能性も高まるのです。

なお、ファインチューニングの注意点について詳しく知りたい方は、下記の記事を合わせてご確認ください。

Stable Diffusionの追加学習を実行しよう!

今回は、Stable Diffusionで追加学習する方法について詳しく解説しました。Stable Diffusionでは、プロンプトを入力すれば画像を生成できますが、特定の要素を同じにした画像を生成するには追加学習が必要です。

追加学習には、転移学習・蒸留・ファインチューニングなどの種類があり、LoRAなどの追加学習ファイルを準備してセットするだけで簡単に学習させられます。ただ、ライセンスに制限があったり、エラーが発生したりする可能性があるので注意してください。

Stable Diffusionの画像生成では、画像の使用目的や使用するモデルを選択し、適切な追加学習方法を見つけて追加学習しましょう。

サービス紹介資料

生成系AIの業務活用なら!

・生成系AIを活用したPoC開発

・生成系AIのコンサルティング

・システム間API連携

WEELの生成AIへのスタンス

我々はむやみやたらにAIツールの使用をお勧めしていません。

AIツールでできることはほとんどがChatGPTやStable Diffusionなどの大元のAIサービスで行えるからです。
※国内のAIツールの多くはChatGPTだけでも完結できるソリューションを展開しています。

もし、自社で生成AIを活用したいという場合は
1. ChatGPTをフルで使えるようになる
2. 業務を生成AIに解けるタスクまで分解し、自動化する
のどちらかが良いと思います。

弊社では
1の場合、生成AIセミナーの実施や生成AIコンサルティングなどで、AI専門家による生成AI活用指導
2の場合、PoC開発やソリューション開発などで、LLMエンジニアやAIコンサルタントが御社にあったAIツールの開発を行います。

無料相談にてご相談を承っておりますので、興味がある方は以下からご連絡ください。
無料相談で話してみる

生成AIを社内で活用していきたい方へ

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、朝の通勤時間に読めるメルマガを配信しています。

最新のAI情報を日本最速で受け取りたい方は、以下からご登録ください。

また、弊社紹介資料もご用意しておりますので、併せてご確認ください。

投稿者

  • 晋平大竹

    生成AIの登場に大きな衝撃を受けたWebライター。好きなAIツールは、ChatGPTとAdobeFirefly。AIがこれからの世界を良い方向に導いてくれると信じ、正しい&有益な情報を発信し続けています!

  • URLをコピーしました!
  • URLをコピーしました!
目次