什么是深度学习?深度学习在FPGA上的优缺点

时间:2025-11-01  作者:Diven  阅读:0

什么是深度学习

什么是深度学习?深度学习在FPGA上的优缺点

为了解释深度学习,有必要了解神经网络。

神经网络是模拟人脑的神经元和神经网络的计算模型。


神经元和神经网络

作为具体示例,让我们考虑一个输入图像并识别图像中对象类别的示例。这个例子对应机器学习中的分类任务。

我们以一张“猫的图像”作为输入,教输入和输出的对应关系,这样神经网络的输出就是“这张图像是一只猫”。这个阶段称为学习。

在完成一定量的学习后,当一张新的猫图像输入到训练好的神经网络中时,就可以输出“This image is a cat”等图像识别结果。推理是使用经过训练的神经网络从未知输入中猜测输出的阶段。

神经网络内部有很多参数。具体来说,上图中连接节点的边被赋予了一个参数,称为“权重”,代表连接的强度。学习是通过逐渐改变这个参数来进行的。分配给某个神经网络的一组特定参数称为模型。

给定模型的一些输入,我们可以根据内部参数得到一些输出,但我们需要一些迹象表明这有多合理。此指标有多种类型,但经常使用称为准确性的。假设将 10 张猫的图像输入到预训练模型中,其中 9 张被确定为“猫”。在这一点上,该模型可以说具有 90% 的准确率。

你可以通过学习大量的输入输出对来获得更准确的模型。

有了上述机制,现在可以通过让神经网络模型学习各种问题来自动解决问题,创建高精度模型,并对新数据进行推理。

由于单个神经网络只能解决简单的问题,人们尝试通过构建深度神经网络 (DNN) 来解决更复杂的问题,深度神经网络是将这些问题多层连接起来的更深层网络。这称为深度学习。


深度学习的简单机制

目前,深度学习被用于现实世界中的各种场景,例如图像和语音识别、自然语言处理和异常检测,并且在某些情况下,记录精度超过了人类。这些是通过卷积神经网络 (CNN) 和递归神经网络 (RNN) 实现的,是在结构上进一步设计普通神经网络或其变体和组合的计算模型。

特别是,CNN 在图像识别领域表现非常出色,除了上述分类之外,还被用于多项任务(下面显示了四个示例)。


 

许多使用深度学习的技术、服务和业务已经出现,预计未来还会继续增加。

有许多关于深度学习主题的通俗易懂的书籍、网络文章和视频内容。

在 FPGA 上进行深度学习的好处

我们已经提到,许多服务和技术都使用深度学习,而 GPU 大量用于这些计算。这是因为矩阵乘法作为深度学习中的主要运算,其特点是计算所需数据的局部性和可重用性高,通过GPU计算很容易达到性能。

特别是当只需要推理时,由于不需要将神经元之间的运算结果保存在内存中,因此所需的数据量会减少。基于这一特性,也开始尝试使用FPGA进行深度学习推理。

事实上,微软的“ Project Brainwave ”在云端使用 FPGA 进行推理,并宣布将搜索引擎中 RNN 计算的延迟和吞吐量提高了 10 倍以上。

深度学习仍然主要使用 GPU 和 CPU 完成。在这里我们将仔细研究使用 FPGA 进行深度学习推理的好处。

可构建低功耗、节省空间的系统

FPGA 的计算并行度不如 GPU,但在很多计算上可以达到比 CPU 更高的并行度。单位时间的功耗往往低于 GPU,因此在功率受限系统中,FPGA 实现可能比 GPU 更适合 DNN 推理。计算性能和功耗之间存在折衷(Operations / Watt),因此需要根据系统要求进行仔细评估。

FPGA 还具有能够将整个系统安装在单个芯片上的优势。例如,将连接到FPGA的相机输入连接到深度学习计算电路,并根据计算结果改变系统的控制等应用可以在单个芯片上完成。与 GPU 不同,可以在没有 CPU 的情况下运行,因此可以构建一个比 CPU 使用更少功率和空间的系统。

实现超低延迟、节省空间的推理

FPGA的优势是低延迟,这对深度学习推理也很有效。

上述图像识别的深度学习有望应用于自动驾驶等对精度要求较高的系统中。由于也是一个具有严格延迟约束的系统,因此可能难以通过 CPU 和 GPU 实现,容易受到 DRAM 的响应速度和与外围设备的 IO 性能的影响。

使用低位宽数据可以减少延迟

FPGA可以使用任意位宽的数据,因此通过采用4位、2位等CPU和GPU难以获得的位宽,可以降低延迟,节省计算资源。

众所周知,即使使用具有一定低位宽的数据,深度学习推理也不会降低最终精度。目前据说8位左右可以提供稳定的准确率,但最新的研究表明,已经出现了即使降低到4位或2位也能获得很好准确率的模型和学习方法,越来越多的正在FPGA实现。

易于适应新的神经网络结构

深度学习是一个非常活跃的研究领域,每天都在设计新的 DNN。其中许多结合了现有的标准计算,但有些需要全新的计算方法。特别是在具有特殊结构的网络难以在 GPU 上实现高效的情况下,计算成为瓶颈并减慢整个深度学习过程。由于 FPGA 是可重构的,因此可能能够灵活地应对这种不规则的计算。

到目前为止,我们重点介绍了 FPGA 深度学习推理的优点,但也存在缺点。

运行频率低于 CPU 和 GPU,除非设计实现,否则性能往往较差。

与 CPU 和 GPU 相比实施成本高,FPGA 上支持深度学习的软件较少

很多DNN参数量大,很难在FPGA上简单实现

需要高数据精度的 DNN,例如单精度浮点数,往往会出现性能下降

需要高级专业知识来创建具有高推理准确性和低数据准确性的模型

有很多情况学习成为处理时间的瓶颈而不是推理,但用FPGA很难解决(几乎连研究水平都没有)

近年来,许多为深度学习计算而优化的 ASIC 被推向市场,GPU 配备了专门用于深度学习的电路。

基于这些,不得不说用FPGA做深度学习的好处并不多。与 DNN 权重降低相关的技术,如参数量化(或精度降低)和网络修剪,正在积极研究中,这些方法与 FPGA 非常兼容。

也有FPGA供应商发布高速深度学习IP,以及配备适合深度学习计算的硬件的SoC型FPGA等利好因素。深度学习与FPGA的实际应用还有很长的路要走,但我认为在未来有很大的潜力。

在这篇文章中,解释了两点:“什么是深度学习?”和“深度学习在FPGA上的优缺点”。

在后续文章中,我们将为简单的图像分类任务在 FPGA 上创建推理设计。本教程中创建的设计不会是利用上述 FPGA 优势的优秀设计,而是非常简单的设计。我将在后面的文章中展示之后的优化策略,但我希望能看出,如果不考虑复杂的优化,FPGA 上的开发非常简单。


审核编辑:刘清

猜您喜欢

现代电子行业中,封装形式的选择对电子元件的性能和适用性起着非常重要的作用。SSOP-28(ShrinkSmallOutlinePackage)是应用于集成电路(...
2025-04-20 10:31:17

OLED显示屏,全称有机发光二极管显示屏,是基于有机材料的自发光显示技术。与传统的液晶显示屏(LCD)不同,OLED显示屏不需要背光源,因为每个像素都能独立发光...
2012-04-20 00:00:00

真空打包机是高效实用的食品保存工具,其主要优势体现在以下几个方面。能有效延长食品的保鲜期。通过抽走包装内的空气,真空打包机能够减缓氧化和细菌滋生,从而保持食物的...
2014-10-28 00:00:00

日常生活中,我们经常需要使用移动式的局部照明灯,例如台灯、落地灯等。为了确保用电安全,国家标准对这类灯具的电源电压做出了明确规定。一般场所移动式局部照明用的电源...
2024-04-04 00:00:00

保险丝作为重要的保护元件,能够有效防止电路因过流而损坏。近年来,岚珊保险丝凭借其高品质的性能和稳定的品质,逐渐成为市场上的热门选择。本文将从岚珊保险丝的定义、封...
2020-10-07 05:21:30

合金贴片电阻和厚膜贴片电阻都是表面贴装电阻 (SMD) 的常见类型,但它们在材料、性能和应用方面存在一些关键区别。材料: 合金贴片电阻采用金属合金膜作为电阻材料...
2024-11-26 11:29:45

发光二极管(LED)是应用于照明、显示和信号指示的半导体器件。与传统的灯泡相比,LED具有能效高、寿命长、体积小等优点。在选择和应用LED时,工作电压是一个重要...
2025-03-31 03:01:07

当今科技时代,电池成为了我们生活中重要的一部分。从智能手机到电动汽车,电池为我们的生活提供了无尽动力。然而,电池也像一把双刃剑,如果使用不当,可能会带来安全隐患...
2024-11-26 00:00:00

电路理论中,电阻是一个非常重要的概念。根据欧姆定律,电阻可以通过电压和电流的关系进行计算。理解如何利用电压和电流数据计算电阻,不仅对学习电路理论有帮助,也对实际...
2025-04-13 20:00:06

随着微电子技术的迅猛发展,可编程逻辑器件从20世纪70年代发展至今,其结构、工艺、集成度、功能、速度、性能等方面都在不断的改进和提高;另外,电子设计自动化EDA...
2020-11-30 10:10:00