DnS: Distill-and-Select for Efficient and Accurate Video Indexing and Retrieval 리뷰 (IJCV 2022)
이 논문은 당시 Video Retrieval SOTA 모델인 ViSiL이 성능은 높지만, 매우 많은 연산을 요구하여 속도가 느린 점을 해결하고자 knowledge distillation과 Selector 모델을 활용한다.
Video Retrieval에는 속도가 빠르지만 정확도가 떨어지는 video-level 방법(coarse-grained)과 속도가 느리지만 정확도가 높은 frame-level 방법(fine-grained)이 있는데, DnS는 먼저 video-level 모델 하나와 frame-level 모델 두 개를 student 모델로 두고, ViSiL을 teacher 모델 삼아 knowledge distillation을 수행한다.
그다음, 추론 단계에서 속도가 빠른 video-level student로 기본적인 검색을 수행하되, 속도가 느리더라도 더욱 정확한 frame-level student를 사용해야 할지 판단하여, 필요한 경우 frame-level student를 사용하도록 하는 selector network를 학습시켜 필요에 따라 video-level 혹은 frame-level 방법을 선택하여 사용하도록 한다.

이렇게 video-level 방법과 frame-level 방법을 선택적으로 조합하는 re-ranking 방법을 통해, DnS는 높은 정확도와 기존 frame-level 방법들에 비해 상대적으로 빠른 검색 시간을 가질 수 있었다.
DnS: Distill and Select 구조

DnS 모델은 다음과 같은 3개의 sub network로 구성된다.
- 매우 빠르지만 정확도가 낮은 video-level 모델 Sc
- 속도는 느리지만 정확도가 높은 frame-level 모델 Sf
- 두 검색 모델 중 어떤 모델을 사용할지 결정하는 Selector Network SN
Database의 각 영상은 다음과 같은 세 가지 정보를 저장하고 있다.
- Sc가 생성한 global 1D tensor
- Sf가 생성한 spatio-temporal 3D tensor
- SN이 추출한 Self Similarity Scalar
DnS의 영상 검색 과정은 다음과 같다.
- 먼저, 쿼리 영상을 Sc에 입력하여 gSc를 얻는다.
- gSc를 SN에 입력하여 Sf를 사용할지 결정하는 binary decision gSN을 얻는다.
- 만약 Sf를 사용한다면, 쿼리 영상을 Sf에 입력하여 gSf를 얻고, DB의 영상들과 frame-level로 비교를 수행한다.
- 그렇지 않다면, gSc를 DB 영상들과 video-level로 비교한다.
Network Architectures
Baseline Teacher (T)

teacher 모델로는 ViSiL을 사용한다. (ViSiL 리뷰)
ViSiL은 영상의 각 프레임에서 L3-iMAC을 추출하여 X∈RN×R×D의 video descriptor tensor를 얻는다. 이때, N은 프레임의 수, R은 각 프레임에서 추출하는 영역의 수(L3-iMAC에서 9), D는 각 region 벡터의 크기이다. 추출한 feature에서 각 region 벡터에 학습 가능한 D차원의 벡터를 이용해 l2 attention을 적용한다.
저자들은 이러한 indexing 과정을 fT(x)로 나타내었다.
teacher 모델의 유사도 계산 역시, ViSiL의 것을 그대로 가져왔다. Tensor Dot 연산과 Chamfer Similarity 연산을 통해 각 프레임의 유사도를 region 단위로 비교하여 구하여 frame-to-frame similarity map을 만들고, 이를 Video Comparator (VC)라고 하는 신경망에 넣어 refinement 한 다음, 다시 Chamfer Similarity를 구해 영상 간의 유사도 gT(q,p)를 얻는다.
Fine-grained Attention Student (SfA)
저자들은 두 가지 frame-level student를 만들었는데 이 모델은 Teacher 모델인 ViSiL과 매우 유사한 구조로 되어있다. 때문에 연산량은 거의 비슷하지만, Knowledge Distillation 과정에서 대량의 unlabeled data로 학습되기 때문에 Teacher Model인 ViSiL보다 높은 정확도를 달성할 수 있었다고 한다.
Indexing 과정 fSfA는 ViSiL과 거의 유사하나, Attention 가중치를 부여할 때 학습 가능한 D차원의 벡터를 이용한 l2 어텐션이 아닌, h-어텐션을 수행한다. 먼저 선형 계층에 region vector를 입력해 hidden vector h를 만들고, tanh로 활성화 함수를 적용해 준다. 그리고 context vector u를 곱하여 다시 시그모이드를 태워준 후, 가중치를 적용한다. 식으로 나타내면 아래와 같다.
h=tanh(r⋅Wa+ba)α=sig(u⋅h)r′=αr
결과적으로, 이 모델 역시 ViSiL과 같은 3차원 텐서 서술자를 만든다.
유사도 계산 과정인 gSfA 역시 ViSiL과 완전히 동일하게 수행된다.
Fine-grained Binarization Student (SfB)
이 모델 역시 frame-level 방법으로, ViSiL과 비슷한 구조, 비슷한 연산량을 갖지만 어텐션 대신 binarization을 수행하여 feature의 크기를 크게 줄였다. 덕분에 훨씬 좋은 저장 공간 효율성을 가지며, Distillation 과정에서 더 많은 데이터로 학습될 경우 역시 Teacher 모델인 ViSiL보다 좋은 정확도를 보인다고 한다.
Indexing 과정 fSfB에서 어텐션을 수행하는 대신, region vector r에 학습 가능한 가중치 WB∈RD×L를 곱한 후, 이진화 함수 sgn(r⋅WB)를 적용하여 −1,1 중 하나의 값을 갖도록 한다. 이진화 함수는 미분이 불가하기 때문에, 학습 시에는 이진화 함수에 근사하는 함수를 대신 사용한다. 그러므로, 학습 단계에서 이진화 모듈의 기댓값은 아래 식과 같다. μ는 x가 유도되는 단변량 가우시안 분포의 평균이며 σ2는 고정된 분산이다.
E[sgn(x)]=erf(μ√2σ2)
$\text{erf]()$는 에러 함수로 미분 가능한 함수이기에 활성화 함수로 사용할 수 있다. 결과적으로, 이진화 함수는 아래와 같다.
b(r)=erf(r⋅WB√2σ2)
유사도 계산 과정 gSfB에서는 Chamfer Similarity와 Hamming Similarity를 결합하여 사용한다.
Coarse-grained Student (Sc)

