sd-scripts --masked_lossを使って背景をマスクするときのキャプショニングについて

--masked_lossを使い背景をマスクして学習させるときに自動キャプションされたwhite background, simple backgroundなどの背景タグは消しておく必要があるのでしょうか?
考察と検証をした結果、どうやら”そのままでよい”らしいということがわかりました。

masked_lossではキャプションから生成した画像と教師画像の差異のうちマスクされているところは差がなかったものとして扱います。差がないということはモデルがそこから学ぶことは何もないということを意味します。

教師画像の背景の領域がすべてマスクされている場合、学習をすすめるにつれ、非マスク領域は教師画像と一致するように制約されていきますが、マスクされた領域は指定した通りの背景であろうがなかろうが学習に関与しません。何が描かれていても良いのです。
そのため、非マスク領域の画風に影響を及ぼさないようなタグなら、マスク領域に該当するタグの有無はほぼ意味を持ちません。考えようによっては、絵の特定の要素をマスクすると該当するキャプションのタグのほうも自動的にマスクされているといった感じかもしれません。

さて、それでは今年も残すところあとわずかとなりましたが、皆さんよいお年をお迎えください。


いいなと思ったら応援しよう!