Method and system for performing deterministic data processing through artificial intelligence

A method for performing deterministic data processing through Artificial Intelligence (AI) is disclosed. The method may include generating, via a deep learning network, a set of input feature vectors based on input data for a deterministic data processing model. The method may further include providing the set of input feature vectors to a trained AI model. The trained AI model may generate a set of output feature vectors that may correspond to an output data of the deterministic data processing model. The method may further include determining a variation between the set of output feature vectors and the output data, and iteratively performing incremental learning of the AI model based on the determined variation.

TECHNICAL FIELD

This disclosure relates generally to data processing, and more particularly to a method and system for performing deterministic data processing through Artificial Intelligence (AI).

BACKGROUND

Various data processing systems are known to perform one or more types of data processing. For example, the one or more types of data processing may include normalizing, cleaning, and validating of data. However, performing deterministic processing of data may be difficult using these systems. Further, the processing performance (i.e. speed, memory usage, security, CPU usage) of these systems is critical when they are used in real-time processing environments. The real-time processing environments, for example, may be associated with online transactions, especially during high load scenarios, for example, black Friday, medical records validation, and online and offline data preparation for Machine Learning (ML) models. As such, deterministically processing the data in such real-time processing environments becomes a challenge.

Therefore, an effective and efficient technique for performing deterministic data processing is desired, preferably by the use of an artificial intelligence (AI) based data processing system.

SUMMARY

In one embodiment, a method for performing deterministic data processing through Artificial Intelligence (AI) is disclosed. The method may include generating, via a deep learning network, a set of input feature vectors based on input data for a deterministic data processing model. The method may further include providing the set of input feature vectors to a trained AI model. The trained AI model may generate a set of output feature vectors that may correspond to an output data of the deterministic data processing model. The method may further include determining a variation between the set of output feature vectors and the output data, and iteratively performing incremental learning of the AI model based on the determined variation.

In another embodiment, a data processing device for performing deterministic data processing through AI is disclosed. The data processing device may include a processor and a memory communicatively coupled to the processor. The memory stores processor instructions, which, on execution, may cause the processor to generate, via a deep learning network, a set of input feature vectors based on input data for a deterministic data processing model. The processor instructions, on execution, may further cause the processor to provide the set of input feature vectors to a trained AI model. The trained AI model may generate a set of output feature vectors that may correspond to an output data of the deterministic data processing model. The processor instructions, on execution, may further cause the processor to determine a variation between the set of output feature vectors and the output data, and iteratively perform incremental learning of the AI model based on the determined variation.

In yet another embodiment, a non-transitory computer-readable storage medium is disclosed. The non-transitory computer-readable storage medium has stored thereon, a set of computer-executable instructions causing a computer comprising one or more processors to perform steps including generating, via a deep learning network, a set of input feature vectors based on input data for a deterministic data processing model. The steps may further include providing the set of input feature vectors to a trained AI model. The trained AI model may generate a set of output feature vectors that may correspond to an output data of the deterministic data processing model. The steps may further include determining a variation between the set of output feature vectors and the output data, and iteratively performing incremental learning of the AI model based on the determined variation.

DETAILED DESCRIPTION

Referring now toFIG.1, an exemplary computing system100that may be employed to implement processing functionality for various embodiments (e.g., as a SIMD device, client device, server device, one or more processors, or the like) is illustrated. Those skilled in the relevant art will also recognize how to implement the invention using other computer systems or architectures. The computing system100may represent, for example, a user device such as a desktop, a laptop, a mobile phone, personal entertainment device, DVR, and so on, or any other type of special or general-purpose computing device as may be desirable or appropriate for a given application or environment. The computing system100may include one or more processors, such as a processor102that may be implemented using a general or special purpose processing engine such as, for example, a microprocessor, microcontroller or other control logic. In this example, the processor102is connected to a bus104or other communication medium. In some embodiments, the processor102may be an Artificial Intelligence (AI) processor, which may be implemented as a Tensor Processing Unit (TPU), or a graphical processor unit, or a custom programmable solution Field-Programmable Gate Array (FPGA).

The computing system100may also include a memory106(main memory), for example, Random Access Memory (RAM) or other dynamic memory, for storing information and instructions to be executed by the processor102. The memory106also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor102. The computing system100may likewise include a read only memory (“ROM”) or other static storage device coupled to bus104for storing static information and instructions for the processor102.

