Gorio Tech Blog search

AGQA 2.0 - An Updated Benchmark for Compositional Spatio-Temporal Reasoning 설명

|

이번 글에서는 AGQA 2.0: An Updated Benchmark for Compositional Spatio-Temporal Reasoning 논문을 정리한다.


Abstract

  • AGQA 1.0에서는 언어적 편향의 영향을 줄이기 위해 균형 잡힌 답변 분포로 훈련/테스트 분할을 제공하였다.
  • 그러나 여전히 편향성(bias)이 일부 남아 있다.
  • 2.0 benchmark에서는 몇 가지 개선 사항, 특히 더 엄격한 balancing이 적용되었다.
  • 그리고 모든 실험에 대해 업데이트된 benchmark 결과를 report한다.

1. Action Genome Question Answering

AGQA는 bias를 많이 없앤 좋은 VQA benchmark이지만 부족한 점이 여전히 있었다. 그래서 본 논문에서 2.0 버전으로 업그레이드한 버전을 소개하고자 한다. 언어적 편향성(language bias)을 더욱 제거할 수 있는 더 강력한 balancing 작업을 진행하여 총 96.85M개의 QA 쌍에서 2.27M쌍의 균형잡힌 데이터셋을 만들었다.

Section 2에서는 1.0과 2.0의 차이를, Section 3에서는 기존 모델들의 달라진 성능 체크를 report한다. balanced 버전에서는 어떤 모델도 이지선다형 질문에 51%의 정확도를 넘지 못했다.


2. Updates to AGQA

2.0에서는 특히 balancing 과정에 신경을 많이 썼다. 이전의 balancing 작업 역시 bias를 많이 없애기는 하였으나 여전히 남아 있는 bias를 모델들이 활용하였다.

  • balancing algorithm은 (다지선다형에서) 각 정답의 비율이 동일하도록 조정한다. 즉 특정 종류의 질문의 대답이 yes/no라면 yes가 50%, no도 50%의 비율로 나타나도록 한다.
  • Temporal localization phrases를 다루는 category definition도 재정의했다.
  • 결과적으로 HCRN의 경우 yes/no 질문에서 1.0에서는 72.12%의 정답률을 보였지만 bias를 제거한 2.0에서는 50.10%밖에 달성하지 못했다.

이외에도 작은 upgrade들이 있었다:

  1. relationship type을 명시하지 않고 object의 존재 여부를 물을 때 contactingtouching 용어를 interacts with로 바꾸었다. 이는 actor가 object를 물리적으로 “touch”하지 않아도 답변이 yes가 될 수 있음을 의미한다. 또한 doorway 상호작용은 불명확하므로 제거하였다.
  2. 종종 모호할 수 있는 간접적인 표현을 제거하였다. the thing they were doing to <object>와 같은 간접 관계 표현은 동치인 직접 관계 표현으로 바꾸기 애매하다. 또한 the object they held before running와 같이 temporal localization phrases와 관련한 object에 대한 간접 표현도 제거하였다.
  3. temporal localization phrases를 쓰려면 적어도 한 개의 annotated frame이 영상 안에 존재해야 하는 조건을 추가하였다. What did they do before running?와 같은 질문을 생성하려면 running 정보가 있는 frame이 적어도 하나는 존재해야 한다. (역자: 당연한 거긴 하지만)
  4. 간접표현에서 backward 용어가 잘못 사용된 것을 forward로 수정하였다.
  5. GT answer를 일반적인 단어인 action으로 대체함으로써 What action were they doing the longest?와 같이 최상급 표현으로 된 action에 대한 program을 개선하였다.
    • 가장 긴 action이 sitting인 영상 하나를 생각하자.
    • What was the person doing for the longest amount of time? 프로그램은
    • Superlative(max, Filter(video, [actions]), Subtract(Query(end, sitting), Query(start, sitting)))에서
    • Superlative(max, Filter(video, [actions]), Subtract(Query(end, action), Query(start, action)))으로 바뀌었다.
  6. 질문의 추론 단계를 최대 8단계로 제한하였다.
  7. relTimeobjTime 유형의 문제는 sequencing 추론 유형으로 labeling했다.
  8. 모든 답변은 소문자로 표시한다.
  9. holding a blanket과 같은 action은 relationship(holding)과 object(blanket)으로 나눌 수 있다. 하지만 action은 여러 frame과 연관된 반면 object는 하나의 frame과만 연관된다. 그래서 action이 겹치는 경우가 있다면 동일한 질문에 여러 대답이 나올 수 있다. 이를 막기 위해 frame 기반 object-relationship 표현에 우선순위를 두었다. 그러면서 actExists 템플릿은 제거되었다.
  10. 최상급 표현의 질문에서 답변은 처음 또는 마지막의 것으로 제한된다. 만약 어떤 사람이 들었던 물건들의 순서가 접시, 담요, 의자였다면 중간에 위치한 담요는 답변이 될 수 없다.

결과적으로 96.85M개의 질문-답변 쌍에서 bias를 제거하였더니 2.27M 쌍이 남았다.


3. Results

3.1. Performance across question types

HCRN이 좀 나은 성능을 기록했지만 2지선다형 문제에서 어느 모델도 50%를 넘기지 못했다. 1.0에서는 HME가 제일 잘 했었다.

3.2. Performance without visual data

어느 모델도 visual data를 썼을 때가 안 썼을 때보다 2% 이상 성능이 오르지 않았다. 이는 모델이 거의 대부분 visual feature가 아니라 언어적인 부분에 의존한다는 것을 보여준다.

3.3. Model performance by binary and open answer questions

주관식 문제에서는 모든 모델이 binary일 때보다 못했다.

3.4. Generalization to novel compositions

이전과 마찬가지로 새로운 composition에서 힘을 잘 쓰지 못한다.

3.5. Generalization to more compositional steps

1.0 때와 마찬가지로 추론 단계가 적은 것과 많은 것으로 나누어 실험하였다. open-answer question에서는 모델이 “Most-Likely”를 이겼지만 binary에서는 그렇지 못했다.

3.6. Generalization to indirect references

각 모델별로 잘하는 부분이 있고 아닌 부분이 있었다. PSAC와 HME는 binary question에서 더 높은 Precision을 기록했으며 HCRN은 open answer에서 Recall과 Precision값이 큰 차이를 보였다.

3.7. Performance by question complexity

Binary: 모델의 정답률과 추론 단계 사이에는 음의 상관관계가 있었다(0.44~0.64). Open answer: 미묘한 차이가 있다. 답변이 어떤 action인 선다형 문제(예: “그 사람은 가장 오랜 시간 동안 무엇을 하고 있었나요?”)는 구성 단계가 4개를 넘지 않으며, Most-Likely는 5.03%를 기록했다. 반면, 객관식 답변이 있는 주관식 질문의 94%는 구성 단계가 4개 이상이고 Most-Likely는 13.32%를 기록했다. 객관식(선다형) 문제에서 문제 복잡도와 정확도 사이에는 약한 양의 상관관계가 있다(0.41~0.52). visual 정보가 없을 때에도 양의 상관관계가 있다(0.42~0.59). 그러나 구성 단계, 템플릿 및 “Most-Likely” 점수 간의 연관성으로 인해 이러한 상관관계의 결과를 해석할 때는 주의가 필요하다고 밝히고 있다.


4. Discussion

  • 본 논문에서는 몇 가지 개선 사항, 특히 더 강력한 balancing algorithm이 포함된 업데이트된 버전의 AGQA를 제안한다.
  • 기존 AGQA 벤치마크의 결과와 유사하게, 실험한 모델들은 새로운 구성과 더 복잡한 문제로 일반화하는 데 어려움을 겪고 있음을 확인하였다.
  • 또한, 실험한 모델 3개 중 1개 모델만이 시각적 데이터 없이 학습된 버전보다 1% 이상 정확도가 향상되었다.
  • language-only 버전과 비교했을 때, 이 모델은 전반적으로 성능이 향상되지 않고 특정 문제 유형에서만 개선되었다.
  • 세 모델 모두 language-only 버전에 비해 개선되는 정도가 제한적이기 때문에, 추가 지표를 통해 도출할 수 있는 시각적 구성 추론에 대한 결론은 이 세 가지 모델에 대해 제한적일 수 있다.
  • 그러나 dataset 구성은 이러한 모델이 language bias에 의존하는 정도를 보여주며, 향후 모델에 대한 시각적 구성 추론에 대한 세분화된 분석을 수행할 수 있는 잠재력을 가지고 있다.
Comment  Read more

AGQA - A Benchmark for Compositional Spatio-Temporal Reasoning 설명

|

이번 글에서는 AGQA: A Benchmark for Compositional Spatio-Temporal Reasoning 논문을 정리한다.


Abstract

  • Visual event는 object들과 공간적으로(spatially) 상호작용하는 actor들을 포함하는 temporal action들로 구성된다.
  • 이를 위해 여러 벤치마크 및 모델들이 개발되었지만 단점들이 많았다.
  • 본 논문에서는 compositional spatio-temporal reasoning을 위한, 3배 이상 대규모에 balance까지 맞춘 AGQA benchmark를 제안한다.
  • 기존 모델은 47.74%의 정확도밖에 달성하지 못한다. 이 AGQA benchmark는 더 다양하고 더 많은 단계를 거치는 추론 능력 등을 좀 더 광범위하게 테스트할 수 있다.

1. Introduction

(기계와 달리) “사람”은 시각적인 이벤트를 표현할 때 ‘actor가 시간에 따라 주변 물체들과 어떻게 상호작용하는지’를 본다.

위의 비디오를 예로 들면,

  • 핸드폰을 (바닥에) 내려놓고(putting a phone down)
  • 병을 잡는다(holding a bottle)
    • 이 행동은 다시 병을 돌려 열고(twisting the bottle)
    • 왼쪽으로 옮기는 행동으로 나눌 수 있다(shift to holding it)

이러한 정보들은 Action Genome으로부터 유래한 Scene Graph에서 얻을 수 있으며, AGQA에서는 이 정보들을 갖고 대답할 수 있는, 여러 단계의 추론을 거쳐야 대답할 수 있는 질문-답변을 포함한다.

AGQA의 질문들은 사람이 직접 “program”을 만들어서 정해진 규칙에 따라 생성되도록 설계되었다.

  • Charades dataset의 action annotation과
  • Action Genome의 spatio-temporal scene graph를 가지고 만들어졌다.

기존 모델로는 PSAC, HME, HRCN을 가지고 실험하였으며

  • 학습 떄 보지 못한 새로운 composition을 잘 일반화할 수 있는지
  • object를 간접적으로 표현(ex. object ther were holding last)함으로써 간접적인 추론을 할 수 있는지
  • 학습 때보다 더 많은 단계의 추론이 필요한 질문에 대답을 잘 하는지

를 테스트하였다.

일반적으로 추론 단계가 많아질수록 성능이 떨어졌다.


질문을 생성하기 위해 spatio-temporal scene graphs를 사용하였으며, 새로운 평가 척도를 제안한다.

Image question answering benchmarks: 많이 있지만 어느 것도 외부 지식을 요하는 상식추론 그 이상의 temporal 추론을 다루지 않았다.

Video question answering benchmarks: 이것도 많지만 기존의 데이터셋에 비해 AGQA는 오직 vision에 입각한, 더 대규모의, 더 복잡한 다단계 추론을 평가한다.

Scene graphs: AGQA는 GQA의 pipeline의 일반화 버전이다. spatial relation에 더새 temporal localization까지 활용하였으며 질문을 program에 따라 자동 생성하기 위해 Action Genome의 spatio-temporal scene graph를 사용하였다.

Compositional reasoning: 실세계 영상에서의 복잡한 추론을 다루는 벤치마크가 필요했다. (그게 이 논문이다라는 주장)


3. The AGQA benchmark

  1. Action Genome의 spatio-temporal scene graphs와 Charades의 action localizations를 symbolic video representation으로 통합하였다.
  2. 이를 바탕으로 하여 질문을 자동 생성할 수 있는 규칙(program)을 수동으로(handcraft) 만들었다.
  3. 만들어진 데이터에 대해 bias를 제거하고 balance를 맞췄다.
  4. 모델이 얼마나 새로운 composition, 간접추론, 더 많은 단계의 추론을 잘 수행하는지 테스트할 수 있는 평가 metric을 만들었다.

3.1. Augmenting spatio-temporal scene graphs

carrying a blanket and twisting the blanket와 같은 문장의 twistingholding이나 touching 등으로 바꾸어 augment를 할 수 있다.
하지만 별 의미없는 문장들, 예를 들면

  • Were they touching the blanket while carrying the blanket?와 같이 답을 바로 알 수 있거나
  • 이전 행동이 끝나기 전에 다음 행동이 시작해버리는 경우

등은 co-occurrence 등을 체크하여 생성하지 않도록 했다.

최종적으로 36 objects, 44 relationships, and 157 actions, 7787 training / 1814 test set scene graphs를 확보하였다.

3.2. Question templates

“What did they <relationship><time><action>?와 같은 program을 수동으로 만들어, What did they tidy after snuggling with a blanket?What did they carry before putting something on a table?와 같은 질문을 자동으로 생성할 수 있도록 했다.
이 질문에 대답하기 위해서는 put something on a table에 해당하는 action을, 그 action 이전에 일어난 event를, carry 관계가 일어나고 있는 장소를 찾고 그 object이 무엇인지를 찾아야 한다.

결과적으로 269개의 natural language question frames(that can be answered from a set of 28 programs)와, 이 program을 이용하여 192M개의 question-answer 쌍을 만들었다. 이는 45M개의 unique questions, 174개의 unique answers을 포함한다.

3.3. Balancing to minimize bias

program대로 만들 수 있는 질문들을 전부 생성해보면 특정 형태의 질문들이 거의 대부분을 차지하게 된다. 이렇게 생기는 bias를 줄이기 위해 질문의 특성에 따라 비율을 강제로 맞춰줌으로써 전체 데이터셋의 balance를 맞추고자 했다.

Question reasoning type, Question Semantics, Question structures 등에 따라 비율을 맞췄고, 각 type에 따른 비율은 아래 그림에 정리되어 있다.

3.4. New compositional spatio-temporal splits

평가를 위해 새로운 split을 몇 개 제안한다.

  • Novel compositions를 평가하기 위해 training set에는 존재하지 않고 test set에만 나타나는 concept pair를 따로 선택하였다.
  • Indirect references을 위해서는 object나 action 등이 간접적인 방식으로 표현되었을 때(ex. blanket -> the object they threw) 모델이 잘 대답하는지를 측정하는 metric이 있다.
  • More compositional steps: $M$개 이하의 추론 단계를 포함하는 질문과 $M$ 이상의 단계를 포함하는 질문을 나누어 모델이 각각에 대해 얼마나 잘 대답하는지를 측정한다.

4. Experiments and analysis

  • 사람이 AGQA의 답변에 얼마나 동의하는지를 체크하여 데이터셋이 올바른지 평가하고
  • AQGA에 기존 SOTA QA 모델을 테스트해 보고
  • spatio-temporal reasoning, different semantics, each structural category에서 잘 동작하는지 체크하고
  • 모델이 얼마나 novel compositions, indirect references, more compositional steps에 대해 일반화를 잘 하는지를 실험한다.
  • 모든 실험은 AGQA의 balanced version에 대해서 이루어졌다.\
  • 사용한 모델은
    • PSAC(positional self-attention and co-attention blocks),
    • HME(memory modules for visual and question features and then fuses them together),
    • HCRN(a current best model, stacks a reusable module into a multi-layer hierarchy, integrating motion, question, and visual features at each layer)이다.
  • “Most-Likely”(가장 빈도수가 높은 답만 찍는 모델)와도 성능 비교를 수행하였다.

4.1. Human evaluation

AMT로 “사람”에게 테스트를 시켜 보았더니 AGQA 데이터 중 86.02%를 정답으로 인정하였다. 에러가 13.98% 있다는 것인데 이는 대체로 scene graph나 relationship의 오류 또는 모호성으로 인한 것으로 추측된다. 대략 이 정도면 AGQA 데이터셋이 믿을 만한 정도라는 뜻이다.

4.2. Performance across reasoning abilities

PSAC는 성능이 별로고, HME는 superlative에 대해 묻는 질문에서 가장 좋은 성능을, HCRN은 sequencing이나 activity recognition 등에서 괜찮은 성능을 보였다.

그러나 HCRN은 visual 정보를 써도 language-only 모델에 비해 성능이 겨우 1.5%밖에 높지 않았다.

4.3. Performance across question semantics

HCRN은 object 주위에 대한 질문 정도만 language-only에 비해 성능이 좋지만 object와 연관된 질문은 대체로 3개 모델 모두에게 어려운 질문이다.

4.4. Performance across question structures

질문 구조가 달라지면 더 어려워진다. HCRN은 language-only에 비해 겨우 0.68% 높은 성능을 보인다. 즉 visual 정보를 거의 활용하지 못하고 있다.

4.5. Generalization to novel compositions

3개 모델 모두 학습 때 보지 못했던 구성에 대해 어려워하는 모습을 보인다. 심지어 가장 빈도수 높은 답만 찍는 “Most-Likely”를 능가하는 것은 HCRN(52.39%) 뿐이었다.
그리고 모델들은 대체로 새로운 object나 relationship을 포함하는 새로운 composition에 대해 매우 낮은 성능을, 새로운 action의 길이에 대한 추론에서는 좋은 성능을 보였다.

4.6. Generalization to indirect references

HCRN이 좀 낫기는 하지만 여전히 모델들은 direct한 질문에는 잘 대답해도 indirect한 질문에는 잘 대답하지 못한다.

4.7. Generalization to more compositional steps

복잡한 구조를 갖는 (추론 단계가 많은) 질문에 대해서는 50%도 안되는, 찍기보다 못한 성능을 보여준다. 특히 단계가 많아질수록 성능이 전반적으로 하락하는 경향을 보인다.


5. Discussion and future work

  • AGQA는 novel compositions, indirect references, more compositional steps를 측정할 수 있는, 기존의 것보다 3배 이상 큰 데이터셋이자 벤치마크이다.
  • 더 좋은 성능을 보일 수 있을 것 같은 방법론은:
    • Neuro-symbolic and semantic parsing approaches(training questions에서 systematic rule를 추출할 수 있는 핵심 모듈이 없었다)
    • Meta-learning and multi-task learning(숨겨진 compositional rule을 파악할 수 있는 옵션이 될 것이다)
    • Memory and attention based approaches(HME는 더 많은 단계를 갖는 질문에서 그나마 나았는데 이는 question feature를 처리할 때 사용하는 explicit memory에 의한 것 같다)
    • 등이 있을 것 같다.

6. Supplementary

Comment  Read more

LoRA - Low-Rank Adaptation of Large Language Models 요약 설명

|

이번 글에서는 LoRA: Low-Rank Adaptation of Large Language Models 논문의 핵심 포인트만 간단히 정리한다.

  • 2021년 10월(Arxiv), ICLR 2022
  • Edward J. Hu, Yelong Shen, Phillip Wallis et al.
  • 논문 링크
  • Github

  • GPT-3같은 거대한 모델을 fine-tuning하면 그 엄청난 parameter들을 다 재학습시켜야 함 → 이는 계산량도 많고 시간도 꽤 걸리는 부담스러운 작업이다.
  • 이를 줄이기 위해
    • 원래 parameter는 freeze시키고
    • Transformer architecture의 각 layer마다 학습가능한 rank decomposition matrices를 추가하는 방식을 도입하였다(Low-Rank Adaptation).
  • 결과적으로
    • 메모리는 3배, 파라미터는 10,000배 정도 줄일 수 있었고
    • RoBERTA, DeBERTa, GPT-2, GPT-3같은 모델에서 비슷하거나 더 높은 fine-tuning 성능을 보였다.
  • LoRA의 장점은
    • 사전학습된 모델을 그대로 공유하면서 작은 LoRA 모듈을 여럿 만들 수 있다. 모델을 공유하면서 새로 학습시키는 부분(위 그림의 오른쪽에 있는 A, B)만 쉽게 바꿔끼울 수 있다.
    • layer에 추가한 작은 matrices만 학습시키고 효율적으로 메모리를 사용할 수 있다.
    • inference 과정에서 추가적인 latency 없이 사용할 수 있다.
    • 기존의 많은 방법들과도 동시 사용 가능하다.
