当前位置:首页 > 智能硬件 > 人工智能AI
[导读] 摘 要: 使用分段非线性逼近算法计算超越函数,以神经网络中应用最为广泛的Sigmoid函数为例,结合函数自身对称的性质及其导数不均匀的特点提出合理的分段方法,给出分段方式同逼近多项式阶数对逼近结

摘 要: 使用分段非线性逼近算法计算超越函数,以神经网络中应用最为广泛的Sigmoid函数为例,结合函数自身对称的性质及其导数不均匀的特点提出合理的分段方法,给出分段方式同逼近多项式阶数对逼近结果精度的影响。完成算法在FPGA上的硬件实现,给出一种使用三阶多项式处理Sigmoid函数的拟合结果及流水线架构,处理精度达到10-5数量级,最大频率达到127.327 MHz,满足了高速、高精度的处理要求。
 

0 引言

在实时图像处理、数字信号处理等领域内,经常需要对非线性函数进行高速计算[1]。而在人工神经网络中更是需要对大量的非线性函数进行计算。因此,在人工神经网络的研究领域内,研究如何高速地处理非线性函数具有十分重要的意义。在人工神经网络中应用最为广泛的是Sigmoid函数。目前对于Sigmoid函数实现技术的研究主要分为软件实现和硬件实现两个方面。由于软件相比硬件而言速度较慢并且并行程度很低,所以无法满足其快速处理的要求[2]。因此,在超大规模集成电路快速发展的当今时期,研究如何利用硬件快速处理Sigmoid函数显然更加有意义。

FPGA凭借其可重构技术的灵活性,成为解决Sigmoid函数高速计算问题的有力工具。目前利用FPGA计算Sigmoid函数常用的方法有查找表法、CORDIC算法、Taylor级数展开法和分段线性逼近法。查找表法[3]提前将所有的计算结果保存在一个ROM中,这种方法计算方便且容易实现,但是随着函数计算精度的提高和拟合区间的增加,其所需求的存储资源会显著增加,资源消耗很高。CORDIC算法[4]通过多次迭代将一些复杂的运算转换成为简单的运算,但是随着精度增高,其算法的迭代次数也会提高,计算速度会减慢。Taylor级数展开法[5]在精度要求较高的条件下会增加乘法器和加法器的使用,资源消耗巨大。分段线性逼近法[6-7]将查找表和低阶多项式相结合,计算速度较快,是当前解决此问题的主流方法,然而在有限的分段区间用低阶的多项式进行拟合运算,其计算结果在精度上并没有优势,难以实现高精度的运算要求。

为了解决上述问题,本文采用传统的分段非线性逼近法来处理Sigmoid函数。文献[8]中使用了分段非线性逼近法来处理神经网络中常见的双曲正切函数,然而文中并没有给出分段方法的依据,同时在各小段的分段区间所得到的精度也差异很大。因此,本文针对这一问题,以Sigmoid函数为研究对象,结合Sigmoid函数自身对称及其导数不均匀的性质,利用数值分析中的最小二乘法作为逼近原理,给出合理的分段方式。同时给出对比均匀分段的处理方式下逼近精度的差异情况。利用硬件描述语言实现硬件结构的设计,并在Xilinx Virtex-5系列的XC5VLX110T器件上完成实际验证和性能测试,从资源使用、运算速度同计算精度等方面对设计结果进行合理评估。

1 Sigmoid函数的分段非线性拟合方案及结果分析

分段非线性逼近法的基本原理是用高阶多项式来逼近曲线。首先将待逼近函数按照一定的方式进行分段,之后对每一个小段构建高阶多项式近似地代替原曲线,从而将复杂的非线性函数的计算问题转换成为多项式的计算问题。

由泰勒公式的原理可知,函数在某一点按照泰勒公式展开,随着展开的项数越来越多,逼近式的误差会越来越小。并且,随着项数的增加,每一项在数值上逐渐递减,并最终趋向于无穷小。函数在某一点按照泰勒公式展开,保留N阶多项式时,其之后的所有项数均影响误差,并且(N+1)阶导函数的数值直接影响N阶多项式的逼近结果。具体影响的方式为:N+1阶导数取绝对值后,其值越大,表明函数在这一点处使用N阶多项式逼近的误差越高,因此在这点处对应的分段区间间隔应该相对较小;其值越小,表明函数在这一点处使用N阶多项式逼近的误差越低,因此在这点处对应的分段区间间隔应该相对较大。在考虑分段时,可以根据N+1阶导数的数值大小,将函数的分段区间进行动态调整,避免造成误差过大。通过这样的处理方式,可以对分段方式进行一些优化。下面结合Sigmoid函数进行具体分析。

首先分析Sigmoid函数及其导函数的性质,如图1。F(x)为Sigmoid函数,G(x)为其4阶导函数。在保证足够的分段区间时,使用3阶多项式就能够得到较高的逼近精度。因此,本文使用3阶多项式逼近Sigmoid函数,4阶导函数G(x)直接影响逼近的误差。通过研究图像,得出以下结论:

(1)Sigmoid函数F(x)是以点(0,0.5)为对称中心的函数,因此在计算Sigmoid函数值时只需计算正区间或负区间,另一半可通过对称关系得到;

(2)以正区间为研究对象,Sigmoid函数的4阶导数在x=1处附近取得最大值,并向两侧衰减,随着x的不断增大,4阶导数最终趋向于0。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

中国,上海——2026年3月26日——低功耗可编程领域的领导者,莱迪思半导体(NASDAQ: LSCC)今日宣布正式加入英伟达(NVIDIA) Halos AI系统检测实验室生态体系。该实验室是首个获得美国国家标准协会认...

关键字: 物理人工智能 传感器 FPGA

在工业自动化的“神经网络”中,EtherCAT凭借其独特的“飞过处理”机制,已成为实时控制领域的王者。不同于传统以太网的存储转发,EtherCAT数据帧在经过每个从站时,硬件直接从中提取数据并插入响应,这种“边飞边修”的...

关键字: EtherCAT FPGA 总线

在复杂的SoC芯片设计流程中,硬件与软件的“割裂”往往是导致项目延期的元凶。当RTL代码还在仿真阶段时,软件团队只能基于指令集模拟器(ISS)进行开发,不仅速度慢如蜗牛,且无法捕捉真实硬件的时序细节。此时,FPGA原型验...

关键字: SoC 硬件加速 FPGA

在工业4.0浪潮中,边缘计算网关正成为连接物理世界与数字世界的核心枢纽。面对多路传感器产生的海量数据洪流,传统单芯片架构已难以满足实时性与算力的双重需求。NVIDIA Jetson与FPGA的异构组合,通过"前端FPGA...

关键字: 边缘计算 NVIDIA Jetson FPGA

在高速网络通信领域,FPGA凭借其并行处理能力成为实现以太网MAC(媒体访问控制)层的理想平台。然而,面对1G甚至10Gbps的线速流量,传统的“软件式”逐包处理早已力不从心。构建高效的包处理流水线(Packet Pro...

关键字: 以太网 MAC FPGA

在FPGA实现数字信号处理(DSP)算法时,DSP Slice作为专用硬件资源,其利用效率直接影响系统性能与成本。本文聚焦乘加运算(MAC)的优化实现,分享流水线设计与资源复用的实用技巧,帮助开发者在有限资源下实现更高吞...

关键字: FPGA DSP

在异构计算的浪潮中,FPGA凭借其可重构特性与高能效比,成为突破算力瓶颈的“利刃”。然而,当我们试图通过OpenCL将FPGA纳入统一计算平台时,一个巨大的幽灵始终盘旋在系统上方——内存带宽瓶颈。PCIe总线的有限带宽与...

关键字: OpenCL FPGA

将成熟的ASIC设计迁移至FPGA平台,绝非简单的“复制粘贴”。ASIC设计追求极致的能效比和定制化物理布局,而FPGA受限于固定的逻辑单元(LUT、FF、DSP、BRAM)架构,直接移植往往导致资源利用率低下甚至时序收...

关键字: ASIC FPGA

在高性能FPGA设计中,DSP48E2 Slice绝非仅仅是一个简单的乘法单元。若将其仅视为“硬件乘法器”,将极大浪费其潜在的算力。作为Xilinx UltraScale+架构的核心算术引擎,DSP48E2集成了预加器、...

关键字: DSP48E2 FPGA

在浩瀚宇宙中,高能粒子如隐形的子弹,时刻轰击着航天器的电子核心。对于FPGA而言,单粒子翻转(SEU)可能导致逻辑状态突变,引发灾/难性后果。此时,三模冗余(TMR)技术便成为守护系统可靠的“神盾”,它通过硬件代价换取极...

关键字: 抗辐射加固设计 FPGA 三模冗余
关闭