AI の手がうまく描けない問題はどのように解決されたか
カテゴリ:deeplearning
1. 解像度の増加
生成解像度を増加させたり、VAE の圧縮率を下げることで手に割り当てられるトークン数を増加させる。
2. Direct Preference Optimization(DPO)
崩れた手を検出する検出器を使って強化学習を行う方法は誰でも思いつくが実際にそれをやっているところはない。なぜなら DPO によって崩れた手は自動的に避けられるからだ。
DPO は RLHF の一種で以下のような方法で学習を行う。まず同じプロンプトで複数の画像を生成し、ユーザーに優れている方を選択させる。そして選択された画像とされなかった画像とをファインチューニングに使う。拡散モデルでは Diffusion-DPO を使うのが主流。
顔・手・文字は重要な情報なので、間違いがあると選択されづらい。なので DPO を実施することで自然に修正される。
ただし文字のレンダリングはタスク自体が難しいので DPO だけでは修正できない。別途 OCR を使った RLVR などで修正するかそもそもあきらめるかを選択しているのが現状だ。