728x90
Deep Learning
52

[Paper] Tokens-to-Token ViT

Introduction ViT가 ImageNet과 같은 midsze dataset (양이 중간 크기인 데이터셋)에서 CNN보다 떨어지는 이유를 다음 두 가지로 꼽았다. 간단한 토큰화 (hard하게 patch split하는 것을 말함)는 중요한 local structure를 모델링할 수 없고 train 효율이 떨어진다. 따라서 더 많은 학습 샘플들을 필요로 한다. ViT의 attention bachbone은 고정된 연산량과 제한된 학습 샘플은 제한된 feature들로 이어진다. 위 가설을 검증하기위해 ViT-L/16과 ResNet50에서 학습된 feature들의 차이를 다음과 같이 시각화하였다. (1) ResNet (2) ViT (3) T2T-ViT 내부 그림 ResNet과 T2T-ViT에서 녹색 박스를 ..

Deep Learning 2022.08.09

[Paper] Rethinking Attention with Performers

The Kernel Trick 우선 데이터 $x \in \mathbb{R}^2$가 다음과 같이 있다고 해보자! 데이터가 linear하게 있지 않는 것을 확인 할 수 있는데 이것은 logistic regression이나 linear support vector machine (SVM)을 학습시킬 수 없다. 그렇다면 어떻게 해야 학습 시킬 수 있을까? 바로 더 높은 차원(2차원 -> 3차원)에 데이터를 매핑시키는 것이다. 이때 어떤 $\varphi$라는 function을 사용해서! $\varphi$를 차수가 2인 polynomial kernel이라고 할 수 있다. 만약 위 데이터에 적용한다면 다음과 같이 시각화 할 수 있다. 그럼 이제 linear SVM를 학습할 수 있는 수식을 작성할 수 있다. 수식 전체를..

Deep Learning 2022.08.09

[Optimization] APEX ASP (Automatic SParsity)

ASP는 모델의 학습, 추론 속도를 높이고 메모리 효율과 accuracy를 유지하는 것이 목적, 이를 위해 weight를 saprse하게 연산할 수 있게 하는 mask를 구하는 방식이다. NVIDIA ampere gpu 에서는 2:4 fine grained sparsity가 지원되어있다. 이 방식으로 pruning을 지원하다. 2:4 fine grained sparsity는 아래 그림을 확인하면 간단하게 이해할 수 있다. 2:4 fine grained sparsity는 위 그림과 같이 1D 또는 2D (2D도 가능하다)에서 작은 값 2개를 탈락시키는 방식으로 동작한다. 이렇게 생선된 마스크를 사용해서 weight는 이렇게 pruned 되어있는 살이있는 value들만 모아서 아래 그림의 오른쪽 Sparse..

Deep Learning 2022.07.30

The Positional Encoding

sentence에 각 word에 대한 position을 위해 어떤 정보를 추가하는 것을 "positional encoding"이라 부른다. 첫 번째 아이디어로 첫 번째 word를 0, 마지막 time step을 1을 뜻하는 [0, 1] 범위로 각 time step에 숫자를 지정하는 것이 있을 수 있다. 이런 아이디어에는 특정 range 안에 얼마나 많은 word가 있는지 파악할 수 없다는 것이다. 또 다른 아이디어로 각 time step에 숫자를 선형적으로 배치하는 것이다. 첫 번째 word는 "1"이 주어지고 두 번째 word는 "2"가 주어지는 방식이다. 이 방법의 문제는 value가 너무 큰 값을 가지게 될 뿐만아니라 model이 training에서보다 더 긴 sentence에 직면할 수 있다는 것..

Deep Learning 2022.03.09

[Paper] Deep Structured Output Learning For Unconstrained Text Recognition

Abstract natural image에서 word의 unconstrained recognition을 위해 적합한 representation을 개발, 여기서 unconstrained의 의미는 lexicon이 고정되어 있지 않으며 word가 알 수 없는 길이를 가지는 것을 의미한다. CRF(conditional random field) graphical model을 포함하고 전체 word image를 단일 입력으로 사용하는 CNN 기반 architecture를 제안 결과 모델은 character prediction 보다 standard real-world text recognition에 더 정확한 시스템이다. Introduction 고정된 dictionary 없이 정확하게 수행하는 model에 초점을 맞..

Deep Learning 2022.03.07

[Paper] Recursive Recurrent Nets with Attention Modeling for OCR in the Wild

Abstract attention modeling(R2AM)을 사용한 recursive RNN을 제안하며 다음과 같은 이점을 가지고 있다. (1) parametrically 효율적이고 효과적인 이미지 feature extraction을 가능하게하는 recursive CNN을 사용 (2) N-gram의 사용을 피할 수 있는 RNN에 구현된 학습된 character-level language model (3) soft-attention mechanism을 사용하여 model이 조직화된 방식으로 image feature를 선택적으로 활용될 수 있으며 standard backpropagation framework 내에서 end-to-end 학습을 수행 할 수 있다. 1. Introduction unconstai..

Deep Learning 2022.03.07

[Paper] Read Like Humans: Autonomous, Bidirectional and Iterative Language Modeling for Scene Text Recognition

Abstract 본 논문에서는 다음과 같은 언어 모델의 한계에 대한 주장을 제시한다. 1) 함축적인 언어 모델링 2) 단일 방향의 feature 표현 3) noise input으로의 언어 모델 scene text recognition을 위한 자율적이고 양방향이며 반복적인 ABINet을 제안한다. 1) 명시적인 언어 모델링을 수행하기위해 언어 모델과 시각 모델 사이의 gradient 흐름을 막는다. 2) 언어 모델로써 BCN(bidirectional cloze network)는 양방향 feature 표현을 기반으로 한다. 3) noise input의 영향을 완화할 수 있는 언어 모델에 대한 반복적인 수정 실행 방법을 제안한다. 반복적인 예측의 앙상블을 기반으로 라벨링되지않은 이미지를 효율적으로 학습할 수 ..

Deep Learning 2022.03.04

[Paper] CDistNet: Perceiving Multi-Domain Character Distance for Robust Text Recognition

Abstract attention 기반의 encoder-decoder 프레임워크가 scene text recognition에서 인기가 있는 이유는 시각적, 의미적 domain으로부터 recognition clues를 통합하는데 있어서 우수하기 때문이다. 하지만 최근 연구에서 두 clues는 특이한 문자 모양과 같은 어려운 문자에서는 서로 잘 맞지 않아 어긋날 것이고 문제를 완화하기위해 위치와 같은 제약 사항을 도입한다. 어떤 성공에도 불구하고 내용이 없는 positional embedding은 의미있는 이미지 영역과 관련이 거의 없다. 이 논문에서는 positional encoding과 관련된 시각과 의미를 수립한 MDCDP(Multi-Domain Character Distance Perception)이..

Deep Learning 2022.02.28

[CV] Extraction Saliency Map

Model은 이전 VGG11을 사용 Computation gradient score def compute_gradient_score(score, image): """ score: model의 output으로부터 얻은 maximum score """ s_y = score s_y.backward() # backpropagation grad = image.grad # computed gradient return grad[0] Visualize saliency map 가장 점수가 높은 클래스에 대한 gradient를 backpropagation을 통해 계산 Variable(requires_grad=True)로 input된 image는 backpropagation으로 saliency한 부분들을 extraction..

Deep Learning 2022.02.18
728x90