본문 바로가기

AI 논문

[꼼꼼하게 논문 읽기] Scene Text Recognition with Permuted Autoregressive Sequence Models ( 2022 )

728x90
반응형
반응형

 


Abstract

  Context-aware STR methods는 전통적으로 internal autoregressive( AR ) laguage models ( LM )이죠. AR의 본질적인 한계는 two-stage methods가 나오도록 했는데, external LM을 사용하는 것이죠. external LM의 conditional independence는 정확한 예측을 잘못하여 교정하는 현상을 야기할 수 있습니다. 저자들의 PARSeq는 Permutation Language Modeling을 사용하여 공유하는 weights를 활용해 internal AR LMs의 ensemble을 학습합니다. 이는 context-free non-AR 과 context-aware AR inference를 단일화하죠. 그리고 bidirectional context를 사용해 반복적으로 refinement합니다. synthetic training data를 사용해서, PARSeq는 SOTA results를 달성합니다. PARSeq는 accuracy vs parameter count & latency 에 대해 최적화하는데 이는 simple하고 unified한 structure와 parallel token processing 때문이죠. attention의 광범위한 사용 때문에, 임의의 방향의 text에 견고합니다.


Introduction

  natural scenes에서 machines이 text를 읽는 방법은 먼저 text regions를 detects하고 text를 해당 regions에서 인지하는 것이죠. recognizing text 의 task는 Scene Text Recognition( STR )이라고 불립니다. STR은 road signs이나 billboards, paper bills, product labels, logos, printed shirts 등을 읽습니다. 이는 자율 주행이나, augmented reality, retail, education 등등 분야에 쓰이고요. 문서들에서 쓰이는 Optical Character Recognition( OCR )은 text attributies가 더 uniform한 반면, STR은 다양한 font styles와 방향, 모양, 조명, 많은 양의 가려짐, sensor conditions를 다루죠. natural environments에서 captured된 이미지는 noisy하고 blurry되어 있고 distorted되어 있기도 하죠. 본질적으로 STR은 중요하지만 매우 어려운 문제죠.

  STR은 vision task인데, text 부분이 읽는데 중요한 역할을 하죠. image features 단독으로만은 정확한 inferences를 하기 어렵죠. 몇몇의 경우, language semantics가 전통적으로 recognition process를 돕기 위해 사용되죠. Context-aware STR methods는 semantic priors를 통합하는데 word representation model이나 dictionary 또는 sequence modeling을 사용한 data로 부터 학습되어지는 priors를 통합합니다.

  Sequence modeling은 end-to-end로 학습가능한 LM이라는 장점을 가집니다. internal LMs를 활용한 STR methods는 image features와 language context를 동시에 처리합니다. 이들은 future tokens가 past tokens에 영향을 미치는 language context 에 대한 제한적인 autoregressivs ( AR ) 를  활용함으로써 학습되죠. 여기서 model은 P ( y | x )를 결과로 주는데 여기서 y는 image x에서 T-lenght text label입니다. AR models는 이런 제약조건으로부터 두 가지의 한계를 가집니다. 먼저, 이 model은 한 방향에 대해서만 token dependencies를 학습할 수 있습니다. 보통, left-to-right ( LTR ) 방향입니다. 이 unidirectionality는 AR models가 한 방향으로 읽도록 편향되게 하는 것을 야기합니다. 이는 결과적으로 잘못된 접미사를 추가하거나, 방향 의존적인 예측 값을 내놓습니다. 둘 째로, 추론동안에, AR model은 output tokens를 serally하게 같은 방향으로 출력하는 데 사용됩니다. 이를 next-token이나 monotonic AR decoding이라고 부릅니다.

  이 문제를 다루기 위해, 기존 연구들은 left-to-right와 right-to-left AR models를 합쳐왔죠. 또 다른 연구들은 external LM이나 단독적으로 context-free STR의 ensemble을 사용하는 two-stage approach를 선택해왔죠. LTR과 RTL AR model을 합친 model은 여전히 unidirectional context 문제로 골머리를 썩지만 두 방향으로의 streams에 대해서는 좋은 성능을 보입니다. 본질적으로, 이는 decoding time과 complexity를 증가시키죠. 그러는 반면, two-stage ensemble approaches는 Figure 1a에 나와 있는데 initial predictions를 parallel한 non-AR decoding을 사용해 얻습니다.

