ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Image-to-Text] Donut : Document Understanding Transformer without OCR 번역 및 정리
    Paper review/Image-to-Text 2021. 12. 24. 15:28

    @ 굵은 글씨 중요한 내용, 빨간 글씨는 내가 추가한 내용

     

    https://arxiv.org/pdf/2111.15664v1.pdf

     

    주요 기여:

    •  

     

    0. Abstract

    딥러닝 기반 Optical Character Recognition(OCR)의 발전을 통해 현재의 Visual Document Understanding(VDU) 시스템이 OCR을 기반으로 설계되게 되었다. 이러한 OCR 기반 접근방식은 합리적인 성능을 보장하지만, (1) 높은 계산 비용 (2) OCR error propagation으로 인한 성능 저하 와 같은 OCR에 의해 유발되는 문제로 인해 어려움을 겪는다.

    본 논문에서, 우리는 OCR을 사용하지 않고도 end-to-end 학습이 가능한 새로운 VDU 모델을 제안한다. 이를 위해 대규모 실제 문서 이미지에 대한 의존성을 완화하기 위해 모델을 사전 교육하는 새로운 작업과 합성 문서 이미지 생성기를 제안한다. 우리의 접근 방식은 공개 벤치마크 데이터 세트와 개인 산업 서비스 데이터 세트의 다양한 문서 이해 작업에서 최첨단 성능을 달성한다. 광범위한 실험과 분석을 통해 특히 실제 응용 분야를 고려하여 제안된 모델의 효과를 입증한다.

     

    1. Introduction

    VDU는 다양한 형식, 레이아웃 및 내용에 상관없이 문서 이미지를 이해하는 것을 목표로 하는 task이다. VDU는 문서 처리 자동화를 위해 필수적이다. VDU 후에 응용될 수 있는 task에는 문서 분류, 구문 분석, 시각적 질문 답변 등이 있다.

    딥러닝 기반 OCR의 놀라운 발전을 통해, 대부분의 기존 VDU 시스템은 문서 이미지에서 텍스트 정보를 추출하기 위해 분리된 OCR 모듈에 의존하는 아키텍처이다. OCR 추출 텍스트 정보를 입력으로 간주하고 OCR 추출 텍스트로 목표를 수행하도록 설계되었다. 예를 들어, 아래 그림과 같이 명함 및 영수증 이미지를 위해 현재 배치된 문서 구문 분석 시스템은 텍스트 탐지, 텍스트 인식, 구문 분석을 위한 세 개의 개별 모듈로 구성된다. 


    그러나 이러한 접근법에는 몇 가지 문제점이 있다.

    1. 첫째, OCR은 비싸고 항상 이용할 수 있는 것은 아니다. 자체 OCR 모델을 학습하려면 광범위한 감독과 대규모 데이터 세트가 필요하다. 또한, 대부분의 최신 모델은 GPU를 필요로 하는데, 이는 비용이 많이 들고 유지 비용이 증가한다. 비용을 줄이기 위해 상용 OCR 엔진을 사용힐 수도 있지만 이는 항상 사용할 수 있는 것은 아니며 목표 도메인에서 엔진의 성능이 저하될 수 있다.
    2. 둘째, OCR 오류는 후속 프로세스에 부정적인 영향을 미친다. 이 문제는 OCR이 상대적으로 어려운 한국어, 일본어처럼 복잡하고 큰 문자 집합을 가진 언어에서 더 심각하다. 별도의 post OCR 보정 모듈을 구축하는 것도 옵션이 될 수 있지만, 전체 시스템 크기와 유지보수 비용을 증가시키기 때문에 실제 애플리케이션 환경에 대한 실용적인 솔루션은 아니다. 

    제안 모델은 raw input 이미지에서 원하는 출력으로 직접 매핑을 모델링하여 기존 프레임워크를 능가한다. 제안된 모델 Donut은 end-to-end 학습이 가능하고 다른 모듈에 의존하지 않는다. 이 외에도 대규모 실제 문서 이미지에 대한 의존성을 완화하기 위해 합성 문서 생성기 SynthDoG와 모델의 사전 교육에 대한 적용도 제안한다. 아이디어는 간단하지만 실험을 통해 유의미하다는 것을 보인다.

     

    본 연구의 기여는 다음과 같다.

    1. 시각적 문서 이해를 위한 새로운 접근법을 제안한다. 이는 end-to-end 방식으로 학습된 OCR 없는 transformer 아키텍처 기반의 첫 방법론이다.
    2. 제안된 모델에 대한 합성 문서 이미지 생성기와 간단한 pre-training task를 제안한다. 데이터 세트, 사전 훈련된 모델 가중치 및 코드는 https://github.com/clovaai에서 공개적으로 사용할 수 있다.
    3. 광범위한 실험과 분석을 실시하여 제안된 방법이 SOTA를 달성할 뿐만 아니라 실제 애플리케이션에서 많은 실질적인 이점(예: 비용 효율)을 가지고 있음을 보여준다.

     

    2. Method

    본 연구에서는 시각적 문서 이해를 위한 새로운 end-to-end 방법론을 제안한다. 제안된 방법인 Donut은 입력 문서 이미지를 원하는 대로 구조화된 출력과 직접 매핑한다.

     

    2.1 Preliminary: background

    영수증, 청구서, 문서 양식과 같은 반정형 문서에서 필수 정보를 이해하고 추출하는 다양한 VDU 방법이 있었다. 

    더보기

    정형/반정형/비정형

     

    정형 데이터   : 통계적 분석을 수행할 수 있는 데이터 (ex. 엑셀)반정형 데이터: 규격화된 형식을 가지지 않는 데이터 (ex. 신문)비정형 데이터: 특정한 형식을 가지지 않는 데이터 (ex. 텍스트, 영상, 오디오 등)

     

    VDU 초기에는 비전 기반 접근법으로 수행되어 VDU의 텍스트 이해의 중요성을 보여주었다. 이후 BERT의 등장으로 대부분의 첨단 기술은 CV와 NLP 기술을 결합했고 많은 발전을 보이고 있다. 

    대부분의 최신 방법은 대규모 실제 문서 이미지 데이터 세트를 사용하고 모델이 대규모 실제 문서 이미지 세트에 사전 교육되는 별도의 OCR 엔진에 의존하는 방식이다. 테스트 시, OCR 엔진은 이미지에서 텍스트 정보를 추출하기 위해 수행하며, 그 후 최종 목표를 달성하기 위해 다음 모듈로 공급된다. 따라서 무거운 OCR 엔진을 사용하여 전체 VDU 모델의 성능을 보장하기 위해서는 추가적인 작업이 필요하다.

     

    2.2 Document Understanding Transformer

    우리는 OCR과 같은 다른 모듈에 의존하지 않는 end-to-end 모델인 Document understanding transformer (Donut)라는 간단한 transformer 기반 encoder decoder 모델을 제안한다. 우리는 transformer를 기반으로 간단한 아키텍처를 설계하는 것을 목표로 한다. Dount는 시각적 인코더와 텍스처 디코더 모듈로 구성된다. 모델은 입력 문서 이미지를 원하는 구조화된 형식으로 일대일로 변환된 토큰 시퀀스로 직접 매핑한다. 제안 모델의 아키텍처는 아래 그림과 같다.

    Encoder.

    시각적 encoder는 입력 문서 이미지 x∈R^(H×W×)C를 임베딩 set {zi |zi∈R^(d) , 1≤i≤n} 으로 변환한다 (HxWxC를 nXd로 변환). 여기서 n은 feature map size 혹은 이미지 patch를 의미하고, d는 encoder 벡터의 latent 벡터 차원이다. CNN 기반 모델 또는 Transformer 기반 모델을 인코더 네트워크로 사용할 수 있다. 본 연구에서는 달리 언급되지 않는 한 구문 분석에서 SOTA를 달성하는 Swin Transformer를 사용한다. Swin Transformer는 먼저 입력 이미지 x를 겹치지 않는 patch로 분할한다. 최종 Swin Transformer 블록의 출력 {z}가 decoder로 들어간다.

    Decoder.

    {z}가 주어졌을 때, 텍스트 decoder는 토큰 시퀀스 (yi)1^(m) 을 생성하는데, 여기서 yi∈R^(v)는 토큰 i에 대한 원핫 벡터이고, v는 토큰 어휘의 크기이고, m은 하이퍼 파라미터이다. 우리는 decoder 아키텍처인 BART를 사용한다. 특히 다국어 BART 모델을 사용한다. 실제 애플리케이션에 적용되는 속도와 메모리 요구 사항을 고려하여 첫 4개 레이어만 사용했다.

     

    Model Input.

    모델 학습은 teacher-forcing manner로 이루어진다. 테스트 시, GPT-3에서 아이디어를 얻어서 모델은 프롬프트가 주어지면 토큰 시퀀스를 생성한다. =실험에서 각 다운스트림 작업에 대한 프롬프트를 위해 몇 가지 새로운 특수 토큰을 소개한다. 애플리케이션에 사용하는 프롬프트는 원하는 출력 시퀀스(구조화된=JSON형태)와 함께 표시된다.

    Output Conversion.

    출력 토큰 시퀀스가 원하는 구조화된 형식으로 변환된다 (=JSON 형태). 토큰 시퀀스는 JSON 데이터로 1-to-1 invertible하다. 필드 ∗당 두 개의 특수 토큰 [START_*]과 [END_*]을 추가한다. 출력 토큰 시퀀스가 잘못 구성된 경우(예: [START_name]만 있고 [END_name]은 없는 경우), 필드 "name"이 손실된 것으로 간주한다. 이 알고리즘은 일부 정규식을 사용하여 쉽게 구현할 수 있다.

     

    2.3 Pre-training

    모델을 훈련시키기 위해 대규모 실제 문서 이미지에 크게 의존하는 기존 접근 방식은 실제 운영 환경에서 항상 사용할 수 있는 것은 아니다 (ex. 데이터가 많은 영어 dataset 이외의 언어인 경우).


    Synthetic Document Generator.

    대규모 실제 문서 이미지에 대한 의존성을 제거하기 위해 SynthDoG라는 합성 문서 생성기를 제안한다. 아래 그림처럼 생성된 이미지는 배경, 문서, 텍스트 및 레이아웃의 여러 구성 요소로 구성됩니다. 배경 이미지는 ImageNet에서 문서 질감은 수집된 사진에서 샘플링된다. 단어와 구절은 위키피디아에서 샘플링된다. 규칙 기반 랜덤 패턴이 실제 문서의 복잡한 레이아웃을 모방하기 위해 적용된다. 

    SynthDoG에 의해 생성된 예시 이미지는 아래와 같다. SynthDoG는 공개적으로 이용 가능하다.

     

    Task.

    리는 1.2M 합성 문서 이미지를 생성했다. 영어, 한국어, 일본어 위키피디아에서 추출한 말뭉치를 사용하여 언어당 40만 개의 이미지를 생성했다. 이 모델은 이미지의 모든 텍스트를 판독 순서대로 왼쪽 위에서 오른쪽 아래로 읽도록 학습된다.

     

     

    2.4 Application 

    모델이 읽는 방법을 학습한 후 애플리케이션 단계(즉, 미세 조정)에서 주어진 문서 이미지를 이해하는 방법을 모델에게 학습한다. 우리는 모든 다운스트림 작업을 JSON 예측 문제로 해석한다. 

    Decoder는 원하는 출력 정보를 나타내는 JSON을 생성하도록 학습됩니다. 예를 들어, 문서 분류 작업에서 decoder는 토큰 시퀀스 [START_class][memo][END_class]를 생성하도록 학습된다. JSON {"class"}에 대해 1 대 1로 변환 가능하다. Target 다운스트림 task에서 이러한 대체를 사용할 수 있는 경우, 일부 특수 토큰(예: [memo]는 클래스 "memo"를 나타내는 데 사용된다)을 소개한다.

     

    3. Experiments and Analysis

    3.1 Downstream Tasks and Datasets

    실험 dataset은 다음과 같다.

    3.1.1 Document Classification

    모델이 문서 유형을 이해하는지 확인하기 위해 문서 classification task를 수행한다.

     

    3.1.2 Document Parsing

    모델이 주어진 문서 이미지의 복잡한 레이아웃, 형식 및 내용을 완전히 이해하는지 확인하기 위해 입력 문서 이미지에서 원하는 정보를 추출하는 작업인 문서 구문 분석을 수행한다. 

    • Indonesian Receipts. 
    • Japanese Business Cards (In-Service Data).
    • Korean Receipts (In-Service Data).

     

    3.1.3 Document VQA

    모델의 추가 용량을 검증하기 위해 document visual question answering task (DocVQA)을 수행한다. 이 task에서는 문서 이미지와 자연어 문제가 주어지고 모델은 이미지 내의 시각적 정보와 텍스트 정보를 모두 이해함으로써 질문에 대한 적절한 답을 예측한다. 

    • DocVQA.

     

    3.2 Common Setting

    각 epoch당 multi-ingual Donut을 1.2M 합성 문서 이미지에서 사전학습한다.

    3.3 Results

    3.3.1 Document Classification

    Classification 결과는 아래 표와 같다. Donut은 OCR 또는 대규모 실제 문서 이미지에 의존하지 않고도 SOTA와 경쟁력있는 성능을 보인다. 우리 모델이 대규모 스캔 문서 이미지에 의존하는 SOTA LayoutLM 모델 중 하나를 능가한다. 다른 transformer 기반 모델과 달리 추론이 end-to-end 방식으로 수행되어 이 작업에서 모델의 토큰 임베딩이 삭제될 수 있다.

    3.3.2 Document Parsing

     normalized Tree Edit Distance (nTED)  결과는 아래 표와 같다. Donut을 실제 제품에 수년간 존재해 온 모델과 비교하였고, 최고의 nTED 성능을 보이는 것을 확인할 수 있다. 또한, 특히 복잡성이 높은 도메인인 한국 영수증 구문 분석 작업의 경우에 추론 시간이 크게 단축된다. 이는 실제 애플리케이션에 대한 효과를 입증한다.

    아래 그림은 unseen(=test) 인도네시아 영수증을 디코더의 cross attention maps과 그 bounding box를 시각화한 것이다. 상용 OCR 제품만큼 정확하지는 않지만 보조 지표로 활용할 수 있는 의미 있는 결과를 보여주는 모델이다.

    3.3.3 Document VQA

    구문 분석 결과는 아래 표와 같다. Donut은 OCR 및 대규모 실제 문서 이미지에 의존하지 않고도 좋은 결과를 보여준다. 

     

    표의 첫 번째 그룹은 데이터 세트에 제공된 OCR 결과를 활용한다. 두 번째 그룹은 텍스트 정보를 추출하기 위해 CLOVA OCR을 사용한다. 세 번째 그룹은 Microsoft OCR API와 대규모 dataset에서 학습된 LayoutLM 모두를 사용한다. 점수 차이를 통해 대규모 실제 문서에 대한 사전 학습의 영향을 해결해야할 필요성이 있다는 것을 알 수 있다.

    Donut은 비교 방법보다 빠른 추론 속도로 합리적인 성능을 보여준다. 도넛의 잠재력을 보여주기 위해 DocVQA의 학습 세트의 10K개의 실제 이미지로 추가 사전 훈련을 통한 성능을 보여준다. 추가 사전 교육된 이미지는 노이즈가 많고 수도 적지만(10K) 상당한 성능 향상(47.14 → 53.14)으로 이어져 실제 문서 이미지의 중요성을 보여준다.

     

    4. Related Work

    본 연구에서는 시각적 문서 이해를 위한 새로운 end-to-end 방법론을 제안한다. 제안된 방법인 Donut은 입력 문서 이미지를 원하는 대로 구조화된 출력과 직접 매핑한다.

    5. Concluding Remarks

    본 연구에서는 시각적 문서 이해를 위한 새로운 end-to-end 방법론을 제안한다. 제안된 방법인 Donut은 입력 문서 이미지를 원하는 대로 구조화된 출력과 직접 매핑한다.

    기존의 방법론과 달리, 본 방법론은 OCR과 대규모 실제 문서 이미지에 의존하지 않는다. 또한 커리큘럼 학습 방식으로 모델의 사전 교육에 중요한 역할을 하는 합성 문서 이미지 생성기 SynthDoG를 제안한다. 제안된 학습 파이프라인을 통해 문서 이미지를 읽는 방법부터 이해하는 방법에 이르기까지 모델을 점진적으로 학습한다.

    광범위한 실험과 분석을 통해 제안된 방법의 성능과 비용 효율성이 향상된다는 것을 확인할 수 있다. 이미 산업계에서 대상 업무가 실질적으로 활용되고 있는 만큼 상당한 영향을 끼치고 있다. 우리의 향후 task는 제안된 방법을 문서 이해와 관련된 다른 domain/task로 확장하는 것이다.

     

    My Discussion

    Why this paper?

    문서 처리 관련 논문이여서 읽음

     

    --> 저자가 네이버 클로바! 신기하다

    --> 인도네시아 영수증 예시를 보였는데 보지 못한 언어에 대해서도 잘 처리한다는 건가????

    --> output 형태 자체가 JSON이다 너무 신기함

    --> 어떻게 손실함수를 처리하는걸까?????? + 전체적으로 어떻게 처리했는지는 이해가 되는데, 이게 어떻게 학습이 되는건지 잘 이해가 안된다 (text가 맞는지 아닌지 부터,,) 흠 decoder 쪽을 제대로 이해를 못해서 그런것 같은데, decoder 내용이 너무 짧음ㅠ

     

    댓글

Designed by Tistory.