YOLOv9 논문 리뷰

정예슬·2024년 3월 12일
0

논문 리딩

목록 보기
18/19
post-thumbnail

지난 달 Arxiv에 YOLOv9가 공개되었다는 소식을 듣고 오랜만에 paper review를 올리려고 한다. 이것저것 보다보니 늦어졌는데 아무튼..

YOLOv9의 github 및 논문 링크는 다음과 같다. [YOLOv9 github], [YOLOv9 paper]

paper의 제목은 YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information(2024) 이다.


Abstract

오늘날의 딥러닝 방법은 모델의 예측 결과가 ground truth와 유사하도록 가장 적절한 objective function을 설계하는 것에 집중되어 있다. 더불어, 예측하는 데 충분한 양의 정보 획득을 촉진하는 적절한 구조로 설계되어야 한다. 현존하는 방법들은 입력 데이터가 layer-by-layer feature extraction과 spatial transformation을 거치고 나면, 막대한 양의 정보가 손실된다는 사실을 경시한다.

본 논문은 이러한 deep network를 거칠 때 발생하는 데이터 손실, 즉 information bottleneckreversible functions에 대한 이슈를 다룬다. 본 논문에서는 programmable gradient information (PGI)의 개념을 도입하여,multiple objectives를 달성하기 위해 deep network에서 필요로 하는 다양한 변경점에 대해서 다루고자 한다. PGI는 완전한(complete) input information을 제공하여 target task가 objective function을 연산할 수 있도록 하며, 따라서 네트워크 가중치를 업데이트하기 위한 reliable gradient information을 얻을 수 있다.

더불어, Generalized Efficient Layer Aggregation Network(GELAN)이라는 gradient path planning에 기반한 새로운 경량 네트워크 구조를 제안한다. GELAN의 구조는 PGI가 경량 모델에서 훨씬 좋은 결과를 출력할 수 있도록 한다. 본 논문에서 제안한 GELAN과 PGI는 MS-COCO 기반 object detection task에서 검증되었는데, GELAN은 전통적인 컨볼루션 연산자만을 사용하여 depth-wise convolution 기반으로 개발된 SOTA 메소드보다 더 좋은 parameter utilization 결과를 보였다.

PGI는 경량 모델부터 거대 모델까지 활용될 수 있으며, complete information을 얻기 위해 사용되며, 따라서 scratch models이 대용량 데이터셋을 사용하여 사전학습된 SOTA model보다 더 좋은 결과를 얻을 수 있다. 비교 결과는 아래 Figure 1과 같다.

  • (Figure 1)
    MS-COCO dataset의 real-time object detection 결과를 비교한 그래프. GELANPGI-based object detection의 성능은 선행하는 모든 train-from-scratch 메소드를 능가한다. 또한 accuracy 측면에서는 대용량 데이터셋(ImageNet)으로 사전학습된 RT DETR을 능가하고, parameter utilization 측면에서는 depth-wise convolution-based design YOLO MS을 능가한다.

1. Introduction

DL-based 모델들은 컴퓨터 비전, 자연어 처리, 음성인식과 같은 다양한 분야에서 이전의 인공 지능 시스템보다 훨씬 좋은 성능을 입증해 왔다. 최근 DL 분야의 연구자들은 CNNs, Transformers, Perceivers, Mambas와 같은 더욱 강력한 system architectures와 learning methods를 개발하는 데 주력해 왔다. 더불어, 일부 연구자들은 loss function, label assignment, auxiliary supervision과 같은 더욱 general한 objective functions을 개발하려 시도해 왔다. 이러한 연구들은 모두 input과 target task를 정확히 mapping하려고 했으나, 대부분의 선행 접근법들은 입력 데이터가 feedforward process를 거치는 동안 무시할수 없는 양의 정보 손실을 겪는다는 것을 간과한다. 이러한 정보 손실은 편향된(biased) gradient flows를 야기한다.

