了解深度学习神经网络的现状,英特尔FPGA实施神经网络的必然之选

电子说

1.2w人已加入

描述

在脑认知科学中有这么一个观点,如果几个神经元之间经常构成连通路,且通过这几个神经元进行信息传递不如两者直接通过在彼此中间“搭桥”进行信息传递来得快,那么大脑结构就会根据细胞结构上信息传递的频率在两者之间帮助生出一个神经元来帮助更高效的获取与处理大脑信息。

从上面这个内容中我们可以发现,现在人工智能的发展并不足够完美,但我们依然受类似的生物系统启发从而提出神经网络结构,并将之用于人工智能技术的发展。现在,通过融合强大计算资源和用于神经元的新型架构,神经网络已然在计算机视觉和机器翻译等很多领域都取得了最先进的成果。

然而相对来说,这样的技术发展可都有各种严格的要求,尤其速度。那么我们现代人在大数据喷发的今天,是怎么做到计算与速度两者皆备的呢?在此之前,我们不妨先来了解深度学习神经网络的现状。

深度学习神经网络现状

深度学习神经网络系统目前已能够为许多人提供最佳解决方案,并已用于图像识别和自然语言处理的大型计算问题。更多的人使用传统的处理来模仿神经网络并创建一个系统,并通过观察来学习。虽然我们在这个领域已经取得了很大进展,但基于Web的神经网络高性能系统开发等多种技术,在功耗,成本和性能方面仍然存在重大挑战。

此外,最广泛使用的深度学习系统是卷积神经网络(细胞神经网络)。这些系统使用神经元的前馈人工网络执行图像识别。如有线电视新闻网是由层组成。其中,池化层通过最大值或值平均,池化减少变化图像特定区域的共同特征。CNN层的数量与图像识别的准确性相关;更多图层需要更多系统性能。这些层可以独立运行。

图1:二维卷积层

多核处理系统使用外部存储器缓冲每层之间的数据,这需要大量的内存与带宽。到目前为止,神经网络中性能最强的功能是卷积自己。传统的处理器内核必须为每个内核执行大量指令。卷积需要大量的处理与带宽。

实现CNN的有效实施有两个主要挑战。首先是能够在管道中执行函数,将数据从上一个层传递到下一个。第二是有效地执行卷积函数。另外,这些功能应该用一种方法构建允许轻松重新编程不同类型的硬件和移植到未来的高级硬件,否则,每个新的实现都需要广泛的重新优化。

英特尔FPGA,实施神经网络的必然之选

在英特尔公司,FPGA 当称实施神经网络的必然之选,它可在同一设备上处理计算、逻辑和存储资源中的不同算法。与其它同行对手的装置相比,其性能更快,用户可通过硬件来完成核心部分运算。加上软件开发者可使用 OpenCL™1 C 级编程标准,将 FPGA 作为标准 CPU 的加速器,更加无需处理硬件级设计。

“Why?因为它能将计算,逻辑和内存资源结合在一起共同使用。再加上英特尔®FPGA SDK的帮助,使得它能够适用于各种加速应用并使用更多复杂的算法。软件开发人员也可以使用OpenCL C级编程标准。”

此外,英特尔已经开发出可扩展的卷积神经网络参考设计,并用于使用OpenCL编程的深度学习系统。(使用OpenCL SDK构建的语言)这个设计首先是在Stratix®V器件系列上实现,现在适用于Arria®10器件。设计表现是使用两个流行的CNN基准进行基准测试:CIFAR-10和ImageNet。(典型的GPU实现批处理图像需要大量的外部存储器带宽。相比之下,FPGA可以一次性处理图像,芯片上的数据重用率更高,外部使用更少内存带宽。)

图2:神经网络数据通道

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分