안녕하세요, 이번에 리뷰할 논문은 action anticipation 이라는 task를 다루는 논문입니다. 창의학기제 논문이 마무리되는대로 본 연구 주제로 넘어갈 예정이라 입문할 겸 해서 읽어보게 되었습니다. Action Anticipation 중에서도 본 연구는 Long-Term Action Anticipation이라는 하위 task를 다루고 있는데, 과거 시점의) 1인칭 비디오를 입력으로 받아서 LLM을 통해 미래의 수 분 분량의 action sequence를 ‘텍스트’로 예측한다는 점 미리 알아두시면 좋을 것 같습니다. 본격적으로 시작해 보겠습니다!
Introduction
Egocentric Video(1인칭 비디오)는 웨어러블 기기의 상용화로 인해 데이터를 취득하기 쉬워진 상황에서, 모델 사람이 특정 일/활동을 어떻게 수행하는 지 이해할 수 있는 데 있어 엄청난 가능성을 가지고 있습니다. 이렇게 사람의 다양한 활동을 이해하는 데 있어 초기 연구는 representation learning, 비디오 인코더 등을 통해 전체 비디오를 comprehensive한 latent representation을 얻어내고자 하는데 집중했습니다. 하지만 representation learning 기반 methods 는 두 가지 문제점이 있었는데, 첫 번째는 (특히 비디오가 길어질수록) 1인칭 비디오에는 정말 복잡하고 다양한 인간의 활동이 담길 수 있는데 이것을 종합적인 representation으로 담기 힘들다는 점이며, 두 번째는 데이터셋으로 학습시키는 과정에서 모델의 일반화 능력이 떨어져 unseen scenarios 등에 대처하기 어려워진다는 점입니다.
이러한 흐름에서 이미 일반화 능력을 가지고 있으며, 순서와 관련한 knowledge도 추출할 수 있는 LLM을 활용한 연구들이 등장했습니다. LLM 기반 연구는 추상적인 task description을 입력했을 때(e.g. “prepare the dinner”) 지시 사항이나 계획을 출력하는 데 그쳐, 실제 activity를 이해하는 능력이 부족했다고 합니다. 따라서 저자들은 Long-term action anticipation에서 LLM의 다양한 능력을 활용하기 위해 “충분한 시각적 맥락을 담은 텍스트 프롬프트”를 구성하고자 했습니다.
저자들이 제안한 PALM은 LLM으로 action sequnce를 예측하는 데 필요한 프롬프트를 효율적으로 구성하기 위해 과거 액션 시퀀스(past action sequence)와 narration(상세 텍스트 설명)을 생성하고 따로 설계한 프롬프트 전략(prompt strategy)로 프롬프트를 정제해서, future action sequence를 추론할 LLM에 입력합니다. 디테일한 매커니즘 설명은 Methods 파트에서 진행하도록 하겠습니다.

Contributions
- 추가적인 맥락과 환경적 세부 정보를 제공하는action sequences와 이에 대응되는 narrations로 구성된 과거 이벤트에 대한 효과적인 텍스트 표현 방식을 제안
- LLM을 위한 효율적인 in-context learning을 가능하게 하는 새로운 프롬프트 전략 설계
- Ego4D 벤치마크의 LTA task에서 SOTA 달성
Methods

LTA task는 비디오를 입력받아 future action sequences를 (동사, 명사) 쌍의 형태로 출력하는 task로, 입력 비디오는 다양한 길이의 action segments로 구성되어 있습니다. 이때 각 segment는 하나의 action, 하나의 (동사,명사) 쌍에 대응됩니다. 이 segment에 대한 시간적인 경계가 annotation으로 제공된다고 보시면 됩니다. 출력은 말씀드렸다시피 (동사,명사) 쌍 형태의 future action sequence이며, 이때 명사와 동사는 사전정의된 taxonomy 범위 내에서 출력하도록 설계되었습니다. 수식적으로는 아래와 같습니다.
\{\hat{n}_z, \hat{v}_z\}_{z=1}^Z
- \hat{n}_z \in \mathcal{N}: 예측된 명사 \hat{n}_z는 사전에 정의된 명사 분류 체계(taxonomy)인 \mathcal{N}에 포함
- \hat{v}_z \in \mathcal{V}: 예측된 동사 \hat{v}_z는 사전에 정의된 동사 분류 체계(taxonomy)인 \mathcal{V}에 포함
- {\hat{n}_z, \hat{v}_z}: 모델이 예측하는 하나의 ‘행동(action)’을 나타내며, 동사와 명사의 쌍으로 구성
- V_{:t}: 시간 t까지 관찰된 입력 비디오(input video)
- P: 입력 비디오 V_{:t} 내에 포함되어 있는 action segments 개수
- Z: 예측할 future actions 개수
Image Captioning Module
action label로 표현된 과거의 action만으로는 실제 비디오에서 나타난 시각적인 맥락 정보를 포착할 수 없기 때문에, 저자들은 VLM을 통해 action context에 대한 풍부한 정보를 가진 캡션을 생성해서 action sequnce을 LLM에 더 많은 정보를 제공하고자 했습니다. 우선 입력 비디오가 하나의 action 단위의 segment로 쪼개져 있다고 말씀을 드렸는데, 각 segment의 middle frame을 대상으로 캡셔닝을 수행합니다. Middel frame을 샘플링한 이유는 저자들이 segment 내에서 실제 action이 진행 중일 가능성이 가장 높다고 예상했기 때문입니다. 여기서 저자들은 이미지 캡셔닝을 Question-Answering 문제처럼 정의해서, 주어진 이미지에 대해 6가지 핵심 개념과 관련된 질문에 대해 VLM이 답변하도록 합니다. Fig. 3은 어떤 질문이 사용되었는지를 나타냅니다.

실제 모델에 입력할 때는 “Question: <Q>? Answer: ” 형태의 프롬프트를 구성하여 VLM이 Answer 뒷부분을 생성하도록 유도했습니다.여기서 위의 모든 6개 질문에 대한 답변을 캡셔닝으로 삼는 건 아니고, 한 가지씩 실험한 결과 Intention 질문에 대한 답변으로 생성한 캡션을 default로 활용하는 것으로 결정했다고 합니다. Image Captioning에 쓰인 VLM은 VideoBLIP 모델이 사용되었습니다.
Action Recognition Module (ARM)
Action Recognition Module(ARM)은 비디오, 정확히는 action segments가 주어졌을 때 각 segment가 어떤 action인지를 나타내는 (동사,명사)쌍을 생성합니다. 이때 전체 segments를 한 번에 입력하거나 segment 하나씩 입력하는 게 아닌, 연속된 4개의 video segments를 입력하고 video encoder에서 visual feature를 추출합니다. Video encoder는 대표적인 1인칭 비디오 데이터셋인 Ego4D로 학습된 EgoVLP 모델이 사용되었습니다. 그 다음, transformer layers에서 visual features를 입력받아 aggregated feature를 출력하고, 이 feature를 4개의 classification head로 보내서 동사와 명사를 독립적으로 예측합니다. video encoder를 제외한 나머지 네트워크는 4개 cls head의 Cross Entropy Loss 합산 손실로 학습됩니다.
전체 segments에 대해 (동사,명사) 쌍을 생성하기 위해 stride 1의 sliding window 방식으로 연속된 4개의 segment를 입력합니다. 그렇기 때문에 어떤 segment의 경우 여러 개의 (동사,명사) 쌍이 생성되었을 수 있는데, 이때는 단순히 가장 많이 등장한 (동사, 명사) 쌍을 top 1으로 선정해서 할당합니다. 저자들은 past action을 생성하는 데 있어 CLS head 대신 text encoder도 활용해보고, 입력 때 1개의 segment으로만 진행해보기도 하였으나 성능이 그렇게 좋지는 않았다고 합니다. 특히 1개 입력보다 n=4개 입력에서 더 좋은 결과를 보인 이유는 (1인칭)비디오의 특성상 전후 프레임 간의 상관관계가 보통 굉장히 높기 때문에 인간 활동의 자연스러운 연속성을 담았다고 저자들은 분석했습니다.
Action Anticipation Module
본격적인 LLM 추론을 통한 action anticipation에 앞서, 프롬프트 구성에 대한 디테일을 설명드리겠습니다. VLM에서 추출한 visual context 보완용 narrration, ARM에서 추출한 past actions description에 더해 저자들은 In-Context Learning(ICL)을 위해 학습 데이터에서 일부 샘플을 가져와서 프롬프트에 삽입합니다. ICL은 learning은 워딩이 붙긴 하나, LLM의 추론을 용이하게 하기 위해 쿼리와 정확히 포맷이 같은 예시를 참고자료로써 넣어준다고 보시면 되겠습니다.

Fig.5와 같이, 프롬프트는 Instruction, Examples, Query로 구성됩니다. Query는 말그대로 예측 대상으로, VLM 및 ARM에서 추출했던 정보들이 포함됩니다. Examples의 past, future actions는 GT actions가 그대로 입력되고, narrations는 query처럼 captioning model로 추출합니다. ICL용 예시 샘플은 학습 데이터에서 선택하는데, 학습 데이터 샘플은 랜덤하게 선택되는게 아닌 쿼리와의 유사도와 샘플 간 다양성을 고려하여 선택됩니다. 저자들은 랜덤 선택이 test set의 다양한 상황에 일반화되지 않는 예시들이 선택될 가능성이 높다며 효과적인 예시 선택 전략을 고안했습니다. 그 전략은 Maximal Marginal Relevance(MMR)을 사용하는 것으로, test set 전반에 걸친 강건한 일반화 성능을 제공할 수 있도록 쿼리와 관련이 있으면서도 동시에 충분한 다양성을 띠는 예시들을 선택하는 것입니다. Iterative 하게 train set에서 샘플들을 선택하는데 위의 수식을 고려하며 selection이 진행됩니다.

- p_j : 아직 선택되지 않은 후보 샘플
- q : Query
- D : Train set
- T : 이미 선택된 예시 set
- p_i: 이미 선택된 단일 예시 샘플
- 𝑆(𝑥,𝑦) : semantic similarity (cos sim)
수식은 \lambda S(q, p_j) - (1 - \lambda)를 Similarity Term, \max_{p_i \in T} S(p_i, p_j)를 Diversity Term으로 이해하시면 편할 듯 합니다. 결국 Similarity Term은 후보 예시 샘플과 쿼리와의 코사인 유사도를 고려하겠다는 의미이며, Diveristy Term은 현재의 선택된 예시 subset 중 후보 예시 샘플과 비슷한 샘플이 존재하느냐를 의미합니다. 예시 하나는 past, future actions 와 이에 대응되는 text caption으로 구성되고, text embedding 추출에는 MPNet이 사용되었습니다.
프롬프트 구성 후, LLM이 추론의 용이함을 위해 LLM finetuning을 진행하였습니다. LLM의 모든 파라미터를 조정하는 것은 연산 측면에서 매우 비효율적이며, 기존에 학습한 일반화된 지식을 잃어버리는 catastrophic forgetting이 발생할 수 있어 finetuning에는 8비트 양자화가 적용된 LoRA를 통한 parameter-efficient finetuning을 사용했습니다. 또한 LLM 추론 결과에 대한 신뢰성을 높이기 위해, 동일한 프롬프트 구조를 유지하면서 서로 다른 예시를 사용하여 여러 번 질문을 던진 결과의 앙상블을 사용합니다. 마지막으로 LLM을 사용했을 때 사전정의된 taxonomy, label space의 동사/명사가 출력되지 않을 가능성도 있기 때문에 저자들은 rule-based mapping 기법으로 출력 결과가 label space 내의 동사/명사가 되도록 강제적으로 변환했습니다. Rule-based mapping은 휴리스틱하게 설계된 방법으로, 출력 파싱 및 매핑, 결측치 처리, 시퀀스 길이 보정 등의 전략이 포함됩니다.
Experiments

Ego4D에서 기존 methods와의 성능을 비교한 메인 테이블입니다. Metric은 ED(Edit Distance)로 한 문자열을 다른 문자열로 변환하는 데 필요한 최소 편집 횟수를 0~1사이 값으로 정규화하여 나타냅니다. 따라서 0에 가까울수록 편집 횟수가 적었다는 뜻이기에 더 좋은 성능을 나타냅니다. Verb ED는 동사 예측, Noun ED는 명사 예측, Action ED는 전체 action sequence 예측에 대한 성능입니다. 성능 리포팅은 v1 버전과 v2 버전이 있는데, v1 버전은 v2버전의 subset으로 기존 방법론이 v1 버전으로만 평가되었기 때문에 fair comparison을 위해 v1성능을 리포팅했다고 합니다. v1 버전 결과, LLM 기반 모델 (VideoLLM, AntGPT, PALM)이 나머지 표현 학습 기반 모델에 비해 월등히 좋은 성능을 보여주었습니다.
v2버전에서는 기존 연구의 한계점을 드러내기 위해, 3가지 heuristic baseline을 상정합니다. Last action은 past action의 마지막 action으로 future action sequence를 채웠고, Repeat action은 주어진 past actions의 반복으로 future actions를 채워넣었으며, Retrieve action은 train set에서 비슷한 예시들을 찾아서 future sequence를 그대로 채운 방식입니다. 놀랍게도 이런 heuristic baseline보다 SlowFast, 표현 학습 기반 모델의 ED가 더 높았습니다. 이를 통해 저자들은 표현 학습 기반 방법론의 한계점이 드러났으며, foundation model을 이용하는 방식의 장점이 강조된다고 주장했습니다.