위 문제점은 deep networks에서 target 과 input간의 부정확한 연결을 가져올 수 있으며, 결국 훈련 모델이 부정확한 예측을 하게 된다. deep network에서, feedforward process 도중의 입력 데이터 정보 손실은 흔히 information bottleneck이라고 알려져 있다. information bottleneck에 대한 개략도는 아래 Figure 2와 같다.

(Figure 2)
다양한 네트워크 구조들의 random initial weight output feature maps에 대한 시각화 결과이다. (a)는 입력 이미지, (b) PlainNet, (c) ResNet, (e)는 본 논문에서 제안한 GELAN이다. 이를 통해 우리는 다양한 네트워크 구조에서 objective function에 전달되는 정보의 손실 정도가 각자 다르며, GELAN의 구조는 거의 완전한 정보를 보존하고 objective function을 계산에 가장 reliable한 gradient information을 제공할 수 있다는 것을 알 수 있다.

현재 이러한 information bottleneck 현상을 완화할 수 있는 방법은 다음과 같다 :

  • (1) reversible architecture의 사용
    : 이 방법은 반복되는 입력 데이터를 주로 사용하고, 입력 데이터의 정보를 명확하게 보존한다.

  • (2) masked modeling의 사용
    : 이 방법은 주로 reconstruction loss를 사용하며, 추출된 features를 최대화하고 입력 정보를 보존하기 위하여 함축적인 방법을 사용한다.

  • (3) deep supervision concept 도입
    : 중요한 정보는 더 깊은 레이어에 전달되도록 하기 위해서, 많이 중요하지 않은 shallow features를 사용하여 features와 targets의 mapping을 먼저 구축한다.

그러나, 이러한 방법들은 훈련 및 추론 단계에서 몇가지 단점이 있다.

예를 들면, (1) reversible architecture는 반복적으로 feed된 input data를 결합하기 위하여 additional layers를 필요로 하는데, 이는 inference cost를 크게 증가시킨다. 더불어, input data layer부터 output layer는 지나치게 deep한 path를 가질 수 없기 때문에, 이러한 한계점은 훈련 프로세스 도중에 고차원의 semantic information을 모델링을 어렵게 만든다.

(2) masked modeling의 경우, reconstruction loss는 이따금씩 target loss와 충돌한다. 또한, 대부분의 mask 메커니즘은 부정확한 데이터 연결을 생성하기도 한다.

(3) deep supervision 메커니즘의 경우에는 오차 누적을 생성하고, shallow supervision이 훈련 프로세스 중에 정보를 손실하게 되면, 이후의 레이어가 필요한 정보를 되찾는 것이 불가능해진다. 이러한 현상은 어려운 태스크를 다루거나, 작은 모델에서 더 도드라진다.

위에서 언급된 문제점들을 해결하기 위해서, 본 논문에서는 programmable gradient information(PGI)라는 새로운 개념을 제시한다. 이러한 개념은 auxiliary reversible branch를 통해 reliable gradient를 생성하고, 따라서 deep features가 target task를 수행할 때 핵심 특성을 계속 보존할 수 있도록 하는 것이다.

auxiliary reversible branch 설계는 multi-path features를 통합하는 전통적인 deep supervision process에서 발생할 수 있는 semantic loss를 피할 수 있다. 즉, 본 논문에서는 다양한 semantic levels에서 gradient information propagation을 수행하고, 이를 통해 최적의 훈련 결과를 얻는다. PGI의 reversible architecture는 auxiliary branch로 설계되고, 따라서 부가적인 cost가 발생하지 않는다. PGI는 target task에 적합한 loss function을 자유롭게 선택할 수 있으므로, mask modeling에서 발생하는 문제를 극복할 수 있다. PGI 메커니즘은 다양한 크기의 심층신경망에 적용될 수 있으며, 심층 신경망에만 적합한 deep supervision 메커니즘보다 더 general하다.

본 논문에서는 ELAN base의 generalized ELAN (GELAN)을 설계했다. GELAN은 파라미터의 수, 연산 복잡성, 정확도 및 추론 속도를 동시에 고려하여 설계되었고, 이러한 설계 방식은 사용자가 다양한 추론 장치에 적합한 연산 블록을 임의로 선택할 수 있도록 한다. 본 논문에서는 제안된 PGI와 GELAN의 결합을 통해 새로운 YOLO 시리즈를 설계했고, 그것이 바로 YOLOv9이다.

