Settings

Theme

How to Start Learning Deep Learning

ofir.io

264 points by ofirpress 10 years ago · 30 comments

Reader

roberdam 10 years ago

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...

S4M 10 years ago

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.

  • DanaNewton 10 years ago

    I found this list useful, and I appreciated the context and alternatives given to the standard recommendations. However, this comment epitomizes what drives me nuts about HN, negativity, with no feedback or justification.

    What, if anything is wrong with the list of links provided?

    What would you have recommended? And why does this list come up short?

    What led you to believe the link would be more than "just" a list of learning classes?

    You take issue with the fact this list was compiled by someone getting their master's in Deep Learning, why? If it matters who gives the suggestions, might I ask who you are and what qualifications you posses to so flippantly discount someone's contribution?

    > proves that there's a massive hip about Neural Network among programmers

    Wouldn't the opposite be true, if people learned more about the subject ?!?!

    > I am very sorry for the negativity

    Are you?

  • ofirpressOP 10 years ago

    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 10 years ago

      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/) 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...

      • ofirpressOP 10 years ago

        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 10 years ago

          "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.

      • ma2rten 10 years ago

        I just wanted to say this is a great recommendation for anyone who is serious about learning deep learning / machine learning. I also want to note, there are other resources available for people who are less serious about it and just want to get a general overview.

    • dr_zoidberg 10 years ago

      I'm "on the other side". I took a very good AI course 6 years ago, right before deep learning exploded. And while I had the concepts to understand why they work, it took me a while to start using the new tools.

      The compilation of links is good, and you are very clear presenting them. Wish I'd had this earlier to save some time, but still, thanks for compiling this list!

    • mbrundle 10 years ago

      I would ignore the top reply. I found this a very helpful collection, and I appreciated your breaking down of resources for starting off in different areas of deep learning. It's at the perfect level for a summer student that I'm currently supervising.

  • collyw 10 years ago

    I found it reasonably helpful. Especially the line telling me what Maths prerequisites I should have and where to get them.

  • jjallen 10 years ago

    Shouldn't it just be a helpful list of links? "How to Start" == "Here are a bunch of links to resources I found helpful".

    And like another commenter said: comments that are negative for the sake of being negative are why HN has a negative reputation.

golergka 10 years ago

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 10 years ago

    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)

  • JamesBarney 10 years ago

    I read the best way was(no actual experience in this field, but it sounded like a good plan to me)

    1. Finish a degree in ML and a couple of projects

    2. Use this experience, as evidence of enthusiasm for applying as a support engineer on an ML project. (Working on infrastructure, and all the surrounding development work an ML project requires)

    3. Keep trying to move more and more into the ML side of things.

  • whenwillitstop 10 years ago

    Yeah I'm interested in this as well, and cannot find the information anywhere...

etqwzutewzu 10 years ago

The article mentions 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 10 years ago

    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 with 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.

  • zzh8829 10 years ago

    I just finished the course last week. I really liked Andrew's teaching style and enjoyed it very much. The work load is light compare to on campus courses at my school. I strongly recommend anyone interested in ML/AI to take the course.

  • Delmania 10 years ago

    There's no prerequisites, Andrew manages to make all the maths self contained. He uses MATLAB/Octave, and the assignments can take around 8 hours or so of work.

sriram_sun 10 years ago

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 10 years ago

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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection