一种卷积计算方法及卷积运算电路技术

技术编号:24613615 阅读:23 留言:0更新日期:2020-06-24 01:12
本申请涉及一种卷积计算方法及卷积运算电路,属于光芯片技术领域。该方法应用于卷积运算电路,卷积运算电路包括:数字芯片、数模转换器、模数转换器和光子神经网络芯片,光子神经网络芯片中固化有用于卷积计算的卷积核;方法包括:数字芯片依次将待计算子矩阵中的数值通过数模转换器转换为光信号发送给光子神经网络芯片;光子神经网络芯片将预置的卷积核的权重与每个光信号进行线性转换,并将线性转换后的光信号通过模数转换器转换后输出。本申请实施例中,通过充分利用光子神经网络芯片能够实现矩阵乘法的特性,将光子神经网络芯片实现的矩阵乘法有机结合到卷积计算中来,以提高卷积运算的计算效率。

A convolution calculation method and circuit

【技术实现步骤摘要】
一种卷积计算方法及卷积运算电路
本申请属于光芯片
,具体涉及一种卷积计算方法及卷积运算电路。
技术介绍
现有人工智能计算方面,主要是采用图形处理器(GraphicsProcessingUnit,GPU)、中央处理器(CentralProcessingUnit,CPU)、现场可编程门阵列(FieldProgrammableGateArray,FPGA)或专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)等传统电子数字处理芯片或者器件来进行卷积计算。这些方式都是对数字信号进行处理,使用这些硬件结构实现的运算速度和电源效率仍受电子时钟速率和欧姆损耗的限制,使得以深度学习为主的计算算力遭遇到瓶颈。鉴于某些特定的光子芯片(光学器件)能够实现矩阵乘法,由于光子神经网络芯片相较于传统电子数字处理芯片或者器件来说,在计算效率以及功耗方面有巨大优势。然而目前还没有如何利用该类光子芯片进行卷积运算的方法。
技术实现思路
鉴于此,本申请实施例在于提供一种卷积计算方法及卷积运算电路,以改善现有卷积计算方式存在的计算效率不高和功耗大的问题。本申请的实施例是这样实现的:第一方面,本申请实施例提供了一种卷积计算方法,应用于卷积运算电路,所述卷积运算电路包括:数字芯片、数模转换器、模数转换器和光子神经网络芯片,所述光子神经网络芯片中固化有用于卷积计算的卷积核;所述方法包括:所述数字芯片依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片,其中,所述待计算子矩阵为根据所述卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;所述光子神经网络芯片将预置的所述卷积核的权重与每个所述光信号进行线性转换,并将线性转换后的光信号通过所述模数转换器转换后输出。本申请实施例中,通过充分利用光子神经网络芯片能够实现矩阵乘法的特性,将光子神经网络芯片实现的矩阵乘法有机结合到卷积计算中来,利用光子神经网络芯片的高性能和高能效的矩阵计算能力来完成卷积计算中的线性计算部分,以提高卷积运算的速度和降低功耗,同时通过将用于卷积计算的卷积核固化在光子神经网络芯片中,使得在进行卷积计算时,无需将卷积核的权重转换成光信号输入至光子神经网络芯片中,可以提高卷积运算的效率。结合第一方面实施例提供的一种可能的实施方式,所述光子神经网络芯片包括N个光子处理单元、延迟单元和光域加法器,所述N个光子处理单元中的每个光子处理单元与所述光域加法器之间串接有预定数量的所述延迟单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子处理单元串接的延迟单元的数量相差为M;其中,N为所述卷积核的行数,M为正整数;每个光子处理单元固化有所述卷积核的一行权重,不同的光子处理单元对应不同的行;所述数字芯片依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片,包括:所述数字芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述数模转换器转换为光信号分别发送给所述N个光子处理单元;所述光子神经网络芯片将预置的所述卷积核的权重与每个所述光信号进行线性转换,并将线性转换后的光信号通过所述模数转换器转换后输出,包括:所述N个光子处理单元中的每个光子处理单元各自将对应的权重与每个所述光信号进行线性转换后输出到所述光域加法器;所述光域加法器将同一时刻接收到的光信号进行相加后,通过所述模数转换器转换后输出。本申请实施例中,通过在每个光子处理单元与光域加法器之间串接预定数量的延迟单元,使得所需的数据经过相应的延时后同时到达光域加法器,以便在光域加法器中完成加法计算,直接输出想要的计算结果,能最大化的提高卷积的计算效率,同时不需要的数据不需要存储,不用采集即可完成丢弃,能最大化的节约存储空间。结合第一方面实施例提供的一种可能的实施方式,针对固化于每个光子处理单元的行向量,该行向量中的不同元素的权重值相等或者成比例关系。本申请实施例中,将同一行中的不同元素的权重值设置为相等或者成比例关系,使得能将输入的待计算子矩阵中的不同数值对应的光信号的相加结果放大,改善计算过程中存在的损耗问题。结合第一方面实施例提供的一种可能的实施方式,所述数字芯片依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片之前,所述方法还包括:所述数字芯片根据所述卷积核的大小以及所述预设步长将所述待计算矩阵拆分为多个待计算子矩阵。本申请实施例中,利用数字芯片自身根据卷积核的大小以及预设步长将待计算矩阵拆分为多个待计算子矩阵,使得在输入待处理图像数据时,可以直接输入拆分好的数据,不用进行数据的拆分,可以提高处理效率。第二方面,本申请实施例提供了一种卷积计算方法,应用于卷积运算电路,所述卷积运算包括:数字芯片、数模转换器、模数转换器、光子神经网络芯片和电域加法器,所述光子神经网络芯片包括N个光子处理单元,其中,N为卷积核的行数,每个光子处理单元固化有卷积核的一行权重,不同的光子处理单元对应不同的行;所述方法包括:所述数字芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述数模转换器转换为光信号分别发送给所述N个光子处理单元,其中,所述待计算子矩阵为根据所述卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;所述N个光子处理单元中的每个光子处理单元各自将对应的权重与每个所述光信号进行线性转换,并将线性转换后的光信号通过所述模数转换器转换后给所述电域加法器;所述电域加法器从接收到的电信号中选择所需的电信号进行求和运算后输出。本申请实施例中,利用光子神经网络芯片中的多个光子处理单元同时对同一个待计算子矩阵进行矩阵运算,不同的光子处理单元完成不同行和列的计算,再利用电域加法器从各个光子处理单元输出的电信号中选择所需的电信号进行求和运算后,即可输出想要的计算结果,该方法不需要使用信号延迟单元,可以减少器件的使用,使得电路的整体体积可以设计的较小;同时通过将用于卷积计算的卷积核固化在光子神经网络芯片中,使得在进行卷积计算时,无需将卷积核的权重转换成光信号输入至光子神经网络芯片中,可以提高卷积运算的效率。第三方面,本申请实施例提供了一种卷积运算电路,包括:数字芯片、数模转换器、模数转换器和光子神经网络芯片,所述光子神经网络芯片中固化有用于卷积计算的卷积核;所述数字芯片,用于依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片,其中,所述待计算子矩阵为根据所述卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;所述光子神经网络芯片,用于将预置的所述卷积核的权重与每个所述光信号进行线性转换,并将线性转换后的光信号通过所述模数转换器转换后输出。结合第三方面实施例提供的一种可能的实施方式,所述光子神经网络芯片包括N个光子处理单元、延迟单元和光域加法器,所述N个光子处理单元中的每个光子处理单元与所述光域加法器之间串接有预定数量的所述延迟单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子处理单元串接的延迟单元的数量相差为M;其中,N为所述卷积核本文档来自技高网...

