
✏️ 논문 정리
1. 이 논문을 읽는 이유가 무엇인가요?
⇒ 본 논문은 지난 번에 살펴본 Dynamic Cheatsheet 논문과 ACE 논문의 후속 논문이다. 어떤 식으로 조금 더 개선이 되었는지 확인하고자 살펴보았다.
2. 논문 제목의 의미는 무엇인가요?
⇒ Grow and Refine Multimodal Semantic Memory는 메모리에 텍스트 뿐만 아니라 이미지까지 저장하고, 성능을 개선하여 성장한다는 의미이다. 이러한 메모리를 통해 Agent의 성능을 향상시킨다는 내용이다.
3. 논문의 등장배경은 무엇인가요?
⇒ 기존 메모리 연구에는 텍스트 데이터만 저장한다. 논문에서는 MLLM이 더 좋은 추론을 하기 위해서 이미지 정보도 필요하며 이를 위해 이미지 데이터도 메모리에 저장하는 ViLoMem 프레임워크를 제안한다.
4. 논문 내용 1~2줄로 요약하기
⇒ 논문은 텍스트, 이미지 데이터를 모두 저장하는 ViLoMem 프레임워크를 제안한다. 이미지 데이터는 이미지 원본과 피드백이 함께 저장되며, 새로 만든 피드백과 기존 메모리에 유사한 내용이 있을 경우 이들을 합하는 전략을 사용한다. 메모리에서 Retrieve를 더 잘하기 위해 텍스트의 경우 보강된 Query를, 이미지의 경우 2단계 검색을 활용한다.
논문에서는 텍스트와 이미지를 모두 저장하는 메모리 프레임워크, ViLoMem을 제안한다.
각 데이터는 따로 임베딩된 후 저장된다.
ViLoMem은 총 6개의 벤치마크에서 평가되었으며, Acurracy가 향상되는 것을 확인할 수 있었다.
또한 ViLoMem을 사용하였을 때, 모델의 반복적인 실수가 줄어드는 것을 확인할 수 있었다.
MLLM은 뛰어난 성능을 발휘하지만, 추론을 위해 호출될 때마다 이전의 기억이 없어 똑같은 실수를 반복한다.
위 한계를 극복하기 위해 메모리를 도입한 경우가 있더라도, 이미지 데이터를 저장하지 않는 경우가 있다.
현재 MLLM은 아직까지 논리적 추론에 비해 시각적 인지 능력이 현저히 떨어진다.

Figure 4의 a)를 보면 빗금이 없는 파란색 막대 바의 비율이 주황색 바보다 높은 것을 확인할 수 있다.
해당 비율은 각각 시각적, 논리적 오류의 비율을 의미하는데, 시각적 오류가 더 많이 발생함을 알 수 있다.

Figure 1의 그림처럼 멀티모달 문제를 풀기 위해서는 시각적 정보 역시 중요하다.
모델이 처음에는 실수를 하더라도, 3번째 씬의 Visual Memory처럼 시각적 경험을 활용하면 더 좋은 추론을 할 수 있다.
텍스트와 이미지 2개의 메모리를 구축한다.
시각적 오류와 논리적 오류는 제작된 스키마에 따라 처리된다.
각 데이터는 retrieval strategy를 사용하여 추출친다.
유사한 error는 필터링한다.
이미지 검색을 위해 단순히 cosine 유사도를 사용하는 것은 충분하지 않다.
논문에서는 이미지 유사도, 피드백 내용 유사도 계산을 통한 2단계 Retrieve를 진행한다.
이를 통해 모델은 예전에 자신이 겪은 시각적 error를 참고하여 현재 받은 질문을 처리할 수 있다.
텍스트 검색을 하기 위해 입력받은 질문을 분석한다.
분석은 질문의 주제와 추론에 필요한 요소 추출을 통해 이루어진다.
이를 통해 현재 질문의 Task type에 맞는 기억을 retrieve할 수 있다.
ViLoMem을 제안한다: ViloMem은 시각적 오류와 논리적 오류를 분리하여 2개의 flow로 구현된 첫 프레임워크이다.
메모리 업데이트를 위한 필터링 프로세스, Retrieval 전략을 통해 논리적, 시각적 오류를 잘 활용한다.
6개의 벤치마크에서 실험 결과 ViLoMem은 다양한 크기의 모델에서 성능을 향상시키고, 도메인이 유사한 다른 task에서 시너지를 일으킨다.
에이전트 모델은 프롬프트 엔지니어링을 통해 self improvement를 실현한다.
보통 자신의 출력 결과, 추론 과정 등을 분석한 후, 자신의 프롬프트를 계속해서 수정한다.

