CN117273098A - 自注意力运算方法、装置、电子设备及存储介质 - Google Patents
自注意力运算方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117273098A CN117273098A CN202311165021.4A CN202311165021A CN117273098A CN 117273098 A CN117273098 A CN 117273098A CN 202311165021 A CN202311165021 A CN 202311165021A CN 117273098 A CN117273098 A CN 117273098A
- Authority
- CN
- China
- Prior art keywords
- matrix
- pulse
- attention
- pulse matrix
- self
- 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
Links
- 238000004364 calculation method Methods 0.000 title claims description 22
- 239000011159 matrix material Substances 0.000 claims abstract description 312
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 34
- 210000002569 neuron Anatomy 0.000 claims description 31
- 238000013507 mapping Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000005265 energy consumption Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 239000000654 additive Substances 0.000 description 3
- 230000000996 additive effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000012421 spiking Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- 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)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Mathematical Optimization (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种自注意力运算方法、装置、电子设备及存储介质,应用于数据处理技术领域,该方法包括:获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种自注意力运算方法、装置、电子设备及存储介质。
背景技术
由于在低能耗、事件驱动特性和生物可塑性等方面,脉冲神经网络(SpikingNeural Network,SNN)均展现出良好性能,因此,随着深度学习的发展,SNN得到了广泛应用。而诞生于自然语言处理领域的Transformer模型基于其完全的自注意力机制,以并行方式提高了计算效率,因此近年来也在计算机视觉领域取得突破性的应用。
在相关技术中,为了提高Transformer模型的运算性能,可以将脉冲神经网络应用到Transformer模型中,然而,由于脉冲神经网络的计算特性和传统的自注意力运算不兼容,因此,如何将SNN应用到Transformer模型中为当前亟待解决的问题。
发明内容
本发明提供一种自注意力运算方法、装置、电子设备及存储介质,用以解决如何将SNN应用到Transformer模型中的问题。
本发明提供一种自注意力运算方法,包括:获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
根据本发明提供一种的自注意力运算方法,所述第一注意力运算包括:按元素运算、求和运算和神经元运算;所述对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵,包括:对所述第一脉冲矩阵和所述第二脉冲矩阵进行按元素运算,得到第一矩阵;对所述第一矩阵进行按列求和运算,得到第一向量;对所述第一向量进行神经元运算,得到所述第四脉冲矩阵,所述第四脉冲矩阵为脉冲向量。
根据本发明提供一种的自注意力运算方法,所述按元素运算为以下任一项:按元素逻辑与运算、按元素逻辑或运算、按元素逻辑异或运算、按元素IAND运算。
根据本发明提供一种的自注意力运算方法,所述第二注意力运算为按列掩码运算。
根据本发明提供一种的自注意力运算方法,所述获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵,包括:获取第一输入矩阵、第二输入矩阵以及第三输入矩阵;对所述第一输入矩阵进行线性映射和神经元处理得到所述第一脉冲矩阵,对所述第二输入矩阵进行线性映射和神经元处理得到所述第二脉冲矩阵,对所述第三输入矩阵进行线性映射和神经元处理得到所述第三脉冲矩阵。
本发明还提供一种自注意力运算装置,包括:获取模块和处理模块;所述获取模块,用于获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;所述处理模块,用于对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
根据本发明提供一种的自注意力运算装置,所述第一注意力运算包括:按元素运算、求和运算和神经元运算;所述处理模块,具体用于对所述第一脉冲矩阵和所述第二脉冲矩阵进行按元素运算,得到第一矩阵;对所述第一矩阵进行按列求和运算,得到第一向量;对所述第一向量进行神经元运算,得到所述第四脉冲矩阵,所述第四脉冲矩阵为脉冲向量。
根据本发明提供一种的自注意力运算装置,所述按元素运算为以下任一项:按元素逻辑与运算、按元素逻辑或运算、按元素逻辑异或运算、按元素IAND运算。
根据本发明提供一种的自注意力运算装置,所述第二注意力运算为按列掩码运算。
根据本发明提供一种的自注意力运算装置,所述获取模块具体用于获取第一输入矩阵、第二输入矩阵以及第三输入矩阵;所述处理模块,具体用于对所述第一输入矩阵进行线性映射和神经元处理得到所述第一脉冲矩阵,对所述第二输入矩阵进行线性映射和神经元处理得到所述第二脉冲矩阵,对所述第三输入矩阵进行线性映射和神经元处理得到所述第三脉冲矩阵。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述自注意力运算方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述自注意力运算方法的步骤。
本发明提供的自注意力运算方法、装置、电子设备及存储介质,可以获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。通过该方案,第一脉冲矩阵和第二脉冲矩阵经过第一注意力运算后可以得到第四脉冲矩阵,第三脉冲矩阵和第四脉冲矩阵经过第二注意力运算后可以输出第五脉冲矩阵,由于第五脉冲矩阵的矩阵维度与第三脉冲矩阵的矩阵维度相同,因此可以实现脉冲神经网络与自注意力运算的融合;由于第一注意力运算和第二注意力运算均为全加法运算,因此可以减小模型的计算开销和能量消耗,从而提升模型的处理性能。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的自注意力运算方法的流程示意图之一;
图2是本发明提供的自注意力运算方法的流程示意图之二;
图3是本发明提供的自注意力运算方法的流程示意图之三;
图4是本发明提供的自注意力运算装置的结构示意图;
图5是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本发明实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
为了便于清楚描述本发明实施例的技术方案,在本发明实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
本发明实施例为了阐释的目的而描述了一些示例性实施例,需要理解的是,本发明可通过附图中没有具体示出的其他方式来实现。
在SNN和Transformer相结合的问题上,相关技术可以通过将注意力运算方式修改为完全的脉冲运算来实现,但这种结合保留了注意力运算中的乘法,不完全符合脉冲神经网络的脉冲事件驱动特性,且矩阵乘法运算也增大了模型的计算开销和能量消耗。
基于上述问题,本申请实施例提供了一种自注意力运算方法,该方法包括:获取第一脉冲矩阵Q、第二脉冲矩阵K以及第三脉冲矩阵V;并根据公式:SDSA(Q,K,V)=(Q★K)◇V确定自注意力算子(Spike-Driven Self-Attention,SDSA)的输出,其中,符号“★”表示第一注意力运算,符号“◇”表示第二注意力运算,第一注意力运算和第二注意力运算均为全加法运算。通过该方案,由于第一注意力运算和第二注意力运算均为全加法运算,因此使得注意力运算更加符合脉冲神经网络的事件驱动特性,不仅有利于其在神经形态芯片中的运算部署,而且可以极大地降低模型运行能耗。
需要说明的是,通过本申请实施例的方法得到的自注意力算子SDSA可以用作构成脉冲神经网络的基本单元,例如,可以应用于图像分类数据集和神经形态数据集。
下面结合具体实施例和附图对上述实现方式进行详细的阐述。
如图1所示,本发明实施例提供一种自注意力运算方法,该自注意力运算方法可以应用于自注意力运算装置。该自注意力运算方法可以包括S101-S103:
S101、自注意力运算装置获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵。
可选地,自注意力运算装置可以获取第一输入矩阵、第二输入矩阵以及第三输入矩阵;对所述第一输入矩阵进行线性映射和神经元处理得到所述第一脉冲矩阵,对所述第二输入矩阵进行线性映射和神经元处理得到所述第二脉冲矩阵,对所述第三输入矩阵进行线性映射和神经元处理得到所述第三脉冲矩阵。
具体地,如图2所示,自注意力运算装置可以获取第一输入矩阵、第二输入矩阵以及第三输入矩阵,然后,对第一输入矩阵进行全连接层的线性映射和LIF神经元处理得到第一脉冲矩阵Q,对第二输入矩阵进行全连接层的线性映射和LIF神经元处理得到第二脉冲矩阵K,对第三输入矩阵进行全连接层的线性映射和LIF神经元处理得到第三脉冲矩阵V。
需要说明的是,上述第一输入矩阵、第二输入矩阵以及第三输入矩阵均为浮点型输入,第一脉冲矩阵Q、第二脉冲矩阵K以及第三脉冲矩阵V均为01脉冲矩阵。
S102、自注意力运算装置对第一脉冲矩阵和第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵。
其中,上述第一注意力运算为全加法运算。
具体地,继续参考图2,自注意力运算装置可以对第一脉冲矩阵和第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵。该第一注意力运算为全加法运算。
需要说明的是,上述第一注意力运算可以为注意力评分运算,该第一注意力运算需满足以下要求:
(1)第一注意力运算不含乘法运算、或第一注意力运算中的乘法表述可以等价为开销较低的非乘法运算;
(2)第一注意力运算可以接受两个维度相同的01脉冲矩阵作为输入;
(3)第一注意力运算的运算结果为一01脉冲矩阵;
(4)第一注意力运算的复杂度与输入Token和特征维度Dimension线性相关。
可选地,第一注意力运算可以包括:按元素运算、求和运算和神经元运算;自注意力运算装置可以对第一脉冲矩阵和第二脉冲矩阵进行按元素运算,得到第一矩阵;对所述第一矩阵进行按列求和运算,得到第一向量;对所述第一向量进行神经元运算,得到所述第四脉冲矩阵,所述第四脉冲矩阵为脉冲向量。
具体地,如图3所示,自注意力运算装置可以对第一脉冲矩阵Q和第二脉冲矩阵K进行按元素运算,得到第一矩阵;然后,对该第一矩阵进行按列求和运算,得到第一向量,之后,将将第一向量输入LIF神经元,得到脉冲向量,即第四脉冲矩阵。
可选地,上述按元素运算可以为以下任一项:按元素逻辑与运算、按元素逻辑或运算、按元素逻辑异或运算、按元素IAND运算。
具体地,按元素逻辑与(AND)运算可以表示为AND(a,b)=a∧b=a·b,该运算又可以称为哈达玛积,与逐元素01掩码运算等价;按元素逻辑或(OR)运算可以表示为OR(a,b)=a∨b=a+b-a·b;按元素逻辑异或(XOR)运算可以表示为按元素IAND运算可以表示为
S103、自注意力运算装置对第三脉冲矩阵和第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵。
其中,上述第五脉冲矩阵的矩阵维度与第三脉冲矩阵的矩阵维度相同;第二注意力运算为全加法运算。
具体地,继续参考图2,自注意力运算装置可以对第三脉冲矩阵和第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵。该第二注意力运算为全加法运算。
需要说明的是,上述第二注意力运算可以为注意力汇聚运算,该第二注意力运算需满足以下要求:
(1)第二注意力运算不含乘法运算、或第一注意力运算中的乘法表述可以等价为开销较低的非乘法运算;
(2)第二注意力运算的输入适配第四脉冲矩阵的维度和第三脉冲矩阵的维度;
(3)第二注意力运算的输出为与第三脉冲矩阵的矩阵维度相同的01脉冲矩阵。
可选地,上述第二注意力运算可以为按列掩码运算。具体地,自注意力运算装置可以对第三脉冲矩阵V和第四脉冲矩阵进行按列01掩码运算,从而得到第五脉冲矩阵。
需要说明的是,第一脉冲矩阵Q、第二脉冲矩阵K以及第三脉冲矩阵V具备对称性质,对三个矩阵进行运算的先后顺序不会对运算的最终结果产生影响,因此,本申请实施例对三个矩阵做运算的先后顺序不做限定,即自注意力运算装置可以先对第二脉冲矩阵K和第三脉冲矩阵V进行第一注意力运算处理,也可以先对第一脉冲矩阵Q和第三脉冲矩阵V进行第一注意力运算处理。
本发明实施例中,第一脉冲矩阵和第二脉冲矩阵经过第一注意力运算后可以得到第四脉冲矩阵,第三脉冲矩阵和第四脉冲矩阵经过第二注意力运算后可以输出第五脉冲矩阵,由于第五脉冲矩阵的矩阵维度与第三脉冲矩阵的矩阵维度相同,因此可以实现脉冲神经网络与自注意力运算的融合;由于第一注意力运算和第二注意力运算均为全加法运算,因此可以减小模型的计算开销和能量消耗,从而提升模型的处理性能。
下面通过实验结果对比对本申请实施例提供的自注意力运算方法的效果进行说明。
如表1所示,为Spike-driven Transformer网络与Spikeformer网络在ImageNet数据集上的实验结果对比,其中,Spike-driven Transformer网络为将一类适应于硬件实现的脉冲驱动的自注意力算子SDSA应用到Transformer网络结构中,得到的全加法运算网络,Spikeformer网络为非全加法运算网络。
根据表1可知,在结构和参数数量相同的情况下,Spike-driven Transformer网络的能耗低于Spikeformer网络的能耗,Spike-driven Transformer网络的准确率高于Spikeformer网络的准确率。由此可见在SDSA的协助作用下,Spike-driven Transformer的性能和Spikformer相比能耗大幅下降,性能有所提升。
表1
上述主要从方法的角度对本发明实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例提供的自注意力运算方法,执行主体可以为自注意力运算装置,或者该自注意力运算装置中的用于自注意力运算的控制模块。本发明实施例中以自注意力运算装置执行自注意力运算方法为例,说明本发明实施例提供的自注意力运算装置。
需要说明的是,本发明实施例可以根据上述方法示例对自注意力运算装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选地,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图4所示,本发明实施例提供一种自注意力运算装置400。该自注意力运算装置400包括:获取模块401和处理模块402。所述获取模块401,可以用于获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;所述处理模块402,用于对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
可选地,所述第一注意力运算包括:按元素运算、求和运算和神经元运算;所述处理模块402,具体用于对所述第一脉冲矩阵和所述第二脉冲矩阵进行按元素运算,得到第一矩阵;对所述第一矩阵进行按列求和运算,得到第一向量;对所述第一向量进行神经元运算,得到所述第四脉冲矩阵,所述第四脉冲矩阵为脉冲向量。
可选地,所述按元素运算为以下任一项:按元素逻辑与运算、按元素逻辑或运算、按元素逻辑异或运算、按元素IAND运算。
可选地,所述第二注意力运算为按列掩码运算。
可选地,所述获取模块401具体用于获取第一输入矩阵、第二输入矩阵以及第三输入矩阵;所述处理模块402,具体用于对所述第一输入矩阵进行线性映射和神经元处理得到所述第一脉冲矩阵,对所述第二输入矩阵进行线性映射和神经元处理得到所述第二脉冲矩阵,对所述第三输入矩阵进行线性映射和神经元处理得到所述第三脉冲矩阵。
本发明实施例中,第一脉冲矩阵和第二脉冲矩阵经过第一注意力运算后可以得到第四脉冲矩阵,第三脉冲矩阵和第四脉冲矩阵经过第二注意力运算后可以输出第五脉冲矩阵,由于第五脉冲矩阵的矩阵维度与第三脉冲矩阵的矩阵维度相同,因此可以实现脉冲神经网络与自注意力运算的融合;由于第一注意力运算和第二注意力运算均为全加法运算,因此可以减小模型的计算开销和能量消耗,从而提升模型的处理性能。
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)510、通信接口(Communications Interface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行自注意力运算方法,该方法包括:获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的自注意力运算方法,该方法包括:获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的自注意力运算方法,该方法包括:获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种自注意力运算方法,其特征在于,包括:
获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;
对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;
对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;
其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
2.根据权利要求1所述的自注意力运算方法,其特征在于,所述第一注意力运算包括:按元素运算、求和运算和神经元运算;
所述对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵,包括:
对所述第一脉冲矩阵和所述第二脉冲矩阵进行按元素运算,得到第一矩阵;
对所述第一矩阵进行按列求和运算,得到第一向量;
对所述第一向量进行神经元运算,得到所述第四脉冲矩阵,所述第四脉冲矩阵为脉冲向量。
3.根据权利要求2所述的自注意力运算方法,其特征在于,所述按元素运算为以下任一项:按元素逻辑与运算、按元素逻辑或运算、按元素逻辑异或运算、按元素IAND运算。
4.根据权利要求1所述的自注意力运算方法,其特征在于,所述第二注意力运算为按列掩码运算。
5.根据权利要求1-4任一项所述的自注意力运算方法,其特征在于,所述获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵,包括:
获取第一输入矩阵、第二输入矩阵以及第三输入矩阵;
对所述第一输入矩阵进行线性映射和神经元处理得到所述第一脉冲矩阵,对所述第二输入矩阵进行线性映射和神经元处理得到所述第二脉冲矩阵,对所述第三输入矩阵进行线性映射和神经元处理得到所述第三脉冲矩阵。
6.一种自注意力运算装置,其特征在于,包括:获取模块和处理模块;
所述获取模块,用于获取第一脉冲矩阵、第二脉冲矩阵以及第三脉冲矩阵;
所述处理模块,用于对所述第一脉冲矩阵和所述第二脉冲矩阵进行第一注意力运算处理,得到第四脉冲矩阵;对所述第三脉冲矩阵和所述第四脉冲矩阵进行第二注意力运算处理,得到第五脉冲矩阵,所述第五脉冲矩阵的矩阵维度与所述第三脉冲矩阵的矩阵维度相同;
其中,所述第一注意力运算和所述第二注意力运算均为全加法运算。
7.根据权利要求6所述的自注意力运算装置,其特征在于,所述第一注意力运算包括:按元素运算、求和运算和神经元运算;
所述处理模块,具体用于对所述第一脉冲矩阵和所述第二脉冲矩阵进行按元素运算,得到第一矩阵;对所述第一矩阵进行按列求和运算,得到第一向量;对所述第一向量进行神经元运算,得到所述第四脉冲矩阵,所述第四脉冲矩阵为脉冲向量。
8.根据权利要求7所述的自注意力运算装置,其特征在于,所述按元素运算为以下任一项:按元素逻辑与运算、按元素逻辑或运算、按元素逻辑异或运算、按元素IAND运算。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5中任一项所述的自注意力运算方法中的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的自注意力运算方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311165021.4A CN117273098A (zh) | 2023-09-11 | 2023-09-11 | 自注意力运算方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311165021.4A CN117273098A (zh) | 2023-09-11 | 2023-09-11 | 自注意力运算方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117273098A true CN117273098A (zh) | 2023-12-22 |
Family
ID=89215140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311165021.4A Pending CN117273098A (zh) | 2023-09-11 | 2023-09-11 | 自注意力运算方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117273098A (zh) |
-
2023
- 2023-09-11 CN CN202311165021.4A patent/CN117273098A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11568258B2 (en) | Operation method | |
Sedghi et al. | The singular values of convolutional layers | |
CN107622302B (zh) | 用于卷积神经网络的超像素方法 | |
EP3407266B1 (en) | Artificial neural network calculating device and method for sparse connection | |
EP3186753B1 (en) | Processing images using deep neural networks | |
EP3688671A1 (en) | Method and system for neural network synthesis | |
WO2018107383A1 (zh) | 神经网络的卷积运算方法、装置及计算机可读存储介质 | |
WO2022217746A1 (zh) | 一种高分辨率高光谱计算成像方法、系统及介质 | |
Xia et al. | Fully dynamic inference with deep neural networks | |
CN116324811A (zh) | 卷积神经网络的多带宽分离特征提取卷积层 | |
CN111260020B (zh) | 卷积神经网络计算的方法和装置 | |
US11775832B2 (en) | Device and method for artificial neural network operation | |
CN110162783B (zh) | 用于语言处理的循环神经网络中隐状态的生成方法和装置 | |
Shi et al. | Hierarchical residual learning for image denoising | |
CN110969089A (zh) | 噪声环境下的轻量级人脸识别系统及识别方法 | |
WO2023245927A1 (zh) | 图像生成器的训练方法、装置、电子设备和可读存储介质 | |
Li et al. | A fully trainable network with RNN-based pooling | |
Chartier et al. | Encoding static and temporal patterns with a bidirectional heteroassociative memory | |
CN114037770B (zh) | 一种基于离散傅里叶变换的注意力机制的图像生成方法 | |
CN114387656B (zh) | 基于人工智能的换脸方法、装置、设备及存储介质 | |
Hu et al. | Multi-scale information distillation network for efficient image super-resolution | |
CN112132281B (zh) | 一种基于人工智能的模型训练方法、装置、服务器及介质 | |
CN117273098A (zh) | 自注意力运算方法、装置、电子设备及存储介质 | |
CN110490876B (zh) | 一种基于轻量级神经网络的图像分割方法 | |
CN115100107B (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 |