SYSTEM AND METHOD FOR DISTRIBUTED NEURAL NETWORKS ON EDGE DEVICES
A multi-stage machine learning classifier system with less complex networks addresses the resource constraints of wearable devices by using a first-stage classifier for event detection and a second-stage classifier for full classification, achieving efficient event detection and classification.
Patent Information
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-03-02
- Publication Date
- 2026-04-02
AI Technical Summary
Large machine learning models, such as neural networks, require significant computing power and data storage resources, making them unsuitable for resource-constrained environments like wearable devices.
A multi-stage machine learning classifier system with a first-stage classifier for event detection and a second-stage classifier for full classification, using less complex and energy-intensive networks to reduce resource requirements.
The system effectively reduces computational and storage demands, enabling efficient event detection and classification in resource-constrained environments.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL AREA
[0001] The present disclosure relates to a decentralized machine learning network for detecting and classifying events in sensor signals or edge devices and for providing a full classification when an event of interest is detected. BACKGROUND
[0002] It is understood that the task of classifying input data using machine learning-based classifiers is employed in various applications. Depending on the application, the machine learning model used for classification can be extremely large, containing tens of millions of variables. Such large networks typically require significant computing power and substantial data storage resources. Consequently, these machine learning models can have high energy consumption. Such large machine learning models are typically not suitable for use in resource-constrained environments. SUMMARY
[0003] A system and a method for a multi-stage machine learning classifier are disclosed. The system receives a captured data signal. A first-stage classifier applies the captured data signal to analyze one or more data segments. Within these one or more data segments, a first-stage machine learning algorithm employed by the first-stage classifier can identify an event of interest (e.g., a binary classification). The one or more data segments identified as containing the event of interest can be sent by the first-stage classifier to a second-stage classifier. The one or more data segments can then be classified using a second-stage machine learning algorithm employed by the second-stage classifier.
[0004] The system and procedure can also be operated to generate a first classification and a first classification label for the one or more data segments using a first-stage machine learning algorithm employed by the first-stage classifier. The first classification can be output as a full classification if its confidence level exceeds a confidence threshold. If the confidence level for the first classification is less than the confidence threshold, the first classification and the first classification label can be fed to a second-stage machine learning algorithm employed by a second-stage classifier. Then, a second classification for the one or more data segments can be generated using the second-stage machine learning algorithm employed by the second-stage classifier.The second classification can then be output as the complete or full classification.
[0005] The system and the process can also combine one or more data segments into a single dataset, where the event of interest for a first data segment can be the same as the event of interest for a second data segment. The combined dataset can then be sent from the first-stage classifier to the second-stage classifier for classification. The captured data signal can also be analyzed for one or more data segments using the second machine learning algorithm. The event of interest can be identified in the one or more data segments using the second machine learning algorithm. The one or more data segments can then be classified using the second machine learning algorithm.
[0006] The system and process can also apply a first classification that identifies the event of interest in the one or more data segments. A second classification can identify that the event of interest does not exist in the one or more data segments. The one or more data segments labeled using the first classification can then be sent to the second-stage classifier. The one or more data segments labeled using the first classification can then be identified as not containing the event of interest. Relabeling of the one or more data segments using the second classification.
[0007] The system and the procedure can also determine that the one or more segments identified as containing the event of interest exceed a predefined confidence threshold. If the one or more data segments exceed this threshold, they can then be classified using the first machine learning algorithm. Alternatively, the one or more data segments can be identified as containing the event of interest and added to a categorical dataset using the first machine learning algorithm. This categorical dataset can then be passed from the first-stage classifier to the second-stage classifier. The second machine learning algorithm can then be used to classify the categorical dataset.
[0008] A training process can be used to apply a penalty algorithm to ensure that one or more data segments are biased towards using the first classification. The penalty algorithm can include a first weight applied to the first classification that is greater than a second weight applied to the second classification. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 shows an exemplary embodiment of a multi-stage network comprising a first-stage classifier and a second-stage classifier. Fig. Figure 2 shows an example CNN. Fig. Figure 3 shows another exemplary embodiment of the multi-stage network 100. Fig. Figure 4 shows an alternative embodiment of the first-stage classifier. DETAILED DESCRIPTION
[0009] Embodiments of the present disclosure are described here. It is understood, however, that the disclosed embodiments are merely examples and that other embodiments may take different and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of specific components. Therefore, the specific structural and functional details disclosed here are not to be considered as a limitation, but merely as a representative basis to teach those skilled in the art how to use the embodiments in various ways. As is apparent to those skilled in the art, various features described and illustrated with reference to any one of the figures can be combined with features shown in one or more other figures to produce embodiments that are not explicitly shown or described.The combinations of features presented are representative embodiments for typical applications. However, for specific applications or implementations, different combinations and modifications of the features may be desirable in accordance with the teachings of this disclosure.
[0010] The use of neural networks (e.g., CNNs or DNNs) has increased for machine learning algorithms in a variety of applications, including the classification of input data to provide event detection (e.g., events of interest) or object classification (e.g., object recognition or facial recognition). However, neural networks used for classifying input data can be extremely large, producing results with tens of millions of variables. Such large neural networks typically require significant computing and data storage resources and can therefore consume large amounts of energy to operate or have a high energy demand. Furthermore, current neural networks are typically unsuitable for use in resource-constrained environments (e.g., in wearable devices such as smartwatches).
[0011] It is being considered that, for certain classification applications, time-series data provided to neural networks from a continuous sensor signal can be "windowed" or "split" into smaller segments. Each data segment can then be classified independently. The time-series data can also be very sparse (i.e., a portion of the time-series data may not contain any events of interest requiring classification). Distinguishing whether a time-series data segment contains an "event of interest" does not require the computational and data-storage resources typically needed by a more comprehensive classification stage. It may even be an unnecessary use of resources to classify a time-series data segment that does not contain an event of interest.
[0012] It is therefore considered that a multi-stage network can be used with a first-stage classifier (i.e., first neural network) that identifies whether a windowed or split data segment contains an event of interest. The data segment detected as containing an event of interest can then be sent to a second-stage classifier (i.e., second neural network) that performs a full classification on the data segment. The multi-stage network can require less power and a less complex structure.
[0013] Fig. Figure 1 shows a multi-stage network 100 with a stage 1 classifier 102 and a stage 2 classifier 104. As shown, the stage 1 classifier 102 and the stage 2 classifier 104 can each be configured to include at least one processor 106, 108, effectively connected to a respective memory unit 114, 116. Each processor 106, 108 can be one or more integrated circuits implementing the functionality of a respective CPU (central processing unit) 110, 112, which can be a commercially available processing unit implementing an instruction set, such as one of the instruction set families x86, ARM, Power, or MIPS. However, it is considered that commercially available processing units are merely an example of the implementation of the Level 1 Classifier 102 and the Level 2 Classifier 104.For example, it is considered that the CPU 110, 112 could be a specialized accelerator that includes special functions or instructions optimized for implementing a machine learning algorithm or neural network (e.g., a CNN or DNN). It is also considered that the CPU 110, 112 could be an analog processing unit or a unit that performs computational operations in memory.
[0014] During operation, each CPU 110, 112 can execute stored program instructions retrieved from the associated memory units 114, 116. The stored program instructions can include software that controls the operation of each CPU 110, 112 to perform the operations described here. In some examples, each processor 106, 108 can be a system-on-a-chip (SoC) that integrates the functionality of each CPU 110, 112; each memory unit 114, 116; an associated network interface 118, 120; and an associated input / output interface 122, 124. It is considered that the level 1 classifier 102 and the level 2 classifier 104 can implement an operating system to manage various aspects of operation.
[0015] Each memory unit 114, 116 can include volatile and non-volatile memory for storing instructions and data. The non-volatile memory can include semiconductor memory, such as NAND flash memory, magnetic and optical storage media, or any other suitable data storage device that retains data when the Stage 1 classifier 102 and the Stage 2 classifier 104 are disabled or lose power. The volatile memory can include static and dynamic random-access memory (RAM) that stores program instructions and data. For example, each memory unit 114, 116 can store a machine learning model 126, 128 or an algorithm; and / or raw source data 134, 136. The memory unit 114, 116 can also store values of data (e.g.,The storage unit 114, 116 stores coefficients, sks, weights) which can then be loaded by the CPU 110, 112 (or the accelerator) for use by the machine learning model 126, 128. The storage unit 114, 116 can also be used to store associated training data sets 130, 132, which can be used during a training process.
[0016] The Stage 1 classifier 102 and the Stage 2 classifier 104 can again also include an associated network interface device 118, 120. It is considered that the network interface device 118, 120 can be designed to provide a communication link 138 between the Stage 1 classifier 102 and the Stage 2 classifier 104. Alternatively, the network interface device 118, 120 can be designed to communicate with additional external systems and devices (e.g., sensors). The network interface device 118, 120 can be configured using I 2Network interface devices 118 and 120 can be configured to include a wired and / or wireless Ethernet interface as defined by the IEEE 802.11 (Institute of Electrical and Electronics Engineers) standard family. They can also include a cellular communication interface for communication with a mobile network (e.g., 3G, 4G, 5G).
[0017] As further shown, the Level 2 Classifier 104 can communicate with an external network 138, such as the World Wide Web or the Internet. The external network 138 can establish a standard communication protocol between data processing devices. The external network 138 can allow easy exchange of information and data between the Level 2 Classifier 110 and networks. One or more servers 140 can communicate with the external network 138.
[0018] It is also considered that the Level 2 Classifier 104 can be implemented on a server-based or "cloud" storage system (e.g., Amazon Web Services). The Level 1 Classifier 102 can still communicate with the Level 2 Classifier 104 using the communication link 138. For example, the Level 1 Classifier 102 can be implemented on a security camera that can be operated using the network interface device 118 to communicate with a cloud-based storage system using known internet protocols. The Level 1 Classifier 102 can detect events of interest and send them (e.g., using the communication link 138) to the Level 2 Classifier 104 (which operates on a cloud-based storage system) for further classification.
[0019] The Level 1 classifier 102 and the Level 2 classifier 104 can implement the associated machine learning algorithms 126 and 128, which are designed to analyze the provided or stored unprocessed source data 134 and 136, which may include unprocessed or raw sensor data. The unprocessed source data 134 and 136 may include video, video segments, images, and unprocessed or partially processed sensor data (e.g., data from a digital camera or a LiDAR sensor). In some examples, the machine learning algorithms 126 and 128 may be a machine learning network algorithm (e.g., a CNN or DNN) designed to perform a predetermined function.
[0020] Fig. Figure 2 shows an example CNN 200 that can be used by the Level 1 Classifier 102 and the Level 2 Classifier 104 to classify whether a data segment contains an event of interest or to provide a full classification of a data segment. However, CNN 200 can only be one example of the implementation of the Level 1 Classifier 102 and the Level 2 Classifier 104. For example, it is also considered that the Level 1 Classifier 102 and the Level 2 Classifier 104 could be implemented using a decision tree, with a feature extractor providing the data 134, 136. As shown, CNN 200 can have one or more convolutional layers 220-240; one or more pooling layers 250-270; one or more fully connected layers 260; and include a Softmax layer 270.The Level 1 Classifier 102 and the Level 2 Classifier 104 may also include additional CNNs, DNNs or decision trees, depending on the given application.
[0021] The CNN 200 can process data 210 (e.g., the data in Fig. The data 210 shown in Figure 1 (134, 136) is received, which may include image data, speech data, text data, or measurements received from sensors or transducers. The data 210 can also be easily processed before being fed to the CNN 200. The convolutional layers 220-240 can be designed to extract features from the data 210. For example, the convolutional layer 220-240 can use filtering operations (e.g., kernels) before the result is passed to the next layer of the CNN 200. The filtering operations can include image identification, edge detection of an image, and image sharpening, which are applied when the received data 210 is an image.
[0022] The CNN 200 can also include one or more pooling layers 250-270, which receive the convolutional data from the respective convolution layer 220-240. The pooling layers 250-270 can include one or more pooling layer units that apply a pooling function to one or more convolution layer outputs computed in different bands using a pooling function. For example, pooling layer 250 can apply a pooling function to the core output received from convolution layer 220. The pooling function implemented by pooling layers 250-270 can be an averaging or maximizing function, or any other function that aggregates multiple values into a single value.
[0023] Next, one or more fully connected layers 280 can attempt to learn nonlinear combinations for the high-level features in the output data received by the convolutional layers 220-240 and pooling layers 250-270. Finally, the CNN 200 can include a softmax layer 290 that combines the outputs of the fully connected layer 280 using softmax functions. It is also considered that the CNN 200 may further employ a batch normal layer, a max pooling layer, and a dropout layer.
[0024] Fig. Figure 3 shows another exemplary embodiment of the multi-stage network 100, which can be used to detect and classify events of interest provided by a sensor signal or input data (e.g., data 134, 136). As shown, the first-stage classifier 102 uses the machine learning model 126 to detect an event of interest or activity recognition from one or more of the windowed data segments. The first-stage classifier 102 can be operated to generate a binary classification when a relevant activity (i.e., an event of interest) is identified. The first-stage classifier 102 can use an architecture similar to the CNN 200. Alternatively, the first-stage classifier 102 can use additional or fewer layers (e.g., convolutional layers, fully connected layers) than those shown by the CNN 200.However, as discussed below, it is also considered that the Classifier 102 of level 1 may be operable to perform full or complete classifications on data segments that are determined to be above a predefined confidence threshold.
[0025] The Level 1 Classifier 102 can also be integrated into one or more sensors or embedded in wearable or edge devices. For example, in a vehicle 311, the Level 1 Classifier 102 can be embedded in a radar sensor 302, a video camera 304, a GPS system 306, a laser sensor 308 (e.g., LiDAR), or an ultrasonic sensor 310. Alternatively, the Level 1 Classifier 102 can be positioned next to each of the sensors 302-310. In other words, the Level 1 Classifier 102 can be contained within each of the sensors 302-310 and be unique to that sensor. As an alternative, it is considered that the Level 1 Classifier 102 could receive data and be operational for more than one of the sensors 302-310. For example, the level 1 classifier 102 can be in communication with more than one of the sensors 302-310 and receive data captured from them.The classifier 102 of level 1 can again be used with I. 2 The sensors 302-310 communicate using C, SPI or a similar communication protocol.
[0026] Similarly, the Level 1 Classifier 102 can be embedded in one or more wearable devices 312-318 (e.g., smartwatch, headphones, or heart rate monitor). The wearable devices 312-318 can include numerous sensors (e.g., heart rate monitor, pedometer, accelerometer, or gyroscope). Again, the Level 1 Classifier 102 can be located in or next to each sensor in the wearable devices 312-318. Or the Level 1 Classifier 102 can receive data from and be operational for more than one of the sensors located in the wearable devices 312-318.
[0027] In normal operation, the sensors can output a continuous signal of acquired data. The Stage 1 Classifier 102 can be effective in segmenting this continuous acquired data signal into "windowed" data segments, which are either completely independent of other windowed data segments or which can overlap or be combined with other windowed data segments.
[0028] It is also considered that the Level 1 Classifier 102 can be optimized to use a machine learning network that is less complex and less energy-intensive than a more robust classification network. For example, the Level 1 Classifier 102 can include fewer layers (i.e., fewer convolutional layers 322-324 or fully connected layers 326) than the machine learning network used by the Level 2 Classifier 104. Again, the Level 1 Classifier can also be optimized to use a decision tree or other known classifiers designed for a given application. The Level 1 Classifier 102 can then act to detect an event of interest in any of the windowed data segments or to perform a classification with minimal effort on the captured data or windowed data segments.If the Level 1 Classifier 102 detects an event of interest (or if the confidence of the classification performed by the Level 1 Classifier 102 is below a given threshold), the identified windowed data segment can be fed to a Level 2 Classifier 104, which includes a machine learning algorithm 128 designed to perform a full or more complex classification.
[0029] It is considered that, in order to handle full classification requiring a high degree of accuracy, the Level 2 Classifier 104 may employ a more complex machine learning network than that used by the Level 1 Classifier 102. For example, the Level 2 Classifier 104 may use additional layers (e.g., convolutional layers, fully connected layers) to provide full classification of the data segment sent by the Level 1 Classifier 102. Furthermore, the Level 2 Classifier 104 may incorporate a more complex design structure, such as a skip architecture 328 (e.g., REsNet architecture), where the output generated by one or more layers (e.g., one of the convolutional layers 330-334) can be fed as input to another layer (e.g., one of the fully connected layers 338-342). Additionally, by using a less complex network (i.e.,The amount of data sent to the classifier 104 of level 2 is reduced by the classifier 102 of level 1 for handling event detection.
[0030] While the Level 2 Classifier 104 can typically only operate on data segments received by the Level 1 Classifier 102, it is considered that the Level 2 Classifier 104 can directly receive a continuous sensor signal (i.e., data). In other words, the Level 2 Classifier 104 can operate independently of, or without, the Level 1 Classifier 102. The Level 2 Classifier 104 can act to window the data into segments; identify events of interest for each data segment; and provide full classification on the data segments comprehensively identified as containing an event of interest. It is considered that the Level 2 Classifier 104 can be designed to handle the identification of events of interest and full classification if a sensor or wearable device does not include a Level 1 Classifier 102.Or such an operation may be necessary if the level 1 classifier 102 becomes inoperative.
[0031] It is also considered that, during operation to perform event detection, the Level 1 Classifier 102 should be designed to capture and label all events of interest within a windowed data segment. For example, the Level 1 Classifier 102 might label the windowed data segment where an event of interest occurs as class "1" and the windowed data segment where no event of interest occurs as class "0". During operation, it may be acceptable for the Level 1 Classifier 102 to relabel a data segment from class "0" to class "1". However, it is considered that the Level 1 Classifier 102 should not incorrectly label data segments that should be (or already are) labeled as class "1" as class "0".
[0032] It is understood that data segments mistakenly identified as class "1" by the level 1 classifier 102 are still sent to the level 2 classifier 104. The level 2 classifier 104 can then be operated to identify the data segment as class "0" and correctly label it (i.e., no event of interest requires full classification). However, if a data segment is mistakenly identified as class "0" by the level 1 classifier 102, the data segment will not be correctly relabeled as class "1" because no data is sent to the level 2 classifier 104. Therefore, it is considered that the level 1 classifier 102 should be pre-loaded to penalize false negatives (i.e., misclassifications of data segments that should be class "1" as class "0").
[0033] It is therefore considered that the classifier 102 of level 1 (during a training process) can be penalized for applying a misclassification by assigning "1" class "1" labels higher than class "0" labels using the following equation: −1n∑iNw1yi∗ln(yl^)+w0(1−yi)∗ln(1−yl^)
[0034] With −1N∑iNw1yi∗ln(yl^)≠0, if y j = 1, ŷ l = 0: FALSE NEGATIVE
[0035] With w0(1 - y i ) * ln(1 - ŷ l ) ≠ 0 if y i = 0, ŷ l = 1: FALSE POSITIVE
[0036] It is being considered that y i the actual label assigned to the i-th segment and ŷ lThe output label predicted by the neural network can be [missing information]. The terms w1 and w0 can be the weights assigned to false negatives and false positives, respectively, which are used during the training process. It is considered that the terms w1 and w0 can be adjusted during the training process to penalize false negatives. For example, the level 1 classifier 102 can be trained to ensure w1 > w0. It is also considered that the values used by Equation 1 can be selected to achieve an acceptably low false negative rate (e.g., < 3%) while attempting to achieve false positive rates below a required threshold. If equal numbers of training samples (e.g., training data 130) are available for both class "0" and class "1", the level 1 classifier 102 can exhibit a low false negative rate when w1 = 1 and w0 = 0.1.However, different values can be assigned to w1 and w2 depending on the application or process.
[0037] It is also considered that a full classification process can be used by the Level 1 Classifier 102. The Level 1 Classifier 102 can perform a full classification process by handling less complex classification samples that may not require a large amount of computing power. For example, the machine learning model 126 used by the Level 1 Classifier 102 can be reused by using some of the existing layers (e.g., convolution layers) and introducing one or more additional output layers to perform a full classification. Alternatively, the existing layers can be used with additional fully connected layers to perform a full classification.
[0038] It is considered that the output of the layer up to which the network is common to the Level 1 Classifier 102 can be used as input for the additional layers, which can then be used to perform a full classification. Reusing the pre-computed output may not significantly increase the complexity of the Level 1 Classifier 102 for performing the full classification. For multi-class classification, the output of the last layer of the Level 1 Classifier 102 can provide the network's probabilities / confidence in each class. It is considered that the output for the i-th input segment could be used as y2l^ can be given.
[0039] It is also considered that the Level 1 Classifier 102 could be configured to handle full or complex classification by determining whether the windowed data segments are above or within a predefined confidence threshold (e.g., a confidence level of approximately greater than or equal to 90% or between 80% and 90%). For windowed data segments where the Level 1 Classifier 102 is capable of performing high-confidence classification (e.g., a confidence level greater than 90%), further classification by the Level 2 Classifier 104 may not be necessary. However, if the windowed data segments are below the predefined confidence threshold (e.g., data samples less than a confidence level of 90%), the level 1 classifier 102 can send the data segments to the level 2 classifier 104 for full or more complex classification.
[0040] Fig.Figure 4 shows an example of the Level 1 Classifier 102, which is operable to handle both an event-based binary classification (which is sent to the Level 2 Classifier 104) and a lower-level, more complex classification of data segments based on a confidence threshold. As shown, the Level 1 Classifier 102 can receive input data (e.g., data 134). The Level 1 Classifier 102 can then include a first convolution filter 402 and a second convolution filter, which extract features that can be classified by one or more fully connected layers. For example, the fully connected layers 410 and 412 can be used to produce an output 408, which may include a less complex or more general categorical classification of a data segment.Alternatively, the fully connected layers 410 and 414 can be operated to produce an output 406, which may include a more complex, full, or fine categorical classification of the data segment.
[0041] For example, the Level 1 Classifier 102 can perform a categorical classification of the data segment to a specified group (e.g., Animal, Transport, or Food), and the categorized data segment can then be sent to the Level 2 Classifier 104 for full classification of the assigned group. The Level 1 Classifier 102 can determine that the windowed data segment belongs to a classification group of "Animal," and the Level 2 Classifier 104 can then provide a full classification that the windowed data segment is an image of a "Dog." By acting to provide a general categorical group classification, the Level 1 Classifier 102 can increase the confidence of the full classification.
[0042] It is also considered that the Level 1 Classifier 102 can generally be designed to have a very low density. Accordingly, the Level 1 Classifier 102 does not need to produce high accuracy when full classifications are performed across all data segments. Instead, the Level 1 Classifier 102 can be highly accurate only when performing full classifications on a smaller number of data segments, provided the associated probability / confidence can be high. For example, if the confidence level is high, the Level 1 Classifier 102 can produce an output classification 406 (i.e., full classification). If the confidence level is low, the Level 1 Classifier 102 can output a low-effort classification label to the Level 2 Classifier 104 for full classification.
[0043] The level 1 classifier 102 can determine, using the following logic equations 2 and 3, whether a lower or more complex classification should be carried out: Output class: i* = argmaxi y2l^ if y2l^>threshold otherwise, i* = output level 2
[0044] As illustrated, if the Level 1 Classifier 102 provides a classification with a high confidence threshold (e.g., greater than 90%), the classification from the Level 1 Classifier 102 is used. However, if the Level 1 Classifier 102 provides a classification with a low confidence threshold (e.g., less than 90%), a Low Effort Classification label is assigned, and the data segment is sent to the Level 2 Classifier for a full or more complex classification.
[0045] Alternatively, it is also considered that the Level 1 Classifier 102 can determine whether the data segment containing an event of interest has a probability confidence above the predefined threshold (e.g., 90%). If so, the Level 1 Classifier 102 can generate an output classification 406. If not, the output data segment 408 can be sent to the Level 2 Classifier 104. Again, with the addition of an extra layer for full classification, additional layers can be added to the Level 1 Classifier 102 to perform general / fine categorical classification.
[0046] It is considered that, since most of the Classifier 102 of Level 1 may be common to event detection or full classification (or some general categorical classification), it may be useful to train the common layers of the machine learning model 126 on the full classification task (rather than the binary classification task). It is considered that full classification may be more complex, and training on the more complex problem improves the discrimination performance of the network. The initial layers of the Classifier 102 of Level 1 network (which are generally considered to be performing feature extraction) thus extract features that are more relevant to the full classification task. Since event detection or binary classification is a subset of the full classification problem, the extracted features may also be operable for detection.
[0047] The processes, methods, or algorithms disclosed herein may be supplied to or implemented by a processing device, controller, or computer, which may contain an existing programmable electronic control unit or a dedicated electronic control unit. Similarly, the processes, methods, or algorithms may be stored as data and instructions executable by a controller or computer in many forms, including, but not limited to, information permanently stored on non-writable storage media such as ROM devices and information modifiably stored on writable storage media such as floppy disks, magnetic tapes, CDs, RAM devices, and other magnetic and optical media. The processes, methods, or algorithms may also be implemented in a software executable object.Alternatively, the processes, procedures or algorithms can be implemented as a whole or in part using suitable hardware components such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), state machines, controllers or other hardware components or devices, or a combination of hardware, software and firmware components.
[0048] Although exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms encompassed by the claims. The language used in the specification is descriptive, not limitative, and it is understood that various modifications may be made without departing from the spirit and scope of the disclosure. As described above, the features of different embodiments may be combined to form further embodiments of the invention that may not be expressly described or illustrated.Although various embodiments may have been described as offering advantages or being preferable to other embodiments or implementations from the prior art with respect to one or more desirable properties, those skilled in the art recognize that one or more features or properties may represent a trade-off in order to achieve desired attributes of the overall system, which depend on the specific application and implementation. These attributes may include, but are not limited to, cost, strength, durability, life-cycle costs, marketability, external form, packaging, size, maintainability, weight, manufacturability, ease of assembly, etc.Thus, to the extent that any embodiments are described as less desirable than other embodiments or implementations from the prior art with respect to one or more properties, these embodiments are not outside the scope of protection of the disclosure and may be desirable for specific applications.
Citation Information
Patent Citations
Device and method for training a neural network
DE102019209560A1
Energy-optimized device for data classification
DE102020202391A1
Visual analysis system for classifiers based on a convolutional neural network
DE112018000349T5
training method and device for adjusting a neuron
DE69333215T2