이 모델은 video-level 방법으로 retrieval을 수행하여, teacher 모델이나 다른 student들에 비해 훨씬 적은 저장공간과 연산량을 요구한다. 그러나 그만큼 정확도 역시 낮다고 한다.
Indexing 과정 fSc는 다음과 같은 과정으로 수행된다.
- SfA와 같은 방식으로 어텐션을 부여한 영상의 L3-iMAC feature 추출
- 공간축에 대해 average pooling을 수행하여 각 프레임에 대한 feature가 D차원의 벡터가 되도록 만듦
- 트랜스포머 인코더 구조를 활용해 frame-level feature들의 long-term dependency들을 병합 (TCA)
- NetVLAD 모듈을 통해 전체 feature를 하나의 벡터로 병합
ViSiL과 TCA, NetVLAD를 융합한 방식으로 video-level student의 성능을 최대한 끌어올리려고 했음을 느낄 수 있다.
영상 유사도 계산 gSc는 벡터 간의 닷 연산을 통해 쉽게 수행할 수 있다.
Selector Network (SN)
추론 단계에서 쿼리 영상이 입력되면, 먼저 속도가 빠른 Sc를 통해 모든 영상과의 유사도가 계산된다. 이때, SN은 이렇게 구한 유사도를 사용하는 것이 적절한지, 혹은 더 정확한 유사도를 시간을 들여 구해야 할지 판단한다.
이때, SN은 다음 세 가지 값을 입력받는다.
- Sc로 계산한 두 영상의 video-level 유사도 gSc
- 비교하고자 하는 두 영상의 Self Similarity fSN
SN은 각 영상이 얼마나 큰 spatio-temporal 다양성을 갖는지를 나타내는 self-similarity를 구할 수 있다. 이때, SfA와 같은 방식으로 frame-level feature X∈RN×R×D를 추출하여, 아래 식을 통해 프레임 간 self-similarity를 구한다.
Mxf=1R2R∑i=1R∑j=1X⋅(3,1)XT(⋅,i,j,⋅)
복잡해 보이지만, Chamfer Similarity 연산 대신 평균 연산을 적용한 것으로, 프레임들이 서로 얼마나 유사한지 평균을 구하는 것이다. 이어서, ViSiL과 유사하게 Video Comparator CNN에 이 유사도 행렬을 입력하고, 최종적으로 다시 평균을 구하여, 영상의 self-similarity를 얻는다.
영상의 self-similarity가 낮다면, 영상의 spatio-temporal 다양성이 크다는 것이고, self-similarity가 높다면 영상의 다양성이 적다는 것이다. 영상의 다양성이 적다면 그만큼 frame들이 대체로 비슷하다는 것이고, 굳이 frame-level로 비교를 수행할 필요가 없다는 것이 SN의 가설이다.
앞서 언급한 것처럼, video-level 유사도 gSc와 비교할 두 영상의 self-similarity를 MLP 구조의 이진 분류기에 넣어 frame-level student의 사용 여부를 결정한다.
학습 과정
먼저, Teacher Model인 ViSiL은 VCDB와 같은 labeled video dataset에서 triplet loss를 통해 학습한다. 그 다음, 저자들이 논문에서 제안하는 DnS-100K와 같은 대규모의 unlabeled dataset에 대하여 Teacher 모델이 예측을 수행하고, Student 모델들은 이 예측을 pseudo label 삼아 학습한다.
이때, teacher model로 데이터셋의 모든 영상 쌍에 대한 예측을 수행하기에는 비용이 너무 커지므로, 한 양성 쌍에 대하여 다른 앵커에 대응되는 영상 50개와, 아무 쿼리와도 관련이 없는 방해자 영상 50개를 선정하여 이들에 대한 유사도를 계산해놓고 사용하였다.
Selector Network SN은 Sc와 Sf로 구한 유사도의 차이가 임계값 이상인 영상 쌍들을 분류하도록 이진 교차 엔트로피 손실로 학습된다.
Implementation Details
Teacher의 학습에는 VCDB 데이터셋을 사용하고, Student에 대한 knowledge distillation은 논문에서 제안한 unlabeled dataset인 DnS-100K 데이터셋을 사용하였다. SfB의 이진화 계층에는 DnS에서 추출한 백만 개의 region vector로 학습된 ITQ 알고리즘을 사용하여 초기화를 진행했다고 한다.
Experiments
Retrieval Performance of Individual Networks