Fig 6는 SlowFast와 PALM을 정성적으로 비교한 결과입니다. 빨간색은 오답, 초록색은 정답을 나타내며 1,2,3번 예시는 상호작용하는 물체의 개수가 증가함에 따른 변화를 보여줍니다. 먼저 첫 번째 예시는 단일 객체와의 상호작용 케이스로, 두 모델 모두 예측을 준수하게 수행한 모습이지만, 2번 상호작용하는 물체의 개수가 늘어났을 때 SlowFast는 단 하나도 제대로 동사/명사를 예측해내지 못한 반면 PALM은 비교적 올바르게 예측했습니다. 저자들은 이를 통해 과거 행동이 미래 예측에 미치는 영향을 강조했습니다. 하지만 5개 이상의 물체와 상호작용하는 비디오로, 정확히는 정비공이 와이어를 수리하는 비디오입니다. 이때는 두 모델 모두 객체 식별을 어느 정도 잘 해냈지만 action sequence를 일관성 있게 예측해내는 데는 실패했습니다. 이에 저자들은 그런 전문 지식이 필요한 비디오에서는 전문 지식을 갖춘 LLM을 사용해야 정확한 action sequence를 예측할 수 있을 것이라는 가설을 세웠습니다.

Table 3는 Prompt 구성 단계의 예시 선택 전략에 대한 ablation 실험입니다. similarity는 쿼리와의 유사도만을 기준으로 삼아 예시를 선택한 결과이며, MMR은 이에 더해 샘플 간 다양성까지 추가적으로 고려한 결과라고 보시면 되겠고, 결과적으로 샘플 간 다양성까지 고려했을 때 모든 ED가 낮아졌습니다.

Table 5는 프롬프트 구성 중 VLM으로 뽑은 narration(C)과 ARM으로 뽑은 action description(A) 에 대한 ablation 실험으로, C는 동사 예측에서 가장 뛰어난 성능을 보여, visual context 캡션이 인간 활동의 역동적인 움직임을 잘 포착했다는 것을 보여주고, 최종적으로 두 모듈을 모두 사용했을 때 Action ED가 가장 낮아 최종 모델의 프롬프트 구성 방식으로 채택되었습니다.
리뷰 잘 읽었습니다
1. Image Captioning Module에서 각 action segment의 middle frame만 사용한다고 하셨는데, segment 안에서 중요한 interaction이 middle frame이 아닌 시작/끝부분에 있는 경우도 있을 것 같은데요. 프레임 선별에 따른 비교실험은 없는지 궁금해지네요
2. 6가지 질문 중 Intention 질문의 답변을 default caption으로 사용했다고 하셨는데, 왜 intention 기반 narration이 가장 효과적인가요?? 예를 들어 object나 hand-object interaction을 묻는 질문보다 future action 예측에 더 도움이 된 이유가 논문에 있는지?
안녕하세요. 좋은 리뷰 감사합니다.
궁금한 점이 있는데요. ICL용 예시 샘플을 고르는데, 랜덤하게 뽑을 때 다양한 상황에 일반화되지 않는 예시들이 선택될 가능성이 높다고 하였는데, 일반화되지 않는 예시들이란게 뭔지 잘 와닿지 않는데 설명 부탁드려도 될까요? 랜덤 선택할 경우, 10개의 동사 쌍이 섞인 sample이 있다고 했을 때. 두개만 해당되는 동사 쌍 sample만 선정되는 것으로 이해하면 될까요? (imbalance class 느낌으로)
감사합니다.
안녕하세요 재윤님 좋은 리뷰 감사합니다.
세미나에서 발표하셨던 논문이라 이해가 더 수월하게 읽혔던 것 같습니다. 근데 실험 평가에 대한 짧은 질문이 있어 글 남깁니다.
실험 MD 에서 평가하는 방식이 궁금합니다 head에서 나온 confidence로 최종 예측하게 될건데 예를 들면 top K개를 뽑아서 평가하는건지 궁금합니다. 그리고 0.6이면 어느정도 성능이라고 보면될까요 ?