DEV Community

Kim Diep
Kim Diep

Posted on

We did it! Top 5 Reflections - Machine Learning Final Project @ Makers

The Final Project at Makers

For the final project at Makers, I chose Art/Music AI as my topic of choice. I was assigned to a team called 'AJAK' to build a project of our choice.

For our project, we ended up using a Convolutional Neural Network Machine Learning model to classify doodles. The aim was for the user to input a doodle and the model outputs a prediction on what the user has drawn. In our app, the user can draw a camera, crown or rabbit.

We all came into the project with no/little knowledge on Machine Learning. We only had 1 1/2 weeks to complete the project, so it was a big achievement for us when we delivered our product on Demo Day!

You can check out our repo on Github!

Check out our app here: https://ajak-doodler.herokuapp.com/

AJAK Doodle App
AJAK Doodle App

We're on Social Media!

If you missed the action, don't worry! You can catch up via LinkedIn, Twitter or Facebook.

Check out the LinkedIn post

Here's the Twitter post

Missed the May 2019 Demo Day event @ Makers? You can watch the presentations on Facebook.

What's it like to do a Machine Learning Project?

Here are my top 5 reflections:

#1 Machine Learning is flipping awesome!!!

I went into the project with some theoretical knowledge on Machine Learning, but no implementation know-how at all. Within 10 days, I fell in love with deep learning technologies and now feel equipped to do my own projects!

#2 Data acquisition and processing was a key part of the project

Even before the model can be trained, there was a lot of decision-making on where to get the data from, what the format of the source data was and data exploration to explore what was possible given the dataset. Data processing was important to get the data into the right format for our model.

#3 Building in Research & Development (R&D) time at the start of the project paid off

Given little team knowledge on Machine Learning, the first couple of days was spent on research. Whilst the other teams were putting code down, we hadn't produced any code yet. This didn't matter, as we took on a challenge and stuck to our team goals.

Personally, I learnt a lot from exploring a classification problem using the Handwriting MNIST dataset (literally the 'Hello World' of Machine Learning) and doing some crash courses using online tutorials.

We learned together as a team, used the whiteboard to break down our problem and made sure every team member understood the domain and choice of model. We chose to use a Convolutional Neural Network (CNN) in the end!

Convolutional Neural Network (CNN)
Understanding Convolutional Neural Networks (CNN)

#4 Re-grouping as a team was useful to make informed decisions

There were a couple of moments in the project where we had to make pivotal decisions on the pros and cons of the technical implementation and balancing against delivering our Minimum Viable Product (MVP).

Re-grouping as a team and diagramming ideas out made it easier to be on the same page and created the space for ideas to be generated and decisions to be made!

Deciding on our technical architecture

#5 Sharing the love for Agile!

Having daily stand-ups, retrospectives and valuing communication over processes helped us to apply Agile theory to Agile practice! This made our team gel a lot better and made our project more engaging to create with the end-user in mind!

Final Thoughts

We delivered a kick-ass interactive project!

Thank you to my team for the wonderful journey into Machine Learning! :) You guys were awesome - a pleasure working with you all :)

Byeeeeeeee,

Kim

Top comments (0)