CN108304913A - A method of realizing convolution of function using spiking neuron array - Google Patents

A method of realizing convolution of function using spiking neuron array Download PDF

Info

Publication number
CN108304913A
CN108304913A CN201711488549.XA CN201711488549A CN108304913A CN 108304913 A CN108304913 A CN 108304913A CN 201711488549 A CN201711488549 A CN 201711488549A CN 108304913 A CN108304913 A CN 108304913A
Authority
CN
China
Prior art keywords
convolution
pulse
picture
function
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711488549.XA
Other languages
Chinese (zh)
Inventor
杨旭
朱奕檬
刘志林
邓松高筠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201711488549.XA priority Critical patent/CN108304913A/en
Publication of CN108304913A publication Critical patent/CN108304913A/en
Pending legal-status Critical Current

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/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
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

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)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)
  • Image Analysis (AREA)

Abstract

A method of realizing convolution of function using spiking neuron array, steps are as follows:Picture is inputted, and picture is pre-processed;Convolution kernel is designed according to actual conditions;Using the convolution kernel of design, convolution is done on the image.The present invention designs the structure with convolution of function according to impulsive neural networks feature, and the pulse array being made of spiking neuron realizes convolution of function.Compared with realizing convolution with the existing convolution kernel designed according to traditional neural network, the convolution based on impulsive neural networks can closer simulate biological neuron, and calculating power consumption can also substantially reduce.

Description

A method of realizing convolution of function using spiking neuron array
Technical field
The invention belongs to computational science, field of artificial intelligence, more particularly to it is a kind of using spiking neuron array come The method for realizing convolution of function.
Background technology
The unique network structure of convolutional neural networks can be effectively reduced the complexity of Feedback Neural Network.Convolution is in number Feature extraction is carried out for smoothly, being filtered to signal, noise reduction, and by designing different convolution kernels according in processing, in turn Convolution is carried out on the image.
Due to the convolution kernel usually designed for traditional neural network more at present, and the neural network of animal is most Convolution kernel for impulsive neural networks, common design mismatches therewith, and in contrast, impulsive neural networks are than traditional nerve Network closer mimic biology neuron.Impulsive neural networks are born in back-propagation algorithm, it is also failed to through traditional god The real data extensive experimentation crossed through network processes.Have many papers at present to impulsive neural networks and traditional neural network It can be compared, some has shown that impulsive neural networks are suitable for more complicated nonlinear data collection.Based on non-pulse nerve The current versatility of network is more than impulsive neural networks, has occurred much every research based on impulsive neural networks now. On this basis, impulsive neural networks are universally used for various data will not too long.
It is at present in the work for traditional artificial neural network such as such as CNN, DBN being converted into SNN there are also work. But impulsive neural networks do not find a perfect training algorithm temporarily, especially need to train deep layer network when It waits.And traditional artificial neural network attains full development by the mathematical tools such as statistics and optimization, the effect that training obtains is current It is more preferable than impulsive neural networks.Therefore this proposes also to make the improvement of convolution proposition only for impulsive neural networks.Always For, impulsive neural networks have stronger Basic of Biology, and potential ability is more powerful, but wait to develop;And it is traditional artificial Neural network makes full use of mathematical tools, the effect obtained now such as statistics and optimization more preferable.
The neuron substantially computation model being illustrated in figure 3 in non-pulse neuron.In contrast, in impulsive neural networks In, what neuron transmitted is pulse one by one.Since there are one film potentials (membrane voltage) for each neuron, when one When a neuron receives input pulse, its film potential can be caused to change, when reaching a threshold value, then can send an arteries and veins Punching, this pulse are transmitted backward again.Therefore we can be defined as, and what impulsive neural networks transmitted is pulse one by one, They constitute a pulse train, temporal information (temporal information) have been contained in pulse train, as list Time interval between a pulse is that not necessarily, this, which is traditional artificial neural network, to express.In addition to this, arteries and veins The each neuron rushed in neural network is just calculated when only receiving a pulse, and power consumption is lower, is calculated faster; And traditional artificial neural network needs calculating from level to level, calculation amount much bigger in contrast.In addition, traditional neural network The frequency that nerve impulse is all based on impulsive neural networks is encoded, and the more adjunction of the imictron of impulsive neural networks It is close practical.
2016, it is published in the paper Towards an Spiking Deep Belief Network for of IEEE Face Recognition Application are mentioned, and pulse rate and time are the decision ginsengs of data transmission in biological model Number.This paper carrys out analog pulse neural network using Brain simulators, due to the numerical accuracy and Brian moulds in Matlab The difference that quasi- device reloads, the weight matrix in Python result in the small size decline of precision, the standard of Brian simulator models True property is reduced to 92.4%.
2017, it is published in the paper Multi-Layer Unsupervised Learning in a Spiking of IEEE Convolutional Neural Network, it is proposed that impulsive neural networks (SNN) are relative to traditional non-pulse nerve net Network has advantage in terms of biological authenticity, the hard-wired possibility of low-power consumption and theoretical calculation.However multi-level It practises network to be difficult to train, and most of convolutional neural networks are trained by back-propagation algorithm, cannot be calculated locally. The convolutional neural networks based on pulse are trained with the believable local study of biology in weight although realizing herein, according to It is so to realize convolution with traditional convolution kernel, and is to be converted to arteries and veins after training first by network training at convolutional neural networks Rush network.
Invention content
In order to overcome the disadvantages of the above prior art, this several analysis foundations are based on, in specific aim, biological authenticity, are dived Low-power consumption hardware realization and with the improvement of theoretical calculation ability in terms of on, the present invention, which provides, a kind of utilizing spiking neuron battle array The method for arranging to realize convolution of function, the structure with convolution of function is designed according to impulsive neural networks feature, by pulse god Convolution of function is realized through first pulse array formed.
To achieve the goals above, the technical solution adopted by the present invention is:
A method of it realizing convolution of function using spiking neuron array, includes the following steps:
Picture is inputted, and picture is pre-processed;
Convolution kernel is designed according to actual conditions;
Using the convolution kernel of design, convolution is done on the image.
Preferably, described pair of input picture, and pretreated step is carried out to picture, including:
Picture is inputted, first layer inputs neuron and receives image, by picture conversion imaging prime matrix (being assumed to be N*N), and Each pixel value is subtracted into all pixels average value, then divided by all picture pixels standard deviation, make pixel value all in Between 0-1;
Preferably, described the step of designing convolution kernel according to actual conditions, including:
The purpose of convolution operation is extraction characteristics of image, specific in the present invention, the scale that design convolution kernel is r*r, and one Total s kinds are determined according to actual conditions (image scale etc.);
Preferably, described the step of utilizing the convolution kernel designed, doing convolution on the image, including:
According to the r*r convolution kernels of design, point-to-point connection is carried out to each piece of image on the image of N*N, wherein Every piece of scale is identical as convolution kernel size, is r*r, and the part of connection is considered as access, is connected for weights, unconnected part regards It is filtered for mask, connection of different shapes, which is considered as, realizes different convolution of function, i.e., is attached using different convolution kernels When be considered as and used different functions;Convolution kernel rolls be attached therewith on the image, a mobile step after the completion of each piece It is long, continue to do point-to-point connection with next piece.
After convolution kernel carries out point-to-point connection on the image, convolution value is substituted using using the sequential speed for sending pulse The mode of size substitutes original mode that convolution is completed using convolution value, and deconvolution parameter is embodied in the company between neuron It connects, i.e., weight w eight, specific implementation are as follows:
By point-to-point connection, weights size is embodied in the connection of convolution kernel and picture.For convolution behaviour each time Make, a time window is all set to embody the sequential of hair pulse successively.The non-zero part of weights is considered as transmission pulse, if weights compared with When big, over a time window be presented as pulse send it is closer, feature is obvious, on the contrary pulse embody it is more sparse, association Property little, feature unobvious, value it is smaller.
Compared with realizing convolution with the existing convolution kernel designed according to traditional neural network, based on impulsive neural networks Convolution can closer simulate biological neuron, and calculating power consumption can also substantially reduce.
Description of the drawings
Fig. 1 is the flow diagram that convolution of function is realized using spiking neuron array of present example.
Fig. 2 is the characteristic Design convolution kernel to extraction in present example, does the process schematic of convolution on the image.
Fig. 3 is the substantially computation model of neuron in non-impulsive neural networks.
Fig. 4 be in impulsive neural networks membrane potential of neurons with input pulse time variation diagram.
Fig. 5 is the schematic diagram of convolution process.
Fig. 6 is the schematic diagram of convolution mode in present example.
Specific implementation mode
The embodiment that the present invention will be described in detail with reference to the accompanying drawings and examples.
Fig. 1 is the flow diagram that convolution of function is realized using spiking neuron array of present example, this method Including:
S1 inputs picture, and is pre-processed to picture;
S2 designs convolution kernel according to actual conditions;
S3 does convolution on the image using the convolution kernel of design.
In S1, by first layer input neuron receive input picture, then by picture conversion imaging prime matrix (assuming that For N*N), make pixel value all between 0-1 by pretreatment mode as described above, simplifies calculation amount, moreover it is possible to avoid intending It closes;
In S2, the scale that design convolution kernel is r*r, s kinds, determine according to actual conditions (image scale etc.) altogether, It is 3*3 specific to the size of convolution kernel in this example, is designed, 4 kinds altogether, is presented as matrix r 0, r1, the following institute of r2, r3 respectively Show:
Further, as shown in Fig. 2, S3 includes:
S31 carries out point-to-point connection in order with the convolution kernel of r*r on the image of N*N;
S32, by point-to-point connection, weights size is embodied in the connection of convolution kernel and picture.For volume each time Product operation all embodies the sequential of hair pulse successively to receiving neuron one time window of setting accordingly.When a neuron When receiving input pulse, if having reached the threshold value of membrane potential of neurons at the moment, which is excited, and can send one Pulse passes to reception neuron backward, can be embodied on the time window of this reception neuron there are one pulse.Weights Part non-zero weight, which is considered as, has sent pulse.
S33, be depicted over a time window pulse transmission (pulse send more compact representation convolution value it is bigger, feature is brighter It is aobvious, when connection weight is 0, is considered as and does not send pulse), the size of convolution value is indicated by pulse sequence speed.If receiving god Through being presented as on elementary time window, pulse transmission is more relatively close, then shows that this feature is obvious, conversely, when on time window Pulse embodiment is more sparse, then shows that relevance is little, this feature unobvious, the convolution value being equal in traditional convolution mode It is smaller.
Input is input, x in Fig. 31To xiTo input the picture element matrix of picture, wiFor connection weight, f is activation primitive, a It is exported for neuron, that is, has the neuron being excited.Therefore convolutional layer calculation formula is:
A=f (z)
Wherein z is the summation for inputting picture pixels value after convolution kernel does convolution operation, i.e.,:
Fig. 4 is a time window, gives neuron input pulse, threshold value 3 in different times.When the pulse of input is enough When neuron membrane voltage being made to be more than threshold value, neuron is excited, and carries out discharge operation, restores to balanced voltage after a period of time.
Fig. 5 is the schematic diagram of convolution process, and wherein Image is the picture element matrix of input picture, it is assumed that it is 5*5, Convoluted Feature are characterized the different characteristic convolution kernel designed after extraction, it is assumed that are 3*3, with the convolution kernel in image On do convolution, traditional convolution mode be first piece of image it is upper carry out point-to-point multiplication after be added, then first piece Convolution value be 1*1+1*0+1*1+0*0+1*1+1*0+0*1+0*0+1*1=4.Next convolution kernel is moved into a step-length, Continue to do convolution to next piece.When whole pictures all finish convolution operation, the neuron that neuron is rendered as a 3*3 is received Matrix, the pond for continuing to complete next step.
Fig. 6 is the convolution schematic diagram that convolution of function is realized using spiking neuron array of present example, such as Shown in Fig. 6, including:
First layer is the picture element matrix of input picture in figure, it is assumed that is N*N, convolution kernel is the convolution kernel of 3*3, Yi Gongsi Kind.Point-to-point connection is carried out to each piece of the first tomographic image, coupling part, which is considered as, weights weight, and the second layer is to receive god Through member.It is different from traditional convolution mode, pulse sequence is used herein to substitute the size of convolution value.For example, when using the When one convolution kernel, since image does point-to-point connection therewith, especially, with traditional approach the difference is that, deconvolution parameter It being embodied in the connection between neuron, i.e. weight w eight, connectionless part is considered as 0, for convolution operation each time, All the sequential of pulse transmission is embodied to receiving neuron one time window of setting successively.The non-zero part of weights is considered as transmission arteries and veins Punching, if receiving being presented as on neuron time window, pulse transmission is more relatively close, shows that this feature is obvious, conversely, When on time window pulse embody it is more sparse, then show that relevance is little, this feature unobvious are equal in traditional convolution side Convolution value in formula is smaller.It is assumed that the time for finishing a convolution operation is t, i.e., the time described in single time window is long Degree is t, then the time consumed when whole pictures all finish convolution operation is 9t, receives neuron one and 9 time windows are obtained, Whether apparent the sequential that pulse transmission is presented on each time window, embody this feature by pulse sequence speed, instead of Convolution value in traditional approach.This nine receive neuron and form a spiking neuron array, realize heretofore described Convolution of function is realized using spiking neuron array.

