logo

DEPLOT: One-shot visual language reasoning by plot-to-table translation (ACL 2023)

Authors
  • avatar
    이서지

이 논문의 핵심 contribution 은 다음과 같습니다.

  • Plot-to-Table 작업을 표준화하고 표 비교를 위해 유익하고 통합된 평가지표를 제안합니다.
  • Multimodal 작업을 language-only 작업으로 전환하고 LLM을 활용해 한번에 해결하는 매우 효과적인 modality conversion 모델인 DePlot 제안합니다.
  • DePlot + LLM 은 one-shot supervision으로 ChartQA에 대해 SOTA를 달성하고, human-written 쿼리에서 29.4%로 두 번째로 우수한 방법입니다.


# Table of Contents --- 1. Introduction 2. Standardizing the Plot-to-table Task 1. Training Plot-to-table Conversion Models 2. Task Definition 1. Relative Number Set Similarity (RNSS) 2. Relative Mapping Similarity (RMS) 3. Human Eval of Plot-to-table Metrics 3. Experiment 1. Experimental Setup 2. Main Results 1. Plot-to-table translation 2. Downstream tasks 4. Analyses and Discussion 1. Case Study and Error Analysis 2. Out-of-distribution Analysis 3. Limitations


1. Introducton ---

plot/chart 와 같은 시각언어에 대한 multimodal 추론은 매우 복잡한 작업입니다. plot/chart에 대한 질의응답(QA)과 같은 하위 작업을 수행하기 위해서 모델은 이미지에서 관련 정보를 추출하고 이를 합리적인 방식으로 구성한 다음 추출된 항목에 대한 추론을 진행해야 합니다.

최근에는 End-to-End 방식이 제안되었지만, 매우 많은 데이터로 학습이 필요하며 학습 후에도 여전히 복잡한 질의에 대해 어려움을 겪습니다. 반면, 대규모 언어 모델(LLM; GPT-3, PaLM 등)은 비용이 많이 드는 human annotations 없이도 탁월한 few-shot 추론 능력을 보여줍니다. 그러나, multimodal 추론 작업이 어떻게 LLM으로부터 이점을 얻을 수 있는지는 여전히 의문입니다.

따라서 multimodal 시각언어 추론 작업을 2 단계로 나누어 처리하는 것을 제안합니다.
(1) modality conversion 모델인 DePlot을 사용하여 입력된 plot 이미지를 선형화된 테이블(a linearized table)로 변환한다.
(2) 선형화된 테이블 LLM에 전달해 one-shot 추론을 수행한다.

deplot_overview.png

DePlot 은 end-to-end image-to-text Transformer 모델로, 합성하거나 웹 크롤링을 통해 수집한 plot/chart 이미지와 해당 chart/plot의 표(the underlying data table)로 구성된 데이터로 학습했습니다. 하이브리드 시스템보다 우수한 성능을 나타내며 다양한 차트 유형을 균일하게 처리할 수 있습니다. 프롬프팅(prompting) 기술을 활용하여 함께 Deplot 출력을 LLM에 전달하면 더욱 정확한 답변을 받을 수 있습니다.

2. Standardizing the Plot-to-table Task


Plot-to-table 은 plot/chart의 IE를 처리하므로 자동 보고서 및 문서 디지털화와 같은 응용 프로그램에 도움이 될 수 있는 중요한 standalone 작업으로 plot을 표로 정확하게 변환하는 것은 시각언어 추론 작업에 필수적입니다. DePlot을 어떻게 모델링하고 학습시켰고 어떤 평가지표를 사용했는지 알아보겠습니다.

Training Plot-to-table Conversion Models


DePlot 은 이전 연구들과 달리 차트 유형별 처리, OCR, 차트 주요 요소 탐지 등의 모듈 없이 End-to-End로 모든 유형의 차트(선, 점, 막대, 원형)에 대해 정보를 추출합니다. 특히, image-to-text encode-decoder Transformer 모델에 SOTA를 달성한 시각언어 모델인 MATCHA(Liu et al., 2023a)의 아키텍처와 가중치를 초기값으로 맞추고 MATCHA 모델의 checkpoint 파일을 이어서 plot-to-table 작업으로 학습합니다.