본 논문의 컨트리뷰션은 다음과 같다 :

(1) 현존하는 심층 신경망 구조를 reversible function의 관점에서 이론적으로 분석하고, 이러한 프로세스를 통해 이전에는 설명하기 어려웠던 많은 현상들에 대해서 설명한다. 또한, 이러한 분석을 기반으로 PGI와 auxiliary reversible branch를 설계하고 좋은 결과를 달성한다.

(2) 본 논문에서 설계한 PGI는 deep supervision이 아주 deep한 신경망 구조에서만 사용될 수 있었던 문제를 해결하고, 경량 구조들이 제대로 적용될 수 있도록 한다.

(3) 본 논문에서 설계한 GELAN은 전통적인 컨볼루션만을 사용하여 최근 가장 진보한 기술인 depth-wise convolution보다 더 높은 parameter usage를 기록하며, 가볍고, 빠르고, 정확함을 입증했다.

(4) 본 논문에서 제안된 PGI와 GELAN을 결합한 YOLOv9의 MS COCO dataset object detection 성능은 모든 측면에서 현존하는 real-time object detector들을 크게 능가한다.


1) Real-time Object Detectors

  • real-time object detector architectures
    • CSPNet (Cross Stage Partial Network)
      : YOLOv4, YOLOv5 등의 YOLO series 모델에서 사용되는 네트워크 아키텍쳐
      네트워크를 크게 두 단계(1. backbone, 2. neck)로 나눈다. backbone 네트워크는 강력한 특징 추출에 집중한다. neck 네트워크는 object detection에 집중한다.
    • ELAN (Efficient and Lightweight Anchor-Free Network)
      : YOLOv7에서 사용되는 object detection 알고리즘으로, 기존 anchor-based 알고리즘의 단점을 보완하고 효율성을 높이고자 함
      anchor box를 사용하지 않고, center-based prediction 방식을 사용하여 객체 중심 좌표와 크기를 직접 예측한다. 각 픽셀마다 객체가 존재할 확률을 나타내는 heatmap을 사용하여 객체 위치를 예측한다.
    • DETR(DEtection TRansformer)
      : 단일 Transformer 구조만 사용하여 객체 탐지 수행
      encoder에서 이미지 특성을 추출하고, self-attention mechanism을 통해 상호 연관성을 학습한다. decoder에서 각 객체를 예측한다. Transformer의 병렬 처리 특성으로 빠른 추론 속도를 제공한다.

현재 주류인 real-time object detectors는 명불허전 YOLO series이고, 대부분의 YOLO 시리즈 모델들은 CSPNet 또는 ELAN, 그리고 그 변형들을 main computing units으로 사용한다. feature integration 방면에서, 종종 improved PAN 이나 FPN이 tool로 사용되고, improved YOLOv3 head 또는 FCOS head가 prediction head로 사용된다.

최근 RT DETR과 같은 DETR(DEtection TRansformer)에 기반한 real-time object detector들이 일부 제안되기도 했다. 그러나, DETR 시리즈는 상응하는 도메인 사전학습 모델 없이 새로운 도메인에 적용하는 것이 극도로 어렵기 때문에, 아직까지는 YOLO series가 가장 널리 사용되는 real-time object detector이다.

본 논문에서는 GELANPGI를 사용하여 architecture와 훈련 프로세스를 향상시키고, 이러한 접근법을 통해 제안된 YOLOv9는 top real-time object detector가 되었다.

2) Reversible Architecture

reversible architecture의 operation unit은 reversible conversion의 특성을 유지해야만 하므로, 각 operation unit 레이어의 출력 feature map이 원형의 정보를 온전히 유지할 수 있도록 한다. 그 이전에, RevCol은 전통적인 reversible unit을 multiple levels로 일반화하고, 이를 통해 다양한 layer unit으로 표현되는 semantic levels를 확장할 수 있었다.

여러 신경망 구조 논문에서 다양한 강도의 reversible 특성을 갖는 고성능 구조가 많이 발견되었는데, 예를 들어 Res2Net 모듈은 계층적 방식으로 다양한 입력 파티션을 다음 파티션과 결합하고, 이러한 파티션을 후방으로 넘기기 이전에 변환된 모든 파티션을 연결(concatenate)한다.

CBNet은 온전한 원본 정보를 얻기 위하여 composite backbone(CB)을 통해 원본 입력 데이터를 재도입하고, 다양한 합성 방법을 통해 다양한 수준의 multi-level reversible information을 얻는다. 이러한 네트워크 구조는 일반적으로 parameter utilization이 훌륭하지만, 추가적인 합성 레이어는 추론 속도를 느려지게 만든다.

DynamicDet은 CBNet과 고효율의 real-time object detctor인 YOLOv7을 결합하여 속도, 파라미터 개수, 정확도의 아주 적절한 trade-off를 찾는다.

본 논문에서는 reversible branches을 설계하기 위한 기저 구조로 DynamicDet을 사용하고, 더불어 PGI에 reversible information을 도입한다. 본 논문에서 제안한 새 구조는 추론 프로세스에서 추가적인 연결을 필요로 하지 않으므로, 속도, 파라미터 양, 정확도 면에서의 장점을 완전히 유지할 수 있다.

3) Auxiliary Supervision

Deep supervision은 가장 일반적인 auxiliary supervision 메소드이다. 이는 prediction layer를 middle layer에 추가로 삽입하여 훈련하는 방법으로, 특히 transformer 기반 메소드에 도입된 multi-layer decoders의 적용이 가장 일반적이다.

또 다른 일반적인 auxiliary supervision 메소드는 middle layers에서 생성된 feature maps을 가이드하는 relevant meta information을 활용하고, target task에서 요구하는 특성을 갖도록 만드는 방식이다. 예를 들어, segmentation loss 또는 depth loss를 사용하여 object detector의 정확도를 향상시키는 것이 이 방식에 포함된다.

최근에는 다양한 label assignment methods를 사용하여 다양한 auxiliary supervision 메커니즘을 생성하고, 이를 통해 모델의 수렴 속도와 강건성을 함께 향상시키는 논문들이 다수 출판되었다. 그러나, auxiliary supervision 메커니즘은 일반적으로 대형 모델에만 적용이 가능하고, 따라서 경량 모델에 이러한 메커니즘이 적용될 경우 underparameterization 현상(모델이 학습 데이터를 설명하기에 충분한 매개변수가 없는 경우 발생)이 발생되어 성능이 저하되기 쉽다.

본 논문에서 제안된 PGI는 multi-level semantic information을 다시 프로그래밍하는 방식을 설계했고, 이러한 설계를 통해 경량 모델에도 auxiliary supervision 메커니즘을 적용하는 것이 가능해졌다.


3. Problem Statement

Information Bottleneck Principle

information bottleneck principle에 따르면, data XX는 아래 Eq. 1에서와 같이 transformation을 거치면서 information loss를 야기한다.

여기서 IImutual information을, ffggtransformation functions을, θθϕϕ는 각각 ff, gg의 파라미터를 나타낸다.

심층 신경망에서 fθ()f_θ(·)gθ()g_θ(·)는 각각 심층 신경망의 연속된 레이어의 연산을 나타낸다. Eq. 1에서, 우리는 신경망의 층이 깊어질수록, 원본 데이터가 손실될 가능성이 높아진다는 것을 예측할 수 있다. 그러나, 심층 신경망의 파라미터는 주어진 target 뿐만 아니라 네트워크의 출력을 기반으로 하고, loss function을 연산함으로써 새로운 gradients를 생성한 후에 네트워크를 업데이트한다. 그러면 신경망의 깊이가 깊을수록, 신경망의 출력은 prediction target에 대한 완전한 정보를 유지하기가 어렵다는 것을 알 수 있다. 결국 신경망을 훈련하는 동안 불완전한 정보를 사용하여 unreliable gradient와 poor convergence에 이르게 된다.

