GMN : Generative Multi-modal Network for Practical Document Information Extraction

이 논문은 DIE task를 해결하기 위해 주로 제안되어 오던 Sequence Labeling 방식의 여러 고질적인 문제들을 해결하는 것을 Motivation으로 지정하였습니다.
Inc Lomin's avatar
Jun 22, 2023
GMN : Generative Multi-modal Network for Practical Document Information Extraction

Introduction

Motivation

Document Information Extraction(DIE) 문제를 해결하는 대부분의 방법론들은 아래와 같은 문제점들을 포함하고 있습니다.
  • Sequence Serialization Problem : 대부분의 DIE 시스템들이 채택해서 사용하고 있는 1-dimensional coordinates 기반 방식의 불완전함으로 인해 발생
  • Inevitable Recognition Errors with OCR : 대부분의 DIE 시스템들이 사용하고 있는 OCR 모델들의 오류가 그대로 DIE 모델에 전과되어 발생하는 문제
  • Ultimate Problem of Approach based on Sequence Labeling : pre-defined key(또는 class)를 사용하는 Sequence Labeling 방법론의 특성상 key의 종류가 많으며 자주 확장되는 경우, 대응할 수 없음
  • When Facing Duplicated Values : 문서 내에서 같은 key에 해당하는 value들이 여러번 나올 때 구분해서 라벨링하지 않으면 Sequence Labeling 방법론으로는 해결할 수 없음
 
아래의 그림은 위에서 언급한 문제들을 간략하게 나타냅니다. DIE 문제를 해결하기 위해서 자주 사용되는 Sequence Labeling 방식의 문제점과 이 논문에서 제안하는 GMN 모델을 비교하여 각각의 문제들을 표현하고 있습니다.
notion image
즉, 이 논문은 DIE task를 해결하기 위해 주로 제안되어 오던 Sequence Labeling 방식의 여러 고질적인 문제들을 해결하는 것을 Motivation으로 지정하였습니다.
 

Contributions

이 논문은 Motivation 파트에서 설명한 4가지 문제들을 해결하기 위해 제안되었습니다. 따라서, 이 논문이 제안하는 주요 contribution은 아래와 같이 정리해볼 수 있습니다.
  1. Word 수준의 annotation의 부족함과 OCR error, 다양한 layout 등을 고려해야 하는 DIE task에 알맞는 GMN 모델 제안
  1. 다수의 modality들 사이의 상호작용을 모델링하고 reading order serialization 문제를 피하기 위해 2d layout embedding 방법과 multi-modal transformer를 제안
  1. 다수의 DIE dataset들에 대한 실험들을 통해 성능 향상 뿐만 아니라, unseen keys을 잘 예측할 수 있음을 보여줌
 

Proposed Method

Problem Definition

이 논문은 각각의 입력 sequence들을 사전에 정의한 클래스로 라벨링하여 문제를 해결하는 Sequence Labeling과 달리, OCR 결과를 구조화된 format으로 translation하는 방식으로 문제를 정의하였습니다.
따라서, GMN은 Transformer-based translator architecture를 DIE task에 맞게 개선하는 것을 목표로 하였습니다.
 

Overall Architecture

아래의 그림은 GMN 모델의 전체적인 아키텍처를 나타냅니다. GMN은 multi-modal feature extraction module과 MD-Bert(Modal Decoupling Bert)라 이름 붙혀진 stacked cross-modality module의 크게 두 가지 파트로 나누어서 생각할 수 있습니다.
notion image
GMN 모델의 전반적인 프로세스는 다음과 같이 요약할 수 있습니다.
  1. Source inputs에서 OCR engine과 small CNN을 통해 추출한 feature들에 대한 embeddings을 얻어내는 과정
  1. 서로 다른 modality들로부터 추출된 feature들을 MD-Bert를 통해 fusion하여 Multi-modal embeddings을 얻어내는 과정.
  1. MD-Bert를 통해 multi-modal embeddings에 대한 token prediction을 적용하여 결과를 출력하는 과정.
  1. 이 모든 과정들을 재귀적으로 수행하고 accumulative memory 기법을 적용하여 [SEP] 토큰을 만날 때까지 예측하는 과정.
 

Multi-Modal Feature Extraction

이 논문은 semantic, layout, vision feature들을 모두 통합한 embedding 방법론인 Cord2Vec을 제안했습니다. Cord2Vec은 Semantic Embedding, Layout Embedding, Visual Embedding의 3가지 컴포넌트로 구성됩니다.
notion image
 
  1. Semantic Embedding
    1. GMN의 Semantic Embedding은 OCR engine을 통해 검출된 text token들을 embedding하고 입력에 해당하는 input token sequence 는 다음과 같은 형태로 표현됩니다.
      • [BEG] 토큰 : input token sequence의 start indicator
      • [SEP] 토큰 : input token sequence의 end indicator
      • [PAD] 토큰 : 여분의 padding token 역할
      • : input token sequence의 max sequence length
      • : 번째 토큰
 
  1. Layout Embedding
    1. GMN의 Layout Embedding은 1차원 공간에서 sequence order information 문제가 발생하던 것을 해결하기 위해 2차원 공간의 Layout Embedding 방식을 제안합니다.
      우선, 논문의 저자들은 OCR engine을 통해 검출된 문서 내의 박스 좌표 값들을 이산화하고 정규화하기 위해 사이의 정수 값으로 변환합니다. 논문에서는 실험을 통해 값을 1000으로 고정하였습니다.
      다음으로 같은 박스 내에 여러 토큰들간의 구분과 상호작용이 더 잘 되도록 하기 위해 논문의 저자들은 각각의 토큰들의 박스를 같은 tuple들로 표현했습니다. 이 때, 는 같은 박스 내의 토큰들의 평균적인 가로 길이를 통해 계산되고 는 해당 박스의 높이를 그대로 사용하였습니다.
      이렇게 만들어진 각각의 토큰들에 대한 박스들의 tuple들은 x와 y 차원 각각에 대해 position embedding function이 수행됩니다. 이를 표현한 수식은 다음과 같습니다.
      이 때, 각각의 special token들은 아래와 같이 지정하였습니다.
      • ,
 
  1. Visual Embedding
    1. 논문의 저자들은 visual feature를 추출하기 위해 ResNet-18을 백본으로 사용하였습니다. 또한, RoIAlign을 통해 추론을 한번만 하고 visual feature를 추출할 수 있도록 했습니다.
      따라서, 논문에서 번째 토큰에 대한 visual embedding 는 아래의 수식으로 표현할 수 있습니다.
      이 때, 번째 토큰의 위치 정보를 뜻하고 각각의 special token들은 아래와 같이 설정하였습니다.
      • : 전체 이미지 feature를 사용
      • , : default null image feature를 사용
 

Generative Pre-training Model

  1. Model Strcture
    1. GNM은 stacked hierarchical multi-modal transformer encoder로 구성된 MD-Bert 모듈의 encoder와 decoder로 구성되어 있습니다.
      notion image
      우선, 앞서 설명드린 Cord2Vec을 통해 만들어진 OCR 결과에 대한 embedding들은 MD-Bert의 input으로 사용됩니다. 이 때, 각각의 modality에 대한 embedding들은 아래의 수식처럼 linear layer를 통해 트랜스포머 hidden state의 차원인 로 projection됩니다. (는 각각 semantic, x차원, y차원, visual을 의미합니다.)
      이렇게 만들어진 embedding feature들은 MD-Bert의 input으로 사용됩니다.
      다음으로, MD-Bert는 encoder-decoder 구조를 갖기 때문에 decoding stage에서 이전 토큰도 어텐션된다는 문제점이 있습니다. 이러한 문제를 해결하고자 논문의 저자들은 UniLM의 아이디어를 차용합니다. 즉, MD-Bert는 아래의 그림과 같이 어텐션 layer에서 masking을 활용하여 토큰이 어텐션되어야 하는 부분을 통제합니다.
      notion image
      마지막으로, MD-Bert는 아래의 그림과 같이 이전에 추출한 각 토큰들에 대한 feature 와 history state에 해당하는 를 입력으로 받습니다. 사실, 이렇게 memorize 구조를 만든 것이 어떠한 영향을 끼치는지 알고 싶었으나 논문에 설명은 없어 아쉬웠습니다.
      notion image
 
  1. Cross-Modality Encoder
    1. 전통적인 multi-modal model들은 서로 다른 modal feature들을 단순히 addition하거나 concatenation하는 방식으로 fusion합니다. 하지만 self-attention을 수행하는 동안 서로서로 원하지 않는 correlation이 필연적으로 생기게 되고 data modality들은 서로 orthogonal하기 때문에 서로에 대한 correlation은 모델의 능력을 향상시키는데 악영향을 끼칩니다.
      따라서, 논문의 저자들은 MAMM(modal-aware mask module) encoder를 제안하고 이를 통해 hierarchical structure multi-modal transformer 구조를 구현하였습니다. 구체적으로는 논문에서 제안하는 GMN 모델은 기본적인 BERT 모델의 어텐션과 encoder 아키텍처를 그대로 사용하고 multi-head attention을 modal-aware multi-head attention으로 변경한 구조입니다. 따라서, Modal-aware attention도 기본적으로 BERT와 동일하게 feed-forware layer, residual connection, layer normalization이 포함된 구조입니다.
      notion image
      위의 수식과 그림은 Modal-aware attention의 번째 어텐션 layer를 통해 feature 를 얻는 과정을 간략히 보여줍니다. 우선, MaskProd 모듈과 softmax 연산 등을 통해 이전 layer에서의 modality에 대한 embedding과 masking operation을 통해 attention score를 얻습니다.(이 때, 는 attention head의 수를 의미합니다.) 다음으로, Layer Normalization과 feed forward layer를 통해 에 대한 encoding feature를 얻고 이를 이것을 addition하여 를 얻어냅니다.
 
  1. Pre-training Method
    1. GMN은 트랜스포머의 encoder와 decoder를 함께 pre-training하는 것을 motivation으로 제안된 UniLM과 유사하게 Uni-directional LM, Bidirectional LM, Sequence-to-Sequence LM의 3가지 pre-training objective들을 그대로 사용합니다. 또한, GMN은 entity extraction task를 더 잘할 수 있도록 하기 위해 NER-LM이라는 pre-training objective를 도입했습니다.
      따라서, GNM의 pre-training에 대한 loss function은 아래와 같이 정의됩니다.
      이 논문에서 제안하는 NER-LM은 sequence-to-sequence LM의 확장판으로 Input Sequence 와 Output Sequence 를 하나의 Sequence로 만들고 에서 target entity에 해당하는 부분을 masking하는 방식의 pre-training objective입니다.
                                                     UniLM의 Sequnece-to-Sequence LM
      UniLM의 Sequnece-to-Sequence LM
      UniLM의 pre-training objective들은 UniLM Review(Yeongmin’s Blog)를 참고해주시기 바랍니다.
 

Experiments

Pre-Training Dataset

논문의 저자들은 주로 Document Understanding 분야의 pre-training 데이터셋으로 사용되는 IIT-CDIP Test Collection 1.0 Dataset을 통해 pre-training을 수행합니다. 또한, NER-LM의 경우에는 클래스에 대한 라벨링이 필요한데, 이를 위해서는 Enron Email Dataset을 사용하였습니다.
 

Fine-Tuning Datasets

Fine-Tuning 실험에는 FUNSD-R Dataset, CORD Dataset, SROIE Dataset을 사용하였습니다. FUNSD-R Dataset의 경우에는 FUNSD Dataset에서 라벨링을 재수행하여 만든 새로운 버전의 데이터셋입니다. 논문의 저자들은 pre-defined하지 않은 class도 정말 잘 예측하는지 알아볼 필요가 있어 이 데이터셋을 만들었다고 합니다. 따라서, 기존 FUNSD Dataset과 다르게 FUNSD-R Dataset은 class의 수도 4개에서 1421개로 늘었고 test set에서는 training set에 없는 267개의 key가 test set으로 추가 포함되었습니다.
 