각 신경망을 단독으로 사용하였을 때, Teacher model ViSiL T와 유사한 구조를 가지면서 DnS-100K에서 distillation된 SfA가 가장 좋은 성능을 보였으며, 속도도 ViSiL보다 빨랐다.
이진화를 사용하는 SfB는 훨씬 적은 저장공간을 사용함에도 T와 거의 유사한 성능을 보이며, 심지어 ISVR에서는 T보다 높은 성능을 보였다.
Sc는 역시 가장 부족한 성능을 보였지만, 압도적으로 적은 저장공간을 사용하고 검색 속도도 빨랐다.
Distillation vs Supervision

저자들은 각 모델을 teacher와 동일하게 VCDB에서 지도학습하는 경우와, VCDB 혹은 DnS-100K에서 distillation한 경우의 성능을 비교하였다.
전반적으로 Distillation을 사용하는 것이 성능을 향상했으며, 특히 VCDB의 near-duplicate보다 더 다양하고 많은 데이터를 포함한 DnS-100K에서 distillation을 수행하는 것이 성능을 크게 향상했다.
Impact of dataset size

저자들은 Knowledge Distillation 과정에서 사용되는 DnS-100K 데이터셋의 비율을 조절하며, 데이터의 양과 성능의 관계를 분석하였다. SfB와 Sc의 경우, 학습 데이터의 양에 따른 성능의 차이가 크게 나타났다. 반면에 SfA는 학습 데이터의 양이 변화하여도 결과가 비교적 안정적이었는데, 이는 입력 feature를 변형하지 않고 사용하는 SfA가 다른 모델들에 비해 더 강건하게 학습한 것으로 생각된다고 한다.
Student performance with different teachers

앞서, Student 모델들이 Teacher 모델인 ViSiL에 비해 한층 성능이 높은 모습을 보였는데, 이렇게 T로 학습한 모델 Sf(1)A과, 이 모델로 다시 학습한 모델 Sf(2)A를 사용해 Distillation을 수행해 보았다.
신기하게도, fine-grained student들의 성능은 이에 따라 꽤 크게 상승하였다. 그러나 Sc는 성능이 상승하지 않았다.
Student performance with different settings

SfA에 적용하는 어텐션을 기존 ViSiL이 사용하던 l2 어텐션과 h 어텐션 사이에서 비교해 보았다. h 어텐션의 성능이 전체적으로 더 높았기에, 논문에서는 h 어텐션을 사용하였다.


SfB의 이진화 계층에 사용하는 활성화 함수의 비교를 진행하였다. 그 결과, 저자들이 사용한 함수가 가장 좋은 성능을 보였으며, 나아가 이진화에 사용되는 비트 수를 비교하였을 때, 비트가 많을수록 성능이 향상됐다.

Coarse-grained Student Sc의 각 모듈에 대하여 Ablation Study를 실시한 결과, 모든 모듈이 존재하는 것이 가장 높은 성능을 보였다. 위 표에 아무 모듈도 없는 경우도 있었으면 좋았을 것 같은데, 없는 이유는 의문이다....
Selector Network Performance

정확도가 낮은 Sc를 사용할지, Sf를 사용할지 판단하는 기준에 따른 성능을 분석하였다. Sc와 Sf가 생성하는 유사도를 알고 있는 경우를 의미하는 당연히도 Oracle이 가장 높은 정확도를 내었고, selector network를 사용하는 방법이 뒤를 이었다. 단순히 유사도 thresholding을 진행하는 경우, 가장 안 좋은 성능이 나타났다.
Impact of threshold on the selector performance

Selector Network 학습에 사용되는 threshold 값 설정에 따른 성능 비교를 수행하였다. t=0.2로 설정한 경우가 가장 성능이 좋았으나, 0.1~0.4 사이의 성능이 사실 대부분이 비슷하였다. 다만 t가 0.4를 넘자 성능이 급격히 하락하였다.
Comparison with SOTA


저자들은 여러 SOTA 모델들과 FIVR-200K, CC_WEB_VIDEO, SVD, EVVE 데이터셋에서 비교를 수행하였다. 지표는 mAP, 영상 서술자의 용량, 쿼리 당 검색 시간을 비교하였다.
모든 DnS 모델의 Teacher로는 Sf(2)A이 사용되었으며, 입력 데이터 중 5%, 혹은 30%의 데이터를 fine-grained student에게 보내 재분석하도록 하였다.
비교 결과, SfA가 FIVR-200K, CC_WEB의 cleaned 버전, SVD에서 Video Retrieval 모델 중 가장 높은 mAP로 SOTA를 달성하였다.
DnS 모델들은 이 논문에서 제안한 Sf를 제외한 모델들 중 가장 높은 mAP를 달성하였으며, 검색 속도는 frame-level 방법 중에는 가장 낮은 수준으로 나왔다. 그러나 여전히 video-level 방법에 비해서는 매우 많은 시간이 소모되는 모습을 보여 아쉽다.
이 논문에서는 기존 Video Retrieval의 검색 속도 - 정확도 tradeoff를 해결하기 위해 다음과 같은 방법을 활용한다.
- Knowledge Distillation을 이용해, 정확하면서 속도는 teacher 모델보다 빠른 student model 학습 (Distill)
- 속도가 빠르지만 상대적으로 부정확한 coarse-grained student로 먼저 예측하고, 필요에 따라 느리지만 정확한 fine-grained student로 예측하도록 하는 selector network 학습 (Select)
Student의 경우에도, 단순히 fine-grained / coarse-grained만 설계한 것이 아니라, 저장공간을 아낄 수 있는 이진화 모델을 설계하거나, fine-grained model의 어텐션을 개선하고, coarse-grained의 경우 TCA와 NetVLAD를 적용하는 등 다양한 개선을 시도하였다.
이를 통해 일반적으로 쿼리 당 수백초의 검색 시간이 요구되는 frame-level 방법론들 보다는 빠른 8초대, 45초대의 검색속도를 가질 수 있었으나, 여전히 1초 미만의 검색 속도를 갖는 video-level 검색 방법들에 비해서는 많이 느린 상황이다.
그러나 distillation을 통해 모델의 정확도가 상당히 향상되어, 이 점도 주목할 만하다고 생각하며, video-level, frame-level 모두 검색 속도가 더욱 발전되었을 때 유사한 방식의 re-ranking 모델이 사용된다면 실용적이리라 생각된다.
저널 논문은 처음 읽어봐서 긴 논문에 꽤 놀랐는데, 읽는 데는 오래 걸려도 설명이 상세하여 좋았던 것 같다.
'Deep Learning > 논문 리뷰' 카테고리의 다른 글
댓글
이 글 공유하기
다른 글
-
CLIP: Learning Transferable Visual Models From Natural Language Supervision 리뷰 [ICML 2021]
CLIP: Learning Transferable Visual Models From Natural Language Supervision 리뷰 [ICML 2021]
2023.08.24 -
Everything at Once - Multi-modal Fusion Transformer for Video Retrieval 리뷰 [CVPR 2022]
Everything at Once - Multi-modal Fusion Transformer for Video Retrieval 리뷰 [CVPR 2022]
2023.08.03 -
TCA: Temporal Context Aggregation for Video Retrieval with Contrastive Learning 리뷰 (WACV 2021)
TCA: Temporal Context Aggregation for Video Retrieval with Contrastive Learning 리뷰 (WACV 2021)
2023.07.18 -
Background Suppression Network for Weakly-Supervised Temporal Action Localization 리뷰 [AAAI 2020]
Background Suppression Network for Weakly-Supervised Temporal Action Localization 리뷰 [AAAI 2020]
2023.07.04
댓글을 사용할 수 없습니다.