728x90
전체 글
544

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

[PEP8] Comments

comments는 완벽한 문장이어야한다. 첫 번째 문자는 대문자 각 문장은 마침표로 끝난다. 여러 문장으로 작성할 때는 마침표 뒤에 공백을 두 개 사용 (마지막 문장 제외) 웬만하면 영어로 작성 Block Comments 뒤에 작성되는 코드에 해당하는 comments이고 들여쓰기도 해당 코드와 동일하게 적용 #과 공백으로 시작 ('# ') Inline Comments inline comments는 많이 사용하지 말 것 statement와 같은 줄에 사용 statement와 두 개 이상의 공백으로 분리되며 #과 공백으로 시작 해당 statement가 주석없이도 분명하다면 inline comments는 불필요 x = x + 1 # Increment x 때때로 satement가 다른 의미를 가지고 있다면 다음..

Python 2022.02.26

[PEP8] When to use trailing commas

하나의 요소로된 튜플을 만들때 마지막에 comma를 추가하고 괄호로 감싸는 것을 추천 # Correct: FILES = ('setup.cfg',) # Wrong: FILES = 'setup.cfg', trailing comma는 나중에 list, arguments, imported items 등 확장될 것으로 예상될 때 유용 각 line에 trailing comma를 추가하고 괄호는 다음 줄에 닫는다. trailing comma와 같은 줄에 괄호를 닫는 것은 의미가 없음 # Correct: FILES = [ 'setup.cfg', 'tox.ini', ] initialize(FILES, error=True, ) # Wrong: FILES = ['setup.cfg', 'tox.ini',] initialize..

Python 2022.02.25

[Pytorch] How to use pytorch hooks?

What is hook? 다음 링크에 들어가면 hook은 패키지화된 코드에서 프로그래머가 customized code를 삽입할 수 있도록 해주는 하나의 인터페이스 또는 하나의 장소라고 한다. 예를 들어 프로그램의 실행 로직을 분석하거나 추가적인 기능을 제공하고 싶을 때 사용한다고 한다. What is hook? - Definition from WhatIs.com whatis.techtarget.com 다음 코드에서 Package class 내에 있는 self.hooks가 바로 위에서 설명한 hook이다. def program(x): print('program processing!') return x + 3 class Package(object): def __init__(self): self.program..

Temp 2022.02.20

[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