Computer-implemented method for classifying data elements of data set using machine-learning model

The method addresses covariate shifts in machine learning models by tracking feature density evolution, adjusting weights to improve classification accuracy and safety in automated systems.

JP2025169214APending Publication Date: 2025-11-12ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025074178
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-30
Filing Date
2025-04-28
Publication Date
2025-11-12

AI Technical Summary

Technical Problem

Machine learning models experience classification errors due to covariate shifts in feature distributions, particularly in applications involving temporal data streams, leading to misclassification and potential safety hazards in automated systems.

Method used

A computer-implemented method that utilizes a feature dynamics model to track the evolution of feature density over time, adjusting classifier weights to compensate for distribution shifts, thereby improving classification performance.

Benefits of technology

The method significantly reduces classification errors by adapting to gradual and sudden distribution shifts, enhancing the safety and accuracy of automated systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025169214000001_ABST
    Figure 2025169214000001_ABST
Patent Text Reader

Abstract

To provide a computer-implemented method for classifying data elements of a data set by using a machine-learning model, a data processing apparatus, and a computer readable medium.SOLUTION: A method 200 includes classifying data elements of a data set associated with a (continuous or discontinuous) time sequence. Each data element is associated with one corresponding time step of the time sequence. Classifying respective data elements of the data elements (202) includes: identifying features of the respective data elements by using a feature extractor (202A); determining, by using the features of the respective data elements and the features of one or more other data elements temporally preceding the respective data elements, parameters of a feature-dynamics-model which represents the transition of a feature density of the features over time (202B); and determining a class associated with the respective data element using the feature-dynamics-model (202C).SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Prior art In many computer-controlled applications, machine learning models can be used to perform classification tasks. Before use, the machine learning model can be trained using (e.g., labeled) training data. To obtain the performance of a pre-trained machine learning model, the machine learning model can be tested using (unlabeled) test data that is different from the training data. The (e.g., sensor) data (also referred to as usage data) used to test the machine learning model and / or input to the machine learning model during use after testing may differ from the training data. For example, there may be a covariate shift between the training data and the test and / or (real-world) usage data due to differences in the distribution of their respective features. This covariate shift may lead to misclassification, which may in turn lead to a deterioration in the classification performance of the machine learning model. Summary of the Invention [Problem to be solved by the invention]

[0002] Disclosure of the Invention According to various embodiments, a computer-implemented method is provided for classifying data elements of a dataset using a (pre-trained) machine learning model that allows for compensating for classification errors resulting from distribution shifts of features. [Means for solving the problem]

[0003] The machine learning model may include a feature extractor configured to identify (e.g., extract) features (e.g., represented by a feature vector) of the data elements, and a (e.g., linear) classifier (e.g., a neural network classifier) ​​configured to classify the data elements using the features. A computer-implemented method may include classifying data elements of a dataset associated with a (continuous or non-continuous) time sequence, each data element being associated with a corresponding time step of the time sequence, by inputting (e.g., inferring) the data elements into a (pre-trained) machine learning model so that the data elements are sequentially classified according to their temporal order, wherein classifying each of the data elements includes identifying features of each data element using the feature extractor, determining parameters of a feature dynamics model that describes the evolution of feature density of the feature over time using the features of each data element and features of one or more other data elements that precede each data element in time, and determining a class associated with each data element using the feature dynamics model.

[0004] It has been found that in many applications, distribution shifts (of covariates) occur continuously. For example, when data are acquired over time, features extracted from these data may shift over time. As an example, the data may include a temporal stream of images showing driving scenes around a (e.g., at least partially automated) vehicle, in which case there may be distribution shifts due to changes in weather conditions. As another example, data may result from sensor measurements performed over time in response to environmental changes, e.g., in climate science, medical applications, domestic devices, etc. In the case of temporally acquired sensor data, there may generally be distribution shifts due to sensor degradation.

[0005] The above method takes advantage of the gradual nature of distribution shifts by modeling the evolution of feature density of features over time. This allows us to track the dynamics of the distribution shifts and adapt the machine learning model to the distribution shifts. This allows us to significantly reduce the classification error resulting from the distribution shifts, thereby improving the classification performance of the machine learning model.

[0006] Various examples are described below.

[0007] Example 1 is a method for classifying data elements of a data set, as described above.

[0008] In Example 2, the subject matter of Example 1 may optionally include, wherein using the feature dynamics model to determine a class associated with each data element includes using the feature dynamics model to adjust (current) weights (e.g., weights of an immediately preceding time step) of a classifier, and using the classifier with the adjusted weights to determine a class associated with each data element.

[0009] In Example 3, the subject matter of Example 2 may optionally include, wherein using the feature dynamics model to adjust the weights includes adjusting weights of a classifier associated with an immediately preceding time step as a function of a feature distribution shift (in feature space) between features of a data element associated with the immediately preceding time step and features of the respective data element.

[0010] Examples 2 and 3 allow for adjusting the weights of the classifier according to the distribution shift to compensate for the distribution shift. The gradual nature of the distribution shift can result in gradual adjustment of the weights due to changes in feature density over time.

[0011] In Example 4, the subject matter of Examples 2 or 3 may optionally include that determining a class associated with each data element using the feature dynamics model includes, for each class among the plurality of classes associated with the classification, using the feature dynamics model to determine (inferred) posterior class probabilities representing the probability that the class is associated with the respective data element, determining an entropy value representing the entropy of the (determined) posterior class probabilities, and adjusting the classifier weights only if the entropy value is less than or equal to a predetermined entropy threshold.

[0012] In some cases, a sudden distribution shift may occur rather than a gradual one due to, for example, a sensor malfunction, measurement error, etc. As another example, a machine learning model for speech recognition may be trained on a native speaker and then applied to a non-native speaker, resulting in a sudden (covariate) distribution shift. Example 4 defines an entropy threshold to allow skipping adjustment of classification weights in the case of such a sudden distribution shift. However, it should be noted that the method disclosed herein is capable of reducing misclassification even in the case of a sudden distribution shift.

[0013] In Example 5, the subject matter of Example 1 may optionally include that determining a class associated with each data element using the feature dynamics model includes: for each class among a plurality of classes associated with the classification, using the feature dynamics model to determine an (inferred) posterior class probability representing the probability that the class is associated with the respective data element; and determining the class among the plurality of classes for which the highest posterior class probability has been determined as the class associated with the respective data element. This allows the class to be obtained directly from the feature dynamics model without using a classifier, thereby reducing computational costs.

[0014] In Example 6, the subject matter of any one of Examples 1 to 5 may optionally include, in Example 6, determining parameters of the feature dynamics model includes modeling a progress of a feature density of the feature over time with a Gaussian mixture model having a respective Gaussian function for each class among a plurality of classes associated with the classification, wherein a progress of a respective mean of each Gaussian function is modeled as a linear Gaussian system, and parameters of the linear Gaussian system are tracked with a corresponding Kalman filter. Using the Kalman filter makes it possible to track the parameters of the feature dynamics model, and thus to track the progress of the feature density.

[0015] In Example 7, the subject matter of Example 6 may optionally include that the parameters of the feature dynamics model are determined using an expectation-maximization algorithm, and the expectation step of the expectation-maximization algorithm includes a Kalman forward-backward recursion.

[0016] In Example 8, the subject matter of Example 6 or 7 combined with Example 3 may optionally include that the weights are adjusted by determining an (inferred) posterior distribution for the mean of the Gaussian function associated with the corresponding time step of each data element, and adjusting the weights associated with the immediately preceding time step as a function of the posterior distribution (e.g., using the mean as the weight, or using the posterior distribution of the mean as the weight).

[0017] In Example 9, the subject matter of Example 8 may optionally include, wherein the features of each data element are represented by a feature vector, and adjusting the weights associated with the immediately preceding time step as a function of the posterior distribution further includes normalizing the weights by dividing the weights by the (vector) length of the feature vector, which may improve classification accuracy.

[0018] In Example 10, the subject matter of any one of Examples 1 to 9 may optionally include that the (pre-trained) machine learning model was trained using a training data set associated with a previous time sequence or using a training data set associated with a time point that temporally precedes the time sequence associated with the data set.

[0019] In Example 11, the subject matter of any one of Examples 1 to 10 may optionally include that the one or more other data elements that temporally precede each data element include all data elements that temporally precede each data element, or a predetermined number of data elements that immediately precede each data element in time. Using a predetermined number of data elements rather than all data elements can reduce computational costs.

[0020] In Example 12, the subject matter of any one of Examples 1 to 11 may optionally include that the corresponding time step to which each data element is associated with the data element immediately succeeding it in time is later in time than the time at which the respective data element was classified.

