1.本发明涉及人工智能技术领域,具体是基于感存算一体的神经网络振荡器系统。
背景技术:2.人工智能领域现阶段取得的成功引发了学习和模仿生物感知和处理系统来构建未来交互式智能系统的热潮.神经网络具有存内计算和大规模并行处理等特性.这些特性使我们在面对现实世界的事件时,能够以稳健容错的方式做出合适的反应.受生物中枢神经系统和感知系统处理模式的启发,一些科研人员将研究重点放在构建仿生物的集感知、存储、处理功能于一体(感存算一体化)的交互式系统.在传统的系统架构中,由于不同的功能和制造工艺,传感器、存储器和处理器在空间上是分离的.传感器收集现实环境中的模拟信号,模拟信号经过预处理转换为数字信号,随后输入到冯
·
诺依曼型数字计算架构中的存储器和处理器进行存储和后续处理.随着识别、分类等任务复杂度的提高,传统感知系统会产生大量的未处理原始数据,这加重了处理系统的工作负荷,而且数据的频繁传输和格式转换极大地限制了集成系统的工作性能.按感存算一体化系统的理念,系统边缘基本单元应耦合感知、存储、处理功能于一体,并应具有低功耗、小面积、高响应速度等特性.感存算一体化系统基本单元的设计、制造和应用的研究对于实现交互式人工智能系统是至关重要的。
3.目前所有的振荡器中,存在着频率信号随着外界环境特别是温度变化而波动剧烈的问题,因此需要通过相关补偿算法对其进行调节。一方面,目前的补偿算法及其结构难以达到实际所需精度标准,补偿方案需要反复进行补偿测试,才能决定,且会根据使用情况不同导致偏差。另一方面,对外界环境的信息读取包括温度信息读取在快速变化的过程中,传统补偿方案的读取存在数据采集不足的问题,往往需要进行多次数据的采集相互弥补,以及需要针对部分特殊情况误差较大的区间进行定点采集,因此传统的补偿方案时间成本和精度提升是振荡器补偿策略中存在的矛盾点。
4.针对上述问题,我们提供了一种基于感存算一体的神经网络振荡器系统,以解决上述所提到的问题。
技术实现要素:5.本发明的目的在于提供基于感存算一体的神经网络振荡器系统,以解决上述背景技术中提出的问题。
6.为实现上述目的,本发明提供如下技术方案:
7.基于感存算一体的神经网络振荡器系统,包括受控振荡器模块、传感功能模块、模数转换功能和感存算神经网络模块,所述受控振荡器模块由振荡器和后续信号处理部分组成;
8.所述感存算神经网络模块用于接收外部信息、将信息进行模数转换处理、实现神经网络存内计算;
9.所述感存算神经网络模块包括时钟控制模块、读写控制器模块、双模式字线驱动模块、人工神经单元阵列模块、非线性激活函数模块、数据缓冲器模块和输出控制模块。
10.作为本发明进一步的方案:所述时钟控制模块用于对感存算模块的时钟进行整体的同步时序控制,保证计算过程中参考时钟的正确性与一致性,使工作过程保持有序。
11.作为本发明再进一步的方案:所述读写控制模块用于对外部的读写要求做出响应,对双模式字线驱动模块直接控制。
12.作为本发明再进一步的方案:所述双模式字线驱动模块用于控制感存算神经网络模块的运算过程中的两种工作模式,即数据存储模式和数据计算模式,所述双模式字线驱动模块发出数据存储模式的信号时,人工神经单元阵列即将外部传入的数据进行读取且在内部完成保存工作,若此模块发出数据计算模式的信号,人工神经单元阵列便转换为对内部的数据进行相乘累计运算的工作状态,之后将计算结果输出到后续的模块即非线性激活函数和数据缓冲器模块中。
13.作为本发明再进一步的方案:所述非线性激活函数模块用于在处理每次感存算计算的每轮中间输出结果中,此中间结果会被模块归一化且被利用非线性函数增加非线性特征,使得数据结果符合实际情况的结果。
14.作为本发明再进一步的方案:所述数据缓冲器模块用于暂时存储神经网络计算中间结果的模块,若神经网络将要进行下一轮的计算,数据缓冲器模块内暂存的数据会被人工神经单元阵列读取,用于完成下一轮的相乘累加运算。
15.作为本发明再进一步的方案:所述人工神经单元阵列模块由人工神经单元构成,神经单元的功能包括传感器功能、模数转换功能、存储计算功能,传感器功能方面,神经单元通过采集不同的外界环境信息并输出对应的模拟信号;模数转换功能方面,模拟信号传输至内部进行进一步处理成数字信号,完成模数转换操作后,信号通过内部连线传输至存储部分,存储计算方面,人工神经单元具有存储神经网络的权重参数以及相乘累加的运算功能,因此可根据双模式字线驱动模块输出的控制信号分别工作于两种不同工作模式,即数据存储模式和数据计算模式两种模式。
16.作为本发明再进一步的方案:所述输出控制模块用于最终结果的输出,该模块负责与后续的振荡器模块进行数据传输,当神经网络完成了计算后,模块会向振荡器发送控制信号。
17.作为本发明再进一步的方案:所述传感器功能的传感器为声音、光、温度或压力传感器。
18.与现有技术相比,本发明的有益效果是:
19.1.本发明采用感存算一体化神经网络的控制系统,该系统将传感器阵列与存算神经网络相结合,在同一神经单元内集成传感器与存算神经单元,传感器作为神经单元的一部分负责采集外部信息并直接在神经单元内部传输,可以避免传统计算机结构中的大量i/o操作,再之后将数据存储和计算共同执行,节省了数据处理时间,系统的整体计算速度得到加快,降低整体功耗,同时还减少了数据的存储空间。
20.2.本发明基于感存算一体的神经网络振荡器系统,振荡信号由振荡器产生,传统的振荡器系统,其振荡信号受外部情况影响,为补偿振荡信号需要通过外接传感器模块、模数/数模转换模块、外部计算模块完成。本发明将振荡器的振荡信号控制与感知、存储、计算
系统为一体,既可以优化时钟信号的补偿方式,也可以减小面积、控制功耗,提高系统的整体响应速度。
附图说明
21.图1为本发明的结构示意图。
22.图2为本发明中受控振荡器模块的部分结构示意图。
23.图3为本发明中人工神经单元的工作过程结示意图。
24.图4为本发明中人工神经单元阵列的示意图。
25.图5为本发明中循环神经网络的示意图。
具体实施方式
26.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.请参阅图1-图5,本发明实施例中,基于感存算一体的神经网络振荡器系统,包括受控振荡器模块、传感功能模块、模数转换功能和感存算神经网络模块,所述受控振荡器模块由振荡器和后续信号处理部分组成;此模块振荡器受控制信号影响产生一个高频振荡信号,此信号受人工神经单元计算发出的信号控制。振荡信号作为系统输出可以反应外部信息以及存算结果。
28.所述感存算神经网络模块用于接收外部信息、将信息进行模数转换处理、实现神经网络存内计算;
29.所述感存算神经网络模块包括时钟控制模块、读写控制器模块、双模式字线驱动模块、人工神经单元阵列模块、非线性激活函数模块、数据缓冲器模块和输出控制模块。
30.时钟控制模块,用于对感存算模块的时钟进行整体的同步时序控制,保证计算过程中参考时钟的正确性与一致性,使工作过程保持有序。
31.读写控制模块,用于对外部的读写要求做出响应,对双模式字线驱动模块直接控制。
32.双模式字线驱动模块,用于控制感存算神经网络模块的运算过程中的两种工作模式,即数据存储模式和数据计算模式,所述双模式字线驱动模块发出数据存储模式的信号时,人工神经单元阵列即将外部传入的数据进行读取且在内部完成保存工作,若此模块发出数据计算模式的信号,人工神经单元阵列便转换为对内部的数据进行相乘累计运算的工作状态,之后将计算结果输出到后续的模块即非线性激活函数和数据缓冲器模块中。
33.非线性激活函数模块,用于在处理每次感存算计算的每轮中间输出结果中,此中间结果会被模块归一化且被利用非线性函数增加非线性特征,使得数据结果符合实际情况的结果。
34.数据缓冲器模块,用于暂时存储神经网络计算中间结果的模块,若神经网络将要进行下一轮的计算,数据缓冲器模块内暂存的数据会被人工神经单元阵列读取,用于完成下一轮的相乘累加运算。
35.人工神经单元阵列模块,由人工神经单元构成,神经单元的功能包括传感器功能、模数转换功能、存储计算功能,传感器功能方面,神经单元通过采集不同的外界环境信息并输出对应的模拟信号;模数转换功能方面,模拟信号传输至内部进行进一步处理成数字信号,完成模数转换操作后,信号通过内部连线传输至存储部分,存储计算方面,人工神经单元具有存储神经网络的权重参数以及相乘累加的运算功能,因此可根据双模式字线驱动模块输出的控制信号分别工作于两种不同工作模式,即数据存储模式和数据计算模式两种模式;所述传感器功能的传感器为声音、光、温度或压力传感器。
36.输出控制模块,用于最终结果的输出,该模块负责与后续的振荡器模块进行数据传输,当神经网络完成了计算后,模块会向振荡器发送控制信号。
37.如图1,该系统主要由两大部分构成,受控振荡器模块、包含传感功能、模数转换功能、存储计算功能的感存算人工神经单元阵列构成的感存算神经网络模块。本例以温度感存算补偿晶体振荡器为例,人工神经单元内温度传感负责采集环境温度信息,并将采集到的信号传递进行模数转换,然后内部的转换将连续模拟信号转换为离散数字信号,并使数字信号传输到存储部分,包含存储功能的神经模块负责对数字信号进行信息处理,通过神经网络对温度信息数据进行计算,得到计算结果并输出,最后完成将温度转化为控制信号并控制振荡器输出的全过程。
38.如图2所示,该图展示了实受控振荡器模块部分结构示意图,本例以压控晶体振荡器为例,包括晶体谐振器模块、振荡电路模块(内部具有压控电容,控制信号作用改变振荡频率)、供电模块以及倍频电路模块构成。通过输入来自感存算模块的控制信号可以使得系统整体的振荡信号输出发生变化。
39.如图3所示,此图为人工神经单元的工作过程,外界温度影响振荡信号的同时,温度在单个神经单元内部在传感转化下作为模拟信号进入模数转换步骤,实施例中模数转换将温度传感器传输的电压信号转化为相应的数字信号,并通过输出传至存储部分,准备后续存内计算。感存算神经网络模块的输出信号最终影响振荡信号,可以作为振荡信号补偿。
40.如图4,该存内计算神经网络由双模式字线驱动模块、时钟控制模块、读写控制器模块、人工神经单元阵列模块、非线性激活函数模块、数据缓冲器模块、输出控制器模块构成。人工神经单元阵列模块包括若干个神经单元。存储部分接收到来自模数转换后传输的数字信号后,读写控制模块将数据传输命令转化为电信号,同时驱动双模式字线驱动模块向神经单元阵列模块发送数据存储的指令信号,神经单元阵列模块将数据保存至内部,随后双模式字线驱动模块发送出数据计算信号,神经单元便对内部的权重参数和数据进行相乘累加运算操作,并得到中间结果。如果本轮神经网络的计算没有结束,则会将中间结果备份至数据缓冲器模块,神经单元阵列模块会利用数据缓冲器模块中的数据进行新的运算;如果本轮神经网络的计算结束了,则将中间结果传输至非线性激活函数模块,经过激活函数模块的运算后,得到本轮的计算结果,并开启下一轮的神经网络运算,形成循环的神经网络计算。
41.如图5,该图展示了本实施例中循环神经网络结构示意图。该神经网络是一个典型的循环神经网络,包含输入层、隐藏层、记忆层、输出层、输入权重矩阵、隐藏层权重矩阵、输出权重矩阵激活函数。各个层的神经元个数都需要按照实际应用情况进行确定,隐藏层的数量不宜过多,否则会出现过拟合的现象。另外,隐藏层的层数与记忆层的层数应保持一
致。循环神经网络在接收到输入数据后,将输入数据与输入权重相乘,再累加上记忆层的数据后便得到隐藏层的数据,隐藏层的数据与输出权重相乘后进行非线性激活函数运算,便得到本轮计算结果。另外,隐藏层的数据需要与隐藏层权重矩阵相乘,以得到新的记忆层。
42.施例中,循环神经网络主要由感存算神经网络模块构成输入层、隐藏层、记忆层、输出层。输入数据是经由模数转换后的温度特征向量,最终输出结果是向受控振荡器模块发出控制信号,使得受控振荡器能够产生温度对应的振荡信号。
43.工作流程:
44.(1)初始化:全局复位,将控制系统中的所有模块进行初始化;
45.(2)振荡信号产生:振荡器正常工作,产生振荡信号作为系统输出,同时为外界对振荡信号影响和感存算神经系统的控制做好准备;
46.(3)输入感存算系统需要信息:将训练好的神经网络数学模型中的权重信息和网络结构信息存储到感存算神经网络模块中;
47.(4)神经单元开始工作,神经单元内部传感获取外部信息:神经单元获得外部环境的信息,将这些信息输入内部进行模数转换;
48.(5)神经单元内模数信号转换:通过接受来自(4)的模拟信号,模数转换将通过外部信息传感传输的模拟信号处理转化为数字信号,将处理过后的数字信号传输给存储部分用于后续存储计算;
49.(6)存内计算工作:存储部分在接收到模数转换后的信号之后,读写控制模驱动双模式字线驱动神经模块至数据存储工作模式,神经单元阵列接收到存储指令信号后,将模数转换后输出的数据保存至内部;随后双模式字线驱动模块切换至数据运算的工作模式,驱动神经单元阵列进行相乘累加的运算,当神经单元阵列完成一轮相乘累加操作后,将数据输出至非线性激活函数模块;
50.(7)非线性处理以及判定是否需要循环计算:人工神经单元阵列模块的计算结果被传输到非线性激活函数模块后,会进行非线性处理,处理后传输到数据缓冲器模块,如果神经网络计算还未结束则继续(6)工作过程的控制,数据缓冲模块中的数据作为新的输入数据进行新一轮计算,否则结束计算;
51.(8)信号输出至振荡模块,通过振荡模块内部结构转换为振荡频率的改变,最终输出振荡信号:等待(7)中判定计算完成后,输出控制模块将计算结果作为控制信号输出到振荡模块,并由振荡模块内部转换为振荡频率的改变,系统输出振荡信号,清理缓存数据,后续继续工作从(3)过程重新开始进行新一轮计算直到系统完全关闭。
52.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。