Introduction to Zero-Shot Learning
In the last few decades, the advancement of technology has allowed machines to become more intelligent. However, machines fail to differentiate between similar objects if they lack a labeled data set containing different classes, leading to a concept in machine learning known as 'zero-shot learning' (ZSL). Essentially, zero-shot learning means executing a task without prior training examples. For instance, without previously seeing a picture of it, one might recognize a cat in an image if enough accurate description has been provided.
Human Influence on Machine Zero-Shot Learning
Human beings can implement ZSL due to extensive language knowledge, which allows them to provide a descriptive overview of an unknown or new class and establish its connection with previously viewed classes and visual concepts. Due to this aspect in humans, machine ZSL is gaining momentum in expanding visual recognition.
The Mechanism of Zero-Shot Learning
The methodology of zero-shot learning involves using machine learning to develop models for undefined classes. It involves translating data from source classes to labeled samples using characteristics as a part of the information. ZSL operates in two phases:
- Training: This refers to the extraction of knowledge of attributes.
- Inference: At this stage, the extracted knowledge is used to categorize instances into a new class set.
With the influx of data that includes meta-information, there has been a heightened interest in automatic attribute identification. Research suggests that this has been quite beneficial for image recognition. Zero-shot learning methods aim to understand intermediate semantic layers and their attributes, then employ them to guess a new data class at the inference time.
Implementing Zero-Shot Learning
To perform ZSL, it requires both labeled training set of seen classes and unseen classes. A high-dimensional vector space, referred to as semantic space, interconnects the seen and unseen classes. Here, the knowledge of seen classes can be translated to unseen classes.
Implementing ZSL involves several important aspects, like zero-shot learning for text classification and images, which are categorized as vectors. The vectors need to be defined specifically for the project beforehand. These vectors are labeled, which aids the algorithms in appropriately categorizing them. The training proceeds with these vectors, leading to categorization into unique classes.
Following are the steps to implement zero-shot learning in a model:
- Get the class vector.
- Train the model using known class category vectors.
- With V=F(X), learn to categorize images as vector classifiers or regressors.
- Test by identifying new inputs and leading to newer classes.
Evolution of Zero-Shot Learning Models
In previous ZSL works, hand-crafted feature representations for objects were used. However, recently visual feature representation has been replaced with features extracted from deep convolutional neural networks (CNN). Features are extracted using pre-trained CNN models. Additionally, deep CNNs are also fed into their embedding model as inputs.
Despite the successful application of deep neural networks in learning an end-to-end model between text and images in other vision issues, like image captioning, deep ZSL models are still relatively limited. Those deep learning models using zero-shot learning that utilize feature representation but do not learn an end-to-end embedding have a slight edge over ZSL models.