はじめに

AI画像生成で好みの画風やキャラクターを出したいとき、 チェックポイント(ベースモデル)だけでは限界がありますの。 そこで登場するのがLoRAですわ。

「LoRAって何?」「どうやって使うの?」「どこで手に入れるの?」── この記事では、LoRAの基本概念から実際の使い方まで、 初心者でもわかるように徹底解説します。

📝 この記事でわかること
  • LoRAとは何か? なぜ便利なのか
  • LoRAの技術的な仕組み(ざっくり&詳しく)
  • A1111/ComfyUIでの使い方
  • Civitaiでの探し方・選び方
  • 強度(Weight)の調整方法
  • よくある質問とトラブル対処

第1章:LoRAとは

一言で言うと

💡 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,1920.78%
LoRA(rank=32)(1024×32) + (32×1024) = 約65,5366.25%
LoRA(rank=128)(1024×128) + (128×1024) = 約262,14425%

rank=4の場合、元の1%未満のパラメータで学習が可能です。 これがLoRAが「軽い」「速い」「大量に作れる」理由です。

Rankの影響

📝 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の場合

ComfyUIでは「Load LoRA」ノードを使います。 モデルとCLIPの接続線の間にLoRAノードを挟み、 LoRAファイルと強度を指定します。複数のLoRAを使う場合は、 Load LoRAノードをチェーンのように繋げていきます。

第5章:LoRAの強度(Weight)を理解する

LoRAの強度(Weight)は、LoRAの効果をどれだけ反映するかを決めるパラメータです。 適切な強度を見つけることが、綺麗な画像を生成する鍵です。

0.0
効果なし
(ベースモデルのみ)
0.3
控えめ
自然になじむ
0.7
推奨範囲
バランス◎
1.0
フル適用
効果が強い
1.5
過剰
破綻の可能性
🎯 強度調整のコツ
  • まずは 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用のLoRAをSDXLで使えますか?

基本的に使えません。 SD 1.5とSDXLではモデルの構造が根本的に異なるため、 LoRAにも互換性がありません。必ず使用しているベースモデルに対応したLoRAを選びましょう。 Civitaiのフィルター機能で対応バージョンを絞り込めます。

LoRAは何個まで同時に使えますか?

技術的な上限はありませんが、実用上は2〜4個程度がおすすめです。 LoRAを多く重ねるほど効果が干渉し合い、思い通りの結果が出にくくなります。 使用するLoRA数が多い場合は、個々の強度を低め(0.3〜0.5)に設定しましょう。

LoRAを使うと生成速度は遅くなりますか?

ほとんど影響ありません。 LoRAは生成前にベースモデルの重みに統合されるため、 生成中の計算量はLoRAなしの場合とほぼ同じです。 LoRA読み込み時に一瞬だけ処理が入りますが、体感できるほどではありません。

LoRAの効果が出ません。なぜ?

主な原因は以下の通りです:
トリガーワードがプロンプトに含まれていない
ベースモデルのバージョンが合っていない(SD 1.5用をSDXLで使っている等)
強度が低すぎる(0.3以下だと効果が薄い場合あり)
ファイルの配置場所が間違っている
まずCivitaiの説明欄でトリガーワードと推奨設定を確認してみましょう。

自分でLoRAを作ることはできますか?

はい、可能です。kohya_ss」などのツールを使って、 自分の画像データからLoRAを学習させることができます。 必要な画像は最低10枚程度から。学習にはVRAM 8GB以上のGPUが推奨されます。 詳しくはキャラクターLoRAの作り方をご覧くださいませ。

.safetensors と .ckpt の違いは?

.safetensors形式を使いましょう。 .ckpt形式はPythonのPickleを使用しており、 悪意のあるコードが埋め込まれるリスクがあります。 .safetensorsは安全な形式として設計されており、現在の標準です。

まとめ

📋 この記事のまとめ
  • LoRAは、ベースモデルに追加で適用する軽量な学習データ
  • 低ランク行列分解により、元の1%未満のデータ量で学習可能
  • キャラクター・スタイル・コンセプトなど用途は多彩
  • プロンプトに <lora:名前:強度> と記述するだけで使える
  • 強度は0.5〜0.9を目安に調整
  • Civitaiで数万種のLoRAを無料入手可能
  • ベースモデルとのバージョン互換性に注意
  • トリガーワードの確認を忘れずに
📖 関連記事

❀ この記事が役に立ったら

サイト運営のモチベーションになります。よろしければ応援お願いします!

❀ お布施する(OFuse)