A training method and device of a reserve pool calculation model based on a pulse signal

By acquiring environmental images from historical image acquisition devices as training samples, and dynamically adjusting the connection weights and membrane potentials of neurons, the problem of insufficient robustness and accuracy of existing models is solved, achieving more efficient obstacle detection.

CN117195974BActive Publication Date: 2025-12-12ZHEJIANG LAB
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310971923.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-10-19
Filing Date
2023-08-02
Publication Date
2025-12-12
Estimated Expiration
2043-08-02

AI Technical Summary

Technical Problem

In existing reservoir computing models based on pulse signals, the connection weights of the hidden layers are randomly initialized and fixed during training, resulting in poor model robustness and low accuracy of output results.

Method used

By acquiring environmental images from historical image acquisition devices as training samples, the connection weights and membrane potentials of neurons are determined. A linear regression algorithm is used to calculate readout weights, dynamically adjust the connection weights and membrane potentials between neurons, and optimize the model training process.

Benefits of technology

This improves the robustness of the model and the accuracy of the output, enabling the trained model to better detect obstacles in images and making it suitable for environmental target detection in unmanned equipment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117195974B_ABST
    Figure CN117195974B_ABST
Patent Text Reader

Abstract

The specification discloses a training method and device of a reserve pool calculation model based on a pulse signal, comprising: inputting historical environment images as training samples into each neuron of a hidden layer of a reserve pool calculation model based on a pulse signal to be trained. According to the annotation of the training sample, a target vector is determined. For each neuron, according to the pulse signals fired by other neurons at the last moment and the initial connection weight, the current connection weight of other neurons to the neuron is determined, and other input potentials of other neurons input into the neuron are determined. According to the time scale of the decay of the membrane potential of the neuron, a decay potential is determined. According to the decay potential, the other input potentials and the training sample, a state vector composed of the membrane potentials of each neuron is determined. According to the state vector and the target vector, the readout weight of the readout layer is calculated, so that the trained model has good robustness, high output result accuracy and can achieve the expected effect.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to the invention patent application with the application number 202211276694.2, the title of "a method and device for constructing a pulse neural network reservoir computing model", which was filed with the State Intellectual Property Office on October 19, 2022, and the entire content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] The present specification relates to the field of computer technology, and in particular to a training method and device for a reservoir computing model based on pulse signals. BACKGROUND

[0003] With the continuous development of technology, reservoir computing has received extensive attention. Reservoir computing is a neural network computing framework composed of an input layer, a hidden layer, and a readout layer. The hidden layer is a recurrent neural network, which is called a reservoir.

[0004] Currently, a reservoir computing model can map low-dimensional input data to a high-dimensional space for representation. The reservoir computing model based on pulse signals is a model in which neurons communicate with each other through pulses. In training the reservoir computing model based on pulse signals, the input weights of the model and the connection weights between the neurons in the hidden layer are randomly initialized and fixed, and only the readout weights of the model need to be trained according to the states of the neurons in the hidden layer. For example, when detecting obstacles in the surrounding environment of an unmanned device, a reservoir computing model based on pulse signals can be trained to classify images obtained from the environment to determine whether there are obstacles in the environment images. In training the model, a number of images can be input into the reservoir computing model based on pulse signals to be trained to determine the states of the neurons in the hidden layer corresponding to each image, and the reservoir computing model based on pulse signals to be trained can be trained according to the class labels corresponding to each image and the determined states of the neurons corresponding to each image.

[0005] In addition, the connection weights of the hidden layer of the model affect the performance of the model. However, the connection weights of the hidden layer of the model are usually randomly initialized and fixed, so if the connection weights of the hidden layer of the model are set unreasonably, it will affect the performance of the model, such as reducing the robustness of the model, reducing the accuracy of the output results of the model, and not meeting the expected effect. Therefore, how to train a reservoir computing model based on pulse signals is an important problem.

[0006] Therefore, the present specification provides a training method for a reservoir computing model based on pulse signals. SUMMARY

[0007] The present specification provides a training method and device of a spiking neural network model, to partially solve the above problems existing in the prior art.

[0008] The present specification adopts the following technical solutions:

[0009] The present specification provides a training method of a spiking neural network model, comprising:

[0010] Obtain historical environment images collected by an image collection device, and use the historical environment images as training samples; use the image categories corresponding to the training samples as the labels of the training samples, and determine a target vector according to the labels;

[0011] Input the training samples into each neuron of a hidden layer of a spiking neural network model to be trained;

[0012] For each neuron, determine the connection weights of other neurons to the neuron according to the spiking signals fired by the other neurons at the previous moment and preset initial connection weights, and use the determined connection weights as current connection weights, and determine other input potentials of the other neurons to the neuron according to the determined current connection weights;

[0013] Determine the time scale of the decay of the membrane potential of the neuron, and determine the decay potential of the neuron according to the time scale of the decay;

[0014] Determine the membrane potential of the neuron according to the decay potential, the other input potentials, and the training sample;

[0015] Determine a state vector composed of the membrane potentials of the neurons;

[0016] Use the state vector as the input of a readout layer of the spiking neural network model to be trained, use the target vector as the target output of the readout layer of the spiking neural network model to be trained, and use a linear regression algorithm to calculate the readout weights of the readout layer of the spiking neural network model to be trained, wherein the trained spiking neural network model is used to determine the category result of a to-be-detected image according to the to-be-detected image collected by the image collection device.

[0017] Optionally, the spiking neural network model to be trained further comprises an input layer, and the input weights of the input layer are randomly generated within a specified range;

[0018] Input the training samples into each neuron of a hidden layer of a spiking neural network model to be trained, and the inputting specifically comprises:

[0019] inputting the training sample into an input layer of a pulse signal based reservoir computing model to be trained to obtain an input current value;

[0020] inputting the input current value into each neuron of a hidden layer of the pulse signal based reservoir computing model to be trained.

[0021] Optionally, the membrane potential of the neuron is determined according to the decay potential, the other input potential and the training sample, and specifically includes:

[0022] The membrane potential of the neuron is determined according to the decay potential, the other input potential and the input current value, and the greater the input current value, the greater the membrane potential of the neuron.

[0023] Optionally, the connection weight of the other neurons to the neuron is determined according to the pulse signal fired by the other neurons at the last moment and the preset initial connection weight, as the current connection weight, and specifically includes:

[0024] The reduction weight of the other neurons to the neuron is determined according to the pulse signal fired by the other neurons at the last moment.

[0025] The recovery weight of the other neurons to the neuron is determined.

[0026] The connection weight of the other neurons to the neuron is determined according to the preset initial connection weight, the recovery weight and the reduction weight, as the current connection weight.

[0027] Optionally, the recovery weight of the other neurons to the neuron is determined, and specifically includes:

[0028] The membrane potential of the other neurons is determined as the other membrane potential.

[0029] The time scale of the recovery of the connection weight of the other neurons to the neuron is determined according to the other membrane potential, and the greater the other membrane potential, the smaller the time scale.

[0030] The recovery weight of the other neurons to the neuron is determined according to the determined time scale, and the smaller the time scale, the greater the recovery weight.

[0031] Optionally, the method further includes:

[0032] When the membrane potential of the neuron is determined to be not less than a preset threshold, firing a pulse signal from the neuron to the other neurons, recording the firing condition of firing the pulse signal, and updating the membrane potential of the neuron according to a specified rule.

[0033] determine a reduced weight of the neuron to each of the other neurons according to the firing condition;

[0034] determine a recovery weight of the neuron to each of the other neurons, and update a connection weight of the neuron to each of the other neurons according to the recovery weight and the reduced weight.

[0035] Optionally, the pulse signal-based reservoir computing model to be trained further comprises an input layer;

[0036] The method further comprises:

[0037] in response to a target detection instruction sent by a user, determining a to-be-detected image;

[0038] inputting the to-be-detected image into the input layer of the trained pulse signal-based reservoir computing model to obtain an input current value;

[0039] inputting the input current value into each neuron of a hidden layer of the pulse signal-based reservoir computing model;

[0040] for each neuron, determining a connection weight of each of the other neurons to the neuron according to pulse signals fired by the other neurons at a previous time and a preset initial connection weight, as a current connection weight;

[0041] determining other input potentials of the other neurons to the neuron according to the determined current connection weight;

[0042] determining a time scale of decay of a membrane potential of the neuron, and determining a decay potential of the neuron according to the time scale of decay;

[0043] determining a membrane potential of the neuron according to the decay potential, the other input potentials and the input current value;

[0044] determining a state vector composed of the membrane potentials of the neurons;

[0045] inputting the state vector into a readout layer of the pulse signal-based reservoir computing model to determine a detection result of the to-be-detected image.

[0046] The present specification provides a training device of a pulse signal-based reservoir computing model, comprising:

[0047] an acquisition module configured to acquire environment images collected by an image collection device in history as training samples, take an image category corresponding to the training samples as a label of the training samples, and determine a target vector according to the label;

[0048] an input module, configured to input the training sample into each neuron of a hidden layer of a pulse signal based reservoir computing model to be trained;

[0049] a weight module, configured to, for each neuron, determine, according to pulse signals fired by other neurons at a previous time and preset initial connection weights, connection weights of the other neurons to the neuron respectively as current connection weights, and determine, according to the determined current connection weights, other input potentials of the other neurons input into the neuron;

[0050] a membrane potential module, configured to determine a time scale of decay of a membrane potential of the neuron, and determine, according to the time scale of decay, a decay potential of the neuron, and determine, according to the decay potential, the other input potentials and the training sample, the membrane potential of the neuron;

[0051] a state vector module, configured to determine a state vector composed of the membrane potentials of the neurons;

[0052] a training module, configured to take the state vector as an input of a readout layer of the pulse signal based reservoir computing model to be trained, take the target vector as a target output of the readout layer of the pulse signal based reservoir computing model to be trained, and calculate readout weights of the readout layer of the pulse signal based reservoir computing model to be trained by using a linear regression algorithm, wherein the pulse signal based reservoir computing model trained is configured to determine a category result of a to-be-detected image according to the to-be-detected image collected by the image acquisition device.

[0053] Optionally, the pulse signal based reservoir computing model to be trained further includes an input layer, and input weights of the input layer are randomly generated in a specified range.

[0054] The input module is specifically configured to input the training sample into an input layer of the pulse signal based reservoir computing model to be trained to obtain an input current value, and input the input current value into each neuron of a hidden layer of the pulse signal based reservoir computing model to be trained.

[0055] Optionally, the membrane potential module is specifically configured to determine the membrane potential of the neuron according to the decay potential, the other input potentials and the input current value, wherein the greater the input current value is, the greater the membrane potential of the neuron is.

[0056] Optionally, the weight module is specifically configured to determine, according to the pulse signals fired by other neurons at a previous time, a decreasing weight of the other neurons to the neuron respectively; determine a restoring weight of the other neurons to the neuron respectively; and determine, according to the preset initial connection weight, the restoring weight and the decreasing weight, a connection weight of the other neurons to the neuron respectively as a current connection weight.

[0057] Optionally, the weight module is specifically configured to determine a membrane potential of the other neurons as an other membrane potential; determine, according to the other membrane potential, a time scale of restoring of the connection weight of the other neurons to the neuron respectively, wherein the greater the other membrane potential is, the smaller the time scale is; and determine, according to the determined time scale, the restoring weight of the other neurons to the neuron respectively, wherein the smaller the time scale is, the greater the restoring weight is.

[0058] Optionally, the membrane potential module is further configured to, when determining that the membrane potential of the neuron is not less than a preset threshold, fire a pulse signal from the neuron to the other neurons, record a firing condition of firing the pulse signal, and update the membrane potential of the neuron according to a specified rule; determine, according to the firing condition, a decreasing weight of the neuron to the other neurons respectively; determine a restoring weight of the neuron to the other neurons respectively, and update a connection weight of the neuron to the other neurons respectively according to the restoring weight and the decreasing weight.

[0059] Optionally, the pulse signal-based reservoir computing model to be trained further comprises an input layer;

[0060] The apparatus further comprises:

[0061] The application module is configured to, in response to a target detection instruction sent by a user, determine a to-be-detected image; input the to-be-detected image into an input layer of the trained pulse signal-based reservoir computing model to obtain an input current value; input the input current value into each neuron of a hidden layer of the pulse signal-based reservoir computing model; for each neuron, determine, according to a pulse signal fired by other neurons at a previous time and a preset initial connection weight, a connection weight of the other neurons to the neuron respectively as a current connection weight; determine, according to the determined current connection weight, other input potentials of the other neurons input into the neuron; determine a time scale of attenuation of a membrane potential of the neuron, and determine an attenuation potential of the neuron according to the time scale of attenuation; determine the membrane potential of the neuron according to the attenuation potential, the other input potentials and the input current value; determine a state vector composed of the membrane potentials of the neurons; input the state vector into a readout layer of the pulse signal-based reservoir computing model to determine a detection result of the to-be-detected image.

[0062] The specification provides a computer readable storage medium, the storage medium stores a computer program, the computer program is executed by a processor to implement the training method of the above-mentioned reserve pool calculation model based on pulse signal.

[0063] The specification provides an electronic device, including a memory, a processor and a computer program stored on the memory and executable on the processor, the processor executes the program to implement the training method of the above-mentioned reserve pool calculation model based on pulse signal.

[0064] The above-mentioned at least one technical scheme adopted by the specification can achieve the following beneficial effects:

[0065] The training method of the reserve pool calculation model based on pulse signal provided by the specification acquires the environment image collected by the image acquisition device in history as the training sample. And the image category corresponding to the training sample is taken as the label of the training sample, and the target vector is determined according to the label. Then, the training sample is input into each neuron of the hidden layer of the reserve pool calculation model based on pulse signal to be trained. For each neuron, the connection weight from other neurons to the neuron is determined as the current connection weight according to the pulse signal fired by the other neurons at the last moment and the preset initial connection weight, and the other input potential of the other neurons input into the neuron is determined according to the determined current connection weight. At the same time, the time scale of the decay of the membrane potential of the neuron is determined, and the decay potential of the neuron is determined according to the time scale of the decay. Then, the membrane potential of the neuron is determined according to the decay potential, the other input potential and the training sample, and the state vector composed of the membrane potential of each neuron is determined. Then, the state vector is taken as the input of the readout layer of the reserve pool calculation model based on pulse signal to be trained, the target vector is taken as the target output of the readout layer of the reserve pool calculation model based on pulse signal to be trained, and the readout weight of the readout layer of the reserve pool calculation model based on pulse signal to be trained is calculated by using linear regression algorithm.

[0066] As can be seen from the above method, in the training of the reserve pool computing model based on the pulse signal, the historical environment images collected by the image collection device can be obtained as the training samples. The image categories corresponding to the training samples are taken as the labels of the training samples, and the target vector is determined according to the labels. Then, the training samples are input into each neuron of the hidden layer of the reserve pool computing model based on the pulse signal to be trained. For each neuron, the connection weights of other neurons to the neuron are determined as the current connection weights according to the pulse signals fired by the other neurons at the previous moment and the preset initial connection weights, and the other input potentials of the other neurons input into the neuron are determined according to the determined current connection weights. At the same time, the time scale of the decay of the membrane potential of the neuron is determined, and the decay potential of the neuron is determined according to the time scale of the decay. Then, the membrane potential of the neuron is determined according to the decay potential, the other input potentials and the training sample, and the state vector composed of the membrane potentials of the neurons is determined. The state vector is taken as the input of the readout layer of the reserve pool computing model based on the pulse signal to be trained, and the target vector is taken as the target output of the readout layer of the reserve pool computing model based on the pulse signal to be trained. The readout weights of the readout layer of the reserve pool computing model based on the pulse signal to be trained are calculated by using the linear regression algorithm, so that the reserve pool computing model based on the pulse signal after the training is completed is good in robustness and high in accuracy of the output result when it is used for determining the category result of the to-be-detected image according to the to-be-detected image collected by the image collection device, and the expected effect can be achieved. BRIEF DESCRIPTION OF DRAWINGS

[0067] The accompanying drawings, which are included to provide a further understanding of the present specification and constitute a part of the present specification, illustrate the illustrative embodiments of the present specification and their description serves to explain the present specification, and do not constitute an improper limitation on the present specification. In the drawings:

[0068] Figure 1 A flowchart of a training method of a reserve pool computing model based on a pulse signal provided in the present specification;

[0069] Figure 2 A schematic diagram of a reserve pool computing model structure based on a pulse signal provided in the present specification;

[0070] Figure 3 A schematic diagram of an application process of a reserve pool computing model based on a pulse signal provided in the present specification;

[0071] Figure 4 A schematic diagram of a training device structure of a reserve pool computing model based on a pulse signal provided in the present specification;

[0072] Figure 5A structural schematic diagram of an electronic device corresponding to Figure 1 A structural schematic diagram of an electronic device corresponding to DETAILED DESCRIPTION

[0073] For the purpose, technical solutions and advantages of the present specification, the technical solutions of the present specification will be described in detail below in combination with specific embodiments of the present specification and corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present specification, not all. Based on the embodiments in the present specification, all other embodiments obtained by those of ordinary skill in the art without creative labor belong to the scope of protection of the present specification.

[0074] The technical solutions provided by the embodiments of the present specification will be described in detail below in combination with the drawings.

[0075] Figure 1 A flowchart of a training method of a reserve pool computing model based on a pulse signal provided in the present specification, comprising the following steps:

[0076] S100: Obtain environment images collected by image collection devices in history as training samples; take the image categories corresponding to the training samples as the labels of the training samples, and determine the target vector according to the labels.

[0077] In the present specification, the device for training the reserve pool computing model based on the pulse signal can obtain environment images collected by image collection devices in history as training samples, and take the image categories corresponding to the training samples as the labels of the training samples, and determine the target vector according to the labels. The device for training the reserve pool computing model based on the pulse signal can be a server, or an electronic device such as a desktop computer, a notebook computer, etc. For the convenience of description, the training method of the reserve pool computing model based on the pulse signal provided in the present specification will be described below taking the server as the execution subject. The image collection device can be a video camera, a camera, or a laser radar, etc. The present specification does not make specific limitation.

[0078] In the present specification, the reserve pool computing model based on the pulse signal trained by the server can be used for target detection of obstacles in the surrounding environment of the unmanned device. Specifically, image classification can be performed on the surrounding environment images of the unmanned device to determine whether there are obstacles in the environment images. When there are obstacles in the environment images, it is determined that there are obstacles around the unmanned device, and subsequently, the region where the obstacles are located can be determined according to the environment images, and the motion trajectory of the unmanned device is re-planned according to the region to avoid collision with the obstacles.

[0079] Based on this, the server can acquire environmental images captured by historical image acquisition devices and use them as training samples. Subsequently, the environmental images used as training samples are used to train the pulse signal-based reservoir computing model to be trained, so as to detect obstacles in the surrounding environment of unmanned equipment.

[0080] Simultaneously, the server uses the image category corresponding to the training samples (i.e., environmental images) as the annotation for the training samples, and determines the target vector based on the annotation. Since the pulse signal-based reservoir computing model trained by the server is used for target detection of obstacles in the surrounding environment of unmanned equipment, the training samples are environmental images historically captured by image acquisition devices, and the annotation of the training samples indicates whether the environmental image contains obstacles. Therefore, the image categories are either "with obstacles present" or "without obstacles present." The target vector is a vector representing the annotation of the training samples, which can be represented by 0 and 1, where 1 indicates the presence of obstacles and 0 indicates the absence of obstacles. Of course, it can also be represented by other characters, such as 'a' indicating the presence of obstacles and 'b' indicating the absence of obstacles; this specification does not specifically limit this.

[0081] S102: Input the training samples into each neuron of the hidden layer of the pulse signal-based reservoir computing model to be trained.

[0082] The server can input training samples into the neurons of the hidden layer of the pulse-based reservoir computing model to be trained. The pulse-based reservoir computing model to be trained includes a hidden layer and a readout layer. The hidden layer contains a number of neurons, which can be preset, for example, N neurons in the hidden layer of the pulse-based reservoir computing model.

[0083] Specifically, for each neuron in the hidden layer of the pulse-based reservoir computing model to be trained, the server can input the training samples into that neuron. That is, for each neuron in the hidden layer of the pulse-based reservoir computing model to be trained, the server can input the environmental image into that neuron.

[0084] In addition, the pulse signal-based reservoir calculation model to be trained also includes an input layer, such as... Figure 2 As shown, Figure 2 This is a schematic diagram of a reservoir calculation model structure based on pulse signals provided in this specification. Figure 2 The pulse signal-based reservoir computing model in the paper includes an input layer, a hidden layer, and a readout layer. The input layer contains at least one neuron. Figure 2 Only the input layer containing one neuron is shown. The hidden layer contains N neurons. Figure 2Only a hidden layer including four neurons is shown. The readout layer includes at least one neuron, Figure 2 Only a readout layer including one neuron is shown. Therefore, the server can input the training sample into the input layer of the pulse signal-based reservoir computing model to be trained to obtain the input current value, that is, the server can input the environment image into the input layer of the pulse signal-based reservoir computing model to be trained to obtain the input current value. Then, the input current value is input into each neuron of the hidden layer of the pulse signal-based reservoir computing model to be trained. The input weight of the input layer is randomly generated in a specified range, and the specified range can be a pre-set range, for example, the specified range can be [0, 1]. In addition, the probability of selecting each value in the specified range is equal. The input weight is the connection weight between the input layer and the hidden layer, and the input current value is obtained according to the environment image as the training sample and the input weight.

[0085] S104: For each neuron, determine the connection weight of the other neurons to the neuron respectively as the current connection weight according to the pulse signals fired by the other neurons at the last moment and the preset initial connection weight, and determine the other input potential of the other neurons input into the neuron according to the determined current connection weight.

[0086] For each neuron, the server can first determine the connection weight of the other neurons to the neuron respectively as the current connection weight according to the pulse signals fired by the other neurons at the last moment and the preset initial connection weight. When the other neurons fire the pulse signals to the neuron, the connection weight of the other neurons to the neuron decreases. Therefore, the connection weight of the other neurons to the neuron is negatively correlated with the number of times (i.e., the firing frequency) of the pulse signals fired by the other neurons to the neuron, that is, the connection weight of the other neurons to the neuron decreases once when the other neurons fire a pulse signal to the neuron, the more the number of times of firing the pulse signals, the more the number of times of decreasing the connection weight, and the connection weight becomes smaller and smaller, and each time it is reduced by U times of the connection weight, that is, U times of the connection weight itself, U being the neurotransmitter released by the neuron when firing the pulse signal. In addition, the current connection weight of the other neurons to the neuron is the connection weight of the other neurons to the neuron at the last moment of the current moment. Therefore, the server can determine the decreasing weight of the other neurons to the neuron according to the pulse signals fired by the other neurons at the last moment. Then, the connection weight of the other neurons to the neuron is determined as the current connection weight according to the initial connection weight and the decreasing weight.

