상세 컨텐츠

본문 제목

YOLOR (YOLO Representation)

Coding/Image

by linguana 2021. 7. 7. 17:46

본문

초 록: (볼드체, 밑줄, 글자색은 역자가 임의적으로 반영하였음)

  사람들은 시각, 청각, 촉각과 더불어 과거 경험을 통해 세상을 "이해"한다. 인간의 경험은 일반적인 학습(우리는 이것을 명시적 지식이라고 부르겠다)을 통해 얻어지거나, 무의식적으로 얻어진다(우리는 이것을 암묵적 지식이라고 부르겠다). 이렇게 일반적인 학습 혹은 무의식적으로 얻어진 경험은 인코딩1되어 뇌에 저장될 것이다. 인간은 이 풍부한 경험을 거대한 데이터베이스로 사용하여 자료를 효과적으로 처리할 수 있다 - 심지어 그것을 이전에 보지 않았을 때도 말이다. 본 논문에서 우리는 - 인간의 뇌가 일반적인 학습과 더불어 무의식적 학습으로부터 지식을 학습할 수 있는 것과 같이 - 암묵적 지식과 명시적 지식을 함께 인코딩하는 통합된 신경망을 제시한다. 이 통합된 신경망은 다양한 과제를 동시에 수행하도록 통합된 표현(representation)을 생성할 수 있다. 우리는 합성곱 신경망에 커널 공간 정렬, 예측 개선, 다중과제 학습2을 적용시켰다. 실험 결과는 암묵적 지식이 신경망에 도입되었을 때 모든 과제에 대한 성능에 도움이 되었음을 보여준다. 우리는 나아가 우리가 제안한 통합된 신경망으로부터 학습된 암묵적 표현을 분석하였는데 이는 각기 다른 과제들의 물리적 의미를 잡아내는 데 뛰어난 능력을 보여주었다. 본 논문의 소스코드는 다음 링크에서 찾아볼 수 있다: http://github.com/WongKinYiu/yolor 

1(역자 주): 원문에서 encode라는 단어인데, "부호화"라는 단어보다 음역이 더 낫다는 판단이다.

2 순서대로 kernel space alignment, perdiction refinement, multi-task learning


1. 들어가며

  <그림 1>에서 보여주듯이, 인간은 똑같은 데이터에 대해서 다양한 각도에서 분석이 가능하다. 하지만 훈련된 합성곱 신경망(CNN) 모델은 종종 단일한 목적만을 만족시킨다. 일반적으로 말해서, 훈련된 CNN으로부터 추출할 수 있는 특징은 종종 다른 종류의 문제들에 적응하는 데 매우 조약하다. 위와 같은 문제의 주된 원인은 우리가 특징을 뉴론으로부터만 추출하기 때문인데, 이는 CNN에 풍부한 암묵적 지식은 활용하지 않는 것이다. 실제 인간의 뇌가 작동할 때, 앞서 언급한 암묵적 지식은 뇌로 하여금 다양한 과제를 수행할 수 있도록 돕는다.

  암묵적 지식이란 무의식적 상태에서 배운 지식이다. 하지만, 암묵적 지식이 어떻게 작동하고 어떻게 암묵적 지식을 얻는 지에 대한 체계적인 정의는 없었다. 신경망의 일반적인 정의에 따르면, 얕은 층으로부터 얻은 특징들은 종종 명시적 지식이라 불리고, 깊은 층으로부터 얻은 특징은 암묵적 지식이라고 불린다. 본 논문에서 우리는 관측과 직접적으로 대응하는 지식을 명시적 지식이라고 부르겠다. 모델에 암묵적으로 존재하지만 관측과 상관이 없는 지식을 우리는 암묵적 지식이라고 부르겠다.

  우리는 암묵적 지식과 명시적 지식을 한 데로 묶는 통합된 신경망을 제시한다. 또한 우리는 학습된 모델이 일반적인 표현을 가지고 있도록 하여 이 일반적인 표현의 하위 표현(sub-representations)이 다양한 과제에 적합하도록 하였다. <그림 2.(c)>는 우리가 제안한 통합된 신경망의 구조를 보여준다.

  위와 같은 통합된 신경망은 압축 센싱1과 딥러닝을 합쳐 구성하였는데, 이에 대한 주요한 이론적 기반은 우리의 기존 연구에서 찾을 수 있다 [16, 17, 18]. [16]에서 우리는 확장된 딕셔너리2를 통한 잔차 오류를 재구성3하는 것의 효율성을 입증하였다. [17, 18]에서 우리는 CNN의 특징 맵을 재구성하여 모델이 더욱 로버스트해지도록 희소 코딩4을 사용하였다. 본 연구의 기여는 다음과 같이 요약할 수 있다:

  1. 우리는 다양한 과제를 달성할 수 있는 통합된 신경망을 제시한다. 이 신경망은 암묵적 지식과 명식적 지식을 통합하여 일반적인 표현을 학습하는데, 이 일반적 표현을 사용하면 다양한 과제를 완성시킬 수 있을 것이다. 제안된 신경망은 매우 작은 양의 추가적 비용(1/1000보다 작은 양의 파라미터와 연산량)으로도 모델의 성능을 효과적으로 향상시킨다.
  2. 우리는 암묵적 지식 학습 과정에 커널 공간 정렬, 예측 개선, 다중 과제 학습을 도입하였고, 그 효과성을 입증하였다.
  3. 우리는 암묵적 지식을 모델링할 수 있는 방식으로 벡터, 신경망, 행렬 분해5를 각각 논의하였고, 그 효과성을 입증하였다.
  4. 우리는 우리가 제안한 학습된 암묵적 표현이 특정한 물리적 특성과 정확히 대응하는 것을 확인하였고, 우리는 이를 시각적으로 제시하였다. 우리는 또한 만약 연산자가 한 물체의 물리적 의미와 일치한다면 해당 연산자가 암묵적 지식과 명시적 지식을 통합하는 데 사용될 수 있음을 확인하였는데, 이는 승수 효과6를 가진다.
  5. 우리가 제안한 모델은 최첨단의 방식과 결합하여 객체 탐지에 대해 Scaled-YOLOv4-P7 [15]와 견줄만한 성능을 달성하였고, 추론 속도는 88% 만큼 증가하였다.


1 compresssive sensing 2 extended dictionary 3 reconstrucing residual error 4 sparse coding 5 matrix factorization 6multiplier effect


2. 관련 연구

  우리는 본 연구 주제와 관련된 문헌을 조사하였다. 이 문헌 조사는 3 부분으로 나뉜다. (1) 명시적 심층 학습1: 이 부분은 특징을 자동적으로 조정하거나 입력 데이터에 기반하여 선택하는 몇가지의 방식에 대해서 다룬다. (2) 암묵적 심층 학습2: 이 부분은 암묵적 심층 지식 학습과 암묵적 미분3과 관련된 문헌을 다룬다. (3) 지식 모델링: 이 부분은 암묵적 지식과 명시적 지식을 통합할 수 있는 몇 가지 방법들을 나열할 것이다.

1 explicit deep learning 2 implicit deep learning 3 implicit differential derivative

 

2.1. 명시적 심층 학습

  명시적 심층 학습은 다음과 같은 방식으로 수행될 수 있다. 그 중에서, 트랜스포머1[14, 5, 20]가 있는데 이는 주로 쿼리, 키, 값을 이용하여 셀프 어텐션을 얻는다. 비지역적 신경망2[21, 4, 24]은 어텐션을 얻을 수 있는 또 다른 방식인데, 이는 주로 시간과 공간에 대해 쌍으로 연결된 어텐션을 추출한다. 또 자주 쓰이는 명시적 심층 학습 방법[7, 25]은 입력 데이터에 기반하여 자동으로 적절한 커널을 선택하는 방식이다.

1 Transformer 2 non-local neural network

 

