Sei sulla pagina 1di 4

How do I learn machine learning from beginner level to the level where I can

read a paper from arXiv and implement it to the real world in 2 months by
spending 18 hours per day?
Chomba Bupe, develops machine learning algorithms
Answered Wed

I don't like quick hacks and I don't have quick hacks.

A tree trunk takes time to harden because it has to support the branches and the leaves.

The moral of that statement is that the foundation is the most critical and that you must take time to learn
the basics of a subject before moving on. It takes a lot of time to develop a perspective that is unique to you
and only you. Of course you can quickly read about machine learning (ML) and use libraries like Keras to re-
implement ML models from papers but then everyone can do that.

It is possible to binge read a lot of ML literature in a very short period of time but then a lot of what you will
read won't make sense in the first reading.

For example, when I am reading a research journal:

It means that I am trying to solve a similar problem:

So the title is the first thing I look at and if it reads more like what I am working on then I might
look further into the paper.

I will then look at the abstract and confirm that the paper is definitely trying to solve something
similar.

Then I can quickly read through the paper if it is related to what I am trying to solve in order to get
to the gist or high-level overview of the concept. If the concept is interesting I can then read the
paper more thoroughly, thus committing more time to papers that makes sense.

Later I can move on to look at references and read those references that complement the concepts
that escaped my understanding in the first few readings.

If the paper is quite interesting and presented many interesting concepts I might reread it several
times just to get to those interesting points I might have missed.

I normally don't play catch up anymore, that is, I don't try to re-implement work in papers anymore, I am
now working on my own ideas and the work in research papers helps me refine my ideas. It is important to
start from a perspective where you implement the basics and not just implementing each and every model
you find in papers. It is more important to develop basic concepts from scratch and then move on to more
advanced side projects.
Though if you are learning it is important to rebuild some of the work in the papers. But it requires less effort
now because recent work comes with source code on GitHub most of the times so rebuilding the work is not
that hard, it is just as simple as getting the source codes from GitHub repository by the authors so that you
can play with the models yourself at a technical level of course.

Though deployment of ML models to actual real world use cases is something else altogether. Researchers
build narrowly scoped models which lack some supporting engineering work needed for deployment. Thus
you will need much more stronger skill sets in order to read about a model in research papers, implement it,
deploy it and monitor how it performs with real actual users.

TensorFlow maybe production ready but a lot of ML models directly from research papers are not production
ready.

You can't learn such skills in 2 months, or rather I don't think 2 months is enough to learn such skills.

If I were you, I would avoid burnout and slow down. It is not worth trying to assimilate complex stuff in such
a short space of time unless you have a strong starting position to start with. ML requires that you are
comfortable with:

Programming: In any of the following programming languages:

Python

Java

C++

Maths

Linear algebra

Matrices

Vectors

Singular value decomposition (SVD)

Numerical optimization

First order optimization methods such as gradient descent (GD) and stochastic gradient
descent (SGD).

Second order optimization methods such as Newtons method.

Calculus
Differential calculus.

Integral calculus.

Probability and statistics.

Random variables.

Probability distribution functions.

Bayes theorem

You need to revisit these topics or learn them if you have forgotten or don't know them yet.

If you are starting from scratch, like really beginner level, then 2 months can be spent learning these
prerequisites instead of actual ML but if you are familiar with them then you can just start learning ML and
revisit the prerequisites along the way as you learn ML.

To learn ML:

You need to learn the overview of ML first. There are many sources online to introduce you to ML.

Then start going deeper later on.

Then start developing basic algorithms from scratch.

Then start a personal side project like building a mini-ML library.

Getting the overview is the easy part because it can be quick and easy but going deeper is something that
must be problem driven. Thus you need to start a personal side project and not just rely on re-implementing
models from research papers. The project will help you identify what needs most of your attention and how
deep you need to dive in each area.

For example I like computer vision (CV) problems so when learning ML I focused on CV mostly and less
about natural language processing (NLP) and as a result I know more about applications of ML in CV than I
do about ML in NLP because the personal projects I started were in CV and not NLP. Overtime I can focus on
an NLP project and then get in depth knowledge about ML techniques in NLP, that is how I work, projects
guide my learning path. Thus I never expect to assimilate complex concepts in a short space of time but I take
my time by starting very challenging projects that force me to read (research), design, redesign and
implement novel approaches.

If you really want to learn ML, 2 months just won't do no matter how hard you read.

Though you can implement models and read fairly advanced research papers very early on but they won't
make much sense to you until you have spent some time practicing by reading journal after journal and
trying to implement the basics.
In summary:

Take time to digest ML concepts in order to have a better foundation.

Don't just re-implement models from research papers, start your own projects.

Also try to implement fundamental concepts and basics of ML like backprop algorithm and not
every single ML model you read about.

Hope this helps.

Potrebbero piacerti anche