現在、「f8ch32」というVAEを訓練しようとしています
(8倍の圧縮率、32チャンネル)
その現在の性能は「sdxl f8ch4よりは良いが、auraflow f8ch16よりは悪い」といったところだと評価できます
私の最大の課題は、再構成の忠実度を改善することです。
いろいろ調べた結果、この手のことに関して世間に知られている手法は、主にLPIPSとGANを使っているようです。
これらの問題は、LPIPSは平滑化しすぎることがあり、GANは作り話をし始めることです。
後者は「シャープな仕上がり」を求めるだけなら問題ありませんが、元画像への実際の忠実度を重視するなら最悪です。
そこで私は、この種の古い訓練アイデアである「訓練画像セット全体にジッター(揺らぎ)を使う」を極端にして、ピクセルシフトを使って精度を力ずくで引き上げようと決めました。
具体的な使用例:
2048x2048のような高解像度画像を用意します。
「ピクセルシフト値」をいくつか定義します。(この例ではps=2)
高解像度画像を隣接するサイズである(1024+2)x(1024+2)にリサイズします。
その上で、その
(この特定のケースでは9枚の訓練画像が得られます)
1024x1024のストライド1の切り出しをすべて意図的に順に進めていきます。
この方法で、最初のうちは一定の成功が得られているようです。
ただし、いまは、l1やedge_l1 lossのように、使っているロス関数に対する最も効果的な重み付け値を見つけるためのチューニングゲームをしなければなりません。
限られたGPUリソースしかなく、暗中で闇雲に続ける必要があるのではなく、誰かこの分野で既に道を切り開いた先行研究を知っていないか聞いてみようと思いました。
[link] [comments]