[0021] A thirteenth embodiment is a data processing device configured to perform the method according to any one of the first to twelfth embodiments.

[0022] Example 14 is a computer program comprising instructions for causing a computer to carry out the method according to any one of Examples 1 to 12 when executed by a computer.

[0023] Example 15 is a computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform the method of any one of Examples 1 to 12.

[0024] Example 16 is a method for controlling a robotic device (e.g., a vehicle or any other robotic device), the method including acquiring sensor data (e.g., images showing one or more objects) representing one or more objects over time, feeding the sensor data (as data elements) associated with each time point to a machine learning model for classification according to the method of any one of Examples 1 to 12, and controlling the robotic device taking into account the results of the classification.

[0025] In the drawings, like reference numerals generally refer to the same parts throughout several distinct views. The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention. In the following description, various aspects are described with reference to the following drawings: [Brief explanation of the drawings]

[0026] [Figure 1] FIG. 1 illustrates an at least partially automated vehicle in accordance with various aspects. [Figure 2] 1 is a flowchart of a computer-implemented method using a machine learning model in accordance with various aspects. [Figure 3] 1 is an exemplary flowchart illustrating a computer-implemented method according to various aspects. [Figure 4] 1 is an exemplary flowchart illustrating a computer-implemented method according to various aspects. DETAILED DESCRIPTION OF THE INVENTION

[0027] The following detailed description refers to the accompanying drawings, which show, by way of illustration, specific details and aspects of the present disclosure in which the invention may be practiced. Other aspects may be utilized, and structural, logical, or electrical changes may be made without departing from the scope of the present disclosure. Various aspects of the present disclosure are not necessarily mutually exclusive, as some aspects of the present disclosure may be combined with one or more other aspects of the present disclosure to form new aspects.

[0028] Various embodiments are described in further detail below.

[0029] FIG. 1 illustrates an at least partially automated vehicle 100 according to various embodiments. The at least partially automated vehicle 100 illustrated in FIG. 1 and described below as an example is an exemplary computer-controlled device used for illustrative purposes. Accordingly, while various aspects of computer-implemented methods are described in detail with reference to the vehicle 100, it should be understood that the vehicle 100 is used for illustrative purposes and that any other computer-controlled device may employ the computer-implemented methods described herein. The other computer-controlled device may be, for example, a robotic device (or robot for short), such as an industrial robot (e.g., in the form of a robotic arm for moving a workpiece, assembling or machining, bin picking, etc.), a manufacturing robot, a maintenance robot, a domestic robot, a medical robot, a household appliance, a manufacturing machine, a personal assistant, an access control system, an information transmission system (such as a surveillance system or a medical (imaging) system), or any other type of computer-controlled device.

[0030] To control the vehicle 100, the vehicle 100 may include a (vehicle) controller 102 configured to implement the vehicle's 100 interaction with its environment according to a control program. The term "controller" may be understood as any type of entity that implements logic, and may include, for example, a circuit and / or a processor capable of executing software, firmware, or a combination thereof stored on a storage medium, e.g., capable of issuing commands to actuators in this embodiment. For example, the controller may be configured by program code (e.g., software) to control the operation of a system, in this embodiment, the operation of the vehicle.

[0031] In this example, the controller 102 may include one or more processors 104 and a memory 106 that stores code and data, where the processor 104 controls the vehicle 100 based on the code and data. According to various embodiments, the controller 102 controls the vehicle 100 based on a machine learning model 108 stored in the memory 106. According to various aspects, the machine learning model 108 can be generated (e.g., learned or trained) while the vehicle 100 is not in operation. The generated machine learning model 108 can be used to determine driving tasks to be performed by the vehicle 100 while the vehicle 100 is in operation.