2.2 암묵적 심층 학습

  암묵적 심층 학습의 범주에 해당하는 방법은 주로 암묵적 뉴럴 표현1[11]과 심층 균형 모델2[2, 3, 19]이다. 전자는 주로 이산적 입력들 간의 파라미터화된 연속적 매핑 표현을 얻어 다양한 과제를 수행하기 위함이고, 후자는 암묵적 학습을 잔차 형태의 신경망으로 변환하여 균형점 연산을 수행하기 위함이다.

1 implicit neural representations 2 deep equilibrium models

  

2.3. 지식 모델링

  지식 모델링의 범주에 해당하는 방법에서 희소 표현1[1, 23]과 메모리 신경망2[22, 12]이 주로 포함된다. 전자는 모델링을 수행하기 위해 완성되었거나 학습된 딕셔너리 대신 전형적이고 사전에 정의된 딕셔너리를 사용하는 한편, 후자는 다양한 형태의 임베딩을 합쳐 메모리를 형성하고 메모리가 동적으로 추가되거나 변할 수 있도록 하였다.

1 sparse representation 2 memory networks


3. 암묵적 지식은 어떻게 작동하는가?

  본 연구의 주 목적은 암묵적 지식을 효과적으로 학습할 수 있는 통합된 신경망을 만드는 것이기 때문에 먼저 우리는 암묵적 지식을 어떻게 학습하는지에 대해 집중할 것이고 이후 어떻게 삐르게 추론할 것인지 다룰 것이다. 암묵적 표현 z_i는 관측과 무관하기 때문에 우리는 이것을 하나의 상수 텐서 Z = {z_1, z_2, ..., z_k}의 집합으로 생각할 수 있다. 이 섹션에서 우리는 상수 텐서로서의 암묵적 지식이 어떻게 다양한 과제에 적용될 수 있는지에 대해서 소개하도록 하겠다.

 

3.1. 다중 공간 축소

  우리는 좋은 표현이라면 그 표현이 속한 공간에서 다양한 공간의 적합한 투영을 찾울 수 있고, 잇따르는 차후 과제를 성공할 수 있도록 촉진시킨다고 믿는다. 예를 들어, <그림 3>에 보여지듯, 만약 목표 카테고리가 투영 공간에서 초평면에 의해 성공적으로 분류될 수 있다면 그것이 가장 좋은 결과일 것이다. 위와 같은 예시에서, 우리는 투영 벡터와 암묵적 표현의 내적을 취해 다중 공간의 차원을 축소하는 목적을 달성할 수 있고 효과적으로 다양한 과제를 달성할 수 있다.

 

3.2. 커널 공간 정렬

  다중 과제와 다중 헤드 신경망에서, 커널 공간 비정렬은 흔한 문제이다. <그림 4.(a)>는 그런 커널 공간 미정렬의 예시를 보여준다. 이 문제를 대처하기 위해서 우리는 (<그림 4.(b)>에서 볼 수 있듯이) 커널 공간이 평행이동, 회전, 비율 조정되어 신경망의 각 출력 커널 공간에 정렬할 수 있도록 출력 특성과 암묵적 표현에 덧셈과 곱셈을 수행할 수 있다. 위와 같은 종류의 연산은 다른 영역에서도 폭넓게 확용될 수 있다. 가령 특징 피라미드 신경망(FPN)[8]]에서 큰 객체와 작은 객체의 특징 정렬이나, 큰 모델과 작은 모델의 통합을 위한 지식 증류의 사용이나, 제로샷 도메인 전이의 처리나, 기타 문제들이 있다.

 

3.3. 더 많은 함수들

  각기 다른 과제들에 적용한 함수들에 더해, 암묵적 지식은 또한 더 많은 함수로 확장될 수 있다. <그림 5>에 보여지듯, 덧셈을 도입함으로서 우리는 신경망이 중앙 좌표의 오프셋을 예측하게 할 수 있다. 또한 곱셍을 도입하여 (앵커에 기반한 객체 탐지기에서 자주 필요로 하는) 앵커의 하이퍼파라미터를 자동적으로 찾을 수 있게 만들 수 있다. 게다가, 내적과 연접1은 각각 대중 과제 특징 선택과 차후 연산을 위해 사전 조건을 설정하기 위해 사용될 수 있다.

1concatenate


