AI

[논문읽기-1] OCR-free Document Understanding Transformer - 번역

Bingli 2023. 6. 6. 02:11

OCR-free Document Understanding Transformer

문서 이미지를 이해하는 것은 복잡한 기능인 텍스트 읽기와 문서의 전체적인 이해능력을 필요로하기 때문에 핵심적이지만 어려운 작업이다. 현재 시각적 문서 이해(Visual Document Understanding, VDU) 방법은 텍스트 읽기 작업을 외부 OCR(광학 문자 인식) 엔진에 위탁하고 OCR 출력물에 초점을 맞추어 이해 작업을 수행한다. 이러한 OCR 기반 접근 방식은 유망한 성능을 보여주었지만, 1) OCR 사용에 따른 높은 계산 비용, 2) 언어 또는 문서 유형에 대한 OCR 모델의 제한성, 3) OCR 오류 전파로 인한 후속 과정의 문제 등이 있다. 이러한 문제를 해결하기 위해 본 논문에서는 문서 이해 트랜스포머(Document understanding transformer, Donut)라는 새로운 OCR-free VDU 모델을 소개한다.

OCR-free VDU 연구의 첫 번째 단계로 간단한 아키텍처(Transformer)와 사전 학습 목표(cross-entropy loss)를 제안한다. Donut은 개념적으로 간단하지만 효과적이다. 광범위한 실험과 분석을 통해, 간단한 OCR-free VDU 모델인 Donut이 속도와 정확성 모두에서 다양한 VDU 작업에서 최고 성능을 달성한다는 것을 보여준다. 또한, 다양한 언어와 도메인에서 모델 사전 학습이 유연하게 이루어질 수 있도록 합성 데이터 생성기를 제공한다. 코드, 훈련된 모델 및 합성 데이터는 https://github.com/clovaai/donut에서 제공된다.

키워드: Visual Document Understanding, Document Information Extraction, Optical Character Recognition, End-to-End Transformer

1. Introduction

상업 송장, 영수증 및 명함과 같은 문서 이미지는 현대적인 업무 환경에서 쉽게 찾을 수 있다. 이러한 문서 이미지에서 유용한 정보를 추출하기 위해 시각적 문서 이해(Visual Document Understanding, VDU)는 산업에서 필수적인 작업뿐만 아니라 문서 분류, 정보 추출 및 시각적 질문 답변을 포함한 연구자들에게 도전적인 주제이다.

그림 1. 전통적인 문서 정보 추출(IE) 파이프라인의 스키마. (a) 목표는 주어진 반구조화된 문서 이미지에서 구조화된 정보를 추출하는 것이다. 파이프라인에서 (b) 텍스트 탐지가 수행되어 텍스트 위치를 얻고 (c) 각 상자는 문자를 이해하기 위해 인식기로 전달된다. (d) 마지막으로, 인식된 텍스트와 해당 위치는 원하는 구조화된 정보 형식으로 처리하기 위해 다음 모듈로 전달된다.
그림 2. 파이프 라인 개요 및 벤치마크. 제안된 엔드 투 엔드 모델 Donut은 메모리, 시간 비용 및 정확도 면에서 최근의 OCR 종속 VDU 모델 보다 우수한 성능을 보인다. 시각적 문서 IE에서의 성능은 (b)에 표시된다. 다양한 VDU 작업에 대한 추가 결과는 Section 3에서 동일한 경향을 보인다.

현재 VDU 방법은 두 단계로 작업을 처리한다. 1) 문서 이미지에서 텍스트를 읽기, 2) 문서를 전체적으로 이해하기. 일반적으로 텍스트 읽기 작업에는 딥 러닝 기반의 Optical Character Recognition(OCR)을 사용하며 이해 부분을 모델링하는 것에 중점을 둔다. 예를 들어, Figure 1에 나와 있는 것처럼, 문서에서 구조화된 정보를 추출하는 기존 파이프라인 (문서 파싱이라고도 함)은 텍스트 감지, 텍스트 인식 및 파싱을 위한 세 개의 별도 모듈로 구성된다.

그러나 OCR 의존적인 접근 방식은 심각한 문제가 있다. 우선, OCR을 전처리 방법으로 사용하는 것은 비용이 많이 든다. 우리는 사전 훈련 된 off-the-shelf OCR 엔진을 활용할 수 있지만, 고품질 OCR 결과를 위한 계산 비용이 많이 들게 된다. 또한 off-the-shelf OCR 방법은 서로 다른 언어나 도메인 변화를 처리하는 유연성이 거의 없으며, 이로 인해 일반화 능력이 저하될 수 있다. OCR 모델을 훈련시키면 광범위한 훈련 비용과 대규모 데이터셋이 필요하다. 또 다른 문제는 OCR 오류가 VDU 시스템으로 전파되어 후속 과정에 부정적인 영향을 미친다는 것이다. 이 문제는 한국어나 중국어와 같은 복잡한 문자셋을 가진 언어에서 OCR의 품질이 상대적으로 낮기 때문에 더 심각해진다. 이를 해결하기 위해 후-OCR 교정 모듈이 일반적으로 채택된다. 그러나 이는 전체 시스템 크기와 유지 보수 비용을 증가시키기 때문에 실제 응용 환경에서는 실용적인 해결책이 아니다.