Experiment Results

  1. Results under scene with larger amout of keys
    1. notion image
      FUNSD-R dataset에 대한 실험 결과는 많은 양의 key들이 이미지 내에서 나타나지 않는 경우에 대한 GMN의 성능이 다른 모델들에 비해 우월함을 보여주고 있습니다. 사실, 당연한 결과처럼 보이는게 extractive approach인 sequence labeling 기반의 모델들은 이미지 내에서 key가 없다면 추출할 수 없습니다. 따라서, 나머지 모델들의 성능은 0.0%임을 확인할 수 있습니다.
 
  1. Results with Ground Truth Setting
    1. notion image
      notion image
      위의 표들은 다른 데이터셋들에서 GMN의 성능이 가장 좋은 것을 확인할 수 있으며 OCR engine의 성능을 고려하지 않은 상황에서 잘 GMN 모델이 기본적으로 잘 동작함을 알 수 있습니다.
 
  1. Results with End-to-End Setting
    1. notion image
      GMN은 생성 모델이기 때문에 OCR error를 바로 잡아줍니다. 특히, sequence labeling approach의 제품 관점에서 OCR engine의 오류는 치명적입니다. 위의 표는 OCR engine을 포함한 End-to-End Setting에서 GMN 모델의 성능이 다른 모델들에 비해 우월함을 알 수 있습니다. 또한, Base size의 모델로도 다른 모델들의 성능을 추월한다는 것은 상당히 놀라운 성과로 보입니다.
 
  1. Results with Position Shuffle Setting
    1. notion image
      논문의 저자들은 2D embedding 방식의 효용을 알아보고자 test dataset의 box 순서를 shuffle하여 성능 측정을 하고 다른 모델들과 비교하여 보았습니다. 위의 표에서 볼 수 있듯이 GMN 모델은 input sequence의 order에 상당히 robust함을 확인할 수 있습니다.
 

Ablation Study

논문의 저자들은 GMN의 여러 모듈들을 하나씩 제거해보면서 성능을 측정해보았습니다. 아래와 같이 visual embedding, NER-LM, MAMM 모두 성능 향상에 도움을 준 것을 확인할 수 있습니다.
notion image
 

Case Study

논문의 저자들은 정성적으로 결과를 분석하여 이전 모델 대비 개선 또는 악화된 점을 확인해보았습니다.
notion image
  • Figure 5-A, 5-B : GMN이 성공적으로 OCR engine에서의 recognition error를 개선함.
  • Figure 5-C~F : GMN이 모호한 내용을 같거나 복잡한 layout을 갖는 경우, LayoutLM에 비해 정확히 예측함.
  • Figure 5-G, 5-H : GMN이 OCR error들을 보정하는 과정에서 오류가 있긴 하지만 실제 시나리오에서는 좋은 영향을 끼칠 것으로 보임.
 

Conclusion

이 논문은 전통적인 sequence labeling 기반의 DIE 모델들이 갖고 있는 고질적인 문제점들을 해결하기 위해 generative approach로 만든 Generative Multi-modal Network(GMN)를 제안하였습니다.
기존 OCR engine 기반의 DIE 모델들이 갖고 있던 많은 이슈를 보정하고 여러가지 고민들이 함께 실려 있어 정말 좋은 논문이라고 생각하였습니다.
또한, 생성 모델 기반의 Document Understanding 모델들을 필연적으로 연구해봐야 겠다고 생각하는 계기가 되었습니다.
 

References

  1. UniLM paper : https://arxiv.org/abs/1905.03197
  1. UniLM Review (Yeongmin’s Blog) : https://baekyeongmin.github.io/paper-review/unilm-review/
 
 
 
 
 
 
Share article