[0087] In addition, the connection weight of the other neurons to the neuron is self-recovered over time regardless of whether the other neurons send a pulse signal to the neuron, but the connection weight of the other neurons to the neuron cannot exceed a preset maximum weight, that is, the connection weight of the other neurons to the neuron after recovery cannot exceed the preset maximum weight. Therefore, the server can determine the recovery weight of the other neurons to the neuron respectively. Meanwhile, according to the pulse signal sent by the other neurons at the last moment, the reduction weight of the other neurons to the neuron respectively is determined. Then, according to the preset initial connection weight, the recovery weight and the reduction weight, the connection weight of the other neurons to the neuron is determined as the current connection weight, which can be calculated by the following formula:

[0088]

[0089] wherein the differential equation represents J ij (t) over time, t represents time, J ij (t) represents the connection weight of the neuron j connected to the neuron i at the moment t, that is, the connection weight of the other neuron j to the neuron i at the last moment of the moment t, that is, the current connection weight. is a time constant, representing the time scale of the recovery of J ij (t). The time constant can be preset. J max is a maximum connection weight, U is the neurotransmitter released when the neuron sends a pulse signal, represents the initial connection weight, which can be preset. J ij (t) represents the self-recovery of the connection weight of the other neuron j to the neuron i at the moment t, that is, the recovery weight mentioned above. represents whether the neuron j sends a pulse signal at the moment t. represents the moment when the neuron j sends a pulse signal, and δ(x) represents a pulse function. When x = 0 (i.e. ), δ(x) = 1 (i.e. ), which means that the neuron j sends a pulse signal at the moment t, but when x ≠ 0 (i.e. ), δ(x) = 0 (i.e. ), which means that the neuron j does not send a pulse signal at the moment t. When , the connection weight of the other neuron j to the neuron i is reduced by U times of the self-connection weight, then represents U times of the connection weight of the other neuron j to the neuron i, that is, the reduction weight mentioned above.

[0090] After the Euler integration method is used to integrate the above differential equation, the formula is as follows:

[0091]

[0092] The self-recovery of the connection weight of the other neurons to the neuron, i.e., the recovery weight, is affected by the time scale of the recovery of the connection weight, i.e., Since the time scale of the recovery of the connection weight can be a pre-set fixed value, when determining the recovery weight of the other neurons to the neuron respectively, the server can determine the recovery weight of the other neurons to the neuron respectively according to the pre-set time scale of the recovery of the connection weight of the other neurons to the neuron.

[0093] Then, the server can determine the other input potential of the neuron input by the other neurons according to the determined current connection weight. The other input potential is the input potential caused by the firing of the pulse signal of the other neurons to the neuron.

[0094] The above process that the other neurons fire a pulse signal to the neuron, the connection weight of the other neurons to the neuron decreases by U times of the self-connection weight, but the connection weight of the other neurons to the neuron will recover itself over time, and the connection weight of the other neurons to the neuron cannot exceed the pre-set maximum weight, conforms to the short-term synaptic depression (STD) rule, which is a form of synaptic plasticity between neurons, and can affect the signal transmission between neurons. Under the action of the STD rule, after a neuron sends a pulse signal to its downstream neuron, the synaptic connection strength of the neuron to the downstream neuron will decrease. In addition, the synaptic connection strength of the neuron to the downstream neuron will recover itself over time.

[0095] S106: Determine the time scale of the decay of the membrane potential of the neuron, and determine the decay potential of the neuron according to the time scale of the decay.

[0096] S108: Determine the membrane potential of the neuron according to the decay potential, the other input potential, and the training sample.

[0097] The server can first determine the time scale of the decay of the membrane potential of the neuron, and determine the decay potential of the neuron according to the time scale of the decay. Then, the membrane potential of the neuron is determined according to the decay potential, the other input potential, and the training sample. Specifically, the following formula can be used for calculation:

[0098]

[0099] Wherein, the above differential equation represents the change process of h i over time, h i(t) represents the membrane potential of neuron i at time t, h represents the time scale of the decay of the membrane potential of neuron i, i (t) represents the self-decay of the membrane potential of neuron i, i.e., the decay potential described above. N is the number of neurons of the hidden layer of the pulse signal-based reservoir computing model to be trained, J ij represents the current connection weight of neuron j to neuron i, i.e., the connection weight of neuron j to neuron i at the previous time, τ D is the delay time when a pulse signal is fired. represents whether neuron i receives a pulse signal fired by other neuron j at time t, when represents that neuron i receives a pulse signal fired by other neuron j at time t. Therefore, represents other input potentials of other neurons input to neuron i. represents that neuron i receives a training sample at time t.

[0100] After integrating the above differential equation by using the Euler integration method, the formula is as follows:

[0101]

[0102] In the present specification, the time scale of the decay of the membrane potential of the above-described neuron, i.e., is mainly affected by the membrane potential of the neuron and will change over time. When the membrane potential of the neuron is large, the time scale of the decay of the membrane potential of the neuron will tend to a smaller value. Conversely, when the membrane potential of the neuron is small, the time scale of the decay of the membrane potential of the neuron will tend to a larger value. The time scale of the decay of the membrane potential of the neuron can be represented by the following formula:

[0103]

[0104] wherein the above-described differential equation represents the change process over time, τ r , τ0 and γ are pre-set parameters, h i (t) represents the membrane potential of neuron i at time t, represents the self-decay of the time scale of the decay of the membrane potential of neuron i.

[0105] After integrating the above differential equation by using the Euler integration method, the formula is as follows:

[0106]

[0107] Since the time scale of the decay of the membrane potential of the neuron affects the speed of the self-decay of the membrane potential of the neuron, the longer the time scale of the decay of the membrane potential of the neuron, the slower the speed of the self-decay of the membrane potential of the neuron. Conversely, the shorter the time scale of the decay of the membrane potential of the neuron, the faster the speed of the self-decay of the membrane potential of the neuron. Based on this, when determining the decay time scale of the neuron and determining the decay potential of the neuron according to the decay time scale, the server can determine the decay speed of the neuron according to the time scale of the decay of the membrane potential of the neuron, and determine the decay potential of the neuron according to the decay speed.

[0108] In the present specification, the membrane potential of the neuron is mainly affected by the time scale of the decay of the membrane potential of the neuron, whether the neuron receives the pulse signal fired by other neurons, and the data input into the neuron. Among them, the time scale of the decay of the membrane potential of the neuron affects the speed of the self-decay of the neuron, thereby affecting the membrane potential of the neuron. The greater the time scale of the decay of the membrane potential of the neuron, the slower the self-decay speed of the neuron, the smaller the decay potential of the decay of the neuron, and the greater the growth of the membrane potential of the neuron. Conversely, the smaller the time scale of the decay of the membrane potential of the neuron, the faster the self-decay speed of the neuron, the greater the decay potential of the decay of the neuron, and the smaller the growth of the membrane potential of the neuron. The above-mentioned growth of the membrane potential of the neuron is determined according to the time scale of the decay of the membrane potential of the neuron, whether the neuron receives the pulse signal fired by other neurons, and the data input into the neuron.