OCR에 의존하지 않고 원하는 출력물로부터 직접적인 매핑을 모델링함으로써 전통적인 프레임워크를 넘어서고 있다. OCR-의존성으로 인해 발생하는 문제를 해결하기 위해 새로운 OCR-free VDU 모델을 소개한다. 이 모델은 Transformer-only 아키텍처를 기반으로 하며, vision과 language에서의 거대한 성공을 지속하고 있는 Document understanding transformer (Donut)이라고 한다. 그리고 간단한 아키텍처와 사전 훈련 방법을 포함하는 최소한의 베이스라인을 제시한다. 그러나 그 간단함에도 불구하고, Donut은 Figure 2에서 보여지는 이전 방법들보다 비교적 더 나은 전반적인 성능을 보여주고 있다.

여기서는 Donut 학습에서 사전 훈련 및 세부 조정 기법(pre-train-and-fine-tune)을 사용한다. 사전 훈련 단계에서, Donut은 이미지와 이전 텍스트 문맥에 대한 종합적인 조건부로 다음 단어를 예측함으로써 텍스트를 읽는 방법을 학습한다. Donut은 문서 이미지와 텍스트 주석으로 사전 훈련된다. 사전 훈련 목표가 간단하기 때문에 (즉, 텍스트 읽기), 합성 데이터로 사전 훈련하여 도메인 및 언어 유연성을 간단하게 실현할 수 있다. 세부 조정 단계에서, Donut은 다운스트림 작업에 따라 문서 전체를 이해하는 방법을 학습한다. 다양한 VDU 작업과 데이터셋에서 광범위한 평가를 통해 Donut이 강력한 이해 능력을 갖고 있음을 입증한다. 실험 결과, 간단한 OCR 없는 VDU 모델이 속도와 정확도 측면에서 최첨단 성능을 달성할 수 있다는 것을 보여준다.

contributions은 다음과 같이 요약된다:

  1. VDU를 위한 새로운 OCR-free 접근 방식을 제안한다. 이것이 OCR-free Transformer를 이용한 최초의 end-to-end 학습 방법이다.
  2. 합성 데이터의 활용을 가능하게 하는 간단한 사전 학습 방법을 소개한다. SynthDoG 생성기를 사용하여 Donut이 일반적인 OCR 엔진 재학습이 필요한 전통적인 방식에서 적용할 수 없는 멀티언어 환경으로 쉽게 확장될 수 있음을 보여준다.
  3. 공개 벤치마크와 사설 산업 데이터셋에서 광범위한 실험과 분석을 수행하여, 제안된 방법이 벤치마크에서 최고의 성능 뿐만 아니라 실제 적용에서도 많은 실용적인 이점(예: 비용 효율적)을 가진다는 것을 보여준다.
  4. 코드베이스, 사전 학습된 모델 및 합성 데이터는 GitHub에서 사용할 수 있다.

2. Method

2-1. Preliminary: background

다양한 시각적 문서 이해 (VDU) 방법이 있었다. 이러한 방법은 영수증, 송장 및 양식 문서와 같은 반 구조적 문서에서 중요한 정보를 이해하고 추출하는 데 사용된다.

그림 3.  Donut 의 파이프라인 그림. 인코더는 주어진 문서 이미지를 임베딩으로 매핑한다. 인코딩된 임베딩을 사용하여 디코더는 구조화된 형태로 변환할 수 있는 토큰 시퀀스를 생성한다.

이전에는 OCR-independent visual backbones으로 VDU 시도가 이루어졌지만, 성능이 제한적이었다. 이후에 OCR와 BERT의 놀라운 발전으로 함께 결합하여 여러 OCR-dependent VDU모델이 제안되었다. 최근에는 보다 일반적인 VDU를 위해 대부분의 최첨단 기술에서 강력한 OCR 엔진과 대규모 실제 문서 이미지 데이터(IIT-CDIP 등)를 모델 사전 훈련에 사용한다. 최근 몇 년 동안 놀라운 발전을 보였지만, 외부 OCR 엔진을 사용하여 전체 VDU 모델의 성능을 보장하기 위해 추가 노력이 필요하다.

2-2. Document Understanding Transformer

Donut은 문서 이미지의 일반적인 이해를 위한 자체 포함형 (즉, end-to-end) VDU 모델이다. Donut의 아키텍처는 Transformer 기반의 시각 인코더와 텍스트 디코더 모듈로 구성된 매우 간단한 구조이다. Donut은 OCR 기능과 관련된 모듈에 의존하지 않고, 주어진 문서 이미지에서 특징을 추출하기 위해 시각 인코더를 사용한다. 추출된 특징은 다음 텍스트 디코더에 의해 하위 단어 토큰의 시퀀스로 매핑되어 원하는 구조화된 형식 (예 : JSON)을 구성한다. 각 모델 구성 요소는 Transformer 기반으로 구성되어 있으며, 따라서 모델은 end-to-end 방식으로 쉽게 학습된다. Donut의 전체 프로세스는 그림 3에 설명되어 있다.

