Recycling Artificial Intelligence Algorithms with Transfer Learning

by Naveen Joshi – Director at Allerin; Process Automation, Connected Infrastructure (IoT); Research & Development on ML/DL

Algorithm developers are using transfer learning to reuse the experience gained by one algorithm as the starting point for building another one for performing related tasks. Humans can transfer their knowledge across different tasks. For instance, if a person knows how to ride a bike, then he can easily transfer his knowledge to learn how to drive a car. Transfer learning is a similar concept. It is a process that enables developers to use the experience gained by one model while performing one task and apply it to a second model to solve different but related tasks. It differs from the traditional machine learning method in a way that it uses pre-trained algorithms to jump-start the development of another algorithm.

Applications of transfer learning

One of the biggest advantages of transfer learning is that it speeds up the time required to develop and train an AI model. The quickness that it provides to develop new AI systems has paved the way for many transfer learning applications.

No alt text provided for this image

Transfer learning for NLP

NLP uses various techniques like text embeddings, machine translation, and dialogue and conversations to decipher and understand the meaning of texts. These different techniques are prepared using different training datasets for accomplishing various tasks like document classification, sentiment analysis, and language generation. The training data sets of these different technologies can be used together to create an AI model that can accomplish different NLP tasks. For instance, developers can create a conversational chatbot that can learn from knowledge gained by various NLP datasets to provide different NLP use cases.

Transfer learning for speech

Developers can leverage the benefits of transfer learning to develop and train speech recognition models. For instance, to develop a speech recognition system, developers require thousands of hours of speech as training data. But to train a speech recognition system from an existing model will require data from the first model and a few hours of additional speech data that is specific to new tasks. Let’s take an example of an AI system that can detect emotions based on the voice of people. To develop such a system, developers can transfer knowledge of pre-trained algorithms for speech recognition to their AI algorithms and then combine algorithms that can detect emotions.

Transfer learning for computer vision

One of the applications where computer vision excels is image classification. Computer vision uses several methods for image classification based on task-specific features like edge detection, blob detection, and scale space. Suppose a neural network is created to classify only a few animals say, for example, cats, dogs, and cows, but now the developer wants the network to detect horses too in images. Then developers can transfer the knowledge of an AI model that was created to detect horses and add it to their network so that it can detect horses along with other animals.

One of the biggest challenges in developing and training ML algorithms and deep learning neural networks is the data and time required to train them. But, with the ability to increase developing speed, transfer learning will surely be a key driver for encouraging developers to develop more AI models for serving various aspects of complex manual tasks. Transfer learning can also be challenging as the developer needs to know whether the end task they want to achieve is similar to the end task of the first algorithm or not. If they transfer knowledge of a non-related task, then the new model might not be as accurate as initially thought by the developer.