initial context-less prediction은 직접 decoded됩니다. 이미지로 부터 context-free model을 사용하죠. 예측 값은 p ( y | x )인데 external LM을 사용하는 데, bidirectional context를 활용하죠. 왜냐하면 all character가 한번에 이용될 수 있기 때문이죠. LM 은 spell checker로 사용됩니다. initial prediction을 재조정하고 context-based output을 생성하죠. input image로부터 LM의 conditional independence 는 정확한 예측을 수정하는 결과를 야기할 수 있습니다. 이는 LM의 낮은 accuracy를 가지는 word에 대해서 더욱 명확히 두드러지죠. 따라서, separate fusion layer는 initial prediction으로 부터의 features와 final output을 얻은 LM prediction을 합치는데 사용됩니다. ABINet의 LM을 뜯어보면 STR에대해 inefficient하다는 것을 알 수 있죠. ABINet model의 전체 compute requirements의 상당부분을 활용 했음에도 불구하고 parameter count를 상대적으로 충분히 활용하지 못하고  dismal word accuracy를 금지하죠.

  sequence model literature에서, sequence generation의 일반화된 models에 관심도가 증가하고 있습니다. 다양한 neural sequence models, AR and refinement-based non-AR 과 같은, 들은 generalized framework에서 특별한 케이스로 보여집니다. 이는 같은 neneralization은 STR models에서 수행되는데 context-free와 context-aware STR을 unifying 함으로써 수행된다고 가정합니다. 이 unification의 장점이 분명하지 않음에도, 저자들은 그런 generalized model이 internal LM의 사용을 가능하게 한다는 것을 보여줍니다. 물론 external LM의 refinement capabilities를 유지하면서 말이죠.

  Permutation Language Modeling ( PLM )은 원래 large scale language pretraining을 위해 제안되었습니다. 그러나 최근 연구들은  다른 decoding schemes의 Transformer-based generalized sequence models의 capable을 학습시키는데 적용하고 있습니다. 이 연구에서, 저자들은 PLM을 STR을 위해 적용합니다. PLM은 AR modeling의 generalization로 고려될 수 있습니다. 그리고 PLM-trained model은 shared architecture와 wights를 가지는 AR models의 ensemble로 여겨질 수 있습니다. token dependencies를 dynamically 하게 specifying 하기 위한 attention masks를 사용해서, Figure 2에서 설명하는 바와 같이 model은 input context의 임의의 subset이 주어질때 conditional character probabilities를 사용하고 학습할 수 있습니다. monotonic AR decoding, parallel non-AR decoding 그리고 심지어 반복적인 refinement를 가능하게 하면서 말이죠.

  요약하면 SOTA STR methods는 two stage ensembel approach를 선택했고 이는 bidirectional language context를 사용하기 위함이죠. external LMs의 low word accuracy는 더욱 efficient approach를 위해 필요성이 강조되죠. 물론 training과 runtime requirements가 늘어나더라도 말이죠. 결국에, 저자들은 permuted autoregressive sequence ( PARSeq ) 를 제안합니다. PLM을 가지고 학습된 PARSeq는 unified STR model이고 simple structure를 가지고 있죠. 그렇지만 context-free 와 context-aware inference 모두가 가능하죠. 물론 bidirectional context를 사용해서 반복적인 refinement 또한 가능하고요. PARSeq 는 SOTA results를 달성합니다.


