CN110728366A - 基于加减计数器的人工神经网络 - Google Patents
基于加减计数器的人工神经网络 Download PDFInfo
- Publication number
- CN110728366A CN110728366A CN201911011426.6A CN201911011426A CN110728366A CN 110728366 A CN110728366 A CN 110728366A CN 201911011426 A CN201911011426 A CN 201911011426A CN 110728366 A CN110728366 A CN 110728366A
- Authority
- CN
- China
- Prior art keywords
- gate
- gates
- input end
- input
- twenty
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 106
- 210000002569 neuron Anatomy 0.000 claims abstract description 37
- 230000006870 function Effects 0.000 claims abstract description 26
- 230000001360 synchronised effect Effects 0.000 claims abstract description 7
- 230000002441 reversible effect Effects 0.000 claims description 79
- 238000004088 simulation Methods 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Neurology (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Databases & Information Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Logic Circuits (AREA)
Abstract
本发明公开了一种基于加减计数器的人工神经网络,将与门电路和二进加减计数器相结合,作为神经元,附加锁存器、异或门电路和控制单元。该神经网络具有多个神经元,异步输入和同步输入相结合,大幅减少了输入输出和神经元之间的连接线路;总线式结构使得线路简单,通用性强,易于扩展神经网络规模,采用成熟的计数器电路、与门电路、锁存器、异或门电路和CPU电路,易于电路集成;釆用简单的与门电路实现复杂的乘法运算,计数器异步输入实现复杂的加减法运算,计数器的借位/进位输出以及异或门的异或运算,实现阈值函数运算;锁存器连接网络输入和输出,具有自反馈和互反馈功能,实现自锁、互锁、计时、计数等复杂的神经网络功能。
Description
技术领域
本发明属于人工智能技术领域,涉及一种人工神经网络,特别涉及一种基于加减计数器的人工神经网络。
背景技术
人工神经网络(Artificial Neural Networks,简写为ANNs)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的,并具有自学习和自适应的能力。
现有技术中的各种人工神经网络的硬件,虽然功能越来越强,但存在下列问题:1)连接复杂。为了获得各种复杂的运算,神经元和神经元之间连线呈几何级数增长,线路极为复杂。2)需要一大堆权值和阈值,并且要对这些权值和阈值进行训练和贮存,这给电路设计和制造带来了很多麻烦。3)要进行复杂的乘法运算、加减法运算、阈值函数运算,不容易用传统电子技术硬件实现。
发明内容
本发明的目的是提供一种基于加减计数器的人工神经网络,简化线路和运算,方便设计和制造,同时具有自锁、互锁、计数、计时等复杂控制功能。
为实现上述目的,本发明所采用的技术方案是:一种基于加减计数器的人工神经网络,将与门电路和二进加减计数器相结合,作为基本神经元,并附加控制单元、锁存器单元、异或门单元,易于进行神经网络运算,易于对权值和阈值进行训练和储存,也易于进行神经网络仿真;异步输入和同步输入相结合,大幅度减少了输入输出以及神经元之间的连接线路;采用纵横相交的总线式结构,线路简单,通用性强,易于对神经网络规模进行扩展,并采用成熟的计数器电路、与门电路、锁存器电路、异或门电路和CPU电路技术,易于进行电路集成;釆用简单的与门电路实现复杂的乘法运算,通过计数器的异步输入实现复杂的加减法运算,通过计数器的借位/进位输出实现复杂的阈值函数运算;通过异或门电路实现借位/进位的统一输出;通过锁存器电路,具有自反馈和互反馈功能,能实现一些复杂的神经网络功能;该人工神经网络具有n个输入端和m个输出端,包括m个可逆加减计数器电路单元、m个与门组以及一个控制单元,每个与门组均由n+m个与门组成,且每个与门组中与门的数量相同,所有的与门均采用三输入与门。
本发明人工神经网络具有如下优点:
1、将与门电路和二进加减计数器相结合,作为基本神经元,并附加单片机电路,易于进行神经网络运算,易于对权值和阈值进行训练和储存,也易于进行神经网络仿真。
2、异步输入和同步输入相结合,大幅度减少了输入输出以及神经元之间的连接线路。
3、采用纵横相交的总线式结构,线路简单,通用性强,易于对神经网络规模进行扩展,并采用成熟的计数器电路、与门电路和CPU电路技术,易于进行电路集成。
4、釆用简单的与门电路实现复杂的乘法运算,通过计数器的异步输入实现复杂的加减法运算,通过计数器的借位/进位输出实现复杂的阈值函数运算。
5、通过异或门将借位/进位输出统一起来。
6、通过锁存器将输出和输入连接起来,具有自反馈和互反馈功能,能实现一些复杂的神经网络功能。
附图说明
图1是本发明人工神经网络一种实施例的示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步说明。
如图1所示,本发明人工神经网络一种实施例,包括第一可逆加减计数器电路单元U1、第二可逆加减计数器电路单元U2、第三可逆加减计数器电路单元U3、第四可逆加减计数器电路单元U4、控制单元U5、锁存器单元U6、异或门单元U7以及四个与门组,每个与门组均由多个与门组成,且每个与门组中与门的数量相同,本实施例中的与门组由八个与门组成,所有的与门均采用三输入与门,用于实现两个功能,一是实现输入信号X0、X1、X2、X3、Y0(k-1)、Y1(k-1)、Y2(k-1)、Y3(k-1)与各自权值的乘法运算;二是实现乘法运算结果对计数器的异步输入。
第一可逆加减计数器电路单元U1、第二可逆加减计数器电路单元U2、第三可逆加减计数器电路单元U3和第四可逆加减计数器电路单元U4均采用可逆加减计数器,该四个可逆加减计数器可将与门乘法运算的结果以及阈值进行加减运算,并进一步通过计数器的借位/进位输出实现复杂的阈值函数运算,同时跟与门组一起,构成基本神经元。该可逆加减计数器可以是单时钟可逆十进制计数器芯片74x190(或54x190或CT74190),可以是单时钟可逆4位二进制计数器芯片74x191(或54x191或CT74191),可以是单时钟可逆十进制计数器芯片74x192(或54x192或CT74192),也可以是双时钟可逆4位二进制计数器芯片74x193(或54x193或CT74193),这里的x(或者X)可以是LS、ALS、HC、HCT、L、H、S、AS或者ALS,具体可参见集成电路命名方法。本例中用的是芯片74x191(或者是74x191的逻辑电路)。
第一可逆加减计数器电路单元U1、第二可逆加减计数器电路单元U2、第三可逆加减计数器电路单元U3和第四可逆加减计数器电路单元U4也可以通过RS触发器、JK触发器、D触发器、T触发器配合基本逻辑门电路来实现,并跟与门组、控制单元U5一起,组成专门的二进神经网络集成电路。
控制单元U5有九个作用:一是权值存储和调整;二是将权值以方波方式输出;三是控制与门电路,依次实现乘法运算,以便实现乘法运算结果的异步输入;四是控制计数器加减控制端实现计数器加减运算的切换;五是对阈值进行预置和调整;六是判断神经网络是否训练成功;七是对可逆加减计数器单元U1、U2、U3、U4、…以及锁存器单元U6进行清零;八是区分进位输出还是借位输出,并控制异或门单元U7,使得可逆加减计数器单元U1、U2、U3、U4、…的max/min端输出同相或者反相输出;九是控制锁存器单元U6,在反馈和锁存之间进行切换。
控制单元U5可采用各种CPU,或者是多谐振荡器和存储器的组合电路;其中CPU可选用单片机51系列、AVR系列、PIC系列、MSP430系列、stm32系列或者是其他专用单片机,也可选用Intel系列、AMD系列、VIA系列等电脑CPU,或者是高通、联发科、三星、华为等手机CPU。本实施例中的控制单元U5采用51单片机,图中P2.0~P2.7为51单片机并行IO口P2,P3.0~P3.7为51单片机并行IO口P3,P1.0、P1.1和P1.2为51单片机并行IO口P1。
锁存器单元U6可选用各种RS触发器、JK触发器、D触发器、边缘触发器、寄存器、锁存器、移位寄存器和计数器等,如74x164、74x165、74x166、74x170、74x171、74x173、74x174、74x175、74x160、74x161、74x162、74x163、74x168、74x169、74x190、74x191、74x193、74x164、74x165、74x166、74x170、74x171、74x173、74x174、74x175等,本实施例选用带清除端的四D触发器74x171。锁存器单元U6的作用是:在控制单元U5的P1.0和P1.1控制下,将本神经网络的当前输出Y0、Y1、Y2、Y3、…,转化为本神经网络的前次输出Y0(k-1)、Y1(k-1)、Y2(k-1)、Y3(k-1)、…,然后反馈到本神经网络的输入端,以实现自锁、互锁等更复杂的控制。其中P1.1取0时,锁存器单元U6的输出Y0(k-1)、Y1(k-1)、Y2(k-1)、Y3(k-1)、…保持原值,处于锁存状态(即锁存本神经网络的前次输出);当P1.1取1时,异或门U7的输出Y0、Y1、Y2、Y3、…与锁存器单元U6的输出Y0(k-1)、Y1(k-1)、Y2(k-1)、Y3(k-1)、…分别相同,处于反馈状态(即把本神经网络的当前输出反馈到输入)。
异或门单元U7可选用74x86、74x386、CD4070、CC4070等,本实施例选用74ls86,含有四个两输入单输出异或门。异或门单元U7的作用是:当属于进位输出时,第一可逆加减计数器电路单元U1、第二可逆加减计数器电路单元U2、第三可逆加减计数器电路单元U3和第四可逆加减计数器电路单元U4、…、第n可逆加减计数器电路单元Un中max/min端的输出,直接作为神经元的当前输出Y0、Y1、Y2、Y3、…;当属于借位输出时,第一可逆加减计数器电路单元U1、第二可逆加减计数器电路单元U2、第三可逆加减计数器电路单元U3和第四可逆加减计数器电路单元U4、…、第n可逆加减计数器电路单元Un中max/min端的反相输出,作为神经元的当前输出Y0、Y1、Y2、Y3、…,其中进位输出还是借位输出由控制单元U5控制。
第一可逆加减计数器电路单元U1、第二可逆加减计数器电路单元U2、第三可逆加减计数器电路单元U3和第四可逆加减计数器电路单元U4中的为加减控制端,EN为使能端,LD为预置端,clk为计数端;D0、D1、D2和D3为预置数据输入端(本实施例的图中只画了4个,可以根据实际情况增减)。
如1所示的实施例中,一个与门组与一个可逆加减计数器相连接,即第一与门组中的第一与门1-1、第二与门1-2、第三与门1-3、第四与门1-4、第五与门1-5、第六与门1-6、第一与门1-7和第八与门1-8的输出端均与第一可逆加减计数器电路单元U1的clk端相连,第一与门1-1的第一输入端、第二与门1-2的第一输入端、第三与门1-3的第一输入端、第四与门1-4的第一输入端、第五与门1-5的第一输入端、第六与门1-6的第一输入端、第一与门1-7的第一输入端和第八与门1-8的第一输入端均接控制单元U5的P3.7引脚;
第二与门组中第九与门2-1的输出端、第十与门2-2的输出端、第十一与门2-3的输出端、第十二与门2-4的输出端、第十三与门2-5的输出端、第十四与门2-6的输出端、第十五与门2-7的输出端和第十六与门2-8的输出端均接第二可逆加减计数器电路单元U2的clk端;第九与门2-1的第一输入端、第十与门2-2的第一输入端、第十一与门2-3的第一输入端、第十二与门2-4的第一输入端、第十三与门2-5的第一输入端、第十四与门2-6的第一输入端、第十五与门2-7的第一输入端和第十六与门2-8的第一输入端均接控制单元U5的P3.5引脚;
第十与门组中第十七与门3-1的输出端、第十八与门3-2的输出端、第十九与门3-3的输出端、第二十与门3-4的输出端、第二十一与门3-5的输出端、第二十二与门3-6的输出端、第二十三与门3-7的输出端和第二十四与门3-8的输出端均接第三可逆加减计数器电路单元U3的clk端;第十七与门3-1的第一输入端、第十八与门3-2的第一输入端、第十九与门3-3的第一输入端、第二十与门3-4的第一输入端、第二十一与门3-5的第一输入端、第二十二与门3-6的第一输入端、第二十三与门3-7的第一输入端和第二十四与门3-8的第一输入端均接控制单元U5的P3.3引脚;
第四与门组中第二十五与门4-1的输出端、第二十六与门4-2的输出端、第二十七与门4-3的输出端、第二十八与门4-4的输出端、第二十九与门4-5的输出端、第三十与门4-6的输出端、第三十一与门4-7的输出端和第三十二四与门4-8的输出端均接第四可逆加减计数器电路单元U4的clk端;第二十五与门4-1的第一输入端、第二十六与门4-2的第一输入端、第二十七与门4-3的第一输入端、第二十八与门4-4的第一输入端、第二十九与门4-5的第一输入端、第三十与门4-6的第一输入端、第三十一与门4-7的第一输入端和第三十二与门4-8的第一输入端均接控制单元U5的P3.1引脚;
第一与门1-1的第二输入端、第九与门2-1的第二输入端、第十七与门3-1的第二输入端和第二十五与门4-1的第二输入端接控制单元U5的P2.0引脚;第二与门1-2的第二输入端、第十一与门2-2的第二输入端、第十八与门3-2第二输入端和第二十六与门4-2的第二输入端接控制单元U5的P2.1引脚;第三与门1-3的第二输入端、第十一与门2-3的第二输入端、第十九与门3-3的第二输入端和第二十七与门的第二输入端接控制单元U5的P2.2引脚;第四与门1-4的第二输入端、第十二与门2-4的第二输入端、第二十与门3-4的第二输入端、第二十八与门4-4的第二输入端接控制单元U5的P2.3引脚;第五与门1-5的第二输入端、第十三与门2-5的第二输入端、第二十一与门3-5的第二输入端和第二十九与门4-5的第二输入端接控制单元U5的P2.4引脚;第六与门1-6的第二输入端、第十四与门2-6的第二输入端、第二十二与门3-6的第二输入端和三十与门4-6的第二输入端接控制单元U5的P2.5引脚;第七与门1-7的第二输入端、第十五与门2-7的第二输入端、第二十三与门3-7的第二输入端和第三十一与门4-7的第二输入端接控制单元U5的P2.6引脚;第八与门1-8的第二输入端、第十六与门2-8的第二输入端、第二十四与门3-8的第二输入端和第三十二与门4-8的第二输入端接控制单元U5的P2.7引脚。
第一与门1-1的第三输入端、第九与门2-1的第三输入端、第十七与门3-1的第三输入端和第二十五与门4-1的第三输入端均接神经网络第一输入端X0;第二与门1-2的第三输入端、第十与门3-1的第三输入端、第十八与门3-1的第三输入端和第二十六与门4-2的第三输入端接神经网络第二输入端X1;第三与门1-3的第三输入端、第十一与门2-3的第三输入端、第十九与门3-3的第三输入端和第二十七与门4-3的第三输入端接神经网络第三输入端X2;第四与门1-4的第三输入端、第十二与门2-4的第三输入端、第二十与门3-4的第三输入端和第二十八与门4-4的第三输入端接神经网络第四输入端X3;第五与门1-5的第三输入端、第十三与门2-5的第三输入端、第二十一与门3-5的第三输入端和第二十九与门4-5的第三输入端接神经网络第一反馈端Y0(k-1);第六与门1-6的第三输入端、第十四与门2-6的第三输入端、第二十二与门3-6的第三输入端和第三十与门4-6的第三输入端接神经网络第二反馈端Y1(k-1);第七与门1-7的第三输入端、第十五与门2-7的第三输入端、第二十三与门3-7的第三输入端和第三十一与门4-7的第三输入端接神经网络第三反馈端Y2(k-1);第八与门1-8的第三输入端、第十六与门2-8的第三输入端、第二十四与门3-8的第三输入端和第三十二与门4-8的第三输入端接神经网络第四反馈端Y3(k-1)。
第一可逆加减计数器电路单元U1的加减控制端()接控制单元U5的P3.6引脚;第二可逆加减计数器电路单元U2的加减控制端接控制单元U5的P3.4引脚;第三可逆加减计数器电路单元U3的加减控制端接控制单元U5的P3.2引脚;第四可逆加减计数器电路单元U4的加减控制端接控制单元U5的P3.0引脚。
第一可逆加减计数器电路单元U1的进位/借位输出端max/min、第二可逆加减计数器电路单元U2的进位/借位输出端max/min、第三可逆加减计数器电路单元U3的进位/借位输出端max/min、第四可逆加减计数器电路单元U4的进位/借位输出端max/min,分别接异或门单元U7中四个异或门的第一输入端,异或门单元U7中四个异或门的第二输入端相连,并接控制单元U5的P1.2引脚,用来区分进位输出还是借位输出,并控制异或门单元U7,使得可逆加减计数器单元U1、U2、U3、U4、…的max/min端同相输出或者反相输出。当P1.2取低电平0时,max/min端是进位输出,此时,可逆加减计数器电路单元U1、U2、U3、U4、…的max/min端经异或门单元U7同相输出,即神经元的当前输出Y0、Y1、Y2、Y3、…分别与U1、U2、U3、U4、…的max/min端输出相同;当P1.2取高电平1时,max/min端是借位输出,此时,可逆加减计数器电路单元U1、U2、U3、U4、…的max/min端经异或门单元U7反相输出,即神经元的当前输出Y0、Y1、Y2、Y3、…分别与U1、U2、U3、U4、…的max/min端输出反相。
当第一可逆加减计数器电路单元U1、第二可逆加减计数器电路单元U2、第三可逆加减计数器电路单元U3和第四可逆加减计数器电路单元U4中的预置端LD有效时,可以通过可逆加减计数器的D0端、D1端、D2端、D3端、…设置可逆加减计数器的初值(实际中可将可逆加减计数器的LD端、D0端、D1端、D2端、D3端、…与单片机U5的并行口P0或P1相连,通过编程设置该初值),该初值与神经元阈值θ直接相关,调整该初值就可以起到调整阈值θ的目的:当P1.2取高电平1时,max/min端属于借位输出,此时可逆加减计数器的初值就等于神经元阈值θ,且阈值θ为正;当P1.2取低电平0时,max/min端是进位输出,此时,
神经元阈值θ=计数器初值-计数最大值-1
且此时阈值θ为负(图1中计数器为可逆4位二进制计数器,则计数器最大值为24-1=15,当初值为0时,阈值θ为-16。若计数器为可逆c位二进制计数器,则计数器最大值为2c-1,当初值为0时,阈值θ为-2c)。
X0、X1、X2、X3、…为神经网络输入(图1中只画了4个,可以根据实际情况增减),与X0、X1、X2、X3、…并排的Y0(k-1)、Y1(k-1)、Y2(k-1)、Y3(k-1)、…是该神经网络的反馈输入(或者叫前次输入,图1中只画了4个,可以根据实际情况增减),分别为神经网络第一反馈端Y0(k-1)、神经网络第二反馈端Y1(k-1)、神经网络第三反馈端Y2(k-1)、神经网络第四反馈端Y3(k-1)、…,其中X0分别接第一与门1-1、第九与门2-1、第十七与门3-1、第二十五与门4-1的第三输入端,X1分别接第二与门1-2、第十与门2-2、第十八与门3-2、第二十六与门4-2的第三输入端,X2分别接与门第三与门1-3、第十一与门2-3、第十九与门3-3、第二十七与门4-3的第三输入端,X3分别接第四与门1-4、第十二与门2-4、第二十与门3-4、第二十八与门4-4的第三输入端,神经网络第一反馈端Y0(k-1)分别接第五与门1-5、第十三与门2-5、第二十一与门3-5、第二十九与门4-5的第三输入端,神经网络第二反馈端Y1(k-1)分别接第六与门1-6、第十四与门2-6、第二十二与门3-6、第三十与门4-6的第三输入端,神经网络第三反馈端Y2(k-1)分别接第七与门1-7、第十五与门2-7、第二十三与门3-7、第三十一与门4-7的第三输入端,神经网络第四反馈端Y3(k-1)分别接第八与门1-8、第十六与门2-8、第二十四与门3-8、第三十二与门4-8的第三输入端。
神经网络第一反馈端Y0(k-1)、神经网络第二反馈端Y1(k-1)、神经网络第三反馈端Y2(k-1)、神经网络第四反馈端Y3(k-1)、…,神经网络第一反馈端Y0(k-1)、神经网络第二反馈端Y1(k-1)、神经网络第三反馈端Y2(k-1)、神经网络第四反馈端Y3(k-1)、…,们分别接锁存器单元U6的四个输出端Q0、Q1、Q2、Q3、…,锁存器单元U6的四个输入端D0、D1、D2、D3、…,分别接神经网络第一当前输出Y0、第二当前输出Y1、第三当前输出Y2、第四当前输出Y3、…;锁存器单元U6清零端CLR接控制单元U5的P1.0,当P1.0取1时,锁存器单元U6清零;锁存器单元U6时钟CLK接控制单元U5的P1.1,当P1.1取0时,U6的输出Y0(k-1)、Y1(k-1)、Y2(k-1)、Y3(k-1)、…保持原值,处于锁存状态(即锁存本神经网络的前次输出);当P1.1取1时,异或门U7的输出Y0、Y1、Y2、Y3、…与U6的输出Y0(k-1)、Y1(k-1)、Y2(k-1)、Y3(k-1)、…分别相同,处于反馈状态(即把本神经网络的当前输出反馈到输入)。
控制单元U5的P2.0~P2.7为单片机并行IO口P2;P3.0~P3.7为单片机并行IO口P3;P1.0、P1.1和P1.2为51单片机并行IO口P1。图1中只给出了8个P2口(P2.0~P2.7)和8个P3口(P3.0~P3.7),以及3个P1口(P1.0、P1.1、P1.2),可以根据实际情况增减。其中P1.0和P1.1用于对锁存器单元U6进行控制,P1.2用来区分进位输出还是借位输出,并控制异或门单元U7,使得可逆加减计数器单元U1、U2、U3、U4、…的max/min端同相输出或者反相输出;P2.0、P2.1、P2.2、P2.3、…用于对与门阵列进行列控制,P3.0、P3.2、P3.4、…用来控制每个计数器的加减控制端,P3.1、P3.3、P3.5、…用来产生脉冲串,脉冲串的脉冲数量代表权值绝对值,当为1时,权值为正,为0时,权值为负。另外,本发明所述的神经网络,并行口之间可以互相对调。另外,对与门阵列进行列控制也可以通过移位寄存器进行。
实际工作时,首先通过控制单元U5对可逆加减计数器单元U1、U2、U3、U4、…以及锁存器单元U6进行清零,然后控制单元U5的P1.1取0,锁存神经网络反馈输入Y0(k-1)、Y1(k-1)、Y2(k-1)、Y3(k-1)、…,并按照系统功能要求,设定X0、X1、X2、X3、…状态,同时通过设定每个可逆加减计数器单元初值来设定神经元阈值θ,接着依次输入网络权值,进行神经网络运算,即当P2.0有效时,(P3.0、P3.1)、(P3.2、P3.3)、(P3.4、P3.5)、…相互配合,给各个神经元(即计数器)输入X0的权值p0,并通过与门实现跟X0的乘法运算,接着通过clk端子依次输入计数器(即神经元),进行加减计数;当P2.1有效时,(P3.0、P3.1)、(P3.2、P3.3)、(P3.4、P3.5)、…相互配合,给各个神经元(即计数器)输入X1的权值p1,并通过与门实现跟X1的乘法运算,接着通过clk端子依次输入计数器(即神经元),进行加减计数;…;当P2.4有效时,(P3.0、P3.1)、(P3.2、P3.3)、(P3.4、P3.5)、…相互配合,给各个神经元(即计数器)输入Y0(k-1)的权值q0,并通过与门实现跟Y0(k-1)的乘法运算,接着通过clk端子依次输入计数器(即神经元),进行加减计数;当P2.5有效时,(P3.0、P3.1)、(P3.2、P3.3)、(P3.4、P3.5)、…相互配合,给各个神经元(即计数器)输入Y1(k-1)的权值q1,并通过与门实现跟Y1(k-1)的乘法运算,接着通过clk端子依次输入计数器(即神经元),进行加减计数;…;以此类推,就可以实现∑(pi×Xi)+∑(qj×Yj)+θ运算(其中i、j均为整数,且i=[0,n],j=[0,m]。此例中i=[0,4],j=[0,4])),然后借助计数器max/min端进行进位/借位运算,并在控制单元U5的P1.2控制下,经异或门单元U7进行异或运算后输出,就可以实现阈值函数hardlim{∑(pi×Xi)+∑(qj×Yj)+θ}运算,此运算结果作为神经元的当前输出Y0、Y1、Y2、Y3、…。如果要将神经元的当前输出Y0、Y1、Y2、Y3、…作为下一次神经元的反馈输入,可将控制单元U5的P1.1先上拉为1,进行反馈,然后再下拉为0,进行锁存。
训练时,可将神经网络当前输出Y0、Y1、Y2、Y3、…,跟控制单元U5存贮的结果进行对照,或者通过异或门对实际输出和目标输出进行对比,然后根据对比结果和相应算法调整权值和阈值(可自动调整),直到实际输出和目标输出完全相同为止(或者误差小到某个预设值为止)。把此时的权值通过cpu或者存储器直接记录下来(阈值θ可通过计数器自动记录),然后输入X0、X1、X2、X3、…,就可以按照上述实际工作时的过程进行神经网络实际运算。
本发明人工神经网络,也可以是图1所示人工神经网络的扩展。假如本发明所述的人工神经网络有n个输入X0、X1、X2、X3、…、Xn,m个输出Y0、Y1、Y2、Y3、…、Ym(m、n均为正整数,m和n可以相等,也可以不相等),则需要将图1所示的可逆加减计数器单元从4个扩展为m个,锁存器单元和异或门单元,分别从1个扩展为m/4个(若m/4不是整数,则四舍五入取整后加1;若锁存器单元和异或门单元采用八输入八输出芯片,则从1个扩展为m/8个。同样若m/8不是整数,则四舍五入取整后加1);相应的与门组也从4个扩展为m个,每个与门组中三输入与门的数量也从原来的8个扩展为n+m个,但控制单元U5一般为1个,如果控制单元U5的并行IO口不够,可通过相关芯片扩展,或者选用并口数更多的CPU,如AVR系列、PIC系列、MSP430系列、stm32系列单片机、或者是其他专用单片机,也可选用Intel系列、AMD系列、VIA系列等电脑CPU,或者是高通、联发科、三星、华为等手机CPU。扩展后的电路结构则与图1所示的电路类似,即与门电路和二进加减计数器结合,作为基本神经元电路;每个神经元采用异步输入,多个神经元采用同步输入,即异步输入和同步输入相结合;采用纵横相交的总线式结构,具有自反馈和互反馈功能。另外m个可逆加减计数器单元也可以通过RS触发器、JK触发器、D触发器、T触发器配合基本逻辑门电路来实现,并跟m个与门组、一个CPU一起,组成专门的二进神经网络集成电路。
本发明人工神经网络工作时的权值、阈值都是整数,但也适用于权值、阈值都是实数的情况。
本发明所用到的计数器,既可以是现有的各种加减计数器,也可以是其他重新设计和制造的加减计数器。
本发明人工神经网络以与门组和加减计数器相结合,作为基本神经元,进位/借位输出经异或运算后作为神经元输出。
本发明人工神经网络以与门电路和二进加减计数器相结合,作为基本神经元,并附加锁存器电路、异或门电路、单片机电路,易于进行神经网络运算,易于对权值和阈值进行训练和储存,也易于进行神经网络仿真;异步输入和同步输入相结合,大幅度减少了输入输出以及神经元之间的连接线路;采用纵横相交的总线式结构,线路简单,通用性强,易于对神经网络规模进行扩展,并采用成熟的计数器电路、与门电路、锁存器、异或门电路和CPU电路技术,易于进行电路集成;釆用简单的与门电路实现复杂的乘法运算,通过计数器的异步输入实现复杂的加减法运算,通过计数器的借位/进位输出以及异或门运算,实现复杂的阈值函数运算;通过锁存器将输出和输入相连,具有自反馈和互反馈功能,能实现一些复杂的神经网络功能。
Claims (5)
1.一种基于加减计数器的人工神经网络,其特征在于:以与门电路和二进加减计数器相结合,作为基本神经元,并附加锁存器、异或门电路和控制单元,进行神经网络运算,对权值和阈值进行训练和储存,进行神经网络仿真;异步输入和同步输入相结合;采用纵横相交的总线式结构,并采用计数器电路、与门电路、锁存器、异或门电路和CPU电路进行电路集成;釆用简单的与门电路实现复杂的乘法运算,通过计数器的异步输入实现复杂的加减法运算,通过计数器的借位/进位输出以及异或门的异或运算,实现复杂的阈值函数运算;通过锁存器将网络输入和输出相连,具有自反馈和互反馈功能,能实现自锁、互锁、计时、计数等复杂的神经网络功能;该人工神经网络具有n个输入端和m个输出端,包括m个可逆加减计数器单元、m/4个锁存器单元、m/4个异或门单元、m个与门组以及控制单元,每个与门组均由n+m个与门组成,且每个与门组中与门的数量相同,所有的与门均采用三输入与门,
若m/4不是整数,则四舍五入取整后加1;若锁存器单元和异或门单元采用八输入八输出芯片,则从1个扩展为m/8个,若m/8不是整数,则四舍五入取整后加1。
2.根据权利要求1所述的基于加减计数器的人工神经网络,其特征在于:控制单元U5为1个,如果控制单元U5的并行IO口不够,可通过相关芯片扩展,或者选用并口数更多的CPU。
3.根据权利要求2所述的基于加减计数器的人工神经网络,其特征在于:所述的并口数更多的CPU为AVR系列单片机、PIC系列单片机、MSP430系列单片机、stm32系列单片机、其他专用单片机、Intel系列电脑CPU、AMD系列电脑CPU、VIA系列电脑CPU、高通手机CPU、联发科手机CPU、三星手机CPU或者华为手机CPU。
4.根据权利要求1所述的基于加减计数器的人工神经网络,其特征在于,所述与门组的数量为四个,每个与门组由八个与门组成,第一与门组中的第一与门(1-1)、第二与门(1-2)、第三与门(1-3)、第四与门(1-4)、第五与门(1-5)、第六与门(1-6)、第一与门(1-7)和第八与门(1-8)并排设置,该八个与门的输出端均与第一可逆加减计数器电路单元U1的clk端相连,第一与门(1-1)的第一输入端、第二与门(1-2)的第一输入端、第三与门(1-3)的第一输入端、第四与门(1-4)的第一输入端、第五与门(1-5)的第一输入端、第六与门(1-6)的第一输入端、第一与门(1-7)的第一输入端和第八与门(1-8)的第一输入端均接控制单元U5的P3.7引脚;
第二与门组中第九与门(2-1)的输出端、第十与门(2-2)的输出端、第十一与门(2-3)的输出端、第十二与门(2-4)的输出端、第十三与门(2-5)的输出端、第十四与门(2-6)的输出端、第十五与门(2-7)的输出端和第十六与门(2-8)的输出端均接第二可逆加减计数器电路单元U2的clk端;第九与门(2-1)的第一输入端、第十与门(2-2)的第一输入端、第十一与门(2-3)的第一输入端、第十二与门(2-4)的第一输入端、第十三与门(2-5)的第一输入端、第十四与门(2-6)的第一输入端、第十五与门(2-7)的第一输入端和第十六与门(2-8)的第一输入端均接控制单元U5的P3.5引脚;
第十与门组中第十七与门(3-1)的输出端、第十八与门(3-2)的输出端、第十九与门(3-3)的输出端、第二十与门(3-4)的输出端、第二十一与门(3-5)的输出端、第二十二与门(3-6)的输出端、第二十三与门(3-7)的输出端和第二十四与门(3-8)的输出端均接第三可逆加减计数器电路单元U3的clk端;第十七与门(3-1)的第一输入端、第十八与门(3-2)的第一输入端、第十九与门(3-3)的第一输入端、第二十与门(3-4)的第一输入端、第二十一与门(3-5)的第一输入端、第二十二与门(3-6)的第一输入端、第二十三与门(3-7)的第一输入端和第二十四与门(3-8)的第一输入端均接控制单元U5的P3.3引脚;
第四与门组中第二十五与门(4-1)的输出端、第二十六与门(4-2)的输出端、第二十七与门(4-3)的输出端、第二十八与门(4-4)的输出端、第二十九与门(4-5)的输出端、第三十与门(4-6)的输出端、第三十一与门(4-7)的输出端和第三十二四与门(4-8)的输出端均接第四可逆加减计数器电路单元U4的clk端;第二十五与门(4-1)的第一输入端、第二十六与门(4-2)的第一输入端、第二十七与门(4-3)的第一输入端、第二十八与门(4-4)的第一输入端、第二十九与门(4-5)的第一输入端、第三十与门(4-6)的第一输入端、第三十一与门(4-7)的第一输入端和第三十二与门(4-8)的第一输入端均接控制单元U5的P3.1引脚;
第一与门(1-1)的第二输入端、第九与门(2-1)的第二输入端、第十七与门(3-1)的第二输入端和第二十五与门(4-1)的第二输入端接控制单元U5的P2.0引脚;第二与门(1-2)的第二输入端、第十一与门(2-2)的第二输入端、第十八与门(3-2)第二输入端和第二十六与门(4-2)的第二输入端接控制单元U5的P2.1引脚;第三与门(1-3)的第二输入端、第十一与门(2-3)的第二输入端、第十九与门(3-3)的第二输入端和第二十七与门(4-3)的第二输入端接控制单元U5的P2.2引脚;第四与门(1-4)的第二输入端、第十二与门(2-4)的第二输入端、第二十与门(3-4)的第二输入端、第二十八与门(4-4)的第二输入端接控制单元U5的P2.3引脚;第五与门(1-5)的第二输入端、第十三与门(2-5)的第二输入端、第二十一与门(3-5)的第二输入端和第二十九与门(4-5)的第二输入端接控制单元U5的P2.4引脚;第六与门(1-6)的第二输入端、第十四与门(2-6)的第二输入端、第二十二与门(3-6)的第二输入端和三十与门(4-6)的第二输入端接控制单元U5的P2.5引脚;第七与门(1-7)的第二输入端、第十五与门(2-7)的第二输入端、第二十三与门(3-7)的第二输入端和第三十一与门(4-7)的第二输入端接控制单元U5的P2.6引脚;第八与门(1-8)的第二输入端、第十六与门(2-8)的第二输入端、第二十四与门(3-8)的第二输入端和第三十二与门(4-8)的第二输入端接控制单元U5的P2.7引脚;
第一与门(1-1)的第三输入端、第九与门(2-1)的第三输入端、第十七与门(3-1)的第三输入端和第二十五与门(4-1)的第三输入端均接神经网络第一输入端X0;第二与门(1-2)的第三输入端、第十与门(2-2)的第三输入端、第十八与门(3-2)的第三输入端和第二十六与门(4-2)的第三输入端接神经网络第二输入端X1;第三与门(1-3)的第三输入端、第十一与门(2-3)的第三输入端、第十九与门(3-3)的第三输入端和第二十七与门(4-3)的第三输入端接神经网络第三输入端X2;第四与门(1-4)的第三输入端、第十二与门(2-4)的第三输入端、第二十与门(3-4)的第三输入端和第二十八与门(4-4)的第三输入端接神经网络第四输入端X3;第五与门(1-5)的第三输入端、第十三与门(2-5)的第三输入端、第二十一与门(3-5)的第三输入端和第二十九与门(4-5)的第三输入端接神经网络第一反馈端Y0(k-1);第六与门(1-6)的第三输入端、第十四与门(2-6)的第三输入端、第二十二与门(3-6)的第三输入端和第三十与门(4-6)的第三输入端接神经网络第二反馈端Y1(k-1);第七与门(1-7)的第三输入端、第十五与门(2-7)的第三输入端、第二十三与门(3-7)的第三输入端和第三十一与门(4-7)的第三输入端接神经网络第三反馈端Y2(k-1);第八与门(1-8)的第三输入端、第十六与门(2-8)的第三输入端、第二十四与门(3-8)的第三输入端和第三十二与门(4-8)的第三输入端接神经网络第四反馈端Y3(k-1);
第一可逆加减计数器电路单元U1的加减控制端接控制单元U5的P3.6引脚;第二可逆加减计数器电路单元U2的加减控制端接控制单元U5的P3.4引脚;第三可逆加减计数器电路单元U3的加减控制端接控制单元U5的P3.2引脚;第四可逆加减计数器电路单元U4的加减控制端接控制单元U5的P3.0引脚;
第一可逆加减计数器电路单元U1的进位/借位输出端max/min、第二可逆加减计数器电路单元U2的进位/借位输出端max/min、第三可逆加减计数器电路单元U3的进位/借位输出端max/min、第四可逆加减计数器电路单元U4的进位/借位输出端max/min,分别接异或门单元U7中四个异或门的第一输入端,异或门单元U7中四个异或门的第二输入端,全部连在一起,接控制单元U5的P1.2引脚;
异或门单元U7的四个输出分别接神经网络第一当前输出Y0、第二当前输出Y1、第三当前输出Y2、第四当前输出Y3;
神经网络第一当前输出Y0、第二当前输出Y1、第三当前输出Y2、第四当前输出Y3分别接锁存器单元U6的四个输入端D0、D1、D2、D3,锁存器单元U6的四个输出端Q0、Q1、Q2、Q3分别接神经网络第一反馈端Y0(k-1)、神经网络第二反馈端Y1(k-1)、神经网络第三反馈端Y2(k-1)、神经网络第四反馈端Y3(k-1);锁存器单元U6清零端CLR接控制单元U5的P1.0,锁存器单元U6时钟CLK接控制单元U5的P1.1;
X0、X1、X2、X3分别为神经网络输入,其中X0分别接与门1-1、2-1、3-1、4-1的第三输入端,X1分别接与门1-2、2-2、3-2、4-2的第三输入端,X2分别接与门1-3、2-3、3-3、4-3的第三输入端,X3分别接与门1-4、2-4、3-4、4-4的第三输入端,神经网络第一反馈端Y0(k-1)分别接与门1-5、2-5、3-5、4-5的第三输入端,神经网络第二反馈端Y1(k-1)分别接与门1-6、2-6、3-6、4-6的第三输入端,神经网络第三反馈端Y2(k-1)分别接与门1-7、2-7、3-7、4-7的第三输入端,神经网络第四反馈端Y3(k-1)分别接与门1-8、2-8、3-8、4-8的第三输入端。
5.根据权利要求4所述的基于加减计数器的人工神经网络,其特征在于,所述的第一可逆加减计数器电路单元U1、第二可逆加减计数器电路单元U2、第三可逆加减计数器电路单元U3和第四可逆加减计数器电路单元U4均采用可逆加减计数器;控制单元U5采用各种CPU,或者是多谐振荡器和存储器的组合电路,亦或是CPU和移位寄存器的组合电路;锁存器单元U6可选用各种触发器、寄存器、锁存器、移位寄存器和计数器;异或门单元U7采用各种异或门电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911011426.6A CN110728366A (zh) | 2019-10-23 | 2019-10-23 | 基于加减计数器的人工神经网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911011426.6A CN110728366A (zh) | 2019-10-23 | 2019-10-23 | 基于加减计数器的人工神经网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110728366A true CN110728366A (zh) | 2020-01-24 |
Family
ID=69221798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911011426.6A Pending CN110728366A (zh) | 2019-10-23 | 2019-10-23 | 基于加减计数器的人工神经网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110728366A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113589028A (zh) * | 2021-08-14 | 2021-11-02 | 湖北德诚伟业通信工程有限公司 | 一种应用于网络通讯工程的数据处理系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5091864A (en) * | 1988-12-23 | 1992-02-25 | Hitachi, Ltd. | Systolic processor elements for a neural network |
CN105930903A (zh) * | 2016-05-16 | 2016-09-07 | 浙江大学 | 一种数模混合神经网络芯片体系结构 |
CN107862379A (zh) * | 2017-07-21 | 2018-03-30 | 电子科技大学 | 神经网络fpga |
CN107862380A (zh) * | 2017-10-19 | 2018-03-30 | 珠海格力电器股份有限公司 | 人工神经网络运算电路 |
-
2019
- 2019-10-23 CN CN201911011426.6A patent/CN110728366A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5091864A (en) * | 1988-12-23 | 1992-02-25 | Hitachi, Ltd. | Systolic processor elements for a neural network |
CN105930903A (zh) * | 2016-05-16 | 2016-09-07 | 浙江大学 | 一种数模混合神经网络芯片体系结构 |
CN107862379A (zh) * | 2017-07-21 | 2018-03-30 | 电子科技大学 | 神经网络fpga |
CN107862380A (zh) * | 2017-10-19 | 2018-03-30 | 珠海格力电器股份有限公司 | 人工神经网络运算电路 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113589028A (zh) * | 2021-08-14 | 2021-11-02 | 湖北德诚伟业通信工程有限公司 | 一种应用于网络通讯工程的数据处理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109740739A (zh) | 神经网络计算装置、神经网络计算方法及相关产品 | |
CN104145281A (zh) | 神经网络计算装置和系统及其方法 | |
Smithson et al. | Stochastic computing can improve upon digital spiking neural networks | |
CN109740754A (zh) | 神经网络计算装置、神经网络计算方法及相关产品 | |
CN110163357A (zh) | 一种计算装置及方法 | |
CN105913118A (zh) | 一种基于概率计算的人工神经网络硬件实现装置 | |
Ngah et al. | Two-steps implementation of sigmoid function for artificial neural network in field programmable gate array | |
CN104680236A (zh) | 核函数极限学习机分类器的fpga实现方法 | |
CN110728366A (zh) | 基于加减计数器的人工神经网络 | |
Orponen | Computing with truly asynchronous threshold logic networks | |
Murtagh et al. | Implementation issues of sigmoid function and its derivative for VLSI digital neural networks | |
Iyoda et al. | A solution for the n-bit parity problem using a single translated multiplicative neuron | |
Çetin et al. | Steel Price forcasting using long short-term memory network model | |
Chen et al. | The chaotic properties and circuit design of a generalized high-dimensional integer-domain system | |
Li et al. | A Novel Area-Efficient Fast CORDIC for Energy-efficient Adaptive Exponential Integrate and Fire Neuron Design | |
Morisue et al. | A superconducting fuzzy processor | |
CN116151171B (zh) | 一种基于并行回火的全连接伊辛模型退火处理电路 | |
Guo et al. | Design and Implementation of Consensus Control Protocol for First-order Linear Multi-agent Systems based on FPGA Hardware | |
Todinca et al. | VHDL framework for modeling fuzzy automata | |
Schrauwen et al. | Compact digital hardware implementations of spiking neural networks | |
Date et al. | Virtual neuron: A neuromorphic approach for encoding numbers | |
Chhabra et al. | A Design Approach for Mac Unit Using Vedic Multiplier | |
Muhammad et al. | Fine-grained parallel genetic algorithm: A global convergence criterion | |
Xiao et al. | FPGA Implementation of Classical Dynamic Neural Networks for Smooth and Nonsmooth Optimization Problems | |
Samoladas et al. | Special-purpose architectures for fuzzy logic controllers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |