This repository contains an implementation of a novel approach for unsupervised deep learning clustering using a multi-agent setting. The approach consists of an agent that performs the clustering task, we call it classifier, by projecting the data onto a one-dimensional space, and an aligner that aligns the output of the classifier with the data. The architecture was tested on the MNIST and Fashion MNIST datasets, and while it did not achieve high accuracy in clustering, it showed promising results. Specifically, the aligner was able to align the output of the classifier with good accuracy, and some classes were well clustered while others were overlapping.
The Classifier Aligner Network is a deep learning architecture that embodies a game with classifier and aligner agents. The classifier maps a sequence of data to real values. Meanwhile, the sequence will be shuffled and passed to the Aligner together with corresponding real values, where the Aligner's objective is to reorder the images in the original order. The architecture operates on the principle that the Aligner can only match the data to the corresponding class vectors if the classifiers' outputs correlate meaningfully with the input. In essence, we design a Classifier Aligner Network to achieve unsupervised learning through a collaborative effort between the classifier and the Aligner.