You are on page 1of 32

The Rise of Machine

Learning : An Industry
Perspective
- Razu Ahmed
Razu Ahmed
Software Engineer, Softcell Solutions Ltd.
Manager, Idea & Innovation, Youth Carnival
LinkedIn: https://www.linkedin.com/in/razuse/
Email: swe.razu@gmail.com
What This Talk Will Cover
- A brief overview of Machine Learning Job in Bangladesh
- Path to a ML/DL Engineer
- Research Problem Findings
- Software Engineering: Tech Industry
Artificial Intelligence Companies in Bangladesh
● Pathao ● Ice9
● Augmedix ● Monon AI
● BJIT ● PrideSys IT
● BrainStation ● Sigmind
● Cramstack ● Zantrik
● Data Soft ● Apurba Technologies Ltd
● Desh AI ● Intelligent Machines Limited
● eGeneration ● Ascii System
● Gaze Technology ● Socian
● Genex Digital ● Infolytx
● ChatLeads ● Medmax
● Ulka Bangladesh ● cWork
● Softcell Solutions Ltd
Path to a ML/DL Engineer
1. Build foundations, and then specialize in areas of interest.
2. Design your curriculum around topics that personally excite you.
3. Foundations
(Programming)
● Syntax and basic concepts: Google's Python Class, Learn Python the Hard Way.
● Practice: Coder byte, Code wars, Hacker Rank, Kaggle
● Linear algebra
● Deep Learning Book, Chapter 2: Linear Algebra. A quick review of the linear algebra
concepts relevant to machine learning.
● A First Course in Linear Model Theory by Nalini Ravishanker and Dipak Dey.
Textbook introducing linear algebra in a statistical context.
ML Engineer: Statistics & Math
Probability & statistics
● MIT 18.05, Introduction to Probability and Statistics, taught by Jeremy Orloff and Jonathan
Bloom.
● All of Statistics: A Concise Course in Statistical Inference, by Larry Wasserman. Introductory text
on statistics.
Calculus
● Khan Academy: Differential Calculus. Or, any introductory calculus course or textbook.
● Stanford CS231n: Derivatives, Backpropagation, and Vectorization, prepared by Justin Johnson.
Algebra
● Essence of linear algebra (by 3Blue1Brown)
● Linear Algebra Done Right, Third Edition, 2015.
● No Bullshit Guide To Linear Algebra, Ivan Savov, 2017.
ML Engineer: Machine Learning
Machine learning
Courses
● Andrew Ng's Machine Learning course on Coursera (or, for more rigor, Stanford CS229).
● Data science bootcamps: Galvanize (full-time, 3 months, $$$$), Thinkful (flexible schedule, 6
months, $$).
Textbook
● An Introduction to Statistical Learning by Gareth James et al. Excellent reference for essential
machine learning concepts, available free online.
● The Elements of Statistical Learning – data mining, inference, and
prediction by Trevor et al.
ML/DL Engineer: Deep Learning
Deep learning
Courses
● Deeplearning.ai, Andrew Ng's introductory deep learning course.
● CS231n: Convolutional Neural Networks for Visual Recognition, Stanford's deep learning
course. Helpful for building foundations, with engaging lectures and illustrative problem sets.
Projects
● Fast.ai, a fun and hands-on project-based course. Projects include classifying images of dogs vs. cats and
generating Nietzschean writing.
● MNIST handwritten digit classification with TensorFlow. Classify handwritten digits with >99% accuracy in 3
hours with this tutorial by Google.
● Try your hand at a Kaggle competition. Implement a deep learning paper that you found interesting, using
other versions on GitHub as reference material.
ML/DL Engineer: Deep Learning
Reading
● Deep Learning Book, a.k.a. the Bible of Deep Learning, authored by Ian
Goodfellow, Yoshua Bengio, and Aaron Courville.
● Neural Networks and Deep Learning, a clear and accessible online deep learning text
by Michael Nielsen. Ends with commentary on reaching human-level intelligence.
● Deep Learning Papers Reading Roadmap, a compilation of key papers organized by
chronology and research area.
ML/DL Engineer: Reinforcement Learning
Reinforcement learning
Reading
● Richard Sutton's book, Reinforcement Learning: An Introduction.
Courses
● John Schulman's CS 294: Deep Reinforcement Learning at Berkeley.
● David Silver's Reinforcement Learning course at University College London.
● Deep RL Bootcamp, organized by OpenAI and UC Berkeley.
Projects
● Andrej Karpathy's Pong from Pixels. Implement a Pong-playing agent from scratch in 130 lines of code.
● Arthur Juliani's Simple Reinforcement Learning with Tensorflow series. Implement Q-learning, policy-
learning, actor-critic methods, and strategies for exploration using TensorFlow.
● See OpenAI's requests for research for more project ideas.
ML/DL Engineer: Artificial Intelligence
● Artificial intelligence
● Artificial Intelligence: A Modern Approach by Stuart Russell and Peter Norvig.
● Sebastian Thrun's Udacity course, Intro to Artificial Intelligence.
● Fellowships: Insight AI Fellows Program, Google Brain Residency Program
● Artificial intelligence safety
● For the short version, read: (1) Johannes Heidecke's Risks of Artificial Intelligence,
(2) OpenAI and Google Brain's collaboration on Concrete Problems in AI Safety, and (3) Wait
But Why's article on the AI Revolution.
● For the longer version, see Nick Bostrom's Superintelligence.
Machine Learning Tools
● Pandas – Data frame library
● NumPy – Calculation and matrix library (Scientific Calculation)
● Scikit-learn – machine learning library , Data preprocessing, predictive
model building and performance testing.
● matplotlib – Graph plotting
● seaborn: statistical data visualization
● (Natural Language Toolkit)NLTK: NLTK is a popular open-source package in Python.
Rather than building all tools from scratch, NLTK provides all common NLP Tasks.
Natural Language Processing in Real Life
● NLP is a field in machine learning with the ability of a computer to understand, analyze, manipulate, and
potentially generate human language.
• Information Retrieval(Google finds relevant and similar results).
• Information Extraction(Gmail structures events from emails).
• Machine Translation(Google Translate translates language from one language to another).
• Text Simplification(Rewordify simplifies the meaning of sentences). Shashi Tharoor tweets could be
used(pun intended).
• Sentiment Analysis(Hater News gives us the sentiment of the user).
• Text Summarization(Smmry or Reddit’s autotldr gives a summary of sentences).
• Spam Filter(Gmail filters spam emails separately).
• Auto-Predict(Google Search predicts user search results).
• Auto-Correct(Google Keyboard and Grammarly correct words otherwise spelled wrong).
• Speech Recognition(Google WebSpeech or Vocalware).
• Question Answering(IBM Watson’s answers to a query).
• Natural Language Generation(Generation of text from image or video data.)
Path to a ML/DL Engineer: Summary
● Pick up Python First. (Or your choice, i.e. R, MATLAB etc.)
● Be a best programmer in Python.
● Python along with libraries for data like Pandas, NumPy and Seaborn.
● Once you are good at data processing with Python, proceed to Machine learning in
Python.
● Pick up Sci Kit learn and exhaust all clustering, classification and regression algorithms
on data,
● Now go to Kaggle, attempt some ML problems there. Try improving your rank by
constantly improving your solution.
● You are on your path to becoming a data scientist.
Typical Data Science/ML MS
Research problem Finding
● https://cs.uwaterloo.ca/about/people/group/49
● http://www.software.fudan.edu.cn/software/index.html#/teacher/teacher
● http://mitibmwatsonailab.mit.edu/research/