【技术保护点】
1.一种卷积计算方法,其特征在于,应用于卷积运算电路,所述卷积运算电路包括:数字芯片、数模转换器、模数转换器和光子神经网络芯片,所述光子神经网络芯片中固化有用于卷积计算的卷积核,其中,所述光子神经网络芯片包括N个光子处理单元、延迟单元和光域加法器,所述N个光子处理单元中的每个光子处理单元与所述光域加法器之间串接有预定数量的所述延迟单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子处理单元串接的延迟单元的数量相差为M;其中,N为所述卷积核的行数,M为正整数;每个光子处理单元固化有所述卷积核的一行权重,不同的光子处理单元对应不同的行;所述方法包括:/n所述数字芯片依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片,其中,所述待计算子矩阵为根据所述卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;/n所述光子神经网络芯片将预置的所述卷积核的权重与每个所述光信号进行线性转换,并将线性转换后的光信号通过所述模数转换器转换后输出,/n其中,所述数字芯片依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片,包括:/n所述数字芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述数模转换器转换为光信号分别发送给所述N个光子处理单元;/n所述光子神经网络芯片将预置的所述卷积核的权重与每个所述光信号进行线性转换,并将线性转换后的光信号通过所述模数转换器转换后输出,包括:/n所述N个光子处理单元中的每个光子处理单元各自将对应的权重与每个所述光信号进行线性转换后输出到所述光域加法器;/n所述光域加法器将同一时刻接收到的光信号进行相加后,通过所述模数转换器转换后输出。/n...