Encoder. 시각적 인코더는 입력 문서 이미지 $x\in\mathbb{R}^{H\times W\times C}$를 임베딩 집합 $\left\{z_{i}|z_{i}\in\mathbb{R}^{d},1\leq i\leq n \right\}$으로 변환한다. 여기서 $n$은 피처 맵 크기 또는 이미지 패치 수이며, $d$는 인코더의 잠재 벡터의 차원이다. CNN 기반 모델 또는 Transformer 기반 모델을 인코더 네트워크로 사용할 수 있다. 본 연구에서는 문서 파싱에서 최고의 성능을 보인 Swin Transformer을 사용합니다. Swin Transformer는 입력 이미지 $x$를 중첩되지 않는 패치로 나눈다. 패치에는 shifted window-based multi-head self-attention 모듈과 두 개의 MLP로 구성된 Swin Transformer 블록이 적용된다. 그 후, 각 단계에서 patch tokens에 patch merging layers가 적용됩니다. 최종 Swin Transformer 블록의 출력 $\left\{z \right\}$은 다음 텍스트 디코더에 공급된다.

Decoder. 주어진 $\left\{z \right\}$에 대해, 텍스트 디코더는 토큰 시퀀스 $\left ( y_{i} \right ){i=1}^{m}$를 생성한다. 여기서 $y{i}\in \mathbb{R}^{v}$는 $i$번째 토큰의 one-hot 벡터이며, $v$는 토큰 어휘의 크기이고, $m$은 하이퍼파라미터이다. 디코더 아키텍처로 BART를 사용합한다. 구체적으로, 공개적으로 사용 가능한 사전 학습된 multi-lingual BART 모델의 모델 가중치로 디코더 모델 가중치를 초기화한다.

Model Input. 원래 Transformer 를 따라, teacher-forcing 방식을 사용한다. 이전 시간 단계의 모델 출력 대신 ground truth를 입력으로 사용하는 모델 훈련 전략이다. 테스트 단계에서는 GPT-3에서 영감을 받아, 모델은 프롬프트를 기반으로 토큰 시퀀스를 생성한다. 이 실험에서 각 하향 작업에 대해 프롬프트를 위한 새로운 특수 토큰을 추가한다. 이 애플리케이션에 사용되는 프롬프트는 그림 3에서 원하는 출력 시퀀스와 함께 보여진다. teacher-forcing 전략과 디코더 출력 형식에 대한 설명은 부록 A.4에서 제공된다.

Output Conversion. 출력 토큰 시퀀스는 원하는 구조화된 형식으로 변환된다. 용량 표현력이 높은 JSON 형식을 채택한다. 그림 3에 나와 있듯이, 토큰 시퀀스는 JSON 데이터와 일대일로 대칭적이다. 각 추출 필드를 나타내는 *에 대해 [START *]와 [END *] 두 개의 특수 토큰을 추가하기만 하면 된다. 출력 토큰 시퀀스가 잘못 구조화된 경우, 해당 필드는 손실된 것으로 처리한다. 예를 들어 [START name]만 있고 [END name]이 없으면 "name" 필드를 추출하지 못한 것으로 가정한다. 이 알고리즘은 간단한 정규 표현식으로 쉽게 구현할 수 있다.

2-3. Pre-training

Task. 이 모델은 이미지 내 모든 텍스트를 읽기 순서 (기본적으로 왼쪽 상단에서 오른쪽 하단으로)로 읽을 수 있도록 훈련된다. 목적은 이미지와 이전 컨텍스트에 공동으로 조건부 지정하여 다음 토큰 예측의 교차 엔트로피 손실을 최소화하는 것이다. 이 작업은 유사한 OCR 작업으로 해석될 수 있다. 모델은 시각적 말뭉치, 즉 문서 이미지에서 시각적 언어 모델로 훈련된다.

Visual Corpora. 여기서는 1100만장의 스캔된 영어 문서 이미지 세트인 IIT-CDIP을 사용한다. 상용 CLOVA OCR API를 적용하여 pseudo text labels을 얻는다. 그러나 앞서 언급한 것처럼, 이러한 종류의 데이터셋은 특히 영어 이외의 언어에 대해서는 항상 사용 가능하지 않는다. 이러한 의존성을 줄이기 위해, SynthDoG (Synthetic Document Generator) 라는 확장 가능한 합성 문서 생성기를 구축했다. SynthDog와 중국어, 일본어, 한국어, 영어 위키피디아를 사용하여 언어당 50만개의 샘플을 생성했다.

그림 4. SynthDoG를 사용하여 생성된 영어, 중국어, 일본어 및 한국어 샘플. 실제 문서를 모방하기 위해 Heuristic random patterns 적용