The computing system100may also include a storage devices108, which may include, for example, a media drive110and a removable storage interface. The media drive110may include a drive or other mechanism to support fixed or removable storage media, such as a hard disk drive, a floppy disk drive, a magnetic tape drive, an SD card port, a USB port, a micro USB, an optical disk drive, a CD or DVD drive (R or RW), or other removable or fixed media drive. A storage media112may include, for example, a hard disk, magnetic tape, flash drive, or other fixed or removable medium that is read by and written to by the media drive110. As these examples illustrate, the storage media112may include a computer-readable storage medium having stored therein particular computer software or data.

In alternative embodiments, the storage devices108may include other similar instrumentalities for allowing computer programs or other instructions or data to be loaded into the computing system100. Such instrumentalities may include, for example, a removable storage unit114and a storage unit interface116, such as a program cartridge and cartridge interface, a removable memory (for example, a flash memory or other removable memory module) and memory slot, and other removable storage units and interfaces that allow software and data to be transferred from the removable storage unit114to the computing system100.

The computing system100may also include a communications interface118. The communications interface118may be used to allow software and data to be transferred between the computing system100and external devices. Examples of the communications interface118may include a network interface (such as an Ethernet or other NIC card), a communications port (such as for example, a USB port, a micro USB port), Near field Communication (NFC), etc. Software and data transferred via the communications interface118are in the form of signals which may be electronic, electromagnetic, optical, or other signals capable of being received by the communications interface118. These signals are provided to the communications interface118via a channel120. The channel120may carry signals and may be implemented using a wireless medium, wire or cable, fiber optics, or other communications medium. Some examples of the channel120may include a phone line, a cellular phone link, an RF link, a Bluetooth link, a network interface, a local or wide area network, and other communications channels.

The computing system100may further include Input/Output (I/O) devices122. Examples may include, but are not limited to a display, keypad, microphone, audio speakers, vibrating motor, LED lights, etc. The I/O devices122may receive input from a user and also display an output of the computation performed by the processor102. In this document, the terms “computer program product” and “computer-readable medium” may be used generally to refer to media such as, for example, the memory106, the storage devices108, the removable storage unit114, or signal(s) on the channel120. These and other forms of computer-readable media may be involved in providing one or more sequences of one or more instructions to the processor102for execution. Such instructions, generally referred to as “computer program code” (which may be grouped in the form of computer programs or other groupings), when executed, enable the computing system100to perform features or functions of embodiments of the present invention.

In an embodiment where the elements are implemented using software, the software may be stored in a computer-readable medium and loaded into the computing system100using, for example, the removable storage unit114, the media drive110or the communications interface118. The control logic (in this example, software instructions or computer program code), when executed by the processor102, causes the processor102to perform the functions of the invention as described herein.

The present disclosure relates to performing deterministic data processing through Artificial Intelligence (AI). The present disclosure provides for using an existing data processing system to train an AI model to perform the same processing performed by the existing data processing system. The existing deterministic data processing system and its components may process input data to generate output data. The input and the output data may be used as training data for training the AI model. The AI model may be trained in three steps. In the first step, feature vectors may be extracted from the input data using a Conditional Generative Adversarial Network (CGAN) architecture, for example. These feature vectors may be compressed version of the input data. In the second step, feature vectors may be extracted from the output data using the CGAN architecture. These feature vectors may be compressed version of the output data. In the third step, the AI model may be trained using the CGAN architecture to apply data processing function on the feature vectors extracted in the first step and the second step. A trained AI model may replace the existing deterministic data processing system for performing its functions, if the performance of the trained AI model is better than the performance of existing deterministic data processing system. The performance metrics may include execution time, transmission time over network, storage space requirements, power consumption, and security.

Referring now toFIG.2, a functional block diagram of a system200for performing deterministic data processing through AI is illustrated, in accordance with an embodiment. The system200may include a data processing device202and an AI model204. In some embodiments, the data processing device202may include a deterministic data processing model206, a feature vector generating module208, and a variation determining module212. The feature vector generating module208may further include a deep learning network210.

The deterministic data processing model206may receive input data214. The deterministic data processing model206may further generate output data based on the input data214. The deterministic data processing model206may further send the generated output data to the variation determining module212. Further, the feature vector generating module208may receive the input data214, and generate a set of input feature vectors based on the input data214. In some embodiments, the feature vector generating module208may generate the set of input feature vectors via the deep learning network210. In some embodiments, the deep learning network210may be a Conditional Generative Adversarial Network (CGAN).

In some embodiments, the feature vector generating module208may compress the set of input feature vectors in size with respect to the input data, to generate a compressed set of input feature vectors. The feature vector generating module208may further send the compressed set of input feature vectors to the AI model204. The AI model204, after being trained, may generate a set of output feature vectors based on the set of input feature vectors. It may be noted that the data processing device202may train the AI model204. This is further explained in conjunction withFIG.3. It may be noted that the set of output feature vectors may correspond to the output data of the deterministic data processing model206.

The variation determining module212may receive the generated output data from the deterministic data processing model206, and the set of output feature vectors from the AI model204. In a manner similar to the set of input feature vectors, the set of output feature vectors may also be compressed in size with respect to the output data. The variation determining module212may further determine a variation between the set of output feature vectors and the output data. Based on the determined variation, the variation determining module212may further iteratively perform incremental learning of the AI model204.

Referring now toFIG.3, a functional block diagram of a system300(analogous to system200) for training an AI model304for performing deterministic data processing is illustrated, in accordance with an embodiment. It will be apparent to a person skilled in the art that the system200and the system300may be combined to form a single system. The system300may include a data processing device302(analogous to the data processing device202) and the AI model304(analogous to the AI model204). In order to train the AI model304, the data processing device302may include a deterministic data processing model306, a feature vector generating module308, and a feedback module312. The feature vector generating module308may further include a deep learning network310.

The deterministic data processing model306may receive training input data314. The deterministic data processing model306may further generate training output data based on the training input data314. The feature vector generating module308may receive the training input data314, and may generate a training set of input feature vectors based on the training input data314. In some embodiments, the feature vector generating module308may generate the training set of input feature vectors via the deep learning network310. To this end, the feature vector generating module208may include the deep learning network310. The feature vector generating module308may further receive the training output data from the deterministic data processing model306, and may generate a training set of output feature vectors based on the training output data associated with the deterministic data processing model306.

The AI model304may receive the training set of input feature vectors and the training set of output feature vectors as input to the AI model304from the feature vector generating module308. It may be noted that the AI model304may be trained to generate the training set of output feature vectors (output of the AI model304) based on the training set of input feature vectors. The output of the AI model304may be sent to the feedback module312of the data processing device302.

The feedback module312may receive the output of the AI model304and the training set of output feature vectors from the feature vector generating module308. The feedback module312may compare the output of the AI model304with the training set of output feature vectors. Based on the comparison, the feedback module312may determine an output error between the output of the AI model304and the training set of output feature vectors.

The feedback module312may further receive the training set of input feature vectors from the feature vector generating module308. The feedback module312may iteratively feed the output error and the training set of input feature vectors back into the AI model304. In some embodiments, the feedback module312may iteratively feed the output error and the training set of input feature vectors into the AI model304till the output error is below a predefined threshold. In other words, every time a data processing is performed by the AI model304, as part of the training of the AI model304, the output error and the training set of input feature vectors may be fed into the AI model304. This may be repeated until a sufficient accuracy of data processing is achieved by the AI model304.

As a result, as the AI model304is trained over time, the AI model304may become more and more efficient in performing the functions of the deterministic data processing model306. In other words, as the AI model304is trained over time, time taken by the AI model304to perform deterministic data processing each time may go on reducing. This is further explained in detail in conjunction withFIG.4.

Referring now toFIG.4, a process of training the AI model304is illustrated, in accordance with an exemplary embodiment. At time instance t=t(1), the trained AI model304may be put to operation for performing the functions of the deterministic data processing model306. As such, at time instance t=t(1), the time taken by the AI model304for performing the functions of the deterministic data processing model306may be T1. Further, by a time instance t=t(2), the AI model304may have been further trained, as a result of which, time (T2) taken by the AI model304for performing the functions of the deterministic data processing model306may reduce as compared to T1, i.e. T2<T1. Further, at a time instance t=t(3), the time taken by the AI model304for performing the functions of the deterministic data processing model306may be T3. As by the time instance t=t(3), the AI model304may be have trained some more, the time (T3) taken by the AI model304for performing the functions of the deterministic data processing model306may further reduce as compared to T1and T2, i.e. T3<T2<T1. Similarly, at time instance t=t(n), the time taken by the AI model304for performing the functions of the deterministic data processing model306may be Tn, such that Tn<T3<T2<T1. The time Tn may be comparatively much lower than the time take by the deterministic data processing model306to perform the same data processing functionality.

Referring back toFIG.3, in some embodiments, the feature vector generating module308may further include an encryption module316. The encryption module316may encrypt the training set of input feature vectors and the training set of output feature vectors based on Homomorphic keys. It may be noted that in such embodiments, the AI model304may be trained using encrypted training set of input vectors and encrypted training set of output vectors.

In some embodiments, once the AI model304is trained, the trained AI model304may then process encrypted set of input feature vectors to generate encrypted set of output feature vectors. In alternate embodiments, the trained AI model304may include an encryption and decryption module318. The encryption and decryption module318may first decrypt the set of input feature vectors to generate set of output feature vectors. Further, the encryption and decryption module318may encrypt the set of output feature vectors. The encryption and decryption module318may send the encrypted set of output feature vectors to the feedback module312.

The feedback module312may receive the encrypted training set of output feature vectors from the feature vector generating module308. The feedback module312may further receive the encrypted set of output feature vectors from the AI model304. The feedback module312may determine an output error between encrypted training set of output feature vectors (from the feature vector generating module308) and the encrypted set of output feature vectors (from the AI model304). The feedback module312may further iteratively feed the output error and the training set of input feature vectors into the AI model till the output error is below a predefined threshold.

Referring now toFIG.5A, a flowchart of a method500A for performing deterministic data processing through AI is illustrated, in accordance with an embodiment. In some embodiments, the method500A may be performed using the data processing device202. At step502, a set of input feature vectors may be generated, via a deep learning network, based on input data for a deterministic data processing model (for example, the deterministic data processing model206). In some embodiments, the deep learning network may be a CGAN. In some embodiments, the set of input feature vectors may be compressed in size with respect to the input data. Further, the set of output feature vectors may be compressed in size with respect to the output data.

At step504, the set of input feature vectors may be provided to a trained AI model. The trained AI model may generate a set of output feature vectors that corresponds to an output data of the deterministic data processing model. At step506, a variation may be determined between the set of output feature vectors and the output data. At step508, an incremental learning of the trained AI model may be performed iteratively, based on the determined variation. In some embodiments, the method500A may further include training the AI model. This is further explained in detail, in conjunction withFIG.5B.

Referring now toFIG.5B, a flowchart of a method500B for training an AI model to perform deterministic data processing is illustrated, in accordance with an embodiment. At step510, a training set of input feature vectors may be generated, via the deep learning network, based on training input data associated with the deterministic data processing model. Further, at step510, a training set of output feature vectors may be generated, via the deep learning network, based on training output data associated with the deterministic data processing model.

In some embodiments, additionally, at step512, each of the training set of input feature vectors and the training set of output feature vectors may be encrypted based on Homomorphic keys. It may be noted that in such embodiments, the AI model may be trained using encrypted training set of input vectors and encrypted training set of output vectors. Further, the trained AI model may process the encrypted set of input feature vectors to generate encrypted set of output feature vectors.

At step514, the AI model may be trained to perform functions of the deterministic data processing model206. In order to train the AI model, the training set of input feature vectors and the training set of output feature vectors may be provided as input to the AI model. It may be noted that the AI model may be trained to generate the training set of output feature vectors based on the training set of input feature vectors as input. It may be noted that if the AI model is being trained using encrypted training set of input vectors and encrypted training set of output vectors, then the method may proceed to an additional step516, where the encrypted output feature vectors may be decrypted, by the trained AI model, to generate the output data.

At step518, an output of the AI model may be compared with the training set of output feature vectors. At step520, an output error may be determined between the output of the AI model and the training set of output feature vectors. At step522, the output error and the training set of input feature vectors may be iteratively fed back into the AI model till the output error is below a predefined threshold.

In an exemplary scenario, the above techniques may be used for performing address normalization, where one address format may be required to be translated into another normalized format. For example,FIG.6Ashows an overview of a process600A of performing address normalization, in accordance with an exemplary embodiment. As shown inFIG.6A, an input data602corresponding to “Palm Beach Addresses” may be deterministically processed to generate an output normalized data604. It may be noted that in order to perform the deterministic data processing, a data mapping may be performed, as shown inFIG.6B.

Referring now toFIG.6B, a process600B of text representation of mapping between input fields and output fields is illustrated, in accordance with an exemplary embodiment. As shown in theFIG.6B, the mapping may be performed between the input fields presented in a first column606and the output fields presented in a second column608. It may be noted that some of the input fields from the first column606may be mapped to the output fields in the second column608. It may be further noted that the data mapping may be used to provide training data for an AI model. For example, the AI model may be a Recurrent Neural network (RNN). It may be understood that the training may last until the RNN is able to replicate the deterministic data mapping with zero errors. The input data (i.e., input address) may be in form of input sequence of characters. The output data (i.e., normalized address) may be in the form of output sequence of characters. It may be noted that records, like historical records, may be provided in parallel to speed up the processing.

In another exemplary scenario, the above techniques may be used to perform integer addition over data by using feature extraction, and to further perform homomorphic addition using AI. For example, input data may include image representations of single digit numbers (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10). In other examples, any other type of digit representations may be used, for example digit representations including combination of digits with random data (noise). Using an Artificial Neural Network (ANN), each digit image may be transformed into its feature representation. Once the features are extracted, one or more additional ANN layers may be applied to learn the proper transformation over the extracted feature that would emulate the addition process (i.e., homomorphic addition), via a two-step process, as described below.

At a first step, an autoencoder700(exemplary) built from Convolutional Neural Network (CNN) discriminators704,706using a CGAN generator702may be trained to extract the feature representations of the digit images.FIG.7Ashows the autoencoder700for performing integer addition over data. An adversarial training of the autoencoder700may be performed. As will be appreciated by those skilled in the art, a denoising autoencoder may include two CNNs (discriminators) with back to back pooling. It will be further appreciated that such an architecture may also be multi layered with multiple CNN and pooling layers. Further, a dense ANN part in the middle may also be multi-layered. A left half of the CGAN generator702may perform convolution and a right half of the CGAN generator702may perform image reconstruction from the feature vector. The feature vector may be an output from a dense layer in the middle.

As will be further appreciated, the training of the CGAN generator702may be performed in two parts. The CGAN generator702may keep trying to trick the CNN discriminators704,706to recognize fake images as real. The CNN discriminators704,706may keep trying to recognize images created by the CGAN generator702created as fake. The training may continue until there is no progress in learning, i.e., the CGAN generator702generates the image replicas that are indistinguishable from the real image of the number. At this point, all weights of the autoencoder700are trained well enough to enable correct feature extraction. Applying this training algorithm to the whole data space, the autoencoder700may be fully trained. For example, if the addends data space is in integer set (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10), then the result of binary addition operation will be set of (0, 1, 2, 3, 4, 5 . . . 20).

At a second step, an additional operation of implementing the homomorphic addition over the extracted feature may be learned. Once the data space is explored and the learning process is complete, the additional operation (i.e., homomorphic addition) may be learned by freezing the ANN learning for the CNN discriminators704,706and the CGAN generator702, as shown inFIG.7B.

For example, the addition operation may be learned by adding deep dense layers that concatenates features from the numbers “5” and “3”, and provides output to the pretrained CNN decoder from step1. As mentioned above, the dense layers in the middle may be multi-layered. The only part of the network that may need the training is the newly added dense part that performs the homomorphic add operation. It may be noted that the discriminator may also need to be trained so that the decoder of the CGAN generator is not able to trick the discriminator. The training may be complete when the discriminator is not able to recognize the generated output from the CNN decoder being fake.

For simplicity, a bitmap picture presentation of the numbers may be used to extract the features. However, other deterministic presentation of numbers may be used that are harder to guess what the data represents, including encrypting the data. In these cases, the CNN could be replaced with dense layers, or combination of dense and CNN layers. Further, the features of encrypted data presentation may be sent over a communication network, and homomorphic transformations may be applied as part of the service in the cloud.

As will be appreciated by those skilled in the art, the above techniques relate to performing deterministic data processing through Artificial Intelligence (AI). The techniques provide for homomorphic encrypting of feature vector data extracted from input and output data, which makes the feature vector data safer to be transmitted and stored in memory or disk. This further provides capability of processing the data in motion without the need of data to be decompressed or decrypted. Therefore, the data processing may be done in a safer manner on remote nodes in a cloud, as compared to conventional deterministic data processing, in which the data in motion is not protected. Further, the data processing functions are applied over feature vectors which are compressed presentation of the input data. Due to this, requirement of computational power and storage space is less. Moreover, the speed of data processing speed is better than the speed of the conventional deterministic data processing system.