[SDU] ViBERTgrid: A Jointly Trained Multi-Modal 2D Document Representation for Key Information Extraction from Documents
[SDU] ViBERTgrid: A Jointly Trained Multi-Modal 2D Document Representation for Key Information Extraction from Documents
- 
    paper: https://arxiv.org/pdf/2105.11672.pdf 
- 
    github: https://github.com/ZeningLin/ViBERTgrid-PyTorch 
- 
    ICDAR 2021 accpeted (인용수: 50회, ‘24-04-08 기준) 
- 
    downstream task: KIE (Key Information Extraction)  
1. Motivation
- 
    Document 내의 text 정보와 Layout 정보를 SOTA od, seg와 함께 사용하는 BertGrid방식은 SOTA sequence 모델이나 graph기반 모델보다 성능이 안좋음 $\to$ grid-based 성능을 향상시킬 수는 없을까? - 
        Sequence-based: Document내의 text를 1-dim text sequence로 serialize후 NLP 모델로 해당 sequence를 tagging $\to$ 복잡한 layout을 가진 document를 serialize하는 것이 non-trivial하고, 초기 학습을 위해 많인 계산량과 dataset이 요구됨 
- 
        Graph-based: Document를 graph로 모델링 하고, text를 node로 표현하여 GNN, MHSA를 통해 enhanced된 feature를 가지고 text를 예측 
- 
        Grid-based: Document를 2-dim grid로 모델링하여 instance segmentation 모델을 통해 field value를 추출함 $\to$ Sequence-based & Graph-based에 비해 두 가지 이유로 성능이 떨어짐 - BERT와 같은 SOTA word-embedding을 미사용
- 사용하더라도 (BERTgrid) BERT 모델이 fixed되어 학습되지 않아 최적화과정이 결여
 
 
- 
        
2. Contribution
- SOTA word embedding을 grid-based Document Understanding에 적용한 ViBERTgrid을 제안함
- sequence based, graph based 모델에 비해 열등했던 grid based model의 성능을 향상시킴
3. ViBERTGrid
- 
    overview  - backbone : Res-18-FPN
        - visual & textual feature fusion ($P_{fuse}$)
 
- (Auxiliary) Semantic segmentation head
        - pixel-wise field type classification
 
- world-level field type classification
        - word-level field type classification
 
 
- backbone : Res-18-FPN
        
- 
    BERTgrid generation $\to$ backbone을 통해 ViBERTgrid multi-modal feature map (Layout & text) 을 추출 - 
        Input : OCR engine에서 추출한 text & layout (bbox) - 
            추출된 정보는 좌상단 ~ 우하단 순서로 정렬 D=  - 
                각 word는 quadratic bbox임  
- 
                추출된 각각의 word를 M 개의 sub-word sequence로 tokenize  - M= 512라면 510개 + 2개 ([CLS], [SEQ])로 tokenize
- 1개의 word가 > M이라면 여러개의 sub-word token으로 slice
 
- 
                BERT encoder를 통과시켜 평균값을 취해 word에 대한 encoded token을 계산    $G \in \mathbb{R}^{(H/S) \times (W/S) \times d}$ 
 
- 
                
 
- 
            
 
- 
        
- 
    Word-level field type classification head - 
        BERT의 word embedding과 early-fused feature간에 late fusion을 수행 
- 
        2개의 classifier로 구성 - 
            1st classifier : 해당 word가 pre-defined field type인지 여부 (binary classfication)  - $o_1(w_i)$: i번째 word의 pre-defined field type일 가능성
- $y_1(w_i)$: pre-defined field type GT
- $N_1$: Document 내 전체 word의 수
 
- 
            2nd classifier: 해당 word가 pre-defined filed type일 경우, 어느 field type인지  - $o_{2,k}(w_i)$: i번째 word가 k번째 pre-defined field type일 가능성
- $y_{2,k}(w_i)$: i번째 word의 k번째 pre-defined field type GT
- $N_2$: Batch 수
 
 
- 
            
- 
        Total loss  
 
- 
        
- 
    Auxiliary segmentation classification head - 
        auxiliary segmentation head를 붙이면 학습이 더 빠르고, 안정적으로 됨 
- 
        word-level field type classifier와 마찬가지로 두 가지 pixel-classifier로 구성  - 
            1st classifier: 해당 pixel을 아래 3 가지 타입으로 분류 - word box에 해당하지 않는 pixel
- pre-defined field에 속한 word의 pixel
- pre-defined field에 속하지 않은 word의 pixel
 
- 
            2nd classifier : 1st classifer의 pre-defined field에 속한 word의 pixel일 경우, c개의 pre-defined field type에 대해 예측  
 
- 
            
- 
        Total Loss  
 
- 
        
- 
    Joint Training Strategy - 
        BERT와 CNN은 서로 다른 optimizer, hyperparameter를 통해 학습하므로 joint training이 쉽지 않음 
- 
        서로 다른 optimizer를 적용하여 최적의 성능에 도달함  
- 
        Total Loss  
 
- 
        
4. Experiments
- 
    Dataset - 
        SROIE : Scanned Receipts OCR and Information Extraction - 626 / 347 (train / test) dataset으로 구성
  
- 
        INVOICE - 
            real-world invoice dataset : 14개의 field type을 예측  
- 
            24,175 / 643 (train / test) dataset으로 구성 
 
- 
            
 
- 
        
- 
    INVOICE  
- 
    SORIE  
- 
    Ablation - 
        Multi-modal feature 사용 여부  
- 
        CNN module의 유효성  
- 
        Joint Training  
- 
        Early fusion stage  
- 
        Early fusion & Late fusion의 유효성  
 
-