机器学习正在从艺术和科学转变为可供每个开发人员使用的技术。在不久的将来,每个平台上的每个应用程序都将包含训练有素的模型,以编码开发人员无法创作的基于数据的决策。这提出了一个重要的工程挑战,因为目前数据科学和建模在很大程度上与标准软件开发过程脱钩。这种分离使得在应用程序内部的机器学习能力不必要地变得困难,并且进一步阻碍了开发人员将MLin置于首位。在本文中,我们介绍了ML .NET,这是一个在过去十年中在Microsoft开发的框架,用于应对在大型软件应用程序中轻松发布机器学习模型的挑战。我们提出了它的架构,并阐明了形成它的应用程序需求。具体而言,我们引入了DataView,它是ML .NET的核心数据抽象,它可以有效地,一致地捕获完整的预测管道,并在训练和推理生命周期中进行。我们结束了论文,对ML .NET进行了令人惊讶的有利的性能研究,与更多的接受者相比,并讨论了一些经验教训。
translated by 谷歌翻译
辍学通常用于帮助减少深度神经网络中的过度拟合。稀疏性是神经网络的潜在重要特性,但是通过基于丢失的正则化来明确控制。在这项工作中,我们建议Sparseout一个简单而有效的Dropout变体,可用于控制神经网络中激活的稀疏性。我们从理论上证明了Sparseout相当于对时间线性模型特征的$ L_q $惩罚,Dropout是Sparseout神经网络的一个特例。我们凭经验证明Sparseout在计算上是昂贵的,并且能够控制激活中所需的稀疏程度。我们在图像分类和语言模型任务上评估了Sparseout,以查看稀疏性对这些任务的影响。我们发现激活的稀疏性有利于语言建模性能,而图像分类则受益于更密集的激活。 Sparseout提供了一种在最先进的深度学习模型中研究稀疏性的方法。可以在\ url {https://github.com/najeebkhan/sparseout}找到Sparseout的源代码。
translated by 谷歌翻译