ReAct는 Reasoning + Acting을 의미한다.
Act로는 문서 검색, 키워드 검색, 마우스 클릭 등이 있다.
모델의 행동 영역을 내부 추론을 넘어서 외부 API, 환경으로 확장한 것이다.
자신의 과거 응답을 참고하여 반성을 한다.
반성 결과를 다시 프롬프트에 입력하여 자연어를 통한 강화학습을 구현한다.

신경망 모델이 gradient를 통해 성능을 향상시키는 것에서 아이디어를 얻었다.
Gradient를 수치 대신 자연어 피드백으로 구현한다.
모델은 피드백을 참고하여 프롬프트를 재작성한다.

모델의 피드백을 바탕으로 프롬프트를 개선하는 방법이다.
모델은 피드백을 바탕으로 여러 프롬프트를 만든 후 각 Task에서 성능이 하나라도 좋은 프롬프트는 후보군에 남긴다.
남은 프롬프트는 파레토 법칙으로 선별한 후 합하여 하나의 프롬프트로 재구성한다.
모델은 이전 출력 결과에 대해서만 참고하는 경우가 있다.
프롬프트 개선 과정에서 중요한 정보가 누락될 수 있다.

모델의 입력과 출력 결과를 텍스트 형태로 저장하는 방법이다.
자세한 내용은 아래의 내용을 참고하면 됩니다.

메모리에 피드백 내용을 저장하고, 현재 메모리를 개선할 수 있는 방법이다.
메모리는 딕셔러니 형태로 구성되어 있다.
인간의 인지 체계는 논리적 정보와 시각적 정보를 각각 저장한 후, 한 지점에서 합하도록 만들어졌다.
하지만 Dynamic Cheatsheet와 ACE 모두 메모리에 텍스트 데이터만 저장한다.
입력 데이터:
데이터 구성: , image , text question
텍스트 메모리: , 은 피드백 내용의 텍스트 데이터이다.
시각 메모리: , 은 피드백 내용의 텍스트 데이터이다.

그림을 보면 각 메모리에서 현재 Question과 관련된 데이터를 Retrieve하는 것을 확인할 수 있다.
Retrieve된 데이터는 Solver(VLM)에게 전달되어 질문에 대한 답을 생성한다.
Verifier는 Solver가 내놓은 답과 정답을 비교하여, 만약 틀렸다면 그 원인이 텍스트 내용 문제인지, 이미지 이해 문제인이 확인한 후 피드백을 만들어 메모리에 저장한다.
모델이 Retrieve를 할 때는 코사인 유사도를 사용한다.
텍스트와 이미지 모두 임베딩한 후, 각 데이터끼리 코사인 유사도를 통해 Retrieve한다.
논문에서는 모델이 문제를 틀렸을 경우, 원인을 분석한다.
분석한 내용을 더한 확장된 질문을 통해 메모리에서 한다.

입력 이미지
입력 질문
모델의 틀린 답
정답
Verifier, 입력 데이터와 모델의 출력값, 정답을 토대로 채점을 한 후 피드백을 제공한다.
True/False로 모델의 오답이 이미지를 잘못 이해한 것 때문인지 판단한다.
가 True일 경우, 이미지를 제대로 이해하기 위한 가이드라인 → 메모리의 로 저장된다.
Visual Memory Generation은 이미지를 잘못 이해한 경우에 생성된다.
논문에서는 현재 생성된 가이드라인과 유사한 내용이 메모리에 있는지 유사도 확인을 진행한다.
가장 높은 유사도가 임계값보다 높은지를 기준으로 아래의 2개의 과정으로 나뉜다.
기존 메모리에 유사한 데이터가 있을 경우, 유사한 데이터는 제거한다.
이미지는 그대로 사용하고, 기존 가이드라인과 새로운 가이드라인을 Merge한 내용을 메모리에 추가한다.
입력 질문
모델의 틀린 답
정답
Verifier, 입력 데이터와 모델의 출력값, 정답을 토대로 채점을 한 후 피드백을 제공한다.
True/False로 모델의 오답이 논리적 추론(텍스트) 때문인지 판단한다.
가 True일 경우, 논리적 추론에 대한 가이드라인 → 메모리의 로 저장된다.
Logical Memory Generation은 논리적 추론을 잘못한 경우에 생성된다.
기존 메모리에 유사한 데이터가 있는 경우를 기준으로 업데이트 방식이 나뉜다.
(Visual Memory Generation과 동일)
오답 이유가 논리적 추론이 아닐 경우 메모리는 업데이트되지 않는다.

