CN111340680B - 一种卷积计算方法及卷积运算电路 - Google Patents

一种卷积计算方法及卷积运算电路 Download PDF

Info

Publication number
CN111340680B
CN111340680B CN202010198738.9A CN202010198738A CN111340680B CN 111340680 B CN111340680 B CN 111340680B CN 202010198738 A CN202010198738 A CN 202010198738A CN 111340680 B CN111340680 B CN 111340680B
Authority
CN
China
Prior art keywords
photon
chip
conversion unit
optical signal
optical
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
Application number
CN202010198738.9A
Other languages
English (en)
Other versions
CN111340680A (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.)
Photon Arithmetic Beijing Technology Co ltd
Original Assignee
Photon Arithmetic Beijing Technology Co ltd
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 Photon Arithmetic Beijing Technology Co ltd filed Critical Photon Arithmetic Beijing Technology Co ltd
Priority to CN202010198738.9A priority Critical patent/CN111340680B/zh
Publication of CN111340680A publication Critical patent/CN111340680A/zh
Application granted granted Critical
Publication of CN111340680B publication Critical patent/CN111340680B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/067Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means
    • G06N3/0675Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using optical means using electro-optical, acousto-optical or opto-electronic means
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Neurology (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本申请涉及一种卷积计算方法及卷积运算电路,属于电路设计技术领域。该方法应用于卷积运算电路,卷积运算电路包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元和光子人工智能芯片。方法包括:电芯片将目标卷积核中的权重通过第一DA转换单元转换为第一光信号发送给光子人工智能芯片;电芯片依次将待计算子矩阵中的数值通过第二DA转换单元转换为第二光信号发送给光子人工智能芯片;光子人工智能芯片将第一光信号和每个第二光信号进行矩阵运算,并将矩阵运算后的光信号通过AD转换单元转换后输出。本申请实施例中,将光子人工智能芯片实现的矩阵乘法有机结合到卷积计算中来,以提高卷积运算的计算效率。

Description

一种卷积计算方法及卷积运算电路
技术领域
本申请属于电路设计技术领域,具体涉及一种卷积计算方法及卷积运算电路。
背景技术
在图像处理中经常会涉及卷积的概念。对数字图像做卷积操作其实就是利用卷积核(卷积模板)在图像上滑动,将图像点上的像素灰度值与对应的卷积核上的数值相乘,然后将所有相乘后的值相加作为卷积核中间像素对应的图像上像素的灰度值,并最终滑动完所有图像的过程。
现有人工智能计算方面,主要是采用图形处理器(Graphics Processing Unit,GPU)、中央处理器(Central Processing Unit,CPU)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或专用集成电路(Application Specific IntegratedCircuit,ASIC)等传统电子数字处理芯片或者器件来进行卷积计算。这些方式都是对数字信号进行处理,使用这些硬件结构实现的运算速度和电源效率仍受电子时钟速率和欧姆损耗的限制,使得以深度学习为主的计算算力遭遇到瓶颈。
鉴于某些特定的光子人工智能芯片(光学器件)能够实现矩阵乘法,由于光子人工智能芯片相较于传统电子数字处理芯片或者器件来说,在计算效率以及功耗方面有巨大优势。然而目前还没有如何利用该类光子人工智能芯片进行卷积运算的方法。
发明内容
鉴于此,本申请实施例在于提供一种卷积计算方法及卷积运算电路,以改善现有卷积计算方式存在的计算效率不高和功耗大的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种卷积计算方法,应用于卷积运算电路,所述卷积运算电路包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元和光子人工智能芯片,所述方法包括:所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片;所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片,其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;所述光子人工智能芯片将所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后输出。本申请实施例中,充分利用光子人工智能芯片能够实现矩阵乘法的特性,将光子人工智能芯片实现的矩阵乘法有机结合到卷积计算中来,利用光子人工智能芯片的高性能和高能效的矩阵计算能力来完成卷积计算中的线性计算部分,以提高卷积运算的速度和降低功耗。
结合第一方面实施例提供的一种可能的实施方式,所述光子人工智能芯片包括至少N个光子计算单元、滞后单元和光域求和器,所述至少N个光子计算单元中的每个光子计算单元与所述光域求和器之间串接有预定数量的所述滞后单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子计算单元串接的滞后单元的数量相差为M;其中,所述N为所述目标卷积核的行数,M为正整数;所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片,包括:所述电芯片并行地将所述目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行;所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片,包括:所述电芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元;所述光子人工智能芯片将所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后输出,包括:所述N个光子计算单元中的每个光子计算单元各自将对应的所述第一光信号和每个所述第二光信号进行矩阵运算后输出到所述光域求和器;所述光域求和器将同一时刻接收到的光信号进行相加后,通过所述AD转换单元转换后输出。本申请实施例中,通过在每个光子计算单元与光域求和器之间串接预定数量的滞后单元,使得所需的数值经过相应的延时后同时到达光域求和器,以便在光域求和器中完成加法计算,直接输出想要的计算结果,能最大化的提高卷积的计算效率,同时不需要的数据不需要存储,不用采集即可完成丢弃,能最大化的节约存储空间。
结合第一方面实施例提供的一种可能的实施方式,所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片之前,所述方法包括:所述电芯片对初始卷积核进行矩阵转置运算,得到所述目标卷积核。本申请实施例中,通过在电芯片将目标卷积核中的权重通过第一DA转换单元转换为第一光信号给光子人工智能芯片之前,便对初始卷积核进行矩阵转置运算,以为后续的卷积计算提前做准备,相较于在进行卷积运算的过程中对初始卷积核进行矩阵转置运算,可以进一步提高计算效率。
结合第一方面实施例提供的一种可能的实施方式,所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片之前,所述方法还包括:所述电芯片根据所述目标卷积核的大小以及所述预设步长将所述待计算矩阵拆分为多个待计算子矩阵。本申请实施例中,利用电芯片自己根据目标卷积核的大小以及预设步长将待计算矩阵拆分为多个待计算子矩阵,使得在输入待处理图像数据时,可以直接输入拆分好的数据,不用进行数据的拆分,可以提高处理效率。
第二方面,本申请实施例还提供了一种卷积计算方法,应用于卷积运算电路,所述卷积运算包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元、光子人工智能芯片和电域求和器,所述光子人工智能芯片包括至少N个光子计算单元,其中,所述N为卷积核的行数;所述方法包括:所述电芯片并行地将目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行;所述电芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元,其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;所述N个光子计算单元中的每个光子计算单元各自将对应的所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后给所述电域求和器;所述电域求和器从接收到的电信号中选择所需的电信号进行求和运算后输出。本申请实施例中,利用光子人工智能芯片中的多个光子计算单元同时对同一个待计算子矩阵进行矩阵运算,不同的光子计算单元完成不同行和列的计算,再利用电域求和器从各个光子计算单元输出的电信号中选择所需的电信号进行求和运算后,即可输出想要的计算结果,该方法不需要使用信号滞后单元,可以减少器件的使用,使得电路的整体体积可以设计的较小。
第三方面,本申请实施例还提供了一种卷积运算电路,包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元和光子人工智能芯片;所述电芯片,用于将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片;所述电芯片,还用于依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片,其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;所述光子人工智能芯片,用于将所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后输出。
结合第三方面实施例提供的一种可能的实施方式,所述光子人工智能芯片包括至少N个光子计算单元、滞后单元和光域求和器,所述至少N个光子计算单元中的每个光子计算单元与所述光域求和器之间串接有预定数量的所述滞后单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子计算单元串接的滞后单元的数量相差为M;其中,所述N为所述目标卷积核的行数,M为正整数;相应地,所述电芯片,用于并行地将所述目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行;所述电芯片,还用于按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元;所述N个光子计算单元中的每个光子计算单元,各自用于将对应的所述第一光信号和每个所述第二光信号进行矩阵运算后输出到所述光域求和器;所述光域求和器,用于将同一时刻接收到的光信号进行相加后,通过所述AD转换单元转换后输出。
结合第三方面实施例提供的一种可能的实施方式,所述电芯片,在将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片之前,还用于对初始卷积核进行矩阵转置运算,得到所述目标卷积核。
结合第三方面实施例提供的一种可能的实施方式,所述电芯片,在依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片之前,还用于根据所述目标卷积核的大小以及所述预设步长将所述待计算矩阵拆分为多个待计算子矩阵。
第四方面,本申请实施例还提供了一种卷积运算电路,包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元、光子人工智能芯片和电域求和器,所述光子人工智能芯片包括至少N个光子计算单元,其中,所述N为卷积核的行数;所述电芯片,用于并行地将目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行;所述电芯片,还用于按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元,其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;所述N个光子计算单元中的每个光子计算单元,各自用于将对应的所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后给所述电域求和器;所述电域求和器,用于从接收到的电信号中选择所需的电信号进行求和运算后输出。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种卷积运算电路的结构示意图。
图2示出了本申请实施例提供的图1中的光子人工智能芯片的结构示意图。
图3示出了本申请实施例提供的一种基于图2中的光子人工智能芯片实现一次卷积计算的过程示意图。
图4示出了本申请实施例提供的又一种卷积运算电路的结构示意图。
图5示出了本申请实施例提供的一种卷积计算方法的流程示意图。
图6示出了本申请实施例提供的又一种卷积计算方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
鉴于光子人工智能芯片相较于传统电子数字处理芯片或者器件在实现矩阵乘法方面的巨大优势,本申请提供了一种卷积运算电路,以充分利用光子人工智能芯片能够实现矩阵乘法的特性,将光子人工智能芯片实现的矩阵乘法有机结合到卷积计算中来。如图1所示,该卷积运算电路包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元和光子人工智能芯片。
该卷积运算电路充分将光子与电子的优势组合,形成光电异构架构,以提高卷积运算的速度和降低功耗。其中,光子人工智能芯片主要用于完成卷积计算中的线性计算部分,而电芯片主要用于完成逻辑控制功能。由于目前主流的人工智能(ArtificialIntelligence;AI)计算绝大部分(例如90%以上)的运算是线性运算,算力主要体现在线性的卷积运算上,而卷积运算最后都可以转换成矩阵运算,因此,本申请利用光子人工智能芯片的高性能和高能效的矩阵计算能力来完成卷积计算中的线性计算部分,以提高AI计算能力。
由于电芯片处理的是数字电信号,而光子人工智能芯片处理的是模拟光信号,因此,从电芯片(光子人工智能芯片)流向光子人工智能芯片(电芯片)之间的信号需要在模拟光信号和数字电信号之间相互转换。在本申请中,电芯片与光子人工智能芯片之间通过第一DA转换单元、第二DA转换单元和AD转换单元进行信号转换,其中,第一DA转换单元负责卷积计算权重的信号转换,第二DA转换单元和AD转换单元负责卷积计算数据的信号转换。此外,作为一种实施方式,电芯片可以基于PCIE(Peripheral Component InterconnectExpress)总线、AXI(Advanced eXtensible Interface)总线等总线完成与通用处理器之间的信息交互,如待处理图像数据、卷积计算的权重数据中的至少一种数据可以通过PCIE口进入到电芯片中。当然,待处理图像数据、卷积计算的权重数据中的至少一种数据也可以是事先存储在电芯片内置或外置的存储器中。例如,一种实施方式下,待处理图像数据通过PCIE口进入到电芯片中,目标卷积核的权重数据存储在电芯片内置或外置的存储器中。
在进行卷积计算中的线性部分计算时,电芯片用于将目标卷积核中的权重通过第一DA转换单元转换为第一光信号发送给光子人工智能芯片,以及还用于依次将待计算子矩阵中的数值通过第二DA转换单元转换为第二光信号发送给光子人工智能芯片。光子人工智能芯片用于将第一光信号和每个第二光信号进行矩阵运算,并将矩阵运算后的光信号通过AD转换单元转换后输出给电芯片。对于卷积神经网络算法来说,该电芯片,还用于对接收到的光子人工智能芯片线性处理后的数据进行函数激活、池化等非线性处理。
由于在对输入图像进行卷积处理时,需要将卷积核翻转90度,因此作为一种实施方式,在电芯片将目标卷积核中的权重通过第一DA转换单元转换为第一光信号发送给光子人工智能芯片之前,该电芯片还用于对初始卷积核进行矩阵转置运算,得到该目标卷积核。其中,目标卷积核为初始卷积核的转置矩阵,K= K0 -1(转置)。其中,K为目标卷积核,K0为初始卷积核。
上述的待计算子矩阵为根据目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵。作为一种实施方式,可以是电芯片自己来完成待计算子矩阵的提取,例如,电芯片在依次将待计算子矩阵中的数值通过第二DA转换单元转换为第二光信号发送给光子人工智能芯片之前,还用于根据目标卷积核的大小以及预设步长将待计算矩阵拆分为多个待计算子矩阵。该过程可以是,边拆分边将拆分得到的待计算子矩阵中的数值通过第二DA转换单元转换为第二光信号发送给光子人工智能芯片,也可以是在拆分完所有的待计算子矩阵后,再依次将各个待计算子矩阵中的数值通过第二DA转换单元转换为第二光信号发送给光子人工智能芯片。
当然,可以理解的是,上述的待计算子矩阵的拆分也可以不是由电芯片自己来完成的,例如,通用处理器在向电芯片输入待处理图像数据时,输入的就是已经拆分好的数据,进一步地,通用处理器基于PCIE总线、AXI总线等总线向电芯片依次输入各个待计算子矩阵中的数值,电芯片依次将接收到的各个待计算子矩阵中的数值通过第二DA转换单元转换为第二光信号发送给光子人工智能芯片。
其中,上述的电芯片可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是中央处理器(Central Processing Unit, CPU)、图形处理器(GraphicsProcessing Unit,GPU)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件。通用处理器可以是微处理器或者也可以是任何常规的处理器等。
为了便于理解,以图像为9*9(也即待计算矩阵为9*9),目标卷积核为3*3为例说明 具体执行过程。待计算矩阵为X=
Figure 882118DEST_PATH_IMAGE001
,目标卷积核K=
Figure 295782DEST_PATH_IMAGE002
。那么在第 一次卷积过程中,待计算子矩阵为X1=
Figure 179424DEST_PATH_IMAGE003
=[x1,x2,x3],目标卷积核为K= [k1,k2,k3],其中,x1,x2,x3都是3*1的列向量,k1,k2,k3都是1*3的行向量。卷积的结果为 Z1=k1*x1+k2*x2+k3*x3。假设预设步长(也即将目标卷积核整体在待计算矩阵中向右或向 下滑动的步长)为1,则在第二次卷积过程中,将目标卷积核整体在待计算矩阵中向右滑动1 步,提取出来的待计算子矩阵X2=
Figure 653131DEST_PATH_IMAGE004
=[x2,x3,x4],其中,x2,x3,x4都是3*1的 列向量,则卷积的结果为Z2=k1*x2+k2*x3+k3*x4,以此类推,可以得到Z3=k1*x3+k2*x4+k3* x5,……,Z7=k1*x7+k2*x8+k3*x9。
其中,上述的x1=
Figure 622224DEST_PATH_IMAGE005
,x2=
Figure 573999DEST_PATH_IMAGE006
,x3=
Figure 577727DEST_PATH_IMAGE007
,x4=
Figure 222335DEST_PATH_IMAGE008
,x5=
Figure 177260DEST_PATH_IMAGE009
,x6=
Figure 932726DEST_PATH_IMAGE010
, x7=
Figure 525381DEST_PATH_IMAGE011
,x8=
Figure 340891DEST_PATH_IMAGE012
,x9=
Figure 18997DEST_PATH_IMAGE013
。k1=[K11,K12,K13],k2=[K21,K22,K23],k3=[K31,K32,K33]。
在完成前三行(第一行到第三行)这一层的图像的卷积计算后,接下来向下滑动1步(由于预设步长为1),对第二行到第四行(共三行)这一层的图像进行卷积计算,此时,根据目标卷积核的大小以及预设步长从待计算矩阵中提取出的待计算子矩阵依次为[d1,d2,d3]、[d2,d3,d4]、[d3,d4,d5]、[d4,d5,d6] 、[d5,d6,d7] 、[d6,d7,d8]、[d7,d8,d9],对应的卷积的结果为:
Z1=k1*d1+k2*d2+k3*d3;
Z2=k1*d2+k2*d3+k3*d4;
Z3=k1*d3+k2*d4+k3*d5;
……
Z7=k1*d7+k2*d8+k3*d9;
其中,上述的d1=
Figure 578154DEST_PATH_IMAGE014
,d2=
Figure 556474DEST_PATH_IMAGE015
,d3=
Figure 11726DEST_PATH_IMAGE016
,d4=
Figure 944172DEST_PATH_IMAGE017
,d5=
Figure 41441DEST_PATH_IMAGE018
, d6=
Figure 874268DEST_PATH_IMAGE019
,d7=
Figure 766001DEST_PATH_IMAGE020
,d8=
Figure 684278DEST_PATH_IMAGE021
,d9=
Figure 585238DEST_PATH_IMAGE022
在完成第二行到第四行(共三行)这一层的图像的卷积计算后,依次对第三行到第五行(共三行)、第四行到第六行(共三行)、第五行到第七行(共三行)、第六行到第八行(共三行)、第七行到第九行(共三行)这些层的图像进行卷积计算,可以得到不同层卷积计算后的所有Z1-Z7,共7组Z1-Z7。其中,所有的卷积结果值(Z1-Z7)通过AD转换单元转换为数字信号后发送给电芯片,进行后续处理。后续处理可以为常规深度学习卷积层、池化层等处理。
其中,不同的步长,计算的结果不同;如果步长为2,对每一层的图像进行卷积计算,只能得到Z1、Z3、Z5、Z7四个数,以对前三行(共三行)这一层的图像进行卷积计算为例,此时,根据目标卷积核的大小(3*3)以及预设步长(2)从待计算矩阵(9*9)中提取出的待计算子矩阵依次为[x1,x2,x3]、[x3,x4,x5]、[x5,x6,x7] 、[x7,x8,x9]。同样在向下滑动时,需要往下移两个步长,这样只能得到4组Z1、Z3、Z5、Z7。
其中,需要说明的是,在待计算矩阵中按照预设步长滑动目标卷积核的过程中,若目标卷积核的部分边界超出待计算矩阵的边界,此时可以对待计算矩阵的边界(超出的部分)进行边界填充。以3*3的目标卷积核,8*8的待计算矩阵为例,假设预设步长为2,以对前三行(共三行)这一层的图像进行卷积计算为例,此时,根据目标卷积核的大小(3*3)以及预设步长(2)从待计算矩阵(8*8)中提取出的待计算子矩阵依次为[x1,x2,x3]、[x3,x4,x5]、[x5,x6,x7] [x7,x8,x9]。此时的x9这个列向量便是根据边界填充后的值获得的。其中,填充的方式有多种,可以是补零填充,也可以是边界复制填充,也还可以是镜像填充,也还可以是块填充,该部分内容为本领域技术人员所熟知的内容,在此不再赘述。
作为一种实施方式,上述的光子人工智能芯片包括至少N个光子计算单元、滞后单元和光域求和器。至少N个光子计算单元中的每个光子计算单元与光域求和器之间串接有预定数量的滞后单元,该预定数量取值为大于等于0的整数,且任意相邻的两个光子计算单元串接的滞后单元的数量相差为M;其中,N为目标卷积核的行数,M为正整数。
此时,电芯片用于并行地将目标卷积核中每一行的权重通过第一DA转换单元转换为第一光信号发送给N个光子计算单元,其中,不同的光子计算单元对应不同的行,以及还用于按照列顺序依次将待计算子矩阵中同一列的数值通过第二DA转换单元转换为第二光信号分别发送给N个光子计算单元。N个光子计算单元中的每个光子计算单元,各自用于将对应的第一光信号和每个第二光信号进行矩阵运算后输出到光域求和器。光域求和器用于将同一时刻接收到的光信号进行相加后,通过AD转换单元转换后输出电芯片。
为了便于理解,以图2所示的光子人工智能芯片结构为例进行说明,图2示出了包括5个光子计算单元的情形,第一个光子单元与光域求和器之间串接有4个滞后单元,第二个光子计算单元与光域求和器之间串接有3个滞后单元,第三个光子计算单元与光域求和器之间串接有2个滞后单元,第四个计算光子单元与光域求和器之间串接有1个滞后单元,第五个计算光子单元与光域求和器之间串接有0个滞后单元,也即直接连接。需要说明的是,上述示例的是任意相邻的两个光子计算单元串接的滞后单元的数量相差为1的情形,可以理解的是,任意相邻的两个光子计算单元串接的滞后单元的数量相差也可以为不为1的其他正整数如2、3等。仍然以上述的目标卷积核为例,此时任意选择相邻的三个光子计算单元来完成卷积计算。
其中,Optical Matrix为光学光子计算单元,可以由特定的光学器件构成(例如,可以是马赫曾德尔干涉仪)能够实现将两种光信号矩阵相乘,该部分内容为本领域技术人员所熟知的内容,在此不再赘述。k值代表权重,可由外置电学芯片(如上述的电芯片)控制具体数值大小。需要说明的是,可以是一个光子计算单元对应一个单通道的第一DA转换单元。当然可以是多个光子计算单元共用一个多通道的第一DA转换单元,不同的光子计算单元对应不同的通道,以便于电芯片输入不同的权重。此外,还可以是一个光子计算单元对应一个多通道的第一DA转换单元,或者,采用多通道的第一DA转换单元和单通道的第一DA转换单元的组合方式,即部分的光子计算单元采用多通道的第一DA转换单元,剩余的光子计算单元采用单通道的第一DA转换单元。
以待计算子矩阵为X1=[x1,x2,x3]为例,电芯片并行地将k1、k2、k3通过第一DA转换单元转换为第一光信号发送给3个光子计算单元,例如第一个光子计算单元对应的k1,第二个光子计算单元对应的k2,第二个光子计算单元对应的k3。电芯片按照列顺序依次将待计算子矩阵中同一列的数值通过第二DA转换单元转换为第二光信号分别发送给3个光子计算单元,也即,将x1通过第二DA转换单元转换为第二光信号分别发送给第一个光子计算单元(图3中的Optical Matrix1)、第二个光子计算单元(图3中的Optical Matrix2)、第三个光子计算单元(图3中的Optical Matrix3),此时,第一个光子计算单元对接收到的第一光信号和第二光信号进行矩阵运算后输出k1*x1,同理,第二个光子计算单元输出k2*x1,第三个光子计算单元输出k3*x1;一个周期后,又将x2通过第二DA转换单元转换为第二光信号分别发送给第一个光子计算单元、第二个光子计算单元、第三个光子计算单元,此时,第一个光子计算单元输出k1*x2,同理,第二个光子计算单元输出k2*x2,第三个光子计算单元输出k3*x2;一个周期后,又将x3通过第二DA转换单元转换为第二光信号分别发送给第一个光子计算单元、第二个光子计算单元、第三个光子计算单元,此时,第一个光子计算单元输出k1*x3,同理,第二个光子计算单元输出k2*x3,第三个光子计算单元输出k3*x3。由于第一个光子计算单元后面串接了两个延时单元,使得第一个光子计算单元输出的值会被延时两个单位后到达光域求和器;第二个光子计算单元后面串接了一个延时单元,使得第二个光子计算单元输出的值会被延时一个单位后到达光域求和器,第三个光子计算单元输出的值不会被延时,这样使得k1*x1,k2*x2,k3*x3可同时到达光域求和器,以便于光域求和器将同一时刻接收到的光信号进行相加,便可得到所需要的数值Z1= k1*x1+k2*x2+k3*x3,并将得到的Z1通过AD转换单元转换后输出电芯片,如过程示意图如图3所示。
在完成X1=[x1,x2,x3]的卷积计算后,对待计算子矩阵X2=[x2,x3,x4]进行计算,按照上述的方法,依次将x2,x3,x4通过第二DA转换单元转换为第二光信号分别发送给第一个光子计算单元、第二个光子计算单元、第三个光子计算单元,如此可以得到Z2,依次类推,可以完成不同层的卷积计算后的所有Z1-Z7,最终得到卷积计算结果。不需要的数据不采集即可,直接完成丢弃,可以节约存储空间。同时,光子人工智能芯片输出的数据均为需要的数据,电芯片在接收到该数据后,可以直接进行后续处理,效率更高。为了便于理解,结合表1进行说明。
表1
周期1 周期2 周期3 周期4 周期5 周期6 周期7 周期8 周期9
k1*x1 k1*x2 k1*x3 k1*x4 k1*x5 k1*x6 k1*x7 k1*x8 k1*x9
k2*x1 k2*x2 k2*x3 k2*x4 k2*x5 k2*x6 k2*x7 k2*x8 k2*x9
k3*x1 K3*x2 K3*x3 K3*x4 K3*x5 K3*x6 K3*x7 K3*x8 K3*x9
其中,将表中相邻的三列作为一单元来看,处于每个单元斜对角线的数据即为所需的数据,Z1= k1*x1+k2*x2+k3*x3;Z2=k1*x2+k2*x3+k3*x4,…,Z7=k1*x7+k2*x8+k3*x9。
作为又一种实施方式,当上述的光子人工智能芯片仅包括至少N个光子计算单元时,此时,该光子人工智能芯片中的每个光子计算单元各自对接收到的第一光信号和每个第二光信号进行矩阵运算,并将矩阵运算后的光信号通过AD转换单元转换后输出,也即,此时,光子人工智能芯片输出的是如表1中的数值,进一步地,在Cycle1时刻,光子人工智能芯片输出的是k1*x1,k2*x1,k3*x1;在Cycle2时刻,光子人工智能芯片输出的是k1*x2,k2*x2,k3*x2,也即是按照表1中的列顺序输出的。此时,对应的该卷积运算电路可以包括电域求和器,电域求和器用于将从接收到的电信号中选择所需的电信号进行求和运算后输出给电芯片,也即将表中相邻的三列作为一单元来看,电域求和器选择处于每个单元斜对角线的数据进行求和运算,即可得到需要的数据。此时的卷积运算电路的结构示意图可以参阅图4。其中,需要说明的是,在该种实施方式下,也即当上述的光子人工智能芯片仅包括至少N个光子计算单元时,该卷积运算电路也可以不包括电域求和器,此时,该光子人工智能芯片中的每个光子计算单元各自对接收到的第一光信号和每个第二光信号进行矩阵运算,并将矩阵运算后的光信号通过AD转换单元转换后直接输出给电芯片,由电芯片自己来完成加法运算(如利用软件实现加法运算)。其中,需要说明的是,图4仅示出了多个光子计算单元共用一个多通道的第一DA转换单元的情形,此外,可以是一个光子计算单元对应一个第一DA转换单元(可以是单通道,也可以是多通道),也还可以是采用多通道的第一DA转换单元和单通道的第一DA转换单元的组合方式,因此不能将图4示出的情形理解成是对本申请的限制。
此时,电芯片用于并行地将目标卷积核中每一行的权重通过第一DA转换单元转换为第一光信号发送给N个光子计算单元,其中,不同的光子计算单元对应不同的行;以及还用于按照列顺序依次将待计算子矩阵中同一列的数值通过第二DA转换单元转换为第二光信号分别发送给N个光子计算单元,其中,待计算子矩阵为根据目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵。N个光子计算单元中的每个光子计算单元,各自用于将对应的第一光信号和每个第二光信号进行矩阵运算,并将矩阵运算后的光信号通过AD转换单元转换后给电域求和器。电域求和器,用于从接收到的电信号中选择所需的电信号进行求和运算后输出。
请参阅图5,为本发明实施例提供的一种应用于上述图1-图2所示的卷积运算电路的卷积计算方法。该方法包括:
步骤S101:所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片。
步骤S102:所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片。
步骤S103:所述光子人工智能芯片将所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后输出。
当所述光子人工智能芯片包括至少N个光子计算单元、滞后单元和光域求和器,所述至少N个光子计算单元中的每个光子计算单元与所述光域求和器之间串接有预定数量的所述滞后单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子计算单元串接的滞后单元的数量相差为M;其中,所述N为所述目标卷积核的行数,M为正整数。
此时,相应地,所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片的过程为:所述电芯片并行地将所述目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行。
所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片的过程为:所述电芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元。
所述光子人工智能芯片将所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后输出的过程为:所述N个光子计算单元中的每个光子计算单元各自将对应的所述第一光信号和每个所述第二光信号进行矩阵运算后输出到所述光域求和器;所述光域求和器将同一时刻接收到的光信号进行相加后,通过所述AD转换单元转换后输出。
可选地,所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片之前,所述方法包括:所述电芯片对初始卷积核进行矩阵转置运算,得到所述目标卷积核。
可选地,所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片之前,所述方法还包括:所述电芯片根据所述目标卷积核的大小以及所述预设步长将所述待计算矩阵拆分为多个待计算子矩阵。
本发明实施例所提供的卷积运算方法,其实现原理及产生的技术效果和前述装置实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述装置实施例中相应内容。
请参阅图6,为本发明实施例提供的一种应用于上述图4所示的卷积运算电路的卷积计算方法。该方法包括:
步骤S201:所述电芯片并行地将目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元。
其中,不同的光子计算单元对应不同的行;
步骤S202:所述电芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元。
其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;
步骤S203:所述N个光子计算单元中的每个光子计算单元各自将对应的所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后给所述电域求和器;
步骤S204:所述电域求和器从接收到的电信号中选择所需的电信号进行求和运算后输出。
本发明实施例所提供的卷积运算方法,其实现原理及产生的技术效果和前述装置实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述装置实施例中相应内容。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种卷积计算方法,其特征在于,应用于卷积运算电路,所述卷积运算电路包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元和光子人工智能芯片,所述方法包括:
所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片;
所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片,其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;
所述光子人工智能芯片将所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后输出;
所述光子人工智能芯片包括至少N个光子计算单元、滞后单元和光域求和器,所述至少N个光子计算单元中的每个光子计算单元与所述光域求和器之间串接有预定数量的所述滞后单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子计算单元串接的滞后单元的数量相差为M;其中,所述N为所述目标卷积核的行数,M为正整数;
所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片,包括:
所述电芯片并行地将所述目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行;
所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片,包括:
所述电芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元;
所述光子人工智能芯片将所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后输出,包括:
所述N个光子计算单元中的每个光子计算单元各自将对应的所述第一光信号和每个所述第二光信号进行矩阵运算后输出到所述光域求和器;
所述光域求和器将同一时刻接收到的光信号进行相加后,通过所述AD转换单元转换后输出。
2.根据权利要求1所述的方法,其特征在于,所述电芯片将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片之前,所述方法包括:
所述电芯片对初始卷积核进行矩阵转置运算,得到所述目标卷积核。
3.根据权利要求1所述的方法,其特征在于,所述电芯片依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片之前,所述方法还包括:
所述电芯片根据所述目标卷积核的大小以及所述预设步长将所述待计算矩阵拆分为多个待计算子矩阵。
4.一种卷积计算方法,其特征在于,应用于卷积运算电路,所述卷积运算包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元、光子人工智能芯片和电域求和器,所述光子人工智能芯片包括至少N个光子计算单元,其中,所述N为卷积核的行数;所述方法包括:
所述电芯片并行地将目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行;
所述电芯片按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元,其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;
所述N个光子计算单元中的每个光子计算单元各自将对应的所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后给所述电域求和器;
所述电域求和器从接收到的电信号中选择所需的电信号进行求和运算后输出。
5.一种卷积运算电路,其特征在于,包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元和光子人工智能芯片;
所述电芯片,用于将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片;
所述电芯片,还用于依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片,其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;
所述光子人工智能芯片,用于将所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后输出;
所述光子人工智能芯片包括至少N个光子计算单元、滞后单元和光域求和器,所述至少N个光子计算单元中的每个光子计算单元与所述光域求和器之间串接有预定数量的所述滞后单元,所述预定数量取值为大于等于0的整数,且任意相邻的两个光子计算单元串接的滞后单元的数量相差为M;其中,所述N为所述目标卷积核的行数,M为正整数;
相应地,所述电芯片,用于并行地将所述目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行;
所述电芯片,还用于按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元;
所述N个光子计算单元中的每个光子计算单元,各自用于将对应的所述第一光信号和每个所述第二光信号进行矩阵运算后输出到所述光域求和器;
所述光域求和器,用于将同一时刻接收到的光信号进行相加后,通过所述AD转换单元转换后输出。
6.根据权利要求5所述的电路,其特征在于:
所述电芯片,在将目标卷积核中的权重通过所述第一DA转换单元转换为第一光信号发送给所述光子人工智能芯片之前,还用于对初始卷积核进行矩阵转置运算,得到所述目标卷积核。
7.根据权利要求5所述的电路,其特征在于:
所述电芯片,在依次将待计算子矩阵中的数值通过所述第二DA转换单元转换为第二光信号发送给所述光子人工智能芯片之前,还用于根据所述目标卷积核的大小以及所述预设步长将所述待计算矩阵拆分为多个待计算子矩阵。
8.一种卷积运算电路,其特征在于,包括:电芯片、第一DA转换单元、第二DA转换单元、AD转换单元、光子人工智能芯片和电域求和器,所述光子人工智能芯片包括至少N个光子计算单元,其中,所述N为卷积核的行数;
所述电芯片,用于并行地将目标卷积核中每一行的权重通过所述第一DA转换单元转换为第一光信号发送给所述N个光子计算单元,其中,不同的光子计算单元对应不同的行;
所述电芯片,还用于按照列顺序依次将待计算子矩阵中同一列的数值通过所述第二DA转换单元转换为第二光信号分别发送给所述N个光子计算单元,其中,所述待计算子矩阵为根据所述目标卷积核的大小以及预设步长从待计算矩阵中提取出的子矩阵;
所述N个光子计算单元中的每个光子计算单元,各自用于将对应的所述第一光信号和每个所述第二光信号进行矩阵运算,并将矩阵运算后的光信号通过所述AD转换单元转换后给所述电域求和器;
所述电域求和器,用于从接收到的电信号中选择所需的电信号进行求和运算后输出。
CN202010198738.9A 2020-03-20 2020-03-20 一种卷积计算方法及卷积运算电路 Active CN111340680B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010198738.9A CN111340680B (zh) 2020-03-20 2020-03-20 一种卷积计算方法及卷积运算电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010198738.9A CN111340680B (zh) 2020-03-20 2020-03-20 一种卷积计算方法及卷积运算电路

Publications (2)

Publication Number Publication Date
CN111340680A CN111340680A (zh) 2020-06-26
CN111340680B true CN111340680B (zh) 2023-06-02

Family

ID=71187650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010198738.9A Active CN111340680B (zh) 2020-03-20 2020-03-20 一种卷积计算方法及卷积运算电路

Country Status (1)

Country Link
CN (1) CN111340680B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113610211B (zh) * 2021-06-30 2024-01-23 山东云海国创云计算装备产业创新中心有限公司 一种卷积计算方法、系统、计算机设备及可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388541A (zh) * 2016-04-22 2018-08-10 北京中科寒武纪科技有限公司 卷积运算装置及方法
CN109254350A (zh) * 2018-10-26 2019-01-22 上海交通大学 平铺型光子神经网络卷积层芯片
CN109272110A (zh) * 2018-10-31 2019-01-25 上海交通大学 基于光子神经网络芯片的光电融合智能信号处理系统
CN109754064A (zh) * 2017-11-07 2019-05-14 三星电子株式会社 执行解卷积的神经网络的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388541A (zh) * 2016-04-22 2018-08-10 北京中科寒武纪科技有限公司 卷积运算装置及方法
CN109754064A (zh) * 2017-11-07 2019-05-14 三星电子株式会社 执行解卷积的神经网络的方法和装置
CN109254350A (zh) * 2018-10-26 2019-01-22 上海交通大学 平铺型光子神经网络卷积层芯片
CN109272110A (zh) * 2018-10-31 2019-01-25 上海交通大学 基于光子神经网络芯片的光电融合智能信号处理系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
一种细粒度可重构的深度神经网络加速芯片;刘晏辰;刘洋;;半导体技术(01);全文 *
光子神经网络发展与挑战;陈宏伟;于振明;张天;臧裕斌;淡一航;徐坤;;中国激光(05);全文 *
基于卷积定理的人脸验证CNN模型加速;刘波;郭申;;北京工业大学学报(11);全文 *

Also Published As

Publication number Publication date
CN111340680A (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN111324858B (zh) 一种卷积计算方法及卷积运算电路
CN109902804B (zh) 一种池化运算方法及装置
CN108205700B (zh) 神经网络运算装置和方法
CN110288086B (zh) 一种基于Winograd的可配置卷积阵列加速器结构
CN111445012A (zh) 一种基于fpga的分组卷积硬件加速器及其方法
CN111008003B (zh) 数据处理器、方法、芯片及电子设备
CN110543939A (zh) 一种基于fpga的卷积神经网络后向训练的硬件加速实现架构
CN110362293B (zh) 乘法器、数据处理方法、芯片及电子设备
JP2022541721A (ja) 効率的な乗算のための代替数字形式をサポートするシステムおよび方法
CN110909870B (zh) 训练装置及方法
CN111340680B (zh) 一种卷积计算方法及卷积运算电路
CN110515587B (zh) 乘法器、数据处理方法、芯片及电子设备
CN110673823B (zh) 乘法器、数据处理方法及芯片
CN115906976A (zh) 一种全模拟向量矩阵乘法存内计算电路及其应用
CN111160542A (zh) 集成电路芯片装置及相关产品
CN112862091B (zh) 一种基于快速卷积的资源复用型神经网络硬件加速电路
CN111652359B (zh) 用于矩阵运算的乘法器阵列和用于卷积运算的乘法器阵列
Akkal et al. A new mixed radix conversion algorithm MRC-II
CN109740729B (zh) 运算方法、装置及相关产品
CN113031912A (zh) 乘法器、数据处理方法、装置及芯片
CN109711538B (zh) 运算方法、装置及相关产品
CN111258544A (zh) 乘法器、数据处理方法、芯片及电子设备
CN110647307B (zh) 数据处理器、方法、芯片及电子设备
CN212569855U (zh) 一种激活函数的硬件实现装置
CN111258545B (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