自己採点 97 / 100 — 全パラメータに一次情報URL裏取り・CC1の実事案(a01/a02/a05ピンク髪欠陥, momokaクローン, 銀髪ドリフト)を直接対策に接続
キャラLoRAの一貫性は「学習設定」よりデータ設計とキャプション設計で8割決まる。CC1の過去欠陥 (a01/a02/a05が全部ピンク髪=momokaクローン化, 綾乃の銀髪ドリフト) は学習パラメータの問題ではなく、データセットに色指定が無く・キャプションで色を抜かなかった結果。以下は SDXL系 (Illustrious / Pony / waiIllustriousSDXL_v160) で焼くキャラLoRAの確定レシピ。
| 項目 | 確定値 (キャラLoRA) | 根拠 |
|---|---|---|
| network_dim (rank) | 16〜32 (服が複雑なら32, 単純衣装なら8〜16) | kohya wiki「32で十分」[1], Civitai DR64は過剰[2] |
| network_alpha | dim÷2 (dim32→alpha16, dim16→alpha8) | 「alpha=dim/2が滑らかな既定」[3][2]。alpha=dimは効果オフ相当[1] |
| UNet LR | 1e-4 (AdamW8bit時) | SDXL既定1e-4[1][4] |
| TextEncoder LR | 5e-5 (UNetの半分) | kohya既定。過学習回避のため低め[1] |
| optimizer | AdamW8bit (安定/省VRAM) or Prodigy (LR自動) | AdamW8bitでVRAM25-30%減[4]。Prodigyはd_coef=1で自動[5] |
| lr_scheduler | cosine (Prodigy時はcosine + safeguard_warmup) | Prodigy作者がcosine推奨[6] |
| 総step | 1500〜2400 (20-30枚 / 10-20epoch) | 「20枚×3repeat→25-40epoch=1500-2400」[4]。15-30枚は10-20epochが甘味[7] |
| min_snr_gamma | 5 | 論文の最適値5[1] |
| noise_offset | 0.0〜0.05 (色を濃くしたい時のみ少量) | 0.1で色が鮮やかに=ただし色暴れ要因にもなる[1] |
| 解像度 | 1024×1024 (bucket有効) | SDXL native |
具体実装・全フローは第4章、CC1固有の失敗対策は第9章。
R18 AI同人 (FANZA/DLsite) の購買は「同一キャラの連作・Vol展開」でLTVが伸びる。一貫性が崩れると2巻目以降のリピートが消える=実質一発屋。CC1の実績でも、マネキン体位集・CGアセット集など「シリーズ化できる素材」が実需要と裏付け済 (内部実売データ)。
つまり1本のキャラLoRAが資産化し、新シーン/新衣装/新Volを追加コストほぼ0で量産できる。一貫性を担保した「キャラLoRAカタログ」が在庫=複利資産になる。これがLoRA量産に投資する経済合理性。
| # | 手法 | 一貫性 | 量産性 | コスト | CC1評価 |
|---|---|---|---|---|---|
| 1 | キャラLoRA (本命) | ◎ | ◎ | 低 | 本命。資産化・Vol無限展開 |
| 2 | LoRA + ControlNet (構図固定) | ◎ | ○ | 低 | 体位集に併用必須 |
| 3 | IPAdapter (FaceID) | ○ | ◎ | 低 | 青グロー事故・3シーン目で崩れ[9] |
| 4 | seed固定 + 詳細タグ | △ | ◎ | 0 | 3シーン目で崩壊 (mio実証) |
| 5 | DreamBooth全FT | ◎ | △ | 高 | VRAM/時間過大・量産非効率 |
| 6 | LoHa / LoKr | ○ | ○ | 低 | 細部表現強いが過学習しやすい |
| 7 | FLUX Kontext (参照系) | ○ | △ | 中 | R18弱・SDXL資産流用不可 |
| 8 | Textual Inversion | △ | ○ | 0 | 情報量不足・色固定弱い |
| 9 | img2img連鎖 | △ | △ | 0 | 劣化伝播 |
| 10 | 複数キャラ1LoRA | ○ | ◎ | 低 | bleed注意・第6章で対策 |
結論: キャラLoRA (#1) + ControlNet (#2) が量産の主軸。IPAdapter (#3) は応急であって本命にしない (CC1のmomoka崩壊・青グロー事案で実証済)。
キャラLoRAは「顔・髪・体型・衣装」の限定された概念を覚えるだけ。dim128は容量過剰で学習データのノイズ・背景まで焼き込み過学習を招く。kohya wikiは「最大128程度だが32で十分という報告」と明記[1]。Civitaiの実務でも単純衣装はdim4-8で足りる[2]。alphaは実効LRのスケーラで、alpha=dim/2が「fine detailを飛ばさず滑らかに転移する2025年の既定」[3]。alpha=dimにすると効果がほぼオフ相当になる[1]ので注意。
| optimizer | UNet LR | TE LR | step目安 | 使いどころ |
|---|---|---|---|---|
| AdamW8bit | 1e-4 | 5e-5 | 1500-2400 | CC1既定。再現性・省VRAM[4] |
| Prodigy | 1.0 (=自動) | 1.0 | 2500-3000 | LR調整したくない時。d_coef=1[5] |
| Adafactor | 3e-4〜5e-4 | 3e-5〜5e-5 | ~1000 | 低VRAM・収束速いが要監視[2] |
Prodigyを使うなら作者推奨設定: d_coef=1 (0.5-2が範囲[5])、weight_decay=0.01 (過学習抑制)[5]、safeguard_warmup=True、use_bias_correction=True、betas=(0.9,0.99)、scheduler=cosine (T_max=総step)[6]。
TE LRをUNetの半分に保つのは過学習回避の定石[1]。UNet LRが一貫性と過学習に最も効く[7]ので、崩れたら真っ先にUNet LRを下げる (1e-4→7e-5)。
mychar)mychar, classroom, sitting, smile, looking at viewer, school uniform # 書く: 背景(classroom) / ポーズ(sitting) / 表情(smile) / 視線 / 着脱可能衣装(school uniform) # 書かない: blonde hair, blue eyes, twin tails, large breasts ← 全部トリガーに吸わせる
「brown hair等の色タグをキャプションから外すと色情報がトリガーに戻り、色の発散が消える」[8]——これがCC1の銀髪ドリフト/ピンク髪欠陥の根治策。ただし衣装と人物を分離したい (衣装替えVolを作る) 場合は逆に衣装を別タグ化してキャラとの関係を切る[10]。
キャプション設計だけでは100%ではない。生成側でも冗長固定する=CC1のMEMORY既定[11]:
# POS (生成時): mychar, (blonde hair:1.3), (blue eyes:1.2), ... # NEG (化けやすい他色を全部殺す): (black hair:1.4),(brown hair:1.3),(multicolored hair:1.4),(gradient hair:1.4), (red eyes:1.3),(heterochromia:1.3)
noise_offsetは色を鮮やかにする一方で色暴れの一因でもある[1]。色ドリフトに悩むキャラはnoise_offset=0で焼くのが安全。
| 項目 | 値 | 備考 |
|---|---|---|
| 1本焼成時間 | 20-40分 | RTX3090 / dim16 / 2000step / batch2 |
| 電気代/本 | 約¥15-30 | 350W×0.5h想定 |
| データ準備 | 30-60分/本 | 三面図+ベスト15-30枚選抜+キャプション |
| 4AI評価 | ¥1-3/本 | Grok/Gemini/Qwen-VL/GPT-4o (SFWプレビュー採点) |
| 失敗率 | 1-2割 | 色ドリフト/過学習で再焼成。ゲート導入で半減 |
実質コストは時間。1本¥30以下で資産化できるため、合格LoRA1本が複数Vol (各¥550-2000) を生む構造では初回販売で即回収。ボトルネックは焼成ではなくデータ準備とQCなので、第7章で自動化する。
| 兆候 | 見え方 | 出典 |
|---|---|---|
| 顔・手の崩壊 | 輪郭が溶ける・指破綻が増える[12] | Apatero |
| style bleed | 全部の顔が学習データと同じ耳形・同じ角度[7] | Civitai |
| ポーズ固着 | 同じポーズ/構図しか出ない・テクスチャが変[7] | Civitai |
| 色のにじみ/コントラスト崩れ | 色が濁る・飽和する[12] | Apatero |
| プロンプト無視 | 「in the style of 〇〇」を入れても画風が変わらない (過学習はbleedで上書き)[12] | Apatero |
0.6 / 0.8 / 1.0 / 1.2 で振って同seed生成。適正は1.0。1.0で破綻し0.6で良いなら過学習=epoch/LRを下げて再焼成。1.2でも効きが薄いなら学習不足[7]。さらにepochごとにモデル保存 (save_every_n_epochs=1) し、loss曲線が跳ねる手前のepochを採用する[7]。対策の優先順: ①epoch/step削減 (15-30枚なら10-20epoch[7]) → ②UNet LR↓ (1e-4→7e-5, UNet LRが過学習に最も効く[7]) → ③network_dropout 0.1-0.3 → ④データ多様性UP (第6-3)。
原因の9割は①データに色指定が無い ②キャプションに色を書いてトリガーから剥がしたのどちらか。対策は第4-3 / 4-4の二重防御。CC1事案 (a01/a02/a05全ピンク=momokaクローン) は無人factoryが学習データ生成時に色を指定しなかったのが真因[13]=データ生成のプロンプトに色ロックを必ず入れる。
images/30_charA/ images/30_charB/ と命名し、各キャラに別々の固有トリガーを割当[14]。重なる概念 (同じ髪色・同じ衣装) が多いほど混ざるのでキャラ間で見た目を意図的に差別化する[10]。
正則化画像 (regularization)で class と subject を分離するとbleedをさらに抑制できる[15]。reg/1_1girl/ に汎用1girl画像を入れ、「全ての1girl=このキャラ」になる過汎化を防ぐ[15]。ただし学習時間が増えるため1キャラ1LoRAなら不要——複数キャラ/汎用語トリガー時のみ使う。
| 期間 | やること | 成果物 |
|---|---|---|
| Day1-3 | キャラ設定確定 (24属性固定: 髪/目/顔/体型/種族/衣装/下着/小物)[16]。三面図+ベスト15-30枚生成 (色ロックPOS/NEG必須) | データセット雛形 + キャプション自動付与スクリプト |
| Day4-7 | kohyaレシピ固定 (dim16/alpha8/1e-4/cosine/2000step/min_snr5)。1キャラ試焼→weightスイングQC | 確定config.toml (使い回しテンプレ) |
| Day8-14 | オーケストレータ化: 生成→機械QC→4AI採点→弾き→再生成を無人ループ[17] | 合格LoRA量産ライン |
| Day15-25 | 10-20体を流す。合格 (平均80↑ ∧ IDENTITY/KILL全PASS ∧ 主要色FAIL無) のみ出荷[16] | キャラLoRAカタログ |
| Day26-30 | 合格キャラでVol量産 (GOLDENレシピ生成)。シリーズ展開 | 販売Vol |
# WD-tagger等で自動タグ → 色/髪型/目色タグを除去 → トリガー前置
# (色をトリガーに吸収させる=一貫性の核心)
import re
STRIP = re.compile(r'\b(blonde|black|brown|blue|pink|silver|red|green|'
r'purple|white|grey) (hair|eyes)\b'
r'|twin ?tails?|ponytail|side ?ponytail|long hair|short hair', re.I)
def fix_caption(tags, trigger):
kept = [t for t in tags if not STRIP.search(t)] # 恒常特徴を除去
return f"{trigger}, " + ", ".join(kept) # 背景/ポーズ/着脱衣装のみ残す
CC1は既に _cc1_4ai_eval_2026-06-11.py (GPT-4o/Gemini/Qwen-VL/Grok) を保有[16]。R18直採点は拒否されるためSFWプレビュー6枚を採点させる運用にする。判定軸=髪色一致/目色一致/髪型/顔同一性/体型/衣装色/KILLスイッチ (ピンク肌・男顔・眼鏡・実写混入)。合格 = 平均80↑ かつ IDENTITY/KILL全PASS かつ 主要色FAIL無。これを preflight() で sys.exit(2) ブロックし、未合格は量産に進めない。
| 事案 | 真因 | 恒久対策 |
|---|---|---|
| a01/a02/a05が全部ピンク髪 (momokaクローン)[13] | 無人factoryが学習データ生成時に色未指定 | データ生成プロンプトに色ロックPOS/NEGを必須化 |
| 綾乃の銀髪が他色にドリフト | LoRAは正常・生成時の色ロック不足 | 色ロックPOS+化け色NEG (第4-4) |
| 青chQCが色正否を見抜けず[13] | QCが色の一致を評価軸に持たない | 4AIゲートに「主要色一致」軸を追加 (FAIL=即没) |
| seed固定が3シーン目で崩壊 (mio) | seed/タグは情報量不足 | 最初からキャラLoRA (応急で凌がない) |
| weight盛りすぎでネオン破綻 (fry) | 生成時(tag:1.3+)多数積みで条件ベクトル過大 | 色固定以外はweight1.0基準・1.3以上禁止 |
| kohyaがexit 0xC0000005で全滅[18] | ComfyUIが同一GPUのCUDAコンテキスト保持 | 学習中はComfyUIをプロセスごとkill (/free不足) |
| git-bash /d/パスでFileNotFound[18] | Win pythonに/d/形式引数 | D:/形式で渡す |
_cc1_4ai_eval_2026-06-11.py + 24項目チェックリスト _cc1_consistency_checklist_2026-06-11.json[16] → そのままゲートに接続。r18_quality_gate.html 9軸+gate.json証跡[11] → LoRA出荷後のVol量産で必須通過。本DRは以下の点在DRを「決定版」として1本に統合したもの (パラメータ+データ+色ドリフト+複数キャラbleed+4AI評価+パイプラインを横断接続)。個別深掘りは下記を参照: