Clustering: The DeepCluster Algorithm
Explore the DeepCluster algorithm to cluster image features by combining neural networks with K-means clustering. Understand how the method creates pseudo labels through clustering and updates the network weights to improve feature grouping in self-supervised tasks. This lesson helps you implement and visualize clustering of neural network features for unlabelled image data.
We'll cover the following...
Contrastive learning vs. clustering
Clustering-based self-supervision objectives aim to cluster the feature space so that similar images lie within the same cluster and dissimilar images lie within different clusters. This is a direct way of getting what contrastive learning aims to achieve.
As shown in the figure below, contrastive learning aims to bring together positive image pairs while pushing apart negative pairs, thus indirectly creating groups within the feature space. Clustering, on the other hand, naturally creates such groups in the feature space.
The DeepCluster algorithm
DeepCluster is a clustering algorithm that jointly learns the parameters of a neural network, where