이러한 문제를 해결하는 방법 중 하나는 모델의 크기를 직접적으로 증가시키는 것이다. 모델을 구성하는 파라미터 수가 크면, 더 완전한 데이터 변형을 수행할 수 있게 된다. 이러한 접근법은 data feedforward process에서 정보 손실이 발생하더라도 target에 매핑을 수행할 만큼의 충분한 정보를 유지할 수 있다. 이러한 현상은 현대 대부분의 모델에서 depth보다 width가 중요한 이유를 설명해준다. 그러나, 위와 같은 결론은 매우 깊은 신경망에서 unreliable gradients 문제를 근본적으로 해결해주지는 못한다.

이제 reversible functions를 사용하여 이러한 문제를 어떻게 해결하는지 설명하고, 비교 분석을 수행해보도록 한다.

Reversible Functions

아래 Eq.2에서와 같이, function rr이 inverse transformation function vv를 가질 때, 우리는 이러한 함수를 reversible function이라고 한다.

여기서 ψψ, ζζ 는 각각 rr, vv의 파라미터이다. 아래 Eq.3에서와 같이, data XX는 정보 손실 없이 reversible function에 의해 변환된다.

네트워크의 transformation function이 reversible functions로 구성될 때, 모델 업데이트에 사용되는 더 reliable한 gradients를 얻을 수 있다. 오늘날 대부분의 대중적인 딥 러닝 메소드는 아래 Eq. 4와 같이 reversible property에 순응하는 구조이다.

ll은 PreAct ResNet의 ll번째 layer이고, ffll번째 layer의 transformation function이다. PreAct ResNet은 명시적인 방법으로 원본 데이터 X를 반복적으로 이후 레이어에 넘긴다. 이러한 설계는 천 개 이상의 레이어를 가진 심층신경망을 아주 잘 수렴하도록 만들 수 있으나, 우리가 심층신경망을 필요로 하는 중요한 이유를 간과한다. 즉, 어려운 문제에 있어서, data와 targets을 매핑하는 단순한 mapping function을 직접적으로 찾는 것이 어려워진다. 이러한 결과는 PreAct ResNet의 레이어 수가 적을 때, 그 성능이 ResNet보다 왜 낮아지는지를 설명하기도 한다.

더불어, masked modeling을 사용하여, 변형 모델(transformer model)이 중요한 돌파구를 만들 수 있도록 했다. Eq 5.와 같은 근사 방법을 사용하여, rr의 역변환 vv를 찾아서 변형된 특성이 희소 특성을 사용하여 충분한 정보를 유지할 수 있도록 했다. Eq. 5의 형태는 다음과 같다.

여기서 MM은 dynamic binary mask이다. 널리 사용되는 방법인 diffusion model과 variational autoencoder(VAE)또한 inverse function을 찾는 함수를 가지고 있다. 그러나, 이 접근법을 경량 모델에 적용하게 되면, 경량 모델은 다량의 raw data에 underparameterize되어 결함이 생길 수 있다. 이러한 이유에서, data X와 target Y를 매핑하는 중요한 정보 I(Y,X)I(Y, X) 또한 동일한 문제를 겪게 된다.

이러한 문제의 해결을 위해, 본 논문에서는 information bottleneck의 개념을 사용한다. information bottleneck의 공식은 다음 Eq. 6과 같다.

일반적으로 I(Y,X)I(Y, X)I(X,X)I(X, X)의 매우 적은 부분만을 차지하고 있지만, target mission에서 매우 중요하다. 그러므로, feedforward stage에서 손실된 정보의 양이 중대하지 않더라도, I(Y,X)I(Y,X)가 포함되는 한 훈련 효과에 큰 영향을 미친다. 경량 모델 자체는 under-parameterized 상태이므로, feedforward stage에서 많은 양의 중요 정보를 잃기 쉽다. 따라서, I(X,X)I(X, X)에서 I(Y,X)I(Y, X)를 얼마나 정확히 필터링하느냐가 경량 모델에서의 목표이다. 이러한 분석에 따라, 본 논문에서는 모델을 업데이트하는 reliable gradients를 생성하면서 shallow, lightweight한 신경망에도 잘 작동하는 새로운 심층 신경망 훈련 방법을 제안하고자 한다.

