AI

모개숲 딥러닝 스터디 - 21. Multi-Image Augmented Direct Optimization for large vision language models (MIA-DPO)

META_BS 2024. 11. 17. 22:39

 

선수 지식

강화학습과 정책 최적화

정책(Policy): πθ(y|x)  
     - 에이전트가 특정 상태에서 어떤 행동을 선택할 확률.  
     - 여기서는 모델의 입력(prompt) x에 대해 출력 y를 생성하는 확률 분포를 정책으로 정의.

보상 함수(Reward Function): r(x, y)  
     - 모델의 출력 y가 입력 x에 대해 얼마나 좋은지를 평가.  
     - 높은 보상: 선호되는 응답 (chosen outputs).  
     - 낮은 보상: 거부된 응답 (rejected outputs).

기대 보상의 최적화
     - 목표: 모델의 정책이 높은 보상을 받도록 최적화.  
     - 최적화 식: $\max_\theta \mathbb{E}_{x \sim D, y \sim \pi_\theta(y|x)} [r(x, y)]$.  
       (여기서 θ는 모델의 파라미터, πθ는 입력 x에 대한 출력 y의 확률 분포).

 

RLHF (Reinforcement Learning from Human Feedback)

모델의 출력을 인간의 선호도와 일치시키기 위해 강화학습을 사용하는 방법

 

1. 프롬프트와 응답 생성  
   모델이 다양한 입력 x에 대해 여러 응답 y를 생성  
2. 피드백 수집  
   인간 평가자가 각 응답을 선호도에 따라 평가  
3. 보상 모델 학습  
   피드백 데이터를 사용하여 보상 모델 r(x, y)을 학습  
4. 정책 최적화  
   보상 모델을 기반으로 정책 πθ를 강화학습(PPO 등) 기법으로 업데이트  

보상 모델 (Reward Model)  :
모델의 출력 y가 주어진 입력 x에 대해 얼마나 적합한지를 평가하여 보상 r(x, y)을 할당  

보상 모델의 구성 과정  :
1. 입력 x에 대해 모델이 생성한 여러 응답을 평가  
2. 선호되는 응답을 높은 보상으로, 비선호 응답을 낮은 보상으로 지정  

정책 최적화  :
보상 모델 r(x, y)에 따라 정책 πθ(y|x) 최적화  

$\max_\theta \mathbb{E}_{x \sim D, y \sim π_\theta(y|x)} [r(x, y)]$

 

PPO (Proximal Policy Optimization)

RLHF에서 자주 사용하는 정책 최적화 알고리즘  
모델이 기존 정책에서 지나치게 멀어지지 않도록 안정적으로 업데이트  

$L^{CLIP}(\theta) = \mathbb{E} \big[\min(r_t(\theta) \cdot A_t, \text{clip}(r_t(\theta), 1 - \epsilon, 1 + \epsilon) \cdot A_t) \big]$

- $r_t(\theta)$: 현재 정책과 이전 정책의 비율  
- $A_t$: 보상 향상도  
- $\epsilon$: 클리핑 범위 (정책 변화 제한)  

장점  
1. 모델의 응답 품질을 향상시키며, 인간 선호도에 맞춘 응답 생성 가능  
2. 환각(Hallucination)을 감소시키며, 비선호 응답을 억제해 신뢰할 수 있는 출력 생성  

한계  
1. 인간 피드백 수집에 많은 비용과 시간이 소요됨  
2. 대규모 데이터에 대해 효율적으로 확장하기 어려움  

 

KL 발산 (Kullback-Leibler Divergence)

두 확률 분포 P와 Q가 있을 때, P와 Q 간의 차이를 측정하는 지표.  

1. P 분포가 Q 분포와 얼마나 다른지 나타냄.  
2. 값이 클수록 두 분포가 다르며, 값이 0이면 두 분포가 완전히 동일함.  

주로 모델의 현재 정책과 기준(reference) 모델의 정책 간 차이를 제한하는 데 사용

 

모델이 보상만을 극대화하면서 기준 모델과 지나치게 다른 정책을 학습하지 않도록 규제

 

직접 선호도 최적화 (DPO)

기존 강화학습에서 사용하는 온라인 보상모델 (PPO 등) 대신, 미리 계산된 데이터 쌍을 사용해 최적화

 

장점:

1. 간단하고 계산 비용이 적음

2. 오프라인 학습 가능

 

Introduction

배경
- 현재 오픈 소스 LVLM은 주로 단일 이미지 질문 답변에 집중하나 실제는 여러 이미지와 텍스트가 혼합되어 복잡한 정보를 전달

문제점
- 다중 이미지 데이터 부족 및 모델의 환각(hallucination) 문제  등 다중 이미지 해석 제한적
- 다중 이미지 데이터를 사용한 미세 조정이 단일 이미지 성능 저하를 유발.

 

MIA-DPO(Multi-Image-Augmented Direct Preference Optimization)
- 기존 단일 이미지 데이터를 활용하여 다중 이미지 컨텍스트 생성
- 관련 없는 이미지를 추가하고 언어적 지시
- “Image1에서”와 같이 대상 이미지 지정 후 시퀀스, 그리드 콜라주, 피크 인 피크 방식으로 데이터 변환

선호도 정렬 및 환각 감지
- 수동 주석이나 비용이 많이 드는 API 없이 선택/거부 응답 쌍 생성
- 어텐션 값 분석을 통해 환각을 감지하고 거부된 응답 필터링
자동화되고 비용 효율적인 데이터 구축으로 다중 이미지 시나리오에 확장 가능

주요 기여
- 비용 효율적이고 확장 가능한 다중 이미지 시각적 정렬 파이프라인 개발
- 다양한 다중 이미지 환각 유형 연구 및 어텐션 값을 통한 환각 감지 제안

Method

Preliminary

시각적 선호도 정렬 (VPA, Visual Preference Alignment)


시각적 선호도 정렬은 모델의 출력을 인간의 선호도와 일치시키는 것을 목표로 함.  
모델이 더 인간과 유사한 응답을 생성하고, 특히 환각(Hallucination)과 같은 문제를 줄이는 데 유용함.  

RLHF나 RLAIF와 같은 방법을 사용하며,  
모델의 목표는 보상 r(x, y)를 최대화하는 것.  

$$\max_\theta \mathbb{E}_{x \sim D, y \sim \pi_\theta(y|x)} [r(x, y)]$$
$\theta$: 모델의 파라미터  
$\pi_\theta(y|x)$: 모델의 정책 입력 x에 대한 출력 y의 확률 분포)  

하지만 단순히 보상을 최대화하면 데이터셋 D에 과적합될 수 있음.  
이를 방지하기 위해 모델의 정책과 기존 모델의 정책 사이의 차이를 KL 발산으로 정규화.  

$\max_\theta \mathbb{E}_{x \sim D, y \sim \pi_\theta(y|x)} [r(x, y)] - \beta \cdot D_{KL}(\pi_\theta(y|x) \parallel \pi_{ref}(y|x))$

- $\beta$: KL 발산의 영향을 조절하는 하이퍼파라미터  
- $\pi_\theta(y|x)$: 현재 모델의 정책  
- $\pi_{ref}(y|x)$: 기존 모델의 정책 (선호도 정렬 이전 상태)  

 

직접 선호도 최적화 (DPO) 
DPO는 온라인 보상 모델을 사용하는 PPO와 달리, 미리 계산된 선택/거부 쌍을 사용하여 단순하고 효율적으로 최적화.

$L_{DPO}(\pi_\theta; \pi_{ref}) = -\mathbb{E}_{(x, y^W, y^L) \sim D} \big[ \log \sigma \big( \beta \big( \log \frac{\pi_\theta(y^W|x)}{\pi_{ref}(y^W|x)} - \log \frac{\pi_\theta(y^L|x)}{\pi_{ref}(y^L|x)} \big) \big) \big]$

- $\sigma(\cdot)$: 시그모이드 함수  
- 손실 함수는 모델이 선택된 응답 $y^W$에 높은 확률을, 거부된 응답 $y^L$에는 낮은 확률을 할당하도록 설계  

DPO에서의 핵심 요소
DPO 기반 정렬 방법은 두 가지 핵심 요소에 집중.  
1. 입력 프롬프트 $x$의 구축 
   모델이 다양한 상황에서 잘 작동하도록 입력을 적절히 설계  
2. 선택된 $y^W$ 및 거부된 $y^L$ 쌍의 선택 
   모델이 올바른 응답을 학습하도록, 좋은 응답과 나쁜 응답의 쌍 구성  

 

다중 이미지 환각

시퀀스 혼동(Sequence Confusion)
- 상황 : 모델이 이미지들의 순서나 참조를 혼동하여 잘못된 이미지를 기반으로 응답
- Image1에서 남자가 무엇을 하고 있나요 -> Image1이 아닌 Image4에 대한 응답
- 어텐션 분석 : 어텐션 분포가 Image1이 아닌 다른 이미지들에 집중되어 있어 모델이 혼동됨

 

요소 간섭(Element Interference)
- 상황 : 모델이 여러 이미지의 시각적 요소를 혼동하여 속성이나 정보를 잘못 식별
- Image2의 자동차 색상을 묻는 질문 -> Image3의 빨간 오토바이와 혼동하여 잘못된 색상을 응답
- 어텐션 분석 : 어텐션 값이 여러 이미지의 요소들에 분산되어 있어, 이러한 간섭이 환각 응답으로 이어짐

 

MIA-DPO Framework

프레임워크 구성
1. 단일 이미지 프롬프트를 다중 이미지 프롬프트로 확장
2. LLaVA-665k(Liu et al., 2024a)와 같은 기존의 단일 이미지 데이터셋에 관련 없는 이미지를 포함시켜 효율적으로 변환
3. 어텐션 기반 거부 데이터 필터링과 후처리
4. DPO 알고리즘 적용

주요 특징
새로운 다중 이미지 데이터 수집/주석 불필요
비용 효율적이고 확장 가능한 접근법
다양한 유형의 환각 문제 탐구 가능

 

단일 이미지에서 다중 이미지 프롬프트로

1) 순차(Sequence)
여러 이미지를 순차적으로 배열, 특정 이미지를 대상으로 질문 (이미지 수: 2-5개)
목적: 순서 혼동 문제 해결

2) 그리드 콜라주(Grid Collage)
여러 이미지를 하나로 병합, 각 이미지에 번호 설명 추가 (이미지 수: 2-9개)
목적: 요소 간섭 문제 해결

3) 픽인픽(Pic-in-Pic)
한 이미지를 다른 이미지 위에 오버레이, 결합된 이미지에 대한 질문 
목적: 요소 간섭 문제 해결

 

Attention Aware Selection for Rejected Samples

1. 핵심 아이디어  
   모델의 Attention 값을 통해 다중 이미지 환각 탐지  
   Attention 비율을 기반으로 거부(rejected) 샘플 선택  

2. 기본 수식  
   - 입력: 질문 $x$, 모델 정책 $\pi_\theta$  
   - 출력: 답변들 $(y_1, y_2, \dots) \sim \pi_\theta(y|x)$  
어텐션 비율  
$$R(y) = \frac{A_{\text{target}}}{A_{\text{sum}}}$$
     - $A_{\text{target}}$: 목표 이미지의 어텐션 값  
     - $A_{\text{sum}}$: 모든 이미지의 어텐션 합  

거부 샘플 선정  
$$y_r = \{y \mid y \sim \pi_\theta(y|x) \text{ and } R(y) \leq \tau\}$$
     - $\tau$: 어텐션 비율 임계값  
     - $y_r$: 거부 샘플  

 

동작 예시
예: 5장의 이미지, Image1에 대한 질문 

Ex1) 강아지가 있습니다
A_target (Image1에 대한 어텐션) = 0.3
A_sum(전체 어텐션) = 1.0 
R(y) = 0.3/1.0 = 0.3 < τ(0.5) 
→ 거부 샘플로 선택 (yl) 

Ex2)  책이 있습니다
A_target = 0.8 
A_sum = 1.0 
R(y) = 0.8/1.0 = 0.8 > τ(0.5) 
→ 정상 샘플

 

데이터 정제를 위한 Post-Selection
소량의 노이즈 샘플이 포함되어 잠재적으로 해로운 영향을 미칠 수 있음 
노이즈 샘플을 필터링하기 위해 세 가지 메트릭을 사용하는 post-selection 단계 도입
약 5%의 데이터를 필터링

1) Perplexity (PPL)
생성된 시퀀스의 negative log-likelihood(음의 가능도)를 측정하며, 데이터 정제를 위한 일반적인 메트릭
높은 PPL 값 -> LVLMs의 신뢰도가 낮고 환각을 포함할 가능성이 더 높음
PPL 메트릭을 사용하여 낮은 신뢰도의 응답을 필터링

2) Length Ratio
보상 모델이 더 긴 내용을 선호할 수 있음
길이 편향을 완화하기 위해 선택된 데이터와 거부된 데이터 간의 길이 차이를 계산하여, 차이가 너무 큰 샘플은 제외

3) Edit Distance
일부 샘플은 최적화 과정에 의미 있게 기여하지 못할 수 있음
예를 들어, "apple"(선택)과 "apples"(거부) 사이의 차이는 edit distance 관점에서 최소한이며, 패턴을 구별하는 데 덜 유용
DPO 과정에 차이가 지나치게 작은 쌍이 포함되지 않도록 함

 

최적화

DPO 학습의 안정성을 높이기 위해 Negative Log-Likelihood 손실(NLL), $L_{NLL}(\pi_\theta) = -\log \pi_\theta(y^W|x)$를 추가.  
DPO 손실 $L_{DPO}$와 $L_{NLL}$의 균형을 맞추기 위해 파라미터 $\gamma$를 사용.  

최종 손실 함수:  
$$L_{total} = L_{DPO}(\pi_\theta; \pi_{ref}) + \gamma \cdot L_{NLL}(\pi_\theta)$$

- $L_{DPO}(\pi_\theta; \pi_{ref})$: DPO(Direct Preference Optimization) 손실 함수  
- $\pi_\theta$: 현재 학습 중인 모델의 정책(policy)  
- $\pi_{ref}$: 기준이 되는 모델의 정책(reference policy)  

1. $L_{DPO}(\pi_\theta; \pi_{ref})$ 
   - DPO 손실 함수는 선택된 샘플($y^W$)과 거부된 샘플($y^L$)의 확률 차이를 줄이는 역할  

2. $\gamma \cdot L_{NLL}(\pi_\theta)$ 
   - $\gamma$: NLL 손실의 영향력을 조절하는 하이퍼파라미터  
   - $L_{NLL} = -\log \pi_\theta(y^W|x)$  
     - $y^W$: 정답(chosen) 샘플  
     - $x$: 입력 질문  
   - 모델이 정답($y^W$)을 생성할 확률을 높이는 역할 


$L_{total}$은 DPO 손실과 NLL 손실을 결합하여 모델 학습의 안정성과 성능을 동시에 향상시키는 최적화 전략.  

 

 

Experiments

 

1) LLaVA-v1.5에서의 결과
5개 다중 이미지 벤치마크에서 성능 향상 
MMMU: +1.2%
BLINK: +5.8%
Mantis: +2.3%
NLVR2: +2.1%
MVBench: +3.5%
MMMU에서의 향상은 복잡한 도메인별 지식이 필요한 문제 해결 능력 개선 시사
BLINK에서의 큰 향상(5.8%)은 다중 뷰와 공간 관계 추론 능력 개선 입증

2) InternLM-XC2.5에 적용
5개 벤치마크에서 성능 향상 
MMMU: +1.2%
BLINK: +0.8%
Mantis: +11.1%
NLVR2: +4.5%
MVBench: +4.1%
평균 4.3% 성능 향상