pix2struct_architecture.jpg

Transformer는 token embedding의 1D sequence를 입력받습니다. 2D 이미지를 처리하기 위해 이미지(xRH×W×Cx \in \mathbb{R}^{H \times W \times C})를 (P×P)(P \times P) 크기의 패치 NN개로 분할하여 2D patch sequence (xpRN×(p2×C)x_p \in \mathbb{R}^{N \times (p^2 \times C)})로 재구성합니다.


xRH×W×CxpRN×(p2×C)x \in \mathbb{R}^{H \times W \times C} \to x_p \in \mathbb{R}^{N \times (p^2 \times C)}


- H, W : 원본 이미지 해상도 - C : 채널 개수 - P : 각 이미지 patch 해상도 크기 - N : 원본 이미지에서 나오게 되는 최대 이미지 패치 개수 - N=H×WP2N = H \times W \diagup P^2


Transformer는 모든 레이어에서 일정한 latent vector 크기 D를 사용합니다. 따라서 sequence(xpx_p)의 각 patch를 평탄화(flatten)하고 훈련 가능한 선형 투영(a trainable linear projection)을 통해 D 차원으로 매핑합니다. 여기서 나온 출력을 patch embedding이라고 합니다.

위치 정보를 유지하기 위해 patch embedding에 position embedding을 추가합니다. 이때 해상도 변경을 막기 위해 2차원 절대(값) 위치 임베딩(2D absolute positional embedding)을 사용합니다.

patch embedding에 position embedding이 더해진 임베딩 벡터 sequence가 Transformer encoder에 입력됩니다.

데이터 테이블(표 형태의 텍스트)은 ‘|’ 로 셀을 구분하고 ‘\n’로 행을 분리하는 마크다운 형태의 텍스트로 선형화됩니다. 또한 DePlot은 왼쪽에서 오른쪽으로 자동 회귀적으로 테이블을 생성하도록 학습되었습니다.

학습 데이터는 Liu et al. (2023a)와 유사하게 수집된 합성/실제 plot-table 쌍입니다.
(1) Liu et al. (2023a)에 의해 생성된 합성 데이터
(2) Methani et al. (2020)에 의해 생성된 합성 데이터 (PlotQA 데이터세트에도 사용됨)
(3) Masry et al. (2022)가 수집한 실제 데이터 (ChartQA 에도 사용됨)

dataset_ratio.png

(3)의 경우, 4개 웹 사이트(statista.com , pewresearch.com, ourworldindata.orgoecd.org )에서 제공됩니다. 3개의 학습 데이터는 1:1:1 비율로 섞여있습니다.


Task Definition ---

표 유사성 평가지표(table similarity metric)에 대한 선행 연구는 제한적입니다. Masry et al. (2022)가 Luo et al.(2021)에서 제안한 graph IE 지표를 기반으로 한 평가지표 RNSS 와 새롭게 제안하는 RMS에 대해 알아보겠습니다.


Relative Number Set Similarity (RNSS).

RNSS는 순서가 없는 예측된 숫자 항목 집합이 target/label 숫자 집합과 얼마나 일치하는지를 측정합니다. 모델이 예측한 데이터 테이블 속 숫자는 P={pi}1iN\mathcal{P} = \{p_i\}_{1\leq i \leq N} 이고 target 데이터 테이블 속 숫자는 T={tj}1jM\mathcal{T}=\{t_j\}_{1 \leq j \leq M} 입니다. 이 두 집합의 상대적 거리를 다음과 같이 계산합니다.


D(p,t)=min(1,ptt).D(p, t) = min(1, {||p-t|| \over ||t||} ) .

