CVPR 2024 超分辨率大模型!华为和清华提出CoSeR:基于认知的万物超分大模型

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【扩散模型和超分辨率】交流群

添加微信:CVer444,小助手会拉你进群!

扫描下方二维码,加入CVer学术星球可以获得最新顶会/顶刊上的论文idea和CV从入门到精通资料,及最前沿应用!发论文搞科研,强烈推荐!

363e372b3f1ae19c0e8bd2639673bbcc.jpeg

2a7bed963dc9f4b3fc22ef593072a1f5.png

项目主页:https://coser-main.github.io/

论文:https://arxiv.org/abs/2311.16512

代码:https://github.com/VINHYU/CoSeR

5ce1b4575b002062eb4b8ad139bdcd83.png

图1.  LR,GR和SR分别为低清图像、基于对低清图像的认知生成的参考图像和超分图像。

图像超分辨率技术旨在将低分辨率图像转换为高分辨率图像,从而提高图像的清晰度和细节真实性。这项技术在手机拍照等领域有着广泛的应用和需求。随着超分技术的发展和手机硬件性能的提升,人们期望拍摄出更加清晰的照片。然而,现有的超分方法存在一些局限性,如图2所示,主要有以下两个方面:

  • 一是缺乏泛化能力。为了实现更好的超分效果,通常需要针对特定场景使用特定传感器采集到的数据来进行模型训练,这种学习方式拟合了某种低清图像和高清图像间的映射,但在其他场景下表现不佳。此外,逐场景训练的方式计算成本较高,不利于模型的部署和更新。    

  • 二是缺乏理解能力。现有的超分方法主要依赖于从大量数据中学习图像的退化分布,忽视了对图像内容的理解,无法利用常识来准确恢复物体的结构和纹理。 

c5a34191774d051398849e5d038c139e.png

图2. 真实场景超分SOTA方法的局限性:(行一)难以处理训练集外的退化分布;(行二)难以利用常识恢复物体结构。

人类在处理信息时,有两种不同的认知反馈系统。诺贝尔奖经济学得主丹尼尔·卡尔曼在《思考,快与慢》中将它们称为系统一和系统二,如图3所示。系统一是快速的、直觉的、基于记忆的反馈,比如,我们可以脱口而出十以内的加减运算。系统二是缓慢的、多步的反馈,比如,28x39往往需要逐步运算。现有的超分方法更贴近系统一,它们主要依赖于从大量数据中学习图像的退化分布,忽视了对图像内容的理解,无法按照常识来准确恢复物体的结构和纹理,也无法处理域外的退化情况。本文认为,真正能有效应用于真实场景的画质大模型应该具备类似系统二的多步修复能力,即基于对图像内容的认知,结合先验知识来实现图像超分(Cognitive Super-Resolution,CoSeR)。    

3bf7096df5c8d1cbadb02a50053ea28d.png

图3. CoSeR采用类似于人脑中系统二的修复方式

CoSeR模仿了人类专家修复低质量图像自上而下的思维方式,首先建立对图像内容的全面认知,包括识别场景和主要物体的特征,随后将重点转移到对图像细节的检查和还原。本文的主要贡献如下:

  • 提出了一种通用的万物超分画质大模型CoSeR,它能够从低清图像中提取认知特征,包括场景内容理解和纹理细节信息,从而提高模型的泛化能力和理解能力。   

  • 提出了一种基于认知特征的参考图像生成方法,它能够生成与低清图像内容一致的高质量参考图像,用于指导图像的恢复过程,增强图像的保真度和美感度。

  • 提出了一种“All-in-Attention”模块,它能够将低清图像、认知特征、参考图像三个条件注入到模型当中,实现多源信息的融合和增强。

  • 在多个测试集和评价指标上,相较于现有方法,CoSeR均取得了更好的效果。同时,CoSeR在真实场景下也展现颇佳。

方法介绍

图4展示了CoSeR的整体架构。CoSeR首先使用认知编码器来对低清图像进行解析,将提取到的认知特征传递给Stable Diffusion模型,用以激活扩散模型中的图像先验,从而恢复更精细的细节。此外,CoSeR利用认知特征来生成与低清图像内容一致的高质量参考图像。这些参考图像作为辅助信息,有助于提升超分辨率效果。最终,CoSeR使用提出的“All-in-Attention”模块,将低清图像、认知特征、参考图像三个条件注入到模型当中,进一步提升结果的保真度。 

9846d4e6f94ed9134e56bc1a0e094f33.png

图4. 本文提出的万物超分画质大模型CoSeR

图5展示了CoSeR参考图像生成的效果。与直接从低清图像中获取描述的方法相比,CoSeR的认知特征保留了细粒度的图像特征,在生成具有高度相似内容的参考图像时具有优势。在图5的第一行,使用BLIP2从低清图像生成的描述无法准确识别动物的类别、颜色和纹理。此外,CoSeR的认知特征对于低清图像更加鲁棒。例如,在图5的第二行,由于输入分布的差异,BLIP2会生成错误的图像描述,而CoSeR生成了内容一致的高质量参考图像。最后,相比于BLIP2大模型接近7B的参数量,CoSeR的认知编码器只有其3%的参数量,极大提升了推理速度。

b307d0ba7535a29cdb2ade06057c8d03.png

图5.(行一)使用BLIP2描述生成的参考图和CoSeR生成的参考图;(行二)CoSeR的高鲁棒性    

结果展示

表1和图6展示了CoSeR与其他方法的定量和定性结果对比。CoSeR在含有丰富类别的ImageNet数据集及真实超分数据集RealSR和DRealSR上,都取得了不错的结果。CoSeR能够恢复出更加清晰和自然的图像细节,同时保持了图像的内容一致性和结构完整性。

ce94a66633860057ce529088fec8dea8.png

表1. 定量结果对比 

    

13791be5cff33b84297320dec3ffc047.png

图6. 定性结果对比

本文提出的CoSeR模型为图像超分辨率技术提供了一种新的思路和方法,它能够从低清图像中提取认知特征,用于激活图像先验、生成参考图像,从而实现高质量的万物超分效果。我们未来的研究重点是如何在不影响超分性能的情况下加速采样,以获得更高的视觉质量。此外,我们还将探索统一模型在更多样化的图像修复任务中的表现。

在CVer微信公众号后台回复:CoSeR,即可下载论文和代码链接!快学起来!

CVPR 2024 论文和代码下载

在CVer公众号后台回复:CVPR2024,即可下载CVPR 2024论文和代码开源的论文合集

多模态和扩散模型交流群成立

 
 
扫描下方二维码,或者添加微信:CVer444,即可添加CVer小助手微信,便可申请加入CVer-多模态和扩散模型微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。
一定要备注:研究方向+地点+学校/公司+昵称(如多模态或者扩散模型+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

 
 
▲扫码或加微信号: CVer444,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉(知识星球),已汇集近万人!

▲扫码加入星球学习
 
 
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
<think>好的,我现在需要回答用户关于大模型蒸馏技术原理、实现过程、源代码案例析资料的推荐请求。首先,我要确保自己理解大模型蒸馏的基本概念。知识蒸馏是将大型模型(教师模型)的知识转移到小型模型(学生模型)中的技术,通常用于模型压缩部署优化。 接下来,用户需要的是原理、实现过程以及源代码案例析的资料。我应该先回顾自己了解的知识蒸馏的关键点,比如Hinton在2015年的开创性工作,使用软标签温度参数。然后,思考当前主流的蒸馏方法,如响应蒸馏、特征蒸馏、关系蒸馏等,以及相关的论文框架。 然后考虑实现过程,可能需要涉及如何定义教师学生模型,损失函数的设计(如KL散度、MSE损失等),训练流程的具体步骤。这部需要结合具体的代码库或教程,例如PyTorch的实现示例,或者Hugging Face的Transformers库中的蒸馏案例。 关于源代码案例析,需要查找开源项目中应用知识蒸馏的实例,例如DistilBERT、TinyBERT等,这些项目通常有公开的代码仓库,比如GitHub上的资源。此外,一些深度学习框架的官方文档或教程也可能提供示例代码,需要确认这些资源的可用性正确性。 用户要求资料推荐,因此需要整理相关的论文、书籍、博客文章、GitHub仓库、视频教程等。要确保推荐的内容是权威且易于理解的,特别是对中文用户来说,如果有中文资料会更好。同时,要检查推荐的资源是否仍然有效,链接是否正确。 还要注意回答的结构,按照用户的要求点说明,原理、实现、案例开,确保结构清晰。同时,要使用中文,避免专业术语过于晦涩,必要时进行解释。 可能遇到的挑战是,如何平衡深度广度,既覆盖足够的原理又不至于让用户感到信息过载。此外,确保推荐的资料是最新的,因为技术发展迅速,旧的资源可能不再适用。需要确认一些经典论文最新的研究进展,比如除了Hinton的原始论文,还要包括近年来的改进方法。 还需要考虑用户的背景,可能是有一定机器学习基础的研究者或开发者,因此推荐的资料需要有一定的技术深度,同时提供代码实现帮助他们实践。在推荐GitHub项目时,优先选择star数多、维护活跃的项目,以确保代码质量可复现性。 最后,检查是否符合系统级指令的要求,例如数学公式的正确使用,独立公式用$$...$$,行内公式用$...$,结构清晰,使用中文,LaTeX语法正确。需要特别注意回答中是否有涉及数学公式的部,如损失函数的表达式,确保正确格式化。</think>以下是为您整理的大模型蒸馏技术相关资料推荐,涵盖原理、实现及源码析: --- ### **一、核心原理** 1. **经典论文** - **《Distilling the Knowledge in a Neural Network》**(Hinton, 2015) 提出“软标签”“温度参数”概念,损失函数设计为: $$\mathcal{L} = \alpha \cdot \mathcal{L}_{\text{KL}}(p_s, p_t) + (1-\alpha) \cdot \mathcal{L}_{\text{CE}}(y, p_s)$$ 其中$p_s$为学生预测,$p_t$为教师软标签,$\alpha$为权重系数。 - 论文链接:[arXiv:1503.02531](https://arxiv.org/abs/1503.02531) - **《Patient Knowledge Distillation for BERT》**(Sun et al., 2019) 针对BERT提出逐层特征匹配策略,定义中间层损失: $$\mathcal{L}_{\text{MSE}} = \frac{1}{d} \| \mathbf{h}_t^{(l)} - \mathbf{h}_s^{(l)} \|_2^2$$ - 论文链接:[arXiv:1908.09355](https://arxiv.org/abs/1908.09355) 2. **中文解析资料** - 《知识蒸馏综述:方法与应用》(知乎专栏) 系统性梳理蒸馏技术类(响应蒸馏、特征蒸馏、关系蒸馏等)。 - B站视频教程《大模型压缩:知识蒸馏原理详解》(搜索关键词可查)。 --- ### **二、实现过程** 1. **关键步骤** - **教师模型固定**:加载预训练的大模型(如BERT、GPT)。 - **学生模型设计**:更浅或更窄的网络结构(如DistilBERT为6层Transformer)。 - **损失函数设计**:结合软标签损失(KL散度)硬标签损失(交叉熵)。 - **训练策略**:动态调整温度参数$\tau$或损失权重$\alpha$。 2. **PyTorch代码框架** ```python # 伪代码示例:蒸馏损失计算 teacher_model.eval() student_logits = student_model(inputs) with torch.no_grad(): teacher_logits = teacher_model(inputs) # 计算软标签损失(带温度参数τ) soft_loss = F.kl_div( F.log_softmax(student_logits / τ, dim=-1), F.softmax(teacher_logits / τ, dim=-1), reduction='batchmean' ) * (τ ** 2) # 计算硬标签损失 hard_loss = F.cross_entropy(student_logits, labels) total_loss = α * soft_loss + (1 - α) * hard_loss ``` --- ### **三、源码案例析** 1. **经典项目** - **DistilBERT(Hugging Face)** - 源码地址:[GitHub - huggingface/transformers](https://github.com/huggingface/transformers) - 关键实现:通过移除BERT的某些层并减少隐藏层维度压缩模型。 - **TinyBERT(华为)** - 源码地址:[GitHub - huawei-noah/Pretrained-Language-Model](https://github.com/huawei-noah/Pretrained-Language-Model) - 特点:设计“注意力矩阵蒸馏”“嵌入层蒸馏”。 2. **实战教程** - **《Knowledge Distillation with PyTorch》** 手把手实现MNIST类任务蒸馏,代码库:[GitHub示例](https://github.com/peterliht/knowledge-distillation-pytorch)。 - **Kaggle Notebook《BERT Distillation Tutorial》** 使用Hugging Face库完成BERT到小型模型的蒸馏。 --- ### **四、扩展阅读** - **书籍推荐** 《机器学习模型压缩与加速》(机械工业出版社) 第5章详解蒸馏技术及工业级优化方法。 - **最新进展** - **《MetaDistiller: Network Self-Boosting via Meta-Learned Top-Down Distillation》**(CVPR 2023) 结合元学习动态调整蒸馏策略。 - **《Distill-NAS: Neural Architecture Search via Knowledge Distillation》** 将蒸馏与NAS结合自动搜索高效学生模型。 --- 如需进一步探讨某个技术细节或代码调试,欢迎补充具体问题!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值