[0109] In addition, whether the neuron receives the pulse signal fired by other neurons also affects the membrane potential of the neuron, that is, whether other neurons fire the pulse signal also affects the membrane potential of the neuron. When other neurons fire the pulse signal to the neuron, and the neuron receives the pulse signal, other neurons will input the potential to the neuron, that is, the other input potential in the above-mentioned content. Since the other neurons are multiple neurons, the other input potential is the potential input by multiple other neurons to the neuron, which affects the membrane potential of the neuron. Therefore, the more the pulse signals fired by other neurons that the neuron receives, that is, the more times the neuron receives the pulse signals fired by other neurons, the greater the other input potential, and the greater the membrane potential of the neuron. Conversely, the fewer times the neuron receives the pulse signals fired by other neurons, the smaller the other input potential, and the smaller the membrane potential of the neuron.

[0110] In addition, the data input into the neuron is the training sample, i.e., the environment image. The environment image as the training sample affects the membrane potential of the neuron. The greater the data, the greater the membrane potential of the neuron. Conversely, the smaller the data, the smaller the membrane potential of the neuron. Of course, since the server can input the training sample into the input layer of the pulse signal-based reservoir computing model to be trained to obtain the input current value, and then input the input current value into each neuron of the hidden layer of the pulse signal-based reservoir computing model to be trained, when determining the membrane potential of the neuron according to the decay potential, the other input potential, and the training sample, the server can also determine the membrane potential of the neuron according to the decay potential, the other input potential, and the input current value. Therefore, the data input into the neuron can also be the input current value, which is obtained based on the environment image as the training sample. Therefore, the membrane potential of the neuron is affected by the environment image, and the greater the input current value corresponding to the environment image input into the neuron, the greater the membrane potential of the neuron. Conversely, the smaller the input current value corresponding to the environment image input into the neuron, the smaller the membrane potential of the neuron.

[0111] Of course, in addition to the above-mentioned factors affecting the membrane potential of the neuron, the connection weight between neurons also affects the membrane potential of the neuron. Since when determining the other input potential of the neuron input by the other neuron, in addition to determining whether the other neuron fires a pulse signal to the neuron, the connection weight from the other neuron to the neuron also needs to be determined, and then the other input potential of the neuron input by the other neuron is determined according to the pulse signal and the determined connection weight, the membrane potential of the neuron is also affected by the connection weight from the other neuron to the neuron. When the other neuron fires a pulse signal to the neuron, i.e., when the neuron receives the pulse signal fired by the other neuron, the greater the connection weight from the other neuron to the neuron, the greater the other input potential of the neuron input by the other neuron, and the greater the membrane potential of the neuron. Conversely, the smaller the connection weight from the other neuron to the neuron, the smaller the other input potential of the neuron input by the other neuron, and the smaller the membrane potential of the neuron.

[0112] S110: Determine the state vector composed of the membrane potentials of the neurons.

[0113] Since the server inputs the training sample into each neuron of the hidden layer of the pulse signal based reservoir computing model to be trained in step S102, the membrane potential of each neuron can change or remain unchanged. The server can determine a state vector composed of the membrane potential of each neuron, which represents the state of each neuron after the training sample is input into the hidden layer of the pulse signal based reservoir computing model to be trained. The state vector is a re-representation of the low-dimensional training sample (i.e., the environment image).

[0114] In step S112, the server takes the state vector as the input of the readout layer of the pulse signal based reservoir computing model to be trained, takes the target vector as the target output of the readout layer of the pulse signal based reservoir computing model to be trained, and calculates the readout weight of the readout layer of the pulse signal based reservoir computing model to be trained by using a linear regression algorithm. The pulse signal based reservoir computing model trained in this way is used to determine the category result of the image to be detected collected by the image acquisition device.

[0115] The server takes the state vector as the input of the readout layer of the pulse signal based reservoir computing model to be trained, takes the target vector as the target output of the readout layer of the pulse signal based reservoir computing model to be trained, and calculates the readout weight of the readout layer of the pulse signal based reservoir computing model to be trained by using a linear regression algorithm. The linear regression algorithm can be a least mean square linear regression algorithm. The readout weight is the weight of the readout layer of the pulse signal based reservoir computing model to be trained, which is a fixed value after the training is completed. The pulse signal based reservoir computing model trained in this way is used to determine the category result of the image to be detected collected by the image acquisition device.

[0116] In this specification, since the pulse signal based reservoir computing model separates the representation (i.e., the state vector) of the training sample from the parameter training process during the training, only the readout layer is trained. Therefore, the server can calculate the readout weight of the readout layer of the pulse signal based reservoir computing model to be trained by using a least mean square linear regression algorithm according to the state vector of the training sample and the target vector.

[0117] In addition, the training sample obtained by the server in step S100 can be multiple, and each training sample corresponds to a target vector. The server can execute the process of steps S102-S110 for each training sample to obtain the state vector corresponding to each training sample.

[0118] Based on this, the server can splice the state vector corresponding to each training sample to obtain a state vector matrix composed of various state vectors. At the same time, the target vector corresponding to each training sample is spliced to obtain a target vector matrix composed of various target vectors. Then, according to the state vector matrix and the target vector matrix, the readout weight of the readout layer of the to-be-trained pulse signal-based echo state network calculation model is calculated by using a least square linear regression algorithm. Specifically, the following formula can be used for calculation:

[0119] W out =((S T ) + T T ) T

[0120] Wherein, W out is the readout weight of the readout layer of the to-be-trained pulse signal-based echo state network calculation model, S is a state vector matrix composed of state vectors of various training samples, S T represents a matrix transpose operation on the state vector matrix (i.e. S), (S T ) + represents a matrix pseudo-inverse operation on the result (i.e. S T ) after the matrix transpose operation on the state vector matrix (i.e. S), T is a target vector matrix composed of target vectors of various training samples, T T represents a matrix transpose operation on the target vector matrix (i.e. T). ((S T ) + T T ) T represents a matrix transpose operation on the whole (S T ) + T T .

[0121] As can be seen from the above method, in the training of the pulse signal-based reservoir computing model, the server can obtain historical environment images collected by the image collection device and use the historical environment images as training samples. The image categories corresponding to the training samples are used as labels of the training samples, and the target vector is determined according to the labels. Then, the training samples are input into each neuron of the hidden layer of the pulse signal-based reservoir computing model to be trained. For each neuron, the connection weights of other neurons to the neuron are determined according to the pulse signals fired by the other neurons at the previous moment and the preset initial connection weights, and are used as the current connection weights, so that the connection weights of the other neurons to the neuron can be adaptively adjusted according to the pulse signals fired by the other neurons and the preset initial connection weights, to ensure the performance of the pulse signal-based reservoir computing model. Then, the other input potentials of the other neurons input into the neuron are determined according to the determined current connection weights. At the same time, the time scale of the decay of the membrane potential of the neuron is determined, and the decay potential of the neuron is determined according to the time scale of the decay. Then, the membrane potential of the neuron is determined according to the decay potential, the other input potentials and the training sample, and the state vector composed of the membrane potentials of the neurons is determined. The state vector is used as the input of the readout layer of the pulse signal-based reservoir computing model to be trained, and the target vector is used as the target output of the readout layer of the pulse signal-based reservoir computing model to be trained. The readout weights of the readout layer of the pulse signal-based reservoir computing model to be trained are calculated by using a linear regression algorithm, so that the trained pulse signal-based reservoir computing model is robust when used to determine the category result of a to-be-detected image collected by the image collection device, the accuracy of the output result is high, and the expected effect can be achieved.

