Systems and methods for contrastive fine-tuning of image-text machine learning models
By generating perturbation vectors and adjusting weights using contrasting loss, the method enhances CLIP model accuracy and robustness across varied data distributions, addressing existing challenges in classification accuracy and natural corruption.
Patent Information
- Application Number
- DE102025101154
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-16
- Filing Date
- 2025-01-14
- Publication Date
- 2025-07-17
AI Technical Summary
Existing machine learning models, such as CLIP, face challenges in maintaining high classification accuracy for both in-distribution and out-of-distribution data sets, as well as robustness against natural corruption, despite fine-tuning with conventional loss functions.
A method and system for fine-tuning CLIP models by generating perturbation vectors based on image and text embeddings, adjusting model weights using a contrasting loss, and perturbing embeddings to enhance robustness and accuracy across different data distributions.
The approach improves classification accuracy for both in-distribution and out-of-distribution data sets while enhancing the model's robustness against natural corruption, maintaining high performance in zero-shot, distribution shift, and transfer learning scenarios.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical FieldThe present disclosure relates to training and / or fine tuning machine learning models, and more particularly to systems and methods for robust contrasting fine tuning image text machine learning models.BackgroundIncreasingly, machine learning models such as CLIP (Contrastive Language-Image Pre-Training) models are trained to learn common representations of images and corresponding image texts written in natural language. Such models do so by maximizing a dot product of a latent representation of each pair of corresponding images and text, while minimizing such a dot product for any non-matching pairs of images and text. As a result, a trained CLIP model can be used for zero-shot image classification tasks. For this, natural language descriptions of each possible class are used as inputs to the CLIP model along with the images to be classified. Dot products between each image representation and all class description representations are compared, and the class that yields the highest dot product is chosen as the predicted class.Additionally, to improve the classification accuracy of a CLIP model for a specific data type, the CLIP machine learning model may be fine tuned via additional data for such data. For example, fine tuning using the same accurate loss function used to train the original CLIP model (e.g., a contrasting loss function) results in improved model accuracy for the ID (in-distribution) data set used for fine tuning, for other OoD (out-of-distribution) data sets not used for training, and for a "corrupted" version of the ID data (e.g., providing better natural robustness).SummaryOne aspect of the disclosed embodiments includes a method for fine tuning a pre-trained machine learning model. The method includes receiving, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model. The method also includes receiving, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding. The method also includes generating at least one perturbation vector that includes the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value. The method also includes generating second training data based on the at least one perturbation vector and fine tuning the pre-trained machine learning model using the second training data.Another aspect of the disclosed embodiments includes a system for fine tuning a pre-trained machine learning model. The system includes a processor and a memory. The memory includes instructions that, when executed by the processor, cause the processor to: receive, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model; receive, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding; generate at least one perturbation vector including the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value; generate second training data based on the at least one perturbation vector; and fine-tune the pre-trained machine learning model using the second training data.Another aspect of the disclosed embodiments includes a device for controlling a machine. The apparatus includes a processor and a memory. The memory includes instructions that, when executed by the processor, cause the processor to: receive, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model; receive, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding; generate at least one perturbation vector including the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value; generate second training data based on the at least one perturbation vector; fine-tune the pre-trained machine learning model using the second training data; receiving, from the finely tuned pre-trained machine learning model, classified sensor data corresponding to at least one sensor of the machine; and selectively controlling the machine based on the classified sensor data.Brief Description of the DrawingsFIG. 1 generally illustrates a system for training a neural network in accordance with the principles of the present disclosure. FIG. 2 generally illustrates a computer-implemented method for training and utilizing a neural network in accordance with the principles of the present disclosure. FIG. 3A generally illustrates a contrasting pretraining function in accordance with the principles of the present disclosure. FIG. 3B generally illustrates a fine-tune-like you pre-train function according to the principles of the present disclosure. FIG. 4 is a flow diagram generally illustrating a machine learning fine tuning method according to the principles of the present disclosure. FIG. 5 illustrates a schematic diagram of interaction between a computer controlled machine and a control system according to the principles of the present disclosure. FIG. 6 illustrates a schematic diagram of the control system of FIG. 5 configured to control a vehicle, which may be a semi-autonomous vehicle, a fully autonomous vehicle, a semi-autonomous robot, or a fully autonomous robot, in accordance with the principles of the present disclosure. FIG. 7 illustrates a schematic diagram of the control system of FIG. 5 configured to control a manufacturing machine, such as a punch, cutter, or downhole drill, of a manufacturing system, such as a portion of a production line. FIG. 8 illustrates a schematic diagram of the control system of FIG. 5 configured to control a power tool, such as an electric drilling machine or an electric screwdriver, having an at least partially autonomous mode. FIG. 9 illustrates a schematic diagram of the control system of FIG. 5 configured to control an automated personal assistant. FIG. 10 illustrates a schematic diagram of the control system of FIG. 5 configured to control a monitoring system, such as an access control system or an observation system. FIG. 11 illustrates a schematic diagram of the control system of FIG. 5 configured to control an imaging system, for example, an MRI apparatus, an X-ray imaging apparatus, or an ultrasound apparatus.DETAILED DESCRIPTIONEmbodiments of the present disclosure are described herein. It is to be understood, however, that the disclosed embodiments are merely examples and other embodiments may take various and alternative forms. The figures are not necessarily to scale; some features could be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the embodiments. As those of ordinary skill in the art will understand, various features illustrated and described with reference to any one of the figures may be combined with features illustrated in one or more other figures to produce embodiments that are not expressly illustrated or described. The combinations of illustrated features provide representative embodiments for typical applications. However, various combinations and modifications of the features consistent with the teachings of this disclosure could be desired for particular applications or implementations.As described, machine learning models, such as CLIP models, are increasingly trained to learn common representations of images and corresponding image texts written in natural language. Such models do so by maximizing a dot product of a latent representation of each pair of corresponding images and text, while minimizing such a dot product for any non-matching pairs of images and text. As a result, a trained CLIP model can be used for zero-shot image classification tasks. For this, natural language descriptions of each possible class are used as inputs to the CLIP model along with the images to be classified. Dot products between each image representation and all class description representations are compared, and the class that yields the highest dot product is chosen as the predicted class.Additionally, to improve the classification accuracy of a CLIP model for a specific data type, the CLIP machine learning model may be fine tuned via additional data for such data. For example, fine tuning using the same accurate loss function used to train the original CLIP model (e.g., a contrasting loss function) results in improved model accuracy for the ID dataset used for fine tuning, for other OoD datasets not used for training, and for a "corrupted" version of the ID data (e.g., providing better natural robustness).Accordingly, systems and methods, such as the systems and methods described herein, configured to fine-tune machine learning models, such as CLIP machine learning models, may be desirable. In some embodiments, the systems and methods described herein may be configured to configure a machine learning model during CLIP model training, as generally illustrated in FIG. 3A, to learn a joint representation of images and corresponding image texts written in natural language. The machine learning model may include two encoders f and g, where f takes images (I i, i=1..B, where B is the number of image-text pairs in batch) as input and g takes text (T i) as input. Both f and g create an embedding (e.g., a latent representation) of the corresponding input f (I i) ∈R N and g(T i) ∈R N. The systems and methods described herein may be configured to pretraining the machine learning model to align the embedding f(I i) of an image proximate to the embedding g(T i) of the corresponding text description, and away from other text embeddings g(T j) in batch. In view of a batch with B pictures with corresponding text descriptions D = {(I 1, T 1),... (I B, T B)} is the pretraining target as follows: where θ = [θ Bild; θ Text] are image and text encoder parameters, and f and g are the l 2- normalized versions of f and g, respectively.Because the pre-trained image embeds are trained to align with the text embeds, the systems and methods described herein may be configured to perform a zero shot classification without updating any weights. Given k classes (names) {c 1, c 2,... c k} corresponding text descriptions {T 1,... T k} using templates (e.g., "a photograph of a c i "). The zero shot prediction corresponding to picture I is arg max i( g (T i)T · f (I) where g and f are the normalized text and picture embeds, which can be described according to where h zs ∈ R d×k is the zero shot linear head with columns corresponding to text descriptions of classes T k. The systems and methods described herein may be configured to use multiple templates and to sample the text prompt from some p Text( · |y) and collect predictions about multiple prompts.In some embodiments, the systems and methods described herein may be configured to perform a fine-tune like you pre-train (FLYP) function, as generally illustrated in FIG. 3B. For example, the systems and methods described herein may be configured to improve classification accuracy of a CLIP model for a specific dataset while maintaining high performance for OoD datasets. The systems and methods described herein may be configured to adjust the weights of the image encoder to minimize the same contrasting loss used in the original CLIP. FLYP consistently better intersects than other fine tuning methods in zero shot, distribution shift, transfer learning, and few shot learning benchmarks. Overall, these benchmarks establish contrasting fine tuning as a simple and intuitive approach to the monitored fine tuning of image-text models such as CLIP.In some embodiments, the systems and methods described herein may be configured to improve the natural and opposing robustness of a finely tuned CLIP machine learning model by perturbation of the image representations of the CLIP machine learning model towards either a text representation of a false class label or an image representation corresponding to another class.In some embodiments, the systems and methods described herein may be configured to improve the natural and opposing robustness of a finely tuned CLIP machine learning model by perturbation of the image representations of the CLIP machine learning model towards either a text representation of a false class label or an image representation corresponding to another class.In some embodiments, the systems and methods described herein may be configured to receive sensor signals from any suitable sensor (e.g., including, but not limited to, those described herein). In some embodiments, the systems and methods described herein may be configured to calculate a control signal for controlling a physical system, such as a computer-controlled machine (e.g., such as a robot, a vehicle, a household appliance, a power tool, a manufacturing machine, a personal assistant, and / or an access control system) and / or any other suitable machine, including, but not limited to, those described herein. In some embodiments, the systems and methods described herein may be configured to classify sensor data. In some embodiments, the systems and methods described herein may be configured to train a machine learning system that may be used for any suitable application, including, but not limited to, those described herein, for example, those described with reference to FIGS. 5-11.In some embodiments, the systems and methods described herein may be configured to introduce a modification to the FLYP procedure that perturbs the normalized image embeds using the embeds of other images or the embeds of other text labels in batch. Using the notation described herein, this perturbation can be expressed as follows: where f p( I i) is the perturbation normalized image embedding, v j is the perturbation vector, f (I j) and g (T j) are the non-perturbationed image and text embeddings, and α is the perturbation magnitude. The systems and methods described herein may be configured to determine or select the image or text embedding to be used for the perturbation direction (e.g., the selection of j) according to at least one of: j=(e.g., the image or text embedding having the lowest correlation with the image embedding to be disturbed, which may maximize the change in image embedding after perturbation); j=random selection (j ∈[B], i≠j) (e.g., selecting a random image or text embedding, which may induce the machine learning model, to be robust to perturbation in any direction corresponding to another image or text embedding); and (e.g., the image or text embedding having the highest correlation with the image embedding to be disturbed, which can indicate to the machine learning model to make an improved distinction between similar images or similar labels).In some embodiments, the systems and methods described herein may be configured to remove gradients of machine learning model weights with respect to perturbation αv j during backpropagation, as they produce a side effect that the similarity between the text embedding corresponding to the correct label for the disturbed image and the perturbation vector, which is either an image embedding corresponding to another label or another label embedding, increases (e.g., wherein the systems and methods described herein may be configured to achieve this using a deep learning framework by using a copy of the perturbation vector that has been detached from the compute graph).In some embodiments, the systems and methods described herein may be configured to generate or use an image-text machine learning model (such as a neural network) pre-trained with a contrasting loss (e.g., CLIP). The systems and methods described herein may be configured to fine tune the machine learning model for a dataset that includes images and corresponding text descriptions (e.g., names of objects present in each image). During fine tuning, the systems and methods described herein may be configured to provide batch pairs of images and text descriptions to the machine learning model, and may generate normalized image and text embeddings.The systems and methods described herein may be configured to possibly perturbation the embeddings generated by the machine learning model. The systems and methods described herein may be configured to use the disturbed embeds to calculate the contrasting loss that the systems and methods described herein may be configured to use to adjust the weights of the machine learning model to minimize the loss. The systems and methods described herein may be configured to continue until stop criteria (e.g., set by a user) are met (e.g., training stops, when the maximum number of training epochs is reached, zero shot accuracy no longer decreases for a validation dataset that is not used for training, or training loss no longer decreases). The systems and methods described herein may be configured to generate a fine-tuned model that achieves improved accuracy for the ID data (e.g., data coming from the same distribution as the fine-tuning data set) compared to the original model, while also providing improved performance for the OoD data (e.g., data coming from a different distribution compared to the fine-tuning data set) and for the ID data that was subject to natural damage.In some embodiments, the systems and methods described herein may be configured to fine tune a pre-trained machine learning model. The systems and methods described herein may be configured to receive at least one image embedding from a pre-trained machine learning model corresponding to first training data used to train the pre-trained machine learning model. The systems and methods described herein may be configured to receive at least one text embedding from the pre-trained machine learning model corresponding to the at least one image embedding.The systems and methods described herein may be configured to generate at least one perturbation vector that includes the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value. The systems and methods described herein may be configured to generate second training data based on the at least one perturbation vector. The systems and methods described herein may be configured to fine tune the pre-trained machine learning model using the second training data. In some embodiments, the pre-trained machine learning model is pre-trained using Consecutive Language-Image Pre-training.In some embodiments, the systems and methods described herein may be configured to determine the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a least correlation with the at least one image embedding.In some embodiments, the systems and methods described herein may be configured to determine the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a least correlation with the at least one image embedding.In some embodiments, the systems and methods described herein may be configured to determine the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected image embedding corresponding to the first training data.In some embodiments, the systems and methods described herein may be configured to determine the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected text embedding corresponding to the first training data.In some embodiments, the systems and methods described herein may be configured to determine the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a highest correlation with the at least one image embedding.In some embodiments, the systems and methods described herein may be configured to determine the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a highest correlation with the at least one image embedding.In some embodiments, the pre-trained machine learning model that has been fine tuned using the second training data is configured to classify sensor data. The sensor data may be associated with at least one sensor associated with at least one machine. The at least one machine includes a vehicle and / or any suitable machine including, but not limited to, those described herein, such as those described with reference to FIGS. 5-11.FIG. 1 shows a system 100 for training a neural network. The system 100 may include an input interface for accessing training data 102 for the neural network. For example, as illustrated in FIG. 1, the input interface may consist of a data storage interface 104 that can access the training data 102 from a data storage 106. For example, the data storage interface 104 may be a storage interface or a persistent storage interface, e.g., a hard disk or an SSD interface, but also a personal, local or wide area network interface, such as a Bluetooth, Zigbee, or WiFi interface, or an Ethernet or fiber optic interface. The data storage 106 may be internal data storage of the system 100, such as a hard disk or SSD, but also external data storage, e.g., network-accessible data storage.In some embodiments, the data storage 106 may further include a data representation 108 of an untrained version of the neural network that the system 100 may access from the data storage 106. However, it should be appreciated that the training data 102 and the data representation 108 of the untrained neural network may also be accessed from another data storage, e.g., via another subsystem of the data storage interface 104. Each subsystem may be of a type as described above for the data storage interface 104.In some embodiments, the data representation 108 of the untrained neural network may be generated internally by the system 100 based on design parameters for the neural network and may therefore not be explicitly stored in the data storage 106. The system 100 may further include a processor subsystem 110 that may be configured to provide an iterative function as a substitute for a stack of layers of the neural network to be trained during operation of the system 100. Here, respective layers of the stack of layers being replaced may have mutually shared weights and may receive as input an output of a previous layer or, for a first layer of the stack of layers, an initial activation, and a portion of the input of the stack of layers.The processor subsystem 110 may be further configured to iteratively train the neural network using the training data 102. Here, an iteration of training by processor subsystem 110 may include a forward propagation portion and a backward propagation portion. The processor subsystem 110 may be configured to perform the forward propagation part by, among other operations defining the forward propagation part that may be performed, determining an equilibrium point of the iterative function at which the iterative function converges to a fixed point, wherein determining the equilibrium point comprises using a numerical root finding algorithm to find a root solution for the iterative function minus its input, and by providing the equilibrium point as a substitute for an output of the stack of layers in the neural network.The system 100 may further include an output interface for outputting a data representation 112 of the trained neural network, which data may also be referred to as trained model data 112. For example, as also illustrated in FIG. 1, the output interface may be comprised of the data storage interface 104, where in these embodiments the interface is an input / output ('IO') interface through which the trained model data 112 may be stored in the data storage 106. For example, during or after training, the data representation 108 defining the 'untrained' neural network may be at least partially replaced with the trained neural network data representation 112 in the sense that the neural network parameters, such as weights, hyperparameters, and other types of neural network parameters, may be adjusted to reflect training on the training data 102. This is also illustrated in Figure 1 by reference numerals 108, 112 which refer to the same record in the data storage 106. In some embodiments, the data representation 112 may be stored separately from the data representation 108 defining the 'untrained' neural network. In some embodiments, the output interface may be separate from the data storage interface 104, but may generally be of a type as described above for the data storage interface 104.FIG. 2 generally illustrates a data annotation / augmentation system 200 configured to provide embodied sound event predictions. The system 200 may include at least one computing system 202. The computing system 202 may include at least one processor 204 operatively connected to a storage unit 208. The processor 204 may include one or more integrated circuits that implement the functionality of a central processing unit (CPU) 206. The CPU 206 may be a commercially available processing unit that implements an instruction set such as one of the x86, ARM, power, or MIPS instruction set families.During operation, the CPU 206 may execute stored program instructions that are retrieved from the memory unit 208. The stored program instructions may include software that controls the operation of the CPU 206 to perform the operation described herein. In some embodiments, processor 204 may be a system-on-a-chip (SoC) that integrates the functionality of CPU 206, memory unit 208, a network interface, and input / output interfaces into a single integrated device. The computing system 202 may implement an operating system for managing various aspects of the operation.The storage unit 208 may include volatile memory and nonvolatile memory for storing instructions and data. The non-volatile memory may include solid state memory, such as NAND flash memory, magnetic and optical storage media, or any other suitable data storage device that holds data when the computing system 202 is deactivated or loses power. The volatile memory may include static and dynamic random access memory (RAM) storing program instructions and data. For example, the storage unit 208 may store a machine learning model 210 (e.g., represented as the ML model 210 in FIG. 2 ) or a machine learning algorithm, a training dataset 212 for the machine learning model 210, a raw source dataset 216.The computing system 202 may include a network interface device 222 configured to provide communication with external systems and devices. For example, the network interface device 222 may include a wired and / or wireless Ethernet interface as defined by the IEEE (Institute of Electrical and Electronics Engineers) 802.11 family of standards. The network interface device 222 may include a cellular communication interface for communicating with a cellular network (e.g., 3G, 4G, 5G). The network interface device 222 may be further configured to provide a communication interface to an external network 224 or the cloud.The external network 224 may be referred to as the world wide web or the Internet. The external network 224 may establish a standard communication protocol between computing devices. The external network 224 may allow information and data to be easily exchanged between computing devices and networks. One or more servers 230 may be in communication with the external network 224.The computing system 202 may include an input / output (I / O) interface 220, which may be configured to provide digital and / or analog inputs and outputs. I / O interface 220 may include additional serial interfaces for communicating with external devices (e.g., Universal Serial Bus (USB) interface).The computing system 202 may include a human machine interface (HMI) device 218, which may include any device that enables the system 200 to receive control input. Examples of input devices may include input with a human interface such as keyboards, mice, touch screens, voice input devices, and other similar devices. The computing system 202 may include a display device 232. The computing system 202 may include hardware and software for outputting graphics and text information to the display device 232. The display device 232 may include an electronic display screen, a projector, a printer, or other suitable device for displaying information to a user or operator. The computing system 202 may be further configured to enable interaction with a remote HMI and remote display devices via the network interface device 222.The system 200 may be implemented using one or more computing systems. Although the example illustrates a single computing system 202 implementing all of the described features, it is intended that various features and functions be separate and may be implemented by multiple computing units in communication with each other. The particular system architecture selected may depend on a variety of factors.The system 200 may implement a machine learning model 210 (e.g., which may be referred to as the machine learning algorithm 210) configured to analyze the raw source dataset 216. The raw source dataset 216 may include raw or unprocessed sensor data, which may represent an input dataset for a machine learning system. The raw source dataset 216 may include video, video segments, audio, audio segments, images, text-based information, and raw or partially processed sensor data (e.g., radar map of objects). In some embodiments, the machine learning model 210 may be a neural network algorithm configured to perform a predetermined function. For example, in automotive applications, the neural network algorithm may be configured to identify pedestrians in video images.The computer system 200 may store a training dataset 212 for the machine learning model 210. The training data set 212 may represent a set of previously constructed data for training the machine learning model 210. The training dataset 212 may be used by the machine learning model 210 to learn weighting factors associated with a neural network algorithm. The training data set 212 may include a set of source data having corresponding results or results that the machine learning model 210 attempts to duplicate via the learning process. In this example, the training dataset 212 may include audio data, environmental data, dialog data, other suitable data, and / or the like.The machine learning model 210 may be operated in a learning mode using the training dataset 212 as input. The machine learning model 210 may be executed over a number of iterations using the data from the training dataset 212. With each iteration, the machine learning model 210 may update internal weighting factors based on the obtained results. For example, the machine learning model 210 may compare output results (e.g., annotations) to those included in the training dataset 212. Because the training dataset 212 includes the expected results, the machine learning model 210 may determine when the performance is acceptable. After the machine learning model 210 reaches a predetermined level of performance (e.g., 100% match with the results associated with the training dataset 212), the machine learning model 210 may be executed using data that is not present in the training dataset 212. The trained machine learning model 210 may be applied to new data sets to identify sound events in audio data input to the machine learning model 210.The machine learning model 210 may be configured to identify a particular feature in the raw source data 216. The raw source data 216 may include a plurality of instances or input dataset for which various predictions are desired. The machine learning model 210 may be programmed to process the raw source data 216 to identify the presence of the particular features. The machine learning model 210 may be configured to predict sound events in various audio data using the raw source data 216. The raw source data 216 may be derived from a variety of sources. For example, the raw source data 216 may be actual input data collected by a machine learning system. The raw source data 216 may be machine generated for testing the system.In the example, the machine learning model 210 may process the raw source data 216 and output a prediction. The machine learning model 210 may generate a confidence level (e.g., a certainty value) or a confidence factor for each generated output. For example, a confidence value that exceeds a predetermined high confidence threshold may indicate that the machine learning model 210 is certain that the prediction is safe. A confidence value less than a low confidence threshold may indicate that the machine learning model 210 is somewhat uncertain that the prediction is accurate.In some embodiments, the system 200 may receive, using a machine learning model, such as the machine learning model 210, an input dialog captured by an input mechanism (such as a microphone, keyboard, and / or any other suitable input mechanism). The input dialog may include a text string corresponding to a query.The system 200 using the machine learning model 210 may extract at least one keyword from the text string using at least one functional mapping. The at least one functional mapping may correspond to a neural functional approximator and / or may correlate one or more maps associated with one or more image indications with corresponding region and object labels. The system 200 using the machine learning model 210 may generate at least one action prediction based on an input state representation and the at least one keyword. The at least one action prediction may include an action to navigate at least a portion of the environment associated with the machine learning model 210 and / or another suitable action. The system 200 may predict any suitable number of actions to traverse the environment.The system 200 may receive, via an image capture device, one or more images associated with the environment. The system 200 using the machine learning model 210 may provide a prediction using the one or more images that identifies one or more objects in the one or more images. Alternatively or additionally, the system 200 may receive various audio data. The system 200 using the machine learning model 210 may provide a prediction using the different audio data that identifies a target sound event of the different audio data. The system 200 may provide the prediction at an output mechanism (such as the display 232, HMI 218, I / O 220, or any other suitable mechanism).The system 200 may store, in an associated memory, such as the memory 208 or other suitable memory, the text string, the at least one sub-destination, any other suitable data or information, or a combination thereof. The system 200 may receive feedback in response to providing the prediction. For example, a user of system 200 may provide verbal, textual, or other suitable feedback (such as input) based on the user's view that the prediction is accurate or correct. The system 200 may then train the machine learning model 210 based on the feedback (e.g., to improve future predictions).In some embodiments, the system 200 may be configured to fine tune a pre-trained machine learning model, such as the machine learning model 210. As described, the machine learning model 210 may include a CLIP machine learning model or other suitable machine learning model, and may be trained or pre-trained as described herein. The system 200 may receive, from the machine learning model 210, at least one image embedding corresponding to first training data used to train the machine learning model 210. The system 200 may receive, from the machine learning model 210, at least one text embedding corresponding to the at least one image embedding.The system 200 may generate at least one perturbation vector that includes the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value. The system 200 may generate second training data based on the at least one perturbation vector. The system 200 may fine tune the machine learning model 210 using the second training data.In some embodiments, the system 200 may determine the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a least correlation with the at least one image embedding.In some embodiments, the system 200 may determine the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a least correlation with the at least one image embedding.In some embodiments, the system 200 may determine the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected image embedding corresponding to the first training data.In some embodiments, the system 200 may determine the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected text embedding corresponding to the first training data.In some embodiments, the system 200 may determine the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a highest correlation with the at least one image embedding.In some embodiments, the system 200 may determine the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a highest correlation with the at least one image embedding.In some embodiments, the machine learning model 210 that has been fine tuned using the second training data is configured to classify sensor data. The sensor data may be associated with at least one sensor associated with at least one machine. The at least one machine includes a vehicle and / or any suitable machine including, but not limited to, those described herein, such as those described with reference to FIGS. 5-11.It should be understood that the systems and methods described herein may be configured to perform any suitable function, such as those described herein with reference to FIGS. 5-11.FIG. 4 is a flow diagram generally illustrating a machine learning model fine tuning method 400 according to the principles of the present disclosure. It should be understood that any of the systems described herein, including but not limited to system 200, may be configured to perform the methods described herein. At 402, the method 400 receives, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model.At 404, the method 400 receives, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding.At 406, the method 400 generates at least one perturbation vector that includes the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value.At 408, the method 400 generates second training data based on the at least one perturbation vector.At 410, method 400 finely tunes the pre-trained machine learning model using the second training data.FIG. 5 illustrates a schematic diagram of interaction between a computer-controlled machine 500 and a control system 502. The computer controlled machine 500 includes an actuator 504 and a sensor 506. The actuator 504 may include one or more actuators and the sensor 506 may include one or more sensors. The sensor 506 is configured to sense a state of the computer controlled machine 500. The sensor 506 may be configured to encode the sensed state into sensor signals 508 and transmit the sensor signals 508 to a control system 502. Non-limiting examples of the sensor 506 include video, radar, LiDAR, ultrasonic, and motion sensors. In some embodiments, the sensor 506 is an optical sensor configured to capture optical images of an environment proximate to the computer-controlled machine 500.The control system 502 is configured to receive the sensor signals 508 from the computer-controlled machine 500. As set forth below, the control system 502 may be further configured to calculate actuator control commands 510 in dependence on the sensor signals and transmit the actuator control commands 510 to the actuator 504 of the computer-controlled machine 500.As shown in FIG. 5, the control system 502 includes a receiving unit 512. The receiving unit 512 may be configured to receive the sensor signals 508 from the sensor 506 and to transform the sensor signals 508 into input signals x. In an alternative embodiment, the sensor signals 508 are received directly as input signals x without the receiving unit 512. Each input signal x may be a portion of each sensor signal 508. The receiving unit 512 may be configured to process each sensor signal 508 to generate each input signal x. The input signal x may include data corresponding to an image recorded by the sensor 506.The control system 502 includes a classifier 514. The classifier 514 may be configured to classify the input signals x into one or more labels using a machine learning (ML) algorithm, such as a neural network described above. The classifier 514 is configured to be parameterized by parameters, such as those described above (e.g., parameters θ). The parameters θ may be stored in and provided by a non-volatile storage 516. The classifier 514 is configured to determine output signals y from the input signals x. Each output signal y includes information that assigns one or more labels to each input signal x. The classifier 514 may transmit the output signals y to a conversion unit 518. The conversion unit 518 is configured to convert the output signals y into the actuator control commands 510. The control system 502 is configured to transmit the actuator control commands 510 to the actuator 504, which is configured to actuate the computer controlled machine 500 in response to the actuator control commands 510. In some embodiments, the actuator 504 is configured to actuate the computer-controlled machine 500 directly based on the output signals y.Upon receipt of the actuator control commands 510 by the actuator 504, the actuator 504 is configured to perform an action corresponding to the associated actuator control command 510. The actuator 504 may include control logic configured to transform the actuator control commands 510 into a second actuator control command used to control the actuator 504. In one or more embodiments, actuator control commands 510 may be used to control an indication instead of or in addition to an actuator.In some embodiments, the control system 502 includes the sensor 506 instead of or in addition to the computer controlled machine 500 including the sensor 506. The control system 502 may also include the actuator 504 instead of or in addition to the computer-controlled machine 500 including the actuator 504.As shown in FIG. 5, the control system 502 also includes a processor 520 and a memory 522. The processor 520 may include one or more processors. The memory 522 may include one or more storage devices. The classifier 514 (e.g., ML algorithms) of one or more embodiments may be implemented by the control system 502 including the non-volatile storage 516, the processor 520, and the memory 522.The non-volatile storage 516 may include one or more persistent storage devices, such as a hard disk, an optical drive, a tape drive, a non-volatile solid state device, cloud storage, or any other device capable of persistently storing information. Processor 520 may include one or more devices selected from high performance computing (HPC) systems, including high performance cores, microprocessors, microcontrollers, digital signal processors, microcomputers, central processing units, field programmable gate arrays, programmable logic devices, state machines, logic circuits, analog circuits, digital circuits, or any other devices that manipulate signals (analog or digital) based on computer-executable instructions residing in memory 522. The memory 522 may include a single memory device or a number of memory devices including, but not limited to, random access memory (RAM), volatile memory, non-volatile memory, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, cache memory, or any other device capable of storing information.Processor 520 may be configured to read into memory 522 and execute computer-executable instructions residing in non-transitory storage 516 and embodying one or more ML algorithms and / or methods of one or more embodiments. The non-volatile storage 516 may include one or more operating systems and applications. The non-transitory storage 516 may store compiled and / or interpreted computer programs created using a variety of programming languages and / or technologies, including, without limitation, and either alone or in combination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl, and PL / SQL.After execution by the processor 520, the computer-executable instructions of the non-transitory storage 516 may cause the control system 502 to implement one or more of the ML algorithms and methods as disclosed herein. The non-volatile storage 516 may also include ML data (including data parameters) that support the functions, features, and processes of the one or more embodiments described herein.The program code embodying the algorithms and / or methods described herein may be distributed individually or collectively as a program product in a variety of different forms. The program code may be distributed using a computer readable storage medium having computer readable program instructions thereon to cause a processor to perform aspects of one or more embodiments. Computer readable storage media that are inherently non-transitory may include volatile and non-volatile and removable and non-removable tangible media implemented in any method or technology for storing information, such as computer readable instructions, data structures, program modules, or other data. Computer readable storage media may further include RAM, ROM, erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), flash memory or other solid state memory technology, portable compact disc read only memory (CD-ROM), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and read by a computer. Computer readable program instructions may be downloaded from a computer readable storage medium to a computer, other type of programmable data processing apparatus or other device, or via a network to an external computer or device.Computer readable program instructions stored on a computer readable medium may be used to direct a computer, other types of programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored on the computer readable medium produce an article of manufacture including instructions that implement the functions, acts, and / or operations specified in the flowcharts or diagrams. In certain alternative embodiments, the functions, acts, and / or operations specified in the flowcharts and diagrams may be reordered, serially processed, and / or concurrently processed in accordance with one or more embodiments. Moreover, any of the flowcharts and / or diagrams may include more or fewer nodes or blocks than those illustrated in accordance with one or more embodiments.The processes, methods, or algorithms can be embodied in 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.FIG. 6 illustrates a schematic diagram of the control system 502 configured to control a vehicle 600, which may be an at least partially autonomous vehicle or robot. The vehicle 600 includes the actuator 504 and the sensor 506. The sensor 506 may include one or more video sensors, cameras, radar sensors, ultrasonic sensors, LiDAR sensors, and / or position sensors (e.g., GPS). One or more of the one or more specific sensors may be integrated with the vehicle 600. Alternatively, or in addition to one or more specific sensors identified above, the sensor 506 may include a software module configured to determine a state of the actuator 504 when executed. A non-limiting example of a software module includes a weather information software module configured to determine a current or future state of the weather in the vicinity of the vehicle 600 or another location.The classifier 514 of the control system 502 of the vehicle 600 may be configured to detect objects in the vicinity of the vehicle 600 depending on the input signals x. In such an embodiment, the output signal y may include information characterizing the proximity of objects to the vehicle 600. The actuator control command 510 may be determined according to this information. The actuator control command 510 may be used to avoid collisions with the detected objects.In some embodiments, the vehicle 600 is an at least partially autonomous vehicle, and the actuator 504 may be embodied in a brake, drive system, engine, powertrain, or steering of the vehicle 600. The actuator control commands 510 may be determined to control the actuator 504 such that the vehicle 600 avoids collisions with detected objects. Detected objects may also be classified according to what classifier 514 deems most likely, such as pedestrians or trees. The actuator control commands 510 may be determined depending on the classification. In a scenario where an adventary attack may occur, the system described above may be further trained to better detect objects or identify a change in lighting conditions or angle for a sensor or camera on the vehicle 600.In some embodiments where the vehicle 600 is an at least partially autonomous robot, the vehicle 600 may be a mobile robot configured to perform one or more functions such as flying, swimming, diving, and walking. The mobile robot may be an at least partially autonomous lawn mower or an at least partially autonomous cleaning robot. In such embodiments, the actuator control command 510 may be determined such that a drive unit, steering unit, and / or braking unit of the mobile robot may be controlled such that the mobile robot may avoid collisions with identified objects.In some embodiments, the vehicle 600 is an at least partially autonomous robot in the form of a garden robot. In such an embodiment, the vehicle 600 may use an optical sensor as the sensor 506 to determine a condition of plants in an environment proximate the vehicle 600. The actuator 504 may be a nozzle configured to spray chemicals. Depending on an identified species and / or condition of the plants, the actuator control command 510 may be determined to cause the actuator 504 to spray the plants with an appropriate amount of suitable chemicals.The vehicle 600 may be an at least partially autonomous robot in the form of a household appliance. Non-limiting examples of household appliances include a washing machine, oven, oven, microwave oven, or dishwasher. In such a vehicle 600, the sensor 506 may be an optical sensor configured to detect a state of an object to be subjected to processing by the home appliance. For example, in the case that the household appliance is a washing machine, the sensor 506 may detect a state of the laundry in the washing machine. The actuator control command 510 may be determined based on a detected state of the laundry.FIG. 7 illustrates a schematic diagram of the control system 502 configured to control the system 700 (e.g., manufacturing machine), such as a punch, cutter, or downhole, of a manufacturing system 702, such as a portion of a production line. The control system 502 may be configured to control the actuator 504, which is configured to control the system 700 (e.g., manufacturing machine).The sensor 506 of the system 700 (e.g., manufacturing machine) may be an optical sensor configured to sense one or more characteristics of a manufactured product 704. The classifier 514 may be configured to determine a state of the manufactured product 704 from one or more of the detected characteristics. The actuator 504 may be configured to control the system 700 (e.g., manufacturing machine) depending on the particular condition of the manufactured product 704 for a subsequent manufacturing step of the manufactured product 704. The actuator 504 may be configured to control functions of the system 700 (e.g., manufacturing machine) on the subsequent manufactured product 706 of the system 700 (e.g., manufacturing machine) depending on the particular state of the manufactured product 704.FIG. 8 illustrates a schematic diagram of the control system 502 configured to control a power tool 800, such as an electric drilling machine or electric screwdriver, having an at least partially autonomous mode. The control system 502 may be configured to control the actuator 504, which is configured to control the power tool 800.The sensor 506 of the power tool 800 may be an optical sensor configured to sense one or more characteristics of a work surface 802 and / or a fastener 804 driven into the work surface 802. The classifier 514 may be configured to determine a state of the work surface 802 and / or the fastener 804 relative to the work surface 802 from one or more of the detected characteristics. The condition may be that the fastener 804 is flush with the work surface 802. The condition may alternatively be the hardness of the working surface 802. The actuator 504 may be configured to control the power tool 800 to adjust the driving function of the power tool 800 depending on the particular state of the fastener 804 relative to the work surface 802, or one or more sensed characteristics of the work surface 802. For example, the actuator 504 may cease to operate with the drive function if the state of the fastener 804 is flush relative to the work surface 802. As another non-limiting example, the actuator 504 may apply additional or less torque depending on the hardness of the working surface 802.FIG. 9 illustrates a schematic diagram of the control system 502 configured to control an automated personal assistant 900. The control system 502 may be configured to control the actuator 504, which is configured to control the automated personal assistant 900. The automated personal assistant 900 may be configured to control a household appliance such as a washing machine, oven, microwave oven, or dishwasher.The sensor 506 may be an optical sensor and / or an audio sensor. The optical sensor may be configured to receive video images of gestures 904 of a user 902. The audio sensor may be configured to receive a voice command of the user 902.The control system 502 of the automated personal assistant 900 may be configured to determine the actuator control commands 510 configured to control the system 502. The control system 502 may be configured to determine the actuator control commands 510 according to the sensor signals 508 of the sensor 506. The automated personal assistant 900 is configured to transmit the sensor signals 508 to the control system 502. The classifier 514 of the control system 502 may be configured to execute a gesture recognition algorithm to identify the gesture 904 made by the user 902, to determine the actuator control commands 510, and to transmit the actuator control commands 510 to the actuator 504. Classifier 514 may be configured to retrieve information from non-volatile storage in response to gesture 904 and output the retrieved information in a form suitable for receipt by user 902.FIG. 10 illustrates a schematic diagram of the control system 502 configured to control a monitoring system 1000. The monitoring system 1000 may be configured to physically control access through a door 1002. The sensor 506 may be configured to detect a scene relevant to the decision whether access is granted. The sensor 506 may be an optical sensor configured to generate and transmit image and / or video data. Such data may be used by the control system 502 to detect a person's face.The classifier 514 of the control system 502 of the monitoring system 1000 may be configured to interpret the image and / or video data by matching identities of known people stored in the non-volatile storage 516, thereby determining an identity of a person. The classifier 514 may be configured to generate an actuator control command 510 in response to the interpretation of the image and / or video data. The control system 502 is configured to transmit the actuator control command 510 to the actuator 504. In this embodiment, the actuator 504 may be configured to lock or unlock the door 1002 in response to the actuator control command 510. In some embodiments, non-physical, logical access control is also possible.The monitoring system 1000 can also be an observation system. In such an embodiment, the sensor 506 may be an optical sensor configured to detect a scene under observation, and the control system 502 is configured to control a display 1004. The classifier 514 is configured to determine a classification of a scene, e.g., whether the scene detected by the sensor 506 is suspect. The control system 502 is configured to transmit an actuator control command 510 to the display 1004 in response to the classification. The display 1004 may be configured to adjust the displayed content in response to the actuator control command 510. For example, the display 1004 may emphasize an object deemed suspect by the classifier 514. Using an embodiment of the disclosed system, the observation system may predict objects that appear at certain times in the future.FIG. 11 illustrates a schematic diagram of the control system 502 configured to control an imaging system 1100, for example, an MRI apparatus, an X-ray imaging apparatus, or an ultrasound apparatus. The sensor 506 may be, for example, an imaging sensor. The classifier 514 may be configured to determine a classification of all or a portion of the captured image. The classifier 514 may be configured to determine or select an actuator control command 510 in response to the classification obtained by the trained neural network. For example, classifier 514 may interpret a region of a captured image as potentially anomalous. In this case, the actuator control command 510 may be determined or selected to cause the display 1102 to display the image and highlight the potentially abnormal area.In some embodiments, a method for fine tuning a pre-trained machine learning model includes receiving, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model. The method also includes receiving, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding. The method also includes generating at least one perturbation vector that includes the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value. The method also includes generating second training data based on the at least one perturbation vector and fine tuning the pre-trained machine learning model using the second training data.In some embodiments, the method also includes determining the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a least correlation with the at least one image embedding. In some embodiments, the method also includes determining the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a least correlation with the at least one image embedding. In some embodiments, the method also includes determining the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected image embedding corresponding to the first training data. In some embodiments, the method also includes determining the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected text embedding corresponding to the first training data. In some embodiments, the method also includes determining the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a highest correlation with the at least one image embedding. In some embodiments, the method also includes determining the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a highest correlation with the at least one image embedding. In some embodiments, the pre-trained machine learning model is pre-trained using Consecutive Language-Image Pre-training. In some embodiments, the pre-trained machine learning model that has been fine tuned using the second training data is configured to classify sensor data. In some embodiments, the sensor data is associated with at least one sensor associated with at least one machine. In some embodiments, the at least one machine includes a vehicle.In some embodiments, a system for fine tuning a pre-trained machine learning model includes a processor, and a memory. The memory includes instructions that, when executed by the processor, cause the processor to: receive, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model; receive, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding; generate at least one perturbation vector including the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value; generate second training data based on the at least one perturbation vector; and fine-tune the pre-trained machine learning model using the second training data.In some embodiments, the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a least correlation with the at least one image embedding. In some embodiments, the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a least correlation with the at least one image embedding. In some embodiments, the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected image embedding corresponding to the first training data. In some embodiments, the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected text embedding corresponding to the first training data. In some embodiments, the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a highest correlation with the at least one image embedding. In some embodiments, the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a highest correlation with the at least one image embedding. In some embodiments, the pre-trained machine learning model is pre-trained using Consecutive Language-Image Pre-training.In some embodiments, an apparatus for controlling a machine includes a processor, and a memory. The memory includes instructions that, when executed by the processor, cause the processor to: receive, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model; receive, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding; generate at least one perturbation vector including the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value; generate second training data based on the at least one perturbation vector; fine-tune the pre-trained machine learning model using the second training data; receiving, from the finely tuned pre-trained machine learning model, classified sensor data corresponding to at least one sensor of the machine; and selectively controlling the machine based on the classified sensor data.The processes, methods, or algorithms disclosed herein may be available to / implemented by a processing device, controller, or computer, which may include an existing programmable electronic control unit or dedicated electronic control unit. Likewise, the processes, methods, or algorithms can 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 alterably stored on writeable storage media such as floppy disks, magnetic tapes, CDs, RAM devices, and other magnetic and optical media. The processes, methods, or algorithms can also be implemented in a software-executable object. Alternatively, the processes, methods, or algorithms can be implemented in 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.Although exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms encompassed by the claims. The words used in the specification are words of description rather than limitation, and it is understood that various changes may be made without departing from the spirit and scope of the disclosure. As previously described, the features of various embodiments may be combined to form further embodiments of the invention that may not be expressly described or illustrated. Although various embodiments could be described as providing advantages or being preferred over other embodiments or prior art implementations with respect to one or more desired characteristics, those of ordinary skill in the art recognize that one or more features or characteristics can be compromised to achieve desired overall system attributes, which depend on the specific application and implementation. These attributes may include, but are not limited to, cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, utility, weight, mullibility, ease of assembly, etc. Thus, to the extent that any embodiments are described as less desirable than other embodiments or prior art implementations with respect to one or more characteristics, these embodiments are not outside the scope of the disclosure and may be desirable for particular applications.
Claims
A method for fine tuning a pre-trained machine learning model, the method comprising: receiving, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model; receiving, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding; generating at least one perturbation vector including the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value; generating second training data based on the at least one perturbation vector; and fine tuning the pre-trained machine learning model using the second training data.The method of claim 1, further comprising determining the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a least correlation with the at least one image embedding.The method of claim 1, further comprising determining the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a least correlation with the at least one image embedding.The method of claim 1, further comprising determining the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected image embedding corresponding to the first training data.The method of claim 1, further comprising determining the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected text embedding corresponding to the first training data.The method of claim 1, further comprising determining the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a highest correlation with the at least one image embedding.The method of claim 1, further comprising determining the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a highest correlation with the at least one image embedding.The method of claim 1, wherein the pre-trained machine learning model is pre-trained using Consecutive Language-Image Pre-training.The method of claim 1, wherein the pre-trained machine learning model that has been fine tuned using the second training data is configured to classify sensor data.The method of claim 9, wherein the sensor data is associated with at least one sensor associated with at least one machine.The method of claim 10, wherein the at least one machine includes a vehicle.A system for fine tuning a pre-trained machine learning model, the system comprising: a processor; and a memory including instructions that, when executed by the processor, cause the processor to: receive, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model; receive, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding; generate at least one perturbation vector including the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value; generate second training data based on the at least one perturbation vector; and fine tuning the pre-trained machine learning model using the second training data.The system of claim 12, wherein the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a least correlation with the at least one image embedding.The system of claim 12, wherein the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a least correlation with the at least one image embedding.The system of claim 12, wherein the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected image embedding corresponding to the first training data.The system of claim 12, wherein the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other randomly selected text embedding corresponding to the first training data.The system of claim 12, wherein the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other image embedding corresponding to the first training data and having a highest correlation with the at least one image embedding.The system of claim 12, wherein the instructions further cause the processor to determine the perturbation magnitude value and the perturbation direction value based on at least one other text embedding corresponding to the first training data and having a highest correlation with the at least one image embedding.The system of claim 12, wherein the pre-trained machine learning model is pre-trained using Consecutive Language-Image Pre-training.An apparatus for controlling a machine, the apparatus comprising: a processor; and a memory including instructions that, when executed by the processor, cause the processor to: receive, from a pre-trained machine learning model, at least one image embedding corresponding to first training data used to train the pre-trained machine learning model; receive, from the pre-trained machine learning model, at least one text embedding corresponding to the at least one image embedding; generate at least one perturbation vector including the at least one image embedding, the at least one text embedding, a perturbation magnitude value, and a perturbation direction value; generate second training data based on the at least one perturbation vector; fine tuning the pre-trained machine learning model using the second training data; receiving, from the fine tuned pre-trained machine learning model, classified sensor data corresponding to at least one sensor of the machine; and selectively controlling the machine based on the classified sensor data.