Related Work

  최근 surveys는 STR에 에서 다른 approaches에대한 이해가능한 discussions를 제공합니다. 이 section에서 저자들은 STR에서 language sementics을 사용하는 방법에 초점을 맞춥니다.

  Context-free STR

  context-free STR methods는 characters를 image features로부터 직접 예측합니다. output characters는 각각에 대해 conditionally-independent하죠. 가장 유망한 approaches는 CTC-based methods이고 features를 character positions로 pooling하거나 STR을 multi-instance classification probelm으로 casting 하기위해 self-attention과 같은 다른 approaches를 사용하죠. Ensembel methods는 attention mechanism을 사용하는데 initial context-less predictions를 생성하기 위함이죠. context-free methods가 오직 prediction을 위한 image features에 의존하기 때문에, occluded 나 incomplete characters와 같은 corruptions에 취약합니다. 이 한계는 recognition model을 더욱 견고하게 만드는 language semantics에 관심을 갖도록 했죠.

  Context-aware STR

  context-aware STR methods는 전통적으로 data로 부터 학습된 semantics 를 사용합니다. 대다수의 approaches는 attention이나 Transformers을 활용한 RNNs 을 사용하는데 standard AR training을 사용해 internal LMs를 학습하죠. 이 방법들은 monotonic AR decoding에 한계가 있습니다. Ensemble methods는 prediction refinement를 위한 external LM을 통해 bidirectional context를 사용합니다. image features에 대한 external LM의 conditional independence는 erroneous한 rectification이 쉽도록 만들죠. VisionLAN은 semantics를 학습하는데 selectively 하게 individual characters를 trainig 동안 image features 를 masking 함으로써 학습하죠. autoencoders와 Masked Language Modeling 를 denoising하는 것과 유사하죠. 기존 연구와 대비되게, PARSeq는 standard AR modeling 대신 PLM을 사용해 internal LM을 학습합니다. target decoding position을 input context와 분리하는 parameterization을 사용해 유연한 decoding을 지원합니다. 이는 two-stream attention의 query stream과 유사합니다. ABINet은 cloze context를 training과 inference에 모두 사용하지만, PARSeq는 iterative refinement에만 사용합니다. 게다가, ABINet의 refinement model은 input image에 conditionally하게 independent한 반면, PARSeq는 input image와 language context를 refinement process에서 모두 고려하죠.

  Generation from Sequence Models

  sequence model로부터 Generation은 두 가지 주제로 나눌 수 있습니다 ; autoregressive( one token at a time )와 non-autoregressive( all tokens predicted at once ) 이죠. Mansimov et al 연구는 said schemes를 unifies하는 sequence generation을 위한 generalized framework을 제안했습니다. BANG은 two-stream attention을 MLM에 적용했습니다. 저자들은 PLM을 사용하죠. PMLM 은 MLM의 generalization을 사용해서 학습되는데 masking ratio가 stochastic이죠. uniform prior을 사용한 변형은 PLM-trained model과 동등하다는 것을 보여줬죠. 저자들의 연구와 가장 비슷한 것은 Tian et al인데다른 layer로부터 content와 query streams를 interspersing함으로써 decode하는 two-stream attention parameterization을 적용했습니다. 반면, 저자들의 decoder는 self-attention을 사용하지 않고 two streams를 inttersperse하지 않습니다. 이는 저자들의 single layer decoder가 query stream 만을 사용하게 해주고 unused content stream의 overhead를 피하게 해주죠.


Permuted Autoregressive Sequence Models

  이 section에서 저자들은 먼저 PARSeq의 transformer-based model architecture를 보여주고 permutation Language modeling을 사용해서 그것을 학습하는 방법에 대해 논의합니다. 마지막으로 저자들은 inference에 대해 trained model을 사용하는 방법에 대해서 different decoding schemes와 iterative refinement procedure에 관해 논의함으로써 보여줍니다.

  Model Architecture

  MHA는 PARSeq에 확장되어 사용됩니다. 저자들은 MHA (q, k, v, m )를 표기하는데 여기서 , q, k, v는 각각 query, key, value를 나타냅니다.반면에 m은 optional attention mask를 의미하죠.

  PARSeq는 encoder-decoder architecture를 따릅니다. 이는 Figure 3에서 볼 수 있죠.

이는 sequence modeling tasks에서 흔히 사용되죠. encoder는 12개의 layers를 가지고 있고 decoder는 단 한개의 layer를 가지고 있습니다. deep-shallow configuration은 deliberate design choice인데 model의 전체 vomputational requirements를 최소화하죠. 성능에 미치는 영향은 물론 미미합니다.

  ViT Encoder

  Vision Transformer ( ViT )은 image에 Transformer를 적용한 것이죠. ViT layer는 하나의 MHA module을 포함하고 있고 self-attention을 사용합니다. encoder는 12개의 ViT layer인데 classification head가 없고 CLS token이 없죠. image는 WxHxC 이고 p_w x p_h patches로 나눠진뒤 각 patch를 flattening하고 patch embedding matrix을 사용해서 d_model dimensional tokens로 linearly하게 projecting 하여 tokenized되죠. equal dimension의 learned position embeddings는 tokens 에 더해지는데 이는 처음 ViT layer에서 처리되기 전에 더해지죠. standard ViT과 대조적으로, all ouput tokens z는 decoder의 input으로 사용됩니다.

  Visio-lingual Decoder

  decoder는 preLayerNorm으로써 같은 architeucture를 따릅니다. Transformer decoder는 attention heads의 수가 두배 많죠. ( nhead = d_model / 32 ). 3개의 input이 필요한데 position, context, 그리고 image tokens와 optional attention mask가 필요합니다.

  아래의 식은 LaterNorm과 Dropout을 생략했습니다. 처음 MHA module은 context-position attention에 사용됩니다.

여기서 T는 context length이고, p는 position tokens입니다. c는 context embeddins인데 positional information을 가지고 있습니다. 그리고 m은 optional attention mask입니다. special delimiter tokens ( [B] or [E] )의 사용은 total sequence lenth를 T+1로 증가시킵니다.

  position tokens는 예측된 target position을 encode합니다. 각각은 ouput에 specific postion에 직접 대응됩니다. parameterization은 two-stream attention의 query steam과 유사합니다. 이는 context를 target position으로부터 분리하고 model이 PLM으로부터 학습 가능하도록 만듭니다. position tokens없이 ( 만약 context tokens이 queries로 사용되는 standard Transfomer 와 같다면 ) model은 PLM으로부터 그 어떤 의미있는 정보도 학습하지 못할 것이고 standard AR model과 같이 단순하게 작동할 겁니다.

  supplied mask는 model이 사용하는 방식에 따라 달라집니다. training 동안, masks는 random permutations로부터 생성되고 inference에서는 standard left-to-right lookahead mask ( AR decoding ), cloze mask ( iterative refinement ) 나 no mask ( NAR decoding ) 이 생성됩니다.

  두 번째 MHA는 image-position attention으로 사용됩니다.

여기서는 attention mask가 사용되지 않습니다. last decoder hidden state는 MLP의 output 이고 식으로는 아래와 같죠

