CV-010, Visually Dehallucinative Instruction Generation: Know What You Don’t Know, Preprint 2024

멀티모달 모델에게 “모르면 모른다고 말하기”를 가르칠 수 있을까?

멀티모달 언어 모델은 이미지에 없는 내용을 그럴듯하게 만들어내곤 한다. 기존 연구는 주로 이미지에 존재하지 않는 객체를 언급하는 문제에 집중해 왔다.

예를 들어 이미지에 개가 없는데도 모델이 “개가 소파 위에 앉아 있다”고 답하는 식이다.

하지만 이미지 속 객체를 정확히 인식하더라도 여전히 답할 수 없는 질문이 있다.

  • 사진 속 기차는 전체 노선을 몇 마일 운행하는가?

  • 사진 속 타자는 다음 공을 파울로 칠 것인가?

  • 이 사진은 정확히 어떤 방식으로 편집되었는가?

이런 질문은 이미지에 답의 근거가 없다. 그럼에도 모델은 “10마일”, “그렇다”, “사진을 잘라냈다”처럼 구체적인 답을 만들어낼 수 있다.

Visually Dehallucinative Instruction Generation: Know What You Don’t Know는 이러한 현상을 I Know hallucination, 줄여서 IK hallucination이라고 부른다.

핵심 아이디어는 간단하다.

이미지로 답할 수 없는 질문에서는 억지로 답하지 말고, “알 수 없다”고 말하도록 학습하자.

다만 논문의 제목처럼 모델이 정말로 자신의 지식 범위를 파악하게 되었는지는 조금 더 신중하게 살펴볼 필요가 있다.


1. IK hallucination이란 무엇인가

논문은 다음과 같은 상황을 IK hallucination으로 정의한다.

적절한 답이 “I don’t know”인 질문에 대해 모델이 그 외의 답을 생성하는 경우

기존 visual hallucination 평가가 주로 객체의 존재 여부를 다뤘다면, 이 논문은 한 단계 더 나아가 질문에 답할 충분한 시각적 근거가 존재하는가를 다룬다. (arXiv)

예를 들어 사진 한 장만 보고 특정 열차의 전체 운행 거리를 묻는다면, 이미지 인식 능력이 아무리 좋아도 답할 수 없다. 이때 좋은 모델은 가장 그럴듯한 숫자를 생성하는 대신, 이미지로는 확인할 수 없다고 답해야 한다.

논문은 이러한 사례를 네 종류로 구분한다.

Unanswerable

사람이나 모델 모두 주어진 정보만으로는 원칙적으로 답할 수 없는 질문이다.

예를 들어 미래에 일어날 사건이나 이미지 밖의 정보에 관한 질문이 여기에 해당한다.

False Questions

질문 자체가 이미지에 존재하지 않는 대상을 전제로 한다.

예를 들어 실제 이미지에는 아무 그림도 없는데 “O 위에는 어떤 그림이 그려져 있는가?”라고 묻는 경우다.

Don’t Know

사람 annotator는 답을 모르지만, 모델은 답을 알 수도 있는 경우다.

이 범주는 앞의 두 범주와 성격이 다르다. 인간이 특정 사물이나 장소를 알아보지 못했을 뿐, 더 강한 모델은 정답을 맞힐 가능성이 있기 때문이다.

Not Sure

이미지가 흐리거나 모호하여 확정적으로 답하기 어려운 경우다.

논문도 Don’t Know는 인간이 모르더라도 기계는 알 수 있다고 명시한다. 따라서 이 논문에서 사용하는 IDK는 모두 동일한 의미의 “본질적으로 답할 수 없음”을 뜻하지는 않는다.


2. VQAv2에서 IDK 데이터를 어떻게 만들었나

저자들은 새로운 이미지를 수집하거나 별도의 사람 annotation을 수행하지 않았다. 대신 기존 VQAv2 데이터의 인간 답변을 활용했다.

VQAv2에서는 하나의 이미지-질문 쌍마다 여러 명의 annotator가 답을 작성한다. 저자들은 이 답변 중 하나라도 다음과 같은 표현을 포함하면 해당 질문을 IDK 후보로 수집했다.

  • none

  • unknown

  • don't know

  • not sure

  • unanswerable

  • uncertain

  • bad question

  • depends

  • ambiguous

필터링 방식은 단순하다.

[
\text{인간 답변 중 하나라도 IDK keyword 포함}
\Rightarrow
\text{VQAv2-IDK에 추가}
]

이 과정을 통해 다음 규모의 데이터를 얻었다.

