meta learning

meta learning在 少量数据集上 可以达到很好的效果,其目标主要是 通过 对traindata的探索,从而制定出适合的学习策略。简而言之,meta learning要做的事就是 学习如何去学习。
meta learning将传统GANs的训练过程由:设计模型–>寻找数据–>验证模型(用数据去匹配模型),更改为了:寻找数据–>设计模型–>验证模型(用模型去匹配数据)。
meta learning 与 人工设计模型 流程差异见下图:
meta learning如下:

人工设计如下:

meta learning中主要element介绍如下:
meta learning的训练集为:train_data + f_instance
meta learning的目标函数为F,其目标为:F(train_data + f_instances) -> f*_best
meta learning的损失函数为:由f_instance得到的模型在 不同任务的测试数据集上 的 损失之和,即:L = sum(validationloss_task1, validationloss_task2, validationloss_task3, …, validationloss_taskn);

下面总结一下 【Meta Learning学习笔记】Meta Learning详解 的核心内容:

利用meta learning去 initialize parameter

meta learning训练集:
dataset:train_data + validation_data
f_set:series of f which is used to initialize parameter

meta learing函数F: F(dataset + f_set) -> f*

meta learning损失函数L:通过 f_instance 初始化parameter p以后,在各个task上训练一轮(即进行一次梯度下降)后,得到更新后的parameter p_updated,然后用p_updated_model 计算其 在 各个task validation_data上的损失loss_task_i。对于一个f_instance,其在meta learning上的损失L = sum(loss_task_1, loss_task_2, …, loss_task_n);

F的目标就是要选择一个 f_instance_best,使其损失函数L最小;

利用meta learning去 create the way of updating parameter

在设计好 parameter 的更新计算图以后,用RNN作为meta learning的F函数,来 获得一个最优的f_instance_best,使其拥有最佳的parameter更新策略。

博文中给出的parameter更新策略(分别给出了3种 optimizer 下的parameter updating strategy):
以sgd说明every icon代表的含义:
左下角blue circle:操作数1(operand1)
右下角blue circle:操作数2(operand2)
左中 yellow rectangle:操作运算1(unary ops1)
右中 yellow rectangle:操作运算2(unary ops2)
最上 purple rectangle:binary操作(binary ops)

meta learning中的F函数,以及 参数更新策略 各个step在RNN中的输入顺序:
值得一提的是,因为RNN第一个output是后续的input,所以,参数更新策略第一步 设计 非常重要,他直接影响后续策略的设计。

通过F获得的f_instance_best:

利用meta learning去 create active function

创造active function的方法和“更新参数策略设计” 大同小异,均是先给出一个 active function 计算图,然后,在利用F去找到一个 最好的f_instance,拥有最好的active function设计策略。
下边直接给出 active function计算图 和 F架构及active function设计各step在F中的输入顺序:
active function计算图:

F 及 策略各step输入顺序:

f_instance_best:

利用meta learning去 build the structure of model

以CNN为例,首先定义好CNN层数,各层的filter width, filter height, stride width, stride height,…,然后,将这些 “策略step” 输入 meta learning F中,获得一个最好的 f_instance,使其拥有最优的CNN架构。
F 以及 各个策略step 输入顺序:

meta learning未来发展趋势

1)learn to learn to learn
meta learning主要是 设计模型,使其能够学习 如何去学习,而 learn to learn to learn则是设计模型,使其能够学习如何去学习meta learning F,更进一步的,我们可以有 learn to N learn。
2)F函数黑盒化
上文讲述的meta learning ,f_instance已经给出了特定的实例(即:具体的一个模式),未来的发展目标,是将 F+f 黑盒化,使模型能够自动学习出一个 f_instance,包括其 structure mode。这个目标,可以借鉴 “强化学习”
的思路,来进行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sarah ฅʕ•̫͡•ʔฅ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值