【技术特征摘要】
1.一种卷积计算方法,其特征在于,应用于卷积运算电路,所述卷积运算电路包括:数字芯片、数模转换器、模数转换器和光子神经网络芯片,所述光子神经网络芯片中固化有用于卷积计算的卷积核,其中,所述光子神经网络芯片包括N个光子处理单元、延迟单元和光域加法器,所述N个光子处理单元中的每个光子处理单元与所述光域加法器之间串接有预定数量的所述延迟单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子处理单元串接的延迟单元的数量相差为M;其中,N为所述卷积核的行数,M为正整数;每个光子处理单元固化有所述卷积核的一行权重,不同的光子处理单元对应不同的行;所述方法包括:
所述数字芯片依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片,其中,所述待计算子矩阵为根据所述卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;
所述光子神经网络芯片将预置的所述卷积核的权重与每个所述光信号进行线性转换,并将线性转换后的光信号通过所述模数转换器转换后输出,
其中,所述数字芯片依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片,包括:
所述数字芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述数模转换器转换为光信号分别发送给所述N个光子处理单元;
所述光子神经网络芯片将预置的所述卷积核的权重与每个所述光信号进行线性转换,并将线性转换后的光信号通过所述模数转换器转换后输出,包括:
所述N个光子处理单元中的每个光子处理单元各自将对应的权重与每个所述光信号进行线性转换后输出到所述光域加法器;
所述光域加法器将同一时刻接收到的光信号进行相加后,通过所述模数转换器转换后输出。


2.根据权利要求1所述的方法,其特征在于,针对固化于每个光子处理单元的行向量,该行向量中的不同元素的权重值相等或者成比例关系。


3.根据权利要求1所述的方法,其特征在于,所述数字芯片依次将待计算子矩阵中的数值通过所述数模转换器转换为光信号发送给所述光子神经网络芯片之前,所述方法还包括:
所述数字芯片根据所述卷积核的大小以及所述预设步长将所述待计算矩阵拆分为多个待计算子矩阵。


4.一种卷积计算方法,其特征在于,应用于卷积运算电路,所述卷积运算电路包括:数字芯片、数模转换器、模数转换器、光子神经网络芯片和电域加法器,所述光子神经网络芯片包括N个光子处理单元,其中,N为卷积核的行数,每个光子处理单元固化有卷积核的一行权重,不同的光子处理单元对应不同的行;所述方法包括:
所述数字芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述数模转换器转换为光信号分别发送给所述N个光子处理单元,其中,所述待计算子矩阵为根据所述卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;
所述N个光子处理单元中的每个光子处理单元各自将对应的权重与每个所述光信号进行线性转...

【专利技术属性】
技术研发人员:吴建兵李智赵斌白冰
申请(专利权)人:光子算数北京科技有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1