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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
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
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.
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)
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)
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 |
-
2017
- 2017-12-30 CN CN201711488549.XA patent/CN108304913A/en active Pending
Patent Citations (9)
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)
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 |