Pulse coding method and apparatus, chip and electronic device
Patent Information
- Application Number
- CN202211154215.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-21
- Publication Date
- 2026-09-18
- Estimated Expiration
- 2042-09-21
AI Technical Summary
此外,大量的I/O信息对总线带宽产生较大的压力,这是第二个瓶颈
[0031] 1) Overcome/mitigate the disadvantages of frequency coding: alleviate bandwidth pressure, reduce communication data volume, improve information transmission efficiency, and reduce system power consumption.
Smart Images

Figure CN117787361B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to pulse coding methods and apparatus, chips and electronic devices, and more specifically to a pulse coding method and apparatus, chip and electronic device that can reduce the number of pulses and alleviate bandwidth pressure. Background Technology
[0002] Spiking neurons are neurons that activate and fire impulses (spiking events) when the cell membrane voltage exceeds a threshold. They exist in spiking neural networks (SNNs). They differ greatly in dynamics from artificial neurons in artificial neural networks (ANNs), which is one of the essential differences between the two.
[0003] Spiking neurons can encode stimulus information to achieve information transmission. How to encode information in pulses is an important research direction, and this research is currently still at a bottleneck stage. Currently known pulse coding methods can be mainly divided into the following categories: rate coding (also known as speed coding, such as frequency coding based on pulse counting, pulse density, and swarm activity), temporal coding (such as first-pulse time coding-TTFS, pulse relative firing order coding, pulse delay coding, pulse phase coding, delayed phase coding, and BSA coding), population coding, and burst coding. Existing technology 1 compares the performance of several common coding methods in several aspects, while existing technologies 2-4 introduce certain specific coding schemes.
[0004] Prior art 1: Guo W, Fouda ME, Eltawil AM, et al. Neural coding in spiking neural networks: A comparative study for robust neuromorphic systems [J]. Frontiers in Neuroscience, 2021, 15: 638474.
[0005] Existing technology 2 (pulse delay coding): Yamani JA, Boussaid F, Bermak A, et al. Glomerular latency coding in artificial olfaction[J]. Frontiers in neuroengineering, 2012, 4:18.
[0006] Existing technology 3 (pulse phase coding): Kayser C, Montemurro MA, Logothetis NK, et al. Spike-phase coding boosts and stabilizes information carried by spatial and temporal spike patterns[J]. Neuron, 2009, 61(4): 597-608.
[0007] Existing technology 4 (delayed phase coding): Nadasdy Z. Information encoding and reconstruction from the phase of action potentials[J]. Frontiers in systemsneuroscience,2009,3:6.
[0008] Frequency coding is currently a widely used mainstream coding scheme. Generally, as the intensity of the stimulus increases, the frequency of neuron firing pulses also increases. The stimulus signal is only related to the number of neuron firing pulses in the coding window, and is independent of the temporal structure of the pulse sequence pattern. Its main advantages are low encoding / decoding complexity and strong robustness. Its disadvantages are low information transmission efficiency, long processing cycle, and the need to transmit a large number of pulses, which often means that frequency coding consumes more power and communication bandwidth.
[0009] As an example of the fields in which the encoding method of this invention can be applied, see [reference]. Figure 1 The diagram illustrates the bottlenecks of a certain neural network accelerator chip. In the analog processing unit (PE) array, a large number of digital-to-analog converters (DACs) and analog-to-digital converters (ADCs) are required to support multiply-accumulate (MAC) operations in the analog domain, which is the first bottleneck. Furthermore, the large amount of I / O information puts significant pressure on the bus bandwidth, which is the second bottleneck.
[0010] For spiking neural network processors, in order to alleviate communication pressure and reduce communication bandwidth usage, an efficient pulse coding scheme is needed to convert the stimulus information to be encoded into pulses (multiple pulses constitute a pulse sequence). Summary of the Invention
[0011] To solve or alleviate some or all of the above-mentioned technical problems, the present invention is achieved through the following technical solution:
[0012] A pulse coding method is provided for encoding information to be encoded into a pulse sequence composed of pulses, receiving the information to be encoded through a spiking neuron, obtaining information about the stimulation intensity of the information to be encoded from the spiking neuron, and firing a first pulse and a second pulse based on the information about the stimulation intensity of the information to be encoded; wherein the information about the stimulation intensity of the information to be encoded is encoded as a delay between the first pulse and the second pulse.
[0013] In one embodiment, the information reflecting the intensity of the stimulus to be encoded is one of the following: the number of pulses fired by the spiking neuron; or, information that can be used to determine the number of pulses fired by the spiking neuron.
[0014] In one embodiment, the information reflecting the intensity of the stimulus to be encoded is: voltage information or delay information, or digitally quantized encoded information.
[0015] In one embodiment, the information reflecting the intensity of the stimulus to be encoded is related to the equivalent membrane voltage of the spiking neuron.
[0016] In one embodiment, the firing of the first and second pulses based on the stimulus intensity reflecting the information to be encoded is based on one of the following methods: based on a count of the pulses that the spiking neuron should fire; or based on a count of the pulses that the spiking neuron actually fires; or based on the membrane voltage of the spiking neuron.
[0017] In one embodiment, the information reflecting the intensity of the stimulus to be encoded is the membrane voltage of the spiking neuron; and the spiking neuron has an adjustable pulse firing threshold.
[0018] In one embodiment, the information based on the stimulus intensity reflecting the information to be encoded refers to: obtaining information related to the number of pulses fired by the spiking neuron within the encoding window.
[0019] In one embodiment, if the membrane voltage of the spiking neuron exceeds a first threshold, a first pulse is fired; if the delay between the current time and the first pulse matches the current number of pulses to be fired, a second pulse is fired.
[0020] In one embodiment, during pulse transmission, the first pulse and the second pulse are distinguished by a specific identifier.
[0021] In one embodiment, if two or more first pulses are received consecutively, then at least the first pulse before the last first pulse is considered to be a pulse that should be filtered out.
[0022] In some embodiments, the encoding window is a fixed-time-length window or a non-fixed-time-length window.
[0023] In one type of embodiment, the information to be encoded is an analog signal or a digital signal.
[0024] In one embodiment, the information to be encoded is an analog signal output by a processing unit in the chip.
[0025] In one embodiment, the spiking neuron is an IAF neuron.
[0026] A pulse coding device including a spiking neuron, the pulse coding device being further configured to perform the pulse coding method as described in any of the preceding claims.
[0027] A chip includes the pulse coding device as described above; or the chip includes a spiking neuron, and the pulse coding method as described above is performed in the chip via the spiking neuron.
[0028] In one embodiment, the chip includes a processing unit, and the analog signal output by the processing unit is the information to be encoded.
[0029] An electronic device includes a chip as described in any of the preceding claims, the chip being configured to perform inference on sensed environmental signals and output an inference result; based on the inference result, the electronic device responds.
[0030] Some or all of the embodiments of the present invention have the following beneficial technical effects:
[0031] 1) Overcome / mitigate the disadvantages of frequency coding: alleviate bandwidth pressure, reduce communication data volume, improve information transmission efficiency, and reduce system power consumption.
[0032] 2) The advantages of preserving frequency coding: low encoding / decoding complexity and strong robustness.
[0033] 3) It is compatible with existing frequency-encoded spiking neural networks and has a wide range of applications.
[0034] 4) Alleviate the ADC / DAC bottleneck and / or routing / bus bandwidth bottleneck in existing AI chips;
[0035] 5) Suitable for synchronous circuits with clocks, low-power asynchronous circuits, and has zero coding delay.
[0036] Further beneficial effects will be described in the preferred embodiments.
[0037] The technical solutions / features disclosed above are intended to summarize the technical solutions and features described in the Detailed Embodiments section, and therefore the scope of the description may not be entirely the same. However, these new technical solutions disclosed in this section are also part of the numerous technical solutions disclosed in this invention document. The technical features disclosed in this section, together with the technical features disclosed in the subsequent Detailed Embodiments section and some contents in the drawings not explicitly described in the specification, disclose more technical solutions in a reasonable combination.
[0038] The technical solution formed by combining all the technical features disclosed at any position in this invention is used to support the summary of the technical solution, the modification of the patent document, and the disclosure of the technical solution. Attached Figure Description
[0039] The accompanying drawings of this invention are merely illustrative of certain individual embodiments to enable those skilled in the art to quickly understand this invention, and do not represent the entirety of this application. Therefore, they do not constitute an absolute limitation on this application.
[0040] Figure 1 This is a schematic diagram of the bottleneck of a certain neural network accelerator chip;
[0041] Figure 2 This is the pulse coding scheme disclosed in this invention;
[0042] Figure 3 This invention relates to a certain type of pulse coding scheme;
[0043] Figure 4 This is a schematic diagram of a non-fixed-time-length window pulse coding scheme;
[0044] Figure 5 This is a schematic diagram illustrating various scenarios that trigger the second pulse;
[0045] Figure 6 This is a schematic diagram illustrating the application of the encoding method of the present invention to a processing unit. Detailed Implementation
[0046] Since it is impossible to exhaustively describe all alternative solutions, the key points of the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Other technical solutions and details not disclosed in detail below generally belong to technical objectives or features that can be achieved by conventional means in the art, and due to space limitations, they will not be described in detail here.
[0047] Unless it refers to division, the " / " in any position in this invention represents logical "OR". The serial numbers "first", "second", etc., in any position in this invention are merely descriptive distinguishing marks and do not imply an absolute temporal or spatial order, nor do they imply that terms prefixed with such serial numbers necessarily refer to different things than the same terms prefixed with other modifiers.
[0048] This invention describes various key points used to combine into various specific embodiments, which will be incorporated into various methods and products. In this invention, even if a key point is described only when introducing a method / product solution, it means that the corresponding product / method solution also explicitly includes that technical feature.
[0049] The description of the existence or inclusion of a step, module, or feature at any location in this invention does not imply that such existence is exclusive or unique. Those skilled in the art can obtain other embodiments by supplementing the technical solutions disclosed in this invention with other technical means. The embodiments disclosed in this invention are generally for the purpose of disclosing preferred embodiments, but this does not imply that opposite embodiments of the preferred embodiments are excluded by this invention. As long as such opposite embodiments solve at least one technical problem of this invention, they are intended to be covered by this invention. Based on the key points described in the specific embodiments of this invention, those skilled in the art can substitute, delete, add, combine, or change the order of certain technical features to obtain a technical solution that still follows the concept of this invention. These solutions that do not depart from the technical concept of this invention are also within the protection scope of this invention.
[0050] The terms "frequency coding" and "time-domain coding" related to this invention, although having several different implementations in the prior art, should be considered in the context of the specific solution of this invention.
[0051] refer to Figure 2 This illustration demonstrates a pulse coding scheme disclosed in this invention in a certain embodiment. A spiking neuron (including but not limited to an IAF neuron, which will be used as an example below) receives stimulus information to be encoded (hereinafter referred to as the information to be encoded, such as input pixels) and fires a pulse. The information to be encoded can be of any reasonable type and technical scenario; this invention is not limited to any specific type.
[0052] In one embodiment, the information to be encoded can be a digital signal. The IAF neuron itself is in the spiking neural network and can directly receive pulses (sequences) sent by other neurons. Therefore, the digital signal can also be a type of information to be encoded in this invention.
[0053] In another embodiment, the information to be encoded can be an analog signal. Preferably, in certain scenarios, the present invention is more suitable for encoding analog signals.
[0054] For example, the information to be encoded can be the output result of various processing elements (PEs) after processing the input. The advantage of this type of embodiment is that it replaces the ADC and / or DAC that are currently widely used in chips and have become a bottleneck.
[0055] In fact, for various chips currently based on analog domain computing (such as in-memory computing, CIM), although their computing cores have extremely high energy efficiency, the DACs and ADCs used for input-output conversion occupy most of the chip system's resources (even up to 85%). Therefore, this embodiment can effectively alleviate the aforementioned first bottleneck. Specifically, the output of the processing unit PE (especially the analog domain) is used as the input of the IAF (also known as IF, I&F) neuron, thereby achieving ADC replacement.
[0056] Generally, after receiving pulses from other neurons, an IAF neuron will fire a pulse when certain conditions are met, such as when the membrane voltage exceeds a threshold. Therefore, an analog signal (such as current) output by the processing unit PE is injected into the IAF neuron. The IAF neuron determines whether to fire a pulse based on a comparison between its membrane voltage and the pulse firing threshold. This process can essentially be viewed as frequency encoding, where information is encoded in the number of pulses fired by the neuron. This invention does not limit the specific implementation method of the IAF neuron (based on analog, digital, mixed-signal, photoelectric, etc.).
[0057] At least to address the second bottleneck mentioned above, the information of the spiking neuron (such as an IAF neuron) reflecting the stimulus intensity of the information to be encoded (e.g., from the perspective of so-called frequency encoding, equivalent to the number of pulses that should be fired / emitted) is encoded in the delay between the first and second pulses. For example, after receiving the information to be encoded, the IAF neuron fires a first number (e.g., 10) of pulses within an encoding window. Then, after the so-called time-domain encoding proposed in this invention (which is merely a term), only two pulses are actually fired, the first and second pulses, with a delay between them corresponding to the first number (e.g., 10 equal to the first number, or 9 one less than the first number, or others) time units (denoted as τ). This significantly reduces the number of pulses required to be transmitted in the communication routing system, alleviating the bus pressure in the second bottleneck. In other words, in this type of embodiment, the number of pulses output or that should be output by the spiking neuron (from the perspective of frequency encoding) is encoded as the delay between two pulses. As for how to implement the delay, it is a conventional technique in the field of integrated circuits. Any reasonable and low-resource-consumption delay scheme is feasible, and this invention does not limit it.
[0058] In some embodiments, the IAF neuron may not actually fire the corresponding number of pulses. For example, it can simply count the number of pulses that should be fired (to obtain a first count value), and then encode this count value as a delay between two pulses, or adjust (e.g., increase) the pulse firing threshold of the IAF neuron. Encoding the first number of pulses within an encoding window as a delay between two pulses is feasible in any reasonable way, and this invention does not limit the specific implementation.
[0059] For example, the information reflecting the intensity of the stimulus to be encoded is: the number of pulses fired by the spiking neuron; or, information that can be used to determine the number of pulses fired by the spiking neuron. The information reflecting the intensity of the stimulus to be encoded is voltage information or delay information, or digitally quantized encoded information, or information related to the equivalent membrane voltage of the spiking neuron.
[0060] The first and second pulses are delivered based on the information reflecting the intensity of the stimulus to be encoded, and are based on one of the following methods: based on the count of pulses that should be delivered by the spiking neuron; or based on the count of pulses actually delivered by the spiking neuron; or based on the membrane voltage of the spiking neuron.
[0061] refer to Figure 3This invention illustrates a pulse coding scheme of a certain type. After receiving the information to be encoded, the spiking neuron, especially the IAF neuron, completes the aforementioned frequency coding (or simply counts the pulses emitted within a certain coding window, etc.), and then encodes the frequency-domain coding result into a time-domain coding result in the time domain. For example, if two pulses occur within a certain coding window, the delay between the first and second pulses emitted in that coding window is τ. If four pulses are emitted in another coding window, the delay between the first and second pulses in that window is 3τ. Of course, the first number of pulses and the first number of time units of delay between the first and second pulses can be any other reasonable method, such as two pulses corresponding to a 2τ delay, or four pulses corresponding to a 4τ delay; this invention does not limit this.
[0062] In one type of embodiment, if a neuron fires only one pulse within a certain time encoding window, the corresponding time-domain encoding result is that the aforementioned first and second pulses are not fired. That is, in this type of embodiment, the single pulse is selectively filtered out.
[0063] In this invention, the encoding window can be of a fixed time length (e.g., a fixed length). Figure 3 In another type of embodiment, the encoding window has a non-fixed time length (variable length) (e.g.) Figure 4 The latter is more suitable for asynchronous circuit implementations with advantages in power consumption.
[0064] For cases with fixed event lengths, since a specific length window can be determined by means of clocks or other methods, operations such as pulse counting are relatively easy to implement, and will not be elaborated further in this invention.
[0065] Generally, the pulse firing threshold of an IAF neuron is fixed and unadjustable (even in a relatively novel multi-pulse neuron). In one embodiment of this invention, the pulse firing threshold is adjustable. For example, before firing the first pulse, the pulse firing threshold is θ. If the neuron's membrane voltage exceeds θ, the first pulse is fired, and then the pulse firing threshold is adjusted to a new N*θ, where N is a positive number greater than 1 (preferably a positive integer; optionally, this may be accompanied by a membrane voltage return to resting potential operation). Subsequently, as the information to be encoded continues to be input, the neuron's membrane voltage exceeds the new pulse firing threshold N*θ, so it is determined whether to fire a second pulse, and then the pulse firing threshold is readjusted to θ. This achieves firing only the first and second pulses, replacing the firing of (approximately) N pulses, and advantageously, this scheme eliminates the encoding window, making it suitable for asynchronous circuits with greater power efficiency.
[0066] In one type of embodiment, instead of adjusting θ to N*θ (in a single storage space), a dual threshold is set (stored in two storage spaces), where the first threshold is the pulse firing threshold θ, and the second threshold is N*θ, where N is a fixed value or a dynamically adjusted value, and is a positive number.
[0067] If the membrane voltage of the spiking neuron exceeds a first threshold, a first pulse is fired; if the delay between the current moment and the first pulse matches the current number of pulses to be fired, a second pulse is fired.
[0068] For example, and not as a limitation, in one type of embodiment, the aforementioned determination of whether to fire a second pulse depends at least on whether the delay between the first and second pulses reaches n*τ, where n is a positive integer representing the total number of pulses the IAF neuron (should) fire from the start of the first pulse (or the next pulse) until the membrane voltage exceeds N*θ. For example, if the time elapsed since the first pulse fires has reached n*τ and the current (at time n*τ) pulse count corresponding to the information related to the number of pulses fired by the IAF neuron (for example, the membrane voltage) is also n, then the second pulse is fired.
[0069] Figure 4 This demonstrates the aforementioned non-fixed-length (variable-length) pulse coding scheme. If the membrane voltage exceeds a first threshold θ after the spiking neuron (such as an IAF neuron) receives the information to be encoded, it fires the first pulse. The advantage of this approach is that the frequency domain coding result and the time domain coding result have the same start time; in other words, this embodiment can achieve zero-delay pulse coding.
[0070] The spiking neuron then continues to receive stimulation, accumulates membrane voltage (denoted as V), and (should) generate several subsequent pulses, and the duration from the first pulse to the current moment is denoted as Δt.
[0071] For example, see reference Figure 5 If at a certain moment Δt = 4.5τ and V = 7.2θ (and assuming that the number of pulses issued is n = 7 under some optional correspondence logic), then at Δt = 7τ, if V is still 7.2θ (or n should still be 7), then a second pulse is issued at Δt = 7τ.
[0072] If V is updated to 8.2θ (or n is updated to 8) at Δt = 7τ, and V is still 8.2θ (or n is still 8) at Δt = 8τ, then a second pulse is emitted at Δt = 8τ.
[0073] If V is updated to 10.2θ (or n is updated to 10) at Δt = 7τ, and V is updated to 12.2θ (or n is updated to 12) at Δt = 10τ, and V is still 12.2θ (or n is still 12) at Δt = 12τ, then the second pulse is emitted at Δt = 12τ.
[0074] After firing the second pulse, the spiking neuron returns to the state ready to fire the first pulse: if the membrane voltage V exceeds the first threshold θ, then the first pulse is fired.
[0075] It is easy to see from the above that after the first pulse is emitted, if the current number of pulses n to be emitted matches the current time delay Δt from the first pulse (for example, n is equal to Δt / τ), then the second pulse is emitted.
[0076] Preferably, the unit time τ should not be too long; otherwise, the variable-length encoding window may easily become too long. Figure 5 It is not difficult to see that after the first pulse is emitted, there is an abstract coding window (cutoff) boundary trigger line. If, at a certain delayed moment, the current number of pulses to be emitted, n, matches the delay Δt between the current moment and the first pulse, the second pulse will be emitted. Therefore, the upper left area in the figure is the coding window boundary probing period. After waiting for a sufficient time, the coding window boundary trigger line is reached, thus meeting the aforementioned matching condition and triggering the second pulse.
[0077] In this invention, the matching condition can be any reasonable matching condition, as long as it can achieve a reasonable mapping between the number of pulses and the pulse delay (i.e., the aforementioned corresponding logic), and encode the number of pulses into a specific pulse delay. This invention does not limit this.
[0078] If an isolated single pulse exists within a certain time interval, optionally, this isolated pulse should be filtered. The filtering method can be any reasonable method, and this invention does not limit it. For example, for each pulse in the Arranged Errata (AER) event, a specific identifier can be used to distinguish between the first pulse and the second pulse. For instance, at least one additional flag bit can be added to mark whether the pulse is the first pulse (e.g., 1) or the second pulse (e.g., 0). If a neuron receives a first pulse marked as 1, but then receives another first pulse marked as 1, the former pulse can be determined to be an isolated pulse that should be filtered. In this case, the influence of the former one or more first pulses on the pulse-receiving neuron should be eliminated, for example, by resetting it.
[0079] refer to Figure 6This illustration shows a schematic diagram of applying the aforementioned encoding method to a processing unit (PE) in a certain embodiment of the present invention. The processing unit PE calculates and outputs an analog signal, which is injected into IAF neurons (e.g., 1024). After encoding by the IAF neurons, it outputs a number of pulses (or their counts). These pulses are then subjected to the aforementioned time-domain encoding, encoding the number of pulses as the pulse delay between the first and second pulses. As a result, the number of pulses issued by the entire processing unit PE is significantly reduced, thereby reducing the communication bandwidth pressure on the routing / bus system.
[0080] During the decoding of the processing unit PE, a first number of pulses are decoded based on the pulse delay between the first and second pulses. This technique presents no technical obstacle for those skilled in the art, and any reasonable decoding method is feasible. For example, the current can be integrated based on the aforementioned pulse delay. Integration begins when the first pulse arrives and stops when the second pulse arrives, thereby realizing the decoding process of the encoding method of this invention. As can be seen from this example decoding scheme, the decoding scheme of this invention is also low in complexity, reliable, and easy to implement.
[0081] Frequency coding is popular in this field due to its low complexity, robustness, and ease of implementation. However, it suffers from low information transmission efficiency, high consumption of communication resources, and significant bandwidth pressure. The coding method of this invention not only retains the advantages of frequency coding but also reduces communication resource pressure and improves information transmission efficiency. While maintaining compatibility with existing frequency-coded spiking neural networks, it overcomes / mitigates the disadvantages of this coding method.
[0082] Furthermore, the present invention discloses a pulse coding device comprising the IAF neurons as described above, and the pulse coding device is further configured to perform the pulse coding method as described in any of the preceding claims.
[0083] A chip includes the aforementioned pulse coding device; or the chip includes an IAF neuron, and the pulse coding method described in any of the preceding embodiments is executed in the chip via the IAF neuron. In one embodiment, the chip includes a processing unit PE, and the analog signal output by the processing unit is the aforementioned information to be encoded. In another embodiment, the chip is a neuromorphic chip.
[0084] An electronic device includes any of the aforementioned chips, and the chip is configured to perform inference on sensed environmental signals and output an inference result; based on the inference result, the electronic device responds. Electronic devices, such as toys, lamps, personal computers, and electronic (smart) door locks, equipped with such chips will have edge intelligent information processing capabilities.
[0085] Although the invention has been described with reference to specific features and embodiments, various modifications, combinations, and substitutions can be made therein without departing from the invention. The scope of protection of this invention is not limited to the specific embodiments of processes, machines, manufactures, material compositions, apparatuses, methods, and steps described in the specification, and these methods and modules may also be implemented in one or more related, interdependent, cooperative, or upstream / downstream products or methods.
[0086] Therefore, the specification and drawings should be simply regarded as a description of some embodiments of the technical solutions defined by the appended claims, and thus the appended claims should be interpreted in accordance with the principle of the greatest reasonable interpretation, and are intended to cover as much as possible all modifications, variations, combinations or equivalents within the scope of the invention, while avoiding unreasonable interpretations.
[0087] To achieve better technical effects or for the needs of certain applications, those skilled in the art may make further improvements to the technical solution based on this invention. However, even if such improvements / designs are inventive and / or progressive, as long as they rely on the technical concept of this invention and cover the technical features defined in the claims, the technical solution should also fall within the protection scope of this invention.
[0088] The technical features mentioned in the appended claims may have alternative technical features, or the order of certain technical processes or material organization may be rearranged. Those skilled in the art, upon learning of this invention, will readily conceive of these alternative means, or alter the order of the technical processes or material organization, and then employ substantially the same means to solve substantially the same technical problems and achieve substantially the same technical effects. Therefore, even if the claims explicitly define the aforementioned means and / or order, these modifications, alterations, and substitutions should all fall within the scope of protection of the claims based on the principle of equivalents.
[0089] The method steps or modules described in the embodiments disclosed herein can be implemented in hardware, software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the steps and components of each embodiment have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application or design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered outside the scope of protection claimed by this invention.
Claims
1. A pulse coding method for encoding information to be encoded into a pulse sequence composed of pulses, characterized in that: By receiving the information to be encoded through a spiking neuron, information about the intensity of the stimulus to be encoded by the spiking neuron can be obtained. Based on the information reflecting the intensity of the stimulus to be encoded, a first pulse and a second pulse are delivered; wherein... The information reflecting the intensity of the stimulus to be encoded is encoded as the delay between the first pulse and the second pulse; and The greater the intensity of the stimulus reflecting the information to be encoded, the greater the delay between the first pulse and the second pulse.
2. The pulse coding method according to claim 1, characterized in that: The information reflecting the intensity of the stimulus to be encoded is one of the following: The number of pulses fired by the spiking neuron; or, Information used to determine the number of pulses fired by the spiking neuron.
3. The pulse coding method according to claim 1, characterized in that: The information reflecting the intensity of the stimulus to be encoded is: voltage information or delay information, or digitally quantized encoded information.
4. The pulse coding method according to claim 1, characterized in that: The information reflecting the intensity of the stimulus to be encoded is related to the equivalent membrane voltage of the spiking neuron.
5. The pulse coding method according to claim 1, characterized in that: The first and second pulses, based on the intensity of the stimulus reflecting the information to be encoded, are delivered in one of the following ways: Based on the count of the pulses that the pulsing neuron should fire; or, Based on the count of the actual pulses fired by the spiking neuron; or, Based on the membrane voltage of this spiking neuron.
6. The pulse coding method according to claim 1, characterized in that: The information reflecting the intensity of the stimulus to be encoded is the membrane voltage of the spiking neuron; and the spiking neuron has an adjustable pulse firing threshold.
7. The pulse coding method according to claim 1, characterized in that: The information based on the stimulus intensity reflecting the information to be encoded refers to obtaining information related to the number of pulses fired by the spiking neuron within the encoding window.
8. The pulse coding method according to claim 1, characterized in that: If the membrane voltage of the spiking neuron exceeds the first threshold, the first pulse is fired; If the delay between the current time and the first pulse matches the current number of pulses to be issued, then the second pulse is issued.
9. The pulse coding method according to claim 1 or 8, characterized in that: During pulse transmission, the first pulse and the second pulse are distinguished by a specific identifier.
10. The pulse coding method according to claim 9, characterized in that: If two or more first pulses are received consecutively, then at least the first pulse before the last first pulse is considered to be a pulse that should be filtered out.
11. The pulse coding method according to claim 7, characterized in that: The encoding window can be a fixed-length window or a non-fixed-length window.
12. The pulse coding method according to any one of claims 1-8, 11, characterized in that: The information to be encoded is either an analog signal or a digital signal.
13. The pulse coding method according to any one of claims 1-8, 11, characterized in that: The information to be encoded is an analog signal output by the processing unit in the chip.
14. The pulse coding method according to any one of claims 1-8, 11, characterized in that: The spiking neuron is an IAF neuron.
15. A pulse coding device, characterized in that: The pulse coding device includes a spiking neuron and is further configured to perform the pulse coding method as described in any one of claims 1-14.
16. A chip, characterized in that: It includes the pulse coding device of claim 15; or the chip includes a spiking neuron, and the pulse coding method of any one of claims 1-14 is performed in the chip through the spiking neuron.
17. The chip according to claim 16, characterized in that: The chip includes a processing unit, and the analog signal output by the processing unit is the information to be encoded.
18. An electronic device, characterized in that: The electronic device includes a chip as described in any one of claims 16-17, and the chip is configured to perform inference on sensed environmental signals and output an inference result; based on the inference result, the electronic device responds.
Citation Information
Patent Citations
Simultaneous latency and rate coding for automatic error correction
CN105874478A