본문 바로가기

~2023

[논문 리뷰] Residual Attention Network for Image Classification

728x90
반응형

논문 정보

이 논문은 자연어 처리에서 만들어진 Attention 알고리즘을 CNN에 도입해 강한 특징을 살리고 약한 특징은 없애버리면서 이미지 분류에서 좋은 성능을 보여줬다.

리뷰

그림 1. Attention mechanism

Attention 알고리즘은 그림 1과 같으며 feature map에다가 attention output을 더해서 특징이 강한 부분을 더욱 강조한다.

그림 2. example

그래서 실제로 열기구가 있는 사진을 넣었을 때 low-level에서는 특징 범위가 큰 sky에 대해 attention 되었고 high-level로 갈수록 detail 한 object가 attention 된다.

그림 3. Test Error Comparisons with SOTA on CIFAR-10/CIFAR-100
그림 4. Single crop validation error on ImageNet

Attention Network는 CIFAR 데이터셋에서 기존 SOTA 모델보다 연산량도 적으면서 더 적은 에러율을 보여줬으며 ImageNet 데이터셋 대해서도 낮은 val error rate를 보여줬다.

논문에서는 세 가지를 기여했다는데 1) Stacked Network Structure로 기존 Attention Module은 모듈 당 하나의 특징만을 추출하지만 여러 Attention Module을 사용해 서로 다른 형태의 Attention을 감지하도록 학습했고 2) Attention Residual Learning으로 Attention Module을 단순히 쌓으면 성능이 하락되는데 이를 Residual Learning으로 개선했으며 3) Bottom-up Top-down Feedforward Attention으로 특징에 soft weight를 추가하면서 (수정)

그림 5. Attention Module

논문에서 제안하는 Attention Module은 그림 5와 같으며 2-branch로 Soft Mask Branch와 Trunk Branch가 있다.

설명하기 간단한 Trunk Branch에 대해 이야기하자면 단순히 CNN으로 feature map을 추출해내는 branch로 직접 네트워크를 설계해 넣어도 되지만, 웬만하면 좋은 성능을 보이고 있는 네트워크를 사용한다.

다음으로 Soft Mask Branch는 최소 해상도까지 Max Pooling으로 Down Sampling하여 강한 특징만을 살아남게 한 다음에 Bilinear Interpolation으로 Up Sampling을 진행해 Trunk Branch의 Output인 T(x)와 같은 사이즈로 만들어 M(x)과 T(x)를 곱한다.

그렇지만 (1)과 같이 단순히 M과 T를 곱해주면 M이 [0, 1] 값을 가지므로 깊게 학습될수록 0에 가까워진다. 그렇기 때문에 Attention Module을 단순히 쌓으면 Dot Production은 깊은 레이어에서 feature 값이 저하되고 M이 0에 가까워지므로 T의 속성 손상이 가능하다는 이유로 성능 저하가 발생한다.

(4)

그래서 Residual Learning을 통해 (3)과 같이 연산을 수행해 성능 저하를 막아준다. 또한, 곱셈 연산으로 표현된 (3)을 덧셈 연산으로 (4)처럼 표현할 수 있어서 연산량에 부담이 없다고 한다(*상세한 추가 설명 필요)

그림 6. Residual Attention Network 도식도

[그림 6]에 있는 p, t, r은 Residual Unit의 갯수이며 Attention Module에서 상단이 Trunk Branch이고 하단에 있는 인코더-디코더 부분이 Soft Mask Branch이다.

그림 7. Residual Attention Network 상세 구조

네트워크의 상세 구조는 [그림 7]이고 Attention-N에서 N은 Trunk Branch에 있는 CNN의 층 깊이이다.

그림 8. Residual Unit 비교. (a)는 처음 ResNet 발표 시 사용된 Residual Unit으로 다른 기호는 추가 실험된 걸 언급했으니 확인

참고로 논문에서 사용한 Residual Unit은 [그림 8-a]인 초창기 Residual Unit이 아닌 pre-activation Residual Unit을 사용했다. 기존 [그림 8-a]는 ReLU를 마지막에 넘어가기 때문에 identity x가 완전히 넘어간 것이 아니라 오염됐기 때문에 (d)와 같은 방법을 생각해냈다고 한다. 성능은 (e)가 가장 좋다.

또한, 논문에서는 여러 개의 Attention Type을 제시하면서 추가 실험을 진행했는데 Type Name은 (4)-Mixed Attention, (5)-Channel Attention, (6)-Spatial Attention이다. Mixed Attention은 논문에서 사용했듯이 Soft Mask Branch에서 Sigmod를 통과한 결과이고 Channel Attention은 채널별 L2 노름을 통해 Spatial 정보를 제거해 Channel에 대한 정보만을 남긴 것이며 Spatial Attention은 Channel에 대해 정규화를 진행한 다음에 Sigmod를 통과한 결과이다.

그림 9. Test Error On CIFAR-10

세 가지 Type에 대해 추가 실험한 결과 [그림 9]와 같이 논문에서 제안하는 Mixed Attention 기법이 가장 낮은 에러율을 보여주면서 우리가 제안하는 방법이 가장 좋은 성능을 보여주고 있다고 이야기하고 있다.

그림 10. Classification Error (%) on CIFAR-10. (Attention Residual Learning vs. Naive Attention Learning)

그리고 논문에서 제안하는 Attention Residual Learning(ARL)을 사용했을 때 Naive Attention Learning(NAL)보다 [그림 10]과 같이 좋은 성능을 보여준다.


Reference

[1] F. Wang et al., "Residual Attention Network for Image Classification", Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017, pp. 3156-3164. 

728x90
반응형