Methods for encoding and decoding data from array-based sensing systems
By using spiking neural networks (SNNs) to train encoder-decoder neural networks in a teacher-student architecture, the contradiction between low power consumption and high information resolution in array sensing systems is resolved, achieving lossless compression and low heat dissipation, making it suitable for implantable devices.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- STICHTING IMEC NEDERLAND
- Filing Date
- 2025-12-30
- Publication Date
- 2026-06-30
AI Technical Summary
Array-based sensing systems present a trade-off between high information resolution and low power consumption, especially when deployed in remote locations where long lifespan and low heat dissipation are strictly required. Traditional data compression algorithms are not suitable for sensing systems with unknown underlying statistical distributions.
Using spiking neural networks (SNNs) as a lightweight learning model, the encoder-decoder neural network is trained through a teacher-student architecture to achieve lossless or low-loss information encoding and decoding. Combined with integration-distribution or leak integration-distribution models, it is suitable for sensor devices and edge gateway devices.
It achieves lossless compression with low power consumption and low heat dissipation in array-based sensing systems, suitable for implantable devices, ensuring long lifespan and low computational complexity, and breaking the conflict between compression ratio, algorithm complexity and computing resources in traditional compression algorithms.
Smart Images

Figure CN122316355A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to encoding and decoding information from sensors using neural networks. More specifically, various exemplary embodiments of this disclosure relate to methods, apparatus, and systems for training spiking neural networks (SNNs) for encoding and decoding such information. Background Technology
[0002] Array-based sensing systems, for example, which can be used for imaging or detecting electrical signals, are becoming increasingly popular in various applications. As the number of channels and information resolution increase in array-based sensing systems, the demand for more detailed information is also increasing. Today, array-based sensing systems can generate information speeds exceeding 1 Gbps, which significantly increases not only the power consumption required for information capture but also the power consumption required for storage, processing, and transmission.
[0003] Furthermore, such array-based sensing systems may be intended for use in remote locations to collect information in potentially inaccessible areas. Therefore, it is desirable that array-based sensing systems can be deployed without maintenance for very long periods. Additionally, long lifespan and battery life are desired, making power consumption even more critical. For example, array-based systems could be used in implantable devices to sense biosignals, where, in addition to long lifespan and battery life, processing data exceeding 1 Gbps is essential.
[0004] Furthermore, for array-based sensing systems used as implantable devices, low power consumption is crucial not only for long lifespan and battery life, but also because the device must ensure power consumption is below 40 mW / cm². 2 High heat flux and a low operating temperature of 1°C are essential to maintain long-term tissue health and prevent tissue damage from heat diffusion, while low power consumption is also crucial.
[0005] Since one of the main contributors to power consumption in array-based sensing systems is data transmission or communication, efficient lossless or low-loss encoding and decoding of information is required. Summary of the Invention
[0006] The purpose of this disclosure is to provide efficient information encoding and decoding for array-based sensing systems to ensure low power consumption and thus long lifespan. Another purpose of this disclosure is to provide efficient lossless or low-loss information encoding for such sensing systems to ensure low heat dissipation, thereby maintaining long-term tissue health and preventing tissue damage due to heat dissipation.
[0007] Data compression is the process of encoding information using fewer bits than its original format. Because most real-world data is not uniformly distributed, traditional data compression algorithms analyze the raw data to capture its underlying statistical distribution and then encode the raw data using an encoding dictionary (e.g., Huffman coding) or dropout / quantization strategies (e.g., JPEG) to reduce data size. However, these methods are content-dependent or content-aware and therefore unsuitable for array-based sensing systems where the underlying statistical distribution of the raw data is unknown or unavailable. Furthermore, when developing data compression solutions, three factors need to be considered: the desired compression ratio, algorithmic and / or hardware complexity, and computational resources. These factors are interdependent and conflicting, making traditional compression solutions unsuitable for such array-based sensing systems.
[0008] The invention as defined in the independent claims at least partially satisfies these and other objectives. Preferred embodiments are set forth in the dependent claims. Embodiments and features described herein that are not within the scope of the independent claims, if any, are to be interpreted as examples that aid in understanding the various embodiments of the invention.
[0009] According to a first example aspect of this disclosure, a computer-implemented method for training a learning model for encoding event information using a learning system including a spiking neural network (SNN) is provided. The method includes: obtaining event information characterizing one or more events, each event corresponding to a change in the value of one of a set of sensors; deriving an encoded representation from the obtained event information using an encoder-decoder neural network; and training the SNN for encoding the event information using the obtained event information and the derived encoded representation.
[0010] In other words, SNNs are trained not only on event information but also on encoded representations. In other words, encoder-decoder neural networks and SNNs are used in a teacher-student configuration. The use of a teacher-student architecture allows for the benefit of more complex teacher networks (i.e., encoder-decoder neural networks) by decomposing complex transformations of event information into a few simpler transformations to easily train a much simpler student network (i.e., SNN) to learn those simpler transformations, achieving the same or similar performance as complex teacher networks, even those with limited learning capabilities. This allows for lossless or low-loss compression or encoding of event information in sensor devices within array-based sensing systems where power consumption requirements are stringent, using small, low-complexity SNNs. In other words, this lightweight SNN not only provides an optimal balance between compression ratio, algorithm / hardware complexity, and computational resources but also breaks down their interdependencies. Furthermore, training SNNs in a teacher-student configuration reduces the need to understand the underlying statistical distribution of event information, enabling the use of SNNs in array-based sensing systems that also require content-agnostic encoding or compression. In other words, this lightweight SNN capable of lossless or low-loss compression not only provides an optimal balance between three conflicting factors (i.e., compression ratio, algorithm / hardware complexity, and computational resources), but also breaks the cycle of conflict between performance and complexity.
[0011] According to the example embodiment, the SNN includes at least one hidden layer, and wherein the SNN implements an integrate-and-fire model or a leaky integration-and-fire model.
[0012] In other words, SNNs are flexible and can implement different types of learning models, such as integration-discharge or missed integration-discharge models, Hodgkin-Huxley-Izkovich models, or impulse response models. Furthermore, SNNs can be very lightweight, as only two hidden layers are sufficient to ensure lossless or low-less encoding.
[0013] According to the example embodiment, the derivation includes using the obtained event information to train an encoder-decoder neural network, wherein the encoder-decoder neural network includes a deep neural network dNN, such as a feedforward neural network FNN and a convolutional neural network CNN, or a recurrent neural network RNN, such as a gated recurrent unit-based neural network GRU, and a long short-term memory LSTM neural network.
[0014] In other words, the choice of encoder-decoder neural network is also flexible. The choice of encoder-decoder neural network is not important and does not affect the complexity or the encoding performance of the SNN, namely the reconstruction error and compression ratio. This is because the reconstruction error and compression ratio are determined by the size of the encoded representation. Therefore, they can be easily adjusted according to application requirements by simply changing the size of the encoded representation.
[0015] According to an example embodiment, the method further includes deploying a trained SNN to a sensor device and a trained decoder neural network (DNN) to an edge gateway device, wherein the deployment includes obtaining configuration parameters characterizing the trained SNN and the trained DNN, and programming a copy of the SNN deployed on the sensor device and a copy of the DNN deployed on the edge gateway device with the obtained configuration parameters.
[0016] A first portion of the trained SNN is deployed to a sensor device, and the remaining portion of the trained SNN and a trained decoder neural network (DNN) are deployed to an edge gateway device. The deployment includes obtaining configuration parameters characterizing the trained SNN and the trained DNN, and programming a copy of the first portion of the SNN deployed on the sensor device and a copy of the remaining portion of the SNN and the copy DNN deployed on the edge gateway device with the obtained configuration parameters.
[0017] In other words, the use of SNNs allows for distributed coding computation. This allows for additional degrees of freedom when weighing the computational and communication resources required by sensor devices.
[0018] According to a further example embodiment, event information characterizing one or more events is obtained, each event corresponding to a change in the value of one of the sensors from a set of sensors, and an encoded representation is inferred from it by means of an SNN pre-trained according to the method of the first example aspect.
[0019] A computer-implemented method for training a learning model to decode event information using a learning system including a spiking neural network (SNN), the method comprising:
[0020] - Obtain event information characterizing one or more events, each event corresponding to a change in the value of one sensor from a set of sensors;
[0021] - Derive encoded representations from acquired event information using an encoder-decoder neural network; and
[0022] - Using the obtained encoded representation and derived event information, the SNN is trained to decode the encoded representation.
[0023] According to the example embodiment, the encoder-decoder neural network and the SNN form a teacher-student neural network.
[0024] According to an example embodiment, the derivation includes training an encoder-decoder neural network using event information, and the encoder-decoder neural network includes a deep neural network (dNN), such as a feedforward neural network (FNN) and a convolutional neural network (CNN), or a recurrent neural network (RNN), such as a gated recurrent unit-based neural network (GRU), and a long short-term memory (LSTM) neural network.
[0025] According to an example embodiment, the SNN includes at least one hidden layer, and the SNN implements an integration-release model or a leak integration-release model.
[0026] According to an example embodiment, the method further includes deploying the trained SNN to an edge gateway device, wherein the deployment includes obtaining configuration parameters characterizing the trained SNN and programming a replica SNN on the edge gateway device with the obtained configuration parameters.
[0027] According to an example embodiment, a computer-implemented method is disclosed, comprising: obtaining an encoded representation of event information characterizing one or more events, each event corresponding to a change in the value of one sensor from a set of sensors; and inferring the event information therefrom by means of an SNN pre-trained according to a method according to a second example aspect.
[0028] According to a third example aspect, a sensor device is disclosed, which includes a spiking neural network (SNN) pre-trained according to the method of the first example aspect, and is configured to receive event information characterizing one or more events, each event corresponding to a change in the value of one sensor from the group of sensors, and to infer an encoded representation of the received event information.
[0029] According to an example embodiment, an SNN is pre-trained according to the method of the first example aspect to partially encode the received event information.
[0030] Sensor devices are therefore equipped with lightweight SNNs, which are pre-trained for lossless or low- or content-agnostic compression or encoding of event information. This enables sensor devices to be used in a variety of applications, such as implantable edge devices, where long lifespan and battery life are critical, while computational and storage resources are limited.
[0031] Furthermore, various example embodiments of the first example aspect can be applied as example embodiments to the third example aspect.
[0032] According to a fourth example aspect, an edge gateway device is disclosed, including a DNN pre-trained by means of a method according to a first example aspect or an SNN pre-trained by means of a method according to a second example aspect, and configured to receive an encoded representation of event information characterizing one or more events, each event corresponding to a change in the value of a sensor from a set of sensors, and to infer the event information encoded therein.
[0033] According to an exemplary embodiment, the edge gateway device may further include an SNN, which is pre-trained by means of the method according to the first exemplary aspect and configured to receive a portion of the encoded representation of event information and output the encoded representation of event information.
[0034] In other words, by providing edge gateway devices with a lightweight SNN pre-trained for decoding event information, edge gateway devices can provide the same advantages as sensor devices in the third example aspect.
[0035] Furthermore, various example embodiments of the second example aspect can be applied as example embodiments to the fourth example aspect.
[0036] According to a fifth example aspect, a neural network training system is disclosed, comprising at least one processor and at least one memory including computer program code, wherein the at least one memory and the computer program code are configured to, when the computer program code is run on the neural network training system, cause the neural network training system, together with the at least one processor, to perform a computer-implemented method according to a first example aspect or a second example aspect.
[0037] According to a sixth example aspect, a computer program product is disclosed, including computer-executable instructions for causing the at least one computer to perform a method according to a first example aspect or a method according to a second example aspect when the program is run on at least one computer.
[0038] According to the seventh example aspect, a computer-readable storage medium including a computer program product according to the sixth example aspect is disclosed.
[0039] Various example embodiments of the first and second example aspects can be applied as example embodiments to the third and fourth example aspects. Attached Figure Description
[0040] Some exemplary embodiments will now be described with reference to the accompanying drawings.
[0041] Figure 1A A sensor device and an edge gateway device according to an example embodiment of the present disclosure are shown;
[0042] Figure 1BA sensor device and an edge gateway device according to a first exemplary embodiment of the present disclosure are shown;
[0043] Figure 2 A neural network training system according to a second exemplary embodiment of the present disclosure is shown;
[0044] Figure 3A It shows the applicable Figure 1A Example encoding and decoding neural network architectures for sensor devices and edge gateway devices;
[0045] Figure 3B It shows the applicable Figure 1B Example encoding and decoding neural network architectures for sensor devices and edge gateway devices;
[0046] Figure 4 The illustration shows the use of Figure 3A Simulation results of the compression ratio achieved by the encoding and decoding neural network architecture.
[0047] Figure 5 Example embodiments of suitable computing systems for performing one or more steps in the embodiments of the present invention are shown. Detailed Implementation
[0048] To overcome the aforementioned challenges, this disclosure proposes the use of spiking neural networks (SNNs) for performing data compression on edge devices, such as sensor devices in array-based sensing systems. Here, an edge device refers to a device that provides an entry point into a processing unit. An edge gateway device processes data from the edge device, translates signals from the edge device using different protocols, and sends back relevant data. In this invention, the edge device typically includes sensors and performs simple processing. The edge gateway device processes or compresses the data before transmitting it to a more powerful system. The edge gateway device can also send weights associated with neurons in the edge device. The SNN is trained in a teacher-student configuration, which allows knowledge to be transferred from a large, complex deep neural network (i.e., the teacher) to a smaller, lighter neural network (i.e., the student). This disclosure also proposes using SNNs to decode compressed information, thereby improving the power and complexity constraints of the edge gateway device.
[0049] Unlike encoder-decoder neural networks that transmit information between neurons in different layers during each propagation cycle, spiking neural networks (SNNs) transmit information using discrete spiking signals that incorporate a temporal concept into their operations. Furthermore, SNNs tend to exhibit sparse activation patterns, meaning that only a small fraction of neurons emit spiking signals at any given time. This sparse activation reduces the overall energy consumption of spiking neural networks by minimizing unnecessary computation and memory access. Despite its energy efficiency and biological rationale, SNNs have relatively weak learning capabilities compared to other network architectures. This limited learning capacity hinders their ability to learn tasks requiring high-dimensional representations or fine-grained classification, such as encoding or compressing event information obtained from edge-deployed infrastructure.
[0050] Figure 1A A sensor device 100 is shown for encoding data from a set of sensors. The sensor device 100 is thus configured to receive input from the set of sensors. The set of sensors may include multiple sensors. The sensors may be arranged in an array, for example, regularly arranged in rows and / or columns within an array. However, it should be appreciated that the multiple sensors in the set do not need to be arranged in any particular configuration. The sensor device 100 can therefore be connected to the sensors in the set to receive signals. Optionally, the sensor device may be integrated with the sensors or may be separate from the sensors and configured to receive signals from the sensors via one or more wires. The sensor device may even be configured to receive signals from one or more sensors using wireless communication with one or more sensors. Furthermore, the sensors in the set may all be of the same type or may be of different types. The set of sensors may, for example, be configured to detect biological signals, such as electrical signals propagating in tissues (e.g., nerves). Therefore, the set of sensors may include electrodes configured to detect electrical signals from biological tissues. However, the set of sensors may also include other types of sensors, such as photosensitive elements configured to detect imaging information or optical signals (e.g., the intensity of incident light). This group of sensors may also include elements sensitive to magnetic or vibration signals. Where advantageous, the sensors can be arranged in an array, allowing for spatial resolution of the detected signals. Each sensor in the group may be identical, such that the sensors can be configured to detect a common type of signal; alternatively, the sensors in the group may be of different types, and thus detect different types of signals from the monitored object or scene, or different types of signals from different monitored objects or scenes (e.g., different parts of the body).
[0051] The received input can be provided to multiple analog-to-digital converters (ADCs) 102a, 102b, ..., 102n, wherein each ADC 102a-n can be connected to a subset of sensors, as described in detail in EP 23213959.2. The subset of sensors may include a single sensor. However, the subset of sensors may include multiple sensors, such that the ADCs 102a-n can receive input from the subset of sensors in a time-division multiplexed manner. ADC 102an is configured to detect events in the input signals received from the sensors. Therefore, each ADC 102a-n can be configured to detect changes in the value of the analog signal from the sensor, where such a change may correspond to an event. ADC 102an can be configured as a level-crossing ADC, an LC-ADC, configured to detect whether the value of the signal is higher than an upper threshold set relative to a previous value of the signal or lower than a lower threshold set relative to a previous value of the signal. However, it should be recognized that the ADC 102 an can be configured to detect events in another way, for example, by including a comparator that determines whether an event has occurred after the value of the signal has been converted into a digital format. According to another alternative, the ADC can be an ADC configured to operate at the Nyquist rate, i.e., a Nyquist-rate ADC. A Nyquist-rate ADC can also be combined with a delta modulator, such that the delta modulator only provides an output when the value of the signal input to the Nyquist-rate ADC changes.
[0052] Therefore, the information output by the ADC represents the detected event in digital format. Depending on the type of ADC used, this event information can be an indication of a change in the observed signal value, or it can be provided as the direction (up or down) of the signal value change and, optionally, the magnitude of the change. For example, a single bit can represent a change in the observed signal value or the direction of that change, and multiple bits can represent a change in the signal amplitude. In other words, the ADC output can be, for example, a single-bit signal where each bit represents a change in the value of the sensor signal, i.e., a detected event, or a multi-bit signal where the bits represent a signal from the sensor in a so-called delta modulation format.
[0053] By using event information to represent information from this group of sensors, the data rate generated by the sensors can be reduced. Therefore, signal values from the sensors may not be provided at every moment. Instead, signals from the sensors can only be presented when the signal value changes. This means the device can output a limited amount of data, thus limiting data communication. This helps limit power consumption.
[0054] Sensor device 100 also includes an encoder ENC 136, which is pre-trained to encode event information provided by ADCs 102a-102n. ENC 132 includes a spiking neural network (eSNN), which is pre-trained to perform lossless or low-weight compression or encoding of the event information. SNN 132 receives event information from ADCs 102a-102n and derives or infers an encoded representation 133 from it. This means that the sensor device can be configured to encode or compress data from the same or different types of sensors, which can be configured to monitor common or different objects or scenes of interest.
[0055] Figure 3A An example architecture for an encoded SNN, eSNN 132, is shown. eSNN 132 is a fully connected neural network comprising an input layer 1, a layer 2, two hidden layers 2 and 3, and an output layer 4. eSNNs can implement biological neuron learning models, such as integration-fire or missed integration-fire, or any other model suitable for this purpose. In other words, neurons in the corresponding layers are fully connected to neurons in the preceding and following layers. However, eSNNs can have partially connected architectures. Depending on the type of sensors in the group and / or the type and number of information they acquire, an eSNN may include more than two hidden layers. For example, it has been observed that when sensor device 100 is used to detect electrical signals from biological tissue, two hidden layers are sufficient to ensure lossless or low-to-low compression. However, for other types of sensors, such as event cameras, one hidden layer may be sufficient, while for other sensors, more hidden layers may be required. Figure 3A In this example, the output of the ADC is fed into the corresponding neurons in the input layer of the SNN 132. The neurons in the corresponding layer apply a linear or nonlinear transformation to the value received from the ADC according to the learning model implemented by the eSNN. For example, if a bias is included in the leak-integration-fire model, a nonlinear transformation can be applied to the neurons. As a result, one or more neurons in the corresponding layer fire, i.e., each firing neuron generates a pulse, which subsequently triggers the firing of neurons in subsequent layers, and thus triggers the output of the output layer of the eSNN, i.e., the encoded event information obtained from the sensor or the encoded representation 133.
[0056] For example, as described in EP 23213959.2, a fully connected SNN 132 with three hidden layers can be used to encode event information obtained from a sensor device, with 128, 128, and 64 leak-integration-fire neurons in the corresponding hidden layers, while a fully connected RNN with three hidden layers can be used as a DEC 134, with 64, 128, and 128 neurons in the corresponding hidden layers. These SNN 132 and DEC 134 neural networks achieve a mean root mean square error of 4.76 across all channels. This is lower than the noise level of the obtained event information (5.9). .
[0057] Back Figure 1A Sensor device 100 may include a serializer SER 104 for generating data packets representing information acquired by the set of sensors. The data packets may be configured to include encoded representations of event information generated or inferred by the SNN. Therefore, the data packets may include encoded representations of event information generated during a time frame. Sensor device 100 can thus be configured to continuously monitor input signals from eSNN 132 in a time frame sequence. Each time frame may correspond to a duration from which one or more encoded representations are derived by the eSNN. Thus, during a first time frame, eSNN 132 derives one or more encoded representations from events detected by ADC 102 an, which receives input from the respective sensors. These detected events are then encoded by the eSNN, from which the eSNN derives encoded representations. Therefore, the data packets may contain encoded event information acquired from different sensors during a time frame.
[0058] Alternatively, SER 104 can be activated only upon receiving an encoded representation. For example, if the sensor is used to sense biosignals, the information in the sensed biosignals may be very sparse. For instance, if a neural signal is monitored by the sensor, the sensor may detect a constant signal for most of the time because it does not sense neural activity. Only during short time periods will the sensor sense activity in the biosignals. Therefore, this device can be advantageously used to encode data from sensors that sense sparse signals, as the sensing of sparse signals may mean that an event exists only in a small fraction of time frames. The low power consumption offered by the sensor device is particularly advantageous for data grouping when power is limited. Therefore, if this set of sensors is used in an implantable or wearable system, power consumption may be very limited. This means that the device is particularly well-suited for such applications, providing a long lifespan for implantable or wearable devices.
[0059] To ensure efficient transmission of one or more encoded representations from edge device 100 to external devices such as edge gateway device 120, and therefore to guarantee low-latency data transmission, the eSNN architecture should be chosen such that the number of neurons in its output layer does not exceed the capacity of SER 104. This will ensure that the encoded representation at the output of eSNN 132 can be packaged by SER 104 and transmitted to the external device.
[0060] Sensor device 100 can also be configured to communicate with external device 120 (i.e., edge gateway device 120) over short distances. Therefore, sensor device 100 can use wired or short-range wireless communication to provide direct communication with edge gateway device 120. This ensures that the time required to transmit data packets from sensor device 100 to edge gateway device 120 can always be the same or substantially the same. Therefore, sensor device 100 may not need to provide timestamps for data packets. Instead, data packets can be sent immediately to edge gateway device 120, which can then correlate the data packets temporally based on their reception time. This means that clock synchronization between sensor device 100 and edge gateway device 120 is not required, and an internal clock generator (not shown) can intermittently generate clock signals without needing to know the elapsed time between the generation of sequential data packets.
[0061] Sensor device 100 may also include a memory (not shown in the figure). The use of memory means that larger data packets can be used to transmit information acquired from longer time frames. Therefore, by using memory, the device can be configured to generate fewer but larger data packets. Since each data packet may require headers and general information, using smaller data packets may mean less information is transmitted from the sensor device. However, memory occupies physical space in the device. Therefore, if the device needs to be as small as possible, memory can be omitted. In this case, the device is configured to packetize the encoded representation and output the data packets to an external device in real time after they have been generated. This means that the external device can receive the data packets in real time. Therefore, the external device can correlate the timing of events detected by the sensor with the time of receipt of the data packets. The data packets do not need to include timestamps, and the clock of the device used for the data packets does not need to be synchronized with the clock of the external device. This means that the complexity of clock synchronization between multiple sensors and receiving external devices can be avoided.
[0062] The sensor device 100 can be implemented as an integrated circuit. Specifically, the device 100 can be implemented as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). However, it does not necessarily have to be implemented in a single integrated circuit. The sensor device 100 may include two or more integrated circuits, with its components distributed across two or more integrated circuits.
[0063] Sensor device 100 can be arranged in a common housing together with the group of sensors. Alternatively, sensor device 100 can be arranged in a separate housing from the group of sensors, wherein sensor device 100 is arranged to receive signals directly from the group of sensors via a wired connection. Sensor device 100 is preferably arranged close to the group of sensors to ensure that signals from the group of sensors can be transmitted over short distances between the group of sensors and ADC 102 an. This means that the power consumption for transmitting signals can be very low.
[0064] Furthermore, the sensor device 100 can be housed in a enclosure with limited power capacity (e.g., battery power). This may be particularly desirable because the sensor device 100 can be positioned close to or even integrated with the group of sensors. Therefore, intermittent operation of the sensor device 100, ensured by means of a clock generator, may be highly advantageous, as the low power consumption of the sensor device 100 may be crucial for ensuring a long device lifespan.
[0065] Furthermore, the housing of sensor device 100 can be designed to allow the sensor device to be worn or positioned close to the sensor array, thereby enabling wired or short-range wireless transmission of signals from the sensor array to device 100. This may be important, for example, when sensor device 100 is configured to detect biosignals, and when the sensor array 100 may need to be worn or implanted in a human or animal.
[0066] Figure 1A An edge gateway device 120 for decoding data from a group of sensors is also shown. Therefore, the edge gateway device 120 is configured to receive data packets from sensor device 100. These data packets can be provided to a deserializer DES 124 for unpacking the data packets and thereby extracting one or more encoded representations 133. Thus, DES 124 has the same but reversed functionality as SER 104.
[0067] Edge gateway device 120 also includes a decoder DEC 134 for decoding event information from the encoded representation. DEC 134 is thus configured to receive the encoded representation 133 from DES 124 and decode it or infer event information from it. DEC 134 can be a deep neural network (dNN) pre-trained for decoding event information, such as a feedforward neural network (FNN), a convolutional neural network (CNN), or a recurrent neural network (RNN), such as a gated recurrent unit (GRU) neural network or a long short-term memory (LSTM) neural network. Alternatively, DEC 134 can be a spiking neural network (dSNN) that implements a biological neuron learning model, such as integration-fire or missed integration-fire, or other models suitable for this purpose.
[0068] Figure 3A An example architecture for the DEC 134 is further illustrated. In this example, the DEC 134 is a decoding deep neural network comprising three fully connected layers: an input layer, hidden layers, and an output layer. Similar to the ENC 136, depending on the type of sensors in the group and / or the type and amount of information they acquire, the DEC 134 may include more than one hidden layer. Figure 3A In the example, the encoded representation 133 is fed into the corresponding neurons in the input layer of the decoding neural network 134. As shown, the encoded value is fed into the corresponding neurons in the input layer of the decoding neural network 134. The neurons in the corresponding layer apply a linear or nonlinear transformation to the received value according to the learning model. As a result, one or more neurons in that layer are triggered, which in turn triggers neurons in subsequent layers, and thus produces an output representing the event information obtained from the sensor at the output layer of the DEC.
[0069] The edge gateway device 120 may also include a summer 122 configured to reconstruct data acquired by sensors. For example, if the event information represents a change in sensor values, the summer will reconstruct the change observed by the various sensors. If the event information represents both the direction and magnitude of the change, the output of the summer 122 will be the signal acquired by the various sensors. Therefore, the summer 122 is configured to receive event information and reconstruct it into detected events.
[0070] Similar to sensor device 100, edge gateway device 120 can be implemented as one or more integrated circuits, such as one or more application-specific integrated circuits (ASICs) and / or field-programmable gate arrays (FPGAs). That is, edge gateway device 120 can be implemented in a single integrated circuit, with its components distributed across two or more integrated circuits.
[0071] Edge gateway device 120 can be housed within a enclosure, and can be positioned such that it is worn or placed close to sensor device 100, thereby allowing short-range wireless transmission of signals from device 100. This means that the power consumption for signal transmission can be very low. This may be important, for example, when sensor device 100 is configured to detect biosignals, such as when it is implanted in the body of a human or animal, and when edge gateway device 120 may need to be worn on the body of a human or animal.
[0072] According to an embodiment, ENC 132 can be implemented in a distributed architecture. In other words, the use of an encoded neural network allows for distributed encoding computation. Since each layer of the eSNN 132 transmits information via impulse signals, the encoding computation of event information can be easily separated. Figure 1B and Figure 3B An example is shown where eSNN 132 is split into two sub-parts, the first sub-part 1321 including... Figure 3A Layers 1 and 2 of the eSNN correspond to and are retained on the edge device 100, while its second, remaining sub-part 1322 includes the remaining layers of the eSNN 132, namely layers 3 and 4, which are now integrated in the edge gateway device 120.
[0073] It should be noted that, depending on the architecture of the sensing system, the encoding computation can be broken down differently. For example, there may be intermediate devices configured to further encode a portion of the encoded event information from sensor device 100 and transmit it to edge gateway device 120. Furthermore, the breakdown of the encoded SNN 132 can be configured based on the energy required by sensor device 120 and possible intermediate devices for data transmission, such that the total energy consumption of the respective devices 100 meets the energy requirements.
[0074] Employing a distributed architecture allows for further reduction in the area of the sensor device 100. Furthermore, a distributed architecture can also be beneficial when event information is very sparse, i.e., when event information is obtained over much longer time intervals. In this case, a SNN with fewer layers may be sufficient to achieve a adequate compression ratio while meeting stringent power consumption requirements. To maximize the benefits of sparse event information, the sensor device 100 can be fabricated using semiconductor technology of ≥65nm to avoid leakage current in the sensor device.
[0075] Now refer to Figure 2 A detailed explanation of the training of ENC 132 and DEC 134, in which... Figure 2A neural network training system 200 according to an example embodiment of the present disclosure is illustrated. The training system 200 includes an encoder-decoder neural network 210 and an SNN 222. The encoder-decoder neural network 210 is a deep neural network that performs sequence-to-sequence transformations. The encoder 212 and the de-integrator-decoder 214 may include deep neural networks (dNNs), such as feedforward neural networks (FNNs) and convolutional neural networks (CNNs), or recurrent neural networks (RNNs), such as gated recurrent unit (GRU) neural networks, and long short-term memory (LSTM) neural networks. As the name suggests, the encoder-decoder neural network 210 includes an encoder neural network 212 and a decoder neural network 214. Both the encoder and decoder include several layers of neurons, such as an input layer, two or more hidden layers, and an output layer. Each neuron in a corresponding layer is configured to weight the data at its output according to the weights associated with that neuron. Thus, each layer of neurons performs data transformation at its input, and thereby each layer of neurons is trained based on data from the output of the previous layer. That is, the encoder transforms the input data into different representations, commonly referred to as latent vectors 213. Then, the decoder 214 takes the latent vector 213 as input and expands it into the same or different formats depending on the desired functionality.
[0076] The architecture SNN 222 can correspond to Figure 1A and Figure 1B The encoder neural network 132, and the decoder neural network 214, can correspond to the architecture of the encoder neural network 132. Figure 1A or Figure 1B Decoder 134. In other words, SNN 222 and decoder 214 are respectively Figure 1A or Figure 1B A copy of SNN 132 and decoder 134.
[0077] Similar to an encoder-decoder neural network 210, a Sequence-to-Sequence transformation (SNN) 212 is a deep neural network that performs sequence-to-sequence transformations. SNNs can implement biological neuron learning models, such as integration-fire or missed integration-fire, or any other model suitable for this purpose. An SNN is a fully or partially connected neural network comprising several layers of neurons, such as an input layer, two or more hidden layers, and an output layer. Each neuron in a corresponding layer is configured to generate an event by performing a synaptic operation, commonly referred to as firing or spiking. The type of synaptic operation depends on the learning model implemented by the SNN. Thus, events can be generated automatically when performing synaptic operations. Alternatively, events can be generated by neurons when predetermined conditions are met. For example, such predefined conditions can be based on the accumulation of input data over a certain time interval. The accumulated value can, for example, include the sum of past input data values received during that time interval. Neurons can be configured to fire when such an accumulated value reaches a predefined threshold. That is, neuron execution can perform weighted summation and comparison operations. As a result, each layer of neurons performs a non-linear transformation of data at its input. Similar to encoder-decoder neural networks 210, SNN 212 also transforms input data into different representations, also known as latent vectors 213.
[0078] In the current configuration, both the encoder-decoder neural network 210 and the SNN 222 are trained to perform lossless or low-to-low compression or encoding of event information. Both the encoder-decoder neural network 210 and the SNN 222 are trained using a set of training sequences (i.e., a set of training event information). The training sequences can include event information obtained from one or more sensors at various times. Furthermore, the training sequences can include information using... Figure 1A or Figure 1BEvent information obtained from the same or similar types of sensor groups. Alternatively, the training sequences can include event information from a benchmark training dataset, such as electrophysiological signals from the mouse brain (https: / / zenodo.org / records / 14449576?preview=1&token=eyJhbGciOiJIUzUxMiJ9.eyJpZCI6ImQxODJlNTU0LWVmMzctNDliMS1hMmEzLTI0N2E4OWZkN). WNhNiIsImRhdGEiOnt9LCJyYW5kb20iOiI5ZDVjNmU5MDE5NTc1MzdlYzY3YmRmODY1NTg1Zjc0ZCJ9.IxfxlGe8jaeK2K4nh699C9Wkg08ogySEqoZj2X-yFH2SpgsqEbBeNVdQlZSwJjYcSRt8OYScK8hsjGMWvA449A). The encoder-decoder neural networks 210 and SNN 222 can be trained through supervised or unsupervised training, meaning the event information used for training can be labeled or unlabeled. For example, the training event information can be generated by... Figure 1A or Figure 1B The ADC 102 is provided, and then labeled if supervised training is required.
[0079] In unsupervised training, at each step of training, encoder 212 encodes or compresses the training sequence from the set to derive a latent vector, i.e., an encoded representation 213, which is a lower-dimensional representation of the sequence. Decoder 214 decodes or decompresses the obtained encoded representation 213 to derive or reconstruct the training sequence. Loss functions such as (root) mean squared error, mean absolute error, cross-entropy, or other loss functions can be used to derive the reconstruction error by comparing the original training sequence with its reconstructed version. The derived reconstruction error is then used to penalize encoder-decoder neural network 210 by modifying the weights associated with neurons in different layers. That is, the weights associated with neurons in one or more layers of the encoder and / or decoder neural network can be modified. The above training process is performed using the training sequences from the set until the reconstruction error reaches the desired reconstruction error, at which point the training of encoder-decoder neural network 210 is terminated.
[0080] The encoder-decoder neural network 210 can be configured to achieve a compression ratio of 4 to 15 times, depending on the dataset, neural network architecture, and desired reconstruction accuracy. The compression ratio and thus the reconstruction error can be adjusted by changing the size of the encoded representation or latent vector, or in other words, by modifying the architecture of the encoder and decoder—that is, by changing the number of hidden layers and / or by changing the number of neurons in the layers. However, it is important to remember that the reconstruction error increases as the encoded representation decreases. Therefore, a balance needs to be struck between the desired compression ratio and the reconstruction error.
[0081] After training the encoder-decoder neural network 210 is complete, the latent vectors 213 and the set of training sequences are used to train the SNN 222. The same training procedure as described above is followed. That is, at each step of training, the SNN encodes or compresses the training sequences from the set, or re-encodes or compresses the encoded representation, to derive a lower-dimensional representation of the training sequences. A reconstruction error is derived by comparing this derived encoded representation with the latent vectors derived from the encoder-decoder neural network 213, using a loss function such as (root) mean squared error, mean absolute error, cross-entropy, or other loss functions. The derived reconstruction error is then used to penalize the SNN 222 by modifying the firing or spiking conditions of one or more neurons in different layers. Again, the training process is performed using the training sequences from the set, and training of the SNN 212 is terminated until the reconstruction error reaches the desired reconstruction error.
[0082] Once SNN 222 has been trained, SNN 212 is deployed on edge device 100. That is, the various neurons in ENC 132 are used to program the copy of SNN 132 deployed or integrated on edge device 100 according to the specified conditions. In other words, the SNN on the edge device is programmed using the configuration parameters associated with the corresponding neurons in SNN 222. This completes the training process of SNN 132 on edge device 100. Sensor device 100 can then proceed as described above. Figure 1A and Figure 1B Operate as described.
[0083] Simultaneously or subsequently, the decoder neural network 214 is deployed on the edge gateway device 110, that is, the weights associated with the different neurons in DEC 214 are used to program a copy of DEC 134 deployed or integrated on the edge gateway device 120. In other words, the DEC 134 on the edge gateway device is programmed using the configuration parameters associated with the corresponding neurons in DEC 214. This completes the training process of DEC 134 on the edge gateway device 100, and device 120 can then be referenced as described above. Figure 1A and Figure 1B Operate as described.
[0084] The neural network training system 200 may also include another SNN 224 trained to decompress or decode event information derived from the encoded representation of the ENC neural network 212. This decoding SNN 224 may include the same or a different architecture as the SNN 212 trained to perform lossless or low-compression. The SNN 224 may be configured to implement the same or a different learning model than the SNN 212. For this purpose, the decoding SNN 224 may be... Figure 1A and Figure 1B A copy of the decoder neural network 134. In other words, Figure 1A or Figure 1B Both sensor devices and edge gateway devices can include SNNs for encoding and decoding, respectively.
[0085] The same training process described above is used to train the decoding SNN 214. That is, at each step of training, the SNN 214 decodes or decompresses the encoded representation to derive or reconstruct the training sequence. Loss functions such as (root) mean squared error, mean absolute error, cross-entropy, or other loss functions are used to derive a reconstruction error by comparing the reconstructed training sequence with the original training sequence. The derived reconstruction error is then used to penalize the decoding SNN 224 by modifying the firing or spiking conditions of one or more neurons in different layers. Again, the training process is performed using the training sequences from this set, and training of the SNN 224 ends when the reconstruction error reaches the desired reconstruction error.
[0086] Once training is complete, the SNN 224 is deployed on the edge gateway device 120 by programming the DEC 134 on the edge gateway device 102 using configuration parameters associated with the corresponding neurons in the SNN 224. The sensor device 100 can then proceed as described above. Figure 1A and Figure 1B Operate as described.
[0087] According to one embodiment, devices 100 and 120 can operate in three modes: training mode, normal mode, and calibration mode.
[0088] During training mode, sensor device 100 is configured to transmit events detected by the ADC via SER 104. Therefore, the event information is packaged by SER 104 without being encoded by the SNN. Packaging of the event information can be accomplished using the packaging method described in detail in EP23213959.2. Furthermore, gateway device 120 is configured to receive transmitted packets unpacked by DES 124. Again, this is accomplished by DES 124 performing the same but reverse function. The unpacked event information is then used to train eSNN 132 and a possible dSNN 134, as referenced above. Figure 2 As described in detail, this means that the edge gateway device 120 includes Figure 2 The neural network training system. Alternatively, the edge gateway device can communicate with the neural network training system via a wired or wireless connection.
[0089] Once the encoding neural network 222 and the decoding neural network 214 or 224 have been trained, the sensor device 100 and the edge gateway device 120 are configured to operate in normal mode. In this mode, the sensor device 100 is configured to detect events, encode the detected events into encoded representations and package them, and the edge gateway device 120 is configured to receive and unpack the encoded representations and decode the events therefrom, as referenced above. Figure 1A Detailed description.
[0090] During calibration mode, sensor device 100 is configured to transmit events detected by the ADC and encoded representations derived by the eSNN. In this case, SER 104 is configured to package the outputs of both the ADC and eSNN 132. Accordingly, edge gateway device 120 is configured to receive, unpack the detected events and encoded representations, and decode the encoded representations. Calibration mode allows sensor device 100 and edge gateway device 120 to be pre-trained using one or more benchmark training datasets, and then retrained when configured to monitor objects or scenes of interest using real data.
[0091] Figure 4 The illustration shows the use of Figure 3ASimulation results of the compression ratio achieved by the eSNN 132 implementation are presented. The compression ratio achieved using the disclosed scheme was tested using two benchmark datasets: one dataset obtained using a neural pixel sensor array with a firing rate of 64Hz, and the other dataset obtained using a Utah sensor array with a firing rate of 38Hz. It can be seen that the eSNN 132 achieves compression ratios of 11.4 and 13.7, respectively. The density of sensor electrodes, their recording locations in the brain, ADC resolution, etc., differ between the two datasets. These results from different datasets demonstrate that the encoding and decoding method according to this disclosure is applicable to datasets from different hardware systems and recording conditions.
[0092] As illustrated in the examples above, by deploying the SNN and encoder-decoder neural network in a student-teacher configuration, a lightweight SNN can be easily trained to perform lossless or low-level and content-agnostic compression of event information when the underlying statistical distribution of the event information is unavailable. The use of a student-teacher configuration further enables the utilization of the sparsity of the event information, which can be represented as impulse signals or delta-modulated signals. Employing such an SNN allows for a balance between compression ratio and power consumption based on the constraints of a specific use case, while considering the hardware, computation, and communication resources of the sensor or edge and / or edge gateway devices. The SNN also allows for the distribution of compression among edge and edge gateway devices, providing another degree of freedom when weighing the required computation and communication resources in either device. Therefore, this invention allows for lightweight SNN integration in sensor edge devices to process large amounts of data in resource-constrained environments with highly limited power, area, and computational resources.
[0093] Furthermore, this invention can be advantageously combined with state-of-the-art communication technologies, such as body channel communication (BCC). This is a communication solution that uses highly conductive materials (animal bodies) to transmit signals. BCC enables high data rates and low power consumption. The proposed compression solution, employed in sensor edge devices with best-in-class communication solutions, makes these devices more suitable for implantable applications.
[0094] Embodiments of this disclosure can be implemented using a computing system programmed to perform the various steps of the methods described above, or the functions of the sensor device, edge gateway device, and / or neural network training system described above. The computing system may, for example, include at least one processor and at least one memory. The at least one memory stores program code including computer-executable instructions that, together with the at least one processor, cause the computing system to perform the embodiments described above. In other words, the computing system can act as part or all of the sensor device 100, edge gateway device 120, and / or training system 130, and the training method can be fully implemented as a computer-based method. Figure 5 An example of such a computing system is shown. As shown, computing system 500 can typically be configured as a suitable general-purpose computer and includes a bus 510, a processor 502, local memory 504, one or more optional input interfaces 514, one or more optional output interfaces 516, a communication interface 512, a storage element interface 506, and one or more storage elements 508. Bus 510 may include one or more conductors that allow communication between the components of computing system 500. Processor 502 may include any type of conventional processor or microprocessor that interprets and executes program instructions. Local memory 604 may include random access memory, RAM, or another type of dynamic storage device that stores information and instructions for execution by processor 502, and / or read-only memory, ROM, or another type of static storage device that stores static information and instructions for use by processor 502. Input interface 514 may include one or more conventional mechanisms that allow an operator or user to input information into computing device 500, such as a keyboard 520, mouse 530, pen, voice recognition and / or biometric mechanisms, camera, etc. Output interface 516 may include one or more conventional mechanisms for outputting information to an operator or user, such as display 540. Communication interface 512 may include any transceiver-like mechanism, such as one or more Ethernet interfaces, enabling computing system 500 to communicate with other devices and / or systems, such as other computing devices 550, 552, 554. The communication interface 512 of computing system 500 can be connected to another computing system via a local area network (LAN) or a wide area network (WAN), such as the Internet. Storage element interface 506 may include a storage interface, such as Serial Advanced Technology Attachment (SATA), interface, or Small Computer System Interface (SCSI), for connecting bus 610 to one or more storage elements 508, such as one or more local disks, such as SATA disk drives, and controlling the reading of data from and / or the writing of data to these storage elements 508. Although the storage elements(s) above are described as local disks, in general, any other suitable computer-readable media, such as removable disks, optical storage media such as CDs or DVDs, ROM disks, solid-state drives, flash memory cards, etc., may be used.
[0095] As used in this application, the term "circuit" may refer to one or more of the following:
[0096] (a) Pure hardware circuit implementation, such as implementation only in analog and / or digital circuits, and
[0097] (b) A combination of hardware circuitry and software, such as (if applicable):
[0098] (i) (various) combinations of analog and / or digital hardware circuitry with software / firmware, and
[0099] (ii) Any part of a hardware processor having software (including digital signal processors), software, and memory, which work together to enable a device such as a mobile phone or server to perform various functions) and
[0100] (c) Hardware circuitry and / or processors, such as microprocessors or a portion thereof, which require software (e.g. firmware) to operate, but may not exist when software is not required to operate.
[0101] This definition of "circuit system" applies to all uses of the term in this application, including in any claim. As another example, as used herein, the term "circuit system" also covers only hardware circuitry or a processor (or processors) or a portion thereof, and an implementation of its accompanying software and / or firmware. The term "circuit system" also covers, for example and if applicable to a particular claim element, a baseband integrated circuit or processor integrated circuit in a mobile device, or a similar integrated circuit in a server, cellular network device, or other computing or network device.
[0102] Although the invention has been described with reference to specific embodiments, those skilled in the art will understand that the invention is not limited to the details of the illustrative embodiments described above, and that the invention can be embodied through various changes and modifications without departing from its scope. Therefore, these embodiments should be considered illustrative rather than restrictive in all respects, and the scope of the invention is indicated by the appended claims rather than by the foregoing description; and thus all variations within the equivalent meaning and scope of the claims should be included therein.
[0103] The reader of this patent application will also understand that the wording "comprising" or "including" does not exclude other elements or steps, and the wording "a" or "an" does not exclude multiple elements, and a single element (such as a computer system, processor, or another integrated unit) can perform the functions of several means described in the claims. Any reference numerals in the claims should not be construed as limiting the corresponding claims. When the terms "first," "second," "third," "a," "b," "c," etc., are used in the specification or claims, these terms are introduced to distinguish similar elements or steps and do not necessarily describe a sequence or chronological order. Similarly, the terms "top," "bottom," "above," "below," etc., are introduced for descriptive purposes and do not necessarily indicate relative positions. It should be understood that the terms thus used are interchangeable where appropriate, and embodiments of the invention can operate according to the invention in other orders or orientations different from those described or shown above.
Claims
1. A computer-implemented method for training a learning model, the learning model being used to encode event information by means of a learning system, the learning system including a spiking neural network, an SNN (132; 1321–1322), the method comprising: - Obtain event information characterizing one or more events, each event corresponding to a change in the value of one sensor from a set of sensors; - The encoded representation (133, 213) is derived from the obtained event information by means of an encoder-decoder neural network (210). and - Train the SNN (132; 1321-1322) to encode the event information using the obtained event information and the derived encoded representation (133, 213).
2. The computer-implemented method according to claim 1, characterized in that, The encoder-decoder neural network (210) and the SNN (132; 1321–1322) form a teacher-student neural network.
3. The computer-implemented method according to any one of the preceding claims, characterized in that, The derivation includes using the obtained event information to train the encoder-decoder neural network (210), and the encoder-decoder neural network (210) includes deep neural networks (dNN), such as feedforward neural networks (FNN) and convolutional neural networks (CNN), or recurrent neural networks (RNN), such as gated recurrent unit neural networks (GRU), and long short-term memory (LSTM) neural networks.
4. The computer-implemented method according to any one of the preceding claims, characterized in that, The SNN (132; 1321–1322) includes at least one hidden layer, and the SNN (132; 1321–1322) implements an integration-release model or a missed integration-release model.
5. The computer-implemented method according to any one of claims 1 to 4, characterized in that, It also includes deploying the trained SNN (222; 132; 1321–1322) to the sensor device (100) and deploying the trained decoder neural network (214) of the encoder-decoder neural network (210) to the edge gateway device (120), wherein the deployment includes obtaining configuration parameters characterizing the trained SNN and the trained decoder neural network, and programming the replica SNN deployed on the sensor device (100) and the replica decoder neural network (134) deployed on the edge gateway device (120) using the obtained configuration parameters.
6. The computer-implemented method according to any one of claims 1 to 5, characterized in that, It also includes deploying a first portion of the trained SNN (1321) to a sensor device (100), and deploying the remaining portion of the trained SNN (1322) and a trained decoder neural network (214) of the encoder-decoder neural network (210) to an edge gateway device (120), wherein the deployment includes obtaining configuration parameters characterizing the trained SNN and the trained decoder neural network, and programming a copy of the first portion of the SNN deployed on the sensor device (100) and a copy of the remaining portion of the SNN and a copy decoder neural network (134) deployed on the edge gateway device (120) with the obtained configuration parameters.
7. A computer-implemented method comprising obtaining event information characterizing one or more events, each event corresponding to a change in the value of one sensor from a set of sensors, and inferring an encoded representation therefrom by means of an SNN (132; 1321–1322) pre-trained by the method according to any one of claims 1 to 6.
8. A computer-implemented method for training a learning model for decoding event information using a learning system comprising a spiking neural network (SNN) (134), the method comprising: - Obtain event information characterizing one or more events, each event corresponding to a change in the value of one sensor from a set of sensors; - The encoded representation (133, 213) is derived from the obtained event information using an encoder-decoder neural network (210); and - The SNN (134) is trained using the obtained encoded representations (133, 213) and the derived event information to decode the encoded representations.
9. The computer-implemented method according to claim 8, characterized in that, The encoder-decoder neural network (210) and the SNN (134) form a teacher-student neural network.
10. The computer-implemented method according to any one of claims 8 to 9, characterized in that, The derivation includes training the encoder-decoder neural network (210) using the event information, and the encoder-decoder neural network (210) includes a deep neural network dNN, such as a feedforward neural network FNN and a convolutional neural network CNN, or a recurrent neural network RNN, such as a gated recurrent unit-based neural network GRU, and a long short-term memory LSTM neural network.
11. The computer-implemented method according to any one of claims 8 to 10, characterized in that, The SNN (134) includes at least one hidden layer, and wherein the SNN (134) implements an integration-release model or a leak integration-release model.
12. The computer-implemented method according to any one of claims 8 to 11, characterized in that, It also includes deploying the trained SNN (134) to an edge gateway device (120), wherein the deployment includes obtaining configuration parameters characterizing the trained SNN (134) and programming a replica SNN on the edge gateway device (120) with the obtained configuration parameters.
13. A computer-implemented method, comprising: Obtain an encoded representation of event information characterizing one or more events, each event corresponding to a change in the value of one sensor in a set of sensors; And the event information is inferred from it by means of an SNN (134) pre-trained by the method according to any one of claims 8 to 12.
14. A sensor device (100) comprising a spiking neural network (SNN) (132; 1321–1322), the SNN being pre-trained by means of the method according to any one of claims 1 to 6 and configured to receive event information characterizing one or more events, each event corresponding to a change in the value of one of the set of sensors, and configured to infer an encoded representation of the received event information.
15. The sensor device according to claim 14, characterized in that, The SNN (1321) is pre-trained according to the method of claim 6 to partially encode the received event information.
16. An edge gateway device (120) comprising a decoder neural network (DNN) (134) pre-trained by means of any one of claims 1 to 6 or an SNN (132) pre-trained by means of any one of claims 8 to 12, and configured to receive an encoded representation of event information characterizing one or more events, each event corresponding to a change in the value of one sensor from a set of sensors, and configured to infer the event information encoded therein.
17. The edge gateway device (120) according to claim 16, characterized in that, It also includes an SNN (1322) pre-trained by means of the method according to claim 6, and configured to receive a portion of the event information in an encoded representation and output the encoded representation of the event information.
18. A neural network training system, comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code being configured such that, when the computer program code is executed on the neural network training system, together with the at least one processor, the neural network training system performs a computer-implemented method according to any one of claims 1 to 6 or a computer-implemented method according to any one of claims 8 to 12.
19. A computer program product comprising computer-executable instructions for causing the at least one computer to perform the method according to any one of claims 1 to 7 or the method according to any one of claims 8 to 13 when the program is run on at least one computer.
20. A computer-readable storage medium comprising a computer program product according to claim 19.