概要
LoRA Block Weight(LBW)は、Stable DiffusionなどのAIイラスト生成ツールで広く利用されている強力な拡張機能です。通常、LoRAはモデル全体に一律の強さで適用されますが、LBWを導入することで、U-Netと呼ばれる画像生成モデルの階層(ブロック)ごとに適用度合い(重み)を細かくカスタマイズできるようになります。構文内に特定の数値を並べることで、モデルの「階層別の効果」を制御します。現在では、従来のSD1.5やSDXLだけでなく、最新のFLUXなどの生成モデルにも対応しており、AIイラストのクオリティや表現の自由度を劇的に向上させるツールとして評価されています。
メリットについて
最大のメリットは、一つのLoRAから多様な表現を引き出せる点にあります。例えば、キャラクターの容姿は維持しつつ、LoRA特有の強い画風だけを消したい場合は、画風を司る階層の重みを「0」にすることで、キャラクターのみを抽出できます。また、ポーズが固定化されてしまうLoRAに対して、ポーズに関する階層の数値を調整すれば、衣装や顔を保ったまま自由な構図で描かせることが可能です。わざわざ異なる条件でLoRAを何度も再学習・作り直す必要がなく、プロンプト側の指示だけで効果の限定や強化を柔軟にコントロールできるため、生成の手間と時間を大幅に削減できます。
デメリットについて
主な欠点は、設定項目が非常に多く、使いこなすための難易度が高い点です。LoRAの階層は17、LyCORISは26、Fluxでは61ものブロックに分かれており、どの階層が画像にどう影響するかを把握するには専門的な知識や検証が必要です。さらに、同じ階層の組み合わせであっても、使用するLoRAの学習元や構造によって得られる効果が異なるため、一筋縄ではいきません。毎回のプロンプト入力が複雑化する点も手間で、もし重み設定を完全に固定したい場合は、毎回LBWを入力する代わりに「SuperMerger」等のマージツールを用いてLoRA単体に重みを焼き付ける工夫が必要となります。
応用方法について
実用的な応用として、拡張機能に備わっている「XYZプロット機能」を活用した最適値の総当たり調査が挙げられます。各ブロックの数値を個別に変化させて格子状の比較画像を生成することで、どの階層がイラストに最も影響を与えているかを視覚的に判別できます。また、プロンプト指定で「start」や「stop」のステップ数を指定する応用も効果的です。例えば、キャラクターや構図のLoRAを最初の10ステップのみ適用し、途中で効果を切ることで、LoRA由来の画風の崩れやノイズを最小限に抑えつつ、狙ったキャラクターの姿だけを綺麗に出力する高度な制御が可能になります。
https://github.com/hako-mikan/sd-webui-lora-block-weightおまけ漫画