이미지에 없는 물체를 말할 때: NoLan의 언어 사전확률 억제
이미지에 없는 익숙한 물체를 말하는 LVLM 오류를 NoLan이 어떻게 줄이는지, 언어 사전확률 억제 원리와 적용 조건, 지연, 오억제 위험을 설명합니다.
LVLM이 이미지에 없는 익숙한 물체를 말한다면, NoLan은 이미지, 텍스트 예측과 텍스트 전용 예측을 비교해 언어 모델의 강한 사전확률을 디코딩 중 낮춥니다. 다만 비전 인코더가 애초에 대상을 보지 못한 오류까지 고치는 방법은 아닙니다. 도입 여부는 객체 환각 감소 폭뿐 아니라 추가 forward 지연과 실제 객체를 누락시키는 오억제 비율을 함께 보고 결정해야 합니다.
“백설공주와 일곱 난쟁이”가 만드는 오답
이미지에는 난쟁이가 여섯 명이어도 프롬프트의 익숙한 이야기 때문에 모델이 일곱 명이라고 답할 수 있습니다. NoLan 연구는 비전 인코더가 정보를 전혀 못 본 경우와 언어 모델의 prior가 시각 신호를 덮은 경우를 구분합니다.
이 사례는 모든 객체 환각의 원인이 언어 모듈이라는 뜻은 아닙니다. 흐린 이미지나 가려진 물체처럼 비전 입력 자체가 부족한 경우도 따로 남습니다.
진단 순서는 단순합니다. 먼저 원본 이미지에서 사람이 문제의 물체와 수를 분명히 구별할 수 있는지 확인합니다. 이어 같은 질문을 이미지 없이 던졌을 때 특정 답이 강하게 반복되는지 봅니다. 시각 정보는 선명한데 텍스트 전용 답이 멀티모달 오답과 일치한다면 언어 prior가 덮어쓴 경우를 의심할 수 있습니다. 반대로 확대하거나 밝기를 조정했을 때만 답이 달라진다면 억제 계수보다 비전 입력 품질이 먼저 해결할 문제입니다.
객체 존재 질문, 개수 세기, 자유 캡션도 분리해야 합니다. “컵이 있는가”와 “컵이 몇 개인가”는 같은 물체를 다뤄도 실패 양상이 다릅니다. 자유 캡션에서는 존재하지 않는 명사를 하나 더 넣는 오류와 보이는 명사를 빠뜨리는 오류가 동시에 일어납니다. 한 점수만 보고 세 유형이 모두 좋아졌다고 판단하면 억제의 이득과 손실을 구별하기 어렵습니다.
텍스트 전용 패스를 왜 빼나
일반 디코딩은 이미지와 텍스트를 함께 넣어 다음 토큰 로짓을 계산합니다. NoLan은 같은 프롬프트를 이미지 없이 한 번 더 계산해 텍스트만으로 강하게 떠오르는 토큰을 찾고, 멀티모달 로짓에서 그 영향을 동적으로 억제합니다.
학습이나 가중치 변경 없이 디코딩 단계에 붙일 수 있다는 것이 장점입니다. 원문의 Python은 개념적 뺄셈만 보이는 의사 코드이므로 실제 동적 계수와 토큰 필터를 구현한 코드로 간주하면 안 됩니다.
단순히 두 로짓을 빼면 충분할까
핵심 비교는 “이미지를 봤을 때 올라간 후보”와 “이미지 없이도 원래 높았던 후보”를 가르는 데 있습니다. 그러나 모든 토큰에 같은 크기로 텍스트 전용 로짓을 빼면 조사나 문장 종결처럼 시각 대상과 무관한 토큰까지 흔들릴 수 있습니다. 그래서 실제 판단에서는 어떤 후보에 억제를 적용하는지, 강도를 언제 높이거나 낮추는지, 이미지 신호가 약할 때 어떻게 처리하는지가 중요합니다.
억제 강도는 하나의 정답이 아니라 운영 임계값입니다. 너무 약하면 익숙한 서사가 그대로 남고, 너무 강하면 이미지와 질문에 모두 필요한 상식 표현이 사라집니다. 명확한 정답이 있는 검증 세트에서 계수를 정한 뒤, 비슷한 장면만 반복하지 않는 별도 세트에서 존재 정확도와 누락률을 다시 확인해야 합니다. 특정 프롬프트 문구에만 맞춘 계수라면 질문을 바꾸는 순간 효과가 사라질 수 있습니다.
프롬프트 대조도 유용합니다. 같은 이미지에 중립 질문, 특정 물체를 암시하는 질문, 이야기 맥락을 넣은 질문을 차례로 적용합니다. 암시가 강해질수록 잘못된 후보가 상승하고 NoLan 적용 뒤 그 상승만 줄어드는지 살핍니다. 이 절차는 단순 정확도보다 무엇을 억제했는지 설명하기 쉽습니다.
+7.21은 속도 비용과 함께 본다
연구는 POPE에서 최대 7.21점 개선을 보고하고, LLaVA-1.5 7B와 Qwen-VL 7B에서 6~7점대 향상을 설명합니다. 이는 해당 모델과 객체 환각 평가의 결과입니다. 자유 서술, OCR, 공간 추론에서도 같은 효과가 난다는 보장은 없습니다.
텍스트 전용 forward가 추가되므로 기본 추론보다 계산이 거의 두 배가 될 수 있습니다. 배치 처리에는 허용돼도 대화형 서비스의 첫 토큰 지연과 처리량에는 부담이 됩니다. 실제 비교에서는 환각 감소와 함께 토큰당 시간, GPU 메모리, 정답 객체를 잘못 억제한 비율을 측정해야 합니다.
서비스 지연은 평균 응답 시간 하나로 판단하지 않는 편이 좋습니다. 이미지가 포함된 첫 요청에서 첫 토큰까지 걸린 시간, 이후 토큰 생성 속도, 동시에 처리할 수 있는 요청 수를 따로 기록합니다. 텍스트 전용 계산을 매 토큰 반복하는지, 재사용할 수 있는 부분이 있는지도 구현에 따라 비용을 크게 바꿉니다. 논문의 개선 점수만 가져오고 자신의 디코딩 경로를 측정하지 않으면 품질 이득보다 처리량 손실이 클 수 있습니다.
평가 표에는 최소한 기본 디코딩과 NoLan 적용 결과를 나란히 둡니다. 명확한 객체, 일부 가림, 낮은 해상도, 익숙한 서사가 있는 장면으로 묶고 각 묶음에서 환각과 누락을 동시에 셉니다. 처리 시간이 중요한 제품이라면 같은 지연 예산에서 이미지 해상도를 높이는 방법과 NoLan을 붙이는 방법도 비교할 수 있습니다. 어느 쪽이든 입력 조건을 같게 해야 선택의 근거가 됩니다.
언어 지식이 맞을 때는 어떻게 하나
언어 prior는 항상 잡음이 아닙니다. 이미지가 모호할 때 올바른 상식을 보완할 수 있고, 텍스트로 명시된 사실을 답에 넣어야 할 수도 있습니다. 억제 강도가 크면 실제 존재하는 익숙한 객체까지 누락할 수 있습니다.
따라서 명확한 객체, 가려진 객체, 텍스트만으로 답해야 하는 질문을 나눠 계수를 조정해야 합니다. NoLan은 특정 언어 편향을 진단하고 줄이는 도구이지, 모든 멀티모달 오류를 제거하는 범용 사실 검증기는 아닙니다.
어떤 제품에 먼저 적용할까
사진 속 물품 유무처럼 보이는 증거가 답을 지배해야 하고, 잘못된 추가 설명의 비용이 큰 기능이라면 우선 시험할 이유가 있습니다. 반면 상식 설명과 시각 관찰을 섞어 긴 답을 만드는 기능에서는 언어 prior를 광범위하게 누르면 문장이 빈약해질 수 있습니다. 질문 유형을 분류하지 못하는 서비스에 일괄 적용하기보다 객체 확인 경로부터 제한적으로 시작하는 편이 안전합니다.
배포 전 실패 조건도 정합니다. 환각은 줄었지만 실제 객체 누락이 허용 범위를 넘거나, 첫 토큰 지연이 서비스 예산을 초과하거나, 프롬프트 표현을 조금 바꿨을 때 개선이 유지되지 않으면 보류합니다. 반대로 특정 질문군에서 두 오류를 함께 낮추고 지연도 감당할 수 있다면 그 경로에만 적용한 뒤 로그를 계속 표본 검사할 수 있습니다.
결과를 해석할 때는 “모델이 이미지를 더 잘 이해하게 됐다”라고 넓혀 말하지 않아야 합니다. NoLan은 가중치를 다시 학습하지 않고 출력 후보의 상대 점수를 조정합니다. 따라서 개선은 언어 편향이 원인이던 사례에 집중될 가능성이 있으며, 작은 물체 인식이나 OCR 같은 비전 표현의 한계는 별도 방법으로 다뤄야 합니다.
한 데이터셋에서 정한 계수를 그대로 옮겨도 될까
POPE에서 좋은 계수가 제품 이미지에도 그대로 맞는다고 가정하면 안 됩니다. 질문 길이, 사용하는 모델, 디코딩 온도, 이미지 도메인이 달라지면 텍스트 전용 후보의 분포도 달라질 수 있습니다. 같은 계수를 고정한 채 모델만 바꿨을 때 환각과 누락이 어떻게 움직이는지 먼저 확인하고, 큰 차이가 나면 모델별 보정이 필요하다고 판단합니다.
운영 로그에서는 원본 답과 억제 후 답을 표본으로 함께 보관하는 방식이 유용합니다. 어떤 명사가 사라졌고 그 명사가 실제 이미지에 있었는지 사람이 확인하면 단순 점수보다 오억제 원인을 찾기 쉽습니다. 답 전체가 달라졌다면 최초로 갈라진 토큰과 그 뒤의 연쇄 변화를 살핍니다. 초반의 작은 로짓 변화가 문장 전체를 바꿀 수 있기 때문입니다.
장면 분포가 바뀌는 시점도 감시해야 합니다. 상품 사진으로 계수를 정한 뒤 만화나 문서 이미지가 많이 들어오면 언어 prior와 시각 신호의 관계가 달라질 수 있습니다. 도메인별 환각, 누락 표본을 주기적으로 비교하고, 두 지표 중 하나가 기준을 넘으면 적용 범위를 줄이거나 계수를 다시 검증합니다.
최종 답에는 필요하면 불확실성을 표현하는 경로도 남겨야 합니다. 이미지 증거와 언어 prior가 크게 충돌할 때 무조건 한 후보를 삭제하기보다 확인이 어렵다고 답하거나 확대 이미지를 요청하는 선택이 더 안전할 수 있습니다. NoLan을 답 강제 장치가 아니라 충돌을 드러내는 신호로 함께 활용하면 억제 실패를 숨기지 않고 운영할 수 있습니다.
이 충돌 표본을 계속 모으면 어느 질문군에 억제를 유지하고 어느 질문군에서는 해제할지도 데이터로 결정할 수 있습니다.
디코딩 설정이 바뀌면 억제 효과도 다시 확인해야 합니다. 온도, 답 길이, 후보 토큰 수가 달라지면 첫 명사에서 생긴 작은 로짓 차이가 뒤 문장에 퍼지는 방식도 달라집니다. 같은 이미지에 긍정형, 부정형 질문과 표현만 바꾼 질문을 주고, 실제 객체의 누락과 없는 객체의 추가를 함께 셉니다. 환각만 줄고 정답 객체 누락이 늘면 계수를 낮추거나 해당 질문군에서 NoLan을 해제해야 합니다. 두 오류의 비용을 제품별로 먼저 정하는 것이 단일 평균 점수보다 중요합니다.
함께 읽으면 이해가 이어지는 글
- 시각 토큰을 줄였더니 환각이 늘었다면: AgilePruner의 선택 기준 — AgilePruner가 어텐션, 다양성 기반 가지치기를 유효 랭크와 엔트로피로 비교하고 입력별로 전환하는 이유와 적용 한계를 설명합니다.
- Claude for Legal이 법률 환각을 끝낼까: 출처, 권한, 승인 설계 — Claude for Legal의 도구 연결 구조를 법률 검색, 문서 수정, 외부 전송으로 나눠 보고 환각, 권한, 감사 위험을 통제하는 기준을 정리합니다.
- OmniParser: GUI 자동화를 위한 순수 비전 기반 에이전트 — GUI 인터페이스를 자동화하는 강력한 AI 기술, OmniParser의 원리와 응용



