Kohya_ss×SDXLで質感LoRAをつくるとき、なぜその設定にするのか
はじめに
設定手順は**SAKASA AIさんの記事「Kohya_ss×SDXLでLoRAをつくる人が最初に知っておくべきこと」**を参照してください。
操作ステップが丁寧にまとめられており、手順で迷う箇所は少ないと思います。
本記事は、「設定値をなぜその値にするのか」の美術的・技術的根拠を、質感LoRA(マチエールをAIに刻むためのLoRA)の視点から解説します。
☁️ Floyoなら質感LoRAをブラウザだけで試せます → 登録&30日間無料コードの使い方( https://note.com/texture_lora_lab/n/n3f9a90e76a03 )
第1節:SDXL特有のアーキテクチャと質感LoRA作成の相性
SD1.5とSDXLの構造的な違い
設定値に根拠を持つためには、まずSDXLの構造を理解する必要があります。
SD1.5は単一のText Encoderを使い、UNetの構造も比較的シンプルでした。
SDXLでは大きく2つの変更が加わっています。
Text Encoderが2本(OpenCLIP ViT-bigG + CLIP ViT-L)——テキストの意味を二重に解釈する構造です。
これにより、プロンプトの細かいニュアンスをモデルが拾えるようになりました
UNetの大型化(2.6Bパラメータ)——SD1.5の約3倍です。
特にTransformer2DModelブロックが増強され、画像内の空間的な関係性をより精密に捉えられます
質感LoRA作成にとってのSDXLの優位性
質感LoRAの観点から言えば、SDXLは明確に有利です。
Transformer2DModelブロックの増強は、「画像のある領域と別の領域の関係性」を学ぶ能力の向上を意味します。
質感は局所的な特徴であると同時に、画面全体にわたって一貫性を持つべきものです。
金箔LoRAであれば、画面の左上と右下で箔の質感が矛盾してはなりません。
SDXLのアーキテクチャは、この「局所的な質感の特徴」と「画面全体の一貫性」を同時に訓練するのに適しています。
どの層を訓練させるべきか
としあきdiffusion Wikiの実験知見によると、SDXLのUNetはdown/mid/upの各ブロックで役割が異なります。
質感の情報はmidブロック周辺とdownブロックの深い層に集中する傾向があります。
Kohya_ssのデフォルト設定ではUNet全体を訓練させますが、質感LoRAの場合はこれで問題ありません。
ただし、Text Encoderの訓練は控えめにするか、あるいはオフにすることを推奨します。
質感LoRAが学ばせたいのは「視覚的な表面の物性」であり、「言葉の意味の対応関係」ではありません。
Text Encoderを過度に訓練させると、特定のプロンプトでしか発火しない使いにくいLoRAになりやすいです。
ここから先は
この記事が気に入ったらチップで応援してみませんか?