(Figure 3)
PGI, 그리고 PGI와 연관된 네트워크 구조와 방법. (a) Path Aggregation Network (PAN), (b) Reversible Columns (RevCol), (c) conventional deep supervision, (d) 본 논문에서 제안된 Programmable Gradient Information (PGI).

PGI는 3가지 요소로 구성되어 있다 : (1) main branch : 추론에 사용되는 구조, (2) auxiliary reversible branch : backward transmission을 위한 reliable gradients를 생성하고 main branch에 공급, (3) multi-level auxiliary information : main branch 학습을 multi-level semantic information으로 plannable하게 제어


4. Methodology

Programmable Gradient Information (PGI)

본 논문에서는 앞서 언급했던 문제들을 해결하기 위해, PGI (Programmable Gradient Information)라는 새로운 auxiliary supervision framework를 제안한다. <Figure 3 (d) 참조>

PGI는 3개의 메인 컴포넌트로 구성되어 있는데, (1) main branch, (2) auxiliary reversible branch, (3) multi-level auxiliary information이다. Figure 3 (d)를 보면, PGI의 추론 프로세스는 main branch만 사용하고, 따라서 inference cost를 추가로 필요로 하지 않는다. 다른 두개의 컴포넌트는 딥러닝 방법에서의 몇 가지 중요한 문제점들을 해결하거나, 완화하는 데 사용된다. 그 중에서, auxiliary reversible branch는 깊어지는 신경망(Network deepening)으로 인한 문제를 해결하기 위해 설계되었다.

