본문 바로가기
컴퓨터비전

[논문리뷰] PVT v2: Improved Baselines with Pyramid Vision Transformer

by PIAI 2024. 4. 24.

참조

 

 

[논문리뷰] Pyramid Vision Transformer(PVT)

참고자료   [논문리뷰] AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE(Vision Transformer)참고 자료 [논문리뷰] Attention is All you need의 이해 소개 Attention Is All You Need The dominant sequence transducti

lcyking.tistory.com

 

들어가며

 

오늘 리뷰할 논문은 PVT v2입니다. 이름 그대로 PVT의 후속작이므로 PVT에 대한 사전지식이 있다는 가정하에 작성되었습니다. 

 

개선 사항은 총 3가지입니다.

 

  1. 기존 Attention  Layer의 계산 복잡도 줄임

  2. 패치 임베딩을 Overlapping 하여 설계

  3. Feed-Forward network에 Convolution 결합

 

나머지 사항은 기존 PVT와 동일합니다. 이러한 개선 사항으로 기존 PVT보다 더 나은 성능을 냈으며, 낮은 파라미터와 GFLOPs를 가졌다고 합니다. 그럼 자세한 세부내용은 아래에서 살펴보도록 하겠습니다.

 

 

PVT v2

 

기존 방법들의 제한점

 

먼저, PVT에서 사용된 Attention layer SRA는 1. 상대적으로 큰 해상도를 처리하기엔 계산 복잡도가 너무 크다고 하여 더 합리적인 방법이 필요하다고 합니다.

 

다음으로, 첫 입력 이미지를 패치로 나누는 과정에서 2. 패치끼리 중첩되지 않게 나누는데, 이렇게 패치를 나누면 패치끼리의 경계에서 지역의 연속성을 상실한다고 합니다. 이 지역의 연속성의 중요함은 SegFormer에서도 다루었습니다. 뿐만 아니라 이 지역의 연속성의 중요성을 강조하는 다른 논문들도 많습니다.

 

마지막으로, Position encoding의 크기가 고정되어, 3. 임의의 이미지 사이즈가 입력으로 주어졌을 때, 덜 유연하다고 합니다.

 

이러한 제한점들을 개선하기 위해, 본 논문은 갖가지 방법들을 제안하였습니다.

 

Linear Spatial Reduction Attention(LSRA)

 

첫 번째 제한점을 해결하기 위해, 기존 SRA를 개선한 LSRA를 제안하였습니다.

 

 

기존 PVT는 SRA를 제안하였고, Key(K)와 Value(V)의 해상도를 \( R^2 \) 만큼 줄여 이 만큼의 연산량에 이득을 보았습니다. 하지만 여전히 아래와 같이 해상도(h, w)에 따라 이차원적으로 연산량이 증가합니다.

 

 

이것은 고차원의 해상도를 처리하기엔 제한점이 있다 하여, 본 논문에서는 SRA를 고정된 크기(P * P)만큼 Average Pooling을 진행하여 아래와 같은 복잡도를 가져 해상도에 일차원적으로 연산량이 증가하게 하였습니다. 

 

 

보통 P는 7 정도로 설정한다고 합니다. 

 

Overlapping Patch Embedding(OPE)

 

두 번째 제한점인 지역의 연속성의 상실을 막기 위해, 본 논문은 패치들을 Overlapping 해서 나누었습니다. 

 

 

 

위와 같은 방법으로 진행하려면 Stride S에 따라, 커널 사이즈를 더 크게 키워야 되며, 그에 따른 패딩 사이즈도 조절해주어야 합니다. 커널 사이즈는 2S - 1이고, 패딩 사이즈는 S - 1, 채널의 수는 \(C^{'} \)로 설정하여 \( \frac {h} {S} * \frac {w} {S} * C^{'} \)의 사이즈가 출력됩니다.

 

이 부분의 자세한 그림을 보고 싶다면, 제 글 중, SegFormer에 대한 논문 리뷰를 참고하시길 바랍니다. 

 

Convolutional Feed-Forward Networks(CFFN)

 

세 번째로 본 논문은 고정 크기의 Position Encoding을 없애고, Zero padding position encoding을 기존 FFN에 주입합니다. 여기서 Zero padding position encoding은 그냥 Convolution에 Padding을 넣은 것인데, 이것이 위치 정보의 역할을 한다는 실험 결과가 있습니다. 참고로, SegFormer도 이 방법을 활용하였습니다.

 

본 논문에서는 기존과 다르게, Depth-Wise Convolution(DWConv)을 활용하였습니다(DWConv에 대한 설명은 따로 하지 않겠습니다). 

 

 

 

마치며

 

 

생각보다 제안 기술이 간단하면서, 큰 효과를 내고 있습니다. 

 

 

위 표와 같이 파라미터, 연산량, 성능을 제안하는 기술을 적용할 때 달라지는 결과를 볼 수 있습니다.

 

 

오늘은 PVT V2의 논문을 리뷰해 보았습니다.

긴 글 읽어주셔서 감사합니다.

댓글