What is common between Drug Discovery, Autonomous Vehicles and Content Moderation?
In all of them and many other fields, you can find contrastive learning used!
Contrastive learning is a technique in machine learning akin to teaching a computer to spot the differences and similarities between things, much like how we might teach a child to distinguish between apples and oranges by their appearance and taste. This method is precious when we don't have many labels or descriptions for things, a common scenario in many fields.
Imagine giving a computer pairs of items: some pairs are similar (like two different dogs), and some are different (like a dog and a cat). The computer's task is to figure out which pairs are alike and which are not, effectively learning to group similar items closer in its 'mind' and keep different items apart. This is useful for helping computers recognize objects in photos, understand and compare text, or even identify different sounds.
Although you don't provide explicit labels, you still need to provide the data for training in some groups. Usually, the groups are:
Positive Pairs: These are pairs of data points that are considered similar. For example, two different pictures of the same object.
Negative Pairs: These pairs are considered dissimilar. For example, a picture of a cat and a picture of a dog.
The learning objective is to minimize the distance between positive pairs in the learned feature space and maximize the distance between negative pairs.
However, deciding what makes a pair a positive pair or negative pair can be tricky, and maintaining a good balance between these pairs is crucial for the method to work effectively. Additionally, it such learning requires significant computational resources. In many applications, e.g in Natural Language Processing (NLP), it's still worth it, because hiring people to label the data manually will be much more expensive.
Where is it used? This method is widely applied in fields, where one needs to process huge amount of data, but can get some hints for pairing from the users: Computer Vision, NLP, Audio Processing, etc.
If you want to learn more, check out these resources:
Comentários