이는 feature map을 2파트로 나누어 cross-stage 계층을 거친 뒤 다시 합치는 방법을 사용하였다.
이는 그래디언트가 다른 네트워크 경로를 거치면서 large correlation difference를 가지게 된다.
그러면서도 계산량을 줄였으며 속도와 정확도 또한 향상시킬 수 있었다.
Detail
Cross Stage Partial Network
Figure 2 (a)에서 볼 수 있듯, DenseNet의 각 스테이지는 dense block과 transition layer를 가지고 있고, 각 dense block은 k개의 dense layer들을 가지고 있다.
각 Dense layer의 입력과 dense layer를 통과한 출력은 concatenation되어 다음 Dense layer의 입력이 되는 구조이다.
동일한 입력 데이터가 계속 concatenation되면서 다음 레이어에 사용되기 때문에, 그래디언트 또한 동일한 그래디언트가 복제되어 학습에 사용된다.
Figure 2 (b)는 CSPDenseNet을 나타낸 것이다. 각 dense block과 transition layer는 partial dense block과 partial transition layer로 변경되었다.
Partial dense block은 feature map을 2개 파트로 나누어 하나 는 기존 dense block과 동일하게 사용하고, 다른 하나 는 스테이지의 맨 끝으로 직접 연결시킨다.
Partial transition layer는 dense layer들에서 나온 출력을 transition layer로 입력하고, 그 출력 를 앞에서 건너뛰어 온 와 concatenation한 뒤 또다른 transition layer를 통해서 출력 를 생성한다.
때문에 그래디언트 입장에서는 건너뛰어온 로 인하여 그래디언트를 서로 분리하고, 중복된 그래디언트 정보도 일부 제거할 수 있었다.
Partial Dense Block
Partial dense block은 다음과 같은 목적이 있다.
그래디언트 경로를 증가시켜 feature map이 concatenation 되어 생기는 단점을 상쇄시킨다.
기존 DenseNet에서 급격히 증가하는 채널 수를 반으로 줄여 계산량을 줄일 수 있다.
기존 Dense block 보다 메모리 트래픽 또한 줄일 수 있다.
Partial Transform Layer
Partial transform layer의 목적은 그래디언트 조합의 차이를 최대화 하는 것으로 그래디언트 흐름을 쪼갬으로써 각 개별 레이어에서 그래디언트 정보가 중복되는 것을 막고자 하였다.
여기에는 2가지 디자인이 있다.
Figure 3 (c)는 Fusion first 디자인으로. 입력을 2개 파트로 나눈 뒤 한 파트에서 feature map을 생성하고, 이다른 파트와 concatenation 한 뒤에 translation을 적용한 것이다. 이것은 많은 양의 그래디언트가 재사용 된다.
Firgure 3 9 (d)는 Fusion Last 디자인으로, 입력을 2개 파트로 나눈 뒤, 한 파트에서 feature map을 생성하고 곧바로 translation을 적용한 뒤 다른 파트와 concatenation 한 것이다. 이는 그래디언트가 쪼개져 재사용되지 않는다.
실제 PeleeNet에 두 디자인을 적용하여 분류문제를 풀었을 때, 두 디자인 모두 계산량을 줄어들었으나 Fusion First는 성능 하락이 1.5% 나 있었고, Fusion Last는 0.1%만의 성능 하락이 있었다.
다음은 ResNe(X)t 모델에 CSP를 적용한 디자인이다.
EFM (Exact Fusion Model)
One-stage 객체 검출기에서는 각 앵커가 적절한 FoV를 갖도록하여 성능을 끌어 올릴 수 있다.
Li [15]는 이미지 레벨 레이블로부터 학습할 경우 정보가 너무 산만해지고 이것이 one-stage 검출기보다 two-stage 검출기가 성능이 더 좋은 이유라고 이야기하였다.
여기에서는 YOLOv3를 기반으로 YOLOv3에서는 각 앵커가 단 하나의 GT와 매칭된다는 점에 착안하여 EFM을 적용하였다.
만약 앵커가 각 그리드 셀의 FoV와 정확히 일치할 경우 스케일 의 앵커와 매칭될 박스의 크기는 번째 스케일과 스케일 사이의 크기일 것이다.
따라서 3가지 스케일의 feature 만을 통합하도록 하였다.
Feature map의 concatenation은 많은 계산량과 메모리 트래픽을 요구하기 때문에 Maxout technique을 적용하여 feature map을 압축하였다.