谁说小数据量就不能深度学习了?当然可以

谁说小数据量就不能深度学习了?当然可以

你大概已经听说了这一消息-深度学习以然成了切片面包以来最热门的事情。它承诺以少量的大量数据即可解决您最复杂的问题。唯一的问题是如果你既不在Google也不在Facebook工作,并且数据稀缺。那你该怎么办?你是否仍然可以利用深度学习的力量?还是不走运?让我们看看即使在数据有限的情况下,也可能如何利用深度学习,以及为什么我认为这可能是未来研究中最令人兴奋的领域之一。

从简单开始

在我们讨论利用有限的数据进行深度学习的方法之前,请先退出神经网络并建立一个简单的基准。尝试使用一些传统模型(例如随机森林)通常不会花很长时间。这将帮助您评估深度学习的任何潜在提升,并为您的问题,深度学习与其他方法的权衡取舍提供大量的见识。

获取更多数据

这听起来很荒谬,但是您是否真正考虑过是否可以收集更多数据?我对公司提出建议的频率感到惊讶,他们像我一样疯狂地看着我。是的,可以花时间和金钱来收集更多数据。实际上,这通常是您的最佳选择。例如,也许您正在尝试对稀有鸟类物种进行分类并且数据非常有限。几乎可以肯定,仅通过标记更多数据,您就可以更轻松地解决此问题。不确定需要收集多少数据?尝试在添加其他数据时绘制学习曲线,并查看模型性能的变化。

微调

谁说小数据量就不能深度学习了?当然可以

Drew Patrick Miller Via:Unsplash

好的。假设您现在有一个简单的基准模型,并且不可能收集更多数据或费用太高。此时,最尝试和最真实的方法是利用预先训练的模型,然后针对您的问题进行微调。

微调的基本思想是获取一个非常大的数据集,该数据集可能与您的域有些相似,训练神经网络,然后使用较小的数据集微调此预训练的网络。您可以在本文中了解更多信息。

对于图像分类问题,首选数据集为ImageNet。该数据集包含跨许多类对象的数百万个图像,因此对于许多类型的图像问题很有用。它甚至包括动物,因此可能有助于稀有鸟类的分类。

要开始使用一些微调代码,请查看Pytorch的出色教程。

数据扩充

如果无法获取更多数据,并且无法对大型数据集进行微调,那么数据增强通常是您的第二选择。它也可以与微调结合使用。

数据扩充背后的想法很简单:以一种提供新数据而又不改变标签值的方式来改变输入。

例如,如果您有一只猫的图片并旋转图像,那么它仍然是一只猫的图片。因此,这将是很好的数据扩充。另一方面,如果您有一张道路图片,并且想要预测适当的转向角(自动驾驶汽车),则旋转图像会更改适当的转向角。除非您也适当调整转向角,否则这是不可能的。

数据扩充是最常见的图像分类问题,您可以在此处找到技术。

您通常可以想到一些创造性的方法来扩充其他领域(例如NLP)中的数据(请参见此处的示例),并且人们也在尝试使用GAN来生成新数据。如果GAN方法引起关注,我将看一下DADA:深度对抗性数据增强。

余弦损失

谁说小数据量就不能深度学习了?当然可以

最近的一篇论文,《不使用余弦损失进行预训练的小型数据集深度学习》发现,将损失函数从分类交叉熵损失切换为针对分类问题的余弦损失时,小型数据集的准确性提高了30%。余弦损失仅是1-余弦相似度。

您可以在上图中看到,基于每个类的样本数量,性能如何变化,以及微调对于某些小型数据集(CUB)而言非常有价值而对于其他小型数据集则不那么有价值(CIFAR-100)。

深入

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

我从中得出的结论是针对小数据,请确保您深入构建网络以利用这种整体效果。

自动编码器

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

如果您需要重新学习自动编码器,则可以阅读此斯坦福深度学习教程。基本思想是建立一个预测输入的神经网络。

先验知识

谁说小数据量就不能深度学习了?当然可以

在Unsplash By Glen Noble

最后但并非最不重要的一点是,尝试找到合并领域特定知识以指导学习过程的方法。例如,在通过概率性程序归纳进行人级概念学习中,作者构建了一个模型,该模型利用过程中的先验知识从各个部分构建概念。这导致了人类水平的表现,并超越了当时的深度学习方法。

您还可以使用领域知识来限制对网络的输入,以减少维度或将网络体系结构调整为较小。

我将其作为最终选择,因为合并先验知识可能具有挑战性,并且通常是最耗时的选择。

小而美也可以再成流行

希望本文为您提供了一些关于即使在数据有限的情况下也如何利用深度学习技术的想法。我个人发现,这个问题目前尚未得到应有的讨论,但它具有非常令人兴奋的含义。

也存在许多问题,这些问题的数据非常有限,因此获取更多数据非常昂贵或不可能。例如,检测罕见疾病或教育成果。寻找将我们的最佳技术(例如深度学习)应用于这些问题的方法非常令人兴奋!甚至吴恩达也同意:

https://towardsdatascience.com/how-to-use-deep-learning-even-with-small-data-e7f34b673987

谁说小数据量就不能深度学习了?当然可以

吴恩达推特


本文编译自 | medium.com 作者 | Tyler Folkman 译者 | Yafei

转载请联系后台获得申请,否则将按照对应平台的规则投诉处理。

相关推荐