点击上方“视学算法”,选择加"星标"或“置顶

重磅干货,第一时间送达

作者丨鼓动衣衫的晚风@知乎(已授权)

来源丨https://zhuanlan.zhihu.com/p/290011942

编辑丨极市平台

1. 样本量极少可以训练机器学习模型吗?

在训练样本极少的情况下(几百个、几十个甚至几个样本),现有的机器学习和深度学习模型普遍无法取得良好的样本外表现,用小样本训练的模型很容易陷入对小样本的过拟合以及对目标任务的欠拟合。但基于小样本的模型训练又在工业界有着广泛的需求(单用户人脸和声纹识别、药物研发、推荐冷启动、欺诈识别等样本规模小或数据收集成本高的场景),Few-Shot Learning(小样本学习)通过将有限的监督信息(小样本)与先验知识(无标记或弱标记样本、其他数据集和标签、其他模型等)结合,使得模型可以有效的学习小样本中的信息。

本文的主要内容来自下面两篇Few-shot Learning的文献综述,结合笔者的理解对原paper进行了概括和总结,既作为自己的阅读笔记,也作为比原文更通俗简洁的快餐读物献给初次涉猎Few-shot Learning领域的读者们。

  • 2020年香港科技大学和第四范式的paper“Generalizing from a Few Examples: A Survey on Few-Shot Learning“,YAQING WANG, QUANMING YAO, JAMES T. KWOK,LIONEL M. NI

  • 2020年清华和滴滴的paper "Learning from Very Few Samples: A Survey", Jiang Lu, Pinghua Gong, Jieping Ye, Jianwei Zhang, Changshui Zhang

在介绍Few-Shot Learning的基本原理之前,首先需要知道用小样本训练模型究竟会导致什么问题。机器学习的目标就是尽可能降低模型结果与真实结果的误差,而这个误差可以进一步分解成两部分:

  • approximation error:基于现有的特征和算法能训练的最优模型h*能达到的表现,跟理论上最优模型h^的表现的差距

  • estimation error:实际训练的模型h_I的表现与基于现有的特征和算法能训练的最优模型h*能达到的表现的差距;

在小样本任务中,用小样本训练的模型很容易陷入对小样本的过拟合以及对目标任务的欠拟合,导致实际训练的模型h_I的表现与基于现有的特征和算法能训练的最优模型h*能达到的表现的差距无法通过训练和超参数调整有效的缩小,使模型的整体表现较差(基于足量样本训练的模型和基于小样本训练的模型分别见fig. 1的a和b)。

根据机器学习模型在小样本上难以学习的原因,Few-Shot Learning从三个角度解决问题,(1)通过增多训练数据提升h_I(Data)、(2)缩小模型需要搜索的空间(Model)、以及(3)优化搜索最优模型的过程(Algorithm)。

PS: 上面两张图均引自2020年香港科技大学和第四范式的paper“Generalizing from a Few Examples: A Survey on Few-Shot Learning”。

2. Few-Shot Learning概述

下面将逐个介绍第一部分提到的Few-Shot Learning的三大思路下的方法。

2.1 增多训练数据

通过prior knowledge增多训练数据 (Experience),方法主要分为3类:

(1)数据增强(Data Augmentation)类方法。较初级的数据增强方法是人工制定规则,包括对图片样本进行旋转、翻转、裁剪、增加噪音等操作,但此类方法不足以有效提升模型的泛化能力,规则的制定也依赖领域知识,通常难以做到在多个数据集之间通用;高阶的数据增强方法利用其他数据集的信息生成更多目标class的样本,通过模型(多为encoder-decoder结构)学习样本内和样本外的变化分布并生成新样本,基于样本外信息(有监督)的模型可以将图片映射为的不同的天气、景深、角度等,基于样本内变化(无监督)的模型则学习其他class的样本内部变化(如图片的不同视角)并应用于目标的小样本class上。数据增强类方法可与其他Few-Shot Learning方法同时使用,普遍用于计算机视觉场景,但部分高阶方法有应用于其他场景的潜力。关于数据增强类方法的更多介绍和reference见2020年清华和滴滴的paper"Learning from Very Few Samples: A Survey"。

(2)基于弱标记样本或无标记样本得到更多目标class样本,主要包括半监督学习和主动学习两类。半监督学习的典型例子是Positive-Unlabeled Learning,很多Two-step算法通过正样本和无标记样本训练分类器,直接扩大正样本规模、或利用分类器权重让无标记样本参与到正样本的学习中;而主动学习选择对模型训练最“有用”的样本进行标注。半监督学习和主动学习适合有大量无标记数据、但样本标注成本较高的场景。

(3)基于目标Class的小样本数据训练GAN,直接生成目标class的更多样本。适用于仅有小样本、无标记样本很难收集的场景。

2.2 缩小模型需要搜索的空间

通过prior knowledge缩小模型需要搜索的空间(hypothesis space),多为meta-learning类方法。

(1)Multi-task learning:

用神经网络同时学习多个任务,使一部分隐藏层关注跨任务的通用信息、一部分隐藏层关注特定任务的信息。在学习过程中,一个任务的模型参数被其他任务约束,即任务之间会有类似正则化的效果。分为直接在不同任务间共享部分隐藏层的参数的parameter sharing类方法,和惩罚不同任务的参数差异的parameter typing类方法。此类方法的缺点也很明显,用于训练的多个任务(包括目标的小样本在内)若不够相似(理想状况下各个任务都属于一个多分类任务)则会影响最终学习效果,且同时训练多个任务的计算成本很高、速度很慢。详细介绍和reference见2020年香港科技大学和第四范式的paper“Generalizing from a Few Examples: A Survey on Few-Shot Learning”。

(2)Embedding learning:

将样本投影到更易区分不同class的低维空间,维度更低、特征表示更容易区分不同class意味着模型需要搜索的空间更小。用于投影的embedding function通常从prior knowledge中学习,也可以利用目标class的小样本的信息。Metric Learning和Meta-Learning中的Learn-to-Measure类算法均属于这一类别,通过学习embedding function (训练数据的f(x)和测试数据的g(x)),采用训练样本和测试样本的embedding的相似度作为测试样本属于相应训练样本的class的概率,相似度可以采用相似度指标(Euclidean、Cosine等)或可学习的相似度模型(神经网络)。此类算法的详细介绍见2020年香港科技大学和第四范式的paper“Generalizing from a Few Examples: A Survey on Few-Shot Learning”的4.2和4.3.1。

(3)Learning with external memory

记忆网络,常用于NLP场景和问答系统,从训练数据中学习key-value pair作为一个个记忆,与embedding learning相似需要学习一个embedding function f,但需要计算相似度的是样本的embedding f(x)和记忆库里的key,最相似的value作为该样本的embedding(或取多个最相似的value的加权平均),随后输入一个简单的分类器(e.g. softmax)。将query样本的embedding限制为记忆库里的value极大的缩小了模型需要搜索的空间(hypothesis space),但为了学习和存储记忆,此类方法通常需要较大的空间占用和计算成本。

(4)Generative Modeling

借助prior knowledge估计样本概率分布p(x|y)和p(y),以latent variable的形式参与到小样本任务的训练中,缩小模型需要搜索的空间(hypothesis space)。latent variable可以有三种表现形式,decomposable components(例如人脸识别场景中的鼻子、眼睛、嘴)、group-wise shared prior(小样本任务可能与其他任务相似,那么其他任务的概率分布就可以作为小样本任务的先验概率)、parameters of inference networks(基于大规模数据集训练推断网络并直接用于小样本任务,基于VAE和GAN的居多),详细reference见2020年香港科技大学和第四范式的paper“Generalizing from a Few Examples: A Survey on Few-Shot Learning”的4.4.3。

2.3 优化搜索最优模型的过程

通过prior knowledge优化在hypothesis space中搜索最优模型的过程(即模型训练过程)。包括refine existing parameters(迁移学习)、refine meta-learned parameters(Meta-Learning中的Learn to fine-tune和learn to parameterize均属于这个类别,借助meta-learner帮助base learner更快的收敛)、learn the optimizer(训练meta-learner指导梯度下降的方向和步长)。此类方法可以极大加快搜索最优模型的过程,但存在为了速度牺牲精度的成分、且受元学习领域常见的难题的影响较大(例如如何在不同粒度的任务间元学习 e.g. 动物物种和狗的种类,以及如何避免元学习时不同任务对参数的影响的相互中和)。

点个在看 paper不断!

样本量极少如何机器学习?相关推荐

  1. 样本量极少如何机器学习?最新Few-Shot Learning综述

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 作者丨鼓动衣衫的晚风 来源丨极市平台 导读 本文首先介绍了用小样本训练模型会导致的问题 ...

  2. 样本量很少如何获得最佳的效果?最新小样本学习工具包来啦!

    关注公众号,发现CV技术之美 开发者简介 王雅晴,PaddleFSL负责人.飞桨高级开发者技术专家(高级PPDE).2019年毕业于香港科技大学计算机科学及工程学系.通过百度公司AIDU计划加入百度研 ...

  3. 财富取决于极少的大高潮,幸福取决于较多的小高潮

    以下文章来源于孤独大脑 ,作者老喻在加 "一个人生命中最大的幸运,莫过于在他的人生中途,即在他年富力强的时候发现了自己的使命."茨威格,<人类群星闪耀时> 先说结论: ...

  4. 《乌合之众》读书笔记(part3)--在群体当中,个人的利益极少会成为强大的动因

    摘抄书中论点,不代表个人观点,仅供学习参考 书籍:<乌合之众:大众心理研究>–古斯塔夫·勒庞 乌合之众 无论群体所表现出来的情感是好是坏,它们都具有的双重特点就是:极为简单和极为夸张. 尤 ...

  5. mysql 加密 en_以极少的停机时间加密运行 MySQL 或 MariaDB 的 Amazon RDS 数据库实例...

    如何以极少的停机时间对未加密的 Amazon RDS MySQL 或 MariaDB 数据库实例进行加密? 上次更新时间:2020 年 8 月 19 日 我尝试为未加密的 Amazon Relatio ...

  6. 谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案)

    谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案) 参考文章: (1)谷歌扩展程序设置ajax请求允许跨域(极少人知道的解决方案) (2)https://www.cnblogs.com/ga ...

  7. android 来电解锁,带你解锁手机隐藏黑科技,极少人知道!

    带你解锁手机隐藏黑科技,极少人知道! 2020-09-03 13:14:04 3点赞 11收藏 2评论 创作立场声明:本文由我原创,转载请标注来源 "解锁不一样的玩法,这个黑科技你要了解下! ...

  8. 极少人知道手机还有这么多的隐密功能!

    极少人知道手机还有这么多的隐密功能! 1.当不喜欢别人打搅自己的时候,又不想关机,给大家一个办法,使自己的号码变成空号.        输入 *21*13800000000#  ,按打电话时候的拨出键 ...

  9. 方块盒子怎么打开java_「《我的世界》极少人知道MC“隐形方块”的秘密,迷你:藏得真深」百家号...

    「<我的世界>极少人知道MC"隐形方块"的秘密,迷你:藏得真深」百家号_作者自评: 如何看待百家号Lite小程序热议话题「<我的世界>极少人知道MC&quo ...

最新文章

  1. 天气情况(思维,dp思想)
  2. 小白看Word2Vec的正确打开姿势|全部理解和应用
  3. 关于UIEdgeInsetsMake
  4. 未来的趋势发展 802.11v网络协议解析
  5. python open ascii codec cant_Python3.6 报错问题:'ascii' codec can't encode character
  6. SpringBoot2.x 整合RabbitMQ_消费端
  7. java激光推送ios_关于ios极光推送server端注意的地方
  8. java核心基础 --- 基本数据类型
  9. (MathType)公式编号(1)和(2a)(2b)混编
  10. 重磅推荐:2017 年最流行的 15 个数据科学 Python 库
  11. 免费的Web压力测试工具
  12. python中ipo是什么意思呢_ipo是什么意思呢?ipo是不是就是上市呢?
  13. 基于STM32F030实现RFID射频识别
  14. IPS入侵防御系统、IDS入侵检测系统
  15. mysql rebuild index_批量rebuild索引
  16. C语言学习(七)之数组
  17. netty通讯--tcp心跳异常断开问题排查
  18. Revit中项目特别大如何将项目完整的体现在图纸中?
  19. 快速上手 ClickHouse
  20. 正大国际:交易有三种境界作为交易者的你们怎么看?

热门文章

  1. 2023年全国最新会计专业技术资格精选真题及答案10
  2. 联发科 IC校招笔试题目
  3. BSCI—8-(1):OSPF的特殊区域类型与配置(末节与完全末节区域)
  4. 有趣的网站:河蟹娱乐
  5. 常见的电平标准 USB/TTL/RS232/RS485
  6. 计算机组成原理mips描述,计算机组成原理与接口技术:基于MIPS架构/华中科技大学教学改革建设教材...
  7. 文章汇总【就R不E让I找D到系列part1】
  8. tensorflow63 《深度学习原理与TensorFlow实战》03 Hello TensorFlow
  9. css波纹动画在移动端,利用css实现波纹动画效果实例
  10. adonis异常处理