Claims (5)

1. a kind of method for realizing convolution of function using spiking neuron array, which is characterized in that include the following steps:
1) picture is inputted, and picture is pre-processed;
2) convolution kernel is designed;
3) using the convolution kernel of design, convolution is done on the image.
2. the method for realizing convolution of function using spiking neuron array according to claim 1, which is characterized in that described Step 1) inputs picture, and is pre-processed to picture, including:
Picture is inputted, first layer inputs neuron and receives image, by picture conversion imaging prime matrix, and by each pixel value Subtract the average value of all picture pixels, then divided by all picture pixels standard deviation, make pixel value all between 0-1.
3. the method for realizing convolution of function using spiking neuron array according to claim 1, which is characterized in that described Step 2) designs convolution kernel, including:
The scale that convolution kernel is r*r is designed, altogether s kinds.
4. the method for realizing convolution of function using spiking neuron array according to claim 1, which is characterized in that described Step 3) does convolution on the image using the convolution kernel of design, including:
According to the r*r convolution kernels of design, point-to-point connection is carried out to each piece of image on the image of N*N, wherein every piece Scale it is identical as convolution kernel size, be r*r, the part of connection is considered as access, is connected for weights, unconnected part, which is considered as, to be covered Mould is filtered, and connection of different shapes, which is considered as, realizes different convolution of function, and convolution kernel rolls be attached therewith on the image, A mobile step-length after the completion of each piece, continues to do point-to-point connection with next piece.
5. the method for realizing convolution of function using spiking neuron array according to claim 4, which is characterized in that described After convolution kernel carries out point-to-point connection on the image, convolution value size is substituted using pulse sequence speed, specific implementation is such as Under:
By point-to-point connection, weights size weight is embodied in the connection of convolution kernel and picture, for convolution each time A time window all is arranged to next layer of reception neuron, for indicating whether send out in convolution operation sometime in operation Pulse, time window has been sent to embody the sequential of hair pulse successively, the non-zero part of weights is considered as transmission pulse, and weights are bigger, in the time It is closer to be presented as that pulse is sent on window, feature is more apparent, and weights are smaller, and it is more sparse to be presented as that pulse is sent over a time window, Feature gets over unobvious, and the transmission of pulse is finally depicted over a time window, and the size of convolution value is indicated by pulse sequence.
CN201711488549.XA 2017-12-30 2017-12-30 A method of realizing convolution of function using spiking neuron array Pending CN108304913A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711488549.XA CN108304913A (en) 2017-12-30 2017-12-30 A method of realizing convolution of function using spiking neuron array

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711488549.XA CN108304913A (en) 2017-12-30 2017-12-30 A method of realizing convolution of function using spiking neuron array