Split이미지-질문 쌍
Train13,807
Validation6,624

즉, VQAv2-IDK는 VQAv2에서 인간 annotator가 한 번이라도 불확실성을 표현한 사례를 추출한 subset이다. (arXiv)

이 방식은 비용이 적고 간단하지만, 데이터가 완전히 깨끗하다고 보기는 어렵다.

예를 들어 10명의 annotator 중 9명이 동일한 정답을 냈고 한 명만 not sure라고 했다면, 그 질문도 IDK 데이터에 들어갈 수 있다. 또한 none이라는 답이 언제나 “잘못된 질문”을 의미하는 것도 아니다.

따라서 VQAv2-IDK는 엄밀하게 검증된 unanswerable benchmark라기보다는, IDK 관련 표현이 등장한 VQAv2 사례를 자동으로 수집한 데이터에 가깝다.


3. 짧은 VQA 답변을 자연스러운 IDK instruction으로 변환

VQAv2의 원래 답변은 대부분 짧은 단어나 구 형태다.

예를 들어 다음과 같은 질문이 있다고 하자.

Will he hit a foul ball?

인간 답변은 다음처럼 섞여 있을 수 있다.

no, no, no way to know, not sure, maybe, yes, idk

이 답변들을 그대로 학습하면 모델이 자연스러운 대화형 응답을 생성하기 어렵다.

그래서 저자들은 GPT-3.5-turbo와 GPT-4를 이용해 이를 문장 형태의 답변으로 변환한다.

It is unclear whether he will hit a foul ball or not.

Instruction 생성 시 언어 모델에 제공되는 것은 다음과 같다.

  • 질문

  • VQAv2의 인간 답변 목록

  • 네 가지 IDK 유형을 포함한 few-shot examples

흥미로운 점은 instruction을 생성하는 GPT 모델에는 이미지를 제공하지 않았다는 것이다. 생성 모델이 이미지 내용을 임의로 추론하지 않고, 기존 인간 답변에 근거해 불확실성 문장을 만들도록 한 것이다. (arXiv)

최종적으로 질문 하나당 두 개의 생성 답변을 만들었다.

Split질문생성 답변
Train13,80727,614
Validation6,62413,248

같은 이미지에 속한 여러 질문을 묶어 multi-turn dialogue로 구성한 결과, 학습용 11,123개와 검증용 5,496개의 dialogue가 만들어졌다. (arXiv)


4. IDK 데이터만으로 fine-tuning한 것은 아니다

이 논문의 학습 방식을 볼 때 가장 주의해야 할 부분이다.

저자들은 기존 멀티모달 모델을 IDK-Instructions만으로 추가 학습한 것이 아니다. 기존 visual instruction 데이터와 IDK 데이터를 섞어 visual instruction fine-tuning을 수행했다.

실험에는 주로 두 프레임워크가 사용되었다.

InstructBLIP

InstructBLIP은 LAVIS의 여러 visual instruction dataset과 IDK-Instructions를 함께 학습했다.

데이터셋 크기가 큰 쪽에 학습이 지나치게 치우치지 않도록, 각 데이터셋의 sampling probability를 대략 다음처럼 설정했다.

[
p(D_i)

\frac{\sqrt{|D_i|}}
{\sum_j \sqrt{|D_j|}}
]

따라서 IDK 데이터가 작더라도 일정 비율로 계속 sampling되도록 했다.

LLaVA-1.5

LLaVA-1.5에서는 기존 LLaVA instruction mixture에 IDK-Instructions를 추가했다.

IDK dialogue가 약 1.1만 개로 상대적으로 작기 때문에, 저자들은 이를 10배 복제한 후 기존 dialogue와 섞어 shuffle했다.

즉, 대략 11만 개 수준으로 oversampling한 셈이다.

따라서 이 실험은 다음에 가깝다.

[
\text{기존 visual instruction data}
+
\text{oversampled IDK-Instructions}
]

별도의 uncertainty head나 confidence estimator를 학습한 것이 아니라, 일반적인 supervised fine-tuning을 통해 특정 질문에서는 IDK 문장을 출력하는 응답 정책을 학습한 것이다.


5. 학습한 모델은 어떻게 평가했나

논문은 세 종류의 평가를 수행했다.

5.1 VQAv2-IDK에서 IDK 응답률 측정

가장 핵심적인 평가는 VQAv2-IDK validation set에서 모델이 IDK 표현을 생성하는지 확인하는 것이다.

모델의 생성 답변에 다음과 같은 keyword가 하나라도 포함되면 정답으로 처리한다.

  • don't know

  • not sure

  • unknown

  • unanswerable

  • uncertain

  • I can't

  • not possible

  • hard to determine

  • sorry

  • none

