数据,模型,算法共同决定深度学习模型效果
2020/4/20 FesianXu

∇\nabla∇ 联系方式:

e-mail: FesianXu@gmail.com

QQ: 973926198

github: https://github.com/FesianXu

知乎专栏: 计算机视觉/计算机图形理论与应用

微信公众号


在文献[1]中对few-shot learning进行了很好地总结,其中提到了一个比较有意思的观点,这里和大家分享下。先抛开few-shot learning的概念,我们先从几个基本的机器学习的概念进行分析。

期望风险最小化(expected risk minimization): 假设数据分布p(x,y)p(\mathbf{x},y)p(x,y)已知,其中x\mathbf{x}x是特征,yyy是标签,在给定了特定损失函数L(⋅)\mathcal{L}(\cdot)L(⋅)的情况下,对于某个模型假设h∈Hh \in \mathcal{H}h∈H,我们期望机器学习算法能够最小化其期望风险,期望风险定义为:
R(h)=∫L(h(x),y)dp(x,y)=E[L(h(x),y)](1)R(h) = \int \mathcal{L}(h(\mathbf{x}), y) dp(\mathbf{x}, y) = \mathbb{E}[\mathcal{L}(h(\mathbf{x}), y)] \tag{1} R(h)=∫L(h(x),y)dp(x,y)=E[L(h(x),y)](1)
假如模型的参数集合为θ\thetaθ,那么我们的目标是:
θ=arg⁡min⁡θR(h)(2)\theta = \arg \min _{\theta} R(h) \tag{2} θ=argθmin​R(h)(2)

经验风险最小化(empirical risk minimization): 实际上,数据分布p(x,y)p(\mathbf{x},y)p(x,y)通常不可知,那么我们就不能对其进行积分了,我们一般对该分布进行采样,得到若干个具有标签的样本,我们将其数量记为III,那么我们用采样结果对这个分布进行近似,因此,我们追求最小化经验风险,这里的经验(experience)的意思也就是指的是采样得到的数据集:
RI(h)=1I∑i=1IL(h(xi),yi)(3)R_{I}(h) = \dfrac{1}{I} \sum_{i=1}^{I} \mathcal{L}(h(\mathbf{x}_i), y_i) \tag{3} RI​(h)=I1​i=1∑I​L(h(xi​),yi​)(3)
此处的经验风险(3)就可以近似期望风险(1)的近似进行最小化了(当然,在实践中通常需要加上正则项)。

我们进行以下三种表示:
h^=arg⁡min⁡hR(h)(4)\hat{h} = \arg \min_{h} R(h) \tag{4} h^=arghmin​R(h)(4)

h∗=arg⁡min⁡h∈HR(h)(5)h^{*} = \arg \min_{h \in \mathcal{H}} R(h) \tag{5} h∗=argh∈Hmin​R(h)(5)

hI=arg⁡min⁡h∈HRI(h)(6)h_{I} = \arg \min_{h \in \mathcal{H}} R_{I}(h) \tag{6} hI​=argh∈Hmin​RI​(h)(6)

其中(4)表示最小化期望风险得到的理论上最优的假设h^\hat{h}h^,(5)表示在指定的假设空间h∈Hh \in \mathcal{H}h∈H中最小化期望风险得到的约束最优假设h∗h^{*}h∗,(6)表示在指定的数据量为III的数据集上进行优化,并且在指定的假设空间h∈Hh \in \mathcal{H}h∈H下最小化经验风险得到的最优假设hIh_IhI​。

因为我们没办法知道p(x,y)p(\mathbf{x},y)p(x,y),因此我们没办法求得h^\hat{h}h^,那么作为近似,h∗h^*h∗是在假定了特定假设空间时候的近似,而hIh_IhI​是在特定的数据集和特定假设空间里面的近似。进行简单的代数变换,我们有(7):
E[R(hI)−R(h^)]=E[R(h∗)−R(h^)+R(hI)−R(h∗)]=E[R(h∗)−R(h^)]+E[R(hI)−R(h∗)](7)\mathbb{E}[R(h_I)-R(\hat{h})] = \mathbb{E}[R(h^*)-R(\hat{h})+R(h_I)-R(h^*)] = \\ \mathbb{E}[R(h^*)-R(\hat{h})]+\mathbb{E}[R(h_I)-R(h^*)] \tag{7} E[R(hI​)−R(h^)]=E[R(h∗)−R(h^)+R(hI​)−R(h∗)]=E[R(h∗)−R(h^)]+E[R(hI​)−R(h∗)](7)
其中用Eapp(H)=E[R(h∗)−R(h^)]\mathcal{E}_{app}(\mathcal{H}) = \mathbb{E}[R(h^*)-R(\hat{h})]Eapp​(H)=E[R(h∗)−R(h^)], Eest(H,I)=E[R(hI)−R(h∗)]\mathcal{E}_{est}(\mathcal{H}, I) = \mathbb{E}[R(h_I)-R(h^*)]Eest​(H,I)=E[R(hI​)−R(h∗)]。Eapp(H)\mathcal{E}_{app}(\mathcal{H})Eapp​(H)表征了在期望损失下,在给定的假设空间H\mathcal{H}H下的最优假设h∗h^*h∗能多接近最佳假设h^\hat{h}h^。而Eest(H,I)\mathcal{E}_{est}(\mathcal{H, I})Eest​(H,I)表示了在给定假设空间H\mathcal{H}H下,对经验风险进行优化,而不是对期望风险进行优化造成的影响。不失特别的,我们用DtrainD_{train}Dtrain​表示整个训练集,有Dtrain={X,Y},X={x1,⋯,xn},Y={y1,⋯,yn}D_{train} = \{\mathbf{X}, \mathbf{Y}\}, \mathbf{X} = \{\mathbf{x}_1,\cdots,\mathbf{x}_n\}, \mathbf{Y} = \{y_1,\cdots,y_n\}Dtrain​={X,Y},X={x1​,⋯,xn​},Y={y1​,⋯,yn​}。

我们不难发现,整个深度模型算法的效果,最后取决于假设空间H\mathcal{H}H和训练集中数据量III。换句话说,为了减少总损失,我们可以从以下几种角度进行考虑:

  1. 数据,也就是DtrainD_{train}Dtrain​。

  2. 模型,其决定了假设空间H\mathcal{H}H。

  3. 算法,如何在指定的假设空间H\mathcal{H}H中去搜索最佳假设以拟合DtrainD_{train}Dtrain​。

通常来说,如果DtrainD_{train}Dtrain​数据量很大,那么我们就有充足的监督信息,在指定的假设空间h∈Hh \in \mathcal{H}h∈H中,最小化hIh_IhI​得到的R(hI)R(h_I)R(hI​)就可以提供对R(h∗)R(h^*)R(h∗)的一个良好近似。然而,在few-shot learning (FSL)中,某些类别的样本数特别少,不足以支撑起对良好假设的一个近似。其经验风险项RI(h)R_{I}(h)RI​(h)和期望风险项R(h)R(h)R(h)可能有着很大的距离,从而导致假设hIh_IhI​过拟合。事实上,这个是在FSL中的核心问题,即是 经验风险最小假设hIh_IhI​变得不再可靠。整个过程如Fig 1所示,左图有着充足的样本,因此其经验风险最小假设hIh_IhI​和h∗h^*h∗相当接近,在H\mathcal{H}H设计合理的情况下,可以更好地近似h^\hat{h}h^。而右图则不同,hIh_IhI​和h∗h^*h∗都比较远,跟别说和h^\hat{h}h^了。

Fig 1. 样本充足和样本缺乏,在学习过程中结果的示意图。

为了解决在数据量缺少的情况下的不可靠的经验风险问题,也就是FSL问题,我们必须要引入先验知识,考虑到从数据,模型,算法这三个角度分别引入先验知识,现有的FSL工作可以被分为以下几种:

  1. 数据。在这类型方法中,我们利用先验知识去对DtrainD_{train}Dtrain​进行数据增广(data augment),从数据量III提高到I~\widetilde{I}I,通常I~>>I\widetilde{I} >> II>>I。随后标准的机器学习算法就可以在已经增广过后的数据集上进行。因此,我们可以得到更为精确的假设hI~h_{\widetilde{I}}hI​。如Fig 2 (a)所示。
  2. 模型。这类型方法通过先验知识去约束了假设空间 H\mathcal{H}H 的复杂度,得到了各位窄小的假设空间H~\widetilde{\mathcal{H}}H。如Fig 2 (b) 所示。灰色区域已经通过先验知识给排除掉了,因此模型不会考虑往这些方向进行更新,因此,往往需要更少的数据就可以达到更为可靠的经验风险假设。
  3. 算法。这类型的方法考虑使用先验知识,指导如何对θ\thetaθ进行搜索。先验知识可以通过提供一个好的参数初始化,或者指导参数的更新步,进而影响参数搜索策略。对于后者来说,其导致的搜索更新步由先验知识和经验风险最小项共同决定。

Fig 2. 分别从数据,模型和算法三个角度去引入先验知识。

Reference

[1]. Wang Y, Yao Q, Kwok J, et al. Generalizing from a few examples: A survey on few-shot learning[M]//arXiv: 1904.05046. 2019.

数据,模型,算法共同决定深度学习模型效果相关推荐

  1. 病虫害模型算法_基于深度学习的目标检测算法综述

    sigai 基于深度学习的目标检测算法综述 导言 目标检测的任务是找出图像中所有感兴趣的目标(物体),确定它们的位置和大小,是机器视觉领域的核心问题之一.由于各类物体有不同的外观,形状,姿态,加上成像 ...

  2. 用lstm模型做预测_深度学习模型 CNN+LSTM 预测收盘价

    -- 本篇文章 by HeartBearting 上一篇浏览量很大,感谢各位的关注! 能够在这里分享一些实验,一起领略 数据科学之美,也很开心. 以后,这个实验的模型会不断深化. 之后,也会分享一些 ...

  3. 【深度学习】深度学习模型训练全流程!

    Datawhale干货 作者:黄星源.奉现,Datawhale优秀学习者 本文从构建数据验证集.模型训练.模型加载和模型调参四个部分对深度学习中模型训练的全流程进行讲解. 一个成熟合格的深度学习训练流 ...

  4. 深度学习模型可解释性初探

    1. 可解释性是什么 0x1:广义可解释性 广义上的可解释性指: 在我们需要了解或解决一件事情的时候,我们可以获得我们所需要的足够的可以理解的信息. 比如我们在调试 bug 的时候,需要通过变量审查和 ...

  5. 深度学习模型训练的一般方法(以DSSM为例)

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 本文主要用于记录DSSM模型学习期间遇到的问题及分析.处理经验.先统领性地提出深度学习模型训练 ...

  6. 训练好的深度学习模型原来这样部署的!(干货满满,收藏慢慢看)

    点击上方蓝字关注我们 计算机视觉研究院专栏 作者:Edison_G 当我们辛苦收集数据.数据清洗.搭建环境.训练模型.模型评估测试后,终于可以应用到具体场景,但是,突然发现不知道怎么调用自己的模型,更 ...

  7. 用于阿尔茨海默症分期早期检测的多模态深度学习模型

    目前大多数阿尔茨海默症(AD)和轻度认知障碍(MCI)研究使用单一数据模式来预测,例如AD的分期.多种数据模式的融合可以提供AD分期分析的整体视图.因此,我们使用深度学习对成像(磁共振成像(MRI)) ...

  8. 深度学习模型训练全流程!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:黄星源.奉现,Datawhale优秀学习者 本文从构建数据验证集. ...

  9. 智能火焰与烟雾检测系统(Python+YOLOv5深度学习模型+清新界面)

    摘要:智能火焰与烟雾检测系统用于智能日常火灾检测报警,利用摄像头画面实时识别火焰与烟雾,另外支持图片.视频火焰检测并进行结果可视化.本文详细介绍基于智能火焰与烟雾检测系统,在介绍算法原理的同时,给出P ...

最新文章

  1. mysql delete 注意
  2. Oracle-No.04 Oracle视图加主键解决hibernate复合主键问题
  3. 深入理解Android消息处理系统——Looper、Handler、Thread
  4. 开发者必备的15 个Web开发工具
  5. MF RC522读卡芯片手册
  6. 打不死的redis集群
  7. -3dB下的正确率是100%!!!
  8. C#.NET学习笔记11,12---布尔表达式2组合,if语句
  9. 传智播客Lucene视频教程
  10. java 线程 定时器_java 多线程定时任务
  11. 【转】java.util.ResourceBundle使用详解
  12. 语音识别系统市场前景及发展趋势
  13. php概率算法(转)
  14. 出口退税解决方案丨批量开具出口发票+出口单证归集管理+退税数据一键报送
  15. 《网络安全》课程教案
  16. 行人重识别的挑战 与 最新进展 (35页PPT整理)
  17. HDU oj wod sticks
  18. Armadillo与OpenCV矩阵数据mat、vec与Mat的相互转换
  19. WPS或Word设置段前空行不显示,解决办法
  20. [2008-05-18]我们的使命

热门文章

  1. windows 建立窗口的程序代码
  2. 开启xmp1还是2_英雄联盟手游高帧率模式怎么开启-高帧率模式开启方法
  3. 对于SOAP协议的全面介绍
  4. Object 的 equal() 、hashCode()方法说起
  5. 系统突然变慢的处理方案
  6. linux ip_tos,IP_TOS选项
  7. 搜索引擎优化排名方法
  8. amap 高德 地图打点 地图描点 描点居中 清除打点
  9. 阿里云远程桌面连接不到的问题
  10. Mac Pro硬盘清理,为啥我的系统占用如此之多的磁盘空间