CN110874207A - 基于光芯片的数据处理方法、装置、存储介质及电子设备 - Google Patents

基于光芯片的数据处理方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN110874207A
CN110874207A CN202010060671.2A CN202010060671A CN110874207A CN 110874207 A CN110874207 A CN 110874207A CN 202010060671 A CN202010060671 A CN 202010060671A CN 110874207 A CN110874207 A CN 110874207A
Authority
CN
China
Prior art keywords
matrix
sub
negative number
determining
matrices
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
Application number
CN202010060671.2A
Other languages
English (en)
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 CN202010060671.2A priority Critical patent/CN110874207A/zh
Publication of CN110874207A publication Critical patent/CN110874207A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/4824Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices using signed-digit representation
    • 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/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

Landscapes

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

Abstract

本发明提供了一种基于光芯片的数据处理方法、装置、存储介质及电子设备,该数据处理方法用于计算目标矩阵,其中,目标矩阵至少包括一个负数,该数据处理方法首先获取目标矩阵中负数的属性信息,然后基于目标矩阵中负数的属性信息,将目标矩阵拆分成至少两个子矩阵,子矩阵中各元素均为非负数且子矩阵的差值等于目标矩阵,其中一个子矩阵中的各元素相同且为正数。之后获取目标矩阵的权重参数,基于权重参数以及子矩阵,确定出输出数据。可见在本方案中,首先将包括负数的目标矩阵拆分成至少两个非负数的矩阵,使得负数矩阵的计算转换成常规的非负数的矩阵计算,进而实现了负号运算,并由于一个子矩阵中的各元素相同且均为正数,能够提高计算效率。

Description

基于光芯片的数据处理方法、装置、存储介质及电子设备
技术领域
本发明涉及数据计算技术领域,具体涉及一种基于光芯片的数据处理方法、装置、存储介质及电子设备。
背景技术
随着大数据的快速发展,电子芯片在性能提升和功耗降低等方面均遇到了瓶颈。例如,无论是传统的中央处理器CPU还是后续开发的图形处理器GPU,均将受到摩尔定律失效,使得电子芯片无法支持更大规模的大数据计算。
而光子芯片比电子芯片在深度学习具体应用算法处理上,具备更高的计算能力,能耗更低,但,随着深度学习的应用领域越来越广泛,其会涉及负号处理,而目前光子芯片不能直接进行负号运算。
因此,如何提供一种基于光芯片的数据处理方法,能够进行负号运算,是本领域技术人员亟待解决的一大技术难题。
发明内容
有鉴于此,本发明实施例提供了一种基于光芯片的数据处理方法,能够进行负号运算。
为实现上述目的,本发明实施例提供如下技术方案:
一种基于光芯片的数据处理方法,用于计算目标矩阵,所述目标矩阵至少包括一个负数,所述数据处理方法包括:
获取所述目标矩阵中负数的属性信息,所述属性信息至少包括所述负数在所述目标矩阵中的位置信息以及所述负数的数值;
基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,所述子矩阵中各元素均为非负数,且所述子矩阵的差值等于所述目标矩阵,其中一个子矩阵中的各元素相同且为正数;
获取所述目标矩阵的权重参数;
基于所述权重参数以及所述子矩阵,确定出输出数据。
可选的,所述基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,包括:
获取所述目标矩阵中的负数的最小值;
确定第一子矩阵中的元素均为第一预设值,所述第一预设值为正数且大于等于所述最小值的绝对值;
基于所述第一子矩阵以及所述目标矩阵,确定出第二子矩阵,所述第一子矩阵与所述第二子矩阵的差值等于所述目标矩阵。
可选的,所述基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,包括:
将所述第一子矩阵和/或所述第二子矩阵拆分成至少两个分矩阵,所述分矩阵中各元素均为非负数。
可选的,所述基于所述权重参数以及所述子矩阵,确定出输出数据,包括:
获取所述第一子矩阵与所述权重参数的乘积,确定为第一运算结果;
获取所述第二子矩阵与所述权重参数的乘积,确定为第二运算结果;
确定所述第一运算结果与所述第二运算结果的差值为所述输出数据。
可选的,所述基于所述权重参数以及所述子矩阵,确定出输出数据,包括:
确定所述第一子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第一分运算结果;
确定所述第二子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第二分运算结果;
确定所述第一分运算结果与所述第二分运算结果的差值为所述输出数据。
一种基于光芯片的数据处理装置,用于计算目标矩阵,所述目标矩阵至少包括一个负数,所述数据处理装置包括:
第一获取模块,用于获取所述目标矩阵中负数的属性信息,所述属性信息至少包括所述负数在所述目标矩阵中的位置信息以及所述负数的数值;
拆分模块,用于基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,所述子矩阵中各元素均为非负数,且所述子矩阵的差值等于所述目标矩阵,其中一个子矩阵中的各元素相同且为正数;
第二获取模块,用于获取所述目标矩阵的权重参数;
确定模块,用于基于所述权重参数以及所述子矩阵,确定出输出数据。
可选的,所述拆分模块包括:
第一获取单元,用于获取所述目标矩阵中的负数的最小值;
第一确定单元,用于确定第一子矩阵中的元素均为第一预设值,所述第一预设值为正数且大于等于所述最小值的绝对值;
第二确定单元,用于基于所述第一子矩阵以及所述目标矩阵,确定出第二子矩阵,所述第一子矩阵与所述第二子矩阵的差值等于所述目标矩阵;
拆分单元,用于将所述第一子矩阵和/或所述第二子矩阵拆分成至少两个分矩阵,所述分矩阵中各元素均为非负数。
可选的,所述确定模块包括:
第二获取单元,用于获取所述第一子矩阵与所述权重参数的乘积,确定为第一运算结果;
第三获取单元,用于获取所述第二子矩阵与所述权重参数的乘积,确定为第二运算结果;
第二确定单元,用于确定所述第一运算结果与所述第二运算结果的差值为所述输出数据;
和/或,
第三确定单元,用于确定所述第一子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第一分运算结果;
第四确定单元,用于确定所述第二子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第二分运算结果;
第五确定单元,用于确定所述第一分运算结果与所述第二分运算结果的差值为所述输出数据。
一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行任意一项上述的基于光芯片的数据处理方法。
一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行任意一项上述的基于光芯片的数据处理方法。
基于上述技术方案,本发明提供了一种基于光芯片的数据处理方法、装置、存储介质及电子设备,该数据处理方法用于计算目标矩阵,其中,目标矩阵至少包括一个负数,该数据处理方法首先获取所述目标矩阵中负数的属性信息,其中,所述属性信息至少包括所述负数在所述目标矩阵中的位置信息以及所述负数的数值,然后基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,所述子矩阵中各元素均为非负数,且所述子矩阵的差值等于所述目标矩阵,其中一个子矩阵中的各元素相同且为正数。之后获取所述目标矩阵的权重参数,基于所述权重参数以及所述子矩阵,确定出输出数据。可见在本方案中,首先将包括负数的目标矩阵拆分成至少两个非负数的矩阵,使得负数矩阵的计算转换成常规的非负数的矩阵计算,进而实现了负号运算,并由于一个子矩阵中的各元素相同且均为正数,能够减少计算次数,提高计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种基于光芯片的数据处理方法的流程示意图;
图2为本发明实施例提供的一种基于光芯片的数据处理方法的又一流程示意图;
图3为本发明实施例提供的一种基于光芯片的数据处理方法的又一流程示意图;
图4为本发明实施例提供的一种基于光芯片的数据处理方法的又一流程示意图;
图5为本发明实施例提供的一种基于光芯片的数据处理方法的又一流程示意图;
图6为本发明实施例提供的一种基于光芯片的数据处理装置的结构示意图;
图7为本发明实施例提供的一种电子设备的硬件示意图。
具体实施方式
正如背景技术所述,在深度学习等技术领域上,光子人工智能芯片比电子人工智能芯片的计算能力更强,能耗更低。但发明人发现,目前的光子人工智能芯片不能直接进行负号运算,因为光芯片的本质是模拟计算,而光域的加法可以通过两个光波直接叠加得到,但光域的减法则无法直接通过两个光波的处理实现。
值得一提的是,模拟信号实现减法的原理是通过运算放大器,而光芯片的放大器结构复杂且成本较高。
基于此,请参阅图1,图1为本发明实施例提供的一种基于光芯片的数据处理方法的流程示意图,该数据处理方法用于计算目标矩阵,所述目标矩阵至少包括一个负数,该数据处理方法包括:
S11、获取所述目标矩阵中负数的属性信息。
在本实施例中,目标矩阵为需要进行矩阵计算的包含负数的矩阵,例如,矩阵X=
Figure 866146DEST_PATH_IMAGE001
,其中,-2和-4为负数。
具体的,在本实施例中,属性信息至少包括所述负数在所述目标矩阵中的位置信息以及所述负数的数值。结合上述矩阵X,可知,负数-2的属性信息为位置信息为第一行第一列以及数值为-2。同样,负数-4的属性信息为位置信息为第三行第三列以及数值为-4。
S12、基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,所述子矩阵中各元素均为非负数,且所述子矩阵的差值等于所述目标矩阵,其中一个子矩阵中的各元素相同且为正数;
结合背景技术可知,光芯片在对包含有负数的矩阵进行计算时,不能直接通过两个光波的处理实现,而是需要通过成本较高、结构较复杂的运算放大器实现,因此,在本实施例中,发明人将包含有负数的目标矩阵拆分成至少两个非负数的子矩阵,使得拆分后的子矩阵的差值等于目标矩阵。
例如,假设目标矩阵为上述矩阵X,那么,可以将矩阵X拆分成子矩阵X1=
Figure 983619DEST_PATH_IMAGE002
以及子矩阵X2=
Figure 232198DEST_PATH_IMAGE003
,那么,则有X1-X2=X。
又如,可以将矩阵X拆分成子矩阵X1=
Figure 830670DEST_PATH_IMAGE004
以及子矩阵X2=
Figure 113883DEST_PATH_IMAGE005
,同样,需要保证X1-X2=X。
值得一提的是,在本实施例中,只需保证将矩阵X拆分成至少两个非负数的子矩阵,且其中一个子矩阵中的各元素相同且为正数即可,例如,-2可以拆分为0与2的差,还可以拆分为1与3的差,还可以拆分成4与6的差,等。
示意性的,假设矩阵X=
Figure 405187DEST_PATH_IMAGE006
,那么,可以将矩阵X拆分成子矩阵X1=
Figure 875483DEST_PATH_IMAGE007
以及子矩阵X2=
Figure 277646DEST_PATH_IMAGE008
,其中,
Figure 415366DEST_PATH_IMAGE009
Figure 611992DEST_PATH_IMAGE010
Figure 835163DEST_PATH_IMAGE011
Figure 244279DEST_PATH_IMAGE012
Figure 236505DEST_PATH_IMAGE013
Figure 866682DEST_PATH_IMAGE014
Figure 577149DEST_PATH_IMAGE015
Figure 321115DEST_PATH_IMAGE016
以及
Figure 167848DEST_PATH_IMAGE017
为非负数,
Figure 971856DEST_PATH_IMAGE018
为正数。
S13、获取所述目标矩阵的权重参数;
S14、基于所述权重参数以及所述子矩阵,确定出输出数据。
发明人考虑到,假设k为列向量,X1、X2、Y1、Y2为N阶矩阵,若k*X1=Y1,k*X2=Y2,则有k*(X1-X2)=(Y1-Y2)。其中,将X1-X2看作具有负数的矩阵X,那么k*X=(Y1-Y2)=k*X1-k*X2。因此,即便k*X不能通过直接运算得到目标答案,但是,本发明实施例可以通过将X拆分成两个矩阵X1及X2,然后分别求解k*X1以及k*X2,之后再将Y1与Y2相减,进而得到目标数据。
基于此,步骤S13首先获取目标矩阵X的权重参数k,然后基于权重参数k以及子矩阵X1、X2,计算出k*X1以及k*X2,之后再将k*X1与k*X2相减,进而得到目标数据,作为本方案提供的基于光芯片的数据处理方法的输出数据。
值得一提的是,对于一个n*m的矩阵,可以将它视为一个函数,将一个n维的向量转化为一个m维度的向量。而这个n*m的矩阵为kernel,m维的向量是n维向量的image。
那么,矩阵与向量的乘积,如
Figure 904040DEST_PATH_IMAGE019
=
Figure 451696DEST_PATH_IMAGE020
=
Figure 418515DEST_PATH_IMAGE021
。而由于本方案中,一个子矩阵的所有元素均相同,使得在计算时,该子矩阵只需计算一次,例如:
假设
Figure 393424DEST_PATH_IMAGE022
Figure 812904DEST_PATH_IMAGE023
,则
Figure 164251DEST_PATH_IMAGE024
Figure 719997DEST_PATH_IMAGE025
,此时计算k*X2只需要计算一次,即矩阵X2第一行中数据与k相乘,1*1+1*2+1*3。
可见,本发明实施例将包含有负数的输入数据分解为两个或两个以上的非负的输入数据,将拆分后的输入数据分别与原权重参数进行运算,将运算后的结果进行融合,生成最终的输出数据,实现了负号运算的同时,能够减少计算次数,提高计算效率。
在上述实施例的基础上,本发明实施例提供了几种基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵的具体实现方式,如下:
方式一
如图2所示,步骤S12可以通过如下步骤实现,包括:
S21、获取所述目标矩阵中的负数的最小值;
S22、确定第一子矩阵中的元素均为第一预设值,所述第一预设值为正数且大于等于所述最小值的绝对值;
S23、基于所述第一子矩阵以及所述目标矩阵,确定出第二子矩阵,所述第一子矩阵与所述第二子矩阵的差值等于所述目标矩阵。
示意性的,
例如,假设目标矩阵为矩阵X=
Figure 131387DEST_PATH_IMAGE026
,那么,目标矩阵X中的负数为-2以及-4,由于-4小于-2,那么该最小值-4的绝对值为4,则确定第一预设值为大于等于4的正数。
以第一预设值为4为例,确定出第一子矩阵X2=
Figure 38163DEST_PATH_IMAGE027
然后,基于所述第一子矩阵以及所述目标矩阵,确定出第二子矩阵X1=
Figure 995050DEST_PATH_IMAGE028
,则有X1-X2=X。
方式二
当将目标矩阵拆分成两个子矩阵时,除上述方式一外,还可以将目标矩阵X拆分成任意两个不包含负数的子矩阵,只需满足X1-X2=X,且,其中一个子矩阵中的各元素相同且为正数即可。
例如,可以将矩阵X拆分成子矩阵X1=
Figure 936461DEST_PATH_IMAGE029
以及子矩阵X2=
Figure 253173DEST_PATH_IMAGE030
方式三
如图3所示,步骤S12可以通过如下步骤实现,包括:
S31、将所述第一子矩阵和/或所述第二子矩阵拆分成至少两个分矩阵,所述分矩阵中各元素均为非负数。
具体的,本实施例中,在上述将矩阵X拆分成第一子矩阵X1以及第二子矩阵X2之后,还可以进一步将第一子矩阵X1以及第二子矩阵X2拆分成多个分矩阵,例如,将第一子矩阵X1拆分成分矩阵D、分矩阵E以及分矩阵F,即,X1=D+E+F。
同样,将第二子矩阵X2拆分成分矩阵G、分矩阵H、分矩阵I以及分矩阵J,即,X2=G+H+I+J。
其中,分矩阵D、分矩阵E、分矩阵F、分矩阵G、分矩阵H、分矩阵I以及分矩阵J中的各元素均为非负数。
在上述实施例的基础上,本发明实施例还提供了几种基于所述权重参数以及所述子矩阵,确定出输出数据的具体实现方式,如下:
当将目标矩阵拆分成至少两个子矩阵时,如图4所示,包括步骤:
S41、获取所述第一子矩阵与所述权重参数的乘积,确定为第一运算结果;
S42、获取所述第二子矩阵与所述权重参数的乘积,确定为第二运算结果;
S43、确定所述第一运算结果与所述第二运算结果的差值为所述输出数据。
例如,原有输入数据A=B-C,那么A、B、C分别计算后,按照A*k=B*k-C*k方式融合。
除此,当将子矩阵拆分成多个分矩阵时,如图5所示,包括步骤:
S51、确定所述第一子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第一分运算结果;
S52、确定所述第二子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第二分运算结果;
S53、确定所述第一分运算结果与所述第二分运算结果的差值为所述输出数据。
例如,原有输入数据A=(D+E+F)-(G+H+I+J),那么分别计算后,按照A*k=(D*k+E*k+F*k)- (G*k+H*k+I*k+J*k)方式融合。
在上述实施例的基础上,如图6所示,本发明实施例还提供了一种基于光芯片的数据处理装置,用于计算目标矩阵,所述目标矩阵至少包括一个负数,该数据处理装置包括:
第一获取模块61,用于获取所述目标矩阵中负数的属性信息,所述属性信息至少包括所述负数在所述目标矩阵中的位置信息以及所述负数的数值;
拆分模块62,用于基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,所述子矩阵中各元素均为非负数,且所述子矩阵的差值等于所述目标矩阵,其中一个子矩阵中的各元素相同且为正数;;
第二获取模块63,用于获取所述目标矩阵的权重参数;
确定模块64,用于基于所述权重参数以及所述子矩阵,确定出输出数据。
其中,所述拆分模块可以包括:
第一获取单元,用于获取所述目标矩阵中的负数的最小值;
第一确定单元,用于确定第一子矩阵中的元素均为第一预设值,所述第一预设值为正数且大于等于所述最小值的绝对值;
第二确定单元,用于基于所述第一子矩阵以及所述目标矩阵,确定出第二子矩阵,所述第一子矩阵与所述第二子矩阵的差值等于所述目标矩阵;
拆分单元,用于将所述第一子矩阵和/或所述第二子矩阵拆分成至少两个分矩阵,所述分矩阵中各元素均为非负数。
除此,本实施例提供的数据处理装置中,所述确定模块可以包括:
第二获取单元,用于获取所述第一子矩阵与所述权重参数的乘积,确定为第一运算结果;
第三获取单元,用于获取所述第二子矩阵与所述权重参数的乘积,确定为第二运算结果;
第二确定单元,用于确定所述第一运算结果与所述第二运算结果的差值为所述输出数据;
和/或,
第三确定单元,用于确定所述第一子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第一分运算结果;
第四确定单元,用于确定所述第二子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第二分运算结果;
第五确定单元,用于确定所述第一分运算结果与所述第二分运算结果的差值为所述输出数据。
该装置的工作原理请参见上述方法实施例,在此不重复叙述。
基于光芯片的数据处理装置包括处理器和存储器,上述第一获取模块、拆分模块、第二获取模块以及确定模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现负号运算。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述基于光芯片的数据处理的方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述基于光芯片的数据处理的方法。
本发明实施例提供了一种设备,如图7所示,设备包括至少一个处理器71、以及与处理器连接的至少一个存储器72、总线73;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述的基于光芯片的数据处理的方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
一种基于光芯片的数据处理方法,用于计算目标矩阵,所述目标矩阵至少包括一个负数,所述数据处理方法包括:
获取所述目标矩阵中负数的属性信息,所述属性信息至少包括所述负数在所述目标矩阵中的位置信息以及所述负数的数值;
基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,所述子矩阵中各元素均为非负数,且所述子矩阵的差值等于所述目标矩阵;
获取所述目标矩阵的权重参数;
基于所述权重参数以及所述子矩阵,确定出输出数据。
可选的,所述基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,包括:
将所述目标矩阵中的负数替换成第一预设非负值,所述目标矩阵中的其他元素不变,生成第一子矩阵;
将所述目标矩阵中的正数替换成所述第一预设非负值,所述目标矩阵中的其他元素取绝对值,生成第二子矩阵,其中,所述第一子矩阵与所述第二子矩阵的差值等于所述目标矩阵,所述第一预设非负值为零。
可选的,所述基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,包括:
将所述第一子矩阵和/或所述第二子矩阵拆分成至少两个分矩阵,所述分矩阵中各元素均为非负数。
可选的,所述基于所述权重参数以及所述子矩阵,确定出输出数据,包括:
获取所述第一子矩阵与所述权重参数的乘积,确定为第一运算结果;
获取所述第二子矩阵与所述权重参数的乘积,确定为第二运算结果;
确定所述第一运算结果与所述第二运算结果的差值为所述输出数据。
可选的,所述基于所述权重参数以及所述子矩阵,确定出输出数据,包括:
确定所述第一子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第一分运算结果;
确定所述第二子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第二分运算结果;
确定所述第一分运算结果与所述第二分运算结果的差值为所述输出数据。
综上,本发明提供了一种基于光芯片的数据处理方法、装置、存储介质及电子设备,该数据处理方法用于计算目标矩阵,其中,目标矩阵至少包括一个负数,该数据处理方法首先获取目标矩阵中负数的属性信息,其中,属性信息至少包括负数在目标矩阵中的位置信息以及负数的数值,然后基于目标矩阵中负数的属性信息,将目标矩阵拆分成至少两个子矩阵,子矩阵中各元素均为非负数,且子矩阵的差值等于目标矩阵。之后获取目标矩阵的权重参数,基于权重参数以及子矩阵,确定出输出数据。可见在本方案中,首先将包括负数的目标矩阵拆分成至少两个非负数的矩阵,使得负数矩阵的计算转换成常规的非负数的矩阵计算,进而实现了负号运算。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于光芯片的数据处理方法,其特征在于,用于计算目标矩阵,所述目标矩阵至少包括一个负数,所述数据处理方法包括:
获取所述目标矩阵中负数的属性信息,所述属性信息至少包括所述负数在所述目标矩阵中的位置信息以及所述负数的数值;
基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,所述子矩阵中各元素均为非负数,且所述子矩阵的差值等于所述目标矩阵,其中一个子矩阵中的各元素相同且为正数;
获取所述目标矩阵的权重参数;
基于所述权重参数以及所述子矩阵,确定出输出数据。
2.根据权利要求1所述的基于光芯片的数据处理方法,其特征在于,所述基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,包括:
获取所述目标矩阵中的负数的最小值;
确定第一子矩阵中的元素均为第一预设值,所述第一预设值为正数且大于等于所述最小值的绝对值;
基于所述第一子矩阵以及所述目标矩阵,确定出第二子矩阵,所述第一子矩阵与所述第二子矩阵的差值等于所述目标矩阵。
3.根据权利要求2所述的基于光芯片的数据处理方法,其特征在于,所述基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,包括:
将所述第一子矩阵和/或所述第二子矩阵拆分成至少两个分矩阵,所述分矩阵中各元素均为非负数。
4.根据权利要求2所述的基于光芯片的数据处理方法,其特征在于,所述基于所述权重参数以及所述子矩阵,确定出输出数据,包括:
获取所述第一子矩阵与所述权重参数的乘积,确定为第一运算结果;
获取所述第二子矩阵与所述权重参数的乘积,确定为第二运算结果;
确定所述第一运算结果与所述第二运算结果的差值为所述输出数据。
5.根据权利要求3所述的基于光芯片的数据处理方法,其特征在于,所述基于所述权重参数以及所述子矩阵,确定出输出数据,包括:
确定所述第一子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第一分运算结果;
确定所述第二子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第二分运算结果;
确定所述第一分运算结果与所述第二分运算结果的差值为所述输出数据。
6.一种基于光芯片的数据处理装置,其特征在于,用于计算目标矩阵,所述目标矩阵至少包括一个负数,所述数据处理装置包括:
第一获取模块,用于获取所述目标矩阵中负数的属性信息,所述属性信息至少包括所述负数在所述目标矩阵中的位置信息以及所述负数的数值;
拆分模块,用于基于所述目标矩阵中负数的属性信息,将所述目标矩阵拆分成至少两个子矩阵,所述子矩阵中各元素均为非负数,且所述子矩阵的差值等于所述目标矩阵,其中一个子矩阵中的各元素相同且为正数;
第二获取模块,用于获取所述目标矩阵的权重参数;
确定模块,用于基于所述权重参数以及所述子矩阵,确定出输出数据。
7.根据权利要求6所述的基于光芯片的数据处理装置,其特征在于,所述拆分模块包括:
第一获取单元,用于获取所述目标矩阵中的负数的最小值;
第一确定单元,用于确定第一子矩阵中的元素均为第一预设值,所述第一预设值为正数且大于等于所述最小值的绝对值;
第二确定单元,用于基于所述第一子矩阵以及所述目标矩阵,确定出第二子矩阵,所述第一子矩阵与所述第二子矩阵的差值等于所述目标矩阵;
拆分单元,用于将所述第一子矩阵和/或所述第二子矩阵拆分成至少两个分矩阵,所述分矩阵中各元素均为非负数。
8.根据权利要求7所述的基于光芯片的数据处理装置,其特征在于,所述确定模块包括:
第二获取单元,用于获取所述第一子矩阵与所述权重参数的乘积,确定为第一运算结果;
第三获取单元,用于获取所述第二子矩阵与所述权重参数的乘积,确定为第二运算结果;
第二确定单元,用于确定所述第一运算结果与所述第二运算结果的差值为所述输出数据;
和/或,
第三确定单元,用于确定所述第一子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第一分运算结果;
第四确定单元,用于确定所述第二子矩阵中各所述分矩阵与所述权重参数的乘积的分运算结果之和为第二分运算结果;
第五确定单元,用于确定所述第一分运算结果与所述第二分运算结果的差值为所述输出数据。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任意一项所述的基于光芯片的数据处理方法。
10.一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至5中任意一项所述的基于光芯片的数据处理方法。
CN202010060671.2A 2020-01-19 2020-01-19 基于光芯片的数据处理方法、装置、存储介质及电子设备 Pending CN110874207A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010060671.2A CN110874207A (zh) 2020-01-19 2020-01-19 基于光芯片的数据处理方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010060671.2A CN110874207A (zh) 2020-01-19 2020-01-19 基于光芯片的数据处理方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN110874207A true CN110874207A (zh) 2020-03-10

Family

ID=69717688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010060671.2A Pending CN110874207A (zh) 2020-01-19 2020-01-19 基于光芯片的数据处理方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN110874207A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850533A (zh) * 2015-04-22 2015-08-19 南京大学 一种带约束的非负矩阵分解方法及求解方法
CN105389291A (zh) * 2015-12-21 2016-03-09 西安电子科技大学 基于增量式凸局部非负矩阵分解的数据处理方法
US20190042543A1 (en) * 2017-08-02 2019-02-07 Fujitsu Limited Matrix decomposition device and matrix decomposition method
CN110263295A (zh) * 2019-05-18 2019-09-20 南京惟心光电系统有限公司 一种基于光电计算阵列的矩阵向量乘法器的运算优化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850533A (zh) * 2015-04-22 2015-08-19 南京大学 一种带约束的非负矩阵分解方法及求解方法
CN105389291A (zh) * 2015-12-21 2016-03-09 西安电子科技大学 基于增量式凸局部非负矩阵分解的数据处理方法
US20190042543A1 (en) * 2017-08-02 2019-02-07 Fujitsu Limited Matrix decomposition device and matrix decomposition method
CN110263295A (zh) * 2019-05-18 2019-09-20 南京惟心光电系统有限公司 一种基于光电计算阵列的矩阵向量乘法器的运算优化方法

Similar Documents

Publication Publication Date Title
CN112074806B (zh) 用于块浮点计算的系统、方法和计算机存储介质
US20210004663A1 (en) Neural network device and method of quantizing parameters of neural network
US10929746B2 (en) Low-power hardware acceleration method and system for convolution neural network computation
CN107533667B (zh) 神经网络处理器中的向量计算单元
CN107944545B (zh) 应用于神经网络的计算方法及计算装置
WO2019238029A1 (zh) 卷积神经网络系统和卷积神经网络量化的方法
US11651198B2 (en) Data processing method and apparatus for neural network
CN108205680B (zh) 图像特征提取集成电路、方法、终端
US20200389182A1 (en) Data conversion method and apparatus
CN110874206A (zh) 基于光芯片的数据处理方法、装置、存储介质及电子设备
CN113222813B (zh) 图像超分辨率重建方法、装置、电子设备及存储介质
CN111401514A (zh) 基于改进图卷积网络的半监督符号网络嵌入方法及系统
US11989956B2 (en) Dynamic head for object detection
CN110874207A (zh) 基于光芯片的数据处理方法、装置、存储介质及电子设备
WO2021081854A1 (zh) 一种卷积运算电路和卷积运算方法
US20220138528A1 (en) Data processing method for neural network accelerator, device and storage medium
CN113436292B (zh) 图像处理方法、图像处理模型的训练方法、装置及设备
CN113313253A (zh) 神经网络压缩方法、数据处理方法、装置及计算机设备
CN111930670B (zh) 异构智能处理量化装置、量化方法、电子设备及存储介质
CN112232361B (zh) 图像处理的方法及装置、电子设备及计算机可读存储介质
CN111313985B (zh) 宽带电力线载波通信模拟噪声生成方法、装置及电子设备
CN114444688A (zh) 神经网络的量化方法、装置、设备、存储介质及程序产品
CN108229668B (zh) 基于深度学习的运算实现方法、装置和电子设备
CN113869517A (zh) 一种基于深度学习模型的推理方法
CN112560677A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200310

RJ01 Rejection of invention patent application after publication