Visual Memory Retrieval은 2단계로 이루어진다.
우선 이미지가 유사한 데이터를 추출한 후, 그 중에서 가이드라인 내용이 유사한 데이터를 가져온다.
메모리 속 이미지와 입력 받은 이미지를 임베딩한다.
임베된 데이터의 코사인 유사도를 계산하여 top-k 데이터를 추출한다.
Top-k 데이터의 가이드라인과 보강된 Question을 임베딩한다.
코사인 유사도를 통해 유사한 top-n 데이터를 추출한다.
위 2단계 검색 방법을 통해 관련된 이미지 데이터를 가져오면서도, 의미적으로 유사한 데이터를 Retrieve할 수 있다.

논문에서는 Retrieve한 이미지 데이터에서도 어떤 부분을 집중적으로 살펴봐야하는지 보충자료를 제공한다.
보충자료는 attention map 형태로 제공된다.
그림을 보면 신호등 라이트에 attention이 적용된 것을 확인할 수 있다.
텍스트 메모리는 보강된 Question과 메모리 속 가이드라인 간 유사도를 통해 Retrieve된다.
코사인 유사도를 통해 top-k 데이터를 추출한다.
Retrieve된 데이터는 입력 데이터와 함께 Solver(VLM)에게 전달된다.
논문에서 언급한 서로 다른 데이터를 합하는 과정은 AI에게 두 데이터를 함께 입력하는 것으로 구현된다.
환각 현상, 시각적 착시, 공간 이해 능력을 평가하는데 초점이 맞춰져 있다.
데이터: Hallusion Bench, RealWorldQA
시각적 정보를 참고하여 논리적 문제를 풀 수 있는 능력을 평가한다.
데이터: MathVista (mini), MathVision (mini)
전문적 지식을 통해 시각 데이터를 이해할 수 있는 능력을 평가한다.
데이터: MMMU (val), MM-Star
Solver 역할에 사용된 모델이다.
모델: GPT-4.1, Qwen3-VL-235B-A22B-Instruct, Qwen3-VL-8B-Instruct
Logical memory Generation : Qwen3-235B-A22B-Instruct
Visual memory Generation : Qwen3-VL-235B-A22B-Instruct
데이터 임베딩에 사용되었다.
Text Embedding : Qwen3-Embedding
Image Embedding : Qwen2.5-VL-Embedding
평가에는 VLMEvalKit을 사용하였다.
VLMEvalkit는 다양한 모델과 벤치마크를 사용하여 쉽게 모델 성능을 평가할 수 있는 오픈소스 Toolkit이다.
VLMEvalkit에서는 200개 이상의 모델과, 80개 이상의 벤치마크를 사용할 수 있다.

Table 1은 6개의 벤치마크를 통해 3개의 모델 성능을 평가한 표이다.
Baseline : 각 벤치마크에서 제공한 official한 프롬프트
Step : Step by step reasoning을 적용한 프롬프트
+ViLoMem : 논문에 제안한 Dual stream memory 프레임워크를 적용한 경우
수치는 Accuracy를 의미한다.
Table 1을 보면 대부분의 경우 ViLoMem을 적용하였을 때 성능이 향상되는 것을 확인할 수 있다.
논문에서는 Math Vista, Math Vision의 성능이 눈에 띄게 향상되었다고 강조한다.
나는 개인적으로 파란 상자에 있는 벤치마크에서 성능 향상이 도드라지는 것 같다.
논문 저자는 ViLoMem이 시각적 정보를 근거로 논리적 추론을 수행하는 Multimodal mathematical reasoning Task에서의 성능 향상을 강조하고 싶은 것 같다.
Solver가 시각적 정보 무시하고 텍스트 데이터로 추론을 진행하면, Verifier에서는 Solver의 시각적 오류를 파악하지 못하여 Visual Memory를 생성하기 힘들다.
Solver가 시각적 정보에 대한 자신의 이해를 자세하게 설명하지 않는 경우에도 Verifier가 Visual Memory를 생성하기 어렵다.
위 실험을 메모리 업데이트가 올바로 이루어지기 위해서는 모델이 어떻게 생각했는지를 정확하게 파악하는 것이 중요하다는 것을 알 수 있다. 모르는 문제를 선생님께 질문 드리러 갈 때, 어떻게 고민했고, 어디까지 풀이를 진행했는지 설명하는 것과 유사한 것 같다. 그런데 보통 선생님은 학생보다 더 똑똑하니까 '가이드라인을 제공하는 Generation 모델도 Solver보다 더 똑똑해야 피드백이 가능하지 않을까’ 라는 생각이 들기도 한다. 혹은 도움이 되는 정보가 Context로 제공되거나!

