Life Cycle of a Deep Learning Project

ABHISHEK GUPTA
4 min readApr 14, 2019

--

This article is kind of a note of Deep Learning Course by Andrew Ng, lecture 3. This has been written mainly for personal use but also considering could be useful to others. Since the lecture is 1 hour and 18 minutes long, I decided to make a note of it rather than going back to the video again and again. It is highly recommended that you watch the video in case if you feel you need clarification over any point.

The problem setup:

Let’s say you want to build a Voice Activated Device that gets activated when you call a specific word (audio) as triggered word, such as ‘Alexa’, ‘Ok google’, ‘Hello Siri’.

Key Component:

We need to develop a learning algorithm that takes audio clip as input and output, did it detect triggered word?

Steps of an ML project/application:

  1. Select a Problem (consider a speech recognition device like Alexa)
  2. Get Data (labeled data for supervised learning)
  3. Design Model
  4. Train Model
  5. Test Model
  6. Deploy
  7. Maintenance
  8. Quality Assurance (ongoing process, can come after step 5)

Step 2,3, 4 and 5 are the repeated several time in the process and are considered as Heart of Machine Learning Project.

What properties make a good candidate for Deep Learning:

Andrew Ng’s list of five:

  1. Interest
  2. Data
  3. Domain Knowledge
  4. Utility
  5. Feasibility

These properties will also help you to select the project.

Get Data

To get the data, you should take the following to questions into consideration,

  1. How many days (1,2,3,5,8,13…) will you spend collecting the data?
  2. How would you collect the data?

His recommendation to collect data is 1- 2 days by manually going to different people to take audio clips of the triggered word (hope you will be able to collect at least 100). It should be enough to train the model. If we can shrink the data collect period from 10–20 days (in general cases) to 2 days, it will give more to improve the model by iterating over it. The true fact is, it is very very rare to see the model working at the first attempt and need to iterate the processes over and over again.

Note: Keep clear notes on experiments run. You can have spreadsheet or word document to keep track of what’s the learning range you used or different steps you followed etc.

In the lecture step 3,4, and 5 has not been mentioned since those are separately discussed in many cases as part of Deep Learning methods. The focus of this lecture has been more of making people aware about the complete life-cycle of the project rather than just focusing on the technical part. Depending on the use cases, we can follow the step3, 4, and 5. Therefore, the focus is on next steps,

Deploy

Get learning experience from what others have done or experienced.

For this particular type of application, you have audio clip, you have the neural network and this will output 0 or 1.

Which VAD would you use?

  1. Non-ML. See of value is less(more) than a threshold value.
  2. Train small-NN or human speech (this is good for larger budget with more engineers).

One of the biggest challenges in the practical deployment is the Data Change. The data you train on, is not the it’s gonna perform. This could have several reasons, e.g. new accounts, background noise or new microphone.

Maintenance

If the data changes from US to UK speaker, which system (from the previous 1 and 2) will be more robust for VAD?

edge-search

self-driving

inspector

If the world changes and you need to take care of the learning algorithm, which path you would choose for maintenance? or in other words, does a cloud of edge deployment make maintenance more easier, and why?

Considering the data privacy and security, Cloud helps you,

  • to detect what’s going on
  • it lets you have the data to retrain the model (can solve the British accent problem)
  • lets you push the new model to production to deployment.

Therefore, Cloud deployment is preferable for the deployment and maintenance.

Quality Assurance

For the quality assurance, statistical models are used and it’s ongoing process.

I hope it helps you understand the overall process of a Deep Learning project lifecycle.

--

--

ABHISHEK GUPTA
ABHISHEK GUPTA

Written by ABHISHEK GUPTA

Data Scientist in Banking Industry.

No responses yet