为什么用GPU训练深度神经网络?

GPU,即图形处理器,目前主要作为显卡的计算核心,主要解决图形渲染问题。图形渲染需要将大量的3D 坐标转化为2D 显示器上的坐标,需要执行大量计算来确定每个像素的颜色,还要处理大量内存缓冲,并描述每一个需要被渲染的对象的纹理的位图信息。因此,图形渲染的实质是大量数据的快速并行计算,具有高并行度以及高吞吐量特性的处理器,才能实现对图形问题的快速解决。

为什么用GPU训练深度神经网络?

与CPU相比,GPU 拥有更多的算数单元。CPU 虽然有多核,但总数没有超过两位数,每个核都有足够大的缓存和足够多的数字和逻辑运算单元,并辅助有很多加速分支判断甚至更复杂的逻辑判断的硬件;GPU 的核数远超CPU,被称为众核(NVIDIA Fermi有512 个核)。每个核拥有的缓存大小相对小,数字逻辑运算单元也少而简单。

为什么用GPU训练深度神经网络?

深度学习是人工神经网络算法的进一步发展。人类的思维是从知觉的抽象-归纳-概括开始,先形成低层级的抽象概念,在此基础上进行逐级抽象,最终形成低级-中级-高级的抽象链。深度学习通过分层结构,用低层次特征的组合形成更加抽象的高层次特征或属性,从输入的海量数据中自发地总结出规律,举一反三泛化至从未见过的案例中,从而推动了人工智能发展的浪潮。

为什么用GPU训练深度神经网络?

从对芯片要求上来看,深度学习涉及大量参数、激活值、梯度值的缓冲区,其每个值在每一次训练迭代中都要被完全更新,对计算和吞吐能力的需求非常高。由于具有简便的编程模型、强并行能力和高显存带宽,通用GPU成为训练深度神经网络的理想平台。


分享到:


相關文章: