Codi (Any-to-Any Generation via Composable Diffusion) Multimodal
CoDi(Composable Diffusion)는 모든 입력 모달리티 조합에서 모든 출력 모달리티 조합을 생성할 수 있는 획기적인 생성 모델이다.
기존의 생성 AI 시스템과 달리 CoDi는 여러 모달리티를 병렬로 생성할 수 있으며 텍스트나 이미지와 같은 특정 입력 모달리티에 국한되지 않는다.
이 사례 연구는 CoDi가 다재다능하고 동기화된 멀티모달 생성을 달성하기 위해 사용하는 혁신적인 접근 방식을 확인 가능.
소개
기존의 생성적 AI 시스템은 특정 모달리티를 생성하는 데 한계가 있으며 종종 고정된 입력-출력 매핑으로 작동.
CoDi는 모달리티의 모든 조합을 생성할 수 있는 유연하고 사용자 정의 가능한 생성 모델을 도입하여 이러한 한계를 해결. 구성 가능한 생성 전략을 활용하고 입력 및 출력 공간 모두에서 모달리티를 정렬함으로써 CoDi는 이전에는 훈련 데이터에 존재하지 않았던 새로운 조합을 생성가능.
모델 구조
구성 가능한 확산은 다단계 학습 방식을 사용하여 선형적인 수의 작업에 대해서만 학습을 수행할 수 있지만 추론은 모든 입력 및 출력 모드의 조합에 대해 수행이 가능.
Conditioning Alignment 단계의 세부 설명
(a) Composable Conditioning
- Bridging Alignment:
- 텍스트 인코더(Text Encoder): 텍스트 데이터를 인코딩하여 고차원 벡터로 변환합니다.
- 비디오 인코더(Video Encoder), 이미지 인코더(Image Encoder), 오디오 인코더(Audio Encoder): 비디오, 이미지, 오디오 데이터를 각각 인코딩하여 고차원 벡터로 변환합니다.
- 브리징 얼라인먼트(Bridging Alignment): 각 모달리티의 인코더 출력들을 텍스트 인코더의 출력과 정렬합니다. 이를 통해 텍스트 조건 정보가 다른 모달리티에서도 일관성 있게 반영되도록 합니다.
- Single Diffuser Training:
- 텍스트 인코더 출력 C(x)C(x): 텍스트 인코더에서 나온 조건 정보를 기반으로 합니다.
- 비전 UNet(Vision UNet) 및 오디오 UNet(Audio UNet): 각각 텍스트 조건 정보를 입력으로 받아 비전 및 오디오 데이터를 생성하는 네트워크입니다.
- L2 Loss: 모델 훈련 중에 비전 UNet과 오디오 UNet에서 생성된 출력과 실제 데이터를 비교하여 손실(L2 손실)을 계산하고 이를 최소화하도록 학습합니다.
주요 목적
- 여러 모달리티의 데이터를 통합하여 모델이 텍스트 조건 하에서 일관된 결과를 생성할 수 있게 합니다.
- 각 모달리티가 동일한 텍스트 조건을 공유하도록 정렬함으로써 다중 모달 데이터를 효율적으로 처리하고 생성할 수 있습니다.
중요 방법
중요 모델
- 다중 모달 모델링(Multimodal Modeling):
- 최근 급속히 발전하여 여러 모달리티의 통합 표현을 구축하는 데 주력하고 있습니다.
- 단일 모델을 사용하여 다양한 모달리티의 데이터 간의 종합적 이해와 크로스모달(cross-modal) 이해를 목표로 합니다.
- 비전 트랜스포머(Vision Transformers):
- 다양한 모달리티의 모델 아키텍처와 훈련 기법을 특징으로 하며, 시각적 질문 응답(vision Q&A)과 이미지 캡셔닝(image captioning)과 같은 다양한 다운스트림 작업에 적용되었습니다.
- 다중 모달 인코더(Multimodal Encoders):
- 시각-언어(vision-language), 비디오-오디오(video-audio), 비디오-음성언어(video-speech-language) 분야에서 성공적으로 사용되고 있습니다.
- 다양한 모달리티의 데이터를 정렬하는 작업이 활발히 연구되고 있으며, 크로스모달 검색과 다중 모달 통합 표현 구축에 유망한 응용 분야를 보이고 있습니다.
- Latent Diffusion Model (LDM)
- 확산 모델(Diffusion Models, DM): 데이터 분포 p(x)p(x)를 학습하는 생성 모델의 한 종류입니다. 이러한 모델은 시간이 지남에 따라 정보의 확산을 시뮬레이션하여 학습합니다.
- 훈련 과정: 훈련 동안 무작위 노이즈가 점진적으로 데이터 xx에 추가되고, 모델은 이러한 예제를 복원하는 방법을 학습합니다.
- 추론 과정: 모델은 간단한 분포(예: 가우시안)에서 샘플링된 데이터 포인트의 노이즈를 제거합니다. LDM은 데이터 차원을 감소시켜 계산 비용을 크게 줄입니다.
더욱 자세한 내용은 다른 포스팅에 표기 함.
최적화
모든 프롬프트 인코더를 동시에 최적화하는 것은 조합적 방식으로 계산 비용이 많이 들며, O(n2)O(n^2)의 페어링이 필요합니다. 특정 듀얼 모달리티(예: 이미지-오디오 페어링) 데이터셋은 제한적이거나 이용할 수 없는 경우가 많습니다. 이 문제를 해결하기 위해, "Bridging Alignment"라는 간단하고 효과적인 기술을 제안합니다. 이는 조건 인코더를 효율적으로 정렬합니다. 텍스트 모달리티는 "브리징" 모달리티로 선택됩니다. 이는 텍스트가 텍스트-이미지, 텍스트-비디오, 텍스트-오디오 페어링 데이터에서 흔히 사용되기 때문입니다.
- 텍스트-이미지 페어링 인코더: 사전 학습된 CLIP 인코더를 사용합니다.
- 오디오 및 비디오 프롬프트 인코더 학습: 대조 학습(contrastive learning)을 사용하여 오디오-텍스트 및 비디오-텍스트 페어링 데이터셋에서 학습합니다. 이 때 텍스트 및 이미지 인코더의 가중치는 고정합니다.
-----------
- mage Diffusion Model: Stable Diffusion 1.5와 동일한 구조를 사용하며, 동일한 가중치로 초기화됩니다.
- Video Diffusion Model: 시간적 모듈을 추가하여 비디오 확산기를 확장하고, pseudo-temporal attention을 통해 프레임 간 상호작용을 촉진합니다. Latent shift method를 사용하여 프레임의 일관성을 유지합니다.
- Audio Diffusion Model: 멜-스펙트로그램을 압축 잠재 공간으로 인코딩하는 VAE를 사용하여 오디오 샘플을 생성합니다.
- Text Diffusion Model: OPTIMUS의 VAE를 사용하며, 2D 컨볼루션을 1D 컨볼루션으로 대체하여 텍스트를 처리합니다.