[0032] To be able to control the driving task of the vehicle 100, the control device 102 can use sensor data representative of the surroundings (e.g., environment) of the vehicle 100. To this end, the vehicle 100 can include one or more sensors 110, each providing respective sensor data representative of at least a portion of the surroundings of the vehicle 100. One of the one or more sensors 110 can be, for example, an imaging sensor and / or a proximity sensor, such as a camera (e.g., a standard camera, a digital camera, an infrared camera, a stereo camera, etc.), a radar sensor, a LIDAR sensor, an ultrasonic sensor, etc. One of the one or more sensors 110 can be configured to acquire an image showing at least a portion of the surroundings of the vehicle 100. The image can be an RGB image, an RGB-D image, or a depth image (also referred to as a D-image). A depth image as described herein can be any type of image that includes (three-dimensional) depth information. Exemplarily, the depth image can include information about one or more objects in the surroundings of the vehicle 100. For example, the depth image described herein may include a point cloud provided by a LIDAR sensor and / or a radar sensor. For example, the depth image may be an image with depth information provided by a LIDAR sensor. It should be understood that the vehicle 100 may further include other sensors, such as a Global Navigation Satellite System (GNSS, e.g., Global Positioning System GPS), a speedometer, an altimeter, a gyroscope, a speed sensor, etc., and the controller 102 may employ sensor data provided by these other sensors to control the vehicle 100. The controller 102 may be configured to control the vehicle 100 based on the output of the machine learning model 108 in response to input of the sensor data to the machine learning model 108.

[0033] The vehicle 100 may include a driving device 112 for driving the vehicle 100. The control device 102 may be configured to use the output of the machine learning model 108 to determine control parameters for controlling the vehicle 100. The control device 102 may be configured to control the operation of the vehicle 100 in accordance with the control parameters (e.g., by controlling the driving device 112 via a control signal).

[0034] The at least partially automated vehicle 100 may be an automated vehicle or an autonomous vehicle. The level of autonomy of the vehicle may be described or defined by the Society of Automotive Engineers (SAE) level of the vehicle (e.g., as defined in SAE J3016). For example, the at least partially automated vehicle 100 may be a partially automated vehicle (per SAE Level 2), a highly automated vehicle (per SAE Level 3), a fully automated vehicle (per SAE Level 4), or an autonomous vehicle (per SAE Level 5).

[0035] At least partially automated vehicles are generally capable of autonomously assuming the driving task. To ensure the safety of occupants and other road users (e.g., cyclists, pedestrians, etc.), the system that autonomously performs the driving task needs to be highly safety-critical.