[0122] The time scale of the recovery of the connection weights of the other neurons to the neuron in the step S104 can be that the value of the connection weights of the other neurons to the neuron is adaptively changed according to the membrane potential of the other neurons firing the pulse signals to the neuron. The longer the time scale of the recovery of the connection weights of the other neurons to the neuron, the slower the speed of the recovery of the connection weights of the other neurons to the neuron, and the smaller the recovery weights of the other neurons to the neuron. Conversely, the shorter the time scale of the recovery of the connection weights of the other neurons to the neuron, the faster the speed of the recovery of the connection weights of the other neurons to the neuron, and the larger the recovery weights of the other neurons to the neuron.

[0123] Therefore, in determining the recovery weight of the other neurons to the neuron respectively, the server can determine the membrane potential of the other neurons as other membrane potentials, and then determine the time scale of the recovery of the connection weight of the other neurons to the neuron respectively according to the other membrane potentials. Then, according to the determined time scale, the recovery weight of the other neurons to the neuron respectively is determined, wherein the greater the other membrane potential is, the smaller the time scale is, and the greater the recovery weight is. Specifically, the following formula can be used for calculation:

[0124]

[0125] wherein the above differential equation represents the change process over time, represents the time scale of the recovery of the connection weight of the neuron j to the neuron i at the time t, represents the self-decay of the time scale of the recovery of the connection weight of the neuron j to the neuron i, h j (t) represents the membrane potential of the neuron j at the time t.

[0126] The greater the above membrane potential of the other neurons, i.e. the other membrane potential, is, the shorter the time scale of the recovery of the connection weight of the other neurons to the neuron is, the faster the recovery of the connection weight of the other neurons to the neuron is, i.e. the faster the speed of the recovery of the connection weight of the other neurons to the neuron is, and the greater the recovery weight of the other neurons to the neuron is. Conversely, the smaller the membrane potential of the other neurons, i.e. the smaller the other membrane potential, is, the longer the time scale of the recovery of the connection weight of the other neurons to the neuron is, the slower the change of the connection weight of the other neurons to the neuron is, i.e. the slower the speed of the recovery of the connection weight of the other neurons to the neuron is, and the smaller the recovery weight of the other neurons to the neuron is.

[0127] In the present specification, the membrane potential of the neuron is mainly affected by the time scale of the decay of the membrane potential of the neuron, whether the pulse signal emitted by the other neurons is received, and the data input into the neuron, while the other neurons only emit the pulse signal to the downstream neurons (i.e. the neuron) of the other neurons when the membrane potential reaches or exceeds the threshold value, thereby affecting the membrane potential of the downstream neurons (i.e. the neuron) of the other neurons. In addition, the membrane potential of the other neurons is obtained based on the environmental image as a training sample.

[0128] Similarly, the membrane potential of the neuron is obtained based on the environment image as a training sample, and when the membrane potential of the neuron reaches or exceeds a threshold value, the neuron will send a pulse signal to all other neurons connected to itself. At the same time, the membrane potential of the neuron will be reset, and the membrane potential of the other neurons receiving the pulse signal of the neuron will change due to the reception of the pulse signal. At the same time, the connection weight of the neuron to the other neurons is also updated.

[0129] Based on this, when it is determined that the membrane potential of the neuron is not less than a preset threshold value, a pulse signal is sent from the neuron to the other neurons, the sending condition of the pulse signal is recorded, and the membrane potential of the neuron is updated according to a specified rule. Then, according to the sending condition, the decreasing weight of the neuron to the other neurons is determined respectively, and the restoring weight of the neuron to the other neurons is determined respectively, and the connection weight of the neuron to the other neurons is updated according to the restoring weight and the decreasing weight. Wherein, the preset threshold value can be set to 1, and the specified rule can be to reset the difference between the membrane potential of the neuron and the threshold value as the membrane potential of the neuron, that is, the updated membrane potential of the neuron. The sending condition is whether to send a pulse signal, that is, the sending condition is one of sending a pulse signal and not sending a pulse signal.

[0130] The above-mentioned connection weight of the neuron to the other neurons will decrease after the neuron sends a pulse signal, the connection weight of the neuron to the other neurons is negatively correlated with the sending frequency (i.e. the number of times) of the pulse signal sent by the neuron to the other neurons, in addition, whether the neuron sends a pulse signal to the other neurons or not, the connection weight of the neuron to the other neurons will self-recover over time, and the self-recovery of the connection weight is affected by the time scale of the recovery of the connection weight, so the server can determine the decreasing weight of the neuron to the other neurons respectively, and determine the restoring weight of the neuron to the other neurons according to the sending condition. Then, the connection weight of the neuron to the other neurons is updated according to the decreasing weight and the restoring weight. The updated connection weight of the neuron to the other neurons can be used as the current connection weight of the neuron to the other neurons at the next moment.

[0131] In this specification, after training the reserve pool computing model based on the pulse signal, the server can apply as shown in the steps of Figure 3 , Figure 3 The application process of the reserve pool computing model based on the pulse signal provided in this specification is a schematic diagram, which specifically includes the following steps:

[0132] S200: In response to the target detection instruction sent by the user, determine the image to be detected.

[0133] S202: input the to-be-detected image into an input layer of the trained reserve pool calculation model based on pulse signals to obtain an input current value.

[0134] S204: input the input current value into each neuron of a hidden layer of the reserve pool calculation model based on pulse signals.

[0135] S206: for each neuron, determine a connection weight of other neurons to the neuron respectively as a current connection weight according to pulse signals fired by other neurons at a previous moment and a preset initial connection weight.

[0136] S208: determine other input potentials of other neurons inputting the neuron according to the determined current connection weight.

[0137] S210: determine a time scale of decay of a membrane potential of the neuron, and determine a decay potential of the neuron according to the time scale of decay.

[0138] S212: determine the membrane potential of the neuron according to the decay potential, the other input potentials and the input current value.

[0139] S214: determine a state vector composed of the membrane potentials of the neurons.

[0140] S216: input the state vector into a readout layer of the reserve pool calculation model based on pulse signals to determine a detection result of the to-be-detected image.

[0141] In the present specification, after determining the detection result of the to-be-detected image, the server can determine the position of the obstacle in the environment around the unmanned device according to the detection result of the to-be-detected image, and re-plan the motion trajectory of the unmanned device according to the determined position to avoid collision between the unmanned device and the obstacle.

[0142] The above is the method of one or more embodiments of the present specification, based on the same idea, the present specification also provides a corresponding training device of the reserve pool calculation model based on pulse signals, as shown in Figure 4 .

[0143] Figure 4 The training device of the reserve pool calculation model based on pulse signals provided by the present specification is a schematic diagram, which comprises:

[0144] The acquisition module 300 is configured to acquire environment images collected by image acquisition devices in history and use the environment images as training samples.

[0145] The input module 302 is configured to input the training sample into each neuron of a hidden layer of a pulse signal-based reservoir computing model to be trained; take an image category corresponding to the training sample as a label of the training sample, and determine a target vector according to the label;

[0146] The weight module 304 is configured to, for each neuron, take, as a current connection weight, a pulse signal fired by each of other neurons at a previous moment and a preset initial connection weight of the other neuron to the neuron as a current connection weight, and determine other input potentials of the other neurons inputting the neuron according to the determined current connection weight.

[0147] The membrane potential module 306 is configured to determine a time scale of decay of a membrane potential of the neuron, and determine a decay potential of the neuron according to the time scale of decay; and determine the membrane potential of the neuron according to the decay potential, the other input potentials and the training sample.

[0148] The state vector module 308 is configured to determine a state vector composed of the membrane potentials of the neurons.

[0149] The training module 310 is configured to take the state vector as an input of a readout layer of the pulse signal-based reservoir computing model to be trained, take the target vector as a target output of the readout layer of the pulse signal-based reservoir computing model to be trained, and calculate readout weights of the readout layer of the pulse signal-based reservoir computing model to be trained by using a linear regression algorithm, wherein the pulse signal-based reservoir computing model trained is configured to determine a category result of a to-be-detected image according to the to-be-detected image collected by the image acquisition device.