Network deepeninginformation bottleneck을 야기하여, loss function이 reliable gradients를 생성하기 어렵게 만든다. multi-level auxiliary information은 deep supervision에서 오차 누적 문제(error accumulation)을 다루기 위해 설계되었다 (특히 multiple prediction branch의 구조와 경량 모델을 위함). 이 두 컴포넌트에 대해서는 아래 step by step으로 다루고자 한다.

  • Auxiliary Reversible Branch
    : PGI에서, auxiliary reversible branch를 제안하여 reliable gradients를 생성하고 네트워크 파라미터를 업데이트한다. data와 targets을 매핑하는 정보를 제공함으로써, loss function은 target과 연관이 적은 불완전한 feedforward features에서 false correlation을 찾을 확률을 피하고 guidance를 제공할 수 있게 된다.

    본 논문에서는 reversible architecture를 도입함으로써 완전한 정보 유지를 제안하지만, main branch를 reversible architecture에 추가하는 것은 많은 inference cost를 필요로 한다. 본 논문에서는 Figure 3 (b)의 구조를 분석하고, deep layer에서 shallow layers로의 연결이 추가될 때, 약 20%의 연산 시간이 증가된다. 고화질의 네트워크 연산 레이어 (Figure의 노란 박스 부분)에 입력 데이터를 반복해서 삽입하게 되면, 추론 시간은 2배 넘게 증가하게 된다.

    본 논문의 목표는 reversible architecture를 사용하여 reliable gradients를 얻는 것이기 때문에, inference stage에서 “reversible” 요소만이 중요한 조건은 아니다. 이를 고려하여, reversible branch를 deep supervision branch의 확장으로 간주하고, Figure 3 (d)와 같이 auxiliary reversible branch를 설계한다. information bottleneck으로 인해 main branch에서 중요한 정보를 상실한 deep features는 auxiliary reversible branch에서 reliable gradient information을 얻을 수 있다. 이러한 gradient information은 parameter learning이 정확하고 중요한 정보를 추출하도록 도우며, 이로써 main branch는 target task에 더 효율적인 특성을 얻을 수 있다.

    복잡한 task에서는 더 깊은 네트워크의 conversion을 필요로 하기 때문에, reversible architecture는 일반적인 네트워크보다 shallow network에서 더 좋지 않은 성능을 보인다. 본 논문에서 제안한 방법은 main branch가 완전한 원본 정보를 유지하도록 강제하지 않고, auxiliary supervision 메커니즘을 통해 유용한 gradient를 생성하여 정보를 업데이트하므로, shallow network에서도 잘 작동할 수 있다.

    마지막으로, inference phase에서 auxiliary reversible branch를 제거할 수 있기 때문에, 원래 네트워크의 추론 능력이 유지될 수 있다.

  • Multi-level Auxiliary Information
    : multi-level auxiliary information이 어떻게 작용하는지에 대해서 설명한다. Figure 3 (c)는 multiple prediction branch를 포함한 deep supervision 구조를 보여준다.

    object detection에서 다양한 특성 피라미드(feature pyramids)를 사용하여 여러 태스크를 수행할 수 있고, 피라미드들을 함께 사용하면 다양한 크기의 객체를 탐지할 수 있다. 따라서, deep supervision branch에 연결한 후, shallow features는 작은 객체 탐지에 필요한 특성을 학습하도록 유도되며, 이 때 시스템이 다른 크기의 객체는 배경으로 간주한다.

    그러나, 위 행위는 특성 피라미드가 target 객체를 예측하는 데 필요한 많은 정보를 손실하게 한다. 이러한 문제와 관련하여, 본 논문에서는 각 특성 피라미드가 모든 target 객체에 대한 정보를 받아야 하며, 이를 통해 이어지는 main branch가 다양한 target에 대한 예측을 학습할 수 있도록 완전한 정보를 유지할 수 있다고 여긴다.

    multi-level auxiliary information의 개념은 auxiliary supervision의 특성 피라미드 hierachy layers와 main branch 사이에 통합 네트워크(integration network)를 삽입하고, 이를 사용하여 Figure 3 (d)에서와 같이 다양한 prediction heads에서 반환된 gradients를 결합하는 것이다. 그런 다음, multi-level auxiliary information은 모든 target 객체를 포함하는 gradient 정보를 결합하고, main branch에 보내어 파라미터를 업데이트한다. 이 때, main branch의 특성 파라미드 hierachy의 특성은 특정한 객체 정보에 의해 지배되지 않는다.

    결과적으로, 본 논문에서 제안한 방법은 deep supervision에서 발생하는 정보 단절 문제를 완화할 수 있다. 더불어, 통합된 모든 네트워크는 multi-level auxiliary information에서 사용될 수 있다. 그러므로, 우리는 다양한 크기의 네트워크 구조 학습을 지도하기 위해 필요한 의미 수준(semantic levels) 계획할 수 있다.

Generalized ELAN

여기서는 새로운 네트워크 구조 GELAN에 대해서 설명한다. gradient path planning으로 설계된 CSPNet과 ELAN 2개의 네트워크 구조를 결합하여, 경량화, 추론 속도, 정확도를 고려한 일반화된 효율적 레이어 결합 네트워크(generalized efficient layer aggregation network, GELAN)를 설계한다. GELAN의 전반적인 구조는 Figure 4에 명시되어 있다. 본 논문에서는 본래 컨볼루션 레이어를 쌓는 데만 사용되었던 ELAN의 capacity를 모든 연산 블록에 사용할 수 있도록 일반화했다.

(Figure 4)
GELAN의 구조 : (a) CSPNet, (b) ELAN, (c) 본 논문에서 제안된 GELAN. CSPNet을 모방하고, ELAN을 GELAN으로 확장하여 모든 연산 블록에 사용할 수 있도록 한다.


5. Experiments