Case Study에서는 모델이 생성한 메모리를 뜯어보며 분석을 진행한다.
현재 표의 내용에서 Case 1, 2, 4의 Logical Memory는 잘못된 가이드라인이다. 하지만 논문에서는 Visual Memory를 통해 해당 내용은 보완한다고 강조한다.
또한 Case 2, 4의 경우 Attention map을 통해 이미지 속에서 모델이 집중적으로 봐야할 부분을 강조한 것을 확인할 수 있다.
Case 3의 경우 Visual Memory가 없는데, 시각적 정보 이해에 대한 오류가 없다면 굳이 메모리를 생성할 필요가 없다는 것을 알 수 있다.

Ablation Study에서는 ViLoMem을 이루는 각 구성요소의 필요성을 평가한다.
Table 2를 보면 MMMU에서 각 구성 요소가 추가될 때 마다 성능이 향상되는 것을 확인할 수 있다.
Logical memory와 Visual memory는 상호보완적인 것을 확인할 수 있다.
Math Vista에서 attention map을 적용하였을 경우 성능이 떨어지는 것을 확인할 수 있다.
논문 저자는 Math Vista의 경우 더 디테인한 이미지 이해가 필요하기 때문이라고 설명한다.
현재 논문에서는 Logical memory와 Visual memory가 상호보완적이라고 설명한다. 그런데 Case Study를 보면 꽤 잘못 만들어진 메모리도 있는 것 같다. 그렇다면 Visual memory는 잘 만들어졌는데, Logical memory 내용이 이상해서 성능이 저하되는 경우도 있지 않을까?

Memory Usage Analysis에서는 메모리 구성 비율, 활용률을 확인한다.
Figure 4의 a를 보면 파란색 단색 막대의 비중이 높은 것을 확인할 수 있다.
파란색 단색 막대는 Visual Memory를 의미하는데, 이는 현재 모델이 많은 Visual Error를 발생시킨다는 것을 알 수 있다.
빗금이 있는 것은 실제로 메모리 활용을 위해 Retrieve한 비율이다.
막대를 보면 Visual memory와 Logical memory 모두 균등하게 활용하는 것을 확인할 수 있다.
그림 b)에서도 투명한 도형이 Retrieve를 의미하는데 대부분의 벤치마크, 모델에서 데이터를 균등하게 활용하는 것을 확인할 수 있다.

Cross Model Memory Transfer에서는 메모리 재사용을 위해 다른 모델이 만든 메모리를 활용하여 성능을 평가한다.
Table 3을 보면 Qwen3-VL-8B에서 가장 성능이 많이 향상되는 것을 확인할 수 있다.
Table 3을 통해 좋은 모델에서 상대적으로 오류 분석과 전략 생성을 잘 한다는 것을 알 수 있다.
이는 메모리를 통해 좋은 모델에서 약한 모델로 지식 증류를 할 수 있다는 것을 알 수 있다.

Cross Benchmark Memory Generalization에서는 다른 벤치마크에서 생성한 메모리가 어느 정도 도움이 되는지 확인한다.
논문에서는 도메인 내용이 유사하다면 메모리 내용을 잘 활용할 수 있고, 도메인 내용이 다르다면 성능이 저하될 수 있다고 말한다.
Table 4의 실험은 평가 벤치마크를 제외한 5개의 벤치마크로 메모리를 생성한 후 성능을 평가하는 구조이다.
개인적으로 Table 4처럼 도메인 구분 없이 메모리를 생성한 후 평가하는 방식이 타당한지는 잘 모르겠다.
논문은 시각적 메모리와 논리적 메모리를 분리하여 관리하는 ViLoMem을 제안한다.
논문에서는 보강된 Question, 2단계 이미지 검색 등의 강화된 Retrieve 전략을 제안한다.
시각적 메모리와 논리적 메모리는 상호보완적으로 작용한다.
메모리는 도메인이 유사한 Task에서 공유가 가능하다.
메모리를 통해 좋은 모델에서 약한 모델로 지식 전이가 가능하다.
논문에서는 이미지 검색을 위해서 코사인 유사도를 사용한다. 그런데 다루는 데이터셋에서 예를 들어 자율주행차 블랙박스 속 사진처럼 서로 굉장히 유사한 상황이라면 이미지를 통한 검색이 가능한지 잘 모르겠다. 그런 경우에는 이미지 속 상황에 대해서 더 세부적으로 표현해야할 것 같다. 이미지와 논리 메모리를 따로 관리하는데, 같은 문제에서 발생한 오류는 함께 관리하고 모델에게 제공하는 것이 더 상식적인 방법이라는 생각도 든다.