A Guide To Become A Machine Learning Engineer

By Jyoti Nigania |Email | Oct 5, 2018 | 11826 Views

Machine Learning is the very popular technology and its demand is increasing day by day. Now all the organisations are looking for Machine Learning engineers and this is the highest paid profile in the industry. Here we take you through all the aspects of machine learning from simple linear regressions to the latest neural networks, and you will learn not only how to use them but also how to build them from scratch.

Big part of this path is oriented on Computer Vision (CV), because it's the fastest way to get general knowledge, and the experience from computer vision can be simply transferred to any machine learning area. We will use Tensor Flow as a Machine Learning framework, as it is the most promising and production ready. Learning will be better if you work on theoretical and practical materials at the same time to get practical experience on the learned material. Also if you want to compete with other people solving real life problems I would recommend you to register on Kaggle, as it could be a good addition to your resume.

Requirement:
Basic knowledge for Python language is quite okay not all technical knowledge for those manuals are there and can be learned.

Courses:
1. Practical Machine Learning by Johns Hopkins University
2. Machine Learning by Stanford University
3. Deep Learning course from Andrew Ng
4. Good Courses from famous Andrew Ng
5. * Deep Learning by Google
6. *CS224d: Deep Learning for Natural Language Processing
7. * Deep Learning book
Note:
  • First two courses will teach the basic things about Data Science and Machine Learning and prepare for the real hard stuff. 
  • *are the optional courses. 

Practical Part:
This list consist of many tutorials and projects, that you should try, understand how they work, and think how you can improve them. This list is created to increase your expertise and interest in ML, so don't be afraid if some of the tasks are hard for you, you can come back to them when you are ready.

1. Simple practical course on Tensor flow from Kadenze 
2. Tensor flow cookbook
3. Tensor flow-101 tutorial set
4. IBM Code Patterns: Code patterns from IBM which also includes Data Science and Analytics
5. Fast Style Transfer Network: This will show how you can use neural network to transfer styles from famous paintings to any photo.
6. Image segmentation
7. Object detection with SSD: One of the fastest and also simpler models for object detection.
8. Fast Mask RCNN for object detection and segmentation
9. Reinforcement learning: Very useful thing especially if you want to build a robot or the next Dota AI 
10. Magenta project from Google Brain team: Project that aims to creating compelling art and music with the help of neural networks. And the results are remarkable.
11. Deep Bilateral Learning for Real-Time Image Enhancement: New awesome algorithm of the photo enhancement from Google
12. Self-driving-car project: Want to make your car fully automatic, That's a good starting point.

FAQ:
What to do if you are stuck?
First, you must understand that ML it's not something that 100% precise├?┬ó??most of the cases are just a good guess and tons of tuning iterations. So to come up with some unique idea is very hard in most cases, because of the time and resources you will spend on training the model. So don't try to figure out solution by yourself search for papers, projects, people that can help you. The faster you get experience, the better. Some websites that can help you: 

Why papers do not fully cover the problem or are wrong in some places?
It's a pity to say, but not all tech guys want to open their work on public, but all of them need publications to get grants and fame. So some of them publish just a part of the material, or make mistakes in formulas. That's why it's always better to search for the code and not for the paper. You should think about the papers as evidence or a fact that certain problem was solved.

Where can I find fresh materials?
On these two websites fresh materials is available:
Should I use Cloud or PC/Laptop for computing?
Cloud is the best fit for intense computing of production models. For learning and tests it is much cheaper to use PC/Laptop with CUDA graphic card. For example, I train all models on my laptop with GTX GeForce 960M with 690 CUDA Cores.
How can I improve tuning of hyper parameters of the models?
The main problem in training is time. You can't just sit and watch the training stats. For this reason I would recommend you to use Intelligent Grid Search. Basically, just create the sets of hyper parameters and model architecture, which you think can work better and then run them one after another in stream, saving results. Thus you can run training at night and compare results the next day, finding the most promising one.

Source: HOB