前回、danbooruデータセットを使用してStable Diffusionに追加学習を行う手順について記載した。
今回は、追加学習したモデルで、生成する画像がどう変わるか確認する。
追加学習の結果
98エポックまで学習を行った。
エポック数とステップ数
エポック数とステップ数の関係は以下の通り。
訓練データは、9685枚の画像で、バッチサイズ4で、4GPUで学習しており、1エポック=605ステップである。
元のStable Diffusionのモデルが6エポック(470kステップ)学習済みのため、6エポックから始まっている。
訓練損失
評価損失
評価損失は安定しておらず、8、14、68エポックで最小を更新している。
生成画像確認
8、14、68エポック目のモデルで、promptを「cat」として猫の画像を生成してみた。
元のStable Diffusion
epoch=8
epoch=14
epoch=68
※職場での閲覧に不適切な画像も生成される場合もある
Waifu Diffusion
8エポックのモデルでは、スタイルがイラスト調に変わっているが、猫=4本足でしっぽがある動物という概念は残っている。
14エポックのモデルでは、よくわからない画像が生成されるようになっている。
68エポックのモデルでは、猫=動物の概念を忘れてしまい、猫=猫耳になってしまった。
Waifu Diffusionのモデルは、写真ぽさが残っている。
今度は、訓練画像に含まれていそうな人物の画像を生成してみた。
プロンプト:「short hair girl reading with glasses」
元のStable Diffusion
epoch=8
epoch=14
epoch=68
Waifu Diffusion
8エポックのモデルでは、イラスト調でそれなりの質の画像が生成されている。
14エポックと68エポックのモデルでは、読書の概念を忘れかけており、生成画像の質も良くない。
Waifu Diffusionのモデルは、写真とイラストの中間くらいになっている。
考察
追加学習は、学習しすぎると、元のモデルにあった概念を忘れてしまう傾向が確認できた。
Waifu Diffusionのモデルと比べると、8エポックのモデルでも追加学習の特徴が強く現れている。
Waifu Diffusionは、Danbooruの画像を56000枚使用して、学習率5.0e-6で、4エポック学習している。
また、画像は、CLIP Aesthetic Scoringが6以上のものを使用している。
CLIP Aesthetic Scoringは、画像の審美を予測するモデルであり、Stable Diffusionでも使用されている。
今回行った学習をWaifu Diffusionと比較すると、画像枚数が17%くらいしかなく、CLIP Aesthetic Scoringも使用していないため、生成される画像の質が高くないことが要因となったと考える。
また、学習率はデフォルトの1.0e-4で学習していた。これも、過学習の原因になったと考えられる。