All of us in the group are passionate about learning how to utilize Artificial Intelligent systems in real-world applications, therefore, we picked this project.
What it does
In real world, we do not always have access to labeled datasets. Can machine learning work for unlabeled datasets as well? Self-supervised learning is a technique to achieve this. In our project, we learned to train a simple self-supervised model on images, train the encoder over our data, and visualize embeddings to show that they are linearly separable.
How we built it
We used Pytorch to implement our Neural Net and Matplotlib for visualizing the results.
Challenges we ran into
Most of us in the group were very new to Machine Learning. Therefore, it was quite difficult for us to even grasp the logic and the syntax of what we were trying to write.
Accomplishments that we're proud of
We learned a lot of new concepts very quickly and figured out a bulk of how the code works. We also brainstormed and successfully wrote our own implementations for most of the methods.
What we learned
We learned about the concept of self-supervised learning and how to implement a simple model based on it.
What's next for Learning By Observation
We gained a lot of knowledge from this experience and ventured outside our comfort zone. We would all love to work on future Machine Learning projects similar to this one!