当前位置: 首页 > news >正文

【IQA技术专题】大模型视觉强化学习IQA:Q-Insight

在这里插入图片描述

大模型视觉强化学习IQA:Q-Insight:Understanding Image Quality via Visual Reinforcement Learning

  • 专题介绍
  • 一、研究背景
  • 二、Q-Insight方法
    • 2.1 前置知识
    • 2.2 方法总览
    • 2.3 Prompt设计
    • 2.4 奖励设计
  • 三、实验
  • 四、总结

本文将围绕《Q-Insight:Understanding Image Quality via Visual Reinforcement Learning》展开完整解析。Q-Insight实现的是无参考的图像质量评价指标,可以有效地对图像的感知(Fidelity)质量进行评估。参考资料如下,其中代码地址中作者开源了测试代码,有兴趣利用大模型做IQA的读者可以去尝试:
[1]. 论文地址
[2]. 代码地址
[3]. 强化学习入门
[4]. RL和LLM结合
[5]. PPO 和 GRPO


专题介绍

图像质量评价(Image Quality Assessment, IQA)是图像处理、计算机视觉和多媒体通信等领域的关键技术之一。IQA不仅被用于学术研究,更在影像相关行业内实现了完整的商业化应用,涉及影视、智能手机、专业相机、安防监控、工业质检、医疗影像等。IQA与图像如影随形,其重要程度可见一斑。

但随着算法侧的能力不断突破,AIGC技术发展火热,早期的IQA或已无法准确评估新技术的能力。另一方面,千行百业中各类应用对图像质量的需求也存在差异和变化,旧标准也面临着适应性不足的挑战。

本专题旨在梳理和跟进IQA技术发展内容和趋势,为读者分享有价值、有意思的IQA。希望能够为底层视觉领域内的研究者和从业者提供一些参考和思路。

系列文章如下:
【1】IQA综述
【2】PSNR&SSIM


一、研究背景

在IQA综述的IQA未来发展趋势一节中有提到:“当前众多IQA方法只做了分数的回归,这使得IQA方法的可解释性欠缺,纯靠算法或模型给出单一指标并不具备足够的可信度。若IQA模型能够同时输出例如视觉量著性图、归因分析解释等多形式质量评分依据,可让评价结果更令人信服。”该论文的出发点也是如此,借由多模态大模型在输出分数的同时,给出一个归因分析解释给出该分数的原因,加强IQA评价指标的可解释性,强化学习则能够在多模态模型的基础上进一步增强模型泛化性。
文章的贡献从其给出的示意图可见一斑:
在这里插入图片描述
左图是PLCC(Pearson Linear Correlation Coefficient,用于衡量主观质量分数与客观质量分数之间的线性相关性)在各个数据集上相比较其他方法的一个sota表现,中图是该论文针对一些图片给出的打分依据和打分输出和退化的感知情况,右图是文章做的一个zero-shot的图像比较任务,可以有效的对比两个算法之间的相对分数,并给出判断依据。

综上,此论文的贡献可以分为以下3点:

  1. 文章提出的IQA方法对比其他sota文章在各个开源数据集上PLCC分数有提升。
  2. 文章将传统的打分和退化类型、退化程度预测任务进行了结合,同时又因为多模态模型可以输出评价的原因,实用性和可解释性均得到了提升。
  3. 文章提出的IQA方法可以应用到图像质量对比分析中,在zero-shot的情况下可以给出两个图对比的结果和理由。

二、Q-Insight方法

2.1 前置知识

本节是针对不熟悉强化学习的读者写的,熟悉的读者可以跳过。本文只会讲跟理解相关的概念。强化学习作为一种新型的模型学习方法跟监督学习不一样,监督学习通常是任务驱动,通俗讲是有一批数据和一个损失函数,用模型将损失函数下降到最低点就完成了模型的学习。强化学习更像是一个交互的学习过程,没有标准答案,但是有一个奖励函数,在奖励函数的影响下,促使模型不断做出动作,之后循环这个奖励更新再推理再奖励的过程。一些基础的术语有:

  • 环境(Environment) :是一个外部系统,智能体处于这个系统中,能够感知到这个系统并且能够基于感知到的状态做出一定的行动。
  • 智能体(Agent) :是一个嵌入到环境中的系统,能够通过采取行动来改变环境的状态。
  • 状态(State)/观察值(Observation):状态是对世界的完整描述,不会隐藏世界的信息。观测是对状态的部分描述,可能会遗漏一些信息。
  • 动作(Action):不同的环境允许不同种类的动作,在给定的环境中,有效动作的集合经常被称为动作空间(action space),包括离散动作空间(discrete action spaces)和连续动作空间(continuous action spaces),例如,走迷宫机器人如果只有东南西北这 4 种移动方式,则其为离散动作空间;如果机器人向 360◦ 中的任意角度都可以移动,则为连续动作空间。
  • 奖励(Reward):是由环境给的一个标量的反馈信号(scalar feedback signal),这个信号显示了智能体在某一步采取了某个策略的表现如何。

以大模型中的强化学习为例:
在这里插入图片描述
大家好,我是:Observation。
GPT:Agent。
句子评分模型:Reward Model,对句子进行打分。
彭 于 晏:动作序列,GPT一个行为就是输出一个token,这些token在输出时是有概率的。
γ:折扣因子,在输出完整个句子后才好打分,但是以前的每个动作都是有分数的,需要乘以系数。

现在我们对术语比较熟悉了,一个完整的RL学习会存在下面4个模型:

在这里插入图片描述

  1. Agent:待训练的模型,例如GPT,用于生成句子的模型。
  2. Reference Model:这是 PPO 在 LLM 中独有的概念,目的是为了让 actor 不要训练偏离太远,主要是缓解 reward hacking + 稳定训练使用的。
  3. Critic:指导你进步的教练模型,注意,这个教练模型也会随着你的进步来调整自己的指导策略。
  4. Reward Model:用于给出最终分数的模型。

其中需要额外讲解的是Reference Model和Critic,其他两个的作用和来历是相对比较清晰。

  • Reference Model:是通过SFT(Supervised Fine-Tuning)得来的,即它是有标准的句子监督,因此它的结果会相对稳定,句子会流畅,如果不使用参考模型做KL散度的正则,会使得Agent输出的结果偏差太大。
  • Critic:是用来改进奖励的作用,只优化最终奖励会遇到高方差和对部分改进的激励不足的问题。参考文献中给出了一个非常形象的划分分数线的比喻:
    【假设我和弟弟的成绩分别是80和30分,爸爸对于两个人考试成绩的奖励条件和程度应该是不一样的,所以他决定:为我设定 80 分的“预测分数线”,为弟弟设定 40 分。如果我们在考试中超过这些分数线,就能得到更多的零花钱;如果没有达到,则几乎得不到或完全得不到。因此,如果弟弟努力学习从 30 分提高到 60 分,他比“预测分数线”高出 20 分,这将转化为丰厚的奖励。与此同时,如果我仍然保持在 80 分左右,增量收益较小,所以我不会比他得到更多。这种安排鼓励每个人从自己的基准出发进行改进,而不是单纯比较绝对分数。
    当然,爸爸也需要忙,一旦设定了一条分数线,它不会保持静态——他需要随着我们的进步不断“重新调整”。如果弟弟的水平提高到 60 分左右,那么 40 分的基准就不再公平。同样,如果我始终稳定在 85 分左右,爸爸可能需要调整我的分数线。换句话说,爸爸也需要学习,特别是关于我和弟弟进步的速度。
    教练模型中又引申出PPO(Proximal Policy Optimization)和GRPO(Group Relative Policy Optimization)策略,PPO中会使用到前面讲到的这个教练模型,然而,在大型语言模型(LLM)场景中,Critic通常需要与 Agent一样大才能准确评估状态,这可能成本高昂且有时不切实际,GRPO是它的优化版本,在deepseek的训练中也有使用,它去除了这个教练模型,通过计算同一问题的多个输出的平均值并进行标准化,得出“相对分数”,不再需要专用的价值函数,但仍能获得动态的“分数线”,简化训练并节省资源。】

2.2 方法总览

如下图所示。
在这里插入图片描述

这里对应于前面讲的前置内容,我们可以总结以下几个在RL训练中的点。

  • Observation:Multi-Task Query,分为两部分问题,第一部分是对于质量的评价,第二部分是对于退化类型和退化程度的评估。
  • Actor and Reference Model:Qwen-2.5-VL-7B,预训练的多模态大模型,结构一样。
  • Reward:Score Regression Reward以及Degradation Perception Reward,这里有两部分奖励,分别是预测质量分数的奖励和预测退化的奖励,因为这些内容都是已知的,所以也就不需要我们Reward model来对句子进行评分了。
  • Optimizor:GRPO,这个在前面讲到过,输出多个group来辅助进行优化。

2.3 Prompt设计

如下图所示,此为大模型的输入也可以称为Multi-Task Query。
在这里插入图片描述
大模型的prompt设置形式,利用这些prompt对Qwen模型进行询问,获取答案并进行训练。

  • System prompt:全局通用,规定了一些既定的规则。
  • Prompt for score:质量分数的prompt,用于询问质量分数的情况。
  • Prompt for Degrad:退化类型和退化程度的prompt,用于询问图像退化的情况。
  • Prompt for Compare: 不训练,仅对比,用于zero-shot的图像效果对比。

所有prompt具体的意思本文就不做翻译,大家可以自己看看。

2.4 奖励设计

有三个奖励,分别是格式奖励、质量分数奖励以及退化感知的奖励。

  1. Format reward:必须满足以下规则进行回答,否则不奖励。回答前后必须包含在“< /think>”之间;最后的结果必须包含在“< answer>”之间;所有回答必须是json的format,并且内部不包含额外的“{”或者“}”字符。

  2. Rewards for score regression task:满足以下公式。 r s c r ( i ) = 1 if  ∣ scr ⁡ p r e d ( i ) − scr ⁡ g t ∣ < ϵ , otherwise  0 , r_{\mathrm{scr}}^{(i)}=1 \quad \text { if }\left|\operatorname{scr}_{\mathrm{pred}}^{(i)}-\operatorname{scr}_{\mathrm{gt}}\right|<\epsilon, \text { otherwise } 0, rscr(i)=1 if  scrpred(i)scrgt <ϵ, otherwise 0,预测的分数必须满足在一个邻域内,否则为0,这个 ϵ \epsilon ϵ是超参数,如果设置为0,则需要严格相等。

  3. Rewards for degradation perception task:满足以下公式。 r d e g ( i ) = 1 if  deg pred ( i ) = deg gt , otherwise  0 r_{deg}^{(i)}=1 \quad \text{if} \ \text{deg}_{\text{pred}}^{(i)}=\text{deg}_{\text{gt}},\ \text{otherwise} \ 0 rdeg(i)=1if degpred(i)=deggt, otherwise 0预测类别正确时,加一分。然后是退化的程度。 r l e v ( i ) = 1 if  deg pred ( i ) = deg gt and  lev pred ( i ) = lev g t , otherwise  0 r_{lev}^{(i)}=1 \quad \text{if} \ \text{deg}_{\text{pred}}^{(i)}=\text{deg}_{\text{gt}} \ \text{and} \ \text{lev}_{\text{pred}}^{(i)}=\text{lev}_{{gt}} ,\ \text{otherwise} \ 0 rlev(i)=1if degpred(i)=deggt and levpred(i)=levgt, otherwise 0同时满足类别和程度正确时,加一分。

整体的奖励可以用下式表示: r ( i ) = r f m t ( i ) + 1 s c r ⋅ r s c r ( i ) + 1 d e g ⋅ ( α 1 ⋅ r d e g ( i ) + α 2 ⋅ r l e v ( i ) ) r^{(i)}=r_{\mathrm{fmt}}^{(i)}+\mathbb{1}_{\mathrm{scr}} \cdot r_{\mathrm{scr}}^{(i)}+\mathbb{1}_{\mathrm{deg}} \cdot\left(\alpha_{1} \cdot r_{\mathrm{deg}}^{(i)}+\alpha_{2} \cdot r_{\mathrm{lev}}^{(i)}\right) r(i)=rfmt(i)+1scrrscr(i)+1deg(α1rdeg(i)+α2rlev(i))作者加权的系数都为1,如果不选择某个任务,参数就为0。

三、实验

作者的数据集使用了以下几个:KonIQ,SPAQ,LIVE-Wild,KADID,CSIQ,PIPAL,AGIQA,训练配置为Qwen-2.5-VL-7B,10epoch for 128 batch_size。
首先是定量实验,作者给出了多个方法的PLCC和SRCC结果,每个方法的第一行是PLCC,第二行是SRCC。
在这里插入图片描述
其中,Handcrafted是手工的IQA方法,包含熟悉的NIQE以及BRISQUE;Non-MLLM是非多模态的深度学习方法,包含熟悉的HyperIQA以及CLIP-IQA等;MLLM是利用多模态模型去进行IQA的方法,仅在KonIQ这类域内的数据对比DeQA劣势,其他基本优势。但作者在OOD的数据上均有比较明显的提升,证实了这种强化学习范式的优势,泛化性好。

主观实验结果如下:
在这里插入图片描述
可以如预期输出分数和给出打分的原因,且分数跟GT接近。

消融实验如下:

  1. 对比了仅进行score训练和联合训练的效果,联合有优势。

在这里插入图片描述

  1. 对比了仅进行degradation训练和联合训练的效果,仍是联合有优势。
    在这里插入图片描述

zero-shot图像对比任务实验如下:
在这里插入图片描述
在分数和描述上都更胜一筹,能够注意到一些不好的细节和描述出具体的原因。

四、总结

此论文利用强化学习利用分数评价和退化评价的任务来进行图像IQA模型的训练,可以用较小的数据在多模态模型上达到较好的效果,既可以输出分数,又可以进行图像的描述。其次模型具有很强的泛化能力,在一些OOD数据上或者一些OOD任务上也能有不错的表现,因为它的可解释性,也带来了更多的客观的可信度。
博主认为应用上较为可行的是思路是以下三个:

  • 根据质量分数筛选出可使用的数据。
  • 美学图像评价,调整数据集设计成美学图像评价。
  • 作为损失辅助图像复原网络的训练。

感谢阅读,欢迎留言或私信,一起探讨和交流,如果对你有帮助的话,也希望可以给博主点一个关注,谢谢。

http://www.lqws.cn/news/574939.html

相关文章:

  • 数据同步工具对比:Canal、DataX与Flink CDC
  • 第二届 Parloo杯 应急响应学习——畸形的爱
  • Mybatis的修改(update)操作
  • 【Linux庖丁解牛】— 文件系统!
  • cJSON 使用方法详解
  • 浅谈AI大模型-MCP
  • 机器学习在智能电网中的应用:负荷预测与能源管理
  • Nginx漏洞处理指南
  • Leetcode 3598. Longest Common Prefix Between Adjacent Strings After Removals
  • 第8篇:Gin错误处理——让你的应用更健壮
  • 【Typst】自定义彩色盒子
  • 【NLP 实战】蒙古语情感分析:从 CNN 架构设计到模型训练的全流程解析(内附项目源码及模型成果)
  • BP-Tools21.02下载 加解密利器 金融安全交易算法工具 PCI认证工具 金融和智能卡的数据加解密和数据转换工具
  • 无人机用shell远程登录机载电脑,每次需要环境配置原因
  • 06_注意力机制
  • (七)集成学习
  • git lfs 提交、拉取大文件
  • 【Linux高级全栈开发】2.4 自研框架:基于 dpdk 的用户态协议栈的实现
  • 华为云Flexus+DeepSeek征文 | 华为云 ModelArts Studio 赋能 AI 法务:合同审查与法律文件生成系统
  • M|艺伎回忆录
  • 从理论到实战:解密大型语言模型的核心技术与应用指南
  • (LeetCode 面试经典 150 题 ) 134. 加油站 (贪心)
  • 日语学习-日语知识点小记-进阶-JLPT-真题训练-N2阶段(5):2022年12月2023年7月
  • 通过HTTPS访问Harbor2.13.1 的配置
  • 1.认识Docker
  • #华为鲲鹏#华为计算#鲲鹏开发者计划2025#
  • Prompt Depth Anything:以提示方式驱动的Depth Anything用于实现4K分辨率下的精确米制深度估计
  • 04-GRU模型
  • python中多线程:线程插队方法join详解、线程停止、通过变量来让线程停止
  • Linux中ssh无法使用配置的环境变量,ssh(非登录环境)环境变量和登录环境变量不同步问题