IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> (二)元学习算法MAML解读 -> 正文阅读

[人工智能](二)元学习算法MAML解读


欢迎访问个人网络日志🌹🌹知行空间🌹🌹


论文: Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks Chelsea

代码: https://github.com/cbfinn/maml

ICML2017的一篇论文,作者Chelsea Finn是斯坦福的老师,一不小心去作者主页看了下,MIT和伯克利的学生,真强。_

元学习MAML论文介绍

模型无关元学习算法,即Model-Agnostic Meta-Learning Algorithm(MAML)。

1.元学习(meta learning)

元学习即学会学习,区别与普通的深度学习过程。普通的深度学习具体到某一任务,如图像分类,即训练一个模型实现一个数据集内的图像分类,这种方法有一定的局限性,即模型只能在当前任务(task)上工作,不能应用到其他任务。譬如基于手写字识别数据集训练的分类模型不能用来实现猫和狗的分类。有没有一种方法,可以学会完成分类这一任务,不针对具体是实现哪些对象的分类,学会分类任务后再基于少量的具体数据训练学会是具体给猫狗分类还是给手写字分类。相当于说一个模型实现了原来多个模型的功能。

元学习训练模型是为了获得一个可以快速应用到小样本数据的新任务上的模型,元学习通过初步训练获得模型比较好的初值,再基于初值对具体任务在小样本训练数据上少量更新权重即可取得好的效果

元学习还可以理解成是寻找一组具有较高敏感度的参数,基于找到的参数,只需要进行少量的迭代即可在新的任务上取得理想的结果。

元学习可应用于训练数据有限的Few-Shot Learning任务。

2.模型无关元学习

2.1 元学习问题建模

元学习是在一系列任务上学习,目标是学习得到一个比较敏感的模型,使该模型能够基于小样本数据简单训练快速应用到新任务上。也就是说,元学习将一系列学习任务当作训练样本。

譬如,识别一个动物是不是狗是任务 T 1 T_1 T1?,识别一个手写数字是不是9是任务 T 2 T_2 T2?,识别一辆车是不是坦克是任务 T 3 T_3 T3?,普通的学习方法会针对每个训练一个模型,也是基于前述的任务要训练3个模型分别完成。观察前面的三个任务 T 1 , T 2 , T 3 T_1,T_2,T_3 T1?,T2?,T3?具有共性,即都是识别分类任务,能不能有一种通用模型可以学习识别分类这一任务,然后再基于少量的数据对通用模型微调即可快速应用的新的类似任务。如基于 T 1 , T 2 , T 2 T1,T2,T2 T1,T2,T2使模型学会分类能力,然后提供少量的是否是飞机的训练数据,即可快速学会判断天空中的一个物体是否是飞机。

使用数学公式描述:

单个任务表示为:
T = { L ( X 1 , a 1 , . . . , X H , a H ) , q ( X 1 ) , q ( X t + 1 ∣ X t , a t ) , H } T=\{L(X_1,a_1,...,X_H,a_H),q(X_1),q(X_{t+1}|X_t,a_t),H\} T={L(X1?,a1?,...,XH?,aH?),q(X1?),q(Xt+1?Xt?,at?),H}

  • X X X是输入
  • a a a是输出
  • L L L是损失函数
  • q ( X 1 ) q(X_1) q(X1?)是初始输入变量的概率分布
  • q ( X t + 1 ∣ X t , a t ) q(X_{t+1}|X_t,a_t) q(Xt+1?Xt?,at?)是输入变量的状态转移分布
  • H H H输入变量序列的长度,对于监督学习问题,其值为1,应用在强化学习等中。
  • L ( X 1 , a 1 , . . . , X H , a H ) → R L(X_1,a_1,...,X_H,a_H) \rightarrow \R L(X1?,a1?,...,XH?,aH?)R是针对具体任务的损失函数,如回归问题通常是均方误差(Mean Square Error, MSE),分类问题通常是交叉商(Cross Entropy, CE)。

在元学习(meta-learning)中,考虑多个任务 T T T的分布为 p ( T ) p(T) p(T),这正是元学习模型要学习的目标。具体的任务 T i T_i Ti?是从任务分布 p ( T ) p(T) p(T)中取样的,模型的训练基于任务 T i T_i Ti? K K K个训练样本和任务 T i T_i Ti?的损失函数 L i L_i Li?。任务 T i T_i Ti?的测试误差,将作为元学习模型的训练误差。

在这里插入图片描述

上图中 ? L 1 , ? L 2 , ? L 3 \nabla L_1,\nabla L_2,\nabla L_3 ?L1?,?L2?,?L3?分别表示任务 T 1 , T 2 , T 3 T_1,T_2,T_3 T1?,T2?,T3?上的损失函数梯度, θ 1 ? , θ 2 ? , θ 3 ? \theta_1^\star,\theta_2^\star,\theta_3^\star θ1??,θ2??,θ3??分别表示具体到任务 T 1 , T 2 , T 3 T_1,T_2,T_3 T1?,T2?,T3?上的参数, θ \theta θ是元学习模型的参数。

2.2 MAML算法

在这里插入图片描述

算法中参数更新分成两步,一次是更新
θ ′ \theta' θ,之后才是更新 θ \theta θ。这和元学习的的定义相关。 θ ′ \theta' θ的更新是在具体某个 T a s k i {Task}_i Taski?上学习时发生的,而元学习的目标是找到一组参数 θ \theta θ能够对多个任务 T a s k Task Task都具有表征能力。所以 t h e t a theta theta的更新过程分成了两个,先是针对具体任务 T a s k i Task_i Taski?的更新优化后是针对元学习模型的优化。

第一步,针对任务 T i T_i Ti?的模型优化为:

θ ′ = θ ? α ? θ L T i ( f θ ) \theta'=\theta-\alpha\nabla_{\theta}L_{T_i}(f_\theta) θ=θ?α?θ?LTi??(fθ?)

  • f θ f_\theta fθ?表示元学习模型

第二步,针对元学习模型的优化为:

m i n θ ∑ T i ~ p ( T ) L T i ( f θ ′ ) = ∑ T i ~ p ( T ) L T i ( f θ ? α ? θ L T i ( f θ ) ) θ ← θ ? β ? θ ∑ T i ~ p ( T ) L T i ( f θ ′ ) \mathop{min}\limits _\theta \sum\limits_{T_i\sim p(T)}L_{T_i}(f_\theta')=\sum\limits_{T_i\sim p(T)}L_{T_i}(f_{\theta-\alpha\nabla_{\theta}L_{T_i}(f_\theta)}) \\ \\ \theta \leftarrow \theta - \beta\nabla_\theta\sum\limits_{T_i\sim p(T)}L_{T_i}(f_\theta') θmin?Ti?p(T)?LTi??(fθ?)=Ti?p(T)?LTi??(fθ?α?θ?LTi??(fθ?)?)θθ?β?θ?Ti?p(T)?LTi??(fθ?)

3.将MAML应用到回归分类任务上的算法流程

在这里插入图片描述

方程2和方程3分别是均方误差和交叉熵。

参考资料


欢迎访问个人网络日志🌹🌹知行空间🌹🌹


  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-23 10:50:39  更:2022-04-23 10:52:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:45:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码