CN110009102B - 一种基于光电计算阵列的深度残差网络的加速方法 - Google Patents
一种基于光电计算阵列的深度残差网络的加速方法 Download PDFInfo
- Publication number
- CN110009102B CN110009102B CN201910291717.9A CN201910291717A CN110009102B CN 110009102 B CN110009102 B CN 110009102B CN 201910291717 A CN201910291717 A CN 201910291717A CN 110009102 B CN110009102 B CN 110009102B
- Authority
- CN
- China
- Prior art keywords
- calculation
- array
- layer
- region
- matrix
- 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.)
- Active
Links
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于光电计算阵列的深度残差网络的加速方法。其中,光电计算阵列包括由多个发光单元周期排列组成的发光阵列和由多个计算单元周期排列组成的计算阵列。加速方法包括如下步骤:发光阵列将深度残差网络的权重通过光输入的方法输入到计算阵列中,作为光输入量,并保存在计算阵列中;将图像数据量化为单比特的数据后输入到计算阵列中,作为电输入量;利用计算阵列分别对深度残差网络的卷积层、全连接层和残差学习单元中的运算进行计算,计算完成后输出数字信号,再对该数字信号进行移位累加操作,得到最终结果。本发明的加速方法在较大提高运算速度的同时具备高能效的特点。
Description
技术领域
本发明涉及一种利用光电计算阵列对深度残差网络进行加速的方法,属于光学领域和图像识别等机器学习领域。
背景技术
传统的计算机大多采取冯诺依曼架构,然而,由于冯诺依曼架构存储单元和运算单元的分立,导致了在数据传输上产生了极大的能量消耗,并且影响运算速度。
传统的神经网络的训练因为其层次加深而变得困难,梯度消失和梯度爆炸让传统神经网络的精度大大损失,仅靠数据初始化和正则化虽然能解决这个问题,但是却带来了网络性能退化的问题。而深度残差网络可以轻松的对层次较深的神经网络进行训练,不仅解决了梯度问题和退化问题,更使得网络的性能随深度的提升而提升。
目前利用数字电路对深度残差网络进行加速的一般方法,是将卷积运算展开为矩阵向量乘法运算,并使用相应的乘累加单元完成矩阵乘法运算。但是,单个乘法器需要较大的资源(面积),也带来较高的功耗;并且存储墙的存在也限制了运算速度的进一步提升。
发明内容
本发明提出一种基于光电计算阵列的深度残差网络的加速方法,该加速方法在较大提高运算速度的同时具备高能效的特点。
本发明采用的技术方案如下:
一种基于光电计算阵列的深度残差网络的加速方法,其光电计算阵列包括由多个发光单元周期排列组成的发光阵列和由多个计算单元周期排列组成的计算阵列;所述加速方法包括如下步骤:发光阵列将深度残差网络的权重通过光输入的方法输入到计算阵列中,作为光输入量,并保存在计算阵列中;将图像数据量化为单比特的数据后输入到计算阵列中,作为电输入量;利用计算阵列分别对深度残差网络的卷积层、全连接层和残差学习单元中的运算进行计算,计算完成后输出数字信号,再对该数字信号进行移位累加操作,得到最终结果。
进一步地,所述计算单元包括载流子控制区、耦合区、以及光生载流子收集区和读出区;所述载流子控制区用于控制并调制光生载流子收集区和读出区内的载流子;所述光生载流子收集区和读出区中的收集区用于吸收发光单元发射的光子并收集产生的光生载流子;所述载流子控制区或者光生载流子收集区和读出区中的读出区与电信号连接,读出区用于输出被所述光生载流子和所述电信号作用后的载流子;所述耦合区连接收集区和读出区。
进一步地,利用计算阵列对深度残差网络的卷积层中的卷积运算进行计算,每一层卷积层的计算过程如下:
①对于当前卷积层的m个卷积核,将每个卷积核按列展开然后拼接为一列向量,如是m个卷积核对应的m列向量则拼接为一个矩阵,对于输入的n个通道的图像特征图,将n个矩阵上下拼接为一个新的大矩阵,采用与该大矩阵尺寸相同的计算阵列,计算阵列的光输入量为大矩阵中对应的值;②对于输入的n个图像特征图进行批标准化操作;③当前卷积层的输入为n个通道的图像特征图,对于其中的每一个图像特征图进行如下操作获得n'个矩阵:选取和卷积核相同大小的区域,按照规定的步幅,在新的特征图上进行移动p次;每次移动,都将特征图中所对应的值取出,按照纵向顺序展开并拼接为一行向量;移动完成后,便得到了p行向量,将其按顺序上下拼接为一个矩阵;④将所述n'个矩阵左右拼接,得到最终的电输入矩阵;按照从上到下的顺序依次将电输入矩阵的每一行输入计算阵列,行向量的每一列元素对应计算阵列的每一行;⑤行向量按照比特位输入到计算阵列中,即每一次输入一个比特;当计算阵列计算完成后,每一列的结果都经过模数转换器转换得到数字信号,再将数字信号分别按照对应位进行移位,然后累加得到结果,结果的形式为长度为m的向量;该结果即电输入矩阵的一行向量进入计算阵列完成计算的结果,对应着m个卷积核对n个图像特征图中相同区域进行一次卷积运算然后求和的结果;⑥按照步骤④和⑤的方法,电输入矩阵的p行向量按顺序完成计算后得到p个向量形式的结果,将这p行向量上下拼接为一个矩阵;把该矩阵的每一列按照从补零后的图像特征图中取值的顺序拼接成一个特征图,即对应着每一个卷积核卷积运算的结果,共得到m个特征图;⑦对所述m个特征图添加偏置、用激活函数获得非线性特征并进行池化操作,完成后即得到当前层卷积层的最终结果。
进一步地,利用计算阵列对深度残差网络的全连接层中的矩阵乘法运算进行计算,每一层全连接层的计算过程如下:①假设上层神经元个数为m个,本层神经元个数为n个,则共有m*n个权重,将这m*n个权重按顺序排列成一个矩阵,采用与该矩阵尺寸相同的计算阵列,计算阵列的光输入量为矩阵中对应的值;②将上层输出的m个值作为计算阵列的电输入量;③电输入量按照比特位输入进光电计算阵列中,即每一次输入一个比特;当计算阵列计算完成后,每一列的结果都经过模数转换器转换得到数字信号,再将数字信号分别按照对应位进行移位,然后累加得到结果,结果的形式为长度为n的向量;④对所述长度为n的向量添加偏置并进行激活操作,完成后即得到当前层全连接层的最终结果。
进一步地,利用计算阵列对深度残差网络的残差学习单元的运算进行计算,计算过程如下:①每一个残差学习单元包括两层,是由两个规模大小相同、卷积核大小和个数也相同的卷积层上下连接而成;其中第一层的输入的值直接与第二层的输出的值相加,随后通过激活函数激活,作为残差学习单元的输出;②上述若干个残差学习单元上下连接,共同组成深度残差网络的主体结构;如果上一个残差学习单元的输出特征图大小与下一个残差学习单元中第二层卷积层的输出特征图大小不相同,即同一个残差学习单元中第一层的输入特征图大小与第二层的输出特征图大小不相同,此时通过补零或映射方法使两层的特征图大小变得相同。
本发明提出了一种基于光电计算阵列对深度残差网络进行加速的方法,该方法利用的光电计算器件可以实现高精度的存-算一体功能,单个器件即可以存储光输入端的光信号并在断光后长时间保存,并且可以实现单个器件即完成乘法运算,非常适合加速以神经网络算法、CT算法为代表的一系列需要大量运算矩阵向量乘法的算法。本发明借助计算阵列的面积和功耗优势,相比传统数字电路加速的深度残差网络,可以节省大量的产品体积和能耗。
附图说明
图1是计算单元的多功能区框图。
图2是光电计算阵列的结构示意图。
图3是实施例1计算单元结构的(a)截面图和(b)立体图。
图4是实施例2计算单元结构的(a)截面图和(b)立体图。
图5是实施例3计算单元的(a)结构示意图和(b)多功能区示意图。
图6是实施例4的深度残差网络硬件加速器框图。
图7是实施例4的1434层深度残差网络的部分结构示意图。
图8是实施例4的卷积操作展开为矩阵乘法的原理示意图,(a)为n个卷积核对一张特征图进行卷积操作,输出n个通道的结果;(b)为特征图中对应卷积核的区域按列方向展开作为输入,n个卷积核按列方向展开后拼接为卷积核矩阵,乘法的结果为n列矩阵,每一列对应a中一个通道的结果。
图9是实施例5的1534层深度残差网络的全连接层结构示意图。
图中:1-发光阵列,2-计算阵列。
具体实施方式
本发明的目的在于利用光电计算阵列来搭建深度残差网络的加速器模型,以获得更小的面积和更高的能效。深度残差网络模型包括若干层卷积层、全连接层,以及大量的残差学习单元;每一个卷积层均使用了BN操作,并使用ReLU激活函数进行激活。光电计算阵列可以用极小的代价计算大规模矩阵乘法,而通过展开卷积操作,可以使其表示为矩阵乘法。本实施例将输入特征图片按照某种颜色标准量化为多个通道的二维数组,随后在加速器中将图像数据依次送入各卷积层、深度残差单元、全连接层进行加速处理,最终可以获得图像在各个类别的准确率,即实现图像分类的目的。
如图1所示,光电计算阵列中的计算单元为包括三大功能区的多功能区结构,其中三大功能区为:载流子控制区、耦合区、光生载流子收集区和读出区,具体功能分别如下:
载流子控制区:负责控制并调制光电计算单元内的载流子,并且作为光电计算单元的电输入端口,输入其中一个运算量作为电输入量;或者只控制并调制光电计算单元内的载流子,通过其他区域输入电输入量。
耦合区:负责连接光生载流子收集区和读出区,使得光子入射产生的光生载流子作用于光电计算单元内的载流子,形成运算关系。
光生载流子收集区和读出区:其中收集区负责吸收入射的光子并收集产生的光生载流子,并且作为光电计算单元的光输入端口,输入其中一个运算量作为光输入量;读出区可以作为光电计算单元的电输入端口,输入其中一个运算量作为电输入量,并且作为光电计算单元的输出端口,输出被光输入量和电输入量作用后的载流子作为单元输出量;或者通过其他区域输入电输入量,读出区只作为光电计算单元的输出端口,输出被光输入量和电输入量作用后的载流子,作为单元输出量。
发光单元发出的光作为入射计算单元光生载流子收集和读出区的光子,参与运算。光电计算阵列包括发光阵列1和计算阵列2,结构如图2所示。发光阵列1由多个发光单元周期性排列组成,计算阵列2由多个计算单元周期性排列组成。
实施例1
如图3所示,本实施例的计算单元包括:作为载流子控制区的控制栅极、作为耦合区的电荷耦合层,以及作为光生载流子收集区和读出区的P型衬底,P型衬底中分为左侧收集区和右侧读出区,其中右侧读出区中包括浅槽隔离、通过离子注入形成的N型源端和N型漏端。浅槽隔离位于半导体衬底中部、收集区和读出区的中间,浅槽隔离通过刻蚀并填充入二氧化硅来形成,以用于隔离收集区和读出区的电信号。N型源端位于读出区内靠近底层介质层的一侧,通过离子注入法掺杂而形成。N型漏端位于半导体衬底中靠近底层介质层与N型源端相对的另一侧,同样通过离子注入法进行掺杂法形成。应理解,本文中提及的左侧、右侧、上方以及下方只代表在通过图中所示视角观察下的相对位置随观察视角变化而变化,并不理解为对具体结构的限制。
在收集区的衬底上施加一个电压范围为负压的脉冲,或在控制栅上施加一个电压范围为正压的脉冲,使得收集区衬底中产生用于光电子收集的耗尽层,并通过右侧读出区读出收集的光电子数量,作为光输入端的输入量。读出时,在控制栅极上施加一正电压,使N型源端和收集区N型漏端间形成导电沟道,再通过在N型源端和N型漏端间施加一个偏置脉冲电压,使得导电沟道内的电子加速形成源漏之间的电流。源漏之间沟道内形成电流的载流子,受到控制栅电压、源漏间电压和收集区收集的光电子数量共同作用,作为被光输入量和电输入量共同作用后的电子,以电流的形式进行输出,其中控制栅电压、源漏间电压可以作为器件的电输入量,光电子数量则为器件的光输入量。
耦合区的电荷耦合层用于连接收集区和读出区,使收集区衬底内耗尽区开始收集光电子以后,收集区衬底表面势就会受到收集的光电子数量影响;通过电荷耦合层的连接,使得读出区半导体衬底表面势受到收集区半导体衬底表面势影响,进而影响读出区源漏间电流大小,从而通过判断读出区源漏间电流来读出收集区收集的光电子数量。
载流子控制区的控制栅,用以在其上施加一个脉冲电压,使得在P型半导体衬底读出区中产生用于激发光电子的耗尽区,同时也可以作为电输入端,输入其中一位运算量。
此外,P型半导体衬底和电荷耦合层之间存在用于隔离的底层介质层;电荷耦合层和控制栅之间亦存在用于隔离的顶层介质层。
实施例2
如图4所示,本实施例的计算单元包括:作为载流子控制区的控制栅极、作为耦合区的电荷耦合层,以及作为光生载流子收集区和读出区的P型半导体衬底,其中P型衬底中包含通过离子注入形成的N型源端和漏端。P型半导体衬底可以同时承担感光和读出的工作。N型源端位于读出区内靠近底层介质层的一侧,通过离子注入法掺杂而形成。N型漏端位于半导体衬底中靠近底层介质层与所述N型源端相对的另一侧,同样通过离子注入法进行掺杂法形成。
感光时,在P型半导体衬底上施加一个电压范围为负压的脉冲,同时在作为载流子控制区的控制栅极上施加一个电压范围为正压的脉冲,使得P型衬底中产生用于光电子收集的耗尽层,产生在耗尽区内的电子在控制栅极和P型衬底两端之间的电场作用下被加速,并在到达获得足够高的能量,穿过P型衬底和电荷耦合层之间的底层介质层势垒,进入电荷耦合层并储存于此,电荷耦合层中的电荷数量,会影响器件开启时的阈值,进而影响读出时的源漏间电流大小;读出时,在控制栅极上施加一脉冲电压,使N型源端和N型漏端间形成导电沟道,再通过在N型源端和N型漏端间施加一个脉冲电压,使得导电沟道内的电子加速形成源漏之间的电流。源漏之间的电流受到控制栅脉冲电压、源漏间电压和电荷耦合层中存储的电子数量共同作用,作为被光输入量和电输入量共同作用后的电子,以电流的形式进行输出,其中控制栅电压、源漏间电压可以作为器件的电输入量,电荷耦合层中存储的光电子数量则为器件的光输入量。
耦合区的电荷耦合层用于储存进入其中的光电子,并改变读出时器件阈值大小,进而影响读出区源漏间电流,从而通过判断读出区源漏间电流来读出感光时产生并且进入电荷耦合层中的光电子数量。
载流子控制区的控制栅,用以在其上施加一个脉冲电压,使得在P型半导体衬底读出区中产生用于激发光电子的耗尽区,同时也可以作为电输入端,输入其中一位运算量。
此外,P型半导体衬底和电荷耦合层之间存在一层用于隔离的底层介质层;电荷耦合层和控制栅之间亦存在一层用于隔离的顶层介质层。
实施例3
如图5所示,本实施例的计算单元包括:作为光生载流子收集和读出区的光电二极管和读出管,其中,光电二极管通过离子掺杂形成,负责感光。光电二极管的N区通过作为耦合区的光电子耦合引线连接到读出管的控制栅和复位管的源端上,读出管的漏端施加一正电压脉冲,作为读出电流的驱动电压;曝光前,复位管打开,复位管漏端电压施加到光电二极管上,使作为收集区的光电二极管处于反偏状态,产生耗尽层;曝光时,复位管关断,光电二极管被电学上隔离,光子入射光电二极管耗尽区后产生光电子,并在二极管中积累,二极管的N区和在电学上通过作为耦合区的光电子耦合引线和N区连接的读出管控制栅电势开始下降,进而影响读出管沟道内的电子浓度。读出管负责读出,其漏端施加一正脉冲电压,源端和选址管漏端连接,读出时,打开选址管,读出管中产生电流电流,电流大小受到复位管漏端电压、读出管漏端电压和入射光子数共同影响,读出管沟道内的电子,作为被光输入量和电输入量共同作用后的电子,以电流的形式输出,其中复位管漏端电压、读出管漏端电压可以作为器件的电输入量,电入射光子数则为器件的光输入量。
耦合区的光电子耦合引线用于连接作为光生载流子收集和读出区中收集区的光电二极管和作为读出区的读出管,将光电二极管N区电势施加到读出管控制栅上。
作为载流子控制区的复位管,通过其漏端输入一个正电压作用于光电二极管,当复位管打开时,正电压即会作用在光电二极管上,使光电二极管产生耗尽区并感光,同时也可以作为电输入端,输入其中一位运算量。
此外,选址管用于控制整个运算器件作为输出量的输出电流的输出,可以在光电计算单元组成阵列时行列选址使用。
实施例4
本实例提出一种基于光电计算阵列的深度残差网络中卷积层的实施方案,通过使用计算单元构建的光电计算阵列,来加速深度残差网络中的卷积层。其硬件框图如图6所示。
输入数据由接口进入加速器,通过辅助电路将其量化为可以输入计算阵列的单比特数据;同时利用LED阵列将网络的权值以光输入的方法输入计算阵列中;运算完成后通过AD阵列输出为数字信号,再通过辅助逻辑电路进行移位累加操作,得到运算的结果。
如图7所示,该深度残差网络共有34层网络结构,其中前33层为卷积层,以第二层卷积层conv2为例;
假设输入图像大小为4*4,有64个通道,共有64个3*3大小的卷积核,步幅为1,添加一行边界填充,则输出为64个通道,大小为4*4的特征图。
(1)利用基本的数字电路,对上层输出完成批标准化(BN)操作;
(2)展开卷积核,提取特征图,按照图8方法进行矩阵乘法操作,
则展开后的矩阵乘法操作为
Conv2中的卷积操作可以表示如上,其中W(卷积核,大小为(9*64)*64)为光电计算阵列的权值,a(上层输出,大小为16*(9*64))即光电计算阵列的输入。
(3)计算阵列每次输入一行电信号(共4行),输入向量按照比特位输入进计算阵列中,即一次输入一个比特。假设每个元素有8比特,则分8次输入,当计算阵列中的运算完成后,每一列的结果都经过AD转换得到数字信号,利用基本的数字逻辑电路,将这8次输出分别按照对应位进行移位,然后累加得到结果。
(4)按照第(3)步的方法,电输入矩阵的4行向量按顺序完成运算后得到4个向量形式的结果(每个向量有64个元素),将这4行向量上下拼接为一个矩阵。把矩阵的第一列按照从特征图中取值的顺序拼接成一个特征图,即对应着第一个卷积核卷积运算的结果,第二个列拼接成的特征图对应第二个卷积核卷积运算的结果,依次类推,共得到64个特征图(大小为4*4)。
(5)利用基本的数字电路对得到的64个特征图添加偏置,以及使用ReLU激活函数进行激活操作。完成后,则得到该层卷积层的输出结果。
实施例5
本实例提出一种基于光电计算阵列的深度残差网络中全连接层的实施方案,通过使用计算单元构建的光电计算阵列,来加速深度残差网络中的全连接层。
图7的深度残差网络共有34层网络结构,其中前33层为卷积层,最后一层为全连接层,如图9。
(1)全连接层拥有1000个神经元,前一级conv33输出的特征图共有512个通道,假设每一张特征图大小为4*4,则该全连接层共有4*4*512*1000个权值,则计算阵列的尺寸大小为(4*4*512)*1000,光输入端的数据为矩阵中对应的权值。
(2)计算阵列的电输入即前一级的输入,共有4*4*512个元素,对应计算阵列的行数。输入向量按照比特位输入进光电计算阵列中,即一次输入一个比特。假设每个元素有8比特,则分8次输入,当计算阵列中的运算完成后,每一列的结果都经过AD转换得到数字信号,利用基本的数字逻辑电路,将这8次输出分别按照对应位进行移位,然后累加得到结果。
(3)利用基本的数字电路对得到的结果向量添加偏置,以及使用ReLU激活函数进行激活操作。完成后,则得到该全连接层的输出结果。
实施例6
本实例提出一种基于光电计算阵列的深度残差网络中残差学习单元的实施方案,通过使用光电计算单元搭建的光电计算阵列,来加速深度残差网络中的残差学习单元。
两层残差学习单元由两个卷积层上下连接而成,其中卷积层的搭建方法如实施例4所述。第一层卷积层的输入加上第二层卷积层的输出,作为两层残差学习单元的输出数据。如果上一个残差学习单元的输出特征图大小与下一个残差学习单元中第二层卷积层的输出特征图大小不相同,即同一个残差学习单元中第一层的输入特征图大小与第二层的输出特征图大小不相同,此时可以通过补零或映射等方法使前一级的特征图大小变得和下一级特征图大小相同。
Claims (1)
1.一种基于光电计算阵列的深度残差网络的加速方法,其特征在于,所述光电计算阵列包括由多个发光单元周期排列组成的发光阵列和由多个计算单元周期排列组成的计算阵列;所述加速方法包括如下步骤:
发光阵列将深度残差网络的权重通过光输入的方法输入到计算阵列中,作为光输入量,并保存在计算阵列中;将图像数据量化为单比特的数据后输入到计算阵列中,作为电输入量;利用计算阵列分别对深度残差网络的卷积层、全连接层和残差学习单元中的运算进行计算,计算完成后输出数字信号,再对该数字信号进行移位累加操作,得到最终结果;
所述计算单元包括载流子控制区、耦合区、以及光生载流子收集区和读出区;所述载流子控制区用于控制并调制光生载流子收集区和读出区内的载流子;所述光生载流子收集区和读出区中的收集区用于吸收发光单元发射的光子并收集产生的光生载流子;所述载流子控制区或者光生载流子收集区和读出区中的读出区与电信号连接,读出区用于输出被所述光生载流子和所述电信号作用后的载流子;所述耦合区连接收集区和读出区;
利用计算阵列对深度残差网络的卷积层中的卷积运算进行计算,每一层卷积层的计算过程如下:
(1)对于当前卷积层的m个卷积核,将每个卷积核按列展开然后拼接为一列向量,如是m个卷积核对应的m列向量则拼接为一个矩阵,对于输入的n个通道的图像特征图,将n个矩阵上下拼接为一个新的大矩阵,采用与该大矩阵尺寸相同的计算阵列,计算阵列的光输入量为大矩阵中对应的值;
(2)对于输入的n个图像特征图进行批标准化操作;
(3)当前卷积层的输入为n个通道的图像特征图,对于其中的每一个图像特征图进行如下操作获得n'个矩阵:选取和卷积核相同大小的区域,按照规定的步幅,在新的特征图上进行移动p次;每次移动,都将特征图中所对应的值取出,按照纵向顺序展开并拼接为一行向量;移动完成后,便得到了p行向量,将其按顺序上下拼接为一个矩阵;
(4)将所述n'个矩阵左右拼接,得到最终的电输入矩阵;按照从上到下的顺序依次将电输入矩阵的每一行输入计算阵列,行向量的每一列元素对应计算阵列的每一行;
(5)行向量按照比特位输入到计算阵列中,即每一次输入一个比特;当计算阵列计算完成后,每一列的结果都经过模数转换器转换得到数字信号,再将数字信号分别按照对应位进行移位,然后累加得到结果,结果的形式为长度为m的向量;该结果即电输入矩阵的一行向量进入计算阵列完成计算的结果,对应着m个卷积核对n个图像特征图中相同区域进行一次卷积运算然后求和的结果;
(6)按照步骤(4)和(5)的方法,电输入矩阵的p行向量按顺序完成计算后得到p个向量形式的结果,将这p行向量上下拼接为一个矩阵;把该矩阵的每一列按照从补零后的图像特征图中取值的顺序拼接成一个特征图,即对应着每一个卷积核卷积运算的结果,共得到m个特征图;
(7)对所述m个特征图添加偏置、用激活函数获得非线性特征并进行池化操作,完成后即得到当前层卷积层的最终结果;
利用计算阵列对深度残差网络的全连接层中的矩阵乘法运算进行计算,每一层全连接层的计算过程如下:
(8)假设上层神经元个数为m个,本层神经元个数为n个,则共有m*n个权重,将这m*n个权重按顺序排列成一个矩阵,采用与该矩阵尺寸相同的计算阵列,计算阵列的光输入量为矩阵中对应的值;
(9)将上层输出的m个值作为计算阵列的电输入量;
(10)电输入量按照比特位输入进光电计算阵列中,即每一次输入一个比特;当计算阵列计算完成后,每一列的结果都经过模数转换器转换得到数字信号,再将数字信号分别按照对应位进行移位,然后累加得到结果,结果的形式为长度为n的向量;
(11)对所述长度为n的向量添加偏置并进行激活操作,完成后即得到当前层全连接层的最终结果;
利用计算阵列对深度残差网络的残差学习单元的运算进行计算,计算过程如下:
(12)每一个残差学习单元包括两层,是由两个规模大小相同、卷积核大小和个数也相同的卷积层上下连接而成;其中第一层的输入的值直接与第二层的输出的值相加,随后通过激活函数激活,作为残差学习单元的输出;
(13)上述若干个残差学习单元上下连接,共同组成深度残差网络的主体结构;如果上一个残差学习单元的输出特征图大小与下一个残差学习单元中第二层卷积层的输出特征图大小不相同,即同一个残差学习单元中第一层的输入特征图大小与第二层的输出特征图大小不相同,此时通过补零或映射方法使两层的特征图大小变得相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910291717.9A CN110009102B (zh) | 2019-04-12 | 2019-04-12 | 一种基于光电计算阵列的深度残差网络的加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910291717.9A CN110009102B (zh) | 2019-04-12 | 2019-04-12 | 一种基于光电计算阵列的深度残差网络的加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110009102A CN110009102A (zh) | 2019-07-12 |
CN110009102B true CN110009102B (zh) | 2023-03-24 |
Family
ID=67171258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910291717.9A Active CN110009102B (zh) | 2019-04-12 | 2019-04-12 | 一种基于光电计算阵列的深度残差网络的加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110009102B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647983B (zh) * | 2019-09-30 | 2023-03-24 | 南京大学 | 一种基于存算一体器件阵列的自监督学习加速系统及方法 |
CN114065905A (zh) * | 2020-08-07 | 2022-02-18 | 深圳先进技术研究院 | 数据批处理方法及其批处理装置、存储介质和计算机设备 |
CN116484931B (zh) * | 2023-06-14 | 2023-09-01 | 之江实验室 | 面向神经网络的光子矩阵乘法运算装置及运算方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9823198B2 (en) * | 2013-09-14 | 2017-11-21 | Kla-Tencor Corporation | Method and apparatus for non-contact measurement of internal quantum efficiency in light emitting diode structures |
CN107239824A (zh) * | 2016-12-05 | 2017-10-10 | 北京深鉴智能科技有限公司 | 用于实现稀疏卷积神经网络加速器的装置和方法 |
CN109359269A (zh) * | 2018-08-27 | 2019-02-19 | 北京大学 | 进行矩阵向量乘法运算的系统及进行神经网络运算方法 |
-
2019
- 2019-04-12 CN CN201910291717.9A patent/CN110009102B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110009102A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110647983B (zh) | 一种基于存算一体器件阵列的自监督学习加速系统及方法 | |
TWI750541B (zh) | 光電計算單元、光電計算陣列及光電計算方法 | |
CN110009102B (zh) | 一种基于光电计算阵列的深度残差网络的加速方法 | |
CN110263296B (zh) | 一种基于光电计算阵列的矩阵向量乘法器及其运算方法 | |
CN110263295B (zh) | 一种基于光电计算阵列的矩阵向量乘法器的运算优化方法 | |
CN109728006B (zh) | 基于复合介质栅mosfet的全局曝光光敏探测器 | |
CN109993283B (zh) | 基于光电计算阵列的深度卷积生成式对抗网络的加速方法 | |
CN110244817B (zh) | 一种基于光电计算阵列的偏微分方程求解器及其方法 | |
CN110276440B (zh) | 一种基于光电计算阵列的卷积运算加速器及其方法 | |
US8248498B2 (en) | Photosensitive microelectronic device with avalanche multipliers | |
CN112234074A (zh) | 一种图像传感器 | |
CN110245324B (zh) | 一种基于光电计算阵列的反卷积运算加速器及其方法 | |
CN110263926B (zh) | 基于光电计算单元的脉冲神经网络及其系统和运算方法 | |
CN110276046B (zh) | 一种光电计算单元的控制方法 | |
CN110276047B (zh) | 一种利用光电计算阵列进行矩阵向量乘运算的方法 | |
CN110275569B (zh) | 光电计算单元工作状态的控制方法 | |
CN110288078B (zh) | 一种针对GoogLeNet模型的加速器及其方法 | |
CN110276048B (zh) | 一种矩阵向量乘阵列的控制方法 | |
CN110263297B (zh) | 一种矩阵向量乘法器工作状态的控制方法 | |
CN110262774B (zh) | 一种光电乘法器的计算方法 | |
CN109976441B (zh) | 一种可实现高精度光输入的光电计算装置 | |
CN102201421B (zh) | Cmos图像传感器及其形成方法 | |
CN103873792A (zh) | 像素单元读出装置及方法、像素阵列读出装置及方法 | |
US4994876A (en) | Light detecting element and light detecting array | |
CN110045781B (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 |