long8v / PTIR

Paper Today I Read
19 stars 0 forks source link

[128] Pix2Struct: Screenshot Parsing as Pretraining for Visual Language Understanding #140

Open long8v opened 10 months ago

long8v commented 10 months ago
image

paper

TL;DR

Details

variable-resolution

image

보통 ViT는 정사각형으로 resize 해서 학습하는데 그렇게되면 (1) 찌부가 되고 (2) 나중에 high resolution으로 갔을 때 sequence length가 길어졌을 때 성능이 잘 안나옴 여기서 제시하는 방식은 aspect ratio는 유지하되 sequence length가 maximum으로 꽉꽉 채워지도록 이미지를 resize 하는 것 (patch size가 바뀌는건 아님)

Pretraining

C4에서 url로 html render해서 사용 이 때 (1) visible element 만 사용하고 (2) visible element가 없는데 child가 있을 경우 grandchild로 child를 대체. text + alt-text 와 filename 정도를 사용 이미지에서 파란색으로 박스 친 부분의 html을 recover하라고 알려줌

image

추가로 빨간색으로 박스 치고 맞추게 함. 일종의 이미지에서의 masked language modeling. text의 50% 정도.

Curriculum learning

위에걸 scratch로 학습하기엔 학습이 불안정해서 일단 읽기부터 시킴. Book Corpus로 랜덤 컬러 랜덤 폰트로 렌더링 한 뒤 30K step 정도. (200K in donut)

Finetuning

GPT에서 그냥 Q를 같이 넣듯이 여기도 이미지에 question 등을 같이 rendered해서 넣어줌

image

Training Details

Result

image

PALI한테 captioning 밀리고, text-rich한 DocVQA 같은 경우에도 OCR 등을 쓰는 UDOP한테 밀림. 아무래도 데이터 자체가 caption 많이 해서 학습한 애들보단 밀릴 수 밖에? 그 외에는 Donut / GIT을 이기고 특히 UI 쪽은 재패해버림. 엄청난 sota.

Ablation

Screenshot Parsing이 가장 많이 떨어졌고 warmup이랑 masking은 비슷한 정도로 떨어짐

padding이 상당히 안좋은 모습.. stretch가 비율 찌부하는거!