2024년 2월 YOLOv9가 공개되었다. 기존의 네트워크에서 정보 손실의 문제점을 해결하기 위해 PGI를 사용하여 설계한 GELAN 신경망을 사용하여 기존 모델을 개선하였으며 이전의 모델보다 MS COCO 데이터셋에서 가장 우수한 성능을 보인다고 한다.
논문 : https://arxiv.org/abs/2402.13616
github : https://github.com/WongKinYiu/yolov9
모델의 예측을 위한 충분한 정보 획득을 용이하게 할 수 있는 적절한 아키텍처가 설계되어야 합니다
기존 방법은 입력 데이터가 레이어별로 특징 추출 및 공간 변환을 거치면 많은 양의 정보가 손실된다는 사실을 무시합니다(forward를 거치는 동안의 정보 손실)
본 논문의 YOLOv9은 프로그래밍 가능한 그라데이션 정보(PGI) 및 일반화된 효율적인 계층 집계 네트워크(GELAN)와 같은 획기적인 기술을 도입하여 실시간 객체 감지에 상당한 진전을 이루었습니다.
PGI는 정보 병목 문제를 해결하기 위해 YOLOv9에 도입된 새로운 개념으로, 심층 네트워크 계층에서 필수 데이터를 보존할 수 있도록 합니다. 이를 통해 신뢰할 수 있는 그라데이션???(gradient 같음)을 생성하여 정확한 모델 업데이트를 촉진하고 전반적인 탐지 성능을 개선할 수 있습니다.
또한 gradient path planning을 기반으로 하는 새로운 경량 네트워크 아키텍처인 GELAN(Generalized Efficient Aggregation Network)가 설계되었습니다
딥러닝 기반 모델은 컴퓨터 비전, 언어처리, 음성 인식 등 다양한 분야에서 기존 인공지능 시스템 보다 훨씬 뛰어난 성능을 입증했습니다. 최근 몇 년간 딥러닝 분양의 연구자들은 CNN, Transformer 등 더욱 강력한 이키텍처와 학습 방법을 개발 하는 방법에 주로 집중 해왔습니다.
그러나 대부분의 과거 접근 방식은 입력 데이터가 feedforward 프로세스 중 무시할 수 없는 양의 정보 손실을 가질 수 있다는 점을 무시했습니다.
정보 병목 현상은 데이터가 네트워크의 연속적인 계층을 통과할수록 정보 손실 가능성이 증가한다는 딥 러닝의 근본적인 문제를 드러내는 원리입니다. 이 현상은 수학적으로 다음과 같이 표현됩니다:
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))
I 는 상호 정보를 나타내고 f 및 g 매개변수가 있는 변환 함수를 나타냅니다. theta 및 phi를 각각 사용합니다. YOLOv9은 네트워크의 깊이 전반에 걸쳐 필수 데이터를 보존하고 보다 안정적인 그래디언트 생성을 보장하며 결과적으로 모델 수렴 및 성능을 향상시키는 프로그래밍 가능한 그래디언트 정보(PGI)를 구현하여 이러한 문제에 대응합니다.
또한 본 논문에서는 ELAN을 기반으로 일반화된 ELAN(GELAN)을 설계했으며 이 설계를 통해 사용자는 다양한 추론 장치에 적합한 계산블록을 임의로 선택할 수 있습니다.
정보 병목 현상 원리에 따라 아래의 식 1과 같이 데이터 X가 변환을 수행할 때 정보 손실을 일으킬 수 있음을 알고 있습니다
I(X, X) ≥ I(X, fθ(X)) ≥ I(X, gϕ(fθ(X)))
여기서 I는 상호 정보를 나타내고, f와 g는 변환 함수이며, θ와 ϕ는 각각 f와 g의 매개 변수입니다.
심층 신경망에서 f θ(·)와 g ϕ(·)는 각각 심층 신경망에서 연속된 두 계층의 동작을 나타냅니다. 식 1에서 네트워크 계층의 수가 깊어질수록 원본 데이터가 손실될 가능성이 더 높을 것으로 예측할 수 있습니다.
그러나 심층 신경망의 매개 변수는 네트워크의 출력과 주어진 대상을 기반으로 한 다음 손실 함수를 계산하여 새로운 그래디언트를 생성한 후 네트워크를 업데이트합니다.
심층 신경망의 출력은 예측 대상에 대한 완전한 정보를 유지할 수 없습니다. 이는 네트워크 훈련 중에 불완전한 정보를 사용할 수 있게 하여 신뢰할 수 없는 그래디언트와 잘못된 수렴을 초래합니다.
다음과 같은 가역 함수가 있다고 하자.
네트워크가 가역 함수로 구성되면 정보의 손실 없이 데이터를 변환하고 역전파할 수 있습니다.
PGI (d)는 추론 시 main branch (파란색)만 사용하므로 추가 추론 비용이 발생하지 않는다.
Auxiliary Reversible Branch
보조 가역 분기를 추가하여 bottleneck을 줄인다.
하지만 (b)와 같이 모든 보조 분기를 추가하면 계산 비용이 매우 증가한다.
GELAN은 전략적으로 아키텍처를 발전시켜 YOLOv9이 뛰어난 파라미터 활용도와 계산 효율성을 달성할 수 있게 해줍니다. 다양한 계산 블록을 유연하게 통합할 수 있도록 설계되어 속도나 정확도를 저하시키지 않으면서도 다양한 애플리케이션에 적용할 수 있는 YOLOv9입니다.
CSPNet과 ELAN(efficient layer aggregation network)의 구조를 결합하여 ELAN의 conv layer 대신 모든 블록을 사용할 수 있도록 일반화하였다.