您的位置:首页 > 其它

为何现在深度学习这么流行?

2019-06-19 18:03 295 查看

为何现在深度学习这么流行?一些关键原因如下:

  • 硬件可用性;
  • 数据和算法;
  • 深度学习框架。

硬件可用性

深度学习要在数百万甚至数十亿的参数上进行复杂的数学运算。尽管过去这些年有所提高,但仅依靠现在的CPU执行这些运算极其耗时。一种叫作图形处理单元(Graphics Processing Unit,GPU)的新型硬件在完成这些大规模的数学运算(如矩阵乘法)时可以高出几个数量级。

GPU最初是Nvidia和AMD公司为游戏产业而开发的。事实证明这种硬件极其高效。Nvidia最近的一款产品1080ti,仅用了几天时间就构建了一个基于

ImageNet
数据集的图像分类系统,而此前这需要大概1个月的时间。

如果打算购买用于深度学习的硬件,建议用户根据预算选择一款Nvidia的内存较大的GPU。记住,计算机内存和GPU内存并不相同,1080ti带有大约11GB的内存,它的价格在700美元左右。

你也可以使用各种云服务,如AWS、Google Cloud或Floyd(这家公司提供专为深度学习优化的GPU机器)。如果刚开始深度学习,或在财务受限的情况下为公司的应用配置机器时,使用云服务就很经济。

优化后的系统性能可能有较大提升。

图1.6所示为不同CPU和GPU的性能基准的对比。

图1.6 基于不同CPU和GPU的神经网络架构的性能基准

数据和算法

数据是完成深度学习最重要的组成部分,由于互联网的普及和智能手机应用的增长,一些大公司,如Facebook和Google,可以收集到大量不同格式的数据,特别是文本、图片、视频和音频这类数据。在计算机视觉领域,ImageNet竞赛在提供1,000种类别中的140万张图片的数据集方面发挥了巨大作用。

这些图像类别是手工标注的,每年都有数百个团队参与竞赛。过去比赛中一些成功的算法有VGG、ResNet、Inception、DenseNet等。现在这些算法已在行业中得到应用,用于解决各种计算机视觉问题。深度学习领域还有其他一些流行的数据集,这些数据集常被用于建立不同算法的性能基准:

  • MNIST;
  • COCO数据集;
  • CIFAR;
  • The Street View House Numbers;
  • PASCAL VOC;
  • Wikipedia dump;
  • 20 Newsgroups;
  • Penn Treebank;
  • Kaggle。

各种不同算法的发展,如批规一化、激活函数、跳跃式连接(skip connection)、长短期记忆网络(LSTM)、dropout等,使得最近几年可以更快并更成功地训练极深度网络。本书接下来的章节中,我们将深入每种技术的细节,以及如何使用这些技术构建更好的模型。

深度学习框架

在早期,人们需要具备C++和CUDA的专业知识来实现深度学习算法。现在随着很多公司将它们的深度学习框架开源,使得那些具有脚本语言知识(如Python)的人,也可以开始构建和使用深度学习算法。今天,这个行业中流行的深度学习框架有TensorFlow、Caffe2、Keras、Theano、PyTorch、Chainer、DyNet、MXNet和CNTK。

如果没有这些框架,深度学习的应用也不会如此广泛。它们抽象出许多底层的复杂度,让我们可以专注于应用。我们尚处于深度学习的早期阶段,很多组织机构都在对深度学习进行大量研究,几乎每天都有突破性的成果,因而,各种框架也都各有利弊。

PyTorch

PyTorch以及其他大多数深度学习框架,主要用于两个方面:

  • 用GPU加速过的运算替代与NumPy类似的运算;
  • 构建深度神经网络。

让PyTorch越来越受欢迎的是它的易用性和简单性。不同于其他大多数流行的使用静态计算图的深度学习框架,PyTorch使用动态计算,因此在构建复杂架构时可以有更高的灵活性。

PyTorch大量使用了Python概念,例如类、结构和条件循环,允许用户以纯面向对象的方式构建深度学习算法。大部分的其他流行框架引进了自己的编程风格,有时编写新算法会很复杂,甚至不支持直观的调试。后续章节将详细讨论计算图。

尽管PyTorch新近才发布并且还处于β版本,由于它的简单易用和出色的性能、易于调试性,以及来自不同公司如SalesForce等的强大支持,PyTorch受到了数据科学家和深度学习研究人员的巨大欢迎。

由于PyTorch最初主要为研究目的而构建,因此不建议用于那些对延迟要求非常高的生产环境。然而,随着名为Open Neural Network Exchange(ONNX)的新项目的出现,这种情况正在发生改变,该项目的重点是将在PyTorch上开发的模型部署到适用于生产的Caffe2这样的平台上。在本书写作时,这个项目刚刚启动,因而过多的定论还为时尚早。该项目了得到Facebook和微软的支持。

本文摘自由人民邮电出版社异步社区出版的《PyTorch深度学习》

作者:[印度]毗湿奴•布拉马尼亚(Vishnu Subramanian)

译者:王海玲, 刘江峰

《PyTorch深度学习》是使用PyTorch构建神经网络模型的实用指南,内容分为9章,包括PyTorch与深度学习的基础知识、神经网络的构成、神经网络的知识、机器学习基础知识、深度学习在计算机视觉中的应用、深度学习在序列数据和文本中的应用、生成网络、现代网络架构,以及PyTorch与深度学习的未来走向。

《PyTorch深度学习》适合对深度学习领域感兴趣且希望一探PyTorch的业内人员阅读;具备其他深度学习框架使用经验的读者,也可以通过本书掌握PyTorch的用法。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: