元学习是什么?
简单地理解为学习的学习,即在多个学习阶段改进学习算法,是一个更加广泛的、非特定任务导向的学习。
对比传统机器学习,传统的监督型机器学习任务为:从一个包含GT的数据集D中学习使得损失值最小的函数可学习参数,用式子表达为:
其中,L为针对特定任务的损失函数,θ是需要学习的模型参数,ω是模型的超参数(比如网络层数、优化器等等),D是数据集。
而元学习任务是在更高维度学习,针对很多任务T,,目标是使得对于M个源数据集,对应各自特定的任务,要使得这些任务损失总和的期望最小,并找到最适合的ω(传统需要人为定义),公式为:
元学习有很多相关的研究领域:迁移学习、领域自适应&领域泛化、持续学习、多任务学习、超参数优化、分层贝叶斯模型、AutoML(元学习是其中的一个部分)。
如果在Scopus数据库中搜索元学习,可以发现,元学习相关的研究从2018开始激增:
如何解决元学习问题
采用双层优化方法,双层优化方法的定义可以参考GPT的回答:
双层优化方法
Bilevel optimization problem(双层优化问题)是一类具有两层结构的优化问题。在这种问题中,优化问题的目标函数和约束条件分为两个层次,其中一个层次(上层)依赖于另一个层次(下层)的解。双层优化问题常见于许多实际应用中,如经济学、工程设计和机器学习等领域。
结构与定义
双层优化问题的结构如下:
上层问题(上层目标):
- 上层决策者要优化的目标函数,通常取决于下层的最优解。
- 形式化为:minimizex F(x,y∗)minimizexF(x,y∗)
下层问题(下层目标):
- 在给定上层决策 xx 的情况下,优化的目标函数和约束条件。
- 下层问题的解 y∗y∗ 是满足下层约束的最优解。
- 形式化为:minimizey f(x,y)minimizeyf(x,y)
- 约束条件:subject to g(x,y)≤0subject tog(x,y)≤0
典型形式
双层优化问题可以被形式化为:
应用场景
双层优化问题在许多实际问题中都有应用:
经济学与市场模型:
- 在博弈论中,双层优化问题用于模型市场竞争,其中上层优化代表一个企业的策略,下层优化代表竞争对手的反应。
工程设计:
- 在设计和优化过程中,上层可以代表系统的总体设计目标,下层则代表具体设计变量的优化。
机器学习:
- 在一些复杂的机器学习模型中,双层优化可以用于训练过程中的超参数优化,其中上层目标是模型的性能,下层目标是训练过程中的优化。
网络设计:
- 在网络优化问题中,上层优化网络的总体配置,下层优化网络中的具体资源分配。
解决方法
解决双层优化问题通常比较复杂,因为下层问题的解会影响到上层问题的目标函数。常见的解决方法包括:
迭代方法:通过迭代的方式,交替求解上层和下层问题,逐步逼近最优解。
拉格朗日对偶法:通过构建拉格朗日对偶问题,将双层问题转化为更易处理的形式。
启发式算法:如遗传算法、粒子群优化等,适用于问题规模较大或求解困难的情况。
分解方法:将双层问题分解为多个更简单的问题进行处理,如使用二阶逼近方法等。
双层优化问题的核心特点是其决策结构的层次性。上层问题的最优解依赖于下层问题的解,而下层问题的解又受到上层决策的影响。这种结构使得双层优化问题在建模和求解上都具有一定的挑战性,但也使其在处理复杂系统和多层决策问题中具有重要的应用价值。
Meta-Representation,Meta-Optimizer,Meta-Objective
Meta-Representation解决What的问题,即元学习到底学什么?Meta-Optimizer解决How的问题,即元学习怎么进行学习?Meta-Objective解决Why的问题,即为什么学
参考 :Meta-Learning in Neural Networks: A Surveyhttps://ieeexplore.ieee.org/document/9428530/?arnumber=9428530