source와 target 사이 bridge를 어떻게 학습하나
Bridge Matching은 source 분포 $\pi_0$와 target 분포 $\pi_1$ 사이의 확률적 경로를 만듭니다.
\[x_t=(1-t)x_0+tx_1+ \\sigma\\sqrt{t(1-t)}\\epsilon\]
- $x_0$: source image
- $x_1$: 대응하는 target image
- $t$: 0과 1 사이의 경로 위치
- $\epsilon$: 표준 정규 noise
- $\sigma$: noise 강도
첫 두 항은 source와 target의 선형 보간이고 마지막 항은 중간 경로에 무작위성을 더합니다. $\sigma=0$이면 원문 설명상 Flow Matching과 같은 결정적 경로가 됩니다.
고해상도 pixel 공간에서 직접 경로를 만들지 않고 VAE latent로 옮기는 것이 LBM의 계산 전략입니다.
\[z_0=E(x_0),\\qquad z_1=E(x_1)\] \[z_t=(1-t)z_0+tz_1+ \\sigma\\sqrt{t(1-t)}\\epsilon\]
drift network $v_\theta(z_t,t)$는 중간 latent에서 target 방향을 예측하도록 학습됩니다. 기존 글에 나온 loss의 핵심은 예측 방향과 target으로 향하는 방향 사이의 제곱 오차를 줄이는 것입니다.
latent 공간은 pixel보다 압축돼 계산량을 줄일 수 있지만, 압축 과정에서 아주 작은 texture가 사라질 수 있습니다. 속도 이점과 detail 보존은 같은 latent representation에서 생기는 trade-off입니다.
조건부 변환은 무엇을 입력으로 받나
LBM은 drift에 조건 $c$를 추가할 수 있습니다.
\[v_\\theta(z_t,t,c)\]
원문에 제시된 조건은 2D light position map과 색상을 포함한 RGB light map입니다. 구현 개념은 처리한 조건을 latent와 channel 방향으로 붙이는 것입니다.
1
| z_conditioned = concatenate([z_t, process(c)])
|
이를 통해 foreground relighting, shadow 생성, light 위치와 색상 제어를 다룹니다.
조건부 입력이 있다고 임의의 자연어 편집까지 가능한 것은 아닙니다. text prompt 조건은 원문에서 향후 연구 방향으로 분류돼 있습니다. 공개 결과로 판단할 수 있는 범위는 학습된 map 조건과 해당 image translation task입니다.