Data processing apparatus, method, program, and corresponding system by learning
The primitive neural network (PNN) addresses the challenge of implementing AI in IoT devices with limited resources by using a hybrid analog and digital processing approach, achieving low power consumption and efficient signal processing.
Patent Information
- Application Number
- JP2024571913
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-06-10
- Filing Date
- 2023-06-05
- Publication Date
- 2025-06-12
AI Technical Summary
Existing IoT devices face challenges in implementing complex AI processing locally due to limited memory and computing power, leading to high energy consumption and reduced device lifespan.
A hybrid analog and digital processing technology, known as the primitive neural network (PNN), is used to replace convolutional neural networks, allowing for the implementation of embedded artificial intelligence with minimal energy cost by co-learning parameters of both analog and digital parts.
The PNN architecture enables ultra-low power consumption and efficient signal processing, optimizing energy consumption and classification accuracy while extending the lifespan of IoT devices.
Smart Images

Figure 2025518356000001_ABST
Abstract
Description
Detailed Description of the Invention
[0001] (Technical Field) The present invention relates to the field of signal processing. More particularly, the present invention relates to the field of signal processing in constrained systems, especially systems constrained in terms of energy consumption.
[0002] (Prior Art) In recent years, there has been a revolution in the Internet of Things (IoT) and remote data processing (cloud computing). The number of IoT devices continues to increase every year, and it is expected that at least 30 billion devices will be operating worldwide within a few years. Most of these systems transmit raw data for remote processing. In many cases, artificial intelligence (AI) algorithms that consume large amounts of energy are used for remote processing methods. For example, a convolutional neural network (CNN) may have tens of thousands of neurons and millions of connections. Since most of the energy consumption is spent on data transmission (rather than processing), the overall scheme of remote data management and processing is very energy-intensive.
[0003] Therefore, it is necessary to increase the semantic level of information obtained locally within IoT devices. For example, in most cases of thermal industry monitoring, the temperature is usually constant. Since relevant events occur only when there are large changes in the measured values, it is not necessary to transfer such low-level data. The detection of such events needs to be performed locally by increasing the semantic level of the remotely transferred signal. In this case, an alert can be sent remotely, eliminating the need to transfer low-level raw data. However, the need for such local processing raises the question of how to implement complex processing, especially AI-based processing, in an embedded IoT type architecture. In fact, avoiding the permanent transfer of all sensor data means their local processing. This is necessary and is also emphasized in the documents on the communication and digital guidelines of the European Commission, where a goal of performing 80% of data processing locally is set.
[0004] However, there are several technical problems with this. Local data processing must be adapted to the hardware available in embedded systems, especially in terms of memory and computing power. Furthermore, the introduction of signal processing (or artificial intelligence), even if it reduces the power consumption due to data transmission, increases the average power consumption, especially when using advanced algorithms such as deep learning. Since the battery capacity is limited in many industrial and household products, using most of the energy for artificial intelligence tasks will shorten the product's lifespan in non-rechargeable applications, or require charging the battery or using an external power source.
[0005] Therefore, there is a need for a solution with autonomous devices that can process signals locally and significantly reduce the energy consumption of such devices. The disclosed technology improves this situation.
[0006] (Summary of the Invention) The disclosed technology is designed considering such problems of the prior art. The proposed technology enables the implementation of embedded artificial intelligence with minimal energy cost. A hybrid analog and digital processing technology is used to replace the convolutional neural network type solution, while learning the parameters of the global model (these parameters include analog and digital parameters from a labeled database). This hybrid architecture is called a primitive neural network (PNN).
[0007] More specifically, the present invention relates to a method for determining implementation parameters of an electronic circuit intended to be implemented by a computer or a data processor, said electronic circuit being configured to execute processing of an input signal, the electronic circuit comprising an analog part including a plurality of parameterizable analog primitives and a digital part including a plurality of parameterizable digital primitives, the implementation parameters of said electronic circuit including parameters of said plurality of parameterizable analog primitives and parameters of said plurality of parameterizable digital primitives, characterized in that said digital part is coupled to said analog part via at least one analog-to-digital converter and / or at least one analog comparator, regardless of the presence or absence of hysteresis. Such a method includes a step of learning said parameters of said plurality of parameterizable analog primitives and said parameters of said plurality of parameterizable digital primitives, said learning step being in common with the parameters of said plurality of parameterizable analog primitives and the parameters of said plurality of parameterizable digital primitives.
[0008] Accordingly, it is possible to parameterize the entire electronic circuit with the pre-learned values, and in particular, the electronic circuit can be adapted as needed in terms of reducing power consumption.
[0009] According to a particular feature, the learning step includes at least one iteration of the following steps, which is performed using a labeled signal learning database. - Load the current parameters of the plurality of parameterizable analog primitives and the plurality of parameterizable digital primitives. - The analog part extracts time information from the input signal and / or frequency information from the same signal according to the current parameters of the plurality of analog primitives. The latter can correspond to a plurality of moments of the signals in the learning database. - Construct an intermediate data structure using the previously extracted time information and / or frequency information. This intermediate data structure can be formed by juxtaposing the information extracted from the analog part of the signals in the learning database, and this structure is, for example, a tensor. - According to the current parameters of the plurality of digital primitives, the digital part classifies the plurality of detected events from the intermediate data structure and distributes the plurality of parts of the classified signals. - Calculate a classification error rate (Err) from the plurality of parts of the classified signals. - Correct the current parameters of the plurality of parameterizable analog primitives and the plurality of parameterizable digital primitives according to the above error rate (Err).
[0010] According to a specific feature, the learning stage ends when the classification error rate (Err) is lower than a predetermined threshold and / or when the target power consumption during the operation of the electronic circuit is reached.
[0011] According to a specific feature, the step of correcting the current parameters of the plurality of parameterizable analog primitives and the plurality of parameterizable digital primitives includes at least one iteration of the following optimization sequence. Optimization of the digital part by backpropagation, and then optimization of the analog part by the iterative digital simulation method.
[0012] According to a specific feature, the digital part includes at least one neural network adapted to classify the signals received via an analog-to-digital converter, and the parameters of the plurality of parameterizable digital primitives include at least the weights and biases of the neural network.
[0013] According to a specific feature, the digital part is in a standby state by default.
[0014] According to a specific feature, the analog part comprises at least one band-pass filter, the band-pass filter being able to identify the frequency of interest, the parameters of a plurality of parameterizable analog primitives including at least the cut-off frequency of the band-pass filter, and the analog part comprises a plurality of trigger nodes for activating the digital part based on the identification of the frequency of interest.
[0015] According to another aspect, the invention also relates to an electronic circuit configured to execute the processing of an input signal according to a method for determining the mounting parameters of the electronic circuit, the electronic circuit comprising an analog part and a digital part, the digital part being coupled to the analog part via one or more analog-to-digital converters and / or analog comparators with or without hysteresis. In this electronic circuit, the analog part includes a plurality of analog primitives parameterized according to a first parameter set, wherein the digital part includes a plurality of digital primitives parameterized according to a second parameter set, the first parameter set and the second parameter set belonging to the mounting parameters of the electronic circuit, and the first parameter set and the second parameter set are the subject of co-learning according to the method presented above.
[0016] According to a specific feature, the plurality of parameterizable analog primitives comprise analog primitives belonging to a group including passive and / or active filters, envelope detectors, multipliers, operational amplifier assemblies, diodes, analog convolution devices, integrators, differentiators, delay devices.
[0017] According to a specific feature, the analog part of the electronic circuit is divided into a first part called a signal pre-processing part and a second part called a moment extraction part, the output part of the signal pre-processing part is connected to the input part of the moment extraction part, and the output part of the moment extraction part is directly connected using at least one analog-to-digital converter and / or analog comparator.
[0018] According to another aspect, the present invention also relates to the use of an electronic circuit configured to perform processing of an input signal according to a method for determining implementation parameters of the electronic circuit, the electronic circuit including an analog part and a digital part, the digital part being coupled to the analog part via at least one analog-to-digital converter or at least one analog comparator, the analog part including a plurality of analog primitives parameterizable according to a first set of parameters, and the digital part including a plurality of digital primitives parameterizable according to a second set of parameters. This usage is notable in that it includes the step of loading the first and second parameter sets that have been the subject of co-learning according to the method presented above.
[0019] According to a preferred embodiment, learning can be controlled / executed, in particular to control the convergence of learning parameters, by a program implemented in a processor. Different steps of the method according to the present disclosure include software instructions intended to be executed by a data processor of an execution terminal according to the present technology, and are implemented by one or more software or computer programs designed to control the execution of different steps of the method, which are implemented in a communication terminal, a remote server, and / or a blockchain within the framework of the distribution of processing executed and determined by a scripted source code or a compiled code.
[0020] As a result, the present technology also targets programs executable by a computer or a data processing device, and these programs include instructions for controlling the execution of steps of the method as described above.
[0021] The program can use any programming language and can be in the form of source code, object code, bytecode between source code and object code such as a partially compiled form, or any other desired form.
[0022] Furthermore, the present technology also targets information media that can be read by a data processing device and contain program instructions as described above.
[0023] The information medium may be any entity or terminal capable of storing a program. For example, it can include storage means such as ROM, such as CDROM or microelectronic circuit ROM, and magnetic recording means such as mobile media (memory cards), hard disks, and SSDs.
[0024] On the other hand, the information medium may be a transmissible medium such as an electrical signal or an optical signal. The electrical signal or optical signal is transmitted via an electrical cable or an optical cable by wireless or other means. The program according to the present technology can be downloaded particularly on an Internet-type network.
[0025] Alternatively, the information medium may be an integrated circuit in which the program is incorporated, and the circuit is suitable for executing the method or for being used in the execution of the method.
[0026] According to one embodiment, the present technology is implemented by software and / or hardware components. In this regard, the term "module" in this specification may correspond not only to software components but also to hardware components or a set of software components and hardware components.
[0027] A software component corresponds to one or more computer programs, one or more subprograms of a program, or more generally, any element of a program or software that can implement a function or set of functions. Such a software component is executed by the data processor of a physical entity (such as a terminal, server, gateway, set-top box, router, etc.) and can access the hardware resources (such as memory, recording medium, communication bus, input / output electronic card, user interface, etc.) of this physical entity.
[0028] Similarly, a hardware component corresponds to any element of a hardware assembly that can implement a function or set of functions. For example, an integrated circuit, a chip card, a memory card, an electronic card for executing firmware, etc.
[0029] Each component of the system described above, of course, implements its own software module.
[0030] The various embodiments described above can be combined with each other to implement the present technology.
[0031] (Brief Description of the Drawings) Other objects, features and advantages of the present disclosure will become apparent upon reading the following description. This description is given as a simple illustrative and non-limiting example in connection with the figures.
[0032] -[Figure 1] represents the general architecture of a network according to the present disclosure; -[Figure 2] shows different digital and analog primitives of the present disclosure; -[Figure 3] is an example of the structure of the analog part of a network according to the present disclosure; -[Figure 4] shows a one-dimensional signal before manual labeling; -[Figure 5] is the one-dimensional signal of Figure 4 manually labeled; -[Figure 6] shows the training of a network using the input labeled data and the intermediate data generated by the analog part; -[Figure 7] shows the training of a network using the input labeled data and the sub-data generated by the analog part. Optimize the parameters of the analog part and start filtering the data not included in the target; -[Figure 8] shows parameterizable analog primitives; -[Figure 9] shows parameterizable analog primitives; -[Figure 10] is a diagram showing the circuit according to the present disclosure; -[Figure 11] shows the architecture of the microcontroller according to the present disclosure; -[Figure 12] shows a part of the input signal database and the corresponding labels; -[Figure 13] shows a network including three primitives; -[Figure 14] shows the convergence to the target frequency; -[Figure 15] shows three examples of raw labeled data from the pressure sensor; -[Figure 20] shows an interface for constructing a primitive network; -[Figure 22] shows the output of some primitives; -[Figure 24] shows the first primitive network; -[Figure 26] shows the complete primitive network; -[Figure 28] shows a three-layer neural network connectable to the complete primitive network of Figure 26; -[Figure 30] shows a three-layer neural network connectable to the complete primitive network of Figure 26; -[Figure 32] is a diagram showing an example of a parameter learning method.
[0033] (Detailed Description) (Reconfirmation of Principles) In various figures, the same elements are denoted by the same reference numerals. In particular, structural and / or functional elements common to various exemplary embodiments may have the same reference numerals and may have the same structural, dimensional, and material characteristics. For purposes of clarity, only steps and elements useful for understanding the exemplary embodiments being described are shown and described in detail. In particular, circuits for generating signals, circuits for controlling the frequency and intensity of such signals, and circuits for controlling and receiving values supplied from sensors are not described in detail, and the exemplary embodiments described are compatible with ordinary such circuits. Unless otherwise specified, when referring to two elements being connected to each other, this means being directly connected without intermediate elements other than conductors, and when referring to two elements being coupled or joined to each other, this means that these two elements may be connected or coupled by one or more other elements. In the following description, references to absolute position modifiers such as terms like "front," "rear," "top," "bottom," "left," "right," etc., or relative position modifiers such as terms like "above," "below," "upper," "lower," etc., or orientation modifiers such as terms like "horizontal," "vertical," etc., are made with reference to the orientation of the figures unless otherwise specified. Unless otherwise specified, the expressions "about," "approximately," "substantially," and "within the range of" mean within 10%, preferably within 5%.
[0034] As described above, in a first aspect, the present disclosure relates to an apparatus including an electronic circuit having an analog part and a digital part. The analog part is notable in that it includes parameterizable functionality (FPAA, FPMA). This analog part includes a plurality of potentially usable functionalities (especially filters) called "features" or "primitives". These functionalities are independently activatable and parameterizable such that their power consumption is limited to their use. The number of implementable and parameterizable functionalities basically depends on the complexity of the analog part. The circuit also includes a digital part. This digital part is interfaced with the analog part via an analog-to-digital converter. The digital part includes, in particular, a digitally embedded electronic decision-making circuit (for example, an artificial neural network or an expert system type). In the case of a neural network, typically hundreds or more neurons are included depending on the application and power consumption.
[0035] Thus, in such an electronic circuit, an input signal is processed using a hybrid architecture in which the analog part is implemented to perform a first series of data processing (such as high-frequency signal processing, moment extraction, etc.), and this data obtained from the analog input signal is provided to the neural network of the digital part to obtain low-frequency processing and results (such as classification of the input signal). This architecture can meet the needs of energy consumption limitation. An important feature of the present disclosure relates to the general configuration of the proposed electronic circuit. The learning of the analog and digital parameters of such a circuit is performed globally and includes both the learning of the parameters of the digital neural network and the learning of the parameters of the primitives of the analog part. Therefore, this circuit can be used in various situations and can also reduce the single authentication and implementation costs.
[0036] In other words, this primitive network constitutes a (analog and digital) hybrid electronic architecture aimed at implementing embedded artificial intelligence for decision-making and pattern recognition, targeting ultra-low power consumption applications that jointly optimize energy consumption and classification accuracy with the following characteristics. - Different from other conventional architectures for embedded AI, which consist of a fixed analog front-end circuit and a digital part implementing a neural network, the proposed technology can jointly learn the parameters of the analog part and the digital part end-to-end (Figure 1).
[0037] The proposed technology enables the obtaining of ultra-low power consumption systems and networks of limited size.
[0038] The architecture is divided into two different parts (analog / digital) corresponding to very different signal frequencies in order to optimize energy consumption (Figure 1). High-frequency processing is performed analogously, as a result of which the power consumption increases by up to 100 times compared to digital, and low-frequency processing is performed digitally. The transition from one to the other is made using one or more analog-to-digital converters that use data from the moment extractor (these can significantly reduce the useful frequency of the signal (e.g., filters, averagers, peak detectors)), one or more analog-to-digital converters that enable the acquisition of a limited-size part of the high-frequency input signal, or using the digital rising edge or falling edge from a comparator, with or without analog hysteresis, processed by the analog network.
[0039] The analog part is composed of analog primitives such as passive and / or active filters, envelope detectors, multipliers, op-amp assemblies (adders, subtractors, phase shifters, etc.), diodes, analog convolution devices (e.g., wavelets). The specific implementation is similar to an FPAA, with a structure that continuously connects programmable analog input points to a moment extractor, an analog-to-digital converter (ADC), a comparator, and a digital processor optimized for neural computations.
[0040] This architecture brings model diversity to the traditional neural network / CNN paradigm. Learning can be performed on components other than neurons (Figure 2: "E": input section, "PA1" - "PA7" (analog primitives), "PD1" - "PD7" (digital primitives), and "S" (output section)), and in particular, on primitives such as multipliers, filters, correlators between signals, and time delays ("PA1" - "PA7") that are not easily modeled by neurons.
[0041] The evaluation criteria for learning depend on the quality of classification, but also on the power consumed by the network and the complexity of the network at the electronic level.
[0042] This learning method is special because there is a moment extraction operator that cuts off or limits the possibility of gradient backpropagation. That is, after pre-optimizing the digital network at each step of analog gradient calculation, a learning process of optimizing the analog part by gradient descent is repeated. To do this, at each step of optimization, it is as follows.
[0043] The analog part of the network is fixed. For example, like the circuit in Figure 13.
[0044] Automatically generate a labeled intermediate training dataset from the labeled dataset (once only) with the outputs of the analog part and the ADC / comparator (i.e., after the moment extraction operation).
[0045] This intermediate training dataset that depends on analog operations is used for the learning of the conventional digital part of the network.
[0046] Once this learning of the digital part is performed, the process is repeated by changing the parameters of the analog part. Gradients can be calculated according to the parameters of the analog part and they can be optimized. Although global analog / digital optimization can be computationally expensive, it remains computable considering the applications implemented on architectures with limited capacity. Furthermore, since this optimization is performed "offline", computational resources are not an issue at this stage.
[0047] Furthermore, thanks to this architecture, it is possible to automatically determine the order of primitives during learning (as long as the network is ultimately of limited size and thus limited combinations).
[0048] (Overview of the learning method) Learning, similar to the processing of the primitive network, is generally shown in this section in relation to FIG. 22. In this example, it is a method for determining the implementation parameters of an electronic circuit, and the learning phase includes at least one iteration of the following steps, which is performed using a labeled signal learning database. - Load the current parameters (PC) of a plurality of parameterizable analog primitives and a plurality of parameterizable digital primitives (A1). - Extract time information (IT) from the input signal (Sig.E) and / or frequency information (IF) from the same signal according to the current parameters of the plurality of analog primitives by the analog part (A2). The latter can correspond to multiple moments of the signals in the learning database. -Constructing (A3) an intermediate data structure (SDI) formed by juxtaposing information extracted by an analog part from signals in a learning database, for example, using time information and / or frequency information extracted previously. -Classifying (A4) by a digital part and distributing a plurality of parts (PSC) of the classified signal according to current parameters of a plurality of digital primitives (PC) of a plurality of events detected by the analog part and the intermediate data structure (SDI). -Calculating (A5) a classification error rate (Err) from a plurality of parts of the classified signal. -Correcting (A6) current parameters of a plurality of parameterizable analog primitives and current parameters of a plurality of parameterizable digital primitives according to the error rate (Err).
[0049] The learning shown in relation to FIG. 22 is illustrated by the following explanation. The starting point is a one-dimensional signal as shown in FIG. 4. The input signal may be multi-channel. In this explanation, a one-channel signal is used. First, this signal is manually labeled as shown in FIG. 5. The label defines the detection target in the input signal. This conventional manual labeling operation is performed on all signals that make up the learning database. When the labeling of the database is completed, the learning of the primitive network is started.
[0050] The labeled data is provided as input to the primitive network, and the analog part performs the first step of the process for extracting the moments of the signal. This analog part also generates an intermediate data structure that constitutes the input to the digital part, as shown in FIG. 6. This intermediate data structure is automatically labeled according to the current parameters of the analog primitive. However, since it has not yet been optimized, it may extract non-optimal relevance information. Thereafter, the digital part classifies the data extracted by the analog part, and in learning, the error of the system (the entire circuit) can be calculated from true detections and false detections according to the labels of the initial database.
[0051] After calculating the error (i.e., the number of false detections with respect to the number of detections to be assigned), the optimized backpropagation method is used to adjust the parameters (weights and biases) of the analog and digital parts using the gradient backpropagation algorithm. In such a situation, as in the case of conventional neural networks, it is necessary to calculate the derivative of the error with respect to each parameter of all primitives.
[0052] This cycle represents the iteration of learning (epoch). A self-labeled training set is generated from the output of the analog part, the digital part is optimized with this self-labeled training set, and then the analog part is optimized to minimize the overall error. In the next iteration, since the parameters of the analog and digital parts have already been adjusted once, the error begins to decrease from the second iteration. As a result, in the first step of the analog processing in the second iteration, events not included in the target are already filtered as illustrated in FIG. 7.
[0053] This learning method enables the optimization of the entire primitive network (analog and digital parts), and an index of detection accuracy versus energy consumption can be calculated according to the complexity of the primitive network.
[0054] Thus, the primitives of the primitive network are composed of circuits and operators, and their parameters are learned during learning from a labeled database. Among the existing primitives, the following primitives are exemplified. - Analog peak detector: This primitive can be implemented with a diode, resistor, and capacitor as shown in FIG. 8 (left). This primitive plays an important role in detecting transients as shown in FIG. 8 (right). It can also be used after a bandpass filter to detect the energy level of a frequency band. The parameter learned during the learning stage is a constant: Tau (R 1 C1 ) is as follows. - Analog filter: These primitives can be implemented with one or more operational amplifiers, resistors, and capacitors, as shown in FIGS. 9 (left) and 10 (left). As shown in FIGS. 9 (right) and 10 (right), the target frequency band can be selected. Also, in the case of a low-pass filter, it can also be used to calculate the average value of a signal. FIGS. 9 and 10 show a low-pass filter primitive and a high-pass filter primitive, and the cut-off frequencies are R 2 C 2 and R 3 C 3 defined by. - Analog correlator for parameterizable patterns (pre-established or changing over time), such as between wavelets and different channels of an input signal. - Analog delay: The input signal can be shifted in time at a constant rate, and the delay can be adjusted in a limited frequency band. - Integrator: This primitive can integrate an input signal and amplify the result. - Differentiator: This primitive can derive an input signal and amplify the result. - Digital filter: These primitives can select a desired frequency band in the same way as analog filters. However, since they are implemented in digital form, they are suitable for processing low-frequency signals (which consume less energy in digital form). - Digital neuron: This primitive is a conventional neuron. It can be used alone or grouped in the final layer of a primitive network. The parameters to be learned are the weights and biases as usual. - Digital fast Fourier transform (FFT): This primitive can extract frequency characteristics from the temporal changes of a signal. - State machine: Implements a sequential signal processing mechanism. For example, parameterizable expert rules can be implemented.
[0055] (Implementation Example of Primitive Network) The primitive network architecture combines digital primitives and analog primitives. The digital part can be implemented with an FPGA (Field Programmable Gate Array), the microcontroller shown in FIG. 11, or an application-specific silicon circuit. For the architecture of the analog part of the primitive network, a low-power consumption-oriented mixed FPAA (Field Programmable Analog Array) is required. The FPAA is an analog circuit corresponding to the FPGA. Different from the FPGA, the FPAA circuit includes a more limited number of configurable blocks CAB ("Configurable Analog Block").
[0056] By using analog and digital primitives, different types of signal processing with significantly different frequency spectra can be considered. This is because analog processing mainly targets high-bandwidth signals, and the potential gain in energy consumption is two orders of magnitude (1 / 100). To further optimize power consumption, among the analog primitives, multiple operational amplifiers can be implemented with different "gain-bandwidth" products and used according to the frequency of the signal to be processed. This is represented in FIG. 11 by three types of analog primitives and digital primitives (analog primitive / digital primitive). All of these primitives can be turned off, minimizing energy consumption.
[0057] In other words, an analog / digital hybrid architecture exists again, which is difficult to classify as either an FPGA or an FPAA. In this architecture, both digital primitives and analog primitives can be configured by loading the learned parameters during learning. These parameters are given to each constituent block in the configuration stage after the learning stage, as described above.
[0058] (Description of Exemplary Embodiment of Learning Method) As described above, the method of learning the parameters of such a primitive network has been modified compared to the conventional learning methods implemented for digital neural networks. Generally, this method involves a dual optimization of digital parameter optimization and analog parameter optimization. The following is an exemplary embodiment of such a hybrid learning method. More specifically, the focus is on the methodology for adjusting the parameters when the iteration is executed. This methodology is inspired by the conventional backpropagation algorithm. However, when time primitives (such as filters) are used, it is no longer possible to apply the derivative of the output with respect to the parameters and weights to be learned in order to minimize the error. For this particular reason, new learning methods have been proposed.
[0059] This new approach has been implemented in a simulation for learning parameters from a labeled database. Its purpose is to automatically learn the parameters of analog primitives together with digital parameters from a single initial labeling. In this example, only the learning of a simplified analog stage is shown. Since the digital learning is conventional, it is not illustrated here.
[0060] First, as shown above, a database was created. This database is composed of a large number of samples, and each sample is a sine wave signal with a constant amplitude of 1V and a frequency ranging from 10 to 180 Hz. The sampling frequency is set to 400 Hz. A part of the database is shown in FIG. 12 (the database of input signals and the corresponding labels). As shown in the figure, different labels were used to test the convergence of the model. These were generated by the algorithm. As can be seen, this database has a bandwidth equal to |wj - wi|.
[0061]
Number
[0062] It describes a band-pass filter centered around
[0063] After the generation of the database, a primitive network structure for learning the parameters of the primitive was proposed. As shown in Figure 13, this primitive network is composed of three primitives.
[0064] - Band-pass filter: This filter is composed of a high-pass filter and a low-pass filter. Its cut-off frequencies are f cHPF and f cLPF and need to be learned during training.
[0065] - Peak detector: This primitive is composed of a diode and a low-pass filter for maintaining the voltage level for a time defined by τ i and must be learned during training. However, for the sake of easier explanation of the learning method, it is initially fixed.
[0066] - Comparator: This primitive sets the logic level to High when the voltage of the positive input corresponding to the voltage level of the output of the peak detector (therefore corresponding to the energy of the signal within the bandwidth of the filter) is higher than the voltage of the negative input (the initially set reference, but optimized by learning). Based on the architecture of this primitive network, the parameters are initialized as follows.
[0067] - f cHPF and f cLPF are the two parameters to be learned. After learning, these converge to the center frequency f ci of the band-pass filter and the frequency defining its bandwidth.
[0068] Therefore, the initial frequencies are
[0069]
Number
[0070] is initialized to
[0071] The second frequency is
[0072]
Number
[0073] is initialized to
[0074] Spectrum Percentage is a hyperparameter defined as the learning rate and is equal to 0.05 in this case. f Sampling is equal to 400 Hz, so f cHPF and f cLPF have initial values equal to 10 and 190 Hz respectively.
[0075] -τ i is set to speed up training. This is equal to the value 250 ms of the time length of each sample in the database so that the voltage level can be maintained until the end.
[0076] - The threshold is also set in advance to simplify training. Since the amplitude of the hole in the database is equal to 1 V, it is equal to 0.7 V.
[0077] The first iterative learning starts after initializing the parameters of the primitive network. The purpose of successive iterations is to converge to the labeled frequencies in the database as shown in Figure 14. In this training, it is necessary to calculate the differentiator of the error of the primitive network after database processing for each frequency (f cHPF and f cLPF ). This band-pass filter type primitive has a kind of memory for the input at time i 1 . In the simulation, the implemented filter is first order. This memory indicates that it is necessary to modify the training method to fit the time primitive like a filter.
[0078] Therefore, the training is carried out as follows.
[0079] - First, each sample in the database is filtered and the output of the comparator is compared with the desired labeling (true or false detection).
[0080] - Next, after presenting the complete learning base, the global error Error fcHPF-fcLPF of the primitive network is obtained by comparing the resulting label with the detected value.
[0081] - From this error calculation, the cut-off frequency of the high-pass filter is updated using Equation (1). Here, Derivate Porcentage is a hyperparameter preset as the learning rate. In this case, it is equal to 0.1.
[0082]
Equation
[0083] - After updating the cut-off frequency of the high-pass filter, the database is presented again to determine the new global error: error fc+Δf-fcLPF and the derivative of this error can be calculated as a function of the variation of f cHPF as shown in the following Equation 2.
[0084]
Equation
[0085] - After calculating the first derivative of the error, f cHPF is reset to its previous value,
[0086]
Equation
[0087] To obtain, for f cLPF the same method is applied to calculate the derivative with respect to
[0088] -Finally, after calculating all the derivatives, the gradient of the global error with respect to the analog parameters is determined, and the cut-off frequency of the filter can be updated using Equations 3 and 4.
[0089] [Number]
[0090] This cycle representing the iteration is repeated until convergence or until a defined number of iterations is reached. This method can be used for primitives where the output depends on the input at the i-th time point and the previous inputs. For example, in the case of a multiplier or a comparator, since the output depends only on the current input, learning is simplified.
[0091] In this method, learning is performed, and the frequency of the band-pass filter is learned from the database by the gradient descent algorithm, even if it is not formally computable, and a backpropagation-type algorithm cannot be used. The drawback of this method is that for each iteration, the complete database has to be processed several times, but this drawback is offset by the use of the mini-batch technique. This technique is also sensitive to the adjustment of the hyperparameters of the model and there is a risk of non-convergence. The most important are Spectrum Percentage for frequency initialization and Derivate Percentage for calculating the derivative. However, the results obtained with this primitive network are very good.
[0092] (Description of application example) As an application example of the primitive network architecture, a case regarding the detection of leaks in oil facilities is introduced. The first step is to create a database using analog sensors connected to recorders installed on site. To enrich this database and enable the discrimination between correct operating modes and faults, several operating modes are recorded. For this purpose, various classes identified in the second step are labeled in the database. The third step is to process the analog-form data to obtain a labeled intermediate data structure, which depends on an analog circuit for preprocessing. This intermediate data structure is used for the learning of digital part algorithms, such as convolutional neural networks. Therefore, in the fourth step, learning is carried out, and as a result of classification, particularly the ROC curve is evaluated, the parameters of the analog part are changed, and an optimal configuration is obtained. These last two steps are repeated until the convergence of the system occurs. The details of these different steps are shown below.
[0093] (Step 1: Creation of the database) The first step is to collect data from the corresponding sensors to detect the target event. Since the reliability of the primitive network mainly depends on the richness of the database where learning is performed, this step is the most important. In this application case, pressure sensors are used to measure the behavior of oil facilities in the case of being defective and non-defective. Therefore, the aim is to identify these behaviors and notify when a defect is found. The data in this case is one-dimensional, and the pressure is recorded over time. These data are recorded in a predefined format so that they can be labeled in the next step.
[0094] (Step 2: Labeling of the database) Once the database is obtained, it is necessary to perform labeling. Figure 15 shows three examples of labeling the raw data of the pressure sensor. Since the data is processed in analog form and not directly processed by a convolutional neural network (which takes complete samples as input), it is important to label at the exact moment when an event occurs.
[0095] These samples constitute the input to the primitive network, and the primitive network generates an intermediate data structure that is automatically labeled from what is defined by the basic signals by the analog blocks contained therein. This intermediate data structure constitutes the input to an algorithm implemented in digital form.
[0096] (Step 3: Analog Processing and Learning) After the data is labeled, a primitive network for analog processing to obtain an intermediate database is defined. This primitive network is shown in Figure 16 in this example. The analog primitives are defined according to the characteristics of the database, knowing that multiple sensors are used and processed in parallel, and are connected to each other.
[0097] At the output of the analog part, intermediate data is generated from the output values of the analog primitives and used for the learning of the digital part while maintaining the initial labeling. A trigger node can be defined to activate the digital part when the occurrence of an interesting phenomenon is suspected and perform an analysis on the analog data.
[0098] In Figure 17, the outputs of several primitives are shown. The first graph, "Node Input", shows the raw labeled data from the sensor, and the second graph, "Absolute Value", shows the output of the first primitive that performs the absolute value of the input. The third graph shows the output of a low-pass filter, which is the second primitive that has to learn the cut-off frequency and is connected to the output of the first primitive. Finally, there are the last two primitives and their graphs. "Gain" is the amplifier, and "Comparator" is the comparator that compares the output of the amplifier with the voltage level to be learned.
[0099] In this case, a simplified analog stage of the implemented primitive network is shown in Figure 18. This stage of the primitive network activates (activates) the digital stage of the primitive network at each rising edge of the comparator output, triggering an analysis to check whether it is a true positive. As a result, a trigger node and a tensor generation node are defined.
[0100] The complete primitive network used is shown in Figure 19. This circuit diagram has four parallel channels independent of the main channel responsible for triggering from transients. These four channels have band-pass filters and peak detectors and are used to continuously measure the energy in different frequency bands.
[0101] When the comparator is triggered by the presence of a peak of a signal that may correspond to the desired signal, the raw signal is acquired at 100 [Hz] for a specified time (here 1 second), and to measure the noise level, an offset of 2 seconds after the trigger is made and a second acquisition of the raw signal is performed at 1 [KHz] for 0.1 second (1 / 10 second). The digital stage performs the capture, but most of the time it remains in the deep sleep mode. Only the ultra-low power analog part of the primitive network remains in the "always-on" mode. The four band-pass filters at this stage can store past information in order to enrich the analysis performed at the digital stage with the frequency distribution corresponding to the time located before the trigger. These four energy level outputs in different bands are sampled a second time with a predefined delay in order to have comparison data regarding the change in the frequency composition of the signal around the trigger. These become (important) indicators of the signal to be considered in subsequent analysis.
[0102] In this way, an impact can be detected from the information of the raw signal, and the frequency characteristics of the signal before and during the phenomenon can be analyzed from the spectral information of the energy levels in the four frequency bands after the phenomenon. Bits such as FFT would do (but there is no need to execute such energy-intensive FFTs in such a digital one). By combining these two pieces of information, a tensor (the frequency and time signature of the event to be analyzed) is obtained.
[0103] Since the digital stage is in the standby state most of the time and the analog stage is designed to minimize consumption, this process is all executed in the ultra-low consumption mode.
[0104] As described above, the learning of the weights in the analog stage is performed by iteration after the co-optimization of the digital stage.
[0105] (Step 4: Digital Processing and Learning) The digital stage of the primitive network learns from the intermediate data structure generated by the analog stage and can be represented in the form of an expert system, a shallow conventional neural network as shown in Figure 20, or a convolutional neural network as shown in Figure 21. The digital algorithm to be implemented mainly depends on the difficulty of the problem to be solved and the target energy consumption.
[0106] (Step 5: System Evaluation) Since the system is evaluated and learned from the indicators of the detection rate (true positive TP, false positive FP, true negative TN, false negative FN), it depends on the initial labeling of the data for learning. These indicators enable adjusting the coefficients of the analog stage not only during learning but also in real-time dynamics. For example, for the detection threshold of a comparator: in the case of a very noisy signal, many false positives occur, so the threshold of the comparator can be increased to reduce the number of false positives when there is noise.
[0107] (Step 6: Integration and Deployment) The last step is to load the learned parameters and model into the production-mode analog / digital primitive network. The advantages of such an implementation are, on the one hand, having an efficient circuit that requires low energy consumption, whose parameters can be updated, for example, according to the evolution of the signal, and can also be used in usage examples other than those described in this embodiment.
Brief Description of the Drawings
[0108]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Claims
1. A method for determining implementation parameters of an electronic circuit intended to be implemented by a computer or a data processor, wherein the electronic circuit is configured to execute processing of an input signal, wherein the electronic circuit includes an analog part including a plurality of parameterizable analog primitives and a digital part including a plurality of parameterizable digital primitives, wherein the implementation parameters of the electronic circuit include parameters of the plurality of parameterizable analog primitives and parameters of the plurality of parameterizable digital primitives, wherein the digital part is coupled to the analog part via at least one analog-digital converter and / or at least one analog comparator with or without hysteresis, the method including a step of learning the parameters of the plurality of parameterizable analog primitives and the parameters of the plurality of parameterizable digital primitives, the learning step being characterized by cooperating with the parameters of the plurality of parameterizable analog primitives and the parameters of the plurality of parameterizable digital primitives, a method for determining implementation parameters of an electronic circuit.
2. The learning step is performed using a labeled signal learning database, namely, - a step (A1) of loading the current parameters of the plurality of parameterizable analog primitives and the plurality of parameterizable digital primitives, - a step (A2) of extracting time information from the input signal and / or frequency information from the same signal according to the current parameters of the plurality of analog primitives by the analog part, the information being able to correspond to a plurality of moments of the signal in the learning database, step (A2), - a step (A3) of constructing an intermediate data structure using the time information and / or frequency information extracted previously, - a step (A4) of classifying a plurality of detected events by the digital part according to the current parameters of the plurality of digital primitives and delivering a plurality of parts of the classified signal from the intermediate data structure, - a step (A5) of calculating a classification error rate (Err) from the plurality of parts of the classified signal - a step (A6) of correcting current parameters of the plurality of parameterizable analog primitives and the plurality of parameterizable digital primitives according to the error rate (Err); The method for determining implementation parameters of an electronic circuit according to claim 1, characterized by including at least one iteration of
3. The learning stage ends when the classification error rate (Err) is lower than a predetermined threshold and / or when the target power consumption during the operation of the electronic circuit is reached. The method according to claim 1 or 2, characterized in that
4. The step of correcting the current parameters of the plurality of parameterizable analog primitives and the plurality of parameterizable digital primitives includes at least one iteration of an optimization sequence of optimizing the digital part by backpropagation and then optimizing the analog part. The method according to claim 2 or 3, characterized in that
5. The digital part includes at least one neural network adapted to classify a signal received via an analog-to-digital converter, and the parameters of the plurality of parameterizable digital primitives include at least the weights and biases of the neural network. The method according to any one of claims 1 to 4, characterized in that
6. The digital part is in a standby state by default. The method according to any one of claims 1 to 5, characterized in that
7. The analog part includes at least one band-pass filter, the band-pass filter can identify frequencies of interest, the parameters of the plurality of parameterizable analog primitives include at least the cut-off frequencies of the band-pass filter, and the analog part includes a plurality of trigger nodes for activating the digital part based on the identification of the frequencies of interest. The method according to any one of claims 1 to 6, characterized in that
8. An electronic circuit configured to execute processing of an input signal according to the method for determining implementation parameters of an electronic circuit according to any one of claims 1 to 7, The electronic circuit includes an analog part and a digital part, The digital part is coupled to the analog part via at least one analog comparator, with and / or without hysteresis. The electronic circuit is characterized in that the analog part includes a plurality of analog primitives parameterized according to a first parameter set, the digital part includes a plurality of digital primitives parameterized according to a second parameter set, the first parameter set and the second parameter set belong to the implementation parameters of the electronic circuit, and the first parameter set and the second parameter set were the subject of co-learning. Claim 9 The electronic circuit according to claim 8, characterized in that the plurality of parameterizable analog primitives comprise analog primitives belonging to a group including passive and / or active filters, envelope detectors, multipliers, op-amp assemblies, diodes, analog convolution devices, integrators, differentiators, and delay devices. Claim 10 The analog part of the electronic circuit is divided into a first part called a signal preprocessing part and a second part called a moment extraction part. The output part of the signal preprocessing part is connected to the input part of the moment extraction part, and the output part of the moment extraction part is directly connected using at least one analog-to-digital converter and / or analog comparator. The electronic circuit according to claim 8 or 9 is characterized by this. Claim 11 Use of an electronic circuit configured to perform processing of an input signal according to the method for determining implementation parameters of the electronic circuit according to any one of claims 1 to 7, wherein the electronic circuit comprises an analog part and a digital part, the digital part is coupled to the analog part via at least one analog-to-digital converter or at least one analog comparator, the analog part includes a plurality of analog primitives parameterizable according to a first parameter set, and the digital part includes a plurality of digital primitives parameterizable according to a second parameter set, characterized by including the step of loading the first parameter set and the second parameter set that were the subject of co-learning. Claim 12 A computer program product that is downloadable from a communication network and / or stored on a computer-readable medium and / or executable by a microprocessor, comprising program code instructions for performing the method for determining implementation parameters of an electronic circuit according to one of claims 1 to 7, which is configured to perform processing of an input signal when executed on a computer.