前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Meta Learning 简述

Meta Learning 简述

作者头像
Mezereon
发布2021-06-01 20:55:08
5710
发布2021-06-01 20:55:08
举报
文章被收录于专栏:MyBlogMyBlog

Meta Learning 简述

先来回顾一下,传统的机器学习或者说深度学习的流程:

  1. 确定训练和测试数据集
  2. 确定模型结构
  3. 初始化模型参数(通常是一些惯用的随机分布)
  4. 初始化优化器类型和参数
  5. 进行训练,直到收敛

Meta Learning的目的是去学习一些在步骤2,3,4的参数,我们称之为元知识(meta- knowledge)

不妨对其进行形式化

假设数据集为

D = \{(x_1,y_1),...,(x_N,y_N)\}
D = \{(x_1,y_1),...,(x_N,y_N)\}

其中

x_i
x_i

是输入,

y_i
y_i

是输出标签

我们的目的是得到一个预测模型

\hat{y} = f(x;\theta)
\hat{y} = f(x;\theta)

, 其中

\theta
\theta

表示模型的参数,

x
x

为输入同时

\hat{y}
\hat{y}

是预测的输出

优化的形式为:

\theta^* = \arg \min_{\theta} \mathcal {L} ( D ; \theta, \omega )
\theta^* = \arg \min_{\theta} \mathcal {L} ( D ; \theta, \omega )

其中的

\omega
\omega

就是元知识,包括:

  • 优化器类型
  • 模型结构
  • 模型参数的初始分布
  • ...

我们会对已有的数据集

D
D

进行任务划分,切分成多个任务集合,每一个任务集合包括一个训练集合以及一个测试集合,其形式为:

D_{source} = \{ (D^{train}_{source},D^{val}_{source})^{(i)}\ \} _{i=1}^{M}
D_{source} = \{ (D^{train}_{source},D^{val}_{source})^{(i)}\ \} _{i=1}^{M}

优化目标为:

\omega^* = \arg \max_{\omega} \log p(\omega | D_{source} )
\omega^* = \arg \max_{\omega} \log p(\omega | D_{source} )

也就是在我们切分的多个任务集合中,找到一组配置(也就是元知识),使其对于这些任务来说最优。

一般称这个步骤为元训练(meta-training)

找到

\omega^*
\omega^*

之后,便可以应用到一个目标任务数据集

D_{target} = \{(D_{target}^{train}, D_{target}^{val})\}
D_{target} = \{(D_{target}^{train}, D_{target}^{val})\}

在这上面进行传统的训练,也就是找到一个最优的模型参数

\theta^*
\theta^*
\theta^* = \arg\max_{\theta}\log p(\theta|\omega^*, D_{target}^{train})
\theta^* = \arg\max_{\theta}\log p(\theta|\omega^*, D_{target}^{train})

这个步骤称之为元测试(meta-testing)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Meta Learning 简述
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档