[0150] Optionally, the pulse signal-based reservoir computing model to be trained further includes an input layer, and an input weight of the input layer is randomly generated in a specified range.

[0151] The input module 302 is specifically configured to input the training sample into an input layer of the pulse signal-based reservoir computing model to be trained to obtain an input current value; and input the input current value into each neuron of a hidden layer of the pulse signal-based reservoir computing model to be trained.

[0152] Optionally, the membrane potential module 306 is specifically configured to determine the membrane potential of the neuron according to the decay potential, the other input potentials and the input current value, wherein the greater the input current value is, the greater the membrane potential of the neuron is.

[0153] Optionally, the weight module 304 is specifically configured to determine a decreasing weight of each of the other neurons to the neuron according to a pulse signal fired by each of the other neurons at a previous time; determine a recovery weight of each of the other neurons to the neuron; and determine a connection weight of each of the other neurons to the neuron as a current connection weight according to a preset initial connection weight, the recovery weight and the decreasing weight.

[0154] Optionally, the weight module 304 is specifically configured to determine a membrane potential of the other neurons as an other membrane potential; determine a time scale of recovery of the connection weight of each of the other neurons to the neuron according to the other membrane potential, wherein the greater the other membrane potential, the smaller the time scale; and determine the recovery weight of each of the other neurons to the neuron according to the determined time scale, wherein the smaller the time scale, the greater the recovery weight.

[0155] Optionally, the membrane potential module 306 is further configured to fire a pulse signal from the neuron to the other neurons when the membrane potential of the neuron is determined to be not less than a preset threshold, record a firing condition of firing the pulse signal, and update the membrane potential of the neuron according to a specified rule; determine a decreasing weight of the neuron to each of the other neurons according to the firing condition; determine a recovery weight of the neuron to each of the other neurons, and update a connection weight of the neuron to each of the other neurons according to the recovery weight and the decreasing weight.

[0156] Optionally, the to-be-trained reserve pool computing model based on the pulse signal further comprises an input layer.

[0157] The apparatus further comprises:

[0158] The application module 312 is configured to determine an image to be detected in response to a target detection instruction sent by a user, input the image to be detected into an input layer of the trained reserve pool computing model based on pulse signals to obtain an input current value, input the input current value into each neuron of a hidden layer of the reserve pool computing model based on pulse signals, for each neuron, determine a connection weight from each of other neurons to the neuron as a current connection weight according to a pulse signal fired by the other neuron at a previous moment and a preset initial connection weight, determine other input potentials of the other neurons inputting into the neuron according to the current connection weight, determine a time scale of decay of a membrane potential of the neuron, and determine a decay potential of the neuron according to the time scale of decay, determine the membrane potential of the neuron according to the decay potential, the other input potentials and the input current value, determine a state vector composed of the membrane potentials of the neurons, and input the state vector into a readout layer of the reserve pool computing model based on pulse signals to determine a detection result of the image to be detected.

[0159] The specification also provides a computer-readable storage medium storing a computer program, which can be used to execute the above Figure 1 The specification also provides a training method of a reserve pool computing model based on pulse signals.

[0160] The specification also provides a computer-readable storage medium storing a computer program, which can be used to execute the above Figure 5 The specification also provides a computer-readable storage medium storing a computer program, which can be used to execute the above Figure 1 The specification also provides a computer-readable storage medium storing a computer program, which can be used to execute the above Figure 5 As shown in FIG. 8, at the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory and a non-volatile memory, and can also include other hardware required by a business. The processor reads a corresponding computer program from the non-volatile memory into the memory and then runs to implement the above Figure 1 The specification also provides a computer-readable storage medium storing a computer program, which can be used to execute the above

[0161] Of course, in addition to the software implementation, the specification does not exclude other implementation manners, such as a logic device or a combination of software and hardware, that is, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or a logic device.

[0162] In the 1990s, it was relatively easy to distinguish whether an improvement in a technology was a hardware improvement (e.g., an improvement in the circuit structure of a diode, transistor, switch, etc.) or a software improvement (an improvement in a method flow). However, as technology has evolved, many improvements in method flows today can be considered as direct improvements in hardware circuit structures. Designers almost always obtain the corresponding hardware circuit structures by programming the improved method flows into hardware circuits. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using hardware entity modules. For example, a programmable logic device (PLD) (e.g., a field programmable gate array (FPGA)) is an integrated circuit whose logic function is determined by user programming of the device. A digital system is "integrated" on a PLD by the designer programming the PLD, rather than by ordering a chip manufacturer to design and fabricate a custom integrated circuit chip. Moreover, instead of manually fabricating integrated circuit chips, this programming is now mostly implemented using "logic compiler" software, which is similar to software compilers used in program development, and the original code to be compiled is written in a specific programming language, which is called a hardware description language (HDL), and there are many such languages, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., and the most commonly used are VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should be aware that, as long as the method flow is logically programmed in the above-mentioned hardware description languages and programmed into an integrated circuit, a hardware circuit implementing the logical method flow can be easily obtained.

[0163] The controller can be implemented in any suitable way, for example, the controller can take the form of a microprocessor or processor and a computer readable medium storing computer readable program code, such as software or firmware, executable by the (micro)processor, logic gates, switches, an application specific integrated circuit (ASIC), a programmable logic controller and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also know that, in addition to being implemented in pure computer readable program code, the controller can equally well be implemented to perform the same functions using logic gates, switches, an application specific integrated circuit, a programmable logic controller and an embedded microcontroller, etc. by means of a logical programming of the method steps. The controller can thus be considered as a hardware component, and the means comprised therein for performing the various functions can be considered as structures within the hardware component. Alternatively, the means for performing the various functions can even be considered as both a software module implementing the method and a structure within the hardware component.

[0164] The systems, apparatuses, modules or units illustrated by the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0165] For the sake of description, the above apparatuses are described in various units with functions respectively. Of course, the functions of the units can be implemented in one or more software and / or hardware in implementing the present specification.

[0166] Those skilled in the art will understand that the embodiments of the present specification can be provided as a method, a system or a computer program product. Therefore, the present specification can take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware aspects. Moreover, the present specification can take the form of a computer program product implemented on one or more computer usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.

[0167] The specification is presented with reference to flow diagrams and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the specification. It will be understood that each block of the flow diagrams and / or block diagrams, and combinations of blocks in the flow diagrams and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processing element or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 one or more flow or multiple flows and / or blocks Figure 1 one or more flow or multiple flows and / or blocks

[0168] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the function specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 one or more flow or multiple flows and / or blocks Figure 1 one or more flow or multiple flows and / or blocks

[0169] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flow diagrams and / or block diagrams block or blocks. Figure 1 one or more flow or multiple flows and / or blocks ​ one or more flow or multiple flows and / or blocks

[0170] In one typical configuration, the computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory.

[0171] The memory can include non-persistent memory and / or volatile memory, such as random access memory (RAM) and / or cache memory, non-volatile memory, such as read-only memory (ROM), EPROM, and / or flash memory, etc. The memory is an example of computer readable media.

[0172] Computer-readable media includes permanent and non-permanent, movable and non-movable media that can be implemented by any method or technology to store information. The information can be computer-readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information accessible to a computing device. According to the definition herein, computer-readable media does not include transitory media such as modulated data signals and carriers.

[0173] It should also be noted that the terms "comprising", "containing", or any other variant thereof are intended to cover non-exclusive inclusion, such that processes, methods, articles or devices that comprise a list of elements do not only include those elements, but also other elements not explicitly listed or inherent to such processes, methods, articles or devices. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.