Synthetic Document Generator. 이미지 렌더링 파이프라인은 기본적으로 Yim et al.을 따른다. 그림 4에서 보여지는 대로, 생성된 샘플은 여러 구성 요소로 이루어져 있다. 배경, 문서, 텍스트, 레이아웃이다. 배경 이미지는 ImageNet에서 샘플링하고 문서의 질감은 수집된 종이 사진에서 샘플링한다. 단어와 구절은 위키피디아에서 샘플링된다. 레이아웃은 그리드를 무작위로 쌓는 단순한 규칙 기반 알고리즘에 의해 생성된다. 또한 몇 가지 이미지 렌더링 기술이 적용되어 실제 문서를 모방한다. 생성된 예시는 그림 4에 나와 있다. SynthDoG의 자세한 내용은 code1과 부록 A.2에서 확인할 수 있다.

2-4. Fine-tuning

모델이 읽는 법을 배운 후에, 응용 단계 (즉, fine-tuning)에서는 문서 이미지를 이해하는 방법을 모델에게 가르친다. 그림 3에 나와 있듯이, 모든 하위 작업을 JSON 예측 문제로 해석한다. 디코더는 원하는 출력 정보를 나타내는 JSON으로 변환될 수 있는 토큰 시퀀스를 생성하는 데 교육된다. 예를 들어, 문서 분류 작업에서 디코더는 토큰 시퀀스 [START class][memo][END class]를 생성하도록 교육되며, 이는 JSON {“class”: “memo”}으로 1 대 1 대칭이다. 대상 작업에서 해당 대체가 가능한 경우에는 특수 토큰 (예: [memo]는 클래스 "memo"를 나타내는 데 사용됨)을 도입한다.


3. Experiments and Analyses

이 섹션에서는, public benchmarks와 private 산업 서비스 데이터셋을 모두 포함한 6개의 다른 데이터셋에서 3개의 VDU 어플리케이션에 대한 Donut fine-tuning 결과를 제시한다. 샘플은 그림 5에 나와 있다.

Fig. 5. Samples of the downstream datasets. (a) Document Classification. (b)Document Information Extraction. (c) Document Visual Question Answering

3-1. Downstream Tasks and Datasets

Document Classification. 모델이 다른 유형의 문서를 구분할 수 있는지 확인하기 위해 분류 작업을 수행한다. 인코딩된 임베딩의 소프트맥스를 통해 클래스 레이블을 예측하는 다른 모델과 달리, Donut은 작업 해결 방법의 일관성을 유지하기 위해 클래스 정보를 포함하는 JSON을 생성한다. 테스트 세트에서 전반적인 분류 정확도를 보고한다.

RVL-CDIP. RVL-CDIP 데이터셋은 16개 클래스에서 25K 이미지를 포함한 총 400K 이미지로 구성되어 있다. 클래스는 letter, memo, email 등이 포함된다. 이 데이터셋은 320K개의 훈련 이미지, 40K개의 검증 이미지 및 40K개의 테스트 이미지가 있다.

Document Information Extraction. 모델이 문서의 복잡한 레이아웃과 문맥을 완전히 이해하는지 확인하기 위해 공개 벤치마크와 실제 산업용 데이터 세트를 포함한 다양한 실제 문서 이미지에서 문서 정보 추출(IE) 작업을 테스트한다. 이 작업에서의 목표는 모델이 각 문서를 대상 ontology 또는 데이터베이스 스키마와 일치하는 구조화된 정보 형태로 매핑하는 것이다. 예시는 그림 1을 참조한다. 모델은 문자를 잘 읽을 뿐만 아니라 레이아웃과 의미를 이해하여 텍스트 간의 그룹 및 중첩된 계층을 추론해야 한다.

우리는 두 가지 지표를 사용하여 모델을 평가한다. 첫 번째는 field-level F1 score이고 두 번째는 Tree Edit Distance(TED) 기반의 정확도이다. F1은 extracted field 정보가 ground truth에 있는지 여부를 확인한다. 한 글자라도 빠지면, 필드 추출이 실패한 것으로 간주한다. F1은 간단하고 이해하기 쉽지만, 일부 제한 사항이 있다. 첫째, 부분적인 겹침을 고려하지 않는다. 둘째, 예측된 구조(예: 그룹 및 중첩 계층)를 측정할 수 없다. 전반적인 정확도를 평가하기 위해, 트리로 표현된 모든 문서에 대해 TED를 기반으로 한 다른 지표를 사용한다. 이 지표는 max(0, 1−TED(pr, gt)/TED(ϕ, gt))로 계산된다. 여기서 gt, pr, ϕ는 각각 ground truth, 예측 및 빈 트리를 나타낸다. 최근 문서 IE 작업에서도 유사한 지표가 사용된다.

여기서는 두 개의 공개 벤치마크 데이터셋과 활발한 실제 서비스 제품에서 온 두 개의 비공개 산업용 데이터셋을 사용한다. 각 데이터셋은 다음과 같이 설명된다.