● রিসার্চ/রিরসস কেন এবং রেভাবব েিববন ?


● রেভাবব ভাব া জানচা /েনফাবিবে রিসার্চ কেোি োবর শ েিববন ?
Data Search
● https://registry.opendata.aws/ (Image Data)
● https://archive.ics.uci.edu/ml/index.php (Machine learning repository)
● https://toolbox.google.com/datasetsearch (google data search)
● http://data.gov.bd/ (Bangladesh Govt data)
● https://github.com/awesomedata/awesome-public-datasets#agriculture
(Awesome Public Datasets)
IDE/Editior
● ANACONDA
● MINICONDA
● Spyder/jupyter/Ipython notebook
● PyCharm/ R studio
Big Data: Concepts and Tools
There are many V’s coming up to define the
● Taxonomy of Big Data
characteristics of Big Data

Reference: Md. Razu Ahmed, Mst. Arifa Khatun, Md. Asraf Ali, Kenneth Sundaraj. “A literature review
on NoSQL database for big data processing,” Int. J. Eng. Technol., vol. 7, no. 2, pp. 902–906,
2018.
Compute Infrastructure of Big Data
Storage System of Big Data
Hadoop Stack
NoSQL Databases
Taxonomy of Machine Learning
A Brief Overview of Tech Industry/culture
Available Roles:

- Software Engineering
- Data Science
- Research
- Management, HR and many more

I’ll only talk about Software Engineering roles because of time


constraint, sorry!
How to Improve Your Chances (to get job)
- Referrals
- Contest programming
- Competition attend (i.e. kaggle)
- Contribution in open source projects
- Attend BoothCamp
- Hackathons
- Research
Q: How would you improve your skills as a
software engineer (ML/DL)?
1. Learn more languages
2. Learn more Algorithms and Data Structures
3. Learn to use cool frameworks (i.e. pytorch, tensorflow or web framework)
4. Learn API and RestAPI

5. Do Something Else
Goals of Software Engineering
Write code that is

- Safe from bugs


- Easy to understand
- Ready for change
- Optimized for Performance
Git
- Cloning
- Committing
- Branching and Merging
- Code review
Bash
- Common commands like cd, ls, clear, touch, mv, rm, ps, kill
- Grep (or ripgrep) and some regex
- Personal .bashrc and aliases
- Vim, the one true text editor for everything ;)
Unit Testing
- Learn about unit testing strategies
- Pipenv and pytest
- The mock module
Questions?

You might also like