안녕하세요, 학부연구생 박윤아입니다.

지난 4월에 처음으로 논문 리뷰 발표를 했었는데, 오늘 7월 21일 두번째 발표를 하게 되었습니다. 

 

이 논문의 핵심 아이디어는, Attention Similarity Knowledge Distillation (A-SKD)로 Teacher model의 attention map을 student model로 전달하여, 저해상도 이미지에서도 얼굴인식 성능을 내도록 하는것 입니다. 

attention map을 distillation할 때 '고해상도 모델의 channel과 저해상도 모델의 channel의 역할(혹은 파라미터)가 다를텐데, attention map을 바로 전달해도 되는건지' 에 대해 질문하셨는데, 답하지 못했습니다.

논문에서 CBAM attention module을 사용했다고 나와있는데, 이 논문을 통해 실마리를 얻을 수 있을것 같아 공부해볼 예정입니다. 

 

[31] Woo, S., Park, J., Lee, J.Y., Kweon, I.S.: CBAM: Convolutional Block Attention Module. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 11211 LNCS, 3–19 (jul 2018), http://arxiv.org/abs/1807.06521

 

 

 

A-SKD의 loss는 다음 두가지 term으로 이루어집니다. 그 중 arcface loss에 대해 자세히 다루어보려고 합니다. 

arcface loss는 addictive angular margin loss라고도 불리는데요, 각에 margin term을 추가하여 feature와 class 중심 사이의 각도가 충분히 줄어들도록 학습하게 됩니다. 

 

자세한 과정은 다음과 같습니다.(민수님이 이해에 도움을 주셨습니다 감사합니다!)

아래 식에서 j가 정답 class 일때 log~ 식은 1에 가까워지도록 학습됩니다.

그러면 s* cosine θ _j 의 값은 0에 가까워지고 θ _j는 커집니다. 그래서 input feature와 정답이 아닌 class의 대표벡터(W_j)간의 각도가 커집니다. 그러면 그 영향으로 intra class간의 각도가 작아집니다. 

 

L_acrface

 

 

여기에서 클래스마다 같은 m값을 사용하는것이 맞는지, 그렇다면 intra class들의 거리가 줄어드는것이 맞는지에 대해 질문하셨습니다. 유진님께서 m은 360/class개수로 사용된다고 답변해주셨습니다. 

 

 


실험결과

 

다양한 distillation methoddown sample 비율을 조합한 모델의 저해상도 얼굴인식 성능을 보여줍니다.
Resolution 1x 이고 Base인 모델은 teacher 모델이고 Resolution 1x 이고 Base인 모델은 student 모델입니다.
A-SKD 방법이 모든 method보다 높은 verification 성능을 보이고 있습니다.

안녕하세요, KDST팀 학부연구생 이원준입니다.

2023년 6월 30일에 진행하였던 논문 세미나 내용 간단하게 전달드리겠습니다.

 

본 논문에서 제안하는 내용은 다음과 같습니다.

  • 저자는 vision transformerimage task에서 이미지를 확인하는 long-range dependency로 인해 성공적으로 적용되고 있다고 말합니다. 하지만 논문에서 기존의 cnnvision transformer 사이의 성능과 computational cost 사이의 gap이 존재하는데 이러한 서로간의 장단점을 극복하기 위해 CMT라는 새로운 아키텍쳐를 제안합니다
  • Vision transformer의 long-range dependency 뿐만 아니라, CNN의 Local Feature의 장점을 활용한 하이브리드 네트워크, 기존의 Vision transformer에서 CNN 모델만큼 높은 성능을 자랑하는 모델인 CMT를 제안한다.
  • Vision transformer가 우수한 성능을 보임에도 불구하고, 그 성능은 여전히 유사한 크기의 CNN에 비해 크게 떨어진다. 이러한 이유의 원인을 3가지라고 논문의 저자는 설명한다.
    • 첫번째, 일반적으로 이미지를 패치로 분할하게 되는데, 이렇게 하면 patch-sequence를 transforemer에 직접 입력하기 때문에 patch들 간의 long range dependency를 효과적으로 찾아낸다. 하지만 이는 sequence 기반인 NLP와 이미지 기반의 Vision(각 패치 내의 2D 구조 및 로컬 공간 정보) 간의 근본적인 차이를 무시하게 되는 것이다.
    • 두번째, 고정된 patch 크기로 인해 저해상도 및 Multi scale Feature Map 추출에 어려움을 겪는다. 
    • 세번째, Vision transformer의 연산량은 $ O(N^2C) $인 반면, CNN은 $ O(NC^2) $의 형태이므로, COCO와 같이 높은 해상도 등을 학습시키는데 무리이다.

구체적인 아키텍쳐의 구성은 다음과 같습니다.

  • CMT에 도입된 CMT Block은 depth-wise convolution에 의해 local information이 향상된 Block이다.
  • 또한, sequence 길이를 점진적으로 줄이고 차원을 증가시키기 위해 stride 2가 있는 4개의 Conv layer를 사용하여 CNN과 유사한 아키텍쳐를 구현하였다. 이로 인해 multi-scale feature를 추출하고 고해상도로 인한 cost 부담을 줄일 수 있다.
  • CMT Block의 LPU(Local Perception Unit)와 IRFFN(Inverted Residual Feed-Forward Network)은 로컬과 글로벌 구조 정보를 모두 캡처하고 네트워크의 표현 능력에 도움이 된다. 
  • 마지막으로, average pooling은 더 나은 분류 결과를 위해 Vision transformer의 class token을 대체하는데 사용된다.
  • CNN과 Transformer의 장점을 모두 활용하기 위해 hybrid 방식의 network를 구성한다.

Overall Architecture

실험 결과는 아래 사진과 같습니다.

Imagenet classification 결과를 보면 동일한 flop에서 accuracy가 기존의 방법보다 상당히 좋고 cnnefficientnet보다 상당히 잘나오는것을 볼 수 있습니다. 그리고 flop이 더 높은 것들이랑 비교를 해도 훨씬 좋은 성능을 보여주는걸 확인할 수 있습니다.

 

자세한 내용은 논문을 참고해주시면 감사하겠습니다.

 

감사합니다.