オリジナルキャラクターLoRAの作り方【Illustrious-XL学習編】Illustrious-XLのキャラクター学習

今回の記事は前回のの1つPonyに続き「Illustrious-XL」を使ってキャラクターLoRAを学習します。Illustrious-XLは高品質なイラスト・アニメーション向けに特化した、Stable Diffusion XL(SDXL)ベースの生成モデルです。Danbooruタグ+自然語のハイブリッド入力、高解像度生成性能、拡張互換性の三拍子が揃っており、v2以降さらに安定性と使いやすさが増しています。LoRA学習のKohya ss GUIのインストールや、データセットの作り方が分からない方は、まずは下記の記事を読んでみましょう。
また、LoRA学習がはじめての方は学習が早く終わるSD1.5モデルから為すことをおススメします。









![LangChainとLangGraphによるRAG・AIエージェント[実践]入門 エンジニア選書の商品画像](https://m.media-amazon.com/images/I/51hcvyPcUnL._SL160_.jpg)
Illustrious-XLについて
Illustrious-XLはOnomaAIが開発している(SDXL)ベースの生成モデルです。初期はKohaku XL-beta5などのチェックポイントから始まり、独自のイラスト特化データセットで再学習されています。簡単ですが以下に概要をまとめてみました。
- 開発元:OnomaAI
- アーキテクチャ:SDXLベース(大規模UNet+クロスアテンション二段構造)
- 解像度:ネイティブ1536×1536px生成可能。512〜1536px間、非標準アスペクト比も対応
- ハイブリッドプロンプト:Danbooruタグ+自然文入力で、緻密かつ直感的な作品生成が可能
- 拡張互換性:LoRA、ControlNet、Img2Imgなど主要ツールとの互換性あり
- 安定性:v2.0以降は「安定版」チェックポイントで、生成のばらつき少なく高忠実
- ライセンス:v0.1: Fair Public AI + TOS / v1.0~: MIT + CreativeML Open-Rail++
バージョンごとの特徴
v0.1(2024年11月リリース):- 最初の公開版。Danbooruタグ学習中心で、基礎性能は合格点ながら不安定な面も
- ネイティブ1536×1536px対応で、従来SDXLの標準以上の解像度をサポート
- Danbooruタグ+英語自然文のハイブリッドプロンプト対応に進化
- LoRAやControlNetなどの拡張モジュールとの互換性強化
- ミニマルな“素の”事前学習モデルとして公開し、外部での微調整用途にも向いている
- v1.0の強化版で、データセットの再調整により、構図や色の表現力がより洗練
- コサインアンライリング学習スケジュールを採用し、生成結果の安定性が向上
- 1536px出力での色調・構図の安定と一貫性が強化され、プロンプト通りの表現がより確実に
- LoRA/ControlNetなどSDXL相互互換拡張も引き続きサポート
Kohya ss GUIのデフォルト値を使った学習
DCAIのキャラクター学習では恒例になっているデフォルトパラメーターを使って学習させてみましょう。
今回使用する学習ベースモデルは「Illustrious-XL-v2.0」を使用します。
データセット
データセットは「オリジナルキャラクターLoRAの作り方【データセット編】学習画像の制作とキャプション」で作成したデータを元に学習します。同じデータセットで学習させたい場合は、Patreonで公開していますが、有料サポーター様のみダウンロードが可能となっています。
Illustrious-XLは最大1536×1536pxで学習できますが、まずは通常の1024×1024pxで試してみましょう。

デフォルトパラメーター
データセットの準備ができたら、下記のパラメーターを使って学習します。Illustrious-XLモデルの学習用に、少しだけ値を変更しています。入力または変更が必要な部分は赤文字で記載しています。
- Pretrained model name or path:Illustrious-XL-v2.0.safetensors
- Trained Model output name:DCAI_Girl_Illutorious_Def ※モデルの出力名
- Instance prompt:dcai-girl ※今回使うキャプション方式では値は無視されますが、入力しないとエラーになるため。
- Class prompt:1girl ※上記と同じ理由で入力。
- Repeats:5 [デフォルト:40] ※学習元画像が100枚で、トータル画像を500にしたいため。
- Presets:none
- LoRA type:Standard
- Train batch size:1
- Epoch:1
- Max train epoch:0
- Max train steps:1600
- Save every N epochs:1
- Seed:123 [デフォルト:0 = ランダム] ※パラメーターをコントロールする為に適当な数字を入れます。
- LR Scheduler:cosine
- Optimizer:AdamW8bit
- Learning rate:0.0001 (1e-4)
- Text Encoder learning rate:0.00005 (5e-5) [デフォルト:0.0001 (1e-4)] ※公式ドキュメントの推奨デフォルト値に変更しています。
- Unet learning rate:0.0001 (1e-4)
- LR warmup (% of total steps):10
- Max resolution:1024, 1024 [デフォルト:512, 512] ※SDXLの解像度
- Network Rank (Dimension):8
- Network Alpha:1
- clip_skip:2 [デフォルト:1] ※Illustrious-XLの推奨値
学習したLoRAを使ったテスト生成
デフォルト設定で学習したLoRAを使って生成した画像が上の画像になります。下の画像は同じ設定でLoRAを使わずに生成した画像です。


見ての通りデフォルト設定では衣装が少し影響しているだけで顔などはほとんどLoRAの影響がないことが判ります。A1111 WebUIの生成設定は下記の通りです。
プロンプトmasterpiece, best quality, amazing quality, dcai-girl, 1girl, solo, looking at viewer, solo, short hair, orange hair, brown eyes, animal ears, blue dress, meadow, sky, day, newest, extremely detailed background, extremely detailed foreground
worst quality, low quality, bad quality, bad details, oldest, very displeasing, displeasing, explicit, nsfw, bad anatomy, artistic error, lowres, bad hands, multiple views, by bad artist, jpeg artifacts, anatomical nonsense, bad perspective, bad proportions, bad reflection, ugly, poorly drawn face, deformed eyes, deformed hands
checkpoint: Illustrious-XL-v2.0.safetensors
Steps: 28
Sampler: Euler a
Schedule type: Automatic
CFG scale: 5.5
Seed: 181736684
Size: 1344x768
ADetailer: ON
Hires. fix: Upscaler: 4x-UltraSharp / Step: 10 / Denoising strength: 0.25 / Upscale by: 2
VAE: sdxl.vae.safetensors
Cosine Annealingについて
Cosine Annealingは、学習率をトレーニングの進行に応じてコサイン関数にしたがって変化させるPyTorchのスケジューラーの一種です。学習率の急激な変化を避けつつ、効果的に収束を促すために使われます。
Kohya_ss GUIでCosine Annealingの使い方
Kohya_ss GUIでCosine Annealingを使うにはKohya_ss GUIのバージョンがv25.1.0
以上にする必要があります。アップデート方法が分からない方は下記の記事を参考にしてください。
設定方法はKohya_ss GUIのParametersエリアの「LR Scheduler type」からCosineAnnealingLR
を選択して、「LR scheduler extra arguments」に下記のコマンドを入力します。
T_max=1600 eta_min=1e-6
extra argumentsに入力できるのは下記のコマンドになります。
- T_max (int):(必須引数)学習率が最小に達するまでのステップ数。通常はmax_train_stepsに一致させます。
- eta_min (float):最小の学習率を入力します。(デフォルト:0.0)
- last_epoch (int):再開時のエポック(通常は無視)(デフォルト:-1)
注意点として、Cosine Annealingとwarmupは併用できないので「LR warmup (% of total steps)」は0
に設定しないとエラーになります。
「LR Scheduler」は上書きされるのでwarmupを使わないconstant
もしくは、LoRAのMetadataにはCosine Annealingが書き出されないので、似ているcosine
をwarmupを0
にして学習します。

Cosine AnnealingとProdigyをつかったLoRA学習
では、先ほど紹介したCosine AnnealingスケジューラーとPonyのキャラクター学習で紹介したProdigyオプティマイザーを使ってIllustrious-XLのキャラクター学習をしてみましょう。
学習パラメーター
- Pretrained model name or path:Illustrious-XL-v2.0.safetensors
- Trained Model output name:DCAI_Girl_Illustrious-XL_V20 ※モデルの出力名
- Instance prompt:dcai-girl ※今回使うキャプション方式では値は無視されますが、入力しないとエラーになる為
- Class prompt:1girl ※上記と同じ理由で入力。
- Repeats:5 [デフォルト:40] ※学習元画像が100枚で、トータル画像を500にしたいため。
- Presets:none
- LoRA type:Standard
- Train batch size:1
- Epoch:5 [デフォルト:1] ※総ステップをEpochで調節する為
- Max train epoch:0
- Max train steps:0 [デフォルト:1600] ※総ステップをEpochで調節する為
- Save every N epochs:0 [デフォルト:1] ※途中経過を見る必要が無かった為
- Seed:123 [デフォルト:0 = ランダム] ※パラメーターをコントロールする為に適当な数字を入れます
- LR Scheduler:constant [デフォルト:cosine] ※CosineAnnealingLRを使うため無視されます
- LR Scheduler type:CosineAnnealingLR
- LR scheduler extra arguments:T_max=1600 eta_min=1e-6
- Optimizer:Prodigy [デフォルト:AdamW8bit]
- Learning rate:1.0 [デフォルト:0.0001 (1e-4)] ※Prodigy推奨値
- Text Encoder learning rate:1.0 [デフォルト:0.0001 (1e-4)] ※Prodigy推奨値
- Unet learning rate:1.0 [デフォルト:0.0001 (1e-4)] ※Prodigy推奨値
- LR warmup (% of total steps):0 [デフォルト:10] ※CosineAnnealingLRで使うとエラーになる為
- Max resolution:1024, 1024 [デフォルト:512, 512] ※SDXLの解像度
- Network Rank (Dimension):32
- Network Alpha:16
- clip_skip:2 [デフォルト:1] ※Illustrious-XLの推奨値
- CrossAttention:sdpa [デフォルト:xformers] ※学習速度は落ちるが、品質が良い為
以上のパラメーターで学習したTensorBordグラフが以下の様になりました。前回のPonyのキャラクター学習のグラフとあまり変わりませんが、初期段階で0.065ぐらいまで下がっています。LarningRateは下段がちゃんとCosineの形になっています。上段の「lr/d*lr/group1」は自動調整された値になります。

学習結果

A1111 WebUIの生成パラメーターはデフォルト設定で学習したLoRAと同じパラメーターになっています。
結果として再現とはよく再現できているとおもいます。シンプルな背景が気になる方は、背景のプロンプトを詳しく指定してみましょう。
同系統のチェックポイントモデルに適用する
Ponyと同様に、Illustrious-XL系統のチェックポイントであれば今回学習したLoRAを適用する事ができます。以下にLoRAを適用したサンプルを載せておきます。生成パラメーターは下記のパラメーターを使っています。
プロンプトmasterpiece, best quality, amazing quality, dcai-girl, 1girl, solo, looking at viewer, solo, short hair, orange hair, brown eyes, animal ears, blue dress, dynamic, open mouth, crystal staff, healing magic, green aura, meadow, grass, flower, sky, mountain, newest, extremely detailed background, extremely detailed foreground <lora:DCAI_Girl_Illustrious-XL_V20:1>
worst quality, low quality, bad quality, bad details, oldest, very displeasing, displeasing, explicit, nsfw, bad anatomy, artistic error, lowres, bad hands, multiple views, by bad artist, jpeg artifacts, anatomical nonsense, bad perspective, bad proportions, bad reflection, ugly, poorly drawn face, deformed eyes, deformed hands, extra digit, fewer digits, text
Steps: 28
Sampler: DPM++ SDE
Schedule type: Karras
CFG scale: 5.5
Seed: 311095029
Size: 1344x768
ADetailer: ON
Hires. fix: Upscaler: 4x-UltraSharp / Step: 10 / Denoising strength: 0.25 / Upscale by: 2
VAE: sdxl.vae.safetensors








最後の「Illustrious-XL – v0.1」でわかるようにIllustrious-XL-v2.0は下位互換もある程度しているのが確認できます。
最終結果のLoRAはCivitaiにて公開していますので興味のある方はダウンロードしてみましょう。
まとめ
今回はIllustrious-XLを使ったキャラクターLoRA学習を紹介しました。Illustrious-XLはPonyと比べるとプロンプトの効きが良く、最後の同系統のチェックポイントモデルのサンプルの様に自由な構図を作りやすいと思いました。また、Prodigy + CosineAnnealingLRの組み合わせは難しい設定を気にしなくても良いので初心者の方にも使いやすく簡単に高品質な学習ができます。










【Amazon.co.jp 限定】Inner Garden 可作品集 ILLUSTRATION MAKING & VISUAL BOOK(特典:デジタル壁紙)
ASIN:4798189235