小数据也有大未来,数据稀缺如何应用深度学习?

全文共2420字,预计学习时长7分钟

小数据也有大未来,数据稀缺如何应用深度学习?

来源:Pexels

有人说,深度学习是目前科技界最大的瓜,每个人都想分一块。

小数据也有大未来,数据稀缺如何应用深度学习?

它承诺以最小代价的大数据解决最复杂的问题。但现在大家面对的普遍问题是:我们既不在谷歌工作也不在Facebook工作,数据很稀缺,还能利用深度学习吗?

答案是:能!

下面就和小芯一起看看如何在有限的数据下利用深度学习吧~

开始越简单越好

在讨论针对有限数据利用深度学习的方法之前,请先后退一步,从神经网络开始,建立一个简单的基线。用一些传统模型(如随机森林)进行实验通常不会花费很长时间。

这将帮助您评估深度学习的一些潜在提升,并为您的问题提供大量关于深度学习与其他方法之间权衡的见解。

得到更多的数据

这听起来可能很荒谬,但是你考虑过是否可以收集更多的数据吗?

有人会经常向公司提出这样的建议,但公司大多数的人都会觉得你好像疯了一样,这似乎十分出乎意料。

是的,投入时间和金钱去收集更多的数据是可以的。事实上,这往往是你最好的选择。例如,也许你正试图对稀有鸟类进行分类,但数据非常有限。几乎可以肯定地说,通过标记更多的数据,你将更容易解决这个问题。

不确定需要收集多少数据?尝试在添加额外数据时绘制学习曲线,并查看模型性能的变化。

微调

假设你现在有一个简单的基线模型,并且不能收集更多数据或者造价昂贵。此时最可靠、最正确的方法是利用预先训练好的模型,然后针对问题对模型进行微调。

小数据也有大未来,数据稀缺如何应用深度学习?

来源:Pexels

微调的基本思路是选取一个非常大的数据集,希望它在某种程度上与你的域相似,然后训练一个神经网络,使用较小的数据集对这个预先训练好的网络进行微调。你可以在本文中了解更多信息。

对于图像分类问题,最常用的数据集是ImageNet。这个数据集包含数百万张类对象图片,因此可以用于很多类型的图像问题。它甚至包括动物,因此可能对稀有鸟类的分类有所帮助。

要开始使用一些用于微调的代码,请参阅Pytorch的优秀教程。

数据扩充

如果你无法获得更多的数据,也不能成功地对大型数据集进行微调,那么数据扩充通常是您的下一个最佳选择,它还可以与微调一起进行。

数据扩充背后的思想很简单:在不更改标签值的情况下,通过更改输入来提供新数据

例如,如果有一张猫的图片,旋转它,它仍然是一张猫的图片。因此,这将是很好的数据扩充。另一方面,如果你有一张道路的图片,想要预测适当的转向角度(自动驾驶汽车),旋转图像会改变适当的转向角度是不可能的,除非方向盘的角度也适当做出了调整。

数据扩充适用于最常见的图像分类问题,你可以在此处找到该技术的相关信息。

通常可以想到一些创造性的方法来扩充其他领域(例如NLP)中的数据(请参见此处的示例),并且人们也在尝试使用生成对抗网络(GAN)来生成新数据。如果GAN的方法有点意思,那么看一下DADA:深度对抗性数据扩充(Deep Adversarial Data Augmentation)。

余弦损失

小数据也有大未来,数据稀缺如何应用深度学习?

最近的一篇名为《在没有使用余弦损失进行预处理的情况下对小数据集进行深度学习》(Deep Learning on Small Datasets without Pre-Training using cosLoss)的论文表示,在分类问题中将损失函数从分类交叉熵损失转换为余弦损失时,小数据集的准确率提高了30%。余弦损失就是1-余弦相似度(cosine similarity)。

从上面的图中可以看出,基于每个类的样本数量,性能是如何变化的,以及微调对于一些小型数据集(CUB)是多么有价值,而对于其他数据集(CIFAR-100)则价值不是那么高。

深入

在NIPs的一篇论文中,现代神经网络概括了小数据集,他们将深度神经网络视为整体。具体来说,“不是每一层都呈现一个不断增加的特征层次结构,而是最后一层提供了一个集成机制。”

小芯从中得到的教训是,对于小数据,要确保你建立了深入的网络来利用这种集成效应。

自动编码

使用堆叠式自动编码,以更理想的初始权重对网络进行预训练已经取得了一些成就,这可以避免局部最优和其他错误初始化的隐患。不过,安德烈·卡帕蒂(AndrejKarpathy)建议不要对无监督的预训练感到过度兴奋。

如果你需要温习一下自动编码,可以看看斯坦福大学的深度学习教程,其基本思路是建立一个可预测输入内容的神经网络。

先验知识

小数据也有大未来,数据稀缺如何应用深度学习?

来源:Pexels

最后,同样重要的是,尝试并找到方法,结合特定的领域知识来指导学习过程。例如,在通过概率性程序归纳进行人类层次的概念学习中,作者构建了一个模型,该模型利用过程中的先验知识从部分构建概念,这让其达到了人类水平的表现,并超过了当时的深度学习方法。

你还可以使用领域知识来限制对网络的输入,以降低维度或调整网络架构使其更小。

小芯把它作为最后的选择,因为整合先验知识是有挑战性的,而且通常是一种最耗时的选择。

小而不俗,又小又酷

小数据也有大未来,数据稀缺如何应用深度学习?

来源:Pexels

目前数据科学的发展仍然存在大量问题,数据非常有限,获取更多的数据非常昂贵或不可能。

例如,检测罕见疾病或教育成果。如果能找到一些方法来应用我们最好的技术,如深度学习,来解决这些问题。难道没有让你兴奋不已,跃跃欲试吗?

虽然关于如何在有限的数据下利用深度学习技术的问题。目前还没有得到足够讨论,但它背后蕴含的意义和无限可能,就足以让人激动难耐。

来吧,少年少女,我们一起来钻研吧~

小数据也有大未来,数据稀缺如何应用深度学习?

小数据也有大未来,数据稀缺如何应用深度学习?

留言点赞关注

我们一起分享AI学习与发展的干货

如转载,请后台留言,遵守转载规范

相关推荐