深度学习是人工智能 (AI) 和机器学习 (ML) 的一个分支,其使用多层人工神经网络精准完成物体检测、语音识别、语言翻译等任务。
深度学习是机器学习的一个子集,与众不同之处在于,DL 算法可以自动从图像、视频或文本等数据中学习表征,无需引入人类领域的知识。深度学习中的“深度”一词表示用于识别数据模式的多层算法或神经网络。DL 高度灵活的架构可以直接从原始数据中学习,这类似于人脑的运作方式,获得更多数据后,其预测准确度也将随之提升。
此外,深度学习是在语音识别、语言翻译和物体检测等任务中实现高精密和高准确性的主要技术。近期,它也在 AI 领域实现了许多突破,包括 Google DeepMind 的 AlphaGo、自动驾驶汽车、智能语音助手等成果。
深度学习使用多层人工神经网络 (ANN),这是由输入和输出之间节点的几个“隐藏层”组成的网络。
人工神经网络通过将非线性函数应用于输入值的加权求和,以此转换输入数据。该转换叫作神经层,该函数则称为神经元。
层的中间输出称为特征,会用作下一层的输入。神经网络会通过重复转换来学习多层非线性特征(比如边缘和形状),之后会在最后一层汇总这些特征以生成(对更复杂物体的)预测。
在一个称为梯度下降的过程中,通过反向传播,错误会再次通过网络发送回来,并调整权重,从而改进模型。神经网络的学习方式是,改变网络的权重或参数以便将神经网络的预测值与期望值之差降至最低。此过程会重复数千次,根据生成的错误调整模型的权重,直到错误不能再减少。我们将人工神经网络从数据中学习的这一阶段称为训练。 在此过程中,层会学习模型的优化特征,而该模型的优势是特征不需要预先确定。
在架构方面,CPU 仅由几个具有大缓存内存的核心组成,一次只可以处理几个软件线程。相比之下,GPU 由数百个核心组成,可以同时处理数千个线程。
先进的深度学习神经网络可能有数百万乃至十亿以上的参数需要通过反向传播进行调整。此外,它们需要大量的训练数据才能实现较高的准确度,这意味着成千上万乃至数百万的输入样本必须同时进行向前和向后传输。由于神经网络由大量相同的神经元构建而成,因此本质上具有高度并行性。这种并行性自然而然地映射到了 GPU 上,与只用 CPU 的训练相比,计算速度大大提升,使其成为训练大型复杂神经网络系统的首选平台。推理运算的并行性质也使其十分宜于在 GPU 上执行。
深度学习常用于计算机视觉、对话式 AI 和推荐系统等应用。计算机视觉应用使用深度学习从数字图像和视频中获取知识。对话式 AI 应用程序能够帮助计算机通过自然语言实现理解和交流能力。推荐系统使用图像、语言和用户兴趣来提供有意义且相关的搜索结果和服务。
深度学习正在应用于自动驾驶汽车、智能私人助理和更智能的网络服务。先进的团队和组织都在使用欺诈检测和供应链现代化等深度学习应用程序。
深度学习算法有许多不同的变体,比如以下几种:
时间递归神经网络是解析语言模式和序列数据的数学工具。
借助 NVIDIA GPU 加速的深度学习框架,研究人员和数据科学家可显著提升深度学习训练的速度,只需几小时就能完成之前需要几天才能完成的训练,而原先需要几周才能完成的训练只需几天即可完成。准备好部署模型后,开发者可依靠面向云、嵌入式设备或自动驾驶汽车的 GPU 加速推理平台,为计算密集型深度神经网络实现高性能、低延迟的推理。
GPU 加速深度学习框架能够为设计和训练自定义深度神经网络带来灵活性,并为 Python 和 C/C++ 等常用编程语言提供编程接口。MXNet、PyTorch、TensorFlow 等广泛使用的深度学习框架依赖于 NVIDIA GPU 加速库,能够提供高性能的多 GPU 加速训练。