마지

  마지막으로, output logits는 y = linear ( h_dec ) ( R ^(T+1)(S+1) )인데 여기서 S는 character set의 size이고 training에 사용됩니다. additional character는 [E] token에 해당합니다. 요약하면, attention mask m이 주어지면, decoder는 아래의 수식이 되죠.

  Permutation Language Modeling

  image x가 주어지면, 저자들은 model parametes theta들의 set하에 text label y의 liklihood를 최대화하길 원하죠. AR modeling에서, likelihood는 canonical or dering 에 따라 chain rule을 사용해서 factorized됩니다. 이는 model log p 를 결과로 내놓죠. 그러나, Transformers 는 모든 tokens들을 병렬적으로 처리하고 이는 ouput tokens가 모든 input tokens에 대해 access 가능하게 하거나 conditionally-dependent 하게 하죠. valid AR model을 위해, past tokens는 future tokens에서 접근할 수 없습니다. AR property는 attention masks를 사용하는 Transformers에 적용됩니다. 예를들어 3 개의 element sequence y에대한 standard AR model은 Table 1a에서 보여지는 attention mask를 가질 겁니다.

  PLM을 활용한 key idea는 모든 T! factorizations의 likelihood를 학습하는 겁니다.

  여기서 Z_T는 index sequence의 가능한 모든 permutations set을 표기합니다. z_t 와 z_<t는 t-th element 와 처음 t-1 elements를 표기합니다. 각 permutation z는 factorization의 likelihood에 해당하는 ordering을 sepcifies합니다.

  Transformers에서 PLM을 구현하기위해, 저자들은 text label y를 실제 permute할 필요가 없습니다. 대신, z에 의해 specified된 ordering을 enforce하는 attention mask를 만듭니다. 더 구체적인 예시는, Table 1에서 볼수 있습니다. Table 1은 three-element sequence의 4개의 다른 permutations에 대한 attention mask에 대한 내용이죠.

input과 output sequences의 order는 constant로 유지되는 반면 , 네 가지 모두 주어진 permutation이나 factorization order에 의해 지정된 distinct AR models에 해당합니다. 이 점을 염두에 두고 보면, standard AR training은 one permutation만이 사용된 PLM의 special case로 볼 수 있죠.

  실제로, 저자들은 모든 T! factorization에 대해 학습할 수 없는데 computational requirements가 exponential 하게 increase하기 때문이죠. 타협안으로, 저자들은 가능한 T! permutations의 K만을 사용합니다. uniformly하게 smapling하는 대신에, K permutation을 특별하게 선택하죠. 저자들은 K/2 permutation paris를 사용합니다. 앞의 절반은 left-to-right permutation과 K/2-1 을 randomly하게 sampled 한 permutations로 구성합니다. 나머지 절반은 처음 구성된 permutation을 flip하여 구성하죠. 저자들은 이런 sampling procedure이 더 stable한 training에 결과가 된다는 것을 발견했습니다.

  K permutations나 ground truth label hat y 를 가지고, full training loss는 각 permutation-derived attention mask m_k에 대한 개별 cross-entropy losses의 평균이죠. 식은 아래와 같구요

 

 

  여기서 y_k = Dec ( z, p, c, m )이고 padding tokens은 computation에서 무시됩니다.

Decoding Schemes

  correct parameterization 과 결합된 PLM training은 PARSeq가 다양한 decoding schemes를 사용가능하게 해줍니다. 이 논문에서, 저자들은 2 개의 대조되는 schemes만을 사용합니다. 구체적으로 저자들은 monotonic AR과 NAR decoding의 사용에 대해 설명합니다

  Autoregressive( AR )

  AR decoding은 각 itertaion 당 하나의 new token을 생성합니다. left-to-right attention mask ( Table 2a )가 항상 사용되죠. 처음 iteration을 위해, context는 [B]로 set되죠. 그리고 가장 앞의 position query token p_1만이 사용됩니다. 다음 뒤따르는 itertion i 에 대해서는, position queries [p1, ... , pi ] 가 사용되죠. 반면 context는 이전 output의 set입니다.

  Non-autoregressive( NAR ) 

  NAR decoding은 all output tokens를 한번에 생성합니다. 모든 position queries가 사용되지만 attention mask는 사용됮 ㅣ 않습니다. context는 항상 [B]입니다

  Iterative refinement

  Iterative refinement는 initial decoding moethod와 관계없이 수행될 수 있습니다. 이전 output은 현재 iteration에 대해 AR decoding과 유사하게 context의 역할을 합니다. 그러나 모든 position queries가 사용됩니다. cloze attention mask가 사용됩니다. all-one mask를 활용해 시작되고 matching token positions를 masking out 합니다.

 

여기까지 하겠습니다. 요즘 정신이 좀 없네요. 일이 그냥 미친듯이 많네요 ㅎㅎ

728x90
반응형