
Flow matching이 좋은게, 변화율을 학습하는 개념 자체가 좋은 것도 있지만, 미분꼴이 알고있는 항 두 개 사이의 뺄셈으로 나타나서 빠르게 미분값을 얻어낼 수 있어서도 있을 듯.
목표논문:
U-Shape Mamba: State Space Model for faster diffusion
코드제공:
https://github.com/ErgastiAlex/U-Shape-Mamba
저널/컨퍼런스:
CVPR 2025 의 워크숍 중 하나인 Efficient Large Vision Models (eLVM) 워크숍에 채택(Accept)
유사논문?
U-shaped Vision Mamba for Single Image
Dehazing
비교대상의 코드:
https://github.com/CompVis/zigma
효율적 대안으로서 SSM 및 Mamba
이전 연구의 한계
Contribution
Flow Matching

USM: U-자형 Mamba 아키텍처의 제안
전체 USM 모델은 인코더 12개 블록–병목 1개–디코더 12개 블록의 25개 Mamba 블록으로 구성

인코더 역할
디코더 역할
(반대로 / transposed convolutions)
활용
caption의 활용
스킵 커넥션
이미지의 2D 공간 구조를 1D 시퀀스로 순서화(Scan / Rasterization)하는 전략
U-Net 구조의 의미
Zigma 와 비교 / 텍스트 abalation

Zigma 와 비교

스킵 커넥션 abalation

*FID(Frechet Inception Distance)
Flow Matching 기법



본 논문의 한계
본 논문에서는 USM을 256×256 해상도의 비교적 제한된 데이터셋(AFHQ, CelebAHQ 얼굴, COCO 등)에서 검증
아직 초고해상도 이미지 생성(예: 1024×1024 이상)이나 대규모 범용 데이터에 대한 실험 x
Zigma는 May. 24th, 2024: 🚀🚀🚀 New checkpoints for FacesHQ1024, landscape1024, Churches256 datasets
참고
CLIP의 핵심 아이디어 (Contrastive Language-Image Pretraining)
CLIP(OpenAI, 2021)은
이미지 + 텍스트(캡션)를 동시에 입력받아
같은 의미를 가진 것끼리는 embedding space에서 가까워지도록
다른 의미는 멀어지도록 학습
🖼️ 이미지 Encoder → 이미지 벡터
📄 텍스트(캡션) Encoder → 텍스트 벡터
두 벡터를 ‘같은 공간’에서 비교할 수 있게 만든다.
Vision Encoder : ResNet-50/101 계열 또는 Vision Transformer(ViT-B/32 등)
Text Encoder : Transformer 기반 (GPT-like)
참고
디퓨전 생긴거

참고
스테이블 디퓨전
핵심 아이디어:
이미지를 바로 디퓨전으로 처리하면 연산이 비쌈
대신 VAE Encoder가 이미지를 latent 공간(z)으로 압축
Diffusion은 latent 공간에서 노이즈 제거
결과 latent를 VAE Decoder가 다시 이미지로 복원
VAE Encoder
이미지 → latent z (대략 1/4~1/8 spatial size)
Diffusion U-Net
latent 공간에서 iterative denoising
cross-attention으로 text conditioning(CLIP text encoder)
VAE Decoder
latent → 최종 이미지
고해상도, 계산량 축소

참고
귀여운 사진

알고리즘

1: 모델 파라미터 랜덤 초기화
2: 전체 iteration N 동안 반복
3: 데이터세트에서 샘플 x를 선택. x=이미지
4: 가우시안 노이즈 샘플링
5: 임의의 t 시점에서 학습. 샘플마다 다른 t를 가짐.
6: 시간 변수 에 대해 데이터 샘플 와 가우시안 잡음 사이를 선형 보간
7: v = x − ε: z(t)의 시간 변화량(t에 대해 미분한 값) = 네트워크가 학습해야 할 velocity
8: 네트워크는 = “현재 z(t)에서 목표 데이터 방향 속도” 를 예측
9:
10: : 네트워크가 올바른 속도(gradient of path)를 예측하도록 학습
11: 일반적인 gradient descent
12, 13: 학습 완료된 모델 반환




Continuous Normalizing Flows
뉴럴 넷가 변환 자체인 flow를 학습하는 것이 아니라, flow의 vector field를 학습하도록 정의
학습 과정 중에 적분을 수행해야 하기 때문에 ODE Solver를 통해서 여러번의 forward가 필요하기 때문