N×MN \times M 행렬의 거리 값을 사용하여 이진 행렬 XRN×MX \in \mathbb{R}^{N \times M} 형태로 표현되는 P\mathcal{P}T\mathcal{T} 의 요소 간의 최소 비용 일치(a minimal cost matching)을 구할 수 있습니다. 최종 점수는 다음과 같이 계산됩니다.


RNSS=1i=1Nj=1MXijD(pi,tj)max(N,M).RNSS = 1 - {\sum^N_{i=1} \sum^M_{j=1} X_{ij}D(p_i, t_j) \over max(N, M)} .

그러나 RNSS는 몇 가지 주요 제한 사항이 있습니다.
(1) 데이터 테이블 속 숫자 위치를 구분하지 않는다.
(2) 숫자가 아닌 모든 항목을 무시한다.
(4) 테이블 재구성에서 정밀도와 재현율 손실을 구분하지 않는다.

따라서 데이터 테이블의 유사성을 측정하기 위해서는 (1) 열과 행의 순열뿐만 아니라 전치에 대해서도 값이 변하면 안되고, (2) 특정 임계값까지 숫자 또는 문자 값의 작은 오류를 허용하지만 패널티를 줘야하며, (3) 정밀도나 재현율 손실을 명확하게 반영해야 합니다.


Relative Mapping Similarity (RMS).

위에서 언급한 모든 요구 사항을 해결하기 위해 데이터 테이블을 숫자 집합이 아닌 행과 열 헤더 (r,cr, c)에서 단일 값 vv 으로 매핑하여 순서가 없는 집합으로 간주하는 RMS를 제안합니다. 예측된 데이터 테이블 P={pi}1iN\mathcal{P} = \{p_i\}_{1\leq i \leq N} 와 target 데이터 테이블 T={tj}1jM\mathcal{T}=\{t_j\}_{1 \leq j \leq M} 의 각 항목을 pi=(pir,pic,piv)p_i=(p^r_i, p^c_i, p^v_i)tj=(tjr,tjc,tjv)t_j = (t^r_j, t^c_j,t^v_j)로 기록합니다.

Biten et al. (2019)에 따라, 텍스트 항목 간의 거리를 Normalized Levenshtein Distance 또는 NLτNL_\tau 로 측정할 수 있으며, 변수 τ\tau 는 매우 다른 텍스트에 대한 partial credit를 방지하기 위해 NLNL 값이 최대 1이 되도록 τ\tau를 설정합니다. 따라서, 두 키 pip_itjt_j 의 거리는 NLτ(prpc,trtc)NL_\tau (p^r||p^c, t^r||t^c) 이며, 여기서 ||는 문자열 연결을 나타냅니다. 숫자 항목 간의 거리는 상대적 거리 Dθ(p,t)=min(1,pt/t)D_\theta(p,t) = min(1, ||p-t||/||t||) 를 사용하고 거리 값이 최대 1이 되도록 θ\theta 값을 설정합니다.

이 두 거리를 결합하면 매핑 Dτ,θ(p,t)D_{\tau, \theta}(p, t)의 두 항목 간의 유사성을 (1NLτ(prpc,trtc))(1Dθ(pv,tv))(1-NL_\tau(p^r||p^c, t^r||t^c))(1-D_\theta(p^v, t^v)) 로 계산할 수 있습니다. 키와 값이 모두 비슷할 경우 Dτ,θD_{\tau, \theta} 는 1에 가깝습니다 (비슷하지 않을 경우, 0에 가까움).

RMS를 계산하기 위해 먼저 비용 함수 1NLτ(prpc,trtc)1-NL_\tau(p^r||p^c, t^r||t^c)를 사용하여 P\mathcal{P}T\mathcal{T}의 키 간의 pairwise similarity을 계산합니다. N×MN \times M 형태의 유사성 행렬(similarity matrix)를 얻으면 이 행렬을 사용하여 이진 행렬 형태의 키 간의 최소 비용 일치 XRN×MX \in \mathbb{R^{N \times M}} 를 식별할 수 있습니다. 그리고 나서, 두 개의 full mappings 사이의 정밀도와 재현율은 일치하는 항목의 전체 유사도로 계산할 수 있습니다. 계산식은 다음과 같습니다.