4. 본 연구의 통합된 신경망 내에서 암묵적 지식
  이 섹션에서 우리는 전통적인 신경망의 목적 함수와 본 논문에서 제안하는 통합된 신경망의 목적 함수를 비교하고, 암묵적 지식을 다목적 신경망에 도입하는 것이 왜 중요한지 설명할 것이다. 동시에 우리는 본 연구에서 사용된 방법에 대해 상세히 기술할 것이다.

 

4.1. 암묵적 지식의 형성
전통적인 신경망:
  전통적인 신경망 훈련을 위한 목적 함수는 다음 (1)과 같은 수식으로 표현할 수 있다:

이 때, x는 관측치이고, θ는 신경망 파라미터의 집합이고, e는 오차항이고, y는 해당 과제의 목표이다.

  전통적인 신경망의 훈련 과정에선 일반적으로 f_θ(x)를 목표에 최대한 근접하게 하기 위해 e를 최소화할 것이다. <그림 6.(a)>에서 묘사한 것처럼, 이는 우리가 같은 목표로 지정한 각기 다른 관측치가 f_θ로 얻은 하위 공간에서 하나의 동일한 지점이라고 기대하는 것임을 의미한다. 다른 말로, 우리가 예상하는 해 공간1 현재 과제 t_i에서만 분별적이고, t_i 이외의 다양한 잠재적 과제 (T t_i, T = {t_1, t_2, ..., t_n}) 에 대해선 불변2하다는 의미다.

  일반적 목적으로 사용되는 신경망에 대해서, 우리는 신경망에서 얻은 표현이 T에 속하는 모든 과제들에 대해서 수행할 수 있길 바란다. 그러므로, <그림 6.(b)>에서 보여진 것처럼, 우리는 이 표현이 다중 공간에서 동시에 각 과제의 해를 찾을 수 있도록 e를 느슨하게 하여야 한다. 그러나, 위의 요구사항은 t_i의 해를 찾기 위해 one-hot 벡터의 최댓값이나 유클리드 거리의 임계점 따위의 하찮은 수학적 방법을 사용하는 것을 허락하지 않는다. <그림 6.(c)>에 보여진 듯이, 우리는 문제를 해결하기 위해서 반드시 오차항 e가 다양한 과제의 해를 찾도록 모델링해야 한다.

1 solution space 2 invariant

 

통합된 신경망:

  본 논문에서 제안하는 통합된 신경망을 훈련하기 위해서 우리는 오차항을 모델링하기 위해 명시적 지식과 암묵적 지식을 함께 사용하고, 이후 오차항을 다중 목적 신경망의 훈련 과정을 지도하기위해 사용한다. 훈련에 대응하는 수식은 다음과 같다:

이 때, e_ex와 e_im은 각각 관측치 x와 잠재 코드1 z에 대한 명시적 오차와 암묵적 오차의 연산이다. 여기서 g_φ는 명시적 지식과 암묵적 지식으로부터 얻은 정보를 통합하거나 선택하는 기능을 수행하는 특정 과제에 대한 연산이다.

1latent code  

 


Explicit Deep Learning

(1) DETr
(2) Non-Local Networks
(3) Kernel Selection

used Scaled YOLOv4 CSP

 

Implicit Deep Learning

(1) Manifold Space Reduction
(2) Kernel Space Alignment
(3) Offset, Anchor refinement, Feature selection

 

 


Reference

[1] 2105.04206.pdf (arxiv.org) (Original paper link)

 

작업 log

2021/ 07/ 06: 초록 번역
2021/ 07/ 07: introduction 번역
2021/ 07/ 08: 2.2까지 번역
2021/ 07/ 09: 3.3까지 번역
2021/ 07/ 14: 4.1의 절반까지 번역

'Coding > Image' 카테고리의 다른 글

word image generator  (0) 2021.07.04
cv2 Perspective Transformation  (0) 2021.06.29
KakaoBrain Pororo OCR  (0) 2021.06.23
Custom Text Image Generator  (0) 2021.06.22
PIL rotate  (0) 2021.06.22

관련글 더보기