深度学习

深度学习是人工智能 (AI) 和机器学习 (ML) 的一个分支,其使用多层人工神经网络精准完成物体检测、语音识别、语言翻译等任务。

什么是深度学习?

深度学习是机器学习的一个子集,与众不同之处在于,DL 算法可以自动从图像、视频或文本等数据中学习表征,无需引入人类领域的知识。深度学习中的“深度”一词表示用于识别数据模式的多层算法或神经网络。DL 高度灵活的架构可以直接从原始数据中学习,这类似于人脑的运作方式,获得更多数据后,其预测准确度也将随之提升。   

此外,深度学习是在语音识别、语言翻译和物体检测等任务中实现高精密和高准确性的主要技术。近期,它也在 AI 领域实现了许多突破,包括 Google DeepMind 的 AlphaGo、自动驾驶汽车、智能语音助手等成果。

深度学习的工作原理

深度学习使用多层人工神经网络 (ANN),这是由输入和输出之间节点的几个“隐藏层”组成的网络。 

图像识别。

人工神经网络通过将非线性函数应用于输入值的加权求和,以此转换输入数据。该转换叫作神经层,该函数则称为神经元。 

人工神经网络。

层的中间输出称为特征,会用作下一层的输入。神经网络会通过重复转换来学习多层非线性特征(比如边缘和形状),之后会在最后一层汇总这些特征以生成(对更复杂物体的)预测。 

在一个称为梯度下降的过程中,通过反向传播,错误会再次通过网络发送回来,并调整权重,从而改进模型。神经网络的学习方式是,改变网络的权重或参数以便将神经网络的预测值与期望值之差降至最低。此过程会重复数千次,根据生成的错误调整模型的权重,直到错误不能再减少。我们将人工神经网络从数据中学习的这一阶段称为训练。  在此过程中,层会学习模型的优化特征,而该模型的优势是特征不需要预先确定。

NVIDIA DIGITS 和 NVIDIA TensorRT。

GPU:深度学习的关键

在架构方面,CPU 仅由几个具有大缓存内存的核心组成,一次只可以处理几个软件线程。相比之下,GPU 由数百个核心组成,可以同时处理数千个线程。

CPU 与 GPU 的区别。

先进的深度学习神经网络可能有数百万乃至十亿以上的参数需要通过反向传播进行调整。此外,它们需要大量的训练数据才能实现较高的准确度,这意味着成千上万乃至数百万的输入样本必须同时进行向前和向后传输。由于神经网络由大量相同的神经元构建而成,因此本质上具有高度并行性。这种并行性自然而然地映射到了 GPU 上,与只用 CPU 的训练相比,计算速度大大提升,使其成为训练大型复杂神经网络系统的首选平台。推理运算的并行性质也使其十分宜于在 GPU 上执行。

深度学习用例

深度学习常用于计算机视觉、对话式 AI 和推荐系统等应用。计算机视觉应用使用深度学习从数字图像和视频中获取知识。对话式 AI 应用程序能够帮助计算机通过自然语言实现理解和交流能力。推荐系统使用图像、语言和用户兴趣来提供有意义且相关的搜索结果和服务。

深度学习正在应用于自动驾驶汽车、智能私人助理和更智能的网络服务。先进的团队和组织都在使用欺诈检测和供应链现代化等深度学习应用程序

深度学习算法有许多不同的变体,比如以下几种:

  • 只将信息从一层向前馈送至下一层的人工神经网络称为前馈人工神经网络。多层感知器 (MLP) 是一种前馈 ANN,由至少三层节点组成:输入层、隐藏层和输出层。MLP 擅长使用已标记的输入进行分类预测。它们是可应用于各种场景的灵活网络。
  • 卷积神经网络是识别物体的图像处理器。在某些情况下,CNN 图像识别表现优于人类,包括识别猫、血液中的癌症迹象以及 MRI 扫描影像中的肿瘤。CNN 已成为当今自动驾驶汽车石油勘探聚变能源研究领域的点睛之笔。在医疗健康方面,它们可以加快医学成像发现疾病的速度,并且更快速地挽救生命
  • 时间递归神经网络是解析语言模式和序列数据的数学工具。

    • 这些网络正在推动一场基于语音的计算革命,并为 Amazon Alexa、Google Assistant 和 Apple Siri 提供能够实现听力和语音的自然语言处理的大脑。它们还为 Google 的自动完成功能提供了预见性魔力,可以自行填写搜索查询中的行。
    • RNN 应用程序不仅限于自然语言处理和语音识别。其还可用于语言翻译、股票预测和程序化交易。
    • 为检测金融欺诈,可以使用 RNN 对异常支出模式进行红色标记,RNN 尤其擅长猜测一系列数据中接下来的变化。美国运通已部署基于深度学习的模型,这些模型已使用 NVIDIA® TensorRT 进行优化,并运行在 NVIDIA Triton 推理服务器上,以检测欺诈。

深度学习为何对研究人员和数据科学家至关重要

借助 NVIDIA GPU 加速的深度学习框架,研究人员和数据科学家可显著提升深度学习训练的速度,只需几小时就能完成之前需要几天才能完成的训练,而原先需要几周才能完成的训练只需几天即可完成。准备好部署模型后,开发者可依靠面向云、嵌入式设备或自动驾驶汽车的 GPU 加速推理平台,为计算密集型深度神经网络实现高性能、低延迟的推理。

面向开发者的 NVIDIA 深度学习

GPU 加速深度学习框架能够为设计和训练自定义深度神经网络带来灵活性,并为 Python 和 C/C++ 等常用编程语言提供编程接口。MXNet、PyTorch、TensorFlow 等广泛使用的深度学习框架依赖于 NVIDIA GPU 加速库,能够提供高性能的多 GPU 加速训练。

广泛使用的深度学习框架。

后续步骤

  • NVIDIA 提供经过优化的软件堆栈,可加速深度学习工作流程的训练和推理阶段。如需详细了解相关信息,请访问 NVIDIA 深度学习主页
  • 开发者、研究人员和数据科学家可以通过深度学习示例轻松访问 NVIDIA 优化深度学习框架容器化,这些示例针对 NVIDIA GPU 进行了性能调整和测试。这能够消除管对软件包和依赖项的管理需要,或根据源头构建深度学习框架的需要。请访问 NVIDIA NGC 了解详情并开始使用。
  • NVIDIA Volta 和 Turing GPU 上的 Tensor Core 专门为深度学习而设计,能够显著提高训练和推理性能。了解有关获取参考实现的更多内容
  • NVIDIA 深度学习培训中心 (DLI) 能够为开发者、数据科学家和研究人员提供有关 AI 和加速计算的实操培训。
  • 请查看深度学习简介,详细了解有关深度学习的更多深入技术探讨
  • 请查看 NVIDIA 开发者网站,获取开发者新闻和资源。
  • 请阅读 NVIDIA Merlin:深度推荐系统应用程序框架,详细了解深度学习推荐
  • 请阅读深度学习简介,详细了解深度学习