TL;DR
- I read this because.. : VLM + RLHF
- task : LVLM
- problem : hallucination
- idea : human annotation์ segment level๋ก ๋ฐ์์ hallucination์ ์ธก์ + rejection sampling / DPO์ฒ๋ผ ํ์ตํ์
- input/output : {image, question} -> class(accurate, inaccurate, analysis)
- architecture : InstructBLIP
- objective : CE loss or proposed FDPO loss
- baseline : InstructBLIP, LLaVA, mPLUG-OWL
- data : (proposed) 16K image-prompt-response
- evaluation : RM Score(true segment ๋ํ NLL), human eval(percent of content that was truthful? ๋ฌธ์ฅ๋จ์์ธ์ง..
- result : Reward model์ ํ์ตํ๊ณ rejection sampling ํ์ ๋ ์ฑ๋ฅ ๊ฐ์ . ์ ์ํ FDPO๋ ์ฑ๋ฅ ๊ฐ์ .
- contribution : ๋ฒค์น๋งํฌ ๊ณต๊ฐ, VLM์ RLHFํ ๊ฝค ์ด๊ธฐ์์ธ๋ฏ
- etc. : MHALDetect ๋ฒค์น๋งํฌ๊ฐ ์ ๋์ด์ ๊ทธ๋ฐ์ง ์ธ์ฉ์๋ ๋ง์๋ฐ ๋ญ๊ฐ ์ ์ ์ฝํ๋น..
Details
์๋์ ๊ฐ์ด annotation
4000 images - instructBLIP response (10 human annotated) class๋ accurate, inaccurate, analysis, unsure 4๊ฐ
์ด์ค 3200๊ฐ๋ฅผ val split –> ์ด๊ฒ ์๋ง MHALDetect
Method
Multi-Modal Reward Model Instruct BLIP ์ฌ์ฉ. ๊ฐ sentence level์ eos token์ classifier (accurate, inaccurate, analysis) ๋ฌ์์ ํ์ตํ๋ ๋ฐฉ์ segment-level reward model์ ๊ฒฝ์ฐ ๊ฐ segment(๋ฐ์ดํฐ ๊น๋ณด๋๊น ๋ค๋ฅธ label์ด ๋์ค๊ธฐ ๊น์ง ๊ทธ๋ฅ ๋ค ์ด์ด์ง)์ ๋์ classifier ๋ฌ์. ์ด๊ฑด ์ ํ์ง ๋ชจ๋ฅด๊ฒ ์..!
Rejection sampling ์ ๋๋ก ๋ ์ค๋ช ์ด ์๋๋ฐ.. inference์์ sampling ์๊ฒ ๋ฝ์ ๋ค์ ๊ฐ sentence level๋ก RM ๋ชจ๋ธ์์ negative log likelihood ๊ฐ์ ๊ฐ์ง๊ณ hallucination์ด ์๋์ง ์๋์ง ํ๋จํด์ ์ฌ์ฉํ๋ ๋ฏ best-of-n, worst-of-n ์ผ๋ก ๋ฝ์. ์ด๋ n์ 16, 64
fine-grained direct preference optimization DPO์ ๋ฌ๋ฆฌ ์ด ๊ฒฝ์ฐ pair๊ฐ ์์ด์ ๊ทธ๋ฅ segment level๋ก loss๋ฅผ ๋ถ๊ณผ
- $x$ : ํ์ฌ segment ์ด์ ๊น์ง์ ํ ํฐ๋ค
- $y$ : generated segment
- $c$ : class of current segment
- 1 : preferred classs (correct)
- 0 : dispreferred class (incorrect, optionalํ๊ฒ analysis๋)
Result
reward model์ ์ฑ๋ฅ
rejection sampling / finegrained DPO result
RM Score๋ ์ ์๋ฟ์ง ์์.. Human Eval์์ ์ฑ๋ฅ ๊ฐ์ . ๋ค๋ฅธ hallucination bench๋ VLM ๋ฒค์น๋ ์ฐ์ด๋ณด์ง ์์.