CORD. Consolidated Receipt Dataset (CORD)3은 0.8K의 훈련 데이터, 0.1K의 검증 데이터, 0.1K의 테스트 영수증 이미지로 구성된 공개 벤치마크이다. 영수증의 문자는 라틴 문자 알파벳으로 이루어져 있다. 고유 필드 수는 30개이며, 메뉴 이름, 수량, 총 가격 등을 포함한다. 정보에는 **items>item>{name, count, price}**과 같은 복잡한 구조(즉, nested groups 및 hierarchies)가 있다. 자세한 내용은 그림 1 참조.

Ticket. 1.5K개의 훈련 이미지와 0.4K개의 테스트 중국 기차표 이미지로 구성된 공개 벤치마크 데이터셋. 여기서는 훈련 세트의 10%를 검증 세트로 분할했다. 티켓 번호, 출발역, 기차 번호 등 8개의 필드가 있다. 정보의 구조는 간단하며 모든 키가 한 번만 나타나고 각 필드의 위치가 고정된다.

Business Card (In-Service Data). 이 데이터셋은 현재 판매중인 제품으로부터 수집되었다. 이 데이터셋은 20,000개의 train 데이터, 300개의 valid 데이터, 300개의 test 데이터로 이루어져 있으며, 일본 비즈니스 카드 정보를 담고 있다. 이름, 회사, 주소 등 총 11개의 필드가 포함되어 있으며, 정보의 구조는 Ticket 데이터셋과 유사하다.

Receipt (In-Service Data). 이 데이터셋은 실제 제품 중 하나에서 가져온 것이다. 데이터셋은 40,000개의 train, 1,000개의 valid, 1,000개의 test 한국 영수증 이미지로 구성된다. 고유 필드 수는 81개이며, 상점 정보, 결제 정보, 가격 정보 등이 포함된다. 각 샘플은 이전 데이터셋에 비해 복잡한 구조를 가지고 있다. 산업 정책으로 인해 일부 샘플은 공개적으로 사용할 수 없다. 실제와 유사한 고품질의 샘플은 그림 5와 부록 자료에 나와 있다.

Document Visual Question Answering. 모델의 추가 용량을 검증하기 위해 문서 시각 질문 응답 작업(DocVQA)을 수행한다. 이 작업에서 문서 이미지와 질문 쌍이 주어지며, 모델은 이미지 내 시각적 및 텍스트 정보를 모두 포착하여 질문에 대한 답변을 예측한다. 디코더를 설정하여 질문을 시작 프롬프트로 설정하여 응답을 생성하도록하고 방법의 균일성을 유지한다 (그림 3 참조).

DocVQA. 데이터셋은 문서 시각적 질문 응답 대회 4에서 가져온 것으로, 12,000개 이상의 문서에서 정의된 50,000개의 질문으로 구성되어 있다. 40,000개의 train, 5,000개의 valid, 5,000개의 test 질문이 있다. 평가 지표는 ANLS (Average Normalized Levenshtein Similarity)로 edit-distance-based지표이다. 테스트 세트의 점수는 평가 사이트를 통해 측정된다.

3-2. Setups

Swin-B을 약간 수정하여 Donut의 시각 인코더로 사용한다. 레이어 번호와 윈도우 크기를 {2, 2, 14, 2}와 10으로 설정한다. 속도-정확도 균형을 고려하여 BART의 첫 4개 레이어를 디코더로 사용한다. 2.3 절에서 설명한대로, 2M개의 합성 및 11M개의 IIT-CDIP 스캔 문서 이미지를 사용하여 다국어 Donut을 훈련시킨다. 모델을 64 A100 GPU와 미니배치 크기 196로 200K 단계 동안 사전 훈련한다. Adam 옵티마이저를 사용하며 학습률은 스케줄링되며 초기 학습률은 1e-5에서 1e-4로 선택된다. 입력 해상도는 2560x1920으로 설정되고 디코더에서 최대 길이는 1536으로 설정된다. 모든 세부 조정 및 제거 연구는 사전 훈련 된 다국어 모델에서 시작하여 달성된다. Train Tickets 및 Business Card 파싱 작업에 대해 960x1280을 사용한다. 토큰 시퀀스의 편집 거리를 모니터링하면서 모델을 세밀하게 조정한다. Donut의 속도는 A100보다 훨씬 느린 P40 GPU에서 측정된다. OCR 기반 기준선으로는 MS OCR API 및 CLOVA OCR API5와 같은 최첨단 OCR 엔진을 사용한다. OCR 엔진 분석은 3.4 절에서 제공된다. OCR 및 훈련 설정의 자세한 내용은 부록 A.1 및 A.5에서 확인할 수 있다.

3-3. Experimental Results

Document Classification. 결과는 표 1에 나와 있다. Donut은 외부 리소스(예: 오프더셀프 OCR 엔진)에 의존하지 않고 LayoutLM 및 LayoutLMv2와 같은 일반적인 목적의 VDU 모델 중 최고의 성능을 보여준다. 특히, Donut은 더 적은 매개 변수와 2배 더 빠른 속도로 LayoutLMv2 정확도를 뛰어넘는다. OCR 기반 모델은 일반적으로 매우 큰 OCR 프레임 워크의 모델 매개 변수와 속도를 고려해야 한다. 예를 들어 최근에 개발된 고급 OCR 기반 모델은 80M 이상의 매개 변수가 필요하다. 또한, OCR 기반 시스템을 교육하고 유지 관리하는 것은 비용이 많이 든다. 이러한 이유로 Donut과 같은 end-to-end 접근 방식이 필요하다.

표 1. RVL-CDIP 데이터셋에서의 분류 결과.  Donut은 합리적인 속도와 모델 크기 효율성으로 최첨단 성능을 달성한다. Donut은 OCR에 의존하지 않는 일반적인 백본(backbone)이다. 최근의 다른 백본(LayoutLM 등)은 OCR에 의존한다. † OCR의 매개변수는 E2E가 아닌 모델에 대해서 고려되어야 한다.

Document Information Extraction. 표 2는 4가지 다른 문서 IE 작업 결과를 보여준다. 첫 번째 그룹은 전통적인 BIO-tagging 기반 IE 접근 방식을 사용한다. IE에서 규약을 따른다. OCR은 이미지에서 텍스트와 경계 상자를 추출하고, 직렬화 모듈은 경계 상자 내에서 기하학 정보를 가진 모든 텍스트를 정렬한다. BIO-tagging 기반의 named entity recognition 작업은 정렬된 텍스트에 대해 토큰 수준의 태그 분류를 수행하여 구조화된 형태를 생성한다. BERT, BROS, LayoutLM 및 LayoutLMv2와 같은 3가지 일반적인 VDU 백본을 테스트한다.

표 2. 다양한 문서 IE 작업의 성능을 나타낸다. field-level F1 scores와 d tree-edit-distance-based 정확도가 보고된다. 도넛은 모든 도메인에서 가장 높은 정확도를 보이며, 추론 속도가 빠르다. † 언어 모델 간 공정한 비교를 위해 어휘의 매개 변수는 생략되었다. ‡ OCR의 매개 변수 수는 고려해야 한다. ∗공식적인 다국어 확장 모델이 사용되었다.

또한 최근에 제안된 두 개의 IE 모델, SPADE와 WYVERN를 테스트한다. SPADE는 경계 상자 간의 관계를 예측하는 그래프 기반 IE 방법이다. WYVERN은 OCR 출력을 기반으로 엔티티 구조를 직접 생성하는 Transformer 인코더-디코더 모델이다. WYVERN은 Donut과 다르게 OCR 출력을 입력으로 사용한다.

모든 공개 및 비공개 인 서비스 데이터 세트를 포함하여 Donut은 비교 모델 중 가장 우수한 점수를 보여준다. F1 및 TED 기반 정확도를 모두 측정하여, Donut이 핵심 정보를 추출할 뿐만 아니라 필드 정보 간의 복잡한 구조를 예측할 수 있다는 것을 관찰하였다. 그리고 큰 입력 해상도가 견고한 정확도를 제공하지만 모델을 느리게 만든다는 것을 관찰하였다. 예를 들어, 1280×960의 CORD에서의 성능은 0.7 초/이미지 및 91.1 정확도였다. 그러나 대형 해상도는 저자원 상황에서 더 나은 성능을 보여주었다. 자세한 분석은 3.4 절에 있다. 다른 기준과 달리, Donut은 데이터 세트의 크기와 작업의 복잡성에 관계없이 안정적인 성능을 보여준다(그림 5 참조). 이는 대상 작업이 이미 산업에서 활발히 사용되고 있기 때문에 중요한 영향을 미친다.

 

Document Visual Question Answering. 표 3은 DocVQA 데이터셋에서의 결과를 보여준다. 첫 번째 그룹은 일반 목적의 VDU 백본으로, 점수는 LayoutLMv2 논문에서 가져온 것이다. 그리고 MS OCR API로 실행 시간을 측정한다. 세 번째 그룹의 모델은 LayoutLMv2의 DocVQA-specific fine-tuning 모델이다. 이 모델의 추론 결과는 공식 리더보드에서 확인할 수 있다.

표 3.  DocVQA에서 Average Normalized Levenshtein Similarity (ANLS)점수.  Donut은 OCR 없이 유망한 결과를 보여준다. ∗Donut은 손글씨 OCR의 어려움으로 인해 도전적인 것으로 알려진 손글씨 문서에서 높은 ANLS 점수를 보여준다 (그림 6 참조). †공정한 비교를 위해 영어 토큰 임베딩이 계산된다. ‡OCR의 매개변수 수는 고려되어야한다.
그림 6. DocVQA에서 Donut 및 LayoutLMv2 출력의 예시. OCR 오류는 OCR-dependent(LayoutLMv2의 왼쪽 및 중간 예시 등)의 성능 상한선을 제한한다. end-to-end 파이프라인의 입력 해상도 제약으로 인해 대형 이미지에서 Donut은 작은 텍스트를 놓칠 수 있다 (오른쪽 예시) 하지만 입력 이미지 크기를 조정하여 완화할 수 있다 (3.4 절 참조).

Donut은 외부 OCR 엔진에 의존하는 기준선들과 경쟁력있는 점수를 얻는다. 특히, Donut은 처리하기 어려운 필기 문서에 견고함을 보여준다. 기존 방식에서, OCR 오류를 수정하는 후처리 모듈을 추가하여 파이프 라인을 강화하는 것이 선택 사항이며 OCR 출력에서 인코더-디코더 아키텍처를 채택하면 OCR 오류 문제를 완화할 수 있다. 그러나 이러한 접근 방식은 전체 시스템 크기와 유지 관리 비용이 증가하는 경향이 있다. Donut은 완전히 다른 방향을 보여준다. 일부 추론 결과는 그림 6에 나와 있다. 이 샘플들은 Donut의 현재 강점과 Donut과 유사한 end-to-end 접근 방식에서 남은 과제를 보여준다. 추가 분석 및 제거는 섹션 3.4에서 확인할 수 있다.

3-4. Further Studies

Donut의 이해를 위한 여러 요소를 연구한다. 실험과 시각화를 통해 Donut의 놀라운 특성을 보여준다.

On Pre-training Strategy. VDUs의 여러 pre-training 작업을 테스트한다. 그림 7(a)는 Donut pre-training 작업 (즉, 텍스트 읽기)이 가장 간단하면서도 효과적인 접근 방식임을 보여준다. 다른 작업들은 모델에 이미지와 텍스트의 일반적인 지식을 부과하는데, 예를 들어 이미지 캡션 작업은 섬세한 튜닝 작업에서 거의 이득이 없다. 텍스트 읽기 작업에서는 SynthDoG만, IIT-CDIP만, 또는 둘 다의 옵션을 확인한다. 문서 IE 작업에는 합성 이미지만으로 충분했다. 그러나 DocVQA 작업에서는 실제 이미지를 볼 수 있어야 했다. 이것은 아마도 IIT-CDIP와 DocVQA의 이미지 분포가 유사하기 때문일 것이다.

Fig. 7. Analysis on (a) pre-training strategies, (b) image backbones, and (c)input resolutions. Performances on CORD and DocVQA are shown

On Encoder Backbone. 여기에서는 전통적인 비전 작업에서 우수한 성능을 보이는 인기있는 이미지 분류 백본을 연구하여 VDU 작업에서의 성능을 측정한다. 그림 7(b)는 비교 결과를 보여준다. ImageNet에서 pre-trained된 모든 backbones을 사용한다. EfficientNetV2와 Swin Transformer가 두 데이터셋에서 모두 우수한 성능을 보인다. 이는 백본의 높은 표현 능력 때문이라고 주장한다. downstream tasks에서도 놀라운 점수를 보인 것으로 나타났다. Transformer 기반 아키텍처의 높은 확장성과 EfficientNetV2보다 더 높은 성능 때문에 Swin Transformer를 선택한다.

On Input Resolution. 그림 7(c)는 입력 크기가 커질수록 Donut의 성능이 급격히 증가하는 것을 보여준다. DocVQA에서는 작은 텍스트가 많은 큰 이미지가 있으므로 이러한 경향이 더욱 분명해진다. 그러나 정확한 결과를 얻기 위해 크기를 늘리면 더 큰 계산 비용이 발생한다. efficient attention mechanism을 사용하면 구조적 설계에서 이 문제를 회피할 수 있지만, 본 논문에서는 더 간단한 아키텍처를 제시하기 위해 원래의 Transformer를 사용한다.

On Text Localization. 모델의 동작을 확인하기 위해, 보지 못한 문서 이미지에 대한 디코더의 cross attention maps을 시각화한다. 그림 8에서 볼 수 있듯이, 모델은 보조 지표로 사용할 수 있는 의미 있는 결과를 보여준다. 모델은 주어진 이미지에서 원하는 위치에 집중한다.

그림 8. 디코더에서의 cross-attention maps시각화 및 text localization에의 적용. Donut은localization을 위한 어떠한 supervision도 받지 않고 학습되었다. Donut decoder는 적절한 텍스트 영역에 어텐션을 집중하여 이미지를 처리한다.

On OCR System. 4개의 공개 OCR 엔진을 테스트한다 (그림 9 참조). 결과는 전통적인 OCR 기반 방법의 성능 (즉, 속도와 정확도)이 상용 OCR 엔진에 심하게 의존한다는 것을 보여준다. OCR 엔진의 자세한 내용은 부록 A.1에서 확인할 수 있다.

Fig. 9. Comparison of BERT, LayoutLMv2 and Donut on CORD. OCR 기반 모델의 성능(즉, 속도 및 정확도)은 사용된 OCR 엔진에 따라 극명하게 달라진다(왼쪽 및 중앙). Donut은 저자원 상황에서도 견고한 성능을 보여주며, 80개의 샘플에서만 더 높은 점수를 보인다(오른쪽).