Comment  Read more

GTN(Gated Transformer Networks for Multivariate Time Series Classification) 요약 설명

|

이번 글에서는 Gated Transformer Networks for Multivariate Time Series Classification 논문의 핵심 포인트만 간추려서 기술합니다.

본 논문에서는 MTS(Multivariate Time Series) 문제를 풀기 위해 transformer 구조를 활용하는 방법에 대해 기술하고 있습니다.

Multivariate Time Series task의 핵심은 stpe-wise(temporal) 정보와 channel-wise(spatial) 정보를 모두 잘 포착하는 것입니다.

본 논문은 step-wise encoder와 channel-wise encoder라는 2개의 transformer tower를 만들고 이들 output을 단순히 concatenate하는 것이 아니라 gating layer로 연결하여 최종 결과물을 산출하는 구조를 고안하였습니다.

개인적으로 짧고 간결하고 좋은 아이디어라고 생각합니다. 다만 실험 결과를 보면 GTN이 꼭 우수한 것은 아니라는 결과가 나오고 이에 대해 여러 가능성을 검토한 설명이 추가되어 있긴 하지만 어떠한 확실한 정보를 주고 있지 않다는 점이 아쉬운 점으로 다가왔습니다.

MTS 문제 해결을 위한 시스템을 설계할 때 하나의 선택지로 충분히 활용할 수 있을 것으로 보입니다.

Comment  Read more

ScaleNorm - Transformers without Tears(Improving the Normalization of Self-Attention) 요약 설명

|

이번 글에서는 Transformers without Tears(Improving the Normalization of Self-Attention) 논문의 핵심 포인트만 간추려서 기술합니다.

본 논문에서는 Transformer에서 사용되는 Normalization layer를 개선하는 방법에 대해 기술하고 있습니다.

논문에서 여러 내용을 다루고 있지만 핵심 포인트는 2가지 입니다. 일단 normalization layer는 PRENORM이어야 한다는 것입니다. original Transformer에서는 POSTNORM을 사용하고 있는데, 실험 결과를 보면 PRENORM이 backpropagation을 더 효율적으로 진행할 수 있도록 도와줍니다.

그리고 이 논문에 따르면 Batch Normalization의 효율성은 internal covariate shift를 감소시킨 것에서 얻어진 것이 아니라 loss landscape를 smooth하게 만듦으로써 달성된다고 합니다. 따라서 본 논문에서는 LAYERNORM 대신 SCALENORM이라는 구조를 제안합니다.

[SCALENORM(x: g) = g \frac{x}{\Vert x \Vert}]

l2 normazliation을 적용한 것인데 여기서 $g$ 는 학습 가능한 scalar입니다. 식에서 알 수 있듯이 LAYERNORM에 비해 파라미터 수가 훨씬 적습니다. 논문의 실험 결과에 따르면 (데이터셋에 따라 다르겠지만) 학습 속도를 약 5% 정도 향상시켰다고 합니다.

SCALENORM은 어떻게 보면 d 차원의 벡터를 학습가능한 radius g를 활용하여 d-1 차원의 hypersphere로 project 시키는 것으로 해석할 수도 있겠습니다. 이러한 아이디어는 각 sublayer의 activation이 이상적인 global scale을 갖는다는 인사이트를 담고 있습니다.

논문에는 이 SCALENORM과 다른 논문에서 제시된 FIXNORM을 결합한 구조도 설명하고 있습니다. SCALENORM의 $g$ 는 $\sqrt{d}$ 로 초기화됩니다.

실험 결과는 논문 본문을 참고해주세요.

Comment  Read more