논문 정보
저자:
소속:
- Institute of Information Science, Academia Sinica, Taiwan National Taipei University of Technology, Taiwan Department of Information and Computer Engineering, Chung Yuan Christian University, Taiwan
인용:
- 2024.06.12 기준 75회
논문 업데이트 내역
- 초판 제출(v1) : 2024년 2월 21일
- 최근 수정(v2) : 2024년 2월 29일
논문 & Github 링크
Arxiv
공식 Github
Abstract
오늘날 딥러닝 연구는 모델의 예측 결과가 실제값에 가장 가깝도록 적절한 목적 함수 설계에 중점을 둔다.
기존 방법의 경우 입력 데이터가 레이어별 특징 추출 및 공간 변환을 거칠 때 많은 정보가 손실된다는 사실을 무시
이 논문은 데이터가 심층 신경망을 통해 전송될 때 발생하는 중요한 문제, 즉 정보 병목 현상과 가역 함수에 대해 다룬다.
다양한 목표를 달성하기 위해 심층 신경망이 필요로 하는 다양한 변화를 처리하기 위해 programmable gradient information(PGI) 개념을 제안
PGI는 대상 작업을 위해 완전한 입력 정보를 제공하여 신뢰할 수 있는 기울기 정보를 얻어 네트워크 가중치를 업데이트할 수 있도록 한다.
또한, 기울기 경로 계획을 기반으로 한 새로운 경량 네트워크 아키텍처인 Generalized Efficient Layer Aggregation Network(GELAN)를 설계했다.
GELAN의 아키텍처는 PGI는 경량 모델에서 우수한 결과를 얻었음을 확인시켜준다.
COCO 데이터 세트 기반으로 검증
결과적으로 GELAN이 depth-wise convolution (깊이별 합성곱) 기반의 sota보다 더 나은 파라미터 활용을 달성
PGI는 경량에서 대형 모델까지 다양한 모델에 사용할 수 있으며, 대규모 데이터 세트를 사용하여 사전 학습된 sota 모델보다 더 나은 결과를 제공
1. Introduction
최근 몇 년간 딥러닝 연구자들은 더 강력한 시스템 아키텍처와 학습 방법, 그리고 더 일반적인 목적 함수를 개발하는 데 중점을 두어왔다.
그러나 대부분의 기존 방법은 피드포워드 과정에서 입력 데이터의 정보가 손실될 수 있다는 사실을 간과햇다.
이 정보 손실은 편향된 gridents flow을 초래하여 잘못된 예측을 일으킬 수 있다.
정보 병목 현상
- 피드포워드 과정 중에 발생하는 정보 손실 현상이다. 이를 해결하기 위해 몇 가지 방법이 사용되었지만, 각각의 방법은 훈련 및 추론 과정에서 단점이 있다.
- 가역 아키텍처 : 반복적으로 입력 데이터를 사용하여 정보 손실을 줄이지만, 추가적인 레이어로 인해 추론 비용이 증가
- 마스크 모델링 : 재구성 손실을 사용하여 특징을 최대한 유지하지만, 목표 함수와 충돌할 수 있다.
- deep supervision : 중간 레이어의 출력을 추가적인 loss function으로 사용하여 전체 모델의 성능을 향상시키는 방법
이러한 문제를 해결하기 위해 PGI라는 새로운 개념 제안
PGI는 보조 가역 분기를 통해 신뢰할 수 있는 기울기를 생성하여, 심층 특징이 중요한 특성을 유지할 수 있도록 한다.
PGI는 다양한 크기의 딥러닝 네트워크에 적용할 수 있으며, 기존의 deep supervision 메커니즘보다 일반적이다.
ELAN을 기반으로 한 GELAN을 설계했다. GELAN은 파라미터 수, 계산 복잡도, 정확도 및 추론 속도를 동시에 고려하여 설계되었으며, 다양한 추론 장치에 적합한 computational blocks을 선택할 수 있다.
PGI와 GELAN을 결합하여 YOLOv9을 설계했다. COCO O데이터 세트를 사용한 실험 결과, YOLOv9은 모든 비교에서 최고 성능을 달성
2. Related work
2.1 Real-time Object Detectors
현재 주류 실시간 객체 탐지는 YOLO 시리즈다. 대부분의 모델은 CSPNet또는 ELAN 및 그 변형을 주요 계산 유닛으로 사용한다. 특징 통합 측면에서는 개선된 PAN 또는 FPN이 자주 사용되며, 헤드로는 개선된 YOLOv3 헤드 또는 FCOS 헤드를 사용한다.
최근에는 RT-DETR와 같은 새로운 실시간 객체 탐지 방법도 제안되었지만, DETR 시리즈 객체 탐지 방법은 대응하는 도메인 사전 학습 모델 없이 새로운 도메인에 적용하기가 매우 어렵다. 따라서 현재 가장 널리 사용되는 실시간 객체 탐지 방법은 여전히 YOLO 시리즈다.
이 논문은 다양한 CV 작업과 다양한 연구에서 효과가 입증된 YOLOv7을 기반으로 제안된 방법을 개발하기로 했다.
GELAN을 사용하여 아키텍처를 개선하고 제안한 PGI를 통해 학습 과정을 개선하였다.
2.2 Reversible Architectures
가역 아키텍처의 연산 유닛은 가역 변환의 특성을 유지해야 하므로, 각 연산 유닛의 출력 특징 맵이 완전한 원본 정보를 보유할 수 있다.
“RevCol”은 전통적인 가역 유닛을 여러 레벨로 일반화하여, 서로 다른 레이어 유닛이 표현하는 의미 레벨을 확장할 수 있다.
다양한 신경망 아키텍처에 대한 연구 문헌 검토를 토앻, 가역 특성을 갖춘 고성능 아키텍처가 많이 존재함을 발견
ex) Res2Net 모듈은 계층적 방식으로 다른 입력 분할을 다음 분할과 결합하고, 모든 변환된 분할을 연결하여 뒤로 전달
CBNet은 원래의 입력 데이터를 복합 백본을 통해 다시 도입하여 완전한 원본 정보를 얻고, 다양한 구성 방법을 통해 여러 레벨의 가역 정보를 얻는다.
이러한 네트워크 아키텍처는 일반적으로 뛰어난 파라미터 활용도를 가지지만, 추가적인 복합 레이어는 추론 속도를 저하시킨다.
DynamicDet은 CBNet과 고효율 실시간 객체 탐지 YOLOv7을 결합하여 속도, 파라미터 수, 정확도 간의 매우 좋은 성능을 달성
이 연구에서는 가역 분시를 설계하기 위한 기반으로 DynamicDet 아키텍처를 제안
또한, 가역 정보를 제안된 PGI에 추가로 도입
추론 과정에서 추가 연결이 필요하지 않으므로 속도, 파라미터 수, 정확도의 이점을 완전히 유지할 수 있다.
2.3 Auxiliary Supervision
Deep supervision은 가장 일반적인 보조 감독 방법으로, 중간 레이어에 추가 예측 레이어를 삽입하여 훈련을 수행한다.
특히 프랜스포머 기반 방법에서 도입된 다중 레이어 디코더의 응용이 가장 흔하다.
또 다른 보조 감독 방법은 중간 레이어에서 생성된 특징 맵을 목표 작업이 요구하는 속성을 갖도록 관련 메타 정보를 이용하여 지도하는 것
보조 감독 메커니즘은 일반적으로 대형 모델에만 적용 가능하여, 경량 모델에 적용할 경우 파라미터 부족 현상이 발생하여 성능이 저하될 수 있다.
제안한 PGI는 다중 레벨의 의미 정보를 재프로그램하는 방식으로 설계하여, 경량 모델도 보조 감독 메커니즘의 혜택을 받을 수 있도록 한다.
3. Problem Statement
대부분의 사람들은 Deep Neural Network의 수렴 문제를 기울기 소실이나 기울기 폭주와 같은 요인으로 돌린다.
그러나 현대의 Deep Neural Network는 다양한 정규화 및 활성화 함수를 설계하여 위의 문제를 근본적으로 해결했다.
그럼에도 불구하고 Deep Neural Network는 여전히 느린 수렴이나 낮은 수렴 결과의 문제를 가지고 있다.
이 연구에서는 이러한 문제의 본질을 더 깊이 탐구한다.
정보 병목 현상의 심층 분석을 통해 이 문제의 근본 원인이 초기 기울기가 깊은 신경망에서 전송된 직후 목표를 달성하는 데 필요한 많은 정보를 잃어버렸기 때문임을 추론했다.
ResNet, CSPNet, GELAN이 중요한 정보를 유지할 수 있는 비율은 훈련 후 얻을 수 있는 정확도와 상관관계가 있다.
3.1 Information Bottleneck Principle
정보 병목 원리에 따르면, 데이터 $X$는 변환 과정을 거치면서 정보 손실을 초래할 수 있다.
아래 식에 따르면 상호 정보 $I$는 두 데이터 집합 간의 상호 정보를 나타내며, $f$와$g$는 변환 함수이고, $θ$와 $ϕ$는 각각 $f$와$g$의 매개변수다.
$$ I(X,X)≥I(X,fθ(X))≥I(X,gϕ(fθ(X))) $$
Deep Neural Network에서 $fθ(⋅)$와 $gϕ(⋅)$는 각각 연속적인 두 레이어의 연산을 나타낸다.
위 식에서 예측할 수 있듯이 네트워크 레이어가 깊어질수록 원본 데이터가 손실된 가능성이 높아진다.
Deep Neural Netwowrk의 매개변수는 네트워크의 출력과 주어진 목표를 기반으로 하며, 손실 함수를 계산하여 새로운 기울기를 생성한 후 네트워크를 업데이트한다.
더 깊은 네트워크의 출력은 예측 목표에 대한 완전한 정보를 유지할 가능성이 적다.
이는 네트워크 훈련 중 불완전한 정보를 사용하게 되어 신뢰할 수 없는 기울기와 낮은 수렴 성능을 초래할 수 있다.
이 문제를 해결하는 한 가지 방법은 모델의 크기를 직접 늘리는 것이다. 많은 수의 매개변수를 사용하여 모델을 구성하면 데이터를 더 완전하게 변환할 수 있다.
이 접근 방식은 피드포워드 과정에서 정보가 손실되더라도 목표로의 매핑을 수행할 수 있을 만큼 충분한 정보를 유지할 가능성이 있음을 설명한다.
이러한 현상은 대부분의 모델에서 너비가 깊이보다 더 중요하다는 것을 설명한다.
그러나 이 접근 방식은 매우 깊은 뉴럴 네트워크에서 신뢰할 수 없는 기울기 문제를 근본적으로 해결하지 못한다.
3.2 Reversible Functions
가역 함수는 역변환 함수가 존재하는 함수를 의미한다.
가역 함수 $r$의 역변환 함수 $v$가 존재할 때, 이를 가역 함수라고 한다.
가역 함수는 정보 손실 없이 데이터를 변환할 수 있다. 이는 네트워크의 변환 함수가 가역 함수로 구성되었을 때, 더 신뢰할 수 있는 기울기를 얻어 모델을 업데이트할 수 있음을 의미한다.
$$ X=vζ(rψ(X)),\\ I(X,X)=I(X,rψ(X))=I(X,vζ(rψ(X))) $$
Pre-Activation ResNet과 같은 현대의 딥러닝 방법은 가역 특성을 만족하는 아키텍처를 채택하고 있다.
하지만 Pre-Activation ResNet은 깊은 네트워크에서도 잘 수렴하는 반면, 작은 레이어 수에서는 성능이 떨어진다.
또한, 트랜스포머 모델에서 마스크 모델링 사용하여 중요한 성능 향상을 이루었다.
이 방법은 변환 함수의 역변환을 찾아 데이터를 보존하려고 시도한다.
$$ X=vζ(rψ(X)⋅M), $$
여기서 $M$은 동적 이진 마스크다. 하지만 경량 모델에서는 이러한 접근 방식이 파라미터가 부족하여 많은 원본 데이터를 다루기 어려운 단점이 있다.
$$ I(X,X)≥I(Y,X)≥I(Y,fθ(X))≥...≥I(Y,Y^) $$
경량 모델에서는 피드포워드 과정에서 중요한 정보를 읽기 쉽다. 따라서 목표는 경량 모델에서 중요한 정보를 정확하게 필터링하는 것이다.
이를 통해 신뢰할 수 있는 기울기를 생성하고, 얕고 경량인 신경망에도 적합한 새로운 훈련 방법을 제안하고자 한다.
4. Methodology
위 문제를 해결하기 위해 PGI라는 새로운 보조 감독 프레임워크를 제안
PGI는 주로 세가지 구성 요소를 포함한다.
- 메인 브랜치 : 추론 과정에서 사용, 추가적인 추론 비용 불필요
- 보조 가역 브랜치 : 신경망이 깊어짐으로 인한 정보 병목 문제를 해결
- 다중 레벨 보조 정보 : Deep supervision으로 인한 오류 축적 문제를 완화
PGI의 추론 과정은 메인 브랜치만을 사용하므로 추가적인 추론 비용이 필요하지 않다.
나머지 두 구성 요소는 딥러닝 방법에서 여러 중요한 문제를 해결하거나 완화하는데 사용된다.
4.1 Programmable Gradient Information
PGI에서 우리는 신뢰할 수 있는 기울기를 생성하고 네트워크 매개변수를 업데이트하기 위해 보조 가역 브랜치를 제안한다.
보조 가역 브랜치는 데이터에서 목표로의 매핑 정보를 제공하여, 손실 함수가 불완전한 피드포워드 특징에서 잘못된 상관관계를 찾는 가능성을 방지한다.
가역 아키텍처를 도입하여 완전한 정보를 유지하려 할경우, 메인 브랜치를 가역 아키텍처에 추가하면 많은 추론 비용이 발생한다.
깊은 레이어에서 얕은 레이어로 추가 연결을 할 경우 추론 시간이 20% 증가한다. 네트워크의 고해상도 계산 레이어에 입렭 데이터를 반복적으로 추가하면 추론 시간이 두 배 이상 증가할 수 있다.
가역 브랜치를 Deep supervision 브랜치의 확장으로 보고, 보조 가역 브랜치를 설계했다.
정보 병목 현상으로 인해 중요한 정보를 잃어버린 메인 브랜치의 깊은 특징은 보조 가역 브랜치로부터 신뢰할 수 있는 기울기 정보를 받게 된다.
가역 아키텍처는 얕은 네트워크보다 일반 네트워크에서 더 나은 성능을 발휘한다.
메인 브랜치가 완전한 원본 정보를 유지하도록 강요하지 않고, 보조 감독 메커니즘을 통해 유용한 기울기를 생성하여 업데이트한다.
이 설계의 장점은 제안된 방법이 얕은 네트워크에도 적용될 수 있다는 것이다.
마지막으로 보조 가역 브랜치는 추론 단계에서 제거될 수 있어, 원래 네트워크의 추론 능력을 유지할 수 있다.
4.1.2 Multi-level Auxiliary Information
Deep supervision 아키텍처
- 여러 예측 브랜치를 포함하며, 객체 탐지를 위해 다양한 특징 피라미드를 사용
- 얕은 특징은 작은 객체 탐지에 필요한 특징을 학습하도록 안내되며, 이 과정에서 다른 크기의 객체 위치를 배경으로 간주한다.
- 그러나, 이러한 방식은 Deep Feature Pyramid가 목표 객체를 예측하는 데 필요한 정보를 잃게 만든다.
다중 레벨 보조 정보의 필요성 및 개념
- 각 특징 피라미드가 모든 목표 객체에 대한 정보를 받아야 한다.
- 이를 통해 메인 브랜치가 다양한 목표에 대한 예측을 학습할 수 있는 완전한 정보를 유지할 수 있다.
- 보조 감독의 특징 피라미드 계층과 메인 브랜치 사이에 통합 네트워크를 삽입
- 통합 네트워크는 다양한 예측 헤드에서 반환된 기울기를 결합
- 다중 레벨 보조 정보는 모든 목표 객체를 포함하는 기울기 정보를 집계하여 메인 브랜치로 전달하고 매개변수를 업데이트한다.
- 이를 통해 메인 브랜치의 특징 피라미드 계층이 특정 객체의 정보에 의해 지배되지 않게 한다.
다중 레벨 보조 정보는 Deep supervision에서 발생하는 정보 손실 문제를 완화한다.
어떤 통합 네트워크도 다중 레벨 보조 정보에 사용할 수 있다.
네트워크 아키텍처의 크기에 다라 필요한 의미 레벨을 계획하여 학습을 안내할 수 있다.
4.2 Generalized ELAN
Gradient Path Planning을 통해 설계된 CSPNet과 ELAN 두 가지 신경망 아키텍처를 결합하여 경량화, 추론 속도 및 정확성을 고려한 GELAN을 설계했다.
전체 아키텍처는 아래 그림과 같다.
ELAN의 기능을 일반화하여, 원래는 컨볼루션 레이어의 스태킹만 사용하던 아키텍처를 다양한 계산 블록을 사용할 수 있는 새로운 아키텍처로 확장했다.
5. Experiments
5.1 Experimental Setup
MS COCO 데이터 세트를 사용하여 검증
모든 실험 과정은 YOLOv7 AF를 따르며 언급된 모든 모델은 초기부터 훈련 전략을 사용하여 500 에포크 동안 훈련된다.
학습률 설정에서는 처음 세 에포크 동안 선형 워밍업을 사용하고, 이후 에포크에서는 모델 규모에 따라 학습률 감소 방식을 설정한다.
마지막 15 에포크 동안에는 모자이크 데이터 증강을 끈다.
5.2 Implimentation Details
YOLOv7과 Dynamic YOLOv7을 기반으로 일반 및 확장 버전의 YOLOv9을 구축했다.
네트워크 아키텍처 설계에서는 ELAN을 GELAN으로 대체하고, 계산 블록으로 CSPNet 블록과 계획된 RepConv을 사용했다.
다운샘플링 모듈을 단순화하고 앵커리스 예측 헤드를 최적화했다.
PGI 보조 손실 부분에 대해서는 YOLOv7의 보조 헤드 설정을 완전히 따른다.
5.3 Model Confusion and Diagnosis
위 그림과 같이 제안된 YOLOv9과 다른 초기부터 학습된 실시간 객체 탐지 방법론을 비교한 결과를 나열한다.
제안된 YOLOv9이 기존 방법들에 비해 모든 측면에서 크게 향상
비교에 ImageNet 사전 학습 모델을 포함하였으며, 결과는 아래 그림과 같다.
파라미터 수와 계산량을 기준으로 비교했다.
파라미터 수 측면에서 가장 성능이 좋은 대형 모델은 RT-DETR이다.
YOLOv9은 기존의 깊이별 컨볼루션을 사용하는 YOLO MS보다 파라미터 활용도에서 더 우수하다.
5.4. Ablation Studies
5.4.1 Generalized ELAN
GELAN에 대해 먼저 계산 블록에 대한 소거 연구(ablation studies)를 수행했다.
Res 블록, Dark 블록, CSP 블록을 각각 사용하여 실험을 진행했다.
다양한 계산 블록 중 CSP 블록이 특히 우수한 성능을 보였다. 이는 파라미터와 계산량을 줄이는 동시에 AP를 0.7% 향상시켰다.
따라서 YOLOv9의 GELAN 구성 요소로 CSPELAN을 선택했다.
ELAN 블록 깊이 및 CSP 블록 깊이 실험
- ELAN의 깊이를 1에서 2로 증가시켰을 때, 정확도가 크게 향상되었다.
- 깊이가 2 이상일 때는, ELAN 깊이 또는 CSP 깊이를 증가시키는 것은 선형적인 관계를 보였다.
- GELAN이 깊이에 민감하지 않음을 의미한다.
5.4.2 Programmable Gradient Information
PGI에 대해 백본과 넥에서 각각 보조 가역 브랜치와 다중 레벨 보조 정보에 대한 소거 연구를 수행했다.
DHDLC 연결을 사용하여 다중 레벨 가역 정보를 얻기 위해 보조 가역 브랜치 ICN을 설계했다.
다중 레벨 보조 정보에 대해서는 FPN과 PAN을 사용하여 소거 연구를 수행했으며, PFH는 전통적인 Deep supervision과 동일한 역할을 한다.
PFH는 깊은 모델에서만 효과적이며, 제안된 PGI는 다양한 조합에서 장확도를 향상시킬 수 있다.
특히 ICN을 사용할 때 안정적이고 더 나은 결과를 얻을 수 있다.
YOLOv7에서 제안된 lead-head guided assignment를 PGI의 보조 감독에 적용하여 성능을 크게 향상시켰다. PGI와 Deep supervision 개념을 다양한 크기의 모델에 구현하고 결과를 비교했다.
Deep supervision 도입시 얕은 모델의 정확도가 손실되고, 일반 모델에서는 불안정한 성능을 초래할 수 있다. Deep supervision은 매우 깊은 모델에서만 이점을 가져다줄 수 있다.
제안된 PGI는 정보 병목 현상과 정보 손실 문제를 효과적으로 처리하여 다양한 크기의 모델 정확도를 종합적으로 향상시킬 수 있다.
PGI의 두 가지 중요한 기여는 다음과 같다.
- 보조 감독 방법을 얕은 모델에도 적용할 수 있게 합니다.
- 딥 모델 훈련 과정에서 더 신뢰할 수 있는 그래디언트를 얻을 수 있게 합니다. 이러한 그래디언트는 딥 모델이 데이터와 목표 간의 올바른 상관관계를 설정하는 데 더 정확한 정보를 사용할 수 있게 합니다.
5.5 Visualization
위 그림에서는 다양한 아키텍처에서 무작위 초기 가중치를 피드포워드로 사용하여 얻은 특징 맵의 시각화 결과를 보여준다.
레이어 수가 증가함에 따라 모든 아키텍처의 원본 정보가 점차 감소하는 것을 확인할 수 있다.
예를 들어, PlainNet의 50번째 레이어에서는 객체의 위치를 보기 어려우며, 100번재 레이어에서는 모든 구별 가능한 특징이 사라진다.
ResNet의 경우, 50번째 레이어에서는 객체의 위치를 여전히 볼 수 있지만 경계 정보는 사라진다.
깊이가 100번째 레이어에 도달하면 전체 이미지가 흐릿해진다.
CSPNet과 제안된 GELAN은 매우 좋은 성능을 보이며, 200번째 레이어까지 객체를 명확하게 식별할 수 있는 특징을 유지할 수 있다. 비교 중에서 GELAN은 더 안정적인 결과와 명확한 경계 정보를 제공한다.
6. Conclusions
이 논문에서는 정보 병목 문제와 Deep supervision 메커니즘이 경량 신경망에 적합하지 않다는 문제를 해결하기 위해 PGI를 제안한다.
매우 효율적이고 경량화된 신경망 GELAN을 설계했다.
위 두 가지 문제에 대해 PGI를 도입하면 경량 모델과 딥 모델 모두에서 정확도가 모두 크게 향상된다.
PGI와 GELAN을 결합하여 설계된 YOLOv9은 좋은 성능을 보여준다. 뛰어난 설계를 통해 YOLOv9은 YOLOv8에 비해 파라미터 수를 49%, 계산량을 43% 줄이면서도 MS COCO 데이터셋에서 0.6% AP 향상을 달성했다.