On Low Resourced Situation. 우리는 CORD의 학습 세트 크기를 제한하여 모델을 평가한다. 성능 곡선은 오른쪽 그림 9에 표시된다. 도넛은 강력한 성능을 보여준다. 또한 입력 해상도가 더 큰 2560x1920은 극도로 낮은 자원 상황에서 더 강력한 점수를 보여준다. 예를 들어, 80개의 샘플이다. 볼 수 있듯이, 도넛은 데이터의 10%인 샘플 80개만 가지고도 LayoutLMv2 정확도를 능가했다.


4. Related Work

4-1. Optical Character Recognition

최근 OCR 연구 동향은 딥 러닝 모델을 활용하는 것이다. 이 모델은 1) 텍스트 영역을 예측하는 디텍터와 2) 잘라낸 이미지 인스턴스에서 모든 문자를 인식하는 텍스트 인식기로 구성된다. 두 모델 모두 합성 이미지 및 실제 이미지를 포함한 대규모 데이터셋으로 학습된다.

Early detection 방법은 local segments를 예측하고 합치기 위해 CNN을 사용했으며, heuristic을 적용하기도 했다. 이후, 지region proposal 및 bounding box regression based 방법이 제안되었다. 최근에는 텍스트의 균일성과 locality에 초점을 맞춘 component-level 접근 방식이 제안되었다.

최신 많은 텍스트 인식기는 공통된 deep modules의 조합으로 해석할 수 있는 유사한 접근 방식을 공유한다. 잘린 텍스트 인스턴스 이미지가 주어지면 대부분의 최신 텍스트 인식 모델은 CNN을 적용하여 이미지를 특징 공간으로 인코딩합니다. 그런 다음 디코더가 특징에서 문자를 추출한다.

4-2. Visual Document Understanding

문서 유형의 분류는 자동 문서 처리에 대한 핵심 단계이다. 초기 방법은 일반적인 이미지 분류로 문제를 다루어 여러 CNN을 시험했다. 최근 BERT를 사용한 CV와 NLP의 조합 기반 방법이 널리 제안되었다. 일반적인 방법으로 대부분의 방법은 OCR 엔진을 사용하여 텍스트를 추출한 다음 OCR-ed 텍스트를 토큰 시퀀스로 직렬화하고 시각적 기능이 있는 경우 언어 모델 (예 : BERT)에 공급한다. 이 아이디어는 간단하지만, 이러한 방법은 놀라운 성능 향상을 보여 주었으며 최근 몇 년간의 주요 트렌드가 되었다.

Document IE는 다양한 실제 응용 프로그램을 다룬다. 예를 들어, 여러 장의 영수증 이미지가 주어졌을 때, document parser는 전통적인 파이프라인에서 많은 인적 노력이 필요한 영수증 디지털화의 주요 부분을 자동화할 수 있다. 최근 모델은 OCR의 출력을 입력으로 사용한다. OCR 결과는 종종 복잡한 여러 과정을 거쳐 최종 파싱으로 변환된다. 산업에서 필요성이 있음에도 불구하고, end-to-end parsing에 대한 연구는 몇몇 작업만 시도되었다. 최근에는, 복잡한 파싱 과정을 단순화하기 위한 몇 가지 작업이 제안되었다. 하지만 여전히 별도의 OCR을 사용하여 텍스트 정보를 추출한다.

문서의 Visual QA는 문서 이미지에서 묻는 질문에 답하는 것을 목적으로 한다. 이 작업은 이미지의 시각적 요소와 일반적인 지식을 추론하여 올바른 답변을 도출해내는 것을 요구한다. 현재 대부분의 최첨단 기술은 OCR 적용 후 BERT와 유사한 트랜스포머를 적용하는 간단한 파이프라인을 따르고 있다. 그러나 이러한 방법들은 본질적으로 extractive 방식으로 작동한다. 따라서 주어진 이미지에 답변이 나타나지 않는 질문에 대한 우려가 있다. 이러한 우려를 해결하기 위해 generation-based 방법이 제안되기도 한다.


5. Conclusions

이 논문에서는 시각적 문서 이해에 대한 새로운 end-to-end 프레임워크인 Donut을 제안하였다. 제안된 방법은 OCR에 의존하지 않으며 쉽게 end-to-end 방식으로 훈련될 수 있어 입력 문서 이미지를 원하는 구조화된 출력으로 직접 매핑한다. 또한 대규모 실제 문서 이미지에 대한 의존성을 줄이기 위해 합성 문서 이미지 생성기인 SynthDoG를 제안하고 Donut이 다국어 설정에 쉽게 확장될 수 있다는 것을 보여주었다. 훈련 파이프라인을 통해 읽는 방법에서 이해하는 방법까지 모델을 점차적으로 훈련시켰다. 외부 공개 벤치마크와 내부 서비스 데이터 세트에서의 광범위한 실험과 분석 결과, 제안된 방법의 성능과 비용 효율성이 더 높다는 것을 보여주었고 이 작업은 이미 산업에서 실제로 사용되고 있기 때문에 중요한 영향을 미친다. pre-training 목적을 향상시키는 것은 미래의 작업 방향일 수 있다. 이 작업으로 인해 문서 이해와 관련된 다른 도메인/작업으로 쉽게 확장될 수 있을 것이다.