위의 Table 1은 본 논문에서 제안된 YOLOv9와 다른 train-from-scratch real-time object detector들을 비교한 것이다. YOLO MS와 비교했을 때, YOLOv9는 매개변수가 약 10% 적고, 연산량은 5~15% 적으나 0.4~0.6%의 AP 향상을 보인다. YOLOv7 AF와 비교했을 때, YOLOv-C는 매개변수가 42% 적고, 연산량은 22% 적으나 동일한 AP를 달성한다(53%). YOLOv8-X와 비교했을 때, YOLOv9-E는 매개변수가 16% 적고, 연산량은 27%가 적으며, 1.7%의 AP 향상을 보인다.

위 결과는 YOLOv9가 기존 방법에 비해 모든 방면에서 크게 개선됨을 입증한다.

(Figure 5)
SOTA realtime object detectors 비교. RT DETR, RTMDet, PP-YOLOE등을 포함하여 비교선상에 있는 방법들은 모두 ImageNet을 사전학습 가중치로 사용한다. YOLOv9는 train-from-scratch 방식으로 다른 방법의 성능을 능가한다.

Figure 5는 ImageNet 사전 훈련 비교 결과로, 파라미터 측면과 연산량 측면에서 비교한다. 파라미터 수 측면에서는 RT DETR이 가장 성능이 좋은 대형 모델이다. YOLOv9는 conventional convolution을 사용하여 depth-wise convolution을 사용한 YOLO MS보다 뛰어난 parameter utilization을 보인다. 또한, 대형 모델의 parameter utilization측면에서도 RT DETR을 크게 뛰어넘는다. deep model에서 YOLOv9는 PGI를 사용하는 것의 큰 이점을 입증한다. data와 target을 mapping하는 데 사용되는 정보를 정확하게 유지하고 추출하여, 매개변수의 66%만을 요구하면서 RT DETR-X와 동일한 정확도를 유지한다.

(Figure 6)
PlainNet, ResNet, CSPNet, GELAN의 특성 맵 시각화 결과 출력 (random initial weight, at different depths). 100번째 레이어 이후, ResNet은 object information을 혼란시키는 feedforward 출력을 생성하기 시작한다. 본 논문에서 제안된 GELAN은 150번째 레이어까지도 완전한 정보를 유지하며, 200번째 레이어에서도 충분히 구별 가능하다.

(Figure 7)
1 epoch의 bias warm-up 후, GELAN과 YOLOv9 (GELAN+PGI)의 PAN feature maps에 대한 시각화 결과. GELAN은 일부 발산이 있었으나, PGI의 reversible branch를 더한 후, target 객체에 더 집중할 수 있게 된다.


6. Conclusions

본 논문에서는 PGI를 사용하여 information bottleneck 문제와 deep supervision 메커니즘이 경량 신경망에 적절하지 못했던 문제를 해결하는 방법을 제시한다.

본 논문에서 제시한 GELAN은 고효율, 경량화 신경망이다. object detection 관점에서, GELAN은 다양한 연산 블록, 깊이 조건에서 강력하고 안정적인 퍼포먼스를 보인다. GELAN은 다양한 추론 디바이스에 적합한 모델로 확장될 수 있으며, PGI의 도입은 경량 모델, 심층 모델에서 모두 정확도를 크게 향상시켜 앞에서 언급한 두 가지 문제점을 해결할 수 있다. 이러한 훌륭한 설계는 심층 모델이 파라미터 숫자를 49% 줄이고, 연산량을 43%만큼 줄이면서, MS COCO dataset에서 0.6%만큼의 AP 개선을 달성할 수 있도록 한다.

profile
춘식이랑 함께하는 개발일지

1개의 댓글

comment-user-thumbnail
2024년 3월 26일

다양한 네트워크 구조들의 random initial weight output feature maps에 대한 시각화 결과이다. (a)는 입력 이미지, (b) PlainNet, (c) ResNet, (e)는 본 논문에서 제안한 GELAN이다. 이를 통해 우리는 다양한 네트워크 구조에서 objective function에 전달되는 정보의 손실 정도가 각자 다르며, GELAN의 구조는 거의 완전한 정보를 보존하고 objective function을 계산에 가장 reliable한 gradient information을 제공할 수 있다는 것을 알 수 있다. milestone card activate

답글 달기