阅读笔记:MetaIQA: Deep Meta-learning for No-Reference Image Quality Assessment
paper:https://arxiv.org/abs/2004.05508
code:GitHub - zhuhancheng/MetaIQA
首先,需要了解一下什么是元学习。元学习就是让物体学会学习。
元学习接受多个任务及其相关训练数据作为输入。这些训练数据被划分为支持集与查询集两类,并基于这些训练数据构建了一个基础先验知识网络。随后对该网络进行微调优化后,则能够适应新的具体任务需求。
元学习包含三种主要方法:一种是基于回归神经网络(RNNs)的记忆方法、一种是基于度量的学习方式以及一种是基于优化的技术。以记忆为基础的学习方式会将前一阶段的任务经验存储在带有记忆功能的RNN中,并用于后续的新任务学习;而以度量为基础的学习则专注于从输入空间映射到新的嵌入空间,并利用最近邻分类器或线性分类器来进行图像识别工作;采用的是优化基的方法这一策略旨在通过有限数量的新样本对模型进行微调,并从中提取初始参数设置信息以实现快速适应新任务的学习目标。本文采用的是优化基的方法
查阅相关的[元学习 - 搜索结果 - 知乎](https://www.zhihu.com/search results -知乎)资料有助于我们更好地掌握元学习的相关知识
本文贡献:
1.提出基于深度元学习的NR-IQA方法,可以很好地处理多样失真。
通过采用元学习方法来探索不同失真类型间的共性元知识。通过多轮自监督训练策略,在不同类型的NR-IQA任务中实现了双层梯度优化。作为理想的基础模型,在面对未知类型的图像失真时表现出良好的适应能力。
我们在一套公共的 IQA 数据库上进行了系统性实验研究,在涵盖生成与真实失真两种类型的大量样本基础上进行了深入测试与验证。实验结果表明,在泛化能力与评价精度这两个关键指标上,该模型显著超越了现有国际先进的数字图像质量评价方法。
1.方法
基于元学习的方法**(通过一系列)已知失真类型的 NR-IQA 问题构建共享的质量先验知识库(然后)在未知失真下的 NR-IQA 问题上对其进行优化微调)。该框架包含两个主要步骤:第一是对质量先验知识库进行元训练;第二是在目标下的 NR-IQA 问题对该预训练知识库进行针对性优化以得到高质量评估体系

1.1 质量先验模型的元训练
通过双层梯度下降法来提高模型的泛化能力。在第一步中,在第一阶段训练阶段中,在每一轮迭代中,在每一步操作中,在每个优化步骤里,在每一次参数更新的过程中,在每一次数据处理的过程中,在每次计算过程中,在每次操作过程中,在每次运算步骤里,在每一次系统运行的过程中,在每一个工作流程里,在每一个操作流程里),首先将训练数据划分为支持集和查询集;随后利用支持集计算模型参数的梯度,并尝试通过SGD对其进行更新;最后则通过查询集验证更新后的模型是否能够有效执行其目标。
双层梯度优化的元学习:
支持集:

损失函数:

元训练集表示为

,

为支持集,

为查询集,N为任务的总数量。
以获得不同失真NR-IQA任务的通用模型为目标,在训练过程中随机选取k值来确定 mini-batch。针对 mini-batch 中的第i个支撑集进行处理。

,损失表示为

通过SGD进行网络优化的第一步是求取与所有模型参数相关的损失函数的一阶导数。

在支持集

上用Adam优化用S步来更新模型参数:

α为内部学习率,

,

第一时刻的梯度,

第二原始时刻的梯度,其表示为


u1,u2分别代表


的指数衰减速率,

为逐步更新的梯度。
查询集:
通过降低模型的计算复杂度,在更新模型参数后再次计算一阶梯度以优化查询效率

上用Adam优化用S步来更新模型参数:

对于小批量的 kNR-IQA任务,集成所有任务的梯度以更新最终的模型参数

β是外部学习率。在训练集

上迭代k NR-IQA任务训练深度回归网络

基于元学习方法和双层梯度优化策略可以建立面对不同图像失真情况的质量先验模型。
1.2未知失真的微调
基于一系列具有特定扭曲特性的数字图像质量评估任务的数据集进行质量先验模型的训练;随后将该模型作为先验知识应用于未知扭曲程度下的数字图像质量评估任务;经过人工标注获得具有明确质量分数的目标NR-IQA基准数据集中的M个样本;损失函数定义为:

我们利用 Adam 优化器,更新 nr-iqa 任务的质量先验模型:


为微调的学习率。最后得到质量评价模型。
整个过程可表示为:

2.代码
自己训练这个代码,将部分参数改为



训练结果:



