一种基于概率计算的人工神经网络硬件实现装置的制造方法

文档序号:10553399阅读:379来源:国知局
一种基于概率计算的人工神经网络硬件实现装置的制造方法
【专利摘要】本发明涉及一种基于概率计算的人工神经网络硬件实现装置。它包括输入、中间和输出三个模块;输入模块由I个输入神经元组成,输入神经元接受第一数据,输出第一随机数据序列;中间模块由J个中间神经元组成,中间神经元接受第一随机数据/参数序列,输出第二随机序列;输出模块由K个输出神经元组成,输出神经元接受第二随机数据/参数序列,输出第二数据;其中I,J,K均为大于或等于1的整数;输入神经元的输出端连接到中间神经元的输入端,中间神经元的输出端连接到输出神经元的输入端,采用全部或者部分相连的方式;所述第一和第二随机数据序列、第一和第二随机参数序列均以一段时间内数据序列中出现0或1的概率值表示。本发明所述的神经网络装置可极大地降低硬件逻辑和布线资源,降低电路成本和功耗,使得采用中小规模电路实现超大规模的神经网络成为可能。
【专利说明】
一种基于概率计算的人工神经网络硬件实现装置
技术领域
[0001]本发明涉及人工神经网络领域,尤其涉及一种基于概率计算的人工神经网硬件实现装置。
【背景技术】
[0002]人工神经网络(ANN,本文简称神经网络)是借鉴生物神经网络(BNN)结构和生物神经元工作机理,在一定程度上模拟人脑某些功能的信息处理系统,即模拟生物神经元的某些基本功能,构建具有独立处理能力的人工神经元,然后对由大量人工神经元组成的神经网络进行训练,调整网络内部人工神经元之间的相互连接关系,使网络识别输入和输出的映射关系,最后达到信息处理的目的。
[0003]人工神经网络现已应用至许多领域,如系统辨识(航空航天、电力系统等)、模式识另Ij(语音识别、字符识别等)、智能控制等领域。目前人工神经网络主要有软件和硬件两种实现类型,软件实现主要依赖于计算机,由于神经网络的运算量非常大,对计算机性能要求很高,而且软件方法并不能真正的实现并行处理,所以对于一些实时性要求高的应用,必须要采用硬件电路来实现人工神经网络,以完成数据的快速实时处理。
[0004]目前,中国专利,其专利号为200810034313.3“人工神经网络算法的硬件实现方法及其系统”,用脉冲作为神经网络的输入,与给定的权值进行乘积运算,最终拟合成神经网络的Sigmoid函数。业内人士都知道,BP网络使用Sigmoid函数作为激活函数,相比于径向基函数(RBF)神经网络,存在学习收敛速度慢、容易陷入局部极小点而无法得到全局最优解等缺点。
[0005]存在中国专利,专利号为201110362577.3 “一种基于概率计算的正余弦信号的产生方法”,用概率数的方式产生正余弦信号,其中乘法和相减操作的硬件结构,均以概率计算的方式实现,虽然能够减少电路所需逻辑门数量,使核心电路复杂性降低,但是不能用概率计算的方式完成其他运算结构,且只适用于通信领域正余弦信号的产生,应用范围有一定局限性。
[0006]在现有技术中,一个普通乘法器大约需要几百甚至上千个逻辑门,指数运算器则需要更多的逻辑门。然而,绝大多数神经元都包含有加法、乘法、指数等函数运算,大量的神经元组成一个神经网络,因此,当网络规模增大时,整个网络中的加法器、乘法器和指数运算器的数量也将急剧增长。在集成电路中,每个逻辑门都需要占用一定的硬件面积,大规模的网络结构也占用了大量连线资源,导致整个神经网络的硬件电路规模非常庞大,实现成本非常高,另一方面网络中含有大量的逻辑门,使得功耗增加,现有技术方案难以解决。本领域的技术人员致力于研发一种低成本的大规模神经网络,可用普通硬件电路实现。

【发明内容】

[0007]为了解决上述大规模神经网络难以用普通硬件方案实现的问题,本发明提供了一种基于概率计算的人工神经网络硬件实现装置,一方面可以用非常简单的硬件逻辑运算门实现加法、乘法和指数运算,另一方面可以减小网络的内部连线,以达到在同样或类似的运算精度下,减小硬件规模和成本、降低系统功耗的目的。
[0008]为达到上述目的,本发明的构思是:将传统的二进制数转换为随机数据序列,以序列中出现O或I的概率来表示确定性计算中采用的数值,则能用一个简单的逻辑与门或一个逻辑异或门来完成乘法运算,以一维线性状态机或二维矩阵状态机来完成指数运算,从而大大减少逻辑电路规模,当网络完成计算后,再将概率值转换为普通二进制数,从而既与现有神经网络的接口兼容,又大大减小网络的规模。在运算精度损失很有限的条件下,节省了网络的实现成本,也就意味着可以使用普通的小规模电路来完成大规模神经的网络结构。该方法还可以减少系统功耗,能够完成如高斯函数等复杂的函数计算。
[0009]根据上述的发明构思,本发明采用下述的技术方案:
一种基于概率计算的人工神经网络硬件实现装置,如图1所示。该神经网络包括输入模块、中间模块和输出模块,所述输入模块包含I个输入神经元,中间模块包含J个中间神经元,输出模块包含K个输出神经元,其中,1、J、K皆为大于或等于I的整数。输入神经元接受第一数据,输出第一随机数据序列;中间神经元接受第一随机数据序列和第一随机参数序列,输出第二随机数据序列;输出神经元接受第二随机数据序列和第二随机参数序列,输出第二数据。其中,第一随机数据序列、第二随机数据序列、第一随机参数序列、第二随机参数序列均以一段时间内数据序列中出现O或I的概率表示一个数值。上述的数据序列是指,在每一个时钟周期输出的数据连续排列形成的序列。网络中的输入神经元的输出端采用全相连或部分相连的方式,连接到中间神经元的输入端;中间神经元的输出端采用全相连或部分相连的方式,连接到输出神经元的输入端。一般情况下都为全相连,即所有的输入神经元与所有的中间神经元相连,且所有中间神经元与所有的输出神经元相连。在特定情况下,也可以是部分相连,即只有部分输入神经元与部分中间神经元相连,或者只有部分中间神经元与部分输出神经元相连。
[0010]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,每一个中间神经元都能够以第一随机数据序列为输入自变量,以第一随机参数序列为函数参数,完成径向基函数运算,运算过程均使用概率数(即一段时间内数据序列中出现O或I的概率表示一个数值),运算后将输出的第二随机数据序列作为中间神经元的输出数据。所述径向基函数的种类包括但不限于高斯函数、多二次函数、逆多二次函数、薄板样条函数、三次函数、线性函数。
[0011]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,所述第一随机数据序列、第二随机数据序列、第一随机参数序列、第二随机参数序列皆可以为伪随机数序列或真随机数序列,其数据宽度可以为单比特数据宽度或多比特数据宽度。通常,这些序列中的数据为一个比特,即每一个数据只需要一根引线,可以极大减少网络内部的互连线,但是为了提高运算速度,这些序列也可以采用多比特数据宽度,以完成并行计算,加快计算速度。
[0012]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,所述第一随机参数序列、第二随机参数序列皆可以为一个标量参数形成的序列,也可以为一组向量参数形成的序列。标量参数是指该序列只代表了一个参数,向量参数是指该序列代表了多个参数,例如径向基函数的中心点、一维线性状态机的参数、二维矩阵状态机的参数等。当序列代表向量参数时,序列通常为多比特数据位宽。
[0013]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,所述第一随机参数序列可以采用并联连接方式或移位寄存器连接方式,输入到各个中间神经元。当采用并联连接方式时,第一随机参数序列连接到所有的中间神经元,如图1所示。但为了满足增大驱动能力、去随机序列相关性等要求,第一随机参数序列也可以采用移位寄存器的连接方式,如图2所示,第一随机参数序列通过各个移位寄存器(15)输出至不同中间神经元。
[0014]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,所述第二随机参数序列可以采用并联连接方式或移位寄存器连接方式,输入到各个输出神经元。当采用并联连接方式时,第二随机参数序列连接到所有的输出神经元,如图1所示。但为了满足增大驱动能力、去随机序列相关性等要求,第二随机参数序列也可以采用移位寄存器的连接方式,如图2所示,第二随机参数序列通过各个移位寄存器(16)输出至不同输出神经元。
[0015]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,所述第一随机参数序列也可以不需要外部输入,而是集成于中间神经元中,所述第二随机参数序列也可以不需要外部输入,而是集成于输出神经元中。
[0016]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,它还包括非易失性存储器,用以储存第一参数和第二参数,其中,第一参数参与计算中间神经元的输出值,第二参数参与计算输出神经元的输出值,第一参数和第二参数可以为随机序列或非随机序列。当第一参数为随机序列时,第一参数即为第一参数随机序列。当第一参数为非随机序列时,所述一种基于概率计算的人工神经网络硬件实现装置还包括第一随机转换器,用以将第一参数转换为第一参数随机序列。当第二参数为随机序列时,第二参数即为第二参数随机序列。当第二参数为非随机序列时,所述一种基于概率计算的人工神经网络硬件实现装置还包括第二随机转换器,用以将第二参数转换为第二参数随机序列。
[0017]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,每一个所述输入神经元均包含一个第三随机转换器,用以将第一数据转换为第一随机数据序列,如图3所示,I个输入神经元共包含I个第三随机转换器。
[0018]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,所述第一随机转换器、第二随机转换器、第三随机转换器均可以由一个随机数据源和一个比较器组成,如图4所示。所述随机数据源用于产生伪随机数或真随机数,所述比较器将输入数据和随机数据源产生的随机数进行比较,比较所得结果为O或I,在时间上形成序列,作为输出数据序列,连接到各自相应的输出信号。所述随机数据源可以为线性移位寄存器所产生的伪随机数据、真随机数发生器产生的真随机数据、系统外部输入的伪随机数据或真随机数据、或者其他方式产生的随机数据。所述第一随机转换器、第二随机转换器、所有的I个第三随机转换器中的随机数据源产生的随机数必须保持互不相关。
[0019]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,每一个所述中间神经元,均包含I路径向基函数发生器和一个I输入与门,如图5所示。每一路径向基函数发生器将相应输入神经元输出的第一随机数据序列与第一随机参数序列进行径向基函数运算得到第三随机数据序列,所有I个第三随机数据序列均输入至所述I输入与门进行逻辑与运算,运算结果为该中间神经元输出的第二随机数据序列。
[0020]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,所述径向基函数发生器可以由一个异或门和一个随机高斯函数发生器组成,如图6所示。异或门将第一随机数据序列和第一随机参数序列进行异或运算,得到第四随机数据序列。此时,第一随机参数序列表示高斯函数的中心点。随机高斯函数发生器将第四随机数据序列和第一随机参数序列进行计算,得到第三随机数据序列。其中,随机高斯函数发生器的运算过程可由一维线性状态机或二维矩阵状态机实现,完成随机数据的高斯函数运算。一维线性状态机的状态数至少大于4,二维矩阵状态机的状态数至少大于8,以保证运算精度。
[0021]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,每一个所述输出神经元,均包含J路随机线性放大器和一个J输入二进制加法器,如图7所示。每一路随机线性放大器将相应中间神经元输出的第二随机数据序列与第二随机参数序列进行线性放大运算得到第五数据序列,所有J个第五随机数据序列均输入至所述I输入二进制加法器进行累加运算,运算结果为该输出神经元输出的第二数据。
[0022]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,所述随机线性放大器由一个逻辑门和一个随机至确定性数转换器(38)组成,如图8所示。所述逻辑门为一个与门(AND)或一个异或门(XOR),将第二随机数据序列和第二随机参数序列进行逻辑与运算或逻辑异或运算,即完成随机数据的乘法运算,得到第六随机数据序列。随机至确定性数转换器将第六随机数据序列进行转换,得到第五数据序列。所述确定性数转换器可以由一个二进制计数器实现,将第六随机数据序列中含有O或I的个数统计并输出,形成确定性二进制数,作为整个神经网络的输出。
[0023]所述一种基于概率计算的人工神经网络硬件实现装置,其特征在于,输入神经元还可以包含模拟信号至数字信号转换单元,用于将输入的模拟信号转换为数字信号;输出神经元还可以包含数字信号至模拟信号转换单元,将输出的数字信号转换为模拟信号。
[0024]本发明提供的一种基于概率计算的人工神经网络硬件实现装置与现有技术相比较,具有如下实质性特点和显著优点:
第一,以概率计算的逻辑运算资源(如随机高斯函数发生器、与门、异或门等)实现神经网经的运算(如指数函数、乘法等),极大地降低神经网络的硬件逻辑资源、减小电路成本。
[0025]第二,以概率计算的逻辑运算资源实现神经网络运算,不仅降低逻辑门资源,还可以降低布线资源,进一步降低电路成本。
[0026]第三,以概率计算的逻辑运算资源实现神经网络运算,减小了逻辑运算单元,从而降低电路功耗。
[0027]第四,使得采用中小规模电路实现超大规模的神经网络成为可能。
[0028]第五,优化的径向基函数发生器使得该人工神经网络装置可以实现径向基函数神经网络,比传统的反向传播神经网络的计算速度更快,计算结果更加精确。
【附图说明】
[0029]图1为本发明的一个较佳实施例中的一种基于概率计算的人工神经网络硬件实现装置的结构示意图。
[0030]图2为本发明的另一个较佳实施例中的一种基于概率计算的人工神经网络硬件实现装置的结构示意图。
[0031]图3为本发明的另一个较佳实施例中的输入神经元的结构示意图。
[0032]图4为本发明的另一个较佳实施例中的随机转换器的结构示意图。
[0033]图5为本发明的另一个较佳实施例中的中间神经元的结构示意图。
[0034]图6为本发明的另一个较佳实施例中的径向基函数发生器的结构示意图。
[0035]图7为本发明的另一个较佳实施例中的输出神经元的结构示意图。
[0036]图8为本发明的另一个较佳实施例中的随机线性放大器的结构示意图。
【具体实施方式】
[0037]以下结合附图对本发明的较佳实施例的技术方案作进一步描述:
实施例一:
参考图1,本发明的一个较佳实施例中的一种基于概率计算的人工神经网络硬件实现装置,包括输入模块、中间模块和输出模块,所述输入模块包含I个输入神经元(11)、中间模块包括J个中间神经元(12)、输出模块包括K个输出神经元(13),其中,1、J、K皆为大于或等于I的整数。输入神经元(11)接受第一数据(71)、输出第一随机数据序列(81)。中间神经元(12)接受第一随机数据序列(81)和第一随机参数序列(51),输出第二随机数据序列(82)。输出神经元(13)接受第二随机数据序列(82)和第二随机参数序列(52),输出第二数据
(72)。其中,第一随机数据序列(81)、第二随机数据序列(82)、第一随机参数序列(51)、第二随机参数序列(52)均以一段时间内数据序列中出现O或I的概率表示一个数值。上述的数据序列是指,在每一个时钟周期输出的数据连续排列形成的序列。网络中的输入神经元(11)的输出端(81)采用全相连或部分相连的方式,连接到中间神经元(12)的输入端;中间神经元(12)的输出端(82)采用全相连或部分相连的方式,连接到输出神经元(13)的输入端。一般情况下都为全相连,即所有的输入神经元(11)与所有的中间神经元(12)相连,且所有中间神经元(12)与所有的输出神经元(13)相连。在特定情况下,也可以是部分相连,即只有部分输入神经元(11)与部分中间神经元(12)相连,或者只有部分中间神经元(12)与部分输出神经元(13)相连。
[0038]实施例二:
本实施例与实施例一基本相同,特别之处如下:
每一个中间神经元(12)都能够以第一随机数据序列(81)为输入自变量,以第一随机参数序列(51)为函数参数,完成径向基函数运算,运算过程均使用概率数(即一段时间内数据序列中出现O或I的概率表示一个数值),运算后将输出第二随机数据序列(82)作为中间神经元(12)的输出数据。所述径向基函数的种类包括但不限于高斯函数、多二次函数、逆多二次函数、薄板样条函数、三次函数、线性函数。
[0039]实施例三:
本实施例与实施例一基本相同,特别之处如下:
所述第一随机数据序列(81)、第二随机数据序列(82)、第一随机参数序列(51)、第二随机参数序列(52)皆可以为伪随机数序列或真随机数序列。其数据宽度可以为单比特数据宽度或多比特数据宽度。通常,这些序列中的数据为一个比特,即每一个数据只需要一根引线,可以极大减少网络内部的互连线。但是为了提高运算速度,这些序列也可以采用多比特数据宽度,以完成并行计算,加快计算速度。
[0040]所述第一随机参数序列(51)、第二随机参数序列(52)皆可以为一个标量参数形成的序列,也可以为一组向量参数形成的序列。标量参数是指该序列只代表了一个参数,向量参数是指该序列代表了多个参数,例如径向基函数的中心点、一维线性状态机的参数、二维矩阵状态机的参数等。当序列代表向量参数时,序列通常为多比特数据位宽。
[0041 ] 实施例四:
本实施例与实施例一基本相同,特别之处如下:
所述第一随机参数序列(51)可以采用并联连接方式或移位寄存器连接方式,输入到各个中间神经元(12)。当采用并联连接方式时,第一随机参数序列(51)连接到所有的中间神经元(12),如图1所示。但为了满足增大驱动能力、去随机序列相关性等要求,第一随机参数序列(51)也可以采用移位寄存器的连接方式,如图2所示,第一随机参数序列(51)通过各个移位寄存器(15)输出至不同中间神经元(12)。
[0042]所述第二随机参数序列(52)可以采用并联连接方式或移位寄存器连接方式,输入到各个输出神经元(13)。当采用并联连接方式时,第二随机参数序列(52)连接到所有的输出神经元(13),如图1所示。但为了满足增大驱动能力、去随机序列相关性等要求,第二随机参数序列(52)也可以采用移位寄存器的连接方式,如图2所示,第二随机参数序列(52)通过各个移位寄存器(16)输出至不同输出神经元(13)。
[0043]所述第一随机参数序列(51)也可以不需要外部输入,而是集成于中间神经元(12)中,所述第二随机参数序列(52)也可以不需要外部输入,而是集成于输出神经元(13)中。
[0044]实施例五:
本实施例与实施例一基本相同,特别之处如下:
所述一种基于概率计算的人工神经网络硬件实现装置(10)还包括非易失性存储器
(14),用以储存第一参数(61)和第二参数(62),其中,第一参数(61)参与计算中间神经元
(12)的输出值(82),第二参数(62)参与计算输出神经元(13)的输出值(72),第一参数(61)和第二参数(62)可以为随机序列或非随机序列。当第一参数(61)为随机序列时,第一参数
(61)即为第一参数随机序列(51)。当第一参数为非随机序列时,所述一种基于概率计算的人工神经网络的硬件装置(10)还包括第一随机转换器(21),用以将第一参数(61)转换为第一参数随机序列(51)。当第二参数(62)为随机序列时,第二参数(62)即为第二参数随机序列(52)。当第二参数为非随机序列时,所述一种基于概率计算的人工神经网络硬件实现装置(10)还包括第二随机转换器(22),用以将第二参数(62)转换为第二参数随机序列(52)。
[0045]实施例六:
本实施例与实施例一基本相同,特别之处如下:
每一个所述输入神经元(11)均包含一个第三随机数转换器(23),用以将第一数据(71)转换为第一随机数据序列(81),如图3所示,I个输入神经元(11)共包含I个第三随机数转换器(23)。
[0046]所述第一随机转换器(21)、第二随机转换器(22)、第三随机数转换器(23)均可以由一个随机数据源(31)和一个比较器(32)组成,如图4所示。所述随机数据源(31)用于产生伪随机数或真随机数,所述比较器(32)将输入数据(33)和随机数据源(31)产生的随机数进行比较,比较所得结果为O或I,在时间上形成序列,作为输出数据序列(34),连接到各自相应的输出信号。所述随机数据源(31)可以为线性移位寄存器所产生的伪随机数据、真随机数发生器产生的真随机数据、系统外部输入的伪随机数据或真随机数据、或者其他方式产生的随机数据。所述第一随机转换器(21)、第二随机转换器(22)、所有的I个第三随机数转换器(23)中的随机数据源(31)产生的随机数必须保持互不相关。
[0047]每一个所述中间神经元(12),均包含I路径向基函数发生器(25)和一个I输入与门
(26),如图5所示。每一路径向基函数发生器(25)将相应输入神经元(11)输出的第一随机数据序列(81)与第一随机参数序列(51)进行径向基函数运算得到第三随机数据序列(83),所有I个第三随机数据序列(83)均输入至所述I输入与门(26)进行逻辑与运算,运算结果为该中间神经元(12)输出的第二随机数据序列(82)。
[0048]所述径向基函数发生器(25)可以由一个异或门(35)和一个随机高斯函数发生器
(36)组成,如图6所示。异或门(35)将第一随机数据序列(81)和第一随机参数序列(51)进行异或运算,得到第四随机数据序列(84)。此时,第一随机参数序列表示高斯函数的中心点。随机高斯函数发生器(36)将第四随机数据序列(84)和第一随机参数序列(51)进行计算,得到第三随机数据序列(83)。其中,随机高斯函数发生器(36)的运算过程可由一维线性状态机或二维矩阵状态机实现,完成随机数据的高斯函数运算。一维线性状态机的状态数至少大于4,二维矩阵状态机的状态数至少大于8,以保证运算精度。
[0049]每一个所述输出神经元(13),均包含J路随机线性放大器(27)和一个J输入二进制加法器(28),如图7所示。每一路随机线性放大器(27)将相应中间神经元(12)输出的第二随机数据序列(82)与第二随机参数序列(52)进行线性放大运算得到第五数据序列(85),所有J个第五随机数据序列(85)均输入至所述I输入二进制加法器(28)进行累加运算,运算结果为该输出神经元(13)输出的第二数据(72)。
[0050]所述随机线性放大器(27)由一个逻辑门(37)和一个随机至确定性数转换器(38)组成,如图8所示。所述逻辑门(37)为一个与门(AND)或一个异或门(XOR),将第二随机数据序列(82)和第二随机参数序列(52)进行逻辑与运算或逻辑异或运算,即完成随机数据的乘法运算,得到第六随机数据序列(86)。随机至确定性数转换器(38)将第六随机数据序列
(86)进行转换,得到第五数据序列(85)。所述确定性数转换器(38)可以由一个二进制计数器实现,将第六随机数据序列(86)中含有O或I的个数统计并输出,形成确定性二进制数,作为整个神经网络的输出。
[0051]实施例七:
本实施例与实施例一基本相同,特别之处如下:
输入神经元(11)还可以包含模拟信号至数字信号转换单元,用于将输入的模拟信号转换为数字信号(71)。输出神经元(12)还可以包含数字信号至模拟信号转换单元;将输出的数字信号(72)转换为模拟信号。
[0052]以上所述仅为本发明的较佳实例而已,并不用以限制本发明,凡在权利要求的原则下,所做的任何修改,均应包含在本发明的保护范围之内。
【主权项】
1.它包括输入模块、中间模块和输出模块;所述输入模块由I个输入神经元(11)组成,所述输入神经元(11)接受第一数据(71)、输出第一随机数据序列(81);所述中间模块由J个中间神经元(12)组成,所述中间神经元(12)接受第一随机数据序列(81)和第一随机参数序列(51),输出第二随机数据序列(82);所述输出模块由K个输出神经元(13)组成,所述输出神经元(13)接受第二随机数据序列(82)和第二随机参数序列(52),输出第二数据(72);其中I,J,K均为大于或等于I的整数;输入神经元(11)的输出端连接到中间神经元(12)的输入端,中间神经元(12 )的输出端连接到输出神经元(13 )的输入端,其连接方式可采用全相连或者部分相连方式;所述第一随机数据序列(81)、第二随机数据序列(82)、第一随机参数序列(51)、第二随机参数序列(52)均以一段时间内序列中出现O或I的概率值表示。2.根据权利要求1所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:每一个中间神经元(12)都以第一随机数据序列(81)为输入自变量,以第一随机参数序列(51)为函数参数,完成径向基函数运算,输出第二随机数据序列(82),运算过程均使用概率数,即一段时间内数据序列中出现O或I的概率表示一个数值;所述径向基函数的种类包括但不限于高斯函数、多二次函数、逆多二次函数、薄板样条函数、三次函数、线性函数;所述第一随机数据序列(81)、第二随机数据序列(82)、第一随机参数序列(51)、第二随机参数序列(52)皆为伪随机数序列或真随机数序列;所述第一随机数据序列(81)、第二随机数据序列(82)、第一随机参数序列(51)、第二随机参数序列(52)皆为单比特数据宽度或多比特数据宽度;所述第一随机参数序列(51)、第二随机参数序列(52)皆为一个标量参数形成的序列,或者为一组向量参数形成的序列。3.根据权利要求1所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:所述第一随机参数序列(51)采用并联连接方式或移位寄存器连接方式,输入到各个中间神经元(12);所述第二随机参数序列(52)采用并联连接方式或移位寄存器连接方式,输入到各个输出神经元(13);所述第一随机参数序列(51)可以集成于中间神经元(12)中;所述第二随机参数序列(52)可以集成于输出神经元(13)中。4.根据权利要求1所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:它还包括非易失性存储器(14),用以储存第一参数(61)和第二参数(62),其中,第一参数(61)参与计算中间神经元(12)输出的第二随机数据序列(82),第二参数(62)参与计算输出神经元(13)输出的第二数据(72),第一参数(61)和第二参数(62)为随机序列或非随机序列。5.根据权利要求4所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:当第一参数(61)为非随机序列时,还包括第一随机转换器(21),用以将第一参数(61)转换为第一随机参数序列(51) ;62)为非随机序列时,还包括第二随机转换器(22),用以将第二参数(62)转换为第二随机参数序列(52)。6.根据权利要求1所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:每一个所述输入神经元(11)均包含一个第三随机转换器(23),用以将第一数据(71)转换为第一随机数据序列(81),I个输入神经元(11)共包含I个第三随机转换器(23)。7.根据权利要求5和6所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:所述第一随机转换器(21)、第二随机转换器(22)、第三随机转换器(23)均由一个随机数据源(31)和一个比较器(32)组成,所述随机数据源(31)用于产生伪随机数或真随机数,所述比较器(32)将输入数据(33)和随机数据源(31)产生的随机数进行比较,比较所得结果为O或I,在时间上形成序列,作为输出数据序列(34),连接到各自相应的输出信号。8.根据权利要求7所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:所述随机数据源(31)为线性移位寄存器所产生的伪随机数据、或者真随机数发生器产生的真随机数据、或者系统外部输入的伪随机数据或真随机数据、或者其他方式产生的随机数据。9.根据权利要求7所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:所述第一随机转换器(21)、第二随机转换器(22)、所有的I个第三随机转换器(23)中的随机数据源(31)产生的随机数必须保持互不相关。10.根据权利要求1所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:每一个所述中间神经元(12),均包含I路径向基函数发生器(25)和一个I输入与门(26),每一路径向基函数发生器(25)将相应输入神经元(11)输出的第一随机数据序列(81)与第一随机参数序列(51)进行径向基函数运算得到第三随机数据序列(83),所有I个第三随机数据序列(83)均输入至所述I输入与门(26)进行逻辑与运算,运算结果为该中间神经元(12)输出的第二随机数据序列(82);25)由一个异或门(35)和一个随机高斯函数发生器(36)组成;异或门(35)将第一随机数据序列(81)和第一随机参数序列(51)进行异或运算,得到第四随机数据序列(84);随机高斯函数发生器(36)将第四随机数据序列(84)和第一随机参数序列(51)进行计算,得到第三随机数据序列(83);所述随机高斯函数发生器(36)的运算过程可由一维线性状态机或二维矩阵状态机实现;一维线性状态机的状态数至少大于4,二维矩阵状态机的状态数至少大于8。11.根据权利要求1所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:每一个所述输出神经元(13),均包含J路随机线性放大器(27)和一个J输入二进制加法器(28),每一路随机线性放大器(27)将相应中间神经元(12)输出的第二随机数据序列(82)与第二随机参数序列(52)进行线性放大运算得到第五数据序列(85),所有J个第五随机数据序列(85)均输入至所述I输入二进制加法器(28)进行累加运算,运算结果为该输出神经元(13)输出的第二数据(72) ;27)由一个逻辑门(37)和一个随机至确定性数转换器(38)组成,所述逻辑门(37)为一个与门(AND)或一个异或门(XOR),将第二随机数据序列(82)和第二随机参数序列(52)进行逻辑与运算或逻辑异或运算,得到第六随机数据序列(86);随机至确定性数转换器(38)将第六随机数据序列(86)进行转换,得到第五数据序列(85);所述确定性数转换器(38)由一个二进制计数器实现,将第六随机数据序列(86)中含有O或I的个数统计并输出,形成确定性二进制数。12.根据权利要求1所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:输入神经元(11)还可以包含模拟信号至数字信号转换单元,用于将输入的模拟信号转换为数字信号(71)。13.根据权利要求1所述的基于概率计算的人工神经网络硬件实现装置,其特征在于:输出神经元(12)还可以包含数字信号至模拟信号转换单元,将输出的数字信号(72)转换为模拟信号。
【文档编号】G06N3/06GK105913118SQ201510904444
【公开日】2016年8月31日
【申请日】2015年12月9日
【发明人】季渊, 陈文栋, 冉峰, 王雪纯, 王成其
【申请人】上海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1