즉, IDK accuracy는 사실상 다음과 같다.

[
\text{IDK Accuracy}

\frac{
\text{IDK keyword가 포함된 생성 답변 수}
}{
\text{전체 VQAv2-IDK 질문 수}
}
]

문장 전체가 적절한지는 평가하지 않는다.

예를 들어 다음 답변도 not sure가 포함되어 있기 때문에 정답 처리될 가능성이 있다.

I’m not sure, but the train definitely runs for 10 miles.

따라서 이 지표는 엄밀한 hallucination-free accuracy라기보다 IDK phrase generation rate에 더 가깝다.

5.2 일반 VQA 성능

IDK를 학습한 뒤 일반적인 질문을 푸는 능력이 유지되는지 확인하기 위해 다음 데이터셋에서도 평가했다.

  • VQAv2

  • OK-VQA

5.3 기존 visual hallucination 평가

객체가 이미지에 존재하는지를 yes/no 형태로 묻는 POPE benchmark도 평가했다.

  • POPE-Adversarial

  • POPE-Popular

  • POPE-Random

이를 통해 IDK 학습이 기존 객체 hallucination 문제에도 도움이 되는지 확인했다.


6. 결과: IDK를 말하는 비율은 크게 증가했다

LLaVA-1.5 기준 VQAv2-IDK 결과는 다음과 같다.

모델VQAv2-IDK
LLaVA-1.53.73
LLaVA-1.5 + IDK-Instructions83.67

카테고리별 결과도 크게 상승했다.

Category기존+ IDK
Unanswerable4.7189.44
False Questions1.6269.72
Don’t Know5.6692.03
Not Sure0.4191.89

InstructBLIP OPT-6.7B에서도 전체 IDK 점수가 0.54에서 62.91로 증가했다.

따라서 한 가지는 분명하다.

IDK 예시를 instruction tuning 데이터에 충분히 넣으면, 답하기 어려운 형태의 질문에서 모델이 “모르겠다”는 표현을 훨씬 자주 생성한다.

다만 이것만으로 모델이 자신의 지식 상태를 정확히 판단한다고 결론 내릴 수는 없다.


7. 일반 성능은 오히려 일부 하락했다

LLaVA-1.5의 일반 VQA 결과를 보면 trade-off가 드러난다.

모델VQAv2OK-VQA
LLaVA-1.575.068.8
+ IDK-Instructions69.573.6

OK-VQA는 68.8에서 73.6으로 상승했지만, VQAv2는 75.0에서 69.5로 크게 하락했다.

왜 VQAv2가 하락했는지는 논문에서 충분히 분석하지 않는다.

가능한 원인은 여러 가지다.

  • 모델이 answerable 질문에도 과도하게 IDK를 출력했을 수 있다.

  • IDK 데이터를 10배 oversampling하면서 응답 분포가 크게 변했을 수 있다.

  • 기존 instruction mixture를 다시 학습하는 과정에서 일반 성능이 변했을 수 있다.

  • 짧은 VQA 답변 대신 긴 uncertainty 문장을 선호하게 되었을 수 있다.

하지만 논문은 answerable 질문에서의 false abstention rate를 따로 보고하지 않는다. 따라서 VQAv2 하락이 실제로 과도한 abstention 때문인지 확인하기 어렵다.


8. 기존 visual hallucination 성능도 일관되게 좋아지지 않았다

LLaVA-1.5의 POPE 결과는 다음과 같다.

SettingBase+ IDK
POPE-Adversarial81.282.4
POPE-Popular86.284.2
POPE-Random89.485.1

Adversarial split에서는 1.2점 상승했지만, Popular와 Random에서는 각각 2.0점과 4.3점 하락했다.

따라서 IDK instruction이 일반적인 visual hallucination을 전반적으로 줄였다고 말하기는 어렵다.

더 정확한 해석은 다음과 같다.

객체 존재 여부를 잘못 판단하는 기존 visual hallucination 능력이 개선된 것이 아니라, 특정한 unanswerable 질문에서 IDK 표현을 생성하는 행동이 강화되었다.


9. 결국 무엇이 좋아진 것인가

이 논문에서 명확히 좋아진 것은 다음이다.

VQAv2 annotator가 불확실성 표현을 남긴 질문에서 모델이 IDK keyword를 출력하는 비율

반면 다음 능력이 개선되었다고 보기는 어렵다.

  • 모델이 자신의 내부 지식 여부를 정확히 판단하는 능력

  • answerable과 unanswerable을 균형 있게 구분하는 능력

  • 일반적인 visual hallucination을 전반적으로 줄이는 능력

  • confidence calibration

  • 선택적 예측 능력

논문의 IDK 데이터는 대부분 모델이 실제로 모르는 데이터라기보다, 이미지로 답하기 어렵거나 인간 annotator가 모른다고 표시한 데이터다.

특히 Don’t Know 범주는 인간이 몰랐을 뿐 모델은 정답을 알 수도 있다. 그런데 평가에서는 모델이 정확한 답을 생성해도 IDK keyword가 없다면 실패로 처리될 수 있다.

따라서 논문의 제목인 “Know What You Don’t Know”를 문자 그대로 받아들이기보다는 다음처럼 이해하는 편이 정확하다.

모델에게 unanswerable한 질문 패턴과 IDK 응답의 대응 관계를 supervised fine-tuning으로 학습했다.


10. 평가에서 빠진 것들

모델이 정말로 더 신뢰할 수 있게 되었는지를 확인하려면 IDK recall만으로는 부족하다.

최소한 다음과 같은 지표가 필요하다.

IDK precision

모델이 IDK라고 답한 질문 중 실제로 답할 수 없는 질문의 비율이다.

[
\text{IDK Precision}

\frac{\text{올바른 abstention}}
{\text{전체 abstention}}
]

False abstention rate

답할 수 있는 질문인데도 모델이 “모르겠다”고 답한 비율이다.

Coverage

모델이 IDK로 회피하지 않고 실제 답변을 제공한 비율이다.

[
\text{Coverage}

\frac{\text{답변한 질문 수}}
{\text{전체 질문 수}}
]

Selective accuracy

모델이 답변하기로 선택한 질문에서의 정확도다.

[
\text{Selective Accuracy}

\frac{\text{정답 수}}
{\text{IDK가 아닌 응답 수}}
]

Risk–coverage curve

모델이 더 많은 질문에 답할수록 오류율이 어떻게 증가하는지 보여준다.

이런 평가가 있어야 모델이 단순히 IDK를 많이 말하게 된 것인지, 실제로 맞힐 수 있는 질문에는 답하고 틀릴 질문에는 abstain하게 된 것인지 판단할 수 있다.


11. 이 논문의 의의

한계가 분명하지만, 이 논문은 중요한 문제를 제기한다.

기존 visual instruction tuning 데이터는 대부분 다음과 같은 구조를 가진다.

[
\text{질문} \rightarrow \text{항상 어떤 답}
]

모델 입장에서는 입력이 무엇이든 답을 생성하는 것이 학습 목적에 가장 잘 맞는다. 답할 수 없는 질문에 침묵하거나 불확실성을 표현하는 사례는 거의 없다.

이 논문은 이러한 데이터 편향을 지적한다.

멀티모달 모델이 억지로 답하는 이유 중 하나는, instruction tuning 과정에서 “항상 답하라”는 행동만 배웠기 때문일 수 있다.

그리고 소량의 IDK 데이터를 추가하는 것만으로 모델의 응답 정책이 크게 바뀔 수 있음을 보여준다.

새로운 모델 구조나 복잡한 uncertainty estimator 없이도, 학습 데이터의 구성만으로 abstention behavior를 유도할 수 있다는 점은 의미가 있다.


12. 결론

이 논문의 핵심 결과를 가장 보수적으로 요약하면 다음과 같다.

IDK instruction을 기존 visual instruction 데이터에 섞어 학습하면, 답하기 어려운 형태의 질문에서 모델이 “모르겠다”고 답하는 비율이 크게 증가한다.

하지만 그 대가로 LLaVA-1.5의 VQAv2 성능은 하락했고, 기존 visual hallucination benchmark인 POPE도 대부분의 split에서 악화되었다.

따라서 이 결과를 다음처럼 해석해서는 안 된다.

모델이 자신이 아는 것과 모르는 것을 정확히 구분하게 되었다.

더 적절한 해석은 다음이다.

모델의 응답 정책이 “항상 무엇인가 답하기”에서 “특정 질문 패턴에서는 IDK 표현을 생성하기”로 이동했다.

이 논문은 abstention을 학습 데이터로 제어할 수 있다는 가능성을 보여준다는 점에서는 의미가 있다. 다만 모델의 진정한 knowledge boundary나 calibration을 다루는 연구로 발전하려면, answerable 질문에서의 false abstention과 accuracy–coverage trade-off까지 함께 평가해야 한다.

Reference

댓글