はじめに:既存LoRAでは出せない「自分だけの表現」を作る
Civitaiには膨大な数のLoRAが公開されていますが、「好みのキャラクターのLoRAがない」「特定の画風を再現できるLoRAが見つからない」という状況は必ず訪れます。そこで重要になるのが LoRAの自作です。
自分でLoRAを作れると、オリジナルキャラクターのLoRA、自分の好みに特化した画風LoRA、特定の衣装・シチュエーション用LoRAなど、Civitaiには存在しない表現が可能になります。
本記事では、Kohya SS(kohya-ss/sd-scripts)を使ったLoRA学習の入門手順を解説します。
関連記事:LoRAの選び方2026
LoRA学習に必要な環境
VRAM要件
| VRAM | 学習可能なモデル | 推奨バッチサイズ |
|---|---|---|
| 8GB | SD1.5系LoRA | 1 |
| 12GB | SD1.5 / SDXL(要最適化) | 1〜2 |
| 16GB | SDXL系LoRA | 1〜2 |
| 24GB | SDXL系LoRA | 2〜4 |
VRAM 8GBでも --gradient_checkpointing と --xformers を使えばSD1.5系のLoRA学習が可能です。SDXL(Illustrious/NoobAI)のLoRAを作るなら12〜16GB以上を推奨します。
推奨環境
- Python 3.10.x
- CUDA 11.8 または 12.1
- PyTorch 2.x
- Windows 10/11 または Linux
Kohya SSのセットアップ
インストール手順(Windows)
# 1. リポジトリのクローン
git clone https://github.com/bmaltais/kohya_ss.git
cd kohya_ss
# 2. 仮想環境の作成と有効化
python -m venv venv
venv\Scripts\activate
# 3. 依存関係のインストール(GUIスクリプトを使用)
.\setup.bat
setup.bat を実行すると必要なパッケージが自動インストールされます。
GUIの起動
.\gui.bat
ブラウザで http://localhost:7860 が開きます。これがKohya SSのGUIです。

n*参考イメージ:学習前のデータ準備フロー*n
学習データの準備
学習データの品質がLoRAの品質を直接決めます。ここが最も重要なステップです。
画像枚数の目安
| LoRAの種類 | 推奨画像枚数 |
|---|---|
| キャラクターLoRA | 15〜30枚 |
| スタイルLoRA | 30〜100枚 |
| 衣装・物体LoRA | 10〜20枚 |
| NSFWシーン特化 | 20〜50枚 |
少なすぎると汎化性能が低下し、多すぎると学習が不安定になります。まずは20枚程度から試してみましょう。
画像の品質基準
- 解像度:512×512以上(推奨:768×768〜1024×1024)
- 品質:ぼやけ・ノイズ・著しい崩れがないもの
- 多様性:同一ポーズ・表情のみにならないよう、バリエーションを持たせる
- NSFWLoRA:ターゲットのシーン・衣装・ポーズを幅広くカバーする
フォルダ構成
training_data/
└── 20_character_name/ # 数字 = 繰り返し回数、文字列 = trigger word
├── image_01.png
├── image_01.txt # キャプションファイル
├── image_02.png
├── image_02.txt
└── ...
フォルダ名の先頭の数字(20)は、1エポックあたりその画像を何回使うかを示します。画像が少ない場合は大きくして補います。
キャプション(タグ付け)の方法
キャプションは各画像に対応する .txt ファイルで、画像の内容を説明するタグを記述します。
WD14 Taggerを使った自動タグ付け
Kohya SSにはWD14 Taggerが統合されており、自動でDanbooruタグを付けられます。
Utilitiesタブ →WD14 Captioning- 画像フォルダを指定
Caption extensionを.txtに設定Run captioningを実行
手動でキャプションを編集する
自動タグ付けの後、不正確なタグを修正します。特に重要なポイント:
- Trigger wordを一番先頭に入れる(キャラ名など)
- 学習させたくない特徴(背景など)はタグから削除
- LoRAに覚えさせたい特徴は残す・追加する
mycharacter, 1girl, long hair, blue hair, red eyes, white shirt, ...
キャプション設計のコツ
- キャラLoRA:キャラの固有特徴(髪色・目色・トレードマーク)はあえてキャプションに含めない(または trigger word にまとめる)ことで、LoRAがその特徴を「覚える」
- スタイルLoRA:スタイル名を trigger word にし、コンテンツタグ(キャラ・背景など)は細かく書く
- NSFWLoRA:NSFWコンテンツタグを明示的に含める
Kohya SS の主要設定解説
GUIの LoRA タブで設定します。
基本設定
| パラメータ | 推奨値(SD1.5) | 推奨値(SDXL) | 説明 |
|---|---|---|---|
network_dim | 32〜64 | 32〜64 | LoRAのランク。高いほど表現力が上がるがファイルサイズも増加 |
network_alpha | dimの半分〜同値 | dimの半分〜同値 | 学習率のスケール調整 |
learning_rate | 1e-4 | 5e-5〜1e-4 | 学習率。高すぎると崩れる |
lr_scheduler | cosine_with_restarts | cosine_with_restarts | 学習率スケジューラー |
max_train_steps | 1500〜3000 | 2000〜4000 | 総学習ステップ数 |
train_batch_size | 1〜2 | 1 | バッチサイズ |
推奨オプション
--gradient_checkpointing:VRAM節約--xformers:高速化--save_every_n_steps=500:途中保存(過学習確認用)
キャラクターLoRAの学習手順
- 画像フォルダを用意(15〜30枚)
- WD14 Taggerで自動タグ付け
- trigger word(例:
mycharacter)をキャプション先頭に追加 - キャラの固有特徴タグ(髪色・目色等)をキャプションから削除
- Kohya SS設定:
network_dim=32,learning_rate=1e-4,max_train_steps=2000 - 学習を開始し、500ステップごとに中間チェック
学習中は定期的に生成テストを行い、過学習(見本画像に引っ張られすぎる状態)を確認します。
スタイル・画風LoRAの学習手順
スタイルLoRAはキャラLoRAとは設計思想が異なります。
- 画像枚数:30〜100枚(スタイルの多様性が重要)
- キャプション:コンテンツタグを詳しく書き、スタイルタグ(trigger word)のみ一貫させる
network_dim:64〜128(スタイルはより多くの情報が必要)- 学習ステップ:3000〜5000(多め)
mystyle, 1girl, long hair, smile, casual clothes, park background
NSFW向けLoRA学習のコツ
NSFWLoRAを作る場合の追加ポイントです。
データセット選び
- ターゲットシーンを幅広くカバーする(多様なポーズ・アングル)
- 品質の低い画像は学習精度を下げるため除外
- 最低でも20枚、可能なら40〜50枚確保
タグ設計
NSFWタグをキャプションに明示的に含めます。ただし、trigger word を使って「通常の生成には影響しない」設計にすることを推奨します。
my_nsfw_trigger, rating:explicit, nude, [ポーズ・シーンのタグ]
trigger word なしでは動かないようにすることで、通常の生成への干渉を防ぎます。
よくある失敗パターンと対処法
失敗1:過学習(サンプル画像をそのままコピーするような出力になる)
原因:学習ステップが多すぎる、または学習率が高すぎる 対処:ステップ数を減らす(500〜1000ステップ試す)。学習率を半分に下げる
失敗2:崩れが激しい
原因:学習率が高すぎる、またはデータセットの品質が低い
対処:learning_rate=5e-5 まで下げる。品質の低い画像を除外する
失敗3:汎化性能が低い(trigger word なしでも反応してしまう)
原因:キャプションに固有特徴が残っていてLoRAが汎化できていない 対処:キャラの固有特徴をキャプションから削除する
失敗4:VRAMが足りない
対処:--gradient_checkpointing を有効化。バッチサイズを1に。--cache_latents を使う

n*参考イメージ:loss推移を見ながら調整する場面*n
学習結果の評価と調整
学習したLoRAは重みを 0.5〜1.0 の範囲で試して、効果と安定性のバランスを確認します。
<lora:my_lora:0.7>, trigger_word, 1girl, ...
500ステップ、1000ステップ、2000ステップなどの中間保存を比較して、最適なステップ数を特定しましょう。多くの場合、「ちょうどいい」ポイントは最大ステップより手前にあります。