[0036] Vehicle 100 may employ machine learning model 108 for classification tasks (e.g., for image segmentation as part of object recognition in the at least partially automated vehicle 100's surroundings). As described in detail herein, distribution shifts within sensor data due to sensor degradation, changing weather conditions, etc., may result in misclassification and, ultimately, inaccurate classification results. Such inaccurate classification results may lead, for example, to misjudgment of the driving situation and, ultimately, to safety hazards. The computer-implemented method disclosed herein may compensate for this classification error resulting from the shift in feature distribution, thereby improving the classification performance of the machine learning model. In this embodiment of vehicle 100, improving the classification performance of machine learning model 108 may improve the safety of the overall system.

[0037] It should be noted that vehicle 100 is used as an exemplary computer-controlled device to illustrate various aspects of the disclosed method, and that the method can be used with any type of computer-controlled device.

[0038] FIG. 2 illustrates a flowchart of a (computer-implemented) method 200 for training a machine learning model according to various embodiments.

[0039] The method 200 may include (at 202) classifying data elements of a dataset associated with time sequences (continuous or non-continuous), each data element being associated with a corresponding time step of one of the time sequences.

[0040] The data elements may be input (e.g., inferred) into a (pre-trained) machine learning model to sequentially classify the data elements according to their temporal order. It should be understood that each data element associated with its corresponding time step may be classified before, at, or after the data element immediately succeeding it in time is obtained.

[0041] Classifying each one of the data elements (at 202) may include identifying (at 202A) a feature for each data element using a feature extractor. Classifying each one of the data elements (at 202) may include determining (at 202B) parameters of a feature dynamics model that describes the evolution of feature density of the feature over time using the feature for each data element and features of one or more other data elements that temporally precede the each data element. Classifying each one of the data elements (at 202) may include determining (at 202C) a class associated with each data element using the feature dynamics model.

[0042] Note that this is different from (continuous) online learning, which requires each label for each data element to adjust (train) the model after inference.

[0043] FIG. 3 shows an exemplary flowchart 300 illustrating various aspects of the computer-implemented method 200 .

[0044] The machine learning model (e.g., machine learning model 108) may be any type of machine learning model having a feature extractor 306. The feature extractor 306 may be configured to identify (e.g., extract) features (e.g., represented by feature vectors) of the data elements 304. The machine learning model may include a (e.g., linear) classifier 402 (e.g., a neural network classifier) ​​configured to classify the data elements using the extracted features. The classifier 402 may also be referred to as a (e.g., task-specific) classification head. As an example, the machine learning model may be a foundation model.

[0045] Generally, the method 200 may include sorting each data element 304(t) in the data set 302. The data set 302 may be associated with a time sequence (continuous or non-continuous) from time step t=1 to time step T. Each data element 304(t) may be associated with a corresponding time step (t*) in the time sequence (t=1 to T). The data elements 304(t) may be sorted sequentially according to their respective time orders. Thus, a data element 304(t=t*) may be sorted after its immediately preceding data element 304 (t=t*−1) and before its immediately succeeding data element 304 (t=t*+1). As used herein, the notation * may define a particular integer number of time steps t (e.g., t=1, t=2, etc.). As described in more detail herein, it should be understood that each data element 304 (t=t*) associated with its corresponding time step t* may be classified before, at, or after the data element 304 (t=t*+1) immediately succeeding it in time is acquired. Thus, the temporal analysis (e.g., classification) is decoupled from the temporal recording of the data element 304. Classifying may include determining one class k of multiple classes k=1 to K, where K is any integer equal to or greater than 1.

[0046] Various aspects of classifying each data element 304 (t=t*) are described below.

[0047] Each data element 304(t) at time t is

number

number

[0048] The feature dynamics model 310 can represent the evolution of the feature density of the feature 308 over time t. The feature dynamics model 310 can represent the evolution of the feature density of the feature 308 (t=t*) at time t=t* as a function of the random variable φ t From N t The feature dynamics model 310 calculates the evolution of the feature density of the feature 308 over time t for each class k of multiple classes k=1 to K associated with the classification. It can be modeled by a Gaussian mixture model with each Gaussian function, so that (e.g., feature vector

number

number

number

number

[0049] The feature dynamics model 310 may be capable of tracking the evolution of the feature density of the feature 308 over time t by taking into account the shifts of the covariates. To this end, the evolution of the respective means of the respective Gaussian functions can be modeled as a linear Gaussian system, and the parameters of the linear Gaussian system are tracked by the corresponding Kalman filter. Exemplarily, the evolution of the feature density of the feature 308 over time t can be expressed as Equation (2):

number

[0050] In some embodiments, the transition matrix A k , transition covariance Σ trans , and / or the observation covariance Σ obsmay be class-independent and / or time-invariant. In other aspects, at least one of these parameters may be class-dependent and / or time-varying.

[0051] The feature dynamics model 310 calculates the latent class assignments at time t.

number

number

[0052] Illustratively, the feature dynamics model 310 may determine parameters θ 312 using the feature 308(t) at time t.

number

[0053] The parameter θ 312 can be determined using the following algorithm (1): [Table 1]

[0054] The likelihood of the complete data is

number

[0055] The log-likelihood for the complete data is

number

number

[0056] The expectation-maximization (EM) algorithm

number

[0057] Posterior class probabilities

number

number

[0058] Posterior class probabilities

number

[0059] The forward recursion of the Kalman forward and backward recursion is

number

number

number

number

number

number

number

number

number

number

number

number

[0060] The backward recursion of the Kalman forward-backward recursion is a smoothed posterior distribution.

number

number

number

[0061] In the maximization step,

number

number

number

[0062] mixture weight π t,k , and equation (4):

number

[0063] In the maximization step,

number

number

[0064] This gives the transition matrix A k to Equation (5):

number

[0065] In the maximization step,

number

number

[0066] This gives the transition covariance Σ trans to Equation (6):

number

[0067] In the maximization step,

number

number

[0068] This gives the observation covariance Σ obs to Equation (7):

number

[0069] Exemplarily, the parameters θ312 of the feature dynamics model 310 can be determined using the features 308(t=t*) of each data element 304(t=t*) and the features 308(t=t<t*) of one or more other data elements 304(t=t<t*) that temporally precede each data element. In some embodiments, the one or more data elements include all data elements (from t = 1 to t = t* - 1) that temporally precede each data element 304(t=t*). In other embodiments, the one or more data elements include a predetermined number of data elements that immediately precede each data element temporally. FIG. 3 shows the immediately preceding data element 304(t=t* - 1) as an example of one or more data elements.

[0070] parameter θ312

Number

Number

Number

Number

Number

Number

Number

[0072] In some aspects, the method 200 may include determining the class 314(t=t*) associated with each data element 304(t=t*) directly (i.e., without using the classifier 402) by the feature dynamics model 310. In this case, the highest posterior class probability p(c n,t =k│φ n,t , θ) is determined as the class 314(t=t*) associated with each data element 304(t=t*). n,t =k│φ n,t , θ) may represent the probability that each class k is associated with each data element 304 (t=t*). This approach may be referred to as soft classification.

[0073] In other aspects, for example, as shown in FIG. 4, a feature dynamics model 310 can be employed to adjust the weights of a classifier 402. In this case, the classifier 402 with adjusted weights 404(t=t*) can determine the class 314(t=t*) associated with each data element 304(t=t*). At a corresponding time step t*, the features 308(t=t*) as output by the feature extractor 306 can be used to update the feature dynamics model 310, and then the weights 404(t=t*−1) associated with the time step t*−1 immediately preceding the corresponding time step t* can be adjusted using the feature dynamics model 310. This allows the weights 404(t=t*-1) of the classifier 402 associated with the time step t*-1 immediately preceding the corresponding time step t* to be adjusted as a function of the distribution shift (of the features) between the features 308(t*-1) of the data element 304(t=t*-1) associated with the immediately preceding time step t*-1 and the features 308(t=t*) of the respective data element 304(t=t*).

[0074] According to various embodiments, the weights 404 are determined by the mean m of the Gaussian function. t,k The posterior distribution p(m t,k │Φ1, ,Φ T ) can be adjusted as a function of the posterior mean m t,k can be used as a new weight vector 404 for the classifier 402 (e.g., as the final layer of a machine learning model). The features 308(t=t*) of each data element 304(t=t*) can then be input to the classifier 402 with the adjusted weights 404(t=t*) to determine (e.g., output) the class 314(t=t*) associated with each data element 304(t=t*).

[0075] Illustratively, the (classification) weights 404(t) of the classifier 402 can be adjusted sequentially at each time step t=t* over time t using the weights from the immediately preceding time step t=t*−1 and the extracted features 308(t=t*) for the current time step t*. This allows the classification weights 404 to be adjusted in an unsupervised manner, allowing the weights to mimic transitions in feature density and, therefore, distribution shifts of potential covariates. Optionally, the weights can be normalized by dividing their respective values ​​by the length of the feature vector.

[0076] As described in detail herein, in some cases, a sudden distribution shift may occur rather than a gradual one due to, for example, a sensor malfunction, measurement error, etc. According to various aspects, in the case of such a sudden distribution shift, adjusting the classification weights 404 may be skipped. Thus, in this case, the weights 404 (t=t*) of the corresponding time step t* may be made equal to the weights 404 (t=t*−1) of the immediately preceding time step t=t*−1. For this purpose, a measure of the degree of the distribution shift, such as the highest probability, entropy, etc., may be employed.

[0077] In the entropy embodiment, the (determined) posterior class probabilities for the K classes are

number

number

number

number

number

[0078] This can prevent adjusting the weights when the uncertainty is too low, thereby avoiding potential degradation of the performance of the feature dynamics model 310. Illustratively, an entropy value above a predetermined entropy threshold can indicate a potential failure of the feature dynamics model 310.

[0079] Illustratively, the feature dynamics model 310 models the features 308 as output by the feature extractor 306 (via a Gaussian mixture model, see equation (1)). This allows for tracking of the distribution shifts of the features 308 in the feature space (e.g., using a Kalman filter according to (2)) and then incorporating this distribution shift in the classification of each data element 304 (t=t*) (e.g., by adjusting the classification weights 404 of the classifier 402). Modeling the evolution of feature density over time can also constrain the allowed dynamics and prevent forgetting during the adjustment process. Kalman filter updates incorporating new information and old knowledge (in an optimal manner) can also be used to further prevent forgetting.

[0080] A method for controlling a robot (e.g., vehicle 100 or other robotic device) may include acquiring sensor data (e.g., sensor data representative of the robot's surroundings (e.g., images (e.g., acquired using one or more sensors described herein) showing one or more objects near the robot). The method for controlling the robot may include feeding the sensor data (e.g., images) to a robot control model (e.g., including a machine learning model described herein) to detect the one or more objects, and controlling the robot (e.g., vehicle 100) taking into account the detected one or more objects (e.g., controlling vehicle 100 to avoid the one or more objects, adjust the speed of the one or more objects, etc.).

[0081] In the above embodiment, the approach of FIG. 2 is applied to control a vehicle 100, but it may also be applied to calculate control signals for controlling any technical system in a scenario involving an object hierarchy, and thus any computer-controlled machine, such as a robot, a home appliance, a power tool, a manufacturing machine, a personal assistant, or an access control system.

Claims

1. 1. A computer-implemented method (200) for classifying data elements (304) of a dataset (302) using a machine learning model, comprising: the machine learning model includes a feature extractor (306) configured to identify features (308) of data elements (304), and a classifier (402) configured to classify the data elements (304) using the features (308); The method (200) comprises: classifying (202) the data elements (304) of the data set (302) associated with a time sequence, each data element being associated with a corresponding time step of the time sequence, and inputting the data elements (304) into the machine learning model, whereby the data elements (304) are sequentially classified according to their respective temporal order; Classifying each data element of the data elements includes: - identifying features (202A) of each of said data elements using said feature extractor (306); determining (202B) parameters (312) of a feature dynamics model (310) that describes the evolution of feature density of the feature over time using the features of the respective data element and the features of one or more other data elements that temporally precede the respective data element; Using the feature dynamics model (310), determining (202C) a class (314) associated with each of the data elements; A method (200) comprising:

2. Determining (202C) the class (314) associated with each data element using the feature dynamics model (310) includes: - adjusting the weights (404) of the classifier (402) using the feature dynamics model; - determining the class (314) associated with each of the data elements using the classifier (402) with the adjusted weights; The method (200) of claim 1, comprising:

3. Adjusting the weights (404) using the feature dynamics model (310) includes:

3. The method of claim 2, comprising adjusting the weights of the classifier associated with the immediately preceding time step as a function of a feature distribution shift between the features of the data element associated with the immediately preceding time step and the features of the respective data element.

4. Determining (202C) the class (314) associated with each data element using the feature dynamics model (310) includes: - for each class of a plurality of classes associated with the classification, using the feature dynamics model (310) to determine a posterior class probability representing the probability that the class is associated with the respective data element; - determining an entropy value representing the entropy of the posterior class probabilities; - adjusting the weights of the classifier only if the entropy value is less than or equal to a predetermined entropy threshold; The method (200) of claim 2 or 3, comprising:

5. Determining (202C) the class (314) associated with each data element using the feature dynamics model (310) includes: - for each class of a plurality of classes associated with the classification, using the feature dynamics model, determining a posterior class probability representing the probability that the class is associated with the respective data element; determining the class of the plurality of classes for which the highest posterior class probability is determined as the class associated with the respective data element; The method (200) of claim 1, comprising:

6. Determining (202B) the feature dynamics model (310) includes:

6. The method (200) of claim 1, comprising: modeling the evolution of the feature density of the feature over time by a Gaussian mixture model with a respective Gaussian function for each class of a plurality of classes associated with the classification, wherein the evolution of a respective mean of each Gaussian function is modeled as a linear Gaussian system, and parameters of the linear Gaussian system are tracked by a corresponding Kalman filter.

7. the parameters of the feature dynamics model (310) are determined using an expectation-maximization algorithm; the expectation step of the expectation-maximization algorithm includes a Kalman forward-backward recursion; The method (200) of claim 6.

8. The weights are: determining a posterior distribution for the mean of the Gaussian function associated with the corresponding time step of each data element; adjusting the weight associated with the immediately preceding time step as a function of the posterior distribution; is adjusted by The method (200) of claim 6 or 7 in combination with claim 3.

9. the features of each data element are represented by a feature vector; adjusting the weights associated with the immediately preceding time steps as a function of the posterior distribution further comprises normalizing the weights by dividing the weights by a length of the feature vector. The method (200) of claim 8.

10. the machine learning model was trained using a training data set associated with a previous time sequence or a training data set associated with a time point that temporally precedes the time sequence associated with the data set; The method (200) of any one of claims 1 to 9.

11. The one or more other data elements that temporally precede the respective data element are: all data elements that precede the respective data element in time, or a predetermined number of data elements immediately preceding each of said data elements in time The method (200) of any one of claims 1 to 10, comprising:

12. the corresponding time step to which the immediately succeeding data element in time is associated is later in time than the time at which the respective data element was classified; The method (200) of any one of claims 1 to 11.

13. A data processing apparatus configured to perform the method (200) of any one of claims 1 to 12.

14. A computer program comprising instructions which, when executed by a computer, cause the computer to carry out the method (200) of any one of claims 1 to 12.

15. A computer-readable medium comprising instructions that, when executed by a computer, cause the computer to perform the method (200) of any one of claims 1 to 12.