CN110059812A - Impulsive neural networks operation chip and related operation method - Google Patents

Impulsive neural networks operation chip and related operation method Download PDF

Info

Publication number
CN110059812A
CN110059812A CN201910079638.1A CN201910079638A CN110059812A CN 110059812 A CN110059812 A CN 110059812A CN 201910079638 A CN201910079638 A CN 201910079638A CN 110059812 A CN110059812 A CN 110059812A
Authority
CN
China
Prior art keywords
neuron
converted
neural networks
clock
layer
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.)
Granted
Application number
CN201910079638.1A
Other languages
Chinese (zh)
Other versions
CN110059812B (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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201910079638.1A priority Critical patent/CN110059812B/en
Publication of CN110059812A publication Critical patent/CN110059812A/en
Application granted granted Critical
Publication of CN110059812B publication Critical patent/CN110059812B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Abstract

The invention discloses a kind of impulsive neural networks operation chip and related operation methods, the impulsive neural networks operation method is applied to the impulsive neural networks operation chip, this method is applied to impulsive neural networks, the impulsive neural networks include clock neuron, this method comprises: the clock neuron is after first time, using the second time as interval tranmitting data register pulse;Output neuron corresponding with the clock neuron sends output pulse according to the clock pulses in the impulsive neural networks.

Description

Impulsive neural networks operation chip and related operation method
Technical field
The present invention relates to data processing field more particularly to a kind of impulsive neural networks operation chip and related operation sides Method.
Background technique
With the continuous development of information technology and the growing demand of people, requirement of the people to information timeliness is more next It is higher.Currently, neural network model is applied under various task scenes, for example, image recognition, speech recognition, at natural language Reason etc., still, traditional neural network model operand is excessive, and fortune when neural network model processing task how is effectively reduced The problem of calculation amount, is urgently to be resolved.
Summary of the invention
The embodiment of the present application provides a kind of impulsive neural networks operation method and Related product, can reduce neural network mould The operand of type.
In a first aspect, the embodiment of the present application provides a kind of impulsive neural networks operation method, the method is applied to pulse Neural network, the impulsive neural networks include clock neuron, which comprises
The clock neuron is after first time, using the second time as interval tranmitting data register pulse;
Output neuron corresponding with the clock neuron is sent out according to the clock pulses in the impulsive neural networks Send output pulse.
In a possible example, the first time is later than input neuron corresponding with the clock neuron Input pulse sending time.
In a possible example, the method also includes:
Monitor the input pulse sending time of input neuron corresponding with the clock neuron;
According to the latest time in the input pulse sending time monitored, the first time is determined.
In a possible example, the method also includes:
Connection weight between the clock neuron and output neuron corresponding with the clock neuron is according to institute It states and determines at the first time.
In a possible example, output neuron corresponding with the clock neuron in the impulsive neural networks Output pulse is sent according to the clock pulses, comprising:
Output neuron corresponding with the clock neuron is obtained, according to the input corresponding with the output neuron Connection weight, the clock pulses and described between the input pulse of neuron, the output neuron and input neuron Connection weight between output neuron and the clock neuron determines output pulse.
In a possible example, the method also includes:
Output neuron corresponding with the clock neuron, does not send output pulse within the first time.
In a possible example, each network layer in the impulsive neural networks respectively corresponds a clock nerve Member.
The corresponding clock neuron of multiple network layers in a possible example, in the impulsive neural networks.
In a possible example, the pulse code method of the impulsive neural networks is the impulsive neural networks The numerical value of input data is bigger, and the pulse sending time after input data pulse code is more late.
In a possible example, the output pulse is sent by the output neuron for providing pulse at first.
In a possible example, the output pulse is sent by the accumulative maximum output neuron of current potential.
In a possible example, the method also includes:
According to layer and the switch active function to be converted of artificial neural network, artificial neural network to be converted is obtained, it is described The result of switch active function and the input data of the artificial neural network are positively correlated;
The training artificial neural network to be converted, artificial neural network to be converted after being trained;
According to artificial neural network to be converted after the training and the clock neuron, the pulse nerve net is obtained Network.
In a possible example, the layer to be converted includes at least one of following network layer: convolutional layer, Quan Lian Connect layer, pond layer.
In a possible example, the layer to be converted is N number of network layer in the artificial neural network, and N is positive Integer.
In a possible example, the switch active function is piecewise function, in which:
When the input data of the switch active function is less than specified numerical value, the result of the switch active function is the One specified constant;
When the input data of the switch active function is more than or equal to the specified numerical value, the switch active function As a result it is positively correlated with the input data.
In a possible example, when the layer to be converted be convolutional layer to be converted when, it is described according to the training after Artificial neural network and clock neuron to be converted, obtains impulsive neural networks, comprising:
According to convolutional layer to be converted, the linear unit activating function of amendment in artificial neural network to be converted after the training Conversion convolutional layer is obtained with the switch active function;
According to the conversion convolutional layer and the clock neuron, impulsive neural networks are obtained.
It is described according to the training when the layer to be converted is full articulamentum to be converted in a possible example Artificial neural network and clock neuron to be converted afterwards, obtains impulsive neural networks, comprising:
According to full articulamentum to be converted, the linear unit activating letter of amendment in artificial neural network to be converted after the training The several and switch active function obtains converting full articulamentum;
According to the full articulamentum of the conversion and the clock neuron, impulsive neural networks are obtained.
In a possible example, when the layer to be converted be pond layer to be converted when, it is described according to the training after Artificial neural network and clock neuron to be converted, obtains impulsive neural networks, comprising:
When the pond layer to be converted is average value pond layer or linear pond layer, according to be converted after the training Pond layer to be converted and the clock neuron in artificial neural network, obtain impulsive neural networks.
It is described according to artificial neural network to be converted after the training and clock nerve in a possible example Member obtains the impulsive neural networks, comprising:
The weight of the impulsive neural networks negates in addition to the last layer.
Second aspect, the embodiment of the present application also provides a kind of impulsive neural networks operation chips, for executing such as first Method described in aspect.
The third aspect, the embodiment of the present application also provides a kind of electronic equipment, the electronic equipment includes such as second aspect The chip, alternatively, for executing method as described in relation to the first aspect.
Fourth aspect, the embodiment of the present application also provides a kind of board, the board includes: memory device, interface arrangement Impulsive neural networks operation chip with control device and as described in second aspect;
Wherein, the impulsive neural networks operation chip and the memory device, the control device and the interface Device is separately connected;
The memory device, for storing data;
The interface arrangement, for realizing the data transmission between the chip and external equipment;
The control device is monitored for the state to the chip.
5th aspect, the embodiment of the present application provide a kind of computer readable storage medium, wherein above-mentioned computer-readable Storage medium storage is used for the computer program of electronic data interchange, wherein above-mentioned computer program executes computer such as Step some or all of described in the embodiment of the present application first aspect.
6th aspect, the embodiment of the present application provide a kind of computer program product, wherein above-mentioned computer program product Non-transient computer readable storage medium including storing computer program, above-mentioned computer program are operable to make to calculate Machine executes the step some or all of as described in the embodiment of the present application first aspect.The computer program product can be one A software installation packet.
As can be seen that being applied to impulsive neural networks, when impulsive neural networks include in the scheme of the embodiment of the present application Clock neuron, clock neuron is after first time, using the second time as interval tranmitting data register pulse, in impulsive neural networks with The corresponding output neuron of clock neuron sends output pulse according to clock pulses, so, it is possible to guarantee impulsive neural networks While reducing operand, achieve the purpose that calculating error is small.
These aspects or other aspects of the application can more straightforward in the following description.
Detailed description of the invention
In order to illustrate the technical solutions in the embodiments of the present application or in the prior art more clearly, to embodiment or will show below There is attached drawing needed in technical description to be briefly described, it should be apparent that, the accompanying drawings in the following description is only this Some embodiments of application for those of ordinary skill in the art without creative efforts, can be with It obtains other drawings based on these drawings.
Figure 1A is a kind of structural schematic diagram of impulsive neural networks operation method provided by the embodiments of the present application;
Figure 1B is the treatment process schematic diagram provided by the embodiments of the present application that SNN is converted to by CNN;
Fig. 1 C is the treatment process schematic diagram of the realization mechanism of clock neuron provided by the embodiments of the present application;
Fig. 2 is the structural schematic diagram of another impulsive neural networks operation method provided by the embodiments of the present application;
Fig. 3 is the structural schematic diagram of another impulsive neural networks operation method provided by the embodiments of the present application;
Fig. 4 is the structural schematic diagram of a kind of electronic equipment provided by the embodiments of the present application;
Fig. 5 is a kind of functional unit composition block diagram of impulsive neural networks arithmetic unit provided by the embodiments of the present application.
Specific embodiment
It is described in detail separately below.
The description and claims of this application and term " first ", " second ", " third " and " in the attached drawing Four " etc. are not use to describe a particular order for distinguishing different objects.In addition, term " includes " and " having " and it Any deformation, it is intended that cover and non-exclusive include.Such as it contains the process, method of a series of steps or units, be System, product or equipment are not limited to listed step or unit, but optionally further comprising the step of not listing or list Member, or optionally further comprising other step or units intrinsic for these process, methods, product or equipment.
Referenced herein " embodiment " is it is meant that a particular feature, structure, or characteristic described can wrap in conjunction with the embodiments It is contained at least one embodiment of the application.Each position in the description occur the phrase might not each mean it is identical Embodiment, nor the independent or alternative embodiment with other embodiments mutual exclusion.Those skilled in the art explicitly and Implicitly understand, embodiment described herein can be combined with other embodiments.
Electronic equipment may include the various handheld devices with wireless communication function, mobile unit, wireless headset, calculating Equipment or be connected to radio modem other processing equipments and various forms of user equipment (user Equipment, UE), mobile station (mobile station, MS), terminal device (terminal device) etc., electronics is set Standby for example can be smart phone, tablet computer, Earphone box etc..For convenience of description, apparatus mentioned above is referred to as electronics Equipment.
Above-mentioned electronic equipment can be applied in following (including but not limited to) scene: data processing, robot, computer, Printer, scanner, phone, tablet computer, intelligent terminal, mobile phone, automobile data recorder, navigator, sensor, camera, cloud Hold each electronic products such as server, camera, video camera, projector, wrist-watch, earphone, mobile storage, wearable device;Aircraft, All kinds of vehicles such as steamer, vehicle;TV, air-conditioning, micro-wave oven, refrigerator, electric cooker, humidifier, washing machine, electric light, combustion gas All kinds of household electrical appliance such as stove, kitchen ventilator;And including all kinds of Medical Devices such as Nuclear Magnetic Resonance, B ultrasound, electrocardiograph.
Figure 1A is please referred to, Figure 1A is a kind of process signal of impulsive neural networks operation method provided by the embodiments of the present application Figure, as shown, this impulsive neural networks operation method includes step 101- step 103, it is specific as follows:
Step 101, layer and the switch active function to be converted according to artificial neural network, obtain artificial neural network to be converted Network, the result of the switch active function and the input data of the artificial neural network are positively correlated.
Wherein, in the embodiment of the present application, artificial neural network can be deep neural network, be specifically as follows convolutional Neural Network (Convolutional Neural Network, CNN).Above-mentioned neural network can be the mind for the initialization that user specifies Through network, or after pretreatment, carry out several times after repetitive exercise or neural network that training finishes.Above-mentioned nerve Network can be modified line activation primitive, can be other activation primitives, such as Sigmoid, TanH etc..
The result of above-mentioned switch active function and the input data of artificial neural network are positively correlated, and switch active function can be with For following at least one: with the positively related linear function of input data of artificial neural network and the input of artificial neural network The positively related continuous function of data, the positively related piecewise function of input data with artificial neural network, it is not limited here.
It can indicate that switch active function, x are the input data of artificial neural network in the embodiment of the present application with G (x).When When switch active function is positively related linear function, the concrete form of switch active function can be with are as follows:
G (x)=ax+b
Wherein, a and b is preset constant.
When switch active function is positively related continuous function, the concrete form of switch active function can are as follows:
G (x)=cx
Wherein, c is default positive number.
Optionally, the switch active function may be piecewise function, in which:
When the input data of the switch active function is less than 1, the result of the switch active function is preset constant, For example permanent is numerical value 0;
When the input data of the switch active function is greater than or equal to 1, the result of the switch active function and institute State input data positive correlation.
Wherein, the concrete form of switch active function can be with are as follows:
Optionally, when switch active function is positively related piecewise function, the switch active function is piecewise function, Wherein:
When the input data of the switch active function is less than zero, the result of the switch active function is 1;
When the input data of the switch active function is greater than or equal to zero, the result of the switch active function and institute State input data positive correlation.
Wherein, under illustration, switch active function can be constituted based on preset leakage constant and input data, such as Under a kind of switch active function constituted mode is provided:
The concrete form of switch active function can be such that
Wherein, L indicates leakage constant, and L > 0, x are input data.
In a possible example, the layer to be converted includes at least one of following network layer: convolutional layer, Quan Lian Connect layer, pond layer.
It wherein, can will be in convolutional layer, full articulamentum or the pond layer in artificial neural network in the embodiment of the present application One layer or multilayer as layer to be converted, converted using the neural network conversion method in the embodiment of the present application.
In a possible example, the layer to be converted is N number of network layer in the artificial neural network, and N is positive Integer.
In this way, may be implemented to convert one or more network layer in artificial neural network, for example, working as convolution When layer includes 4 layers, i.e. N is 4, can use the neural network conversion method in the embodiment of the present application, to level 1 volume therein product Layer, level 2 volume lamination etc. are converted, and can also be determined according to actual conditions.
Step 102, the training artificial neural network to be converted, artificial neural network to be converted after being trained.
Wherein it is possible to artificial neural network to be converted is trained using traditional artificial neural network training method, Artificial neural network to be converted after being trained.
Step 103, according to artificial neural network and clock neuron to be converted after the training, obtain pulse nerve net Network.
Wherein, room and time can be effectively treated in impulsive neural networks (Spiking Neuron Networks, SNN) Information.Impulsive neural networks can be used for image recognition, speech recognition, natural language processing.When impulsive neural networks are to be based on When artificial neural network is converted to, impulsive neural networks can have the precision of artificial neural network, also have pulse nerve The characteristic of network, is able to ascend calculating speed.
In a possible example, the clock neuron is after first time, when being sent using the second time as interval Clock.
Wherein, above-mentioned first time, the second time can be with self-settinies or using the value of system default.When above-mentioned second Between be a time interval, it can be understood as a beat.
Optionally, in the embodiment of the present application, LIF (leaky integrate-and- is can be used in impulsive neural networks Fire neuron) for neuron as clock neuron, its current potential can obey following equation:
Wherein, V (t) indicates neuron number according to the current potential in t moment, and L is leakage constant, and is the number greater than 0, ωiFor The size for i-th of weight being connect with the neuron, Ii(t) indicate whether i-th of neuron number evidence of input is provided in t moment Pulse.
In a possible example, when the layer to be converted is convolutional layer to be converted, above-mentioned steps 103, according to institute Artificial neural network and clock neuron to be converted after training is stated, obtains impulsive neural networks, it may include following steps:
According to convolutional layer to be converted, the linear unit activating function of amendment in artificial neural network to be converted after the training Conversion convolutional layer is obtained with the switch active function;
According to the conversion convolutional layer and the clock neuron, impulsive neural networks are obtained.
Wherein it is possible to be swashed according to convolutional layer to be converted, the amendment linear unit in artificial neural network to be converted after training Function living and switch active Function Mapping obtain conversion convolutional layer.Can according to after the obtained conversion convolutional layer of mapping and training to Other layers, such as full articulamentum in artificial neural network etc. and clock neuron are converted, impulsive neural networks are obtained.
In a possible example, when the layer to be converted is full articulamentum to be converted, above-mentioned steps 103, according to Artificial neural network and clock neuron to be converted after the training, obtains impulsive neural networks, it may include following steps:
According to full articulamentum to be converted, the linear unit activating letter of amendment in artificial neural network to be converted after the training The several and switch active function obtains converting full articulamentum;
According to the full articulamentum of the conversion and the clock neuron, impulsive neural networks are obtained.
Wherein it is possible to according to full articulamentum to be converted, amendment linear unit in artificial neural network to be converted after training Activation primitive and switch active Function Mapping obtain converting full articulamentum.It can be according to the full articulamentum of conversion and instruction that mapping obtains Other layers after white silk in artificial neural network to be converted, such as convolutional layer etc. and clock neuron, obtain pulse nerve net Network.
In a possible example, when the layer to be converted be pond layer to be converted when, it is described according to the training after Artificial neural network and clock neuron to be converted, obtains impulsive neural networks, can implement as follows:
When the pond layer to be converted is average value pond layer or linear pond layer, according to be converted after the training Pond layer to be converted and the clock neuron in artificial neural network, obtain impulsive neural networks.
Wherein it is possible to be swashed according to pond layer to be converted, the amendment linear unit in artificial neural network to be converted after training Function living and switch active Function Mapping obtain conversion pool layer.Can according to after the obtained conversion pool layer of mapping and training to Other layers, such as full articulamentum in artificial neural network etc. and clock neuron are converted, impulsive neural networks are obtained.
After above-mentioned steps 103, it can also include the following steps:
The input pulse sending time of A1, monitoring input neuron corresponding with the clock neuron;
The latest time in input pulse sending time that A2, basis monitor, determines the first time.
In a possible example, it can be preset according to demand at the first time.Prison can also be passed through at the first time The input pulse sending time for controlling each input neuron, obtains in the pulse sending time that network layer respectively inputs in neuron most The late time, and determined at the first time according to latest time.It is later than latest time at the first time.Each input neuron can be at first Between preceding input pulse be sent.
In a possible example, the clock neuron and output neuron corresponding with the clock neuron it Between connection weight according to the first time determine.
Wherein, the connection weight between above-mentioned clock neuron output neuron corresponding with layer where the clock neuron ω can be denoted astick, ωtickIt can be the positive number with T_il negative correlation, under illustration, ωtickConcrete form can following three Kind form:
ωtickThe first form:
ωtickSecond of form:
ωtick=aT_il,
Wherein, a is the constant greater than 0 and less than 1.
ωtickThe third form:
Wherein, ωtickIndicate connection weight, above-mentioned T_il is that at the first time, above-mentioned L indicates that leakage constant, L are greater than 0.
In a possible example, in the impulsive neural networks in addition to the last layer the impulsive neural networks power Value negates, to meet initial setting coding rule.The result of the last layer is for the output as network, without conversion.
In a possible example, the pulse code method of the impulsive neural networks are as follows: the impulsive neural networks The numerical value of input data is bigger, and the pulse sending time after pulse code is more late.
Wherein, for all input datas of impulsive neural networks, input data can be floating number.The number of input data Value is bigger, then the pulse sending time after pulse code is more late.For example, the numerical value of 5 input datas is respectively a1, a2, a3, The corresponding pulse sending time of a4, a5, a1 is T1, and the corresponding pulse sending time of a2 is T2, the corresponding pulse sending time of a3 For T3, the corresponding pulse sending time of a4 is T4, and the corresponding pulse sending time of a5 is T5.If the numerical value of a3 is maximum, T3 is most Evening.Using such coding rule, on the one hand the sufficiently pulse Time Of Release of impulsive neural networks completes the transmission of information, separately On the one hand the loss of accuracy of the operation result of the impulsive neural networks after converting is smaller.
In addition, it is necessary to explanation, the SNN in the embodiment of the present application uses time encoding, compared to rate-coding, Operand can be effectively reduced.Using new coding criterion, it is consistent with the characteristic of LIF neuron, i.e. post-synaptic Neurons is bigger to the contribution of nearest spiking neuron.
In a possible example, after above-mentioned steps 103, it can also include the following steps:
Output neuron corresponding with the clock neuron is sent out according to the clock pulses in the impulsive neural networks Send output pulse.In this way, the loss of accuracy of the operation result of the impulsive neural networks after conversion is smaller.
In a possible example, the first time is later than input neuron corresponding with the clock neuron Input pulse sending time.It can guarantee that the information of all input neurons can be transmitted smoothly backward.
In a possible example, above-mentioned steps are corresponding with the clock neuron in the impulsive neural networks Output neuron sends output pulse according to the clock pulses, can implement as follows:
Output neuron corresponding with the clock neuron is obtained, according to the input corresponding with the output neuron Connection weight, the clock pulses and described between the input pulse of neuron, the output neuron and input neuron Connection weight between output neuron and the clock neuron determines output pulse.In this way, guaranteeing input relative to CNN The information of neuron is transmitted, and operand greatly reduces.
In a possible example, output neuron corresponding with the clock neuron in the impulsive neural networks Output pulse is sent according to the clock pulses, further includes:
Output neuron corresponding with the clock neuron does not send output pulse within the first time.Due to Before the first time, the weight of clock neuron is all negative value, therefore, does not send output pulse within first time.
In a possible example, each network layer in the impulsive neural networks respectively corresponds a clock nerve Member.
For example, impulsive neural networks include convolutional layer, full articulamentum and pond layer.Convolutional layer can correspond to clock neuron 1, full articulamentum corresponds to clock neuron 2, and pond layer corresponds to clock neuron 3, so, it is possible true according to the characteristic of each network layer Surely it is changed to the first time of corresponding clock neuron, waits time delay small, and flexibility is high when information transmitting.
The corresponding clock neuron of multiple network layers in a possible example, in the impulsive neural networks. For example, impulsive neural networks include convolutional layer, full articulamentum and pond layer, wherein convolutional layer, full articulamentum and pond layer are common Corresponding clock neuron 4.In this way, can reduce the quantity of network entirety pulse using the same clock neuron, to save The energy consumption expense of network operations.
In a possible example, the output pulses of the impulsive neural networks by providing the output nerve of pulse at first Member is sent.In this way, can quickly export during concrete operation as a result, it is possible to reduce operand.
In a possible example, the output pulse of the impulsive neural networks is by adding up the maximum output nerve of current potential Member is sent.
It so, it is possible to reduce the error for exporting result, especially in image recognition, path optimizing mentions in terms of speech recognition Rise accuracy of identification.
Under illustration, as shown in Figure 1B, a kind of schematic diagram being converted to SNN by CNN is provided as follows, may include as follows Three steps:
1, an artificial neural network CNN is provided, which includes convolutional layer, full articulamentum and pond layer, and CNN is converted For SNN;
2, the structure of the CNN is adjusted, specially in weight articulamentum (including convolutional layer (CONV) and full articulamentum (IP) Deng) before add switch active function G (x), obtain artificial neural network to be converted, above-mentioned weight articulamentum can be understood as according to The layer connected by weight.A kind of concrete form of G (x) is provided as follows:
Wherein, L is leakage constant (the leaky constant), L > 0.
3, training artificial neural network to be converted, artificial neural network to be converted after being trained, and according to training after Artificial neural network and clock neuron to be converted, obtains impulsive neural networks, i.e. SNN.
Wherein, G (x)+CONV+ReLU can be mapped as the SNN-CONV layer in SNN, and POOL layers can be mapped as SNN- POOL layers, G (x)+IP+ReLU can be mapped as the SNN-IP layer in SNN.The weight of above-mentioned impulsive neural networks is in addition to last It can be all negated outside one layer.
In the specific implementation, the input data of artificial neural network can be converted into the burst length by function T (x), alternatively, The input data that can be any layer in artificial neural network is converted into the burst length by function T (x), then after any layer All layers also the burst length can be converted by function T (x), wherein the concrete form of T (x) can be such that for example, above-mentioned T (x) can for the positively related functional relation of x, e.g., T (x)=x+k, k are constant, in another example, above-mentioned T (x) can be nonlinear dependence System, such as T (x)=log (x+3), in another example, T (x) can be positively correlated with L, and concrete form is as follows:
T (x)=Lln (x+1)
Wherein, L is leakage coefficient, L > 0.
As shown in Figure 1 C, under this mechanism, input neuron is represented in primitive network (original artificial neural network) Existing neuron number evidence can increase a clock neuron corresponding with the input neuron, as on this basis ticking neuron.Input neuron can only provide pulsatile once, defeated before all input neurons have provided pulse Neuron is in the inhibition phase out, and after time point T_il, clock neuron will provide pulse, and every bat is all provided, just As " clock ", therefore, in the embodiment of the present application, it is named as ticking neuron.
Under the duration impulse of clock neuron, which will provide pulse, so Transmitting downwards in the same way afterwards.
In the specific implementation, the operation mode for SNN-POOL layers depends on the type in original artificial neural network. If the type before mapping is average value pond layer (Average Pool) or other linear pond layer (Linear Pool), then it can be taken as the layer of weight connection to handle.Average value pond layer (Average Pool) or others The weight of linear pond layer is a constant, and the constant is related to the size of sliding window.
If the type before mapping is maximum value pond layer (Max Pool) or minimum value pond layer (Min POOL), that SNN operation in normal fashion after mapping does not need processing and operation as weight articulamentum.
The embodiment of the present application is realized by the way of time encoding and is turned artificial neural network to impulsive neural networks Method is changed, using the coding criterion and operation mode in the embodiment of the present application, the impulsive neural networks being converted to not only have The precision of original artificial neural network, additionally it is possible to realize the significant decrease of operand.
In the specific implementation, above-mentioned ticking neuron is necessary, this is because it guarantees that all neurons can Emit pulse.Assuming that if removing the neuron, those postsynaptic neuron (post-synaptic with negative potential It neurons) will be slowly close to reset potential.Unless the threshold value of each neuron data setting is lower than reset potential, otherwise it is forever Far from transmitting pulse, but the threshold value for being set lower than reset potential is again inconsistent with the discovery of existing SNN and Neuscience.
As can be seen that in the scheme of the embodiment of the present application, according to the layer and switch active to be converted of artificial neural network Function obtains artificial neural network to be converted, and the result of switch active function and the input data of artificial neural network are positively correlated, Training artificial neural network to be converted, artificial neural network to be converted after being trained, according to artificial neuron to be converted after training Network and clock neuron, obtain impulsive neural networks, in this way, since the impulsive neural networks are based on artificial neural network conversion It obtains, therefore, has the precision of artificial neural network, in addition, also having the characteristic of impulsive neural networks, be able to ascend calculating speed Degree.
It is consistent with above-mentioned embodiment shown in FIG. 1, referring to Fig. 2, Fig. 2 is a kind of pulse provided by the embodiments of the present application The flow diagram of neural network computing method, the method is applied to impulsive neural networks, when which includes Clock neuron, the impulsive neural networks include clock neuron, as shown, this impulsive neural networks operation method includes:
Step 201, the clock neuron are after first time, using the second time as interval tranmitting data register pulse.
In step 202, the impulsive neural networks output neuron corresponding with the clock neuron according to it is described when Clock sends output pulse.
Wherein, the specific descriptions of above-mentioned steps 201- step 202 are referred to pulse nerve net described in above-mentioned Figure 1A The corresponding steps of network operation method, details are not described herein.
As can be seen that in the scheme of the embodiment of the present application, between clock neuron is after first time, with the second time It is sent and is exported according to clock pulses every output neuron corresponding with clock neuron in tranmitting data register pulse, impulsive neural networks Pulse so, it is possible guarantee impulsive neural networks while reducing operand, and error is small.
Consistently with above-mentioned embodiment shown in figure 1A, referring to Fig. 3, Fig. 3 is a kind of arteries and veins provided by the embodiments of the present application The flow diagram of neural network computing method is rushed, as shown, this impulsive neural networks operation method includes:
Step 301, layer and the switch active function to be converted according to artificial neural network, obtain artificial neural network to be converted Network, the result of the switch active function and the input data of the artificial neural network are positively correlated.
Step 302, the training artificial neural network to be converted, artificial neural network to be converted after being trained.
Step 303, according to artificial neural network and clock neuron to be converted after the training, obtain pulse nerve net Network.
Step 304, the clock neuron are after first time, using the second time as interval tranmitting data register pulse.
In step 305, the impulsive neural networks output neuron corresponding with the clock neuron according to it is described when Clock sends output pulse.
As can be seen that in the scheme of the embodiment of the present application, according to the layer and switch active to be converted of artificial neural network Function obtains artificial neural network to be converted, and the result of switch active function and the input data of artificial neural network are positively correlated, Training artificial neural network to be converted, artificial neural network to be converted after being trained, according to artificial neuron to be converted after training Network and clock neuron obtain impulsive neural networks, and clock neuron is sent after first time by interval of the second time Clock pulses, output neuron corresponding with clock neuron sends output pulse according to clock pulses in impulsive neural networks, In this way, since the impulsive neural networks are converted to based on artificial neural network, have the precision of artificial neural network, In addition, also having the characteristic of impulsive neural networks, it is able to ascend calculating speed, and can guarantee that impulsive neural networks are reducing While operand, and error is small.
Consistently with above-described embodiment, referring to Fig. 4, Fig. 4 is the knot of a kind of electronic equipment provided by the embodiments of the present application Structure schematic diagram, as shown, the electronic equipment includes processor, memory, communication interface and one or more program, In, said one or multiple programs are stored in above-mentioned memory, and are configured to be executed by above-mentioned processor, and the application is real It applies in example, above procedure includes the instruction for executing following steps:
According to layer and the switch active function to be converted of artificial neural network, artificial neural network to be converted is obtained, it is described The result of switch active function and the input data of the artificial neural network are positively correlated;
The training artificial neural network to be converted, artificial neural network to be converted after being trained;
According to artificial neural network and clock neuron to be converted after the training, impulsive neural networks are obtained.
In a possible example, the clock neuron is after first time, when being sent using the second time as interval Clock.
In a possible example, the layer to be converted includes at least one of following network layer: convolutional layer, Quan Lian Connect layer, pond layer.
In a possible example, the layer to be converted is N number of network layer in the artificial neural network, and N is positive Integer.
In a possible example, the switch active function is piecewise function, in which:
When the input data of the switch active function is less than specified numerical value, the result of the switch active function is the One specified constant;
When the input data of the switch active function is more than or equal to the specified numerical value, the switch active function As a result it is positively correlated with the input data.
In a possible example, when the layer to be converted is convolutional layer to be converted, described according to the training Artificial neural network and clock neuron to be converted afterwards, in terms of obtaining impulsive neural networks, above procedure include for execute with The instruction of lower step:
According to convolutional layer to be converted, the linear unit activating function of amendment in artificial neural network to be converted after the training Conversion convolutional layer is obtained with the switch active function;
According to the conversion convolutional layer and the clock neuron, impulsive neural networks are obtained.
In a possible example, when the layer to be converted is full articulamentum to be converted, described according to the instruction Artificial neural network and clock neuron to be converted after white silk, in terms of obtaining impulsive neural networks, above procedure includes for executing The instruction of following steps:
According to full articulamentum to be converted, the linear unit activating letter of amendment in artificial neural network to be converted after the training The several and switch active function obtains converting full articulamentum;
According to the full articulamentum of the conversion and the clock neuron, impulsive neural networks are obtained.
In a possible example, when the layer to be converted is pond layer to be converted, described according to the training Artificial neural network and clock neuron to be converted afterwards, in terms of obtaining impulsive neural networks, above procedure include for execute with The instruction of lower step:
When the pond layer to be converted is average value pond layer or linear pond layer, according to be converted after the training Pond layer to be converted and the clock neuron in artificial neural network, obtain impulsive neural networks.
In a possible example, the clock neuron and output neuron corresponding with the clock neuron it Between connection weight according to the first time determine.
In a possible example, the pulse code method of the impulsive neural networks are as follows: the impulsive neural networks The numerical value of input data is bigger, and the pulse sending time after pulse code is more late.
In a possible example, above procedure further includes the instruction for executing following steps: in addition to the last layer The weight of the impulsive neural networks negates.
In a possible example, above procedure further includes the instruction for executing following steps:
Output neuron corresponding with the clock neuron is sent out according to the clock pulses in the impulsive neural networks Send output pulse.
In a possible example, the first time is later than input neuron corresponding with the clock neuron Input pulse sending time.
In a possible example, above procedure further includes the instruction for executing following steps:
Monitor the input pulse sending time of input neuron corresponding with the clock neuron;
According to the latest time in the input pulse sending time monitored, the first time is determined.
In a possible example, output neuron corresponding with the clock neuron in the impulsive neural networks Output pulse is sent according to the clock pulses, above procedure includes the instruction for executing following steps:
Output neuron corresponding with the clock neuron is obtained, according to the input corresponding with the output neuron Connection weight, the clock pulses and described between the input pulse of neuron, the output neuron and input neuron Connection weight between output neuron and the clock neuron determines output pulse.
In a possible example, output neuron corresponding with the clock neuron in the impulsive neural networks Output pulse is sent according to the clock pulses, above procedure further includes the instruction for executing following steps:
Output neuron corresponding with the clock neuron does not send output pulse within the first time.
In a possible example, each network layer in the impulsive neural networks respectively corresponds a clock nerve Member.
The corresponding clock neuron of multiple network layers in a possible example, in the impulsive neural networks.
In a possible example, the output pulses of the impulsive neural networks by providing the output nerve of pulse at first Member is sent.
In a possible example, the output pulse of the impulsive neural networks is by adding up the maximum output nerve of current potential Member is sent.
It is above-mentioned that mainly the scheme of the embodiment of the present application is described from the angle of method side implementation procedure.It is understood that , in order to realize the above functions, it comprises execute the corresponding hardware configuration of each function and/or software mould for electronic equipment Block.Those skilled in the art should be readily appreciated that, in conjunction with each exemplary unit of embodiment description presented herein And algorithm steps, the application can be realized with the combining form of hardware or hardware and computer software.Some function actually with Hardware or computer software drive the mode of hardware to execute, the specific application and design constraint item depending on technical solution Part.Professional technician can specifically realize described function to each using distinct methods, but this reality Now it is not considered that exceeding scope of the present application.
The embodiment of the present application can carry out the division of functional unit according to above method example to electronic equipment, for example, can With each functional unit of each function division of correspondence, two or more functions can also be integrated in a processing unit In.Above-mentioned integrated unit both can take the form of hardware realization, can also realize in the form of software functional units.It needs It is noted that be schematical, only a kind of logical function partition to the division of unit in the embodiment of the present application, it is practical real It is current that there may be another division manner.
Fig. 5 is the functional unit composition block diagram of impulsive neural networks arithmetic unit 500 involved in the embodiment of the present application. The impulsive neural networks arithmetic unit 500 is applied to electronic equipment, and described device 500 includes: converting unit 501, training unit 502 and determination unit 503, wherein
The converting unit 501 is obtained for layer and the switch active function to be converted according to artificial neural network wait turn Substitution artificial neural networks, the result of the switch active function and the input data of the artificial neural network are positively correlated;
The training unit 502, for training the artificial neural network to be converted, artificial mind to be converted after being trained Through network;
The determination unit 503, for obtaining according to artificial neural network and clock neuron to be converted after the training Impulsive neural networks.
It can be seen that the impulsive neural networks arithmetic unit described in the embodiment of the present application, according to artificial neural network Layer and switch active function to be converted, obtain artificial neural network to be converted, the result and artificial neuron of switch active function The input data of network is positively correlated, training artificial neural network to be converted, artificial neural network to be converted after being trained, according to Artificial neural network and clock neuron to be converted, obtains impulsive neural networks after training, in this way, due to the impulsive neural networks It is converted to based on artificial neural network, therefore, has the precision of artificial neural network, in addition, also having impulsive neural networks Characteristic, be able to ascend calculating speed.
In a possible example, the clock neuron is after first time, when being sent using the second time as interval Clock.
In a possible example, the layer to be converted includes at least one of following network layer: convolutional layer, Quan Lian Connect layer, pond layer.
In a possible example, the layer to be converted is N number of network layer in the artificial neural network, and N is positive Integer.
In a possible example, the switch active function is piecewise function, in which:
When the input data of the switch active function is less than specified numerical value, the result of the switch active function is the One specified constant;
When the input data of the switch active function is more than or equal to the specified numerical value, the switch active function As a result it is positively correlated with the input data.
In a possible example, when the layer to be converted is convolutional layer to be converted, described according to the training Artificial neural network and clock neuron to be converted afterwards, in terms of obtaining impulsive neural networks, the determination unit 503 is specifically used In:
According to convolutional layer to be converted, the linear unit activating function of amendment in artificial neural network to be converted after the training Conversion convolutional layer is obtained with the switch active function;
According to the conversion convolutional layer and the clock neuron, impulsive neural networks are obtained.
In a possible example, when the layer to be converted is full articulamentum to be converted, described according to the instruction Artificial neural network and clock neuron to be converted after white silk, in terms of obtaining impulsive neural networks, the determination unit 503 is specifically used In:
According to full articulamentum to be converted, the linear unit activating letter of amendment in artificial neural network to be converted after the training The several and switch active function obtains converting full articulamentum;
According to the full articulamentum of the conversion and the clock neuron, impulsive neural networks are obtained.
In a possible example, when the layer to be converted is pond layer to be converted, described according to the training Artificial neural network and clock neuron to be converted afterwards, in terms of obtaining impulsive neural networks, the determination unit 503 is specifically used In:
When the pond layer to be converted is average value pond layer or linear pond layer, according to be converted after the training Pond layer to be converted and the clock neuron in artificial neural network, obtain impulsive neural networks.
In a possible example, the clock neuron and output neuron corresponding with the clock neuron it Between connection weight according to the first time determine.
In a possible example, the pulse code method of the impulsive neural networks are as follows: the impulsive neural networks The numerical value of input data is bigger, and the pulse sending time after pulse code is more late.
In a possible example, the weight of the impulsive neural networks is negated in addition to the last layer.
In a possible example, output neuron corresponding with the clock neuron in the impulsive neural networks Output pulse is sent according to the clock pulses.
In a possible example, the first time is later than input neuron corresponding with the clock neuron Input pulse sending time.
In a possible example, the determination unit 503 is corresponding with the clock neuron also particularly useful for monitoring Input neuron input pulse sending time;And according to the latest time in the input pulse sending time monitored, Determine the first time.
In a possible example, the output nerve corresponding with the clock neuron in the impulsive neural networks In terms of member sends output pulse according to the clock pulses, specifically:
Output neuron corresponding with the clock neuron is obtained, according to the input corresponding with the output neuron Connection weight, the clock pulses and described between the input pulse of neuron, the output neuron and input neuron Connection weight between output neuron and the clock neuron determines output pulse.
In a possible example, output neuron corresponding with the clock neuron in the impulsive neural networks Output pulse is sent according to the clock pulses, further includes:
Output neuron corresponding with the clock neuron does not send output pulse within the first time.
In a possible example, each network layer in the impulsive neural networks respectively corresponds a clock nerve Member.
The corresponding clock neuron of multiple network layers in a possible example, in the impulsive neural networks.
In a possible example, the output pulses of the impulsive neural networks by providing the output nerve of pulse at first Member is sent.
In a possible example, the output pulse of the impulsive neural networks is by adding up the maximum output nerve of current potential Member is sent.
In a possible example, described device is also particularly useful for the following operation of realization:
The clock neuron is after first time, using the second time as interval tranmitting data register pulse;
Output neuron corresponding with the clock neuron is sent out according to the clock pulses in the impulsive neural networks Send output pulse.
In some embodiments, a kind of chip has also been applied for comprising at above-mentioned machine learning arithmetic unit or combination Manage device.
In some embodiments, a kind of chip-packaging structure has been applied for comprising said chip.
In some embodiments, a kind of board has been applied for comprising said chip encapsulating structure.Above-mentioned board is in addition to packet Said chip, in addition is included, can also include other matching components, which includes but is not limited to: memory device, interface Device and control device;
The memory device is connect with the chip in the chip-packaging structure by bus, for storing data.It is described Memory device may include multiple groups storage unit.Storage unit described in each group is connect with the chip by bus.It can manage Solution, storage unit described in each group can be DDR SDRAM, and (English: Double Data Rate SDRAM, Double Data Rate are synchronous Dynamic RAM).
DDR, which does not need raising clock frequency, can double to improve the speed of SDRAM.DDR allows the rising in clock pulses Edge and failing edge read data.The speed of DDR is twice of standard SDRAM.In one embodiment, the storage device can be with Including storage unit described in 4 groups.Storage unit described in each group may include multiple DDR4 particles (chip).In one embodiment In, the chip interior may include 4 72 DDR4 controllers, and 64bit is used for transmission number in above-mentioned 72 DDR4 controllers According to 8bit is used for ECC check.It is appreciated that data pass when using DDR4-3200 particle in the storage unit described in each group Defeated theoretical bandwidth can reach 25600MB/s.
In one embodiment, storage unit described in each group include multiple Double Data Rate synchronous dynamics being arranged in parallel with Machine memory.DDR can transmit data twice within a clock cycle.The controller of setting control DDR in the chips, Control for data transmission and data storage to each storage unit.
The interface arrangement is electrically connected with the chip in the chip-packaging structure.The interface arrangement is for realizing described Data transmission between chip and external equipment (such as server or computer).Such as in one embodiment, the interface Device can be standard PCIE interface.For example, data to be processed are transferred to the core by standard PCIE interface by server Piece realizes data transfer.Optionally, when using the transmission of 16 interface of PCIE 3.0X, theoretical bandwidth can reach 16000MB/s. In another embodiment, the interface arrangement can also be other interfaces, and the application is not intended to limit above-mentioned other interfaces Specific manifestation form, the interface unit can be realized signaling transfer point.In addition, the calculated result of the chip is still by institute It states interface arrangement and sends back external equipment (such as server).
The control device is electrically connected with the chip.The control device is for supervising the state of the chip Control.Specifically, the chip can be electrically connected with the control device by SPI interface.The control device may include list Piece machine (Micro Controller Unit, MCU).If the chip may include multiple processing chips, multiple processing cores or more A processing circuit can drive multiple loads.Therefore, the chip may be at the different work shape such as multi-load and light load State.It may be implemented by the control device to processing chips multiple in the chip, multiple processing and/or multiple processing circuits Working condition regulation.
In some embodiments, a kind of electronic equipment has been applied for comprising above-mentioned board.
Electronic equipment include data processing equipment, robot, computer, printer, scanner, tablet computer, intelligent terminal, Mobile phone, automobile data recorder, navigator, sensor, camera, server, cloud server, camera, video camera, projector, hand Table, earphone, mobile storage, wearable device, the vehicles, household electrical appliance, and/or Medical Devices.
The vehicles include aircraft, steamer and/or vehicle;The household electrical appliance include TV, air-conditioning, micro-wave oven, Refrigerator, electric cooker, humidifier, washing machine, electric light, gas-cooker, kitchen ventilator;The Medical Devices include Nuclear Magnetic Resonance, B ultrasound instrument And/or electrocardiograph.
The embodiment of the present invention also provides a kind of computer storage medium, wherein computer storage medium storage is for electricity The computer program of subdata exchange, the computer program make computer execute any as recorded in above method embodiment Some or all of method step, above-mentioned computer include electronic equipment.
The embodiment of the present invention also provides a kind of computer program product, and above-mentioned computer program product includes storing calculating The non-transient computer readable storage medium of machine program, above-mentioned computer program are operable to that computer is made to execute such as above-mentioned side Some or all of either record method step in method embodiment.The computer program product can be a software installation Packet, above-mentioned computer includes electronic equipment.
It should be noted that for the various method embodiments described above, for simple description, therefore, it is stated as a series of Combination of actions, but those skilled in the art should understand that, the present invention is not limited by the sequence of acts described because According to the present invention, some steps may be performed in other sequences or simultaneously.Secondly, those skilled in the art should also know It knows, embodiment described in this description belongs to alternative embodiment, and related actions and modules is not necessarily of the invention It is necessary.
In the above-described embodiments, it all emphasizes particularly on different fields to the description of each embodiment, there is no the portion being described in detail in some embodiment Point, reference can be made to the related descriptions of other embodiments.
In several embodiments provided herein, it should be understood that disclosed device, it can be by another way It realizes.For example, the apparatus embodiments described above are merely exemplary, such as the division of the unit, it is only a kind of Logical function partition, there may be another division manner in actual implementation, such as multiple units or components can combine or can To be integrated into another system, or some features can be ignored or not executed.Another point, shown or discussed is mutual Coupling, direct-coupling or communication connection can be through some interfaces, the indirect coupling or communication connection of device or unit, It can be electrical or other forms.
The unit as illustrated by the separation member may or may not be physically separated, aobvious as unit The component shown may or may not be physical unit, it can and it is in one place, or may be distributed over multiple In network unit.It can select some or all of unit therein according to the actual needs to realize the mesh of this embodiment scheme 's.
It, can also be in addition, the functional units in various embodiments of the present invention may be integrated into one processing unit It is that each unit physically exists alone, can also be integrated in one unit with two or more units.Above-mentioned integrated list Member can take the form of hardware realization.
The embodiment of the present invention has been described in detail above, specific case used herein to the principle of the present invention and Embodiment is expounded, and the above description of the embodiment is only used to help understand the method for the present invention and its core ideas; At the same time, for those skilled in the art can in specific embodiments and applications according to the thought of the present invention There is change place, to sum up above-mentioned, the contents of this specification are not to be construed as limiting the invention.

Claims (23)

1. a kind of impulsive neural networks operation method, which is characterized in that the method is applied to impulsive neural networks, the pulse Neural network includes clock neuron, which comprises
The clock neuron is after first time, using the second time as interval tranmitting data register pulse;
Output neuron corresponding with the clock neuron is sent defeated according to the clock pulses in the impulsive neural networks Pulse out.
2. the method according to claim 1, wherein the first time be later than it is corresponding with the clock neuron Input neuron input pulse sending time.
3. the method according to claim 1, wherein the method also includes:
Monitor the input pulse sending time of input neuron corresponding with the clock neuron;
According to the latest time in the input pulse sending time monitored, the first time is determined.
4. the method according to claim 1, wherein the method also includes:
Connection weight between the clock neuron and output neuron corresponding with the clock neuron is according to described One time determined.
5. the method according to claim 1, wherein in the impulsive neural networks with the clock neuron pair The output neuron answered sends output pulse according to the clock pulses, comprising:
Output neuron corresponding with the clock neuron is obtained, according to the input nerve corresponding with the output neuron Member input pulse, the output neuron and input neuron between connection weight, the clock pulses and the output Connection weight between neuron and the clock neuron determines output pulse.
6. the method according to claim 1, wherein the method also includes:
Output neuron corresponding with the clock neuron, does not send output pulse within the first time.
7. the method according to claim 1, wherein each network layer in the impulsive neural networks respectively corresponds One clock neuron.
8. the method according to claim 1, wherein the multiple network layers corresponding one in the impulsive neural networks A clock neuron.
9. the method according to claim 1, wherein the pulse code method of the impulsive neural networks is, institute The numerical value for stating impulsive neural networks input data is bigger, and the pulse sending time after input data pulse code is more late.
10. the method according to claim 1, wherein the output pulse is refreshing by the output for providing pulse at first It is sent through member.
11. the method according to claim 1, wherein the output pulse is by the maximum output mind of accumulative current potential It is sent through member.
12. the method according to claim 1, wherein the method also includes:
According to layer and the switch active function to be converted of artificial neural network, artificial neural network to be converted, the conversion are obtained The result of activation primitive and the input data of the artificial neural network are positively correlated;
The training artificial neural network to be converted, artificial neural network to be converted after being trained;
According to artificial neural network to be converted after the training and the clock neuron, the impulsive neural networks are obtained.
13. according to the method for claim 12, which is characterized in that the layer to be converted include in following network layer at least It is a kind of: convolutional layer, full articulamentum, pond layer.
14. according to the method for claim 12, which is characterized in that the layer to be converted is in the artificial neural network N number of network layer, N are positive integer.
15. according to the method for claim 12, which is characterized in that the switch active function is piecewise function, in which:
When the input data of the switch active function is less than specified numerical value, the result of the switch active function is the first finger Permanent number;
When the input data of the switch active function is more than or equal to the specified numerical value, the result of the switch active function It is positively correlated with the input data.
16. the described in any item methods of 2-15 according to claim 1, which is characterized in that when the layer to be converted is volume to be converted It is described that impulsive neural networks are obtained according to artificial neural network and clock neuron to be converted after the training when lamination, packet It includes:
According to convolutional layer to be converted, the linear unit activating function of amendment and the institute in artificial neural network to be converted after the training It states switch active function and obtains conversion convolutional layer;
According to the conversion convolutional layer and the clock neuron, impulsive neural networks are obtained.
17. the described in any item methods of 2-15 according to claim 1, which is characterized in that when the layer to be converted is to be converted complete It is described that impulsive neural networks are obtained according to artificial neural network and clock neuron to be converted after the training when articulamentum, packet It includes:
According in artificial neural network to be converted after the training full articulamentum to be converted, the linear unit activating function of amendment and The switch active function obtains converting full articulamentum;
According to the full articulamentum of the conversion and the clock neuron, impulsive neural networks are obtained.
18. the described in any item methods of 2-15 according to claim 1, which is characterized in that when the layer to be converted is pond to be converted It is described that impulsive neural networks are obtained according to artificial neural network and clock neuron to be converted after the training when changing layer, packet It includes:
When the pond layer to be converted is average value pond layer or linear pond layer, according to be converted artificial after the training Pond layer to be converted and the clock neuron in neural network, obtain impulsive neural networks.
19. according to the method for claim 12, which is characterized in that described according to artificial neural network to be converted after the training Network and the clock neuron, obtain the impulsive neural networks, comprising:
The weight of the impulsive neural networks negates in addition to the last layer.
20. a kind of impulsive neural networks operation chip, which is characterized in that for executing as claim 1-19 is described in any item Method.
21. a kind of electronic equipment, which is characterized in that the electronic equipment includes the chip as described in the claim 20, or Person, for executing such as the described in any item methods of claim 1-19.
22. a kind of board, which is characterized in that the board includes: memory device, interface arrangement and control device and such as right It is required that impulsive neural networks operation chip described in 20;
Wherein, the impulsive neural networks operation chip and the memory device, the control device and the interface arrangement It is separately connected;
The memory device, for storing data;
The interface arrangement, for realizing the data transmission between the chip and external equipment;
The control device is monitored for the state to the chip.
23. a kind of computer readable storage medium, which is characterized in that storage is used for the computer program of electronic data interchange, In, the computer program makes computer execute such as the described in any item methods of claim 1-19.
CN201910079638.1A 2019-01-26 2019-01-26 Pulse neural network operation chip and related operation method Active CN110059812B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910079638.1A CN110059812B (en) 2019-01-26 2019-01-26 Pulse neural network operation chip and related operation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910079638.1A CN110059812B (en) 2019-01-26 2019-01-26 Pulse neural network operation chip and related operation method

Publications (2)

Publication Number Publication Date
CN110059812A true CN110059812A (en) 2019-07-26
CN110059812B CN110059812B (en) 2021-09-14

Family

ID=67316491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910079638.1A Active CN110059812B (en) 2019-01-26 2019-01-26 Pulse neural network operation chip and related operation method

Country Status (1)

Country Link
CN (1) CN110059812B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021098588A1 (en) * 2019-11-21 2021-05-27 浙江大学 Brain-inspired computing chip based on spiking neural network
CN114819122A (en) * 2022-03-28 2022-07-29 中国科学院自动化研究所 Data processing method and device based on impulse neural network

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372355A1 (en) * 2011-09-21 2014-12-18 Brain Corporation Apparatus and method for partial evaluation of synaptic updates based on system events
CN105095965A (en) * 2015-07-16 2015-11-25 清华大学 Hybrid communication method of artificial neural network and impulsive neural network
CN105404902A (en) * 2015-10-27 2016-03-16 清华大学 Impulsive neural network-based image feature describing and memorizing method
CN106845633A (en) * 2017-01-25 2017-06-13 清华大学 Neutral net information conversion method and system
CN106897769A (en) * 2017-01-20 2017-06-27 清华大学 The neuronal messages processing method and system of window are drawn with depth time
CN108334933A (en) * 2018-03-02 2018-07-27 广东工业大学 A kind of neuron activation functions parameter adjusting method and its device
CN108985447A (en) * 2018-06-15 2018-12-11 华中科技大学 A kind of hardware pulse nerve network system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140372355A1 (en) * 2011-09-21 2014-12-18 Brain Corporation Apparatus and method for partial evaluation of synaptic updates based on system events
CN105095965A (en) * 2015-07-16 2015-11-25 清华大学 Hybrid communication method of artificial neural network and impulsive neural network
CN105404902A (en) * 2015-10-27 2016-03-16 清华大学 Impulsive neural network-based image feature describing and memorizing method
CN106897769A (en) * 2017-01-20 2017-06-27 清华大学 The neuronal messages processing method and system of window are drawn with depth time
CN106845633A (en) * 2017-01-25 2017-06-13 清华大学 Neutral net information conversion method and system
CN108334933A (en) * 2018-03-02 2018-07-27 广东工业大学 A kind of neuron activation functions parameter adjusting method and its device
CN108985447A (en) * 2018-06-15 2018-12-11 华中科技大学 A kind of hardware pulse nerve network system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021098588A1 (en) * 2019-11-21 2021-05-27 浙江大学 Brain-inspired computing chip based on spiking neural network
CN114819122A (en) * 2022-03-28 2022-07-29 中国科学院自动化研究所 Data processing method and device based on impulse neural network

Also Published As

Publication number Publication date
CN110059812B (en) 2021-09-14

Similar Documents

Publication Publication Date Title
CN109993296B (en) Quantitative implementation method and related product
US11710041B2 (en) Feature map and weight selection method and accelerating device
US20200097795A1 (en) Processing apparatus and processing method
CN109754011B (en) Data processing method, device and Related product based on Caffe
CN109740739A (en) Neural computing device, neural computing method and Related product
CN111047022B (en) Computing device and related product
CN109726353B (en) Convolution operation device and method
CN110059812A (en) Impulsive neural networks operation chip and related operation method
CN110059800A (en) Impulsive neural networks conversion method and related conversion chip
CN109670581B (en) Computing device and board card
CN110909870B (en) Training device and method
CN109754084A (en) Processing method, device and the Related product of network structure
WO2021185262A1 (en) Computing apparatus and method, board card, and computer readable storage medium
CN111523653B (en) Computing device and method
CN109740746B (en) Operation method, device and related product
CN110083532A (en) Run-time error localization method and device under fusion mode based on deep learning frame
CN109215656A (en) Speech remote controller device and method, storage medium, electronic device
CN205080502U (en) Biological signal gesture recognition equipment
CN110428827A (en) Intelligent device interaction and system
CN111738428B (en) Computing device, method and related product
CN110020720A (en) Operator joining method and device
CN110515586A (en) Multiplier, data processing method, chip and electronic equipment
CN111047023B (en) Computing device and related product
CN110515588A (en) Multiplier, data processing method, chip and electronic equipment
CN110147872A (en) Code storage device and method, processor and training method

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