基于最佳直线逼近的FPGA技术实现多涡卷神经元电路方法
- 国知局
- 2024-09-11 14:32:06
本发明属于非线性动力学领域,具体为基于最佳直线逼近的fpga技术实现多涡卷神经元电路方法。
背景技术:
1、fpga(field programmable gate array,现场可编程门阵列)是一种可编程逻辑器件,自fpga发明以来,它的发展速度之快超出了大多数人的想象,到目前为止它已成为全球领先的数字集成电路工艺代表之一。
2、凭借优异的数据处理性能,fpga不仅在通信、医疗、航空航天和工业控制领域的国家层面发挥着重要作用,而且在5g电信网络、视频处理、数据中心、智能家居等生活领域也能见到它的身影。正如最近几年在人工智能与类脑科学爆火的忆阻器一般,它为更好地模拟大脑活动中的基本行为提供了强有力的工具,而且能够更好地揭示神经元异常放电现象及辅助脑疾病诊断。因此从长远来看,通过电路实现忆阻神经系统获得放电序列从而预测神经元的放电现象的技术值得研究。虽然模拟电路受到晶体管失配和制作工艺变化以及高昂的硬件价格等影响,限制了模拟神经电路的大规模发展,但好在数字电路弥补了这一缺点。数字电路具有优异的数据处理能力和神经系统迭代初始值可调等优点,使得在示波器上能够捕获模拟电路难以调控的放电现象。
3、将fpga数字技术与类脑神经元计算结合在一起,可以更深入地理解癫痫的病理生理学,为癫痫的诊断和治疗提供新的思路和方法。例如,脑电图(eeg)就是基于神经元放电活动的检测来诊断癫痫的。此外,神经元异常放电也与脑损伤和神经退行性疾病有关,利用fpga技术有助于揭示这些疾病的发病机制,为治疗和预防提供新的靶点。而且在如火如荼的人工智能领域,通过模拟神经元放电活动,可以构建更准确的神经网络模型,实现更复杂的任务和功能。因此,通过fpga实现多涡卷的hnn(hopfield neural network)放电模型显得尤为重要,它能够产生多个涡卷的奇特放电现象,为研究医疗健康和ai发展提供技术支持。
4、通过fpga实现忆阻系统,必须先解决其数学模型中的复杂函数的问题。国外学者通过在fpga上使用cordic算法构造三角函数和超越函数tanh、cosh等,从而实现忆阻神经元系统的开发,但实现精度和迭代速度仍然有进一步提升的空间。对于仅验证实验或者低精度在fpga上实现忆阻神经系统,可以使用三段、四段曲线拟合的复杂函数逼近方法,但这不利于类脑计算的更深层次研究。此外,通过查找表法实现复杂函数会消耗大量的ram资源,且寻址方法较为繁琐。由此可见,在忆阻神经系统研究方面仍然需要一种更为简单快捷的复杂函数实现方法,如实现tanh、sinh、cosh、ex等。
5、针对现有技术的不足以高精度、高效率实现含有复杂超越函数的hnn多涡卷神经元电路情况,本发明目的在于提供一种基于最佳直线逼近的fpga技术实现多涡卷神经元电路方法。基于切比雪夫最佳逼近公式,获取拟合线性函数,再通过fpga的ram构造ip核存储一次函数项的系数,大大减少了加法器、乘法器的使用,从而简化fpga数字资源消耗和提升系统计算精度。
技术实现思路
1、为解决上述问题,本发明提出了基于最佳直线逼近的fpga技术实现多涡卷神经元电路方法,通过切比雪夫最佳直线逼近定理将双曲正切函数简化为线性函数,结合verilog状态机及ip核设计多涡卷神经元迭代求解电路模块,实现在fpga开发板上以高精度且高速度逼近目标函数,从而应对目前含有复杂函数的多涡卷系统生成精度不高的问题,以提高系统计算精度和运行速率,并产生高精度的多涡卷信号。
2、为实现上述目的,本发明采取的技术方案是:
3、基于最佳直线逼近的fpga技术实现多涡卷神经元电路方法,包括以下步骤,其特征在于:
4、首先,双曲正切函数的切比雪夫最佳直线逼近处理步骤,选取多涡卷hnn的神经元模型:
5、步骤1),按照工程精度需求将函数区间划分为至少2个待逼近区间;
6、根据迭代系统对精度的需求,将双曲正切函数区间划分为至少2个等待逼近的区间段,区间段的多少受工程精度的需求而改变;
7、步骤2),利用最佳逼近直线的思想,分别对各个区间段使用切比雪夫最佳逼近直线的公式求取其线性函数的最佳逼近系数;
8、步骤3),将每个区间段生成的斜率项和常数项系数通过visual studio c++ 或matlab以区间为一组的形式,将其转换成64位的ieee754双精度浮点数格式的.coe文件并用于函数逼近ip核的生成,其中,每组数据的高32位存放斜率项,低32位存放常数项;
9、步骤4),处理完上述步骤,通过乘法器将目标函数的自变量放大到与划分区间相匹配的倍数,再通过放大后的浮点数寻找存放斜率项和常数项ram ip核的存储地址,涉及到浮点数转定点数的寻址操作,再以最佳逼近的思想,通过乘法器和加法器按区间重复构造出区间段内最大绝对误差值最小的线性逼近函数,实现将双曲正切函数区间的逼近,构造函数模块的资源消耗不随着划分区间段的增加而增加,固定消耗1个乘法器、加法器和浮点转换器,而ram ip的占用和划分区间段呈线性相关;
10、其次,符号函数的处理方法:
11、通过设定相应的阈值进行条件判断将符号函数输出为1,0,-1,通过观察多个符号函数组合在一起函数的图像规律,利用查找表的方法化简符号函数的设计,进而提高系统的运行时间。
12、作为本发明进一步改进,所述双曲正切函数的切比雪夫最佳直线逼近处理步骤的多涡卷hnn的神经元模型具体如下;
13、;
14、其中有两种表达形式,具体表达式如下:
15、;
16、上述式子中是多涡卷hnn系统的状态变量,是正的系统参数,是忆阻耦合强度,sgn是符号函数,tanh是双曲正切函数,是正的整数。
17、作为本发明进一步改进,所述多涡卷hnn的神经元模型的微分方程使用二阶runge-kutta数值迭代公式,获得hnn多涡卷神经元系统迭代公式如下:
18、;
19、上述式子中是多涡卷hnn系统的状态变量当前时刻的值,是多涡卷hnn系统的状态变量下一时刻的值,是正的系统参数,是忆阻耦合强度,sgn是符号函数,tanh是双曲正切函数,是状态变量使用二阶runge-kutta的初始斜率,是状态变量使用二阶runge-kutta的终点斜率,是系统迭代步长取0.001;
20、根据上述迭代公式,通过vrilog硬件描述语言在xilinx ise开发环境上编写状态机控制模块循环的迭代公式,结合modelsim时序仿真优势及时调整编写代码的逻辑错误,获取迭代周期最短的数据输出,然后通过matlab对数据进行浮点数转换和绘图,观察是否与visual studio c++编译结果一致,最后将编译综合后生成的bit文件通过jtag接口烧录到fpga中并用示波器观测。
21、根据上述迭代公式,通过vrilog硬件描述语言在xilinx ise开发环境上编写状态机控制模块循环的迭代公式,结合modelsim时序仿真优势及时调整编写代码的逻辑错误,获取迭代周期最短的数据输出,然后通过matlab对数据进行浮点数转换和绘图,观察是否与visual studio c++编译结果一致,最后将编译综合后生成的bit文件通过jtag接口烧录到fpga中并用示波器观测。本发明的优势在于:本发明采用最佳直线逼近方法能够在不到微秒的时间内高精度逼近目标函数,在50mhz的fpga开发板上表现出优异的计算速度和精度。通过利用切比雪夫最佳逼近定理实现fpga中复杂函数的简化,本发明有助于减少迭代求解模块的资源消耗,提高系统计算精度和运行速率。该方法不仅能够高精度逼近常见的初等函数,对非线性函数和超越函数也有较好的逼近效果,在信息加密和非线性神经元领域具有重要的应用价值和研究意义。
本文地址:https://www.jishuxx.com/zhuanli/20240911/291296.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。