Stable Diffusionで特定の絵柄をLoRAとして学習させた際に、「全体の絵柄は再現できているのに目の周りだけ特徴が崩れる」「元の絵師と違う目になる」といった現象が起こることがあります。この問題は学習データやモデル構造だけでなく、ベースとなるCheckpointの影響も関係している場合があります。本記事ではその原因と改善方法について整理しています。
LoRA学習で目の特徴が崩れやすい理由
LoRAはベースモデルの知識を活かしながら追加学習を行う仕組みのため、顔の中でも特に複雑な「目」の表現はベースモデルの影響を強く受けやすい領域です。
特に目は学習データのばらつきやアノテーションの違いが反映されやすく、意図した特徴が安定しにくい傾向があります。
例えば同じキャラでも表情や角度が多いと、目の形状が平均化されてしまうことがあります。
Checkpointの影響は本当にあるのか
結論として、使用しているCheckpoint(例:WAI-illustriousSDXL)の影響は十分にあり得ます。Checkpointには既に多くのキャラクターや絵柄の特徴が学習されているため、似た特徴がある場合はそちらに引っ張られることがあります。
特に有名キャラクターの場合、既にモデル内部に強い特徴ベクトルとして存在しているため、LoRAの学習結果よりも優先されるケースがあります。
例えば元モデルに近い目の形状が既に強く学習されていると、LoRAが上書きしきれないことがあります。
データセットの質と目の崩れの関係
目の再現性が低い場合、データセットの偏りも大きな要因になります。特に正面顔ばかり、あるいは特定の表情に偏っている場合、目の学習が安定しません。
また高解像度と低解像度が混在している場合も、ディテールの再現性に影響します。
例えば目のアップ画像が少ないと、細部の特徴が曖昧になりやすくなります。
LoRA学習時のパラメータと改善ポイント
学習時のrankやlearning rateも目の再現性に影響します。過学習や学習不足のどちらでも目の崩れが発生する可能性があります。
また、キャプションに「eyes」「detailed eyes」などのタグが適切に含まれていない場合も、特徴が安定しません。
例えば学習率が高すぎると全体は似るが細部が崩れるケースがよく見られます。
Checkpointの影響を軽減する方法
Checkpointの影響を減らすには、より中立的なベースモデルを使用するか、LoRAの重みを調整する方法があります。
またプロンプト側で明示的に特徴を指定することで、生成時のブレを抑えることも可能です。
例えば「eyes: original character style」といった強調プロンプトを使うことで改善するケースがあります。
まとめ
LoRAで目の特徴が崩れる原因は、データセットの偏りや学習設定だけでなく、Checkpointに既に存在するキャラクター特徴の影響も大きく関係しています。
安定した再現を行うためには、学習データの質向上・パラメータ調整・ベースモデル選定の3つをバランスよく見直すことが重要です。


コメント