はじめに
AI画像生成で好みの画風やキャラクターを出したいとき、 チェックポイント(ベースモデル)だけでは限界がありますの。 そこで登場するのがLoRAですわ。
「LoRAって何?」「どうやって使うの?」「どこで手に入れるの?」── この記事では、LoRAの基本概念から実際の使い方まで、 初心者でもわかるように徹底解説します。
- LoRAとは何か? なぜ便利なのか
- LoRAの技術的な仕組み(ざっくり&詳しく)
- A1111/ComfyUIでの使い方
- Civitaiでの探し方・選び方
- 強度(Weight)の調整方法
- よくある質問とトラブル対処
第1章:LoRAとは
一言で言うと
LoRA(Low-Rank Adaptation)は、ベースモデルに追加で適用する小さな学習データのことです。 特定の画風、キャラクター、コンセプトなどを少ないデータで学習し、生成画像に反映できます。
チェックポイントとの違い
まず、LoRAとチェックポイント(ベースモデル)の関係を理解しましょう。
📦 チェックポイント(ベースモデル)
- モデル全体のデータ(2〜7GB)
- 画風の大枠を決める
- 「アニメ調」「リアル調」など全体の方向性
- 切り替えるとまったく違う画風に
🎨 LoRA(追加学習)
- 追加データのみ(10〜200MB)
- 特定の要素をピンポイントで追加
- 「特定キャラ」「服装」「光の表現」など
- 複数を同時に使うことも可能
チェックポイントが「画家」だとすると、LoRAは「画家に渡す参考資料」のようなものですの。 同じ画家でも、渡す参考資料が違えば描くものが変わります。 さらに、複数の参考資料を同時に渡すこともできるのがLoRAの強みですわ。
名前の由来
| 英語 | 日本語 | 意味 |
|---|---|---|
| Low-Rank | 低ランク | 行列を低ランクに分解して、パラメータ数を大幅に削減する手法 |
| Adaptation | 適応 | ベースモデルを新しいタスクやスタイルに適応させること |
元々はMicrosoftが大規模言語モデル(LLM)の効率的な微調整のために開発した技術で、 それをStable Diffusionに応用したものです。
第2章:LoRAの仕組み
LoRAの仕組みをシンプルに
LoRAは、ベースモデルの一部の層だけに小さな調整を加える仕組みです。
- ベースモデルは変更しない ── 元のデータはそのまま
- 追加の小さなデータを「重ねる」 ── 上から薄いフィルターをかけるイメージ
- 着脱自由 ── 使いたいときだけ適用、外せば元に戻る
カメラのレンズフィルターに似ていますの。 カメラ本体(ベースモデル)は変えずに、フィルター(LoRA)を付け替えるだけで 写真の雰囲気を変えられます。複数のフィルターを重ねることも可能ですわ。
低ランク行列分解
Stable Diffusionのモデル(特にU-Net / DiT内のAttention層)は、 巨大な重み行列 Wを持っています。 通常のファインチューニングではこの行列全体を更新しますが、 LoRAでは変化量 ΔWだけを低ランク行列として学習します。
通常のファインチューニング: W' = W + ΔW ← ΔWは元の行列と同じサイズ(巨大) LoRA: W' = W + α × (A × B) ・A: d × r の行列(rは小さい値、通常4〜128) ・B: r × d の行列 ・α: スケーリング係数 ・r ≪ d なので、パラメータ数が劇的に少ない
具体的な数値で見る
| 方式 | パラメータ数(例: d=1024) | 比率 |
|---|---|---|
| フルファインチューニング | 1024 × 1024 = 約105万 | 100% |
| LoRA(rank=4) | (1024×4) + (4×1024) = 約8,192 | 0.78% |
| LoRA(rank=32) | (1024×32) + (32×1024) = 約65,536 | 6.25% |
| LoRA(rank=128) | (1024×128) + (128×1024) = 約262,144 | 25% |
rank=4の場合、元の1%未満のパラメータで学習が可能です。 これがLoRAが「軽い」「速い」「大量に作れる」理由です。
Rankの影響
- Rank(ランク)は、LoRAの表現力を決めるパラメータ
- Rankが高い → 表現力が高い、ファイルサイズが大きい
- Rankが低い → 軽量、学習が速い、汎用性が高い傾向
- 一般的なLoRAのRankは4〜128程度
第3章:LoRAの種類と用途
LoRAは用途によってさまざまな種類があります。主なものを紹介します。
| 種類 | 学習対象 | 用途の例 |
|---|---|---|
| キャラクターLoRA | 特定のキャラクターの外見 | アニメキャラ、オリジナルキャラの再現 |
| スタイルLoRA | 画風・アートスタイル | 水彩風、厚塗り、特定イラストレーター風 |
| コンセプトLoRA | 特定のコンセプト・シチュ | 特定のポーズ、服装、背景の雰囲気 |
| クオリティLoRA | 画質改善 | 細部のディテール向上、手の描画改善 |
例えば「キャラクターLoRA」+「スタイルLoRA」を同時に使えば、 特定のキャラクターを特定の画風で描くことができます。 このように複数のLoRAを重ねて使う(スタック)のがLoRAの真骨頂です。
LoRA以外の追加学習手法との比較
| 手法 | サイズ | 特徴 | 主な用途 |
|---|---|---|---|
| LoRA | 10〜200MB | 軽量で高品質。現在の主流 | キャラ・画風・コンセプト全般 |
| LyCORIS | 10〜300MB | LoRAの拡張版。より多くの層を学習可能 | 複雑なスタイル学習 |
| Textual Inversion | 数KB〜数十KB | 超軽量だが表現力は限定的 | 簡単なコンセプト、ネガティブ用 |
| Hypernetwork | 数十MB | 初期の手法。現在はLoRAが主流 | (ほぼ使われなくなった) |
第4章:LoRAの使い方
AUTOMATIC1111 WebUIでの使い方
LoRAファイルを配置する
ダウンロードした .safetensors ファイルを以下のフォルダに配置します:
stable-diffusion-webui/models/Lora/
プロンプトにLoRAを記述する
プロンプト入力欄に以下の形式で記述します。
または、生成ボタンの下にある🎴アイコンからLoRAを選択することもできます。
強度を調整して生成する
強度(Weight)を調整し、生成ボタンを押すだけです。
プロンプトでの記述方法
<lora:ファイル名:強度> 例: <lora:anime_style_v2:0.8> → anime_style_v2.safetensors を強度0.8で適用 複数LoRAの併用: <lora:character_A:0.7> <lora:watercolor_style:0.5> → 2つのLoRAを異なる強度で同時適用 注意: ・拡張子(.safetensors)は不要 ・LoRAタグはプロンプトのどこに書いてもOK ・LoRA固有のトリガーワードが必要な場合あり
ComfyUIでの使い方
ComfyUIでは「Load LoRA」ノードを使います。 モデルとCLIPの接続線の間にLoRAノードを挟み、 LoRAファイルと強度を指定します。複数のLoRAを使う場合は、 Load LoRAノードをチェーンのように繋げていきます。
第5章:LoRAの強度(Weight)を理解する
LoRAの強度(Weight)は、LoRAの効果をどれだけ反映するかを決めるパラメータです。 適切な強度を見つけることが、綺麗な画像を生成する鍵です。
(ベースモデルのみ)
自然になじむ
バランス◎
効果が強い
破綻の可能性
- まずは 0.7 で試す ── 多くのLoRAの推奨値
- 0.5〜0.9 の範囲で調整 ── 大半のケースでこの範囲がベスト
- キャラクターLoRA → 0.6〜0.9が目安。低すぎると似なくなる
- スタイルLoRA → 0.4〜0.7が目安。高すぎると他の要素を潰す
- 1.0を超えると → 色がおかしくなったり、画像が破綻することがある
- 複数LoRA使用時は → 各LoRAの強度を少し下げる(合計で1.0〜1.5程度に)
- 色が極端に偏る(全体が特定の色に染まる)
- 顔や手が崩れる
- 他のプロンプトが効かなくなる
- NaN(真っ黒な画像)が生成される
このような症状が出たら、まず強度を0.5まで下げて試してみてくださいませ。
第6章:LoRAの探し方 ─ Civitaiガイド
LoRAの最大の入手先はCivitai(civitai.com)です。 数万種のLoRAが無料で公開されており、プレビュー画像付きで探せます。
Civitaiでの探し方
Civitaiにアクセスする
civitai.com にアクセスし、上部のフィルターで「LoRA」を選択します。 アカウント登録(無料)をすると、NSFWコンテンツのフィルタリング設定もできます。
ベースモデルでフィルタリング
「Base Model」フィルターで使用しているモデルのバージョン(SD 1.5 / SDXL / FLUX)を選択します。 異なるバージョン用のLoRAは基本的に互換性がありませんので注意。
プレビュー画像と詳細を確認する
気になるLoRAのカードをクリックして詳細ページを開きます。 「トリガーワード」「推奨強度」「推奨設定」を確認しましょう。 プレビュー画像の生成パラメータも参考になります。
ダウンロードして配置する
「Download」ボタンで .safetensors ファイルをダウンロードし、
models/Lora/ フォルダに配置すれば準備完了です。
良いLoRAを見分けるポイント
- ✅ ダウンロード数・評価が多い → コミュニティで実績あり
- ✅ プレビュー画像が豊富 → 出力品質を事前に確認できる
- ✅ トリガーワードが明記されている → 使い方がわかりやすい
- ✅ 推奨設定が書いてある → 作成者の意図通りに使える
- ✅ 更新日が新しい → 改善されている可能性が高い
- ⚠️ ベースモデルを必ず確認 → SD 1.5用をSDXLで使うと破綻する
多くのLoRAには「トリガーワード」と呼ばれる特定の単語があります。
プロンプトにこの単語を含めないとLoRAの効果が発揮されません。
例: キャラクターLoRAなら 1girl, character_name など。
必ずCivitaiの説明欄を確認してくださいませ。
第7章:よくある質問
基本的に使えません。 SD 1.5とSDXLではモデルの構造が根本的に異なるため、 LoRAにも互換性がありません。必ず使用しているベースモデルに対応したLoRAを選びましょう。 Civitaiのフィルター機能で対応バージョンを絞り込めます。
技術的な上限はありませんが、実用上は2〜4個程度がおすすめです。 LoRAを多く重ねるほど効果が干渉し合い、思い通りの結果が出にくくなります。 使用するLoRA数が多い場合は、個々の強度を低め(0.3〜0.5)に設定しましょう。
ほとんど影響ありません。 LoRAは生成前にベースモデルの重みに統合されるため、 生成中の計算量はLoRAなしの場合とほぼ同じです。 LoRA読み込み時に一瞬だけ処理が入りますが、体感できるほどではありません。
主な原因は以下の通りです:
① トリガーワードがプロンプトに含まれていない
② ベースモデルのバージョンが合っていない(SD 1.5用をSDXLで使っている等)
③ 強度が低すぎる(0.3以下だと効果が薄い場合あり)
④ ファイルの配置場所が間違っている
まずCivitaiの説明欄でトリガーワードと推奨設定を確認してみましょう。
はい、可能です。 「kohya_ss」などのツールを使って、 自分の画像データからLoRAを学習させることができます。 必要な画像は最低10枚程度から。学習にはVRAM 8GB以上のGPUが推奨されます。 詳しくはキャラクターLoRAの作り方をご覧くださいませ。
.safetensors形式を使いましょう。 .ckpt形式はPythonのPickleを使用しており、 悪意のあるコードが埋め込まれるリスクがあります。 .safetensorsは安全な形式として設計されており、現在の標準です。
まとめ
- LoRAは、ベースモデルに追加で適用する軽量な学習データ
- 低ランク行列分解により、元の1%未満のデータ量で学習可能
- キャラクター・スタイル・コンセプトなど用途は多彩
- プロンプトに
<lora:名前:強度>と記述するだけで使える - 強度は0.5〜0.9を目安に調整
- Civitaiで数万種のLoRAを無料入手可能
- ベースモデルとのバージョン互換性に注意
- トリガーワードの確認を忘れずに
- Stable Diffusionとは? ─ LoRAが動く仕組みの基礎知識
- プロンプトガイド ─ プロンプトの仕組みを徹底解説
- おすすめチェックポイント紹介 ─ LoRAと組み合わせるベースモデル選び
- キャラクターLoRAの作り方 ─ kohya_ssで自分だけのLoRAを学習しよう
- LoRA学習パラメータ完全ガイド ─ 各設定で何がどう変わるのか
- 無料AI画像生成って何? ─ AI画像生成の基礎知識