CN107358292A - 一种基于化学反应网络的卷积加速单元设计方法 - Google Patents

一种基于化学反应网络的卷积加速单元设计方法 Download PDF

Info

Publication number
CN107358292A
CN107358292A CN201710499017.XA CN201710499017A CN107358292A CN 107358292 A CN107358292 A CN 107358292A CN 201710499017 A CN201710499017 A CN 201710499017A CN 107358292 A CN107358292 A CN 107358292A
Authority
CN
China
Prior art keywords
chemical reaction
branch road
module
convolution
reaction network
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.)
Granted
Application number
CN201710499017.XA
Other languages
English (en)
Other versions
CN107358292B (zh
Inventor
庄雨辰
张川
尤肖虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201710499017.XA priority Critical patent/CN107358292B/zh
Publication of CN107358292A publication Critical patent/CN107358292A/zh
Application granted granted Critical
Publication of CN107358292B publication Critical patent/CN107358292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/123DNA computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • G06N99/007Molecular computers, i.e. using inorganic molecules

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Genetics & Genomics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Neurology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于化学反应网络的卷积加速单元设计方法,包括如下步骤:设计N并行的快速卷积单元,同时记录下所用到的功能模块;将xi和hi以化学反应物浓度序列的形式输入,设计出对应的反应物;观察不同时刻逻辑电路支路中的值和对应的反应物或生成物;追踪各个支路中的变量的值;如遇到支路中存在负值的情况,将这条支路前后几个模块组合,确保这个组合输出的是正值,将这个组合整体移植到化学反应网络中;在跟踪完整个电路之后,将所有涉及的化学反应组合起来,完成基于化学反应网络的卷积加速单元。本发明利用简化并重构卷积核为快速卷积单元并且将其重新映射到化学反应网络中去,实现了高度并行以及人体亲和,为以后的应用奠定了基础。

Description

一种基于化学反应网络的卷积加速单元设计方法
技术领域
本发明涉及化学反应网络计算领域,尤其是一种基于化学反应网络的卷积加速单元设计方法。
背景技术
鉴于摩尔定律不断向其物理极限逼近,人们逐渐把目光投向了其它新型计算领域,如光子计算、量子计算、分子计算等。其中分子计算,尤其是DNA计算,因其具有纳米尺寸、可操作性强、存储容量大、与人体亲和性强而备受瞩目。化学反应网络(Chemicalreaction networks,简称CRNs)是由一系列形如的基元反应(包含反应物、生成物、反应速率常数)所构成的集合。在分子计算中,CRNs不仅是描述化学系统行为、构建动力学模型的建模语言,更是一种具有图灵通用性的计算模型。2010年,加州理工的学者从理论层面证明:任意的双分子反应和单分子反应构成的CRNs都可以被映射为DNA链置换反应并由DNA系统实现其功能,这使得CRNs具有很好的可操作性与可实现性。
而现如今神经网络中热门的CNN算法所使用的卷积核,为硅基的传统硬件电路,并行度不高,运算速度稍慢,效率还可以等待进一步提升。
发明内容
本发明所要解决的技术问题在于,提供一种基于化学反应网络的卷积加速单元设计方法,能够利用简化并重构卷积核为快速卷积单元并且将其重新映射到化学反应网络中去,实现高度并行以及人体亲和。
为解决上述技术问题,本发明提供一种基于化学反应网络的卷积加速单元设计方法,包括如下步骤:
(1)设计N并行的快速卷积单元,同时记录下所用到的功能模块;
(2)将xi和hi以化学反应物浓度序列的形式输入,设计出对应的反应物;其中,xi为一个无限输入正数序列,hi为FIR滤波器的N个抽头系数;
(3)观察不同时刻逻辑电路支路中的值和对应的反应物或生成物,并且记录下来为后面的移植做准备;
(4)追踪各个支路中的变量的值,如果遇到分叉,就将该支路对应的反应物分裂;如果遇到步骤(1)中所涉及到的功能模块,则整理其输入和输出,进行分类讨论;
(5)如遇到支路中存在负值的情况,将这条支路前后几个模块组合,确保这个组合输出的是正值,将这个组合整体移植到化学反应网络中;
(6)在跟踪完整个电路之后,将所有涉及的化学反应组合起来,完成并行度极高的基于化学反应网络的卷积加速单元。
优选的,步骤(4)中,分类讨论具体为:
a、如果遇到加法器模块,则将其转化为如下化学反应方程组:
b、如果遇到减法器模块,则将其转化为如下化学反应方程组:
c、如果遇到乘法器模块,则将其转化为如下化学反应方程组:
d、如果遇到延时模块,则将其转化为如下化学反应方程组: 将R相位看作是延时模块的上升沿,将B相位看作是延时模块的下降沿,这样就将平常的其它模块和实现存入延时模块中的反应放在R相位中,将实现从延时模块中导出变量的反应放在B相位中。
本发明的有益效果为:本发明利用简化并重构卷积核为快速卷积单元并且将其重新映射到化学反应网络中去,实现了高度并行以及人体亲和,为以后的应用奠定了基础。
附图说明
图1为本发明的卷积加速单元结构示意图。
图2为本发明的加法器仿真示意图。
图3为本发明的减法器仿真示意图。
图4为本发明的乘法器仿真示意图。
图5为本发明的RGBY振荡器仿真示意图。
图6为本发明的结果仿真示意图。
具体实施方式
一种基于化学反应网络的卷积加速单元设计方法,包括如下步骤:
(1)设计N并行的快速卷积单元,同时记录下所用到的功能模块;
(2)将xi和hi以化学反应物浓度序列的形式输入,设计出对应的反应物;其中,xi为一个无限输入正数序列,hi为FIR滤波器的N个抽头系数;
(3)观察不同时刻逻辑电路支路中的值和对应的反应物或生成物,并且记录下来为后面的移植做准备;
(4)追踪各个支路中的变量的值,如果遇到分叉,就将该支路对应的反应物分裂;如果遇到步骤(1)中所涉及到的功能模块,则整理其输入和输出,进行分类讨论;
(5)如遇到支路中存在负值的情况,将这条支路前后几个模块组合,确保这个组合输出的是正值,将这个组合整体移植到化学反应网络中;
(6)在跟踪完整个电路之后,将所有涉及的化学反应组合起来,完成并行度极高的基于化学反应网络的卷积加速单元。
步骤(4)中,分类讨论具体为:
a、如果遇到加法器模块,则将其转化为如下化学反应方程组:b、如果遇到减法器模块,则将其转化为如下化学反应方程组:
c、如果遇到乘法器模块,则将其转化为如下化学反应方程组:
d、如果遇到延时模块,则将其转化为如下化学反应方程组: 将R相位看作是延时模块的上升沿,将B相位看作是延时模块的下降沿,这样就将平常的其它模块和实现存入延时模块中的反应放在R相位中,将实现从延时模块中导出变量的反应放在B相位中。
如图1所示,为了将一个功能模块移植到化学反应网络中去,其背后的传统电路原理必须要弄清楚。并行快速有限冲击响应算法(简称并行FFA)是算法强度缩减在并行FIR滤波器中的应用。强度缩减利用共享子结构达到了缩减硬件复杂度的效果。在一个VLSI实现或者一个可编程DSP实现的迭代周期中,用这种变换可以降低功耗。从数字信号处理角度来看,一个N抽头有限脉冲响应(FIR)滤波器在时域上的操作其实是一维卷积。在卷积神经网络中,虽然卷积是二维的,但在每一行(或每一列)上仍然是一维卷积,那么我们就可以在每一行(或每一列)上运用并行快速有限冲击响应算法来降低计算复杂度。
一个N抽头的有限脉冲响应(FIR)滤波器可以表示为:
其中x(n)是一个无限输入序列,h(n)包含长度为N的FIR滤波器的系数。将上式写成z域中的变换方式:
为了设计一个3并行快速卷积单元,无限输入序列x(n)必须被分成三个部分,x(3k),x(3k+1),x(3k+2)。对于每一个部分,我们将其对应的z变换形式记下,对于FIR滤波器的系数也做同样的操作,然后我们就得到了处理过的等式:
Y0=H0X0-z-3H2X2+z-3[(H1+H2)(X1+X2)-H1X1]
Y1=[((H0+H1)(X0+X1)-H1X1]-[H0X0-z-3H2Z2]
Y2=[(H0+H1+H2)(X0+X1+X2)]
-[(H0+H1)(X0+X1)-H1X1]
-[(H1+H2)(X1+X2)-H1X1]
根据这个理论,基础的传统电路设计已经具有提升卷积计算速度的能力,就像下面逻辑电路图中所示,一个传统快速卷积单元电路已经给出,其中y(n)是所需要的输出序列:
为了简化整体功能CRNs的设计,同时保证反应体系的稳定性,本发明现提出一种新的基于化学反应网络设计方法。该方法无需数字逻辑电路内部复杂的电路结构,寻求简洁高效的计算方式,使得最终能够得到相关的理论成果。
本发明采取分而治之的设计思想,将整个功能模块划分为多个小的功能模块,将这些小的模块移植到化学反应网路中去然后再进行整体的连接,如图2-5所示。
图2中显示的是基于化学反应网络的加法器的仿真图,物质a的初始浓度为2,物质b的初始浓度为1,最后反应得到的物质c的浓度为c=a+b=3。
图3中显示的是基于化学反应网络的减法器的仿真图,物质a的初始浓度为2,物质b的初始浓度为1,这样反应结束后物质c的初始浓度就变成了2-1=1。
图4中显示的是基于化学反应网络的乘法器的仿真图,反应物及初始条件,物质a的初始浓度为3,物质b的初始浓度为2,经过设计的化学反应方程组之后,得到的组中生成物物质c的浓度为a×b=6。
图5中显示的是基于化学反应网络的RGBY振荡器,如图所示,该反应方程组旨在提供一个RGBY相位交替的时序序列,在这个序列中,我们可以使高度并行的化学反应方程组具有一定的顺序性,通过这样的设计,我们完成了基于化学反应网络的延时模块设计。
参与加法运算的两个数可以看做是两种反应物的物质的量,考虑上面要求中给出的条件,我们给出了一种简单的可以表示加法的化学反应组:
当反应速率很快并且a,b,c三种物质的初始物质的量为A,B,0时,这个反应组完成了将A和B加起来的工作,并且最后得到的答案就是物质c的最终的物质的量。
事实上,传统逻辑电路中的加法器符号通常还会用作减法器使用,减法的条件与加法类似,设计的化学反应也与之相似:
同样地,条件要求该反应速率高速,并且a和b两种物质的初始物质的量和上面加法器方法中初始物质的量相同。这样,当反应进行时,1mol a和1mol b发生反应,同时被消耗,同时什么也不产生,这样就消耗了同样多的物质a和物质b直到a和b有一方被消耗殆尽,这样当反应结束时,a和b中剩下来那方的物质的量就将是正确的减法后的答案。如果a比b多,那么反应结束后a的物质的量就为减法的答案,反之b即为答案。
本发明设计的乘法器参与运算的两个数中有一个是常数,是FIR滤波器的抽头系数,可见是一个给出的固有值,那么我们就可以设计一个简化过后完成一个变量和一个常数乘法的的乘法器:
在上面的反应中,k是哪个参与乘法的常数,a是需要被乘的变量,所以最后得到的b的值将会是a的k倍,这样乘法就完成了。
只剩下了最后一个模块,延时模块需要设计。延时模块反映了化学反应间的顺序问题,一些反应必须要在另一些反应之前进行,或者说当逻辑电路中的值经过延时模块的时候需要存储在延时模块中一个单位时间,以便能够产生时间变化的输入对于输出的影响。使得原本不能一起运算的数据得以运算,为一些前向反馈或者后向反馈奠定理论基础。所以在本申请中,我们使用了先前工作中的RGBY振荡器对我们设计的反应进行划分,将这些反应划分成两个按顺序进行反应的类别。
RGBY四种物质是不断循环交替出现的,这样就可以依靠特定周期内只出现一次的特性来完成对于反应的顺序编排。并且四个相位不会打扰彼此,R相位与B相位中的反应不会相互影响,又因为3并行快速卷积单元在电路支路中最多只有一个延时,所以设计的化学反应网络中只需要用到RGBY相位中的R相位和B相位就可以实现目标。将R相位看作是锁存器的上升沿,将B相位看作是锁存器的下降沿,而传统电路中的延时设计实际上是一些基础的锁存器工作在时序逻辑中,所以一般的反应和将值存入锁存器中的反应都在R相位中完成,而将值从锁存器中提取出来回归电路支路中的反应在B相位中完成。
所有的小的功能模块已经完成了设计之后最重要的工作就是将这些单独的模块快整合起来。根据前面图中传统电路设计,我们需要跟踪电路中每一条支路中变量的变化,并且判断这个在不同时刻该变量应该完成什么工作,如果这条支路分叉了,那么我们的反应物就要分裂成两种等量的物质,分别消耗来完成后面的反应,如果支路中变量遇到了基本功能模块,那么就按照之前的方法进行分类运算。在每一步跟踪的过程中每一步的输入和输出都必须被弄清楚,这样才能不出错地将这一系列反应联合起来形成一个完整的功能体系。完整算法可以依照前文整理出来,反应列表见表1。
表1具体实施反应列表
上述所有反应为同时发生,同步进行。最终能够完成一个较为简单的卷积操作。图6中显示的是最终整个模块的仿真结果图,无穷输入序列{xi}={0,1,2,3,…},滤波器的抽头系数序列{hi}={0,1,2},这样根据算法卷积出来的序列{yi}={4,10,16,22,…},与仿真结果相吻合。
尽管本发明就优选实施方式进行了示意和描述,但本领域的技术人员应当理解,只要不超出本发明的权利要求所限定的范围,可以对本发明进行各种变化和修改。

Claims (2)

1.一种基于化学反应网络的卷积加速单元设计方法,其特征在于,包括如下步骤:
(1)设计N并行的快速卷积单元,同时记录下所用到的功能模块;
(2)将xi和hi以化学反应物浓度序列的形式输入,设计出对应的反应物;其中,xi为一个无限输入正数序列,hi为FIR滤波器的N个抽头系数;
(3)观察不同时刻逻辑电路支路中的值和对应的反应物或生成物,并且记录下来为后面的移植做准备;
(4)追踪各个支路中的变量的值,如果遇到分叉,就将该支路对应的反应物分裂;如果遇到步骤(1)中所涉及到的功能模块,则整理其输入和输出,进行分类讨论;
(5)如遇到支路中存在负值的情况,将这条支路前后几个模块组合,确保这个组合输出的是正值,将这个组合整体移植到化学反应网络中;
(6)在跟踪完整个电路之后,将所有涉及的化学反应组合起来,完成并行度极高的基于化学反应网络的卷积加速单元。
2.如权利要求1所述的基于化学反应网络的卷积加速单元设计方法,其特征在于,步骤(4)中,分类讨论具体为:
a、如果遇到加法器模块,则将其转化为如下化学反应方程组:
b、如果遇到减法器模块,则将其转化为如下化学反应方程组:
c、如果遇到乘法器模块,则将其转化为如下化学反应方程组:
d、如果遇到延时模块,则将其转化为如下化学反应方程组: 将R相位看作是延时模块的上升沿,将B相位看作是延时模块的下降沿,这样就将平常的其它模块和实现存入延时模块中的反应放在R相位中,将实现从延时模块中导出变量的反应放在B相位中。
CN201710499017.XA 2017-06-27 2017-06-27 一种基于化学反应网络的卷积加速单元设计方法 Active CN107358292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710499017.XA CN107358292B (zh) 2017-06-27 2017-06-27 一种基于化学反应网络的卷积加速单元设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710499017.XA CN107358292B (zh) 2017-06-27 2017-06-27 一种基于化学反应网络的卷积加速单元设计方法

Publications (2)

Publication Number Publication Date
CN107358292A true CN107358292A (zh) 2017-11-17
CN107358292B CN107358292B (zh) 2020-08-11

Family

ID=60272582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710499017.XA Active CN107358292B (zh) 2017-06-27 2017-06-27 一种基于化学反应网络的卷积加速单元设计方法

Country Status (1)

Country Link
CN (1) CN107358292B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108537000A (zh) * 2018-03-27 2018-09-14 东南大学 基于分子计算的米利型状态机设计方法
CN115938494A (zh) * 2022-11-24 2023-04-07 中国科学院大气物理研究所 气相化学模块的dcu加速计算方法、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103576551A (zh) * 2012-07-23 2014-02-12 阿尔斯通技术有限公司 用于化学循环过程的非线性模型预测控制
US20150170021A1 (en) * 2013-12-18 2015-06-18 Marc Lupon Reconfigurable processing unit
CN105069232A (zh) * 2015-08-11 2015-11-18 上海华虹宏力半导体制造有限公司 光学临近修正中的卷积加速方法
CN105760344A (zh) * 2016-01-29 2016-07-13 杭州电子科技大学 一种化学放热反应的分布式主元分析神经网络建模方法
US20160379115A1 (en) * 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Deep neural network processing on hardware accelerators with stacked memory

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103576551A (zh) * 2012-07-23 2014-02-12 阿尔斯通技术有限公司 用于化学循环过程的非线性模型预测控制
US20150170021A1 (en) * 2013-12-18 2015-06-18 Marc Lupon Reconfigurable processing unit
US20160379115A1 (en) * 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Deep neural network processing on hardware accelerators with stacked memory
CN105069232A (zh) * 2015-08-11 2015-11-18 上海华虹宏力半导体制造有限公司 光学临近修正中的卷积加速方法
CN105760344A (zh) * 2016-01-29 2016-07-13 杭州电子科技大学 一种化学放热反应的分布式主元分析神经网络建模方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
STEVEN J. RUUTH ET AL.: "Convolution–Thresholding Methods for Interface Motion", 《JOURNAL OF COMPUTATIONAL PHYSICS》 *
刘进锋: "一种简洁高效的加速卷积神经网络的方法", 《科学技术与工程》 *
杨旭瑜 等: "深度学习加速技术研究", 《计算机系统应用》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108537000A (zh) * 2018-03-27 2018-09-14 东南大学 基于分子计算的米利型状态机设计方法
CN108537000B (zh) * 2018-03-27 2021-07-27 东南大学 基于分子计算的米利型状态机设计方法
CN115938494A (zh) * 2022-11-24 2023-04-07 中国科学院大气物理研究所 气相化学模块的dcu加速计算方法、设备及存储介质
CN115938494B (zh) * 2022-11-24 2024-01-09 中国科学院大气物理研究所 气相化学模块的dcu加速计算方法、设备及存储介质

Also Published As

Publication number Publication date
CN107358292B (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN107807819A (zh) 一种支持离散数据表示的用于执行人工神经网络正向运算的装置及方法
CN109165732A (zh) 神经网络处理装置及其执行向量乘加指令的方法
CN110543939B (zh) 一种基于fpga的卷积神经网络后向训练的硬件加速实现装置
CN109740739A (zh) 神经网络计算装置、神经网络计算方法及相关产品
CN103984560B (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN106951395A (zh) 面向压缩卷积神经网络的并行卷积运算方法及装置
CN104375802B (zh) 一种乘除法器及运算方法
CN101763338B (zh) 一种点数可变的混合基fft/ifft实现装置及其方法
CN103970720B (zh) 基于大规模粗粒度嵌入式可重构系统及其处理方法
CN109740754A (zh) 神经网络计算装置、神经网络计算方法及相关产品
CN107341133B (zh) 基于任意维数矩阵lu分解的可重构计算结构的调度方法
CN107797962A (zh) 基于神经网络的计算阵列
CN110163358A (zh) 一种计算装置及方法
CN109284824A (zh) 一种基于可重构技术的用于加速卷积和池化运算的装置
CN101937424A (zh) 基于fpga实现高速fft处理的方法
CN109284475A (zh) 一种矩阵卷积计算模块及矩阵卷积计算方法
CN107358292A (zh) 一种基于化学反应网络的卷积加速单元设计方法
CN101295237B (zh) 求商和余数的高速除法器
Meher et al. Scalable and modular memory-based systolic architectures for discrete Hartley transform
CN103176949B (zh) 实现fft/ifft变换的电路及方法
Cappello et al. A note on'free accumulation'in VLSI filter architectures
CN109284085B (zh) 一种基于fpga的高速模乘和模幂运算方法及装置
CN103902762A (zh) 一种针对正定对称矩阵进行最小二乘方程求解的电路结构
Lin et al. CNNWire: Boosting convolutional neural network with winograd on ReRAM based accelerators
CN110795062A (zh) 一种基于忆阻器阵列的半加器、全加器及乘法器

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
GR01 Patent grant
GR01 Patent grant