深度学习使用多层人工神经网络 (ANN),这是由输入和输出之间节点的几个“隐藏层”组成的网络。
人工神经网络通过将非线性函数应用于输入值的加权求和,以此转换输入数据。该转换叫作神经层,该函数则称为神经元。
层的中间输出称为特征,会用作下一层的输入。神经网络会通过重复转换来学习多层非线性特征(比如边缘和形状),之后会在最后一层汇总这些特征以生成(对更复杂物体的)预测。
在一个称为梯度下降的过程中,通过反向传播,错误会再次通过网络发送回来,并调整权重,从而改进模型。神经网络的学习方式是,改变网络的权重或参数以便将神经网络的预测值与期望值之差降至最低。此过程会重复数千次,根据生成的错误调整模型的权重,直到错误不能再减少。我们将人工神经网络从数据中学习的这一阶段称为训练。 在此过程中,层会学习模型的优化特征,而该模型的优势是特征不需要预先确定。
GPU:深度学习的关键
在架构方面,CPU 仅由几个具有大缓存内存的核心组成,一次只可以处理几个软件线程。相比之下,GPU 由数百个核心组成,可以同时处理数千个线程。
先进的深度学习神经网络可能有数百万乃至十亿以上的参数需要通过反向传播进行调整。此外,它们需要大量的训练数据才能实现较高的准确度,这意味着成千上万乃至数百万的输入样本必须同时进行向前和向后传输。由于神经网络由大量相同的神经元构建而成,因此本质上具有高度并行性。这种并行性自然而然地映射到了 GPU 上,与只用 CPU 的训练相比,计算速度大大提升,使其成为训练大型复杂神经网络系统的首选平台。推理运算的并行性质也使其十分宜于在 GPU 上执行。