RMSprecision=1i=1Nj=1MXi,jDτ,θ(pi,tj)NRMS_{precision} = 1 - {\sum^N_{i=1}\sum^M_{j=1}X_{i,j}D_{\tau, \theta}(p_i, t_j) \over N}
RMSrecall=1i=1Nj=1MXi,jDτ,θ(pi,tj)MRMS_{recall} = 1 - {\sum^N_{i=1}\sum^M_{j=1}X_{i,j}D_{\tau, \theta}(p_i, t_j) \over M}

RMSF1RMS_{F1}은 정밀도와 재현율의 조화 평균으로 계산할 수 있습니다. 열과 행의 순열은 동일한 열 헤더와 행 헤더, 값 항목 집합을 산출하므로 결과 행렬의 열, 행은 변하지 않습니다. 테이블 전치를 허용하기 위해 테이블과 전치된 테이블을 모두 고려하여 RMSF1RMS_{F1} 점수가 가장 높은 것을 반환합니다.


Human Eval of Plot-to-table Metrics ---

RMS가 실제로 평가지표로 사용 가능한지 확인하기 위해 사람이 직접 평가하여 RMSF1RMS_{F1} 과 RNSS 비교했습니다. 6명의 어노테이터에게 50개의 차트, 모델이 예측 데이터 테이블을 제공하여 3가지 질문을 고려하여 평가를 수행했습니다.

(1) 모델이 행과 열을 추가로 생성했습니까? 또는 일부 행과 열이 누락되었습니까?
(2) x, y 레이블/인덱스 이름 및 제목이 정확합니까?
(3) 숫자가 실제 값에 가깝고 올바른 열과 행 레이블/인덱스와 연관이 있습니까?

5점 만점으로 1점에서 5점까지 점수를 매기고 최종 점수는 3가지 질문에 대한 평균 점수로 집계합니다. 다음은 평가지표 점수와 사람이 매긴 점수의 상관관계를 측정한 결과입니다.

corr.png

표 1에서 볼 수 있듯이 두개의 상관관계에서 RNSS보다 RMSF1RMS_{F1}이 크게 향상된 것을 관찰할 수 있으며, 이는 RMSF1RMS_{F1}이 모델이 생성한 테이블을 평가하는 데 훨씬 더 민감하고 유익한 평가지표임을 시사합니다.


3. Experiment ---

기준 모델과의 plot-to-table translation 성능 비교 및 2개의 chart/plot QA 벤치마크 ChartQA와 PlotQA에 대한 평가를 진행합니다.

Experimental Setup


plot-to-table 학습을 위해 ChartQA와 PlotQA training set이 사용되었습니다.

train_data_statistics.png

ChartQA는 2개의 세트(augmented(aug)와 human)를 포함합니다. augmented set는 합성하여 만든 것이고, human set는 사람에 의해 작성된 것 입니다. 일반적으로 사람이 작성한 쿼리는 더 다양하고 복잡하므로 더 많은 추론이 필요합니다. 반면, 합성 쿼리는 매우 templatic 합니다. PlotQA는 오직 합성된 것으로만 이루어져 있습니다. PlotQA는 v1과 v2가 있는데 v1은 대부분 추출형 질문이고 v2는 수치적 추론에 더 초점이 맞춰져 있습니다.

DePlot은 64 GCP-TPUv3 환경에서 대략 5일동안 10k step을 돌며 학습되었습니다. 최대 sequence 길이는 512이며, 나머지 하이퍼 파라미터는 사전 학습된 MATCHA(Liu et al., 2023a)와 동일합니다. DePlot은 282M 파라미터를 가지고, FlanPaLM 는 540B개, Codex와 GPT3는 대략 175B개 파라미터를 가지고 있습니다.

test_data_statistics.png

Plot-to-table 작업을 평가하기 위해 PlotQA 테스트 데이터 세트만을 사용했습니다. 또한 RNSS와 RMSF1RMS_{F1} 평가 지표를 사용했으며 Masry et al. (2022); Methani et al. (2020)를 따라, 수치 오류에 대한 5% 허용 오차가 있는 exact match accuracy가 모든 QA numbers를 보고하는 데 사용됩니다.


Main Results ---

Plot-to-table translation.

기준 모델로 파이프라인 기반 OCR과 키포인트 탐지 기반 시스템 ChartOCR(Luo et al., 2021)과 동일한 데이터로 학습한 두 개의 end-to-end 기반 PaLI 모델 (Chen et al., 2023), MATCHA 모델(Liu et al., 2023a)을 선정하였습니다. PlotQA 테스트 데이터 세트에 대한 plot-to-table translation 성능을 비교해보겠습니다.

plot-to-table_translation_result.png

두 평가지표에 대해 DePlot은 ChartOCR 매우 큰 차이로 능가합니다. ChartOCR은 plot에서 숫자를 추출할 수 있지만, 추출한 숫자가 올바른 행과 열 레이블이 있는 구조화된 테이블로 구성하는 데 어려움이 있기 때문에 RMSF1RMS_{F1}에서 큰 격차를 보여줍니다.

PaLI 및 MATCHA와 비교하여도, DePlot이 더 우수한 성능을 보입니다. 이는 a visual-language-specific architecture/initialization과 task-specific finetuning이 plot-to-table 정확도를 향상시킬 수 있음을 시사합니다. 또한, PaLI-17B (res. 588)이 PALI-17B (res.224) 보다 더 좋은 성능을 보이는 것을 통해 입력되는 이미지 해상도가 높을수록 차트 정보를 더 잘 추출하는 것을 알 수 있습니다.


Downstream tasks.

ChartQA (Masry et al., 2022)와 PlotQA (Methani et al., 2020)에 대한 다양한 DePlot+LLM 설정에 대해 평가합니다.

downstream_result.png

DePlot+LLM은 특히 ChartQA-human set(사람이 작성한 쿼리)에서 좋은 성능을 보입니다. MATCHA와 비교하여 DePlot+FlanPaLM+Codex PoT SC 모델이 29.4%(38.2% → 67.6%) 향상했습니다. 또한 해당 모델이 DePlot+LLM 모델 중 PlotQA에서도 가장 좋은 성능을 보였으나, MATCHA 모델에 비해 성능이 떨어집니다.

추가로 ChatGPT, GPT-4 (OpenAI, 2023), Bard와 같은 RLHF-ed LLM으로 실험을 진행한 결과, 대화형 모델이 DePlot-generated tables을 zero-shot 방식으로 처리할 수 있음을 발견했습니다. 이는 잠재적으로 벤치마크에서 DePlot+LLM 성능을 크게 향상시킬 수 있습니다.

4. Analyses and Discussion


End-to-End 방법에 대한 DePlot의 성능을 사례 연구와 오류 분석을 통해 비교하고, 학습하지 않은 데이터에 대한 DePlot의 성능을 알아보도록 하겠습니다.

Case Study and Error Analysis


DePlot+LLM의 장단점을 보다 구체적으로 입증하기 위해, 하위 작업 ChartQA에 대한 두 가지 사례 연구를 제시합니다. PoT 또는 CoT를 사용하여 DEPLOT+FlanPaLM을 비교합니다.

numerical_reasoning.png
queries_related_to_visual_atrributes.png

왼쪽 이미지는 더 정확한 수치 추론을 위한 LLM과 프롬프팅 기법 사용의 이점을 보여주는 예제입니다. finetuned SOTA MATCHA는 답을 잘못 예측하지만 DePlot+FlanPaLM(CoT 또는 PoT 사용)은 정확하게 답을 생성합니다.

오른쪽 이미지는 DePlot+LLM 프레임워크가 실패하는 예시를 보여줍니다. LLM은 막대 색상에 대한 정보가 없기 때문에 “회색 막대 중 가장 높은 값”을 정확하게 식별할 수 없습니다. DePlot+FlanPaLM은 “yes”라고 답을 맞췄지만, 이는 올바른 추론으로 맞춘 것이 아닙니다. FlanPaLM은 밝은 파란색 막대에서 가장 높은 값을 무작위로 선택했으며 이 값은 “identity theft” 평균보다 작기도 합니다.

쿼리가 시각적 속성을 언급하지만 Plot-to-table translation에서 이러한 시각적 속성이 손실되는 것은 전형적인 failure mode입니다. 향후 작업에서 이러한 오류를 방지하기 위해 시각적 속성도 고려하는 table encoding scheme를 계발할 예정이라고 합니다.

DePlot+LLM은 ChartQA에서 MATCHA를 능가했지만, PlotQA에서 MATCH보다 크게 성능이 떨어집니다(66.6% vs. 91.5%). 그 이유는 크게 2가지가 있습니다.
(1) 합성 쿼리는 매우 templatic하고 질문이 매우 제한
(1) 합성 쿼리는 매우 templatic하고 질문이 제한적이다.
(2) plot-to-table translation 과정에서 시각적 속성 정보가 손실된다.

PlotQA의 human ceiling 은 80.5%이고 MATCHA의 성능은 91.5% 입니다. 수천 개의 데이터로 학습한 모델은 templatic 질문을 해결하는 방법을 배울 수 있으며, 이는 인간보다 훨씬 뛰어납니다. 그러나, DePlot+LLM과 같은 few-shot learning은 학습하기가 어렵습니다. 또한 합성 쿼리는 일반적으로 추출적(extractive) 질문과 시각적 속성을 묻는 질문을 포함하기 때문에 시각적 속성을 학습하지 않는 DePlot 모델에서는 성능이 좋지 않습니다.


Out-of-distribution Analysis ---

모델 평가 시, 한 가지 한계는 DePlot의 학습 데이터의 일부인 차트의 종류와 스타일이 ChartQA 및 PlotQA 평가 데이터세트와 동일한 도메인이라는 것입니다. 이는 다른 도메인의 차트가 들어왔을 때, 제대로 작동하는지 알 수 없음을 뜻합니다. 따라서 DePlot의 out-of-distribution capability를 확인하기 위해 TaTa 데이터 세트 (Gerrmann et al., 2022)의 차트 10개에 대해 테스트를 진행했습니다.

차트 10개에 대해 데이터 테이블로 재구성할 때 RMSF1RMS_{F1} 평균 78% 를 보였습니다. 이를 통해 학습한 데이터 세트 특성에 따른 2가지 제한 사항을 발견했습니다. 차트를 구성하는 요소가 아닌 외부 참조와 같은 인접 텍스트는 모델 학습에 방해가 될 수 있어, 이미지에서 불필요한 부분을 미리 잘라내는 것이 학습에 도움이 됩니다.

pie_section_by_an_arrow.png

또한 DePlot은 막대/원형 section에 연결된 레이블/값을 이해하지 못합니다.


Limitations ---

plot-to-table translation의 좋은 성능을 보기 위해서는 다양하고 매우 많은 도메인의 plot-table 쌍 데이터가 필요합니다. OOD(out-of-domain) plot-to-table translation에 대해 DePlot의 성능을 알 수 없습니다. 또한, DePlot은 명확한 텍스트 표현이 없고 구조화된 표현이 없는 시각 언어(표 형태가 아닌 그래프, 도형, 일러스트 등)에는 작동하지 않으며, 시각적 요소 및 객체 방향, 색상과 같은 시각 정보를 무시합니다.