
How to Start Learning Deep Learning - ofirpress
http://ofir.io/How-to-Start-Learning-Deep-Learning/
======
roberdam
From the point of view of a programmer without much background in advanced
maths, this is the best short intro to the subject I have found so far:

[https://medium.com/@ageitgey/machine-learning-is-
fun-80ea3ec...](https://medium.com/@ageitgey/machine-learning-is-
fun-80ea3ec3c471#.7377bbqjf)

~~~
jesalg
Really enjoyed reading through that 3 part series. Easier to understand for an
average programmer. Another one along those lines:
[https://www.oreilly.com/learning/hello-
tensorflow](https://www.oreilly.com/learning/hello-tensorflow)

------
S4M
I am very sorry for the negativity, but that post is just a list of links to
Deep Learning and Machine Learning classes compiled by a student. The fact
that it made it to the front page of HN proves that there's a massive hip
about Neural Network among programmers, but that it sounds like black magic
for most people interested in learning them.

~~~
ofirpress
Lots of people have heard about deep learning but dont really know where to
start. When I was starting a year or so ago I was in the same place. I just
took the resources that I used to learn about the field and put them all in
one place. As far as I know, this hasnt been done before. Im not trying to
provide any new insights into deep learning.

~~~
anantzoid
Greg Brockman (Founder of Open AI) has written this amazing answer:

If you want to read one main resource... the Goodfellow, Bengio, Courville
book (available for free from
[http://www.deeplearningbook.org/](http://www.deeplearningbook.org/)) is an
extremely comprehensive survey of the field. It contains essentially all the
concepts and intuition needed for deep learning engineering (except
reinforcement learning).

If you'd like to take courses... Pieter Abbeel and Wojciech Zaremba suggest
the following course sequence:

\- Linear Algebra — Stephen Boyd’s EE263 (Stanford) \- Neural Networks for
Machine Learning — Geoff Hinton (Coursera) \- Neural Nets — Andrej Karpathy’s
CS231N (Stanford) \- Advanced Robotics (the MDP / optimal control lectures) —
Pieter Abbeel’s CS287 (Berkeley) \- Deep RL — John Schulman’s CS294-112
(Berkeley)

(Pieter also recommends the Cover & Thomas information theory and Nocedal &
Wright nonlinear optimization books).

If you'd like to get your hands dirty... Ilya Sutskever recommends
implementing simple MNIST classifiers, small convnets, reimplementing char-
rnn, and then playing with a big convnet. Personally, I started out by picking
Kaggle competitions (especially the "Knowledge" ones) and using those as a
source of problems. Implementing agents for OpenAI Gym (or algorithms for the
set of research problems we’ll be releasing soon) could also be a good
starting place.

Quora link: [https://www.quora.com/What-are-the-best-ways-to-pick-up-
Deep...](https://www.quora.com/What-are-the-best-ways-to-pick-up-Deep-
Learning-skills-as-an-engineer/answer/Greg-Brockman?srid=cgo&share=d1ac0da2)

~~~
ofirpress
Thats awesome, I wasn't aware of this. I slightly disagree with Greg though
about the "one main resource". While the DL book is amazing, its not really
aimed at newbies, and so I think CS231n is a much better starting point. For
example, for a beginner I think the way backprop is explained in Stanford's
course is better than the explanation in the book.

~~~
anantzoid
"One main resource" as in, it goes through all the underlying math required in
details etc. It's usually assumed that people entering into DL have some
experience with Machine Learning. Of course, for someone staring with ML,
CS229 is the first thing she should pick up.

------
golergka
On a related note, can someone give a glimpse into what is it like to actually
change careers from development to ML? How much do you need to learn, what
skill level is required, and how do entry ML positions compare with regular
mid-senior developer positions in terms of compensation and overall work
environment?

~~~
xenihn
I know of three paths right now:

\- Get a Master's or PHD

\- Work at Google and wait for your turn to do their internal ML bootcamp

\- Udacity Nanodegree Plus (I would love to hear from anyone who has gotten a
job through this)

------
etqwzutewzu
The article mentions [https://www.coursera.org/learn/machine-
learning](https://www.coursera.org/learn/machine-learning)

does anybody know:

\- How much work is required by week?

\- Pre-requisite?

\- Programming language used?

Other feedbacks?

~~~
thibaut_barrere
I'm currently going through the course (at week 5 at the moment).

Work per week: can vary between 6 to 12 hours depending on the week and your
background and willingness to dive into some demonstrations.

Pre-requisite: first, you definitely need to save some quality time otherwise
you'll drop out (I heard the completion rate is around 10%). I feel that
having a bit of matrix computations, algebra background helped. Some parts are
easy, other parts are harder (but YMMV).

Programming language used: octave; while it's nice to work at that level of
abstraction, I found the "feedback loop" very slow when you submit exercises,
so in the end I used
[https://github.com/MOxUnit/MOxUnit](https://github.com/MOxUnit/MOxUnit) with
[http://entrproject.org/](http://entrproject.org/) to have a faster feedback
loop (anyone can email me at thibaut.barrere@gmail.com to get more details).
This is especially useful when dealing with vectorization of computations.

Overall I found that the course is great for me (coming from an ETL,
programming background with some solid maths exp at some point), and I'm
learning quite a bit; a good introduction with a pragmatic viewpoint.

------
sriram_sun
I work in Medical Devices. In one of my jobs, the goal was to collect blood
products - Platelets, Plasma, RBCs and keep WBCs at bay - using centrifugal
separation. The 'prediction' algorithms would make a best effort prediction on
how fast (and when) to run the various mechanical components - the Centrifuge,
Platelet, Plasma and RBC pumps to optimally collect these products with
minimum variability. Luckily they had the foresight and technical chops to
build and collect every little detail about how the devices ran, under what
inputs etc. Access to the 'outcome' of the treatment was tricky - the
hospitals/collection centers had to actually measure the actual platelet
counts and make sure they enter it into their system. What I'm getting at is
that there is a trove of data in Medical Devices - if there isn't, hopefully
companies will start collecting data with a view to applying machine learning
a few years down the line - and given the complexity of some of the problems,
this would be a great field for application.

A couple of years back, there was also talk of Pharmaceutical companies
opening up their data for clinical trials. I'm not sure where things are with
that effort. If anyone has any info on that, it would be good to know.

------
rockdiesel
Here's some free machine learning books to get you started, as well -
[https://hackerlists.com/free-machine-learning-
books/](https://hackerlists.com/free-machine-learning-books/)