Publications (1)

Publication Number Publication Date
CN108304913A true CN108304913A (en) 2018-07-20

Family

ID=62868382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711488549.XA Pending CN108304913A (en) 2017-12-30 2017-12-30 A method of realizing convolution of function using spiking neuron array

Country Status (1)

Country Link
CN (1) CN108304913A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046695A (en) * 2019-04-09 2019-07-23 中国科学技术大学 A kind of configurable high degree of parallelism spiking neuron array
WO2023284142A1 (en) * 2021-07-16 2023-01-19 成都时识科技有限公司 Signal processing method for neuron in spiking neural network and method for training said network

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279958A (en) * 2013-05-31 2013-09-04 电子科技大学 Image segmentation method based on Spiking neural network
CN104933722A (en) * 2015-06-29 2015-09-23 电子科技大学 Image edge detection method based on Spiking-convolution network model
CN104991239A (en) * 2015-06-29 2015-10-21 中国科学院空间科学与应用研究中心 Distance sidelobe suppression method based on pulse compression radar
CN105760930A (en) * 2016-02-18 2016-07-13 天津大学 Multilayer spiking neural network recognition system for AER
US20160358069A1 (en) * 2015-06-03 2016-12-08 Samsung Electronics Co., Ltd. Neural network suppression
EP3121767A1 (en) * 2015-07-23 2017-01-25 Applied Brain Research Inc. Methods and systems for implementing deep spiking neural networks
CN106407990A (en) * 2016-09-10 2017-02-15 天津大学 Bionic target identification system based on event driving
CN106446937A (en) * 2016-09-08 2017-02-22 天津大学 Multi-convolution identifying system for AER image sensor
CN106841216A (en) * 2017-02-28 2017-06-13 浙江工业大学 Tunnel defect automatic identification equipment based on panoramic picture CNN

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279958A (en) * 2013-05-31 2013-09-04 电子科技大学 Image segmentation method based on Spiking neural network
US20160358069A1 (en) * 2015-06-03 2016-12-08 Samsung Electronics Co., Ltd. Neural network suppression
CN104933722A (en) * 2015-06-29 2015-09-23 电子科技大学 Image edge detection method based on Spiking-convolution network model
CN104991239A (en) * 2015-06-29 2015-10-21 中国科学院空间科学与应用研究中心 Distance sidelobe suppression method based on pulse compression radar
EP3121767A1 (en) * 2015-07-23 2017-01-25 Applied Brain Research Inc. Methods and systems for implementing deep spiking neural networks
CN105760930A (en) * 2016-02-18 2016-07-13 天津大学 Multilayer spiking neural network recognition system for AER
CN106446937A (en) * 2016-09-08 2017-02-22 天津大学 Multi-convolution identifying system for AER image sensor
CN106407990A (en) * 2016-09-10 2017-02-15 天津大学 Bionic target identification system based on event driving
CN106841216A (en) * 2017-02-28 2017-06-13 浙江工业大学 Tunnel defect automatic identification equipment based on panoramic picture CNN

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110046695A (en) * 2019-04-09 2019-07-23 中国科学技术大学 A kind of configurable high degree of parallelism spiking neuron array
CN110046695B (en) * 2019-04-09 2021-04-23 中国科学技术大学 Configurable high-parallelism pulse neuron array
WO2023284142A1 (en) * 2021-07-16 2023-01-19 成都时识科技有限公司 Signal processing method for neuron in spiking neural network and method for training said network

Similar Documents

Publication Publication Date Title
Deng et al. Optimal conversion of conventional artificial neural networks to spiking neural networks
CN107092959B (en) Pulse neural network model construction method based on STDP unsupervised learning algorithm
CN112633497B (en) Convolutional impulse neural network training method based on re-weighted membrane voltage
Louizos et al. Bayesian compression for deep learning
Gregor et al. Deep autoregressive networks
CN108805270A (en) A kind of convolutional neural networks system based on memory
CN111858989A (en) Image classification method of pulse convolution neural network based on attention mechanism
CN112699958A (en) Target detection model compression and acceleration method based on pruning and knowledge distillation
CN109086802A (en) A kind of image classification method based on biquaternion convolutional neural networks
CN110223785A (en) A kind of infectious disease transmission network reconstruction method based on deep learning
Malik et al. Operational vs convolutional neural networks for image denoising
CN112712170B (en) Neuromorphic visual target classification system based on input weighted impulse neural network
CN112906828A (en) Image classification method based on time domain coding and impulse neural network
CN111382840B (en) HTM design method based on cyclic learning unit and oriented to natural language processing
CN108304913A (en) A method of realizing convolution of function using spiking neuron array
Simoncelli Optimal estimation in sensory systems
WO2020196066A1 (en) Neural network learning method, neural network generation method, learned device, portable terminal device, learning processing device, and computer program
CN114861838A (en) Intelligent classification method for pulsatile neural brains based on neuron complex dynamics
Wu et al. A structure–time parallel implementation of spike-based deep learning
Bras Langevin algorithms for very deep Neural Networks with application to image classification
Tareen et al. Convolutional neural networks for beginners
CN114998659B (en) Image data classification method for training impulse neural network model on line along with time
Dao Image classification using convolutional neural networks
CN113033795B (en) Pulse convolution neural network hardware accelerator of binary pulse diagram based on time step
CN114926737A (en) Low-power-consumption target detection method based on convolutional pulse neural network

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20180720