[0174] Those skilled in the art will appreciate that embodiments of the present specification can be provided as methods, systems or computer program products. Therefore, the present specification can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, the present specification can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) containing computer-usable program code.

[0175] The present specification can be described in the general context of computer-executable instructions, such as program modules, executed by computers. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The present specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in both local and remote computer storage media including storage devices.

[0176] The various embodiments described in this specification are described using a numbering of embodiments approach: these are each individually integrated contributions pertaining to different aspects of the description. For each embodiment, the description focuses on the differences from the other embodiments. Each embodiment is to be read in isolation, with the understanding that the same or similar features from other embodiments can be combined with the features of the respective embodiment. In particular, the description of the system embodiments is kept relatively short, as the system embodiments are largely analogous to the method embodiments.

[0177] The above only describes the embodiments of the present specification and is not intended to limit the present specification. The present specification can have various modifications and changes for those skilled in the art. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the present specification shall be included in the scope of claims of the present specification.

Claims

1. A method for training a reserve pool computing model based on a pulse signal, characterized in that, The method comprises: acquiring environment images collected by an image collection device in history as training samples; taking image categories corresponding to the training samples as labels of the training samples, and determining a target vector according to the labels; inputting the training samples into each neuron of a hidden layer of a reserve pool computing model based on pulse signals to be trained; for each neuron, determining connection weights of other neurons to the neuron respectively as current connection weights according to pulse signals fired by the other neurons at a previous time and preset initial connection weights, and determining other input potentials of the other neurons to the neuron according to the determined current connection weights; determining a time scale of decay of a membrane potential of the neuron, and determining a decay potential of the neuron according to the time scale of decay; determining the membrane potential of the neuron according to the decay potential, the other input potentials and the training sample; determining a state vector composed of the membrane potentials of the neurons; taking the state vector as an input of a readout layer of the reserve pool computing model based on pulse signals to be trained, taking the target vector as a target output of the readout layer of the reserve pool computing model based on pulse signals to be trained, and calculating readout weights of the readout layer of the reserve pool computing model based on pulse signals to be trained by using a linear regression algorithm, wherein the trained reserve pool computing model based on pulse signals is used to determine a category result of a to-be-detected image according to the to-be-detected image collected by the image collection device.

2. The method of claim 1, wherein, The reserve pool computing model based on pulse signals to be trained further comprises an input layer, and input weights of the input layer are randomly generated within a specified range; inputting the training samples into each neuron of a hidden layer of a reserve pool computing model based on pulse signals to be trained, specifically comprising: inputting the training samples into an input layer of the reserve pool computing model based on pulse signals to be trained to obtain an input current value; inputting the input current value into each neuron of the hidden layer of the reserve pool computing model based on pulse signals to be trained.

3. The method of claim 2, wherein, determining the membrane potential of the neuron according to the decay potential, the other input potentials and the training sample, specifically comprising: determining the membrane potential of the neuron according to the decay potential, the other input potentials and the input current value, wherein the greater the input current value is, the greater the membrane potential of the neuron is.

4. The method of claim 1, wherein, determining the connection weights of the other neurons to the neuron respectively as current connection weights according to pulse signals fired by the other neurons at a previous time and preset initial connection weights, specifically comprising: determining reduction weights of the other neurons to the neuron respectively according to pulse signals fired by the other neurons at a previous time; determining recovery weights of the other neurons to the neuron respectively; determining the connection weights of the other neurons to the neuron respectively as current connection weights according to the preset initial connection weights, the recovery weights and the reduction weights.

5. The method of claim 4, wherein, determining the recovery weights of the other neurons to the neuron respectively, specifically comprising: determining a membrane potential of the neuron as a current membrane potential; determining a time scale of decay of the membrane potential of the neuron according to the current membrane potential, and determining a decay potential of the neuron according to the time scale of decay; determining a membrane potential of the neuron as a current membrane potential; 6. The method of claim 1, wherein, the method further comprises: when it is determined that the membrane potential of the neuron is not less than a preset threshold, firing a pulse signal from the neuron to the other neurons, recording a firing condition of firing the pulse signal, and updating the membrane potential of the neuron according to a specified rule; determining a time scale of decay of the membrane potential of the neuron according to the current membrane potential, and determining a decay potential of the neuron according to the time scale of decay; determining a time scale of decay of the membrane potential of the neuron according to the current membrane potential, and determining a decay potential of the neuron according to the time scale of decay.

7. The method of claim 1, wherein, the method further comprises: when it is determined that the membrane potential of the neuron is not less than a preset threshold, firing a pulse signal from the neuron to the other neurons, recording a firing condition of firing the pulse signal, and updating the membrane potential of the neuron according to a specified rule; determining a time scale of decay of the membrane potential of the neuron according to the current membrane potential, and determining a decay potential of the neuron according to the time scale of decay; determining a time scale of decay of the membrane potential of the neuron according to the current membrane potential, and determining a decay potential of the neuron according to the time scale of decay. the pulse signal-based reservoir computing model to be trained further comprises an input layer; the method further comprises: in response to a target detection instruction sent by a user, determining a to-be-detected image; inputting the to-be-detected image into the input layer of the trained pulse signal-based reservoir computing model to obtain an input current value; inputting the input current value into each neuron of a hidden layer of the pulse signal-based reservoir computing model; for each neuron, determining a connection weight of the other neurons to the neuron as a current connection weight according to the pulse signals fired by the other neurons at a previous time and a preset initial connection weight; determining other input potentials of the other neurons input into the neuron according to the determined current connection weight; 8. An apparatus for a reserve pool computing model based on a pulse signal, characterized in that, determining a time scale of decay of the membrane potential of the neuron, and determining a decay potential of the neuron according to the time scale of decay; determining a membrane potential of the neuron according to the decay potential, the other input potentials and the input current value; determining a state vector composed of the membrane potentials of the neurons; inputting the state vector into a readout layer of the pulse signal-based reservoir computing model to determine a detection result of the to-be-detected image. comprises: an acquisition module, configured to acquire environment images collected by an image collection device in history as training samples; determining a target vector according to the label; an input module, configured to input the training samples into each neuron of a hidden layer of a pulse signal-based reservoir computing model to be trained; a weight module, configured to, for each neuron, determine a connection weight of the other neurons to the neuron as a current connection weight according to the pulse signals fired by the other neurons at a previous time and a preset initial connection weight, and determine other input potentials of the other neurons input into the neuron according to the determined current connection weight; a membrane potential module, configured to determine a time scale of decay of the membrane potential of the neuron, and determine a decay potential of the neuron according to the time scale of decay; determine the membrane potential of the neuron according to the decay potential, the other input potential, and the training sample; a state vector module configured to determine a state vector composed of the membrane potentials of the neurons; a training module configured to take the state vector as an input of a readout layer of the pulse signal based reservoir computing model to be trained, take the target vector as a target output of the readout layer of the pulse signal based reservoir computing model to be trained, and calculate readout weights of the readout layer of the pulse signal based reservoir computing model to be trained by using a linear regression algorithm, wherein the pulse signal based reservoir computing model trained is configured to determine a category result of a to-be-detected image according to the to-be-detected image collected by the image acquisition device.

9. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, and the computer program is executed by the processor to implement the method in any one of claims 1-7.

10. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The processor executes the program to implement the method in any one of claims 1-7.

Citation Information

Patent Citations

  • Training method of convolutional pulse neural network based on reweighted membrane voltage

    CN112633497A

  • Pulse neural network model training method, processing chip and electronic equipment

    CN114091652A