이미지와 텍스트 간 관계를 학습하기 위해 대부분의 연구에서 cross-attention 메커니즘 사용함.
Q와 K/V 가 서로 다른 데이터에서 오며, 세밀한 유사도를 계산 가능함.
단점 : 모든 이미지-텍스트 쌍을 비교해야 하기 때문에 계산량이 매우 크고, 대규모 데이터셋에서는 비효율적임.
Attention(Q,K,V)=softmax(dkQK⊤)V
Dual-encoder 방식
두 모달리티를 각각 독립적으로 인코딩한 뒤, joint embedding 공간에서 표현.
한 번 임베딩한 image를 캐시(cache)해 재사용할 수 있어 연산 효율성이 뛰어나 real-world retrieval에 적합함.
단점 : cross-attention 방식에 비해 정밀도가 떨어질 수 있음.
2. 연구 필요성 및 차별성
기존 방식( BERT, CLIP 등)은 대량의 데이터를 사용하면서도 object-attribute binding 성능이 부족, 별도의 scene graph 생성기 사용해 정확도 떨어짐.
본 연구는 scene graph를 활용해 object/attribute/relation semantics를 캡처하는 dual-encoder 기반의 새로운 접근법을 제안.
Global (image-caption)과 Local (image-object entity) 레벨에서 contrastive loss로 학습된 2-step graph encoding 방식을 사용해 효과적인 학습을 수행함.
3. 연구 질문
Scene graph를 활용한 dual-encoder 접근법이 기존 cross-attention 방식의 성능을 능가할 수 있는가?
Image-text, Image-entity 간의 관계를 효율적이고 의미적으로 정렬하는 최적의 방법은 무엇인가?
4. 사용 이론
Graph Attention Network(GAT)
Object-attribute 및 Object-object 관계 모델링에 사용함.
Contrastive Loss 및 Triplet Loss
Image-text/entity 간 정렬 및 학습 안정성 보장함.
Specificity Loss
Image-caption의 유사도를 Image-entity 간 유사도보다 높게 유지해 semantic alignment 강화.
5. 연구 방법
Visual feature extractor
ResNet-101을 백본으로 하는 Faster R-CNN을 사용해 이미지에서 salient regions( top-36 )를 탐색.
Multi-Head Self-Attention으로 contextualize하고 GPO( SOTA pooling operator ) 사용해 전체 이미지 표현 생성.
Scene graph parser & Semantic concept encoder
Scene graph parser : 텍스트를 파싱해 object/attribute 노드를 생성하고, relation을 edge로 구성.
Semantic concept Encoder : GloVe( get L*300 dimensional vector sequence ), Bi-GRU( get 대표 final hidden states ), BERT( after averaging all tokens' output hidden states ) 활용해 텍스트를 벡터로.
Scene Graph Embedding
Bottom-up 방식의 2단계 GAT 적용:
Object-attribute 관계를 먼저 모델링한 뒤, object-object 관계를 모델링.
초기 노드 표현은 hi.
1단계: Object-Attribute GAT (Bottom Level)
목표 : Object가 연결된 attribute와의 관계를 모델링하여 semantic representation에 반영.
Subgraph : GOA=(V,EOA), 여기서 V는 object와 attribute 노드, EOA는 object-attribute 간 edge.
GAT 적용 과정
Object hi와 Attribute hj간의 관계 중요도 계산:
e(hi,hj)=a⊤LeakyReLU(W⋅[hi∥hj])
중요도 정규화:
αi,j=softmax(e(hi,hj))
주변 노드 정보(Attributes) 결합해 Object 표현 업데이트:
hi′=ReLU⎝⎜⎛j∈Ni∑αi,jWhj⎠⎟⎞
결과
GAT 적용 결과, Object와 Attribute 관계가 반영된 새로운 Object 임베딩 생성.
{hi′}=GATObj-Att({hi},GOA)
Object는 attribute와의 관계를 반영하여 Entity embedding으로 변환됨:
{ei}i=1∣O∣
2단계: Object-Object Relation GAT (Top Level)
목표 : Object 간의 관계를 모델링하여 semantic contextualization 수행.