본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Multi Modal

[2023-2] 백승우 - RUBi: Reducing Unimodal Biases for Visual Question Answering

by BaekDaBang 2023. 11. 20.
 

RUBi: Reducing Unimodal Biases in Visual Question Answering

Visual Question Answering (VQA) is the task of answering questions about an image. Some VQA models often exploit unimodal biases to provide the correct answer without using the image information. As a result, they suffer from a huge drop in performance whe

arxiv.org

 

0. Abstract

일부 VQA 모델은 image 정보를 사용하지 않고, 정답을 도출하기 위해 unimodal bias를 이용한다(여러 개의 modality가 존재하지만, 그 중 하나의 modality에만 치중에서 결과를 도출). 그 결과, 학습한 데이터가 아닌 데이터로 평가할 때 성능이 크게 떨어진다. 위와 같은 문제를 해결하기 위해, 모든 VQA 모델에서 편향을 줄이기 위한 새로운 학습 전략인 RUBi를 제안했다(Model-agnostic한 방법론).

 

가장 편향된 예제, 즉 이미지를 보지 않고도 정확하게 분류할 수 있는 예제의 중요도를 줄여준다. 이는 질문과 답변 사이의 statistical regularity(통계적 규칙성, ex. 데이터에서 초록색 바나나의 갯수보다 노란색 바나나의 갯수가 많기 때문에, VQA 모델에서 바나나가 초록색일 확률이 초록색일 확률보다 높음)에 의존하는 대신 두 가지 modality를 사용하도록 VQA 모델을 강제한다. 이러한 원치 않는 규칙성이 사용되는 시점을 식별하여, 편향을 포착하는 question-only model을 활용한다(기본 VQA 모델이 예측에 영향을 미쳐 학습하는 것을 방지). 이를 통해 편향을 보정하기 위해 loss를 동적으로 조정한다.

 

VQA-CP 데이터 세트는 질문 유형과 정답 간의 상관관계가 훈련과 테스트 분할에 따라 달라지도록 VQA v2를 재구성하여 구축되었다. 예를 들어, 어떤 스포츠...로 시작하는 질문에 대한 가장 일반적인 답변은 훈련 세트에서는 테니스이지만 테스트 세트에서는 스키이다.

 

VQA-CP v2 데이터셋에서 SOTA를 달성했다. 해당 데이터셋은 훈련 시와 다른 문제 편향에 노출되었을 때 VQA 모델의 견고성을 평가하기 위해 만들어졌다.

 

1. Introduction

VQA의 task는 이미지에 대한 질문에 답하는 것이다. 이미지 이해, 질문 이해 , 이미지에 대한 텍스트 설명을 바탕으로, 이미지와 텍스트 두 가지 데이터를 적절히 사용(unimodal bias에 치우쳐지지 않게)해야 한다.

학습 중에 VQA 모델이 학습하는 unimodal bias의 양을 줄이는 것을 목표로 한다.

 

기존 model에서는 두 modality의 정보를 병합하도록 설계되었지만, 실제로는 답변 발생과 문제의 특정 패턴 사이의 statistical regularity를 이용하는 경향 때문에 이미지 양식을 고려하지 않고 대답하는 경우가 많았다. 이미지를 보고 바나나를 감지하고 바나나의 색을 평가하는 대신, 가장 많이 발생하는 답변인 노란색으로 '무엇, 색깔, 바나나'를 연결하는 통계적 바로 가기를 통해 학습하는 것이 훨씬 더 쉽고, 다른 통계적 규칙성을 나타내는 테스트 세트에서 평가할 경우 일반적으로 정확도가 크게 떨어진다. 때문에 대부분의 바나나가 노란색인 경우, 모델은 바나나의 색을 묻는 질문에 대해 높은 정확도를 달성하기 위해 올바른 동작을 학습할 필요가 없다. 하지만 여러 데이터에 대해서, 위의 그림처럼 더 나은 행동을 학습하기 위해서는 질문 양식에서 오는 편향을 줄이기 위한 새로운 전략이 필요하다.

 

이 논문은 VQA 모델이 학습하는 편향의 양을 줄이기 위한 훈련 전략인 RUBi를 제안한다.

1. Image modality를 보지 않고도 정확하게 분류할 수 있는 예제(편향된 예제)의 중요도를 줄임

2. 두 가지 입력 modality를 사용하도록 암묵적으로 VQA 모델에 강제

 

Question-only model은 설계상 VQA 모델이 image보다는 text(질문) modality에 편향되어 있다는 사실을 활용한다.
훈련 중에만 기본 VQA 모델 위에 question-only model branch를 추가한다. 이 branch는 편향성을 보정하기 위해 손실을 동적으로 조정하여 VQA 모델에 영향을 미친다. 그 결과, 편향성이 가장 심한 예제의 경우 VQA 모델을 통해 역전파되는 기울기(gradient)가 감소하고 편향성이 덜한 예제의 경우 증가한다. 훈련이 끝나면 해당 branch를 제거한다.

 

RUBi 학습 프레임워크는 Stacked Attention Network 및 Top-Down Bottom-Up Attention과 같은 여러 VQA 아키텍처에 적용될 때 이점을 제공한다.

 

2. Related work

아래에서는 VQA 모델이 학습 과정에서 unimodal 편향을 평가하고 줄이는 관련 작업에 대해 설명한다.

Assessing unimodal biases in datasets and models                                                                                                            

두 가지 입력 modality를 병합하도록 설계되었음에도 불구하고, 종종 다른 modality를 고려하지 않고, 한 양식의 입력과 답변 간의 상관관계에 의존한다. VQA 모델이 잠재적으로 학습할 수 있는 unimodal 편향의 양을 정량화하는 방법은 두 가지 modality 중 하나만 사용하여 모델을 학습하는 것이다. RUBi 학습 전략에서는 이 기준 모델을 활용하여, VQA 모델이 문제 편향을 학습하지 못하도록 방지한다.

 

한 문제 양식의 통계적 지름길을 활용하는(질문 양식에) 편향된 모델은 일반적으로 대부분의 현재 벤치마크에서 인상적인 정확도에 도달한다. 하지만 최근 훈련과 테스트 분할 간의 각 질문 유형에 대해 서로 다른 답변 분포를 포함하는 진단 데이터셋으로 VQA-CP v2 및 VQA-CP v1이 도입되었다. 질문 양식에 편향된 모델은 이러한 벤치마크에서 실패했다. RUBi는 문제 양식에서 오는 편향성 학습을 줄이는 접근 방식의 능력을 보여주기 위해 더 까다로운 VQA-CP v2 데이터 세트를 광범위하게 사용했다.

 

Balancing datasets to avoid unimodal biases                                                                                                                       

Unimodal 편향이 확인되면, 균형 잡힌 데이터셋을 만들면서 극복할 수 있다. 하지만 실제 VQA 데이터셋에서 거부 샘플링을 수행하는 것은 주석 비용 때문에 일반적으로 불가능하다.

 

또 다른 해결책은, 보완적인 예제를 수집하여 작업의 난이도를 높이는 것입니다. 예를 들어, 보완적인 이미지를 식별하여 VQA v1 데이터셋의 언어 선행자를 약화시키기 위해 VQA v2가 도입되었다. 주어진 VQA v1 질문에 대해 VQA v2에는 동일한 질문에 대한 다른 답변이 있는 유사한 이미지도 포함되어 있다. 그러나 이러한 추가적인 균형 조정에도 불구하고, 질문의 통계적 편향은 남아있다.

 

그렇기 때문에 훈련 중에 단일 모드 편향을 줄이는 접근 방식을 제안한다. 이 접근 방식은 편향된 데이터 세트에서 편향되지 않은 모델을 학습하도록 설계되었다. 질문의 편향을 줄이기 위해 손실 값을 동적으로 수정하는 학습 전략을 통해, 특정 예제(노란색 바나나)의 중요도는 낮추고 이미 훈련 세트에 있는 보완 예제(초록색 바나나)의 중요도는 높인다.

 

Architectures and learning strategies to reduce unimodal biases                                                                                   

빨간색으로 강조 표시된 모듈은 학습이 끝나면 제거됩니다. 출력 ˆai가 최종 예측으로 사용됩니다.

 

Grounded VQA(GVQA)
질문에 답하는 데 필요한 시각적 영역을 찾아 인식하는 첫 번째 모델과 질문 전용 브랜치를 기반으로 그럴듯한 답변의 공간을 식별하는 두 번째 모델로 세분화한다. 이러한 접근 방식은 여러 하위 모델을 개별적으로 훈련해야 한다.

 

RUBi

- end-to-end: 입력에서 출력까지 파이프라인 네트워크 없이 신경망으로 한 번에 처리

- model-agnostic: 모델에 구애받지 않고 적용 가능하다.

RUBi는 선행연구(Sainandan Ramakrishnan, Aishwarya Agrawal, and Stefan Lee. Overcoming language priors in visual question answering with adversarial regularization. In Advances in Neural Information Processing Systems, pages 1541–1551, 2018.)와 주로 연관되어 있다.

 

선행연구와 마찬가지로, 비교 question-only branch(위 사진 속 RUBi strategy)는 VQA 모델에서 나온 question encoding을 입력으로 받아 question-only loss를 생성한다. 이 loss의 gradient negation(기울기 부정)을 사용하여 question encoder가 VQA 모델에 원하지 않는 편향이 반영되지 못하도록 합니다.

또한 선행연구에서는, VQA model과 question-only branch 출력 분포 간의 엔트로피 차이에 기반한 loss도 제안한다. 이 두 가지 손실은 question encoder로만 역전파된다. 이와는 대조적으로ㅡ RUBi의 학습 전략은 원치 않는 편향의 영향을 보다 효과적으로 줄이기 위해 전체 VQA 모델 파라미터를 대상으로 한다. 이 두 가지 추가 손실에 의존하는 대신, 질문 전용 분기를 사용하여 분류 손실 값을 동적으로 조정하여 VQA 모델에서 편향 학습을 줄인다.

 

3. Reducing Unimodal Biases Approach

VQA의 일반적인 함수화를 다중 클래스 분류 문제로 간주한다.

데이터셋은 v(이미지), q(질문), a(정답)로 구성된다.

 

데이터셋

 

VQA 모델은 아래의 구성요소로 구성된다.

VQA 모델, 함수의 매개변수를 최적화해야 정확한 예측을 생성할 수 있다.
output a set of n_v vectors of dimension d_v
output a set of nq vectors of dimension dq

 

 

Classical learning stregy and pitfall

이전 VQA 모델의 학습 전략은 n 크기의 데이터셋에 대해 표준 교차 엔트로피 기준을 최소화하는 것으로 구성된다.

loss function

 

VQA 모델은 dataset에서 unimodal 편향을 학습하는 경향이 있다. 예를 들어, 데이터셋에 바나나가 노란색이 아닌 예가 너무 적기 때문에 이미지 정보를 사용하는 방법을 학습하지 못한다. RUBi에서는 이러한 편향이 학습되지 않도록, cost 함수를 수정했다.

 

3.1 RUBi learning strategy

첫 번째 행에서는 이미지를 보지 않고도 정답을 맞힐 수 있는 예제에서 RUBi가 어떻게 손실을 줄이는지 보여준다. 두 번째 행에서는 두 가지 방식을 모두 사용하지 않고는 정답을 맞출 수 없는 예제에서 RUBi가 어떻게 손실을 증가시키는지 설명한다.

Capturing biases with a question-only branch

VQA 데이터셋의 unimodal 편향은 두 가지 modality 중 하나만 입력으로 사용하는 unimodal model을 훈련시켜 측정한다.
주요 아이디어는 question-only model을 VQA 모델의 한 가지로 적용하여, 기본 모델의 예측을 변경하는 것이다.

 

 

Question-only branch
output a set of n_q vectors of dimension d_q,



훈련 중에 branch는 방정식(1)에 제시된 형태의 VQA 모델이 편향을 학습하지 못하도록 방지하는 프록시 역할을 한다.

훈련이 끝나면 branch를 제거하고, 기본 VQA 모델의 예측을 사용한다.

 

Preventing biases by masking predictions

기본 VQA 모델의 예측을 방정식(2)에 정의된 손실 함수에 전달하기 전에 각 답변에 대해 0과 1 사이의 스칼라 값을 포함하는 길이 |A|의 마스크로 병합한다. 이 마스크는 신경망 nn_q의 출력을 시그모이드 함수에 전달하여 얻습니다. 이 마스크의 목표는 VQA 모델의 예측을 수정하여 손실을 동적으로 변경하는 것이다. 새로운 예측을 얻으려면 다음 방정식에 정의된 대로 '마스크'와 '원래 예측' 사이의 요소별 곱을 계산한다.

 

이러한 특정 방식으로 예측을 수정하여 VQA 모델이 질문에서 편향을 학습하는 것을 방지한다.

 

첫째, 가장 편향된 예제(image modality)를 사용하지 않고도 올바르게 분류할 수 있는 예제의 중요성을 줄인다. 이를 위해 question-only branch는 정답의 점수를 높이고, 다른 예제의 점수를 낮추는 마스크를 출력한다. 결과적으로 이러한 편향된 예제에서 손실이 훨씬 낮아진다. 즉, VQA 모델을 통해 역전파되는 미분값이 더 작아져 학습에서 편향된 예제의 중요도가 줄어든다. 그림 3의 첫 번째 행에 표시된 것처럼 바나나는 어떤 색인가라는 질문이 주어졌을 때, 마스크는 훈련 세트에서 이 질문에 대한 가장 가능성이 높은 답변인 노란색에 대해 0.8이라는 높은 값을 취한다. 반면에 다른 답변인 녹색과 흰색의 값은 더 작다. 마스크가 VQA 모델에 영향을 미쳐 노란색 답안과 관련된 점수가 0.8에서 0.94로 증가하는 새로운 예측을 생성하는 것을 볼 수 있습니다. 기존 학습 접근 방식과 비교했을 때 RUBi를 사용하면 손실이 더 작으며 0.22에서 0.06으로 감소한다.

 

둘째, 두 가지 방식을 모두 사용하지 않고는 답할 수 없는 예제의 중요도를 높였다. 이러한 예제의 경우 문제 전용 브랜치는 오답의 점수를 높이는 마스크를 출력한다. 결과적으로 손실이 훨씬 더 커지고, VQA 모델이 이러한 예제에서 학습한다. 예를 들어, 이미지에 녹색 바나나가 포함된 경우 RUBi는 손실이 0.69에서 1.20으로 증가한다.

 

Joint learning procedure

두 가지 손실에서 계산된 기울기를 사용하여 기본 VQA 모델과 해당 question-only branch의 파라미터를 공동으로 최적화한다. 주 손실함수은 방정식 4의 예측과 관련된 교차 엔트로피 loss를 나타낸다.  이 손실을 역전파하여 이 loss에 기여한 모든 파라미터를 최적화한다.  파라미터는 기본 VQA 모델, 인코더, question-only branch의 신경망의 파라미터를 합한 값이다. 

이 설정에서는 질문 인코더의 파라미터를 VQA 모델과 question-only branch 간에 공유한다. 질문 전용 손실함수는 방정식 3의 예측과 관련된 교차 엔트로피 loss이다.  이 손실을 사용하여 파라미터(파라미터 c_q와 nn_q의 합산)를 최적화한다. 이렇게 함으로써 편향을 포착하는 question-only branch 성능을 개선할 수 있다. 이 손실을 문제 인코더에 역전파하지 않으므로 문제 편향을 직접 학습하지 못한다.

다음 방정식에서 두 손실을 합산하여 RUBi의 loss를 구한다.

 

 

3.2 Baseline architecture

사전 학습된 Faster R-CNN을 사용하여 이미지를 인코딩하고, skipthought(비지도 학습 모델)에 대해 사전 학습된 GRU를 사용하여 질문을 인코딩한다. VQA 모델은 질문 표현 q를 이미지의 각 영역의 특징과 병합하는 Bilinear BLOCK fusion으로 구성된다. 출력은 n_v 영역에서 max pooling을 사용하여 누적된다. 그런 다음 결과 벡터는 최종 예측을 출력하는 MLP 분류기로 입력된다. 대부분의 실험은 이 빠르고 간단한 기본 아키텍처로 수행되지만, 실험적으로 RUBi 학습 전략이 다른 VQA 아키텍처에서도 효과적이다.

 

4. Experiments

4.1 Results

VQA-CP v2 테스트의 최신 결과. 보고된 모든 모델은 [15]의 동일한 기능을 사용한다. *가 표시된 모델은 [25]에 의해 학습되었다. **가 있는 모델은 [45]에 의해 학습되었다.
VQA-CP v2 테스트에서 다양한 아키텍처에서 RUBi 학습 전략을 사용했을 때의 효과
VQA v2 val 및 테스트-개발 스플릿에서 RUBi 학습 전략의 전반적인 정확도

 

4.2 Qualitative analysis

VQA-CP v2 테스트에서 RUBi의 출력과 기준선 간의 정성적 비교. 왼쪽에는 훈련 세트, 테스트 세트에서 평가된 기준선, 테스트 세트의 RUBi 및 테스트 세트의 기준 진실 답변에 대한 답변 분포가 표시된다. 각 행에 대해 특정 방식으로 문제를 필터링한다. 첫 번째 행에는 '이 사람은 스키를 타고 있습니다'라는 문자열과 정확히 일치하는 질문만 유지한다. 다른 세 행에서는 각각 어떤 색 바나나, 어떤 색 소화전, 어떤 색 별 소화전이라는 단어가 포함된 질문을 필터링한다. 오른쪽에는 왼쪽의 패턴이 포함된 예가 표시된다. 각 예제마다 기준선과 RUBi의 답변과 관심도 맵에서 가장 높은 점수를 받은 영역이 표시된다.

 

5. Conclusion

VQA model에서 학습한 unimodal 편향을 줄이기 위해 RUBi를 제안한다. RUBi는 모델에 구애받지 않도록(model agnostic) 설계된 간단한 학습 전략이다. 이는 question modality에서 원치 않는 statistical regularity를 포착하는 queation-only branch를 기반으로 한다. 이 분기는 기본 VQA 모델에 영향을 미쳐 질문에서 unimodal 편향이 학습되는 것을 방지한다.

 

문제 편향을 고려하도록 특별히 설계된 데이터 세트인 VQA-CP v2의 최신 결과보다 정확도가 +5.94% 포인트 향상되었음을 입증했다. 또한 RUBi가 다양한 종류의 일반적인 VQA 모델에서도 효과적이라는 것을 보여주었다.