Hacker News Comments on
Hacker News Stories and CommentsAll the comments and stories posted to Hacker News that reference this url.
I have self taught this material and have been working professionally in the field for some years now. It was primarily driven by the need to solve problems for autonomous systems I was creating. When I am asked how to do it I give the progression I followed. First have preferably a CS background but at least Calc 1&2, Linear Algebra, and University statistics, then:
1. Read "Artificial Intelligence A Modern Approach" and complete all the exercises 
2. Complete a ML course I recommend the Andrew Ng Coursera one 
3. Complete a DL course I recommend the Andrew Ng Coursera one 
4. Complete specialization courses in whatever you are interested in such as computer vision, reinforcement learning, natural language processing, etc. These will cover older traditional methods in the introduction also which will be very useful for determining when DL is not the correct solution.
Additionally I suggest a data science course which usually covers other important things like data visualization and how to handle bad/missing data. Also, I learned a lot by simply being surrounded by brilliant people who know all this and being able to ask them questions and see how they approach problems. So not really self taught as much as untraditionally taught.
Unfortunately not a single person has actually followed the advice. Everyone has only watched random youtube bloggers and read blogs. Some have gotten into trouble after landing a job by talking buzzwords and asked for help but my advice does not change.
It does make it rather hard to find a job without a degree though, I would not recommend it. All of mine only come from strong references I have from luckily getting my foot in the door initially.
Edit: formatting, typo
⬐ rubicon33Teaching isn't just about presenting the information to the student.
That's basically all you've done. Here, student, read these complex topics and at the end of it all you will have learned machine learning!
The art of being a teacher is much more nuanced. You (apparently) fail to present the material in a way that is accessible, relatable, and not overwhelming.
For example, the first thing you say to do is go read a college textbook front to back, and do all the exercises. And you're surprised that nobody has followed your steps?⬐ Datenstrom⬐ historyremadeYes, you are right. I'm not trying to teach the the dozen or so people who have asked, only to lay out a progression with prerequisites similar to what I did for self learning. I certainly do not have time to be creating courses and problem sets or anything more than answering specific questions.
The AIMA book has a lot of open resources around it that I always mention including a full open course I believe, it should all be linked on the site. Although, I also mention that while it is probably not a good idea they can possibly skip it and go right on to the ML course. Both of the Coursera courses are complete with lecture videos and work presented in a very accessible manner including interesting projects.Coursea is bullshit.⬐ gas9S9zw3P9cThanks for sharing your learning path and congrats to your success. There are so many great resources out there that it's possible for anyone to become an expert. Unfortunately, people like you who are willing to put in the hard work seem to be the minority. All of your success is well-deserved and props to you. Just like you said, most gravitate towards the easy-to-understand videos and blogs instead of confronting their gaps in knowledge. I've had the same experience with giving advice - anything that looks like it requires focused work (solving textbook problems!) or is unsexy is readily ignored in favor of the latest hype demo or high-level framework.
> It was primarily driven by the need to solve problems for autonomous systems I was creating.
I wonder if your success also had something to do with the fact that you had a specific problem you were trying to solve. Did you feel that your specific problem put everything you were learning into context and made it easier to stay motivated?⬐ Datenstrom> Did you feel that your specific problem put everything you were learning into context and made it easier to stay motivated?
Absolutely, having focus on finding better solutions to a single problem for multiple years certainly helped putting everything into context and staying motivated. That is the biggest problem I think, really learning this stuff like is needed to in order to solve new problems takes years of investment and just can't be done in a week or a month. Pretty hard to stay focused on something for that long without a goal and support of some sort.
The way that having the specific long term problem to solve really helped was always having that thread spinning in the back of my mind thinking about how something new could be applied to solve part of it and possibly trying it out. Also thinking about if certain approaches could even be practical at all.
I suppose that is probably fairly similar to grad school though.⬐ godelski> I wonder if your success also had something to do with the fact that you had a specific problem you were trying to solve.
As a side note, and I've found that this is one of the best ways to learn. Find a hard but obtainable problem and work towards it gathering all the knowledge you need along the way. What works for me is breaking down a project into a bunch of mini projects and so it becomes a lot easier to track progress and specify what I need to learn. That way even if you don't finish the project there's still a clear distinction of what you learned and can do.
I'm highly in favor of project oriented learning.⬐ BrezaI completely agree with this. In undergrad, I majored in non-profit management. Every single course in major had a field work requirement. Grant writing class required us to work with an area charity and write them a grant application, which our professor graded as one of our assignments. Same thing for program evaluation class and the rest. In addition to learning the topics, I learned so much about how to work with real world teams.
I would recommend Andrew Ng's Deep Learning Course. https://www.coursera.org/specializations/deep-learning
This course is extremely good mostly because it covers the essential theoretical topics and gives some practical advice. TIP: do solve the assignments bcz it will clear a lot of concepts while solving it. ( or other solution can be found on github )
⬐ babeshI think it would be useful to take Udacity’s machine learning class as well to provide an additional perspective. There are some parallels such as edge detection uses the same techniques as convolutional networks, regularization is a general technique useful for both neural networks and clustering, optimization of steps in planning probably has a parallel to how Alpha Go works. Particle filters was cool.
Also, take several of the classes in the specialization. Don’t stop at the first course. Convolutional networks has been great.
I liked working on the notebooks and watching the interviews with some of the pioneers of Deep Learning.⬐ crazypythonCan anyone who's taken that and MIT's deep learning course (introtodeeplearning.com) compare them?
How much do the material overlap? Which one is better?⬐ kelvin0I strongly second that and also Andrew Ng's : Machine Learning course.
The only thing that was annoying for me was that the Jupyter assignment auto-grader would incorrectly fail correct answers and it's not always easy to debug the reason why it failed. If the python syntax deviates too much from the expected answer, it also can cause some issues. Please note: I am a very experienced programmer and have been using python for more than a decade. This was not my first rodeo...
Otherwise this should in no way be a deal breaker, the material and assignments are top-notch. The forums are also helpful in finding out issues with the auto-grader.
Worth every penny and minute invested!⬐ freewilly1040Can you comment on whether it'd be best to jump straight into the deep learning course, or is it better to do the machine learning course first?⬐ LarrikinThe deep learning course is taught in a way where you don't need the machine learning course first, so it's possible to start with either, especially if you have any familiarity with ML. Deep learning is one specific type of machine learning so there is alot of other techniques you will be missing if you only do the deep learning course though.⬐ ganstylesI went through it, really enjoyed it. But I had experience in the same subject matter before taking it. If you have some ML experience, I would recommend diving straight in for a good breadth-first look at deep learning topics. If you don't have any ML experience or don't really know the concepts, I would recommend taking their other course first (Intro to AI, or AI for Everyone, or w/e -- which I skimmed to see if it was something I should recommend to others, and I liked it).
I would recommend Andrew Ng's updated course on Deep Learning with python instead. https://www.coursera.org/specializations/deep-learning
⬐ sodez117As someone that's new to ML but interested in it, do you recommend people skip the original course? Does it cover the same things?⬐ airstrikeI took it about 6-7 years ago, so I totally believe you⬐ tasubotadasYeah - the updated version is much better (I've completed both of them) just because you don't need to struggle with Matlab.
Overall, this course is extremely good mostly because Ng covers the essential theoretical topics and gives some practical advice. Also, the topics are explained really well and you do not need to look up additional material. Also, I really appreciate that he took the time to derive those equations while others just drop the results.⬐ kevasI'm started the Deep Learning course last night and I too think it's really good. After you finished the series of courses, what did you move on to?⬐ silverdrake11fast.ai
* https://www.youtube.com/watch?v=UzxYlbK2c7E: Andrew Ng's machine Learning course, the recommended entry point by most people
* https://mlcourse.ai/ : More kaggle focused, but also more modern and has interesting projects
Do both courses simultaneously, take good notes, write useful flashcards, and above all do all the exercises and projects
* https://www.fast.ai/ - Very hands-on, begin with " Practical Deep Learning for Coders" and then "Advanced Deep Learning for coders"
* https://www.coursera.org/specializations/deep-learning : More bottom-up approach, helps to understand the theory better
Do those two courses in parallel (you can try 2 weeks of coursera followed by one of fastai in the beginning, and then just alternate between them), take notes, write good flashcards and above all do the exercises and projects.
After that you will be done with the beginning, your next step will depend on what area interested you the most, and getting way too many resources right now can be extremely confusing, so I would recommend doing a follow-up post after you worked through the above resources. Also as non-ML stuff I recommend Scott Young's Ultralearning and Azeria's self improvement posts (https://azeria-labs.com/the-importance-of-deep-work-the-30-h...)
I started with with the machine learning course on Coursera followed by the deep learning specialization. The former is a bit more theoretical while the latter is more applied. I would recommend both although you could jump straight to the deep learning specialization if you're mostly interested in neural networks.
This is very similar to Andrew Ng's Deep Learning Specialization course . If you found this blog post enjoyable be sure to check it out. It is a great course and the intuitions behind NNs are explained very clearly.
Andrew Ng shares his impressive knowledge on Coursera (which he is a co-founder of). For those interested:
- https://www.coursera.org/learn/machine-learning (Machine Learning Course)
- https://www.coursera.org/specializations/deep-learning (Deep Learning Specialization)
⬐ madeuptempacctI didn't find the machine-learning course to be that great, but I don't know anything about machine learning.
I thought both of these two courses on coursera were quite good:
First one is a bit older school, but takes you through all the fundamentals and actually explains a lot of the math involved. It also gets you thinking a lot more about how to solve problems from a Linear Algebra standpoint and the types of problems machine learning is good for tackling.
Second one is a much more modern day set of courses specifically focused on Deep Learning techniques and problem solving.
I thought both were great. First one is free as well...
I'd suggest starting with this excellent course:
And then dive into competitions on kaggle.com.
Then following up with the deeplearning.ai specialization here: https://www.coursera.org/specializations/deep-learning
and the http://www.fast.ai/ courses.
You'll be up to speed in no time :)
I totally agree with you.
I started Deep Learning Specialization in Coursera: https://www.coursera.org/specializations/deep-learning last month and almost finished it, but I realized this field requires a lot of expertise, not something you can learn in a month. What I learned in the courses was just a basic topics in Deep Learning and how to use Numpy, TensorFlow and Keras.
I was considering diving into a Data Science job and started that specialization as a starting point, but I just realized how foolish I am. Chances are I'll find a job, but it definitely takes another 10 years/10,000 hours to master this discipline.
Anyway, the specialization is wonderful and Dr.Ng explains complicated Deep learning topics in a way that is understandable for everyone. So if just learning is what you want, you should take it, but I don't think you are prepared for a real world Data Science job after finishing it.
Here's another resource that I've been following the past few weeks. Andrew Ng recently launched a Deep Learning Specialization (Understanding of an into to ML course is a prerequisite) under deeplearning.ai , and I really enjoy the content so far.
The basic mechanisms for building a neural network from scratch are almost disappointingly simple (provided you know a little bit of calculus and linear algebra). And setting up a basic network in an existing architecture is pretty trivial.
I'm currently busy with the neural networks and deep learning specialization on Coursera.
The trick, as far as I can tell, lies in with the various techniques for setting up your data, tuning your hyperparameters, and picking the right architecture for the job. At least, this seems to be the message of the course. It seems to still be a bit of an ad-hoc field. There are a number of techniques and things to try, without there necessarily being more than a shallow theoretical understanding from the experts as to why they actually work.
Then, of course, there are the experts and researchers who come up with entirely new architectures. Now that actually takes skill.
⬐ hoopladlerIsn't this literally the point of computers? A processor is something that does amazingly stupid stuff 1.3 million times a second.
If you do even very simple things rapidly enough, you can get amazing results.
I took the coursera specialisation one week ago. It takes you from the very basics to some more complex modules like keras or tensorflow. If you are into it and have time, the whole 4 courses can be done in the free week: https://www.coursera.org/specializations/deep-learning
I was at the same point as you until I discovered the new Andrew Ng course on deep learning 
It's a good structured way to learn the core of ML while learning about Neural Networks and without having to become and linear algebra expert which for most people including like me was a deal breaker with other courses. The timing is great too as ML now is so much different than it was 2-3 years ago.
https://www.coursera.org/specializations/deep-learning by Andrew Ng is a great resource for anybody who wants to learn neural networks. It pretty much steps you through all the issues raised here and much more.
⬐ elemarGreat suggestion! I find it very enlightening too and to be honest I actually attend his courses :)
You can also dive in first and then cover the math behind ML, by taking Andrew Ng's courses. https://www.coursera.org/learn/machine-learning https://www.coursera.org/specializations/deep-learning
At first I could not find a way to sign up without paying - when I click enroll, I didn't see the audit link that Sjenk and others mention.
The trick is that the audit link only appears when you sign up for the individual course, not the entire sequence. So if you go to this link:
... and click "Enroll", you can only proceed by supplying payment info. However, if you scroll down to that page to the box titled "Course 1", at the bottom of that box is a link "You can choose to take this course only. Learn More".
Click on THAT to go to the individual course page. Then, click Enroll, and in the first box that pops up, you'll see the link "Or audit this course" in the lower left.
This allowed me to sign up for all five without supplying payment info.
⬐ NelsonMinarI wish I could figure out what the actual price is. I'm logged in and all I see is "Enroll free!". The only pricing disclosed is $49/month. Courses 1-3 are 9 weeks, so does that mean it costs about $100? (No lengths on courses 4 and 5 yet.)⬐ chairmankagaTo add to that, I couldn't make it work following these steps, but logging out and following the steps above worked for me. Thanks.⬐ ToraiBut you can't submit exercises.
When you audit a course:
- You'll be able to see most of the course materials for free, but you won't be able to submit certain assignments or get grades for your work.
- You won't be able to submit assignments for feedback or a grade.
- You won't get a Course Certificate.⬐ BlackthornUgh, Coursera has gone way downhill.⬐ sgsloIts a business, do you not expect them to somehow collect revenue on products they have created?⬐ BlackthornThey've created the courses? Seems to me like it's the professors teaching them that created them. What value is Coursera adding?⬐ posterboywhen they start for free, there's hope they aren't just trying to beat the competition with discount prices.⬐ ghaffThe basic problem is that Coursera wasn't successful in attaching some meaningful value to their certificates as credentials. And, if the credential isn't meaningful, why on earth would I want to pay a VC-funded company for a PDF that has zero value to me? Taking the course may be worthwhile but a certificate adds essentially nothing to that.
So now they've effectively eliminated just about the only thing that distinguishes them from some YouTube videos and a textbook.⬐ gaiusThe basic problem is that Coursera wasn't successful in attaching some meaningful value to their certificates as credentials.
The EdX solution to this is that their courses are all endorsed or run by brick-and-mortar universities with considerable investments in their brand that they won't want to tarnish by attaching it to any random certificate.⬐ ghaffI'm not sure to what degree EdX has really "solved" this. My impression is there's quite of range of quality and rigor on EdX as well. And, more centrally, most people still don't see EdX certificates as general substitutes for more conventional educational degrees.⬐ gaiusNot a degree sure but many e.g. XSeries and MicroMasters are at the level of diplomas.
Here is the link to the coursera web-page: https://www.coursera.org/specializations/deep-learning
In-short this specialization covers:
2.Hyperparameter tuning, Regularization and Optimization
3.Structuring Machine Learning Projects
4.Convolutional Neural Networks