Hacker News new | ask | show | jobs
by CalRobert 3239 days ago
Just out of curiosity, where would you recommend starting for those outdated people? Machine Learning, Deep Learning, AI (for lack of a more specific acronym), NLP - these things are kind of daunting for newcomers, if only due to the acronym du jour changing constantly.
4 comments

It's difficult to say to be honest; for me the "enthusiasm" works best, I simply picked an area I wanted to know (e.g. self-driving cars using DL) and then learned some mindblowing approaches, like NVidia/Tesla using a few layers of simple convolutional neural network and static images to predict steering angles, and then some people stacked RNN on top of this CNN and made it estimate steering angle from 10 previous frames and a current frame. See e.g. selfdrivingcars.mit.edu

If you are into CV, first start with very simple static image recognition with AlexNet/VGG/Inception etc. in Keras, try to understand CNNs a bit (it's inspired by biological neurons, they can do simple things like direction detection, edge detection etc. and overlap each other's field of vision; if you look at computational photography, convolutions do something similar, so the idea is why not use a layer of multiple convolutions, then make a hierarchy of those convolutional layers, and let the optimization/learning part of Deep Learning during training figure out what exact convolutions does it need instead of force-feeding them by hand). Play with the ways to improve training (batch normalization, image augmentation etc.) Once you understand this, your mind would probably explode and then it's time to understand RNNs/LSTMs/GANs and have fun applying it on voice, natural language, generating art etc.

You'll have a blast for sure when you realize what you can now easily do! Have fun! ;-)

The acronyms aren't changing, machine learning, deep learning, and neural networks have been around for 50 years. It's only recently that code libraries like TensorFlow have abstracted away a lot of the math to the point that it's relatively accessible to normal people that can write code.

Deep learning is a subset of machine learning that utilizes more than one layer of neural networks. So these terminologies just refer to different parts of the same process. The 'process' is just tweaking a program to progressively make more accurate yes or no assumptions about a set of statistics that you give it. That's my best shot at it, hope it makes sense.

Great thing about Deep Learning is that decades of "old school" machine learning research that was way too math intensive is far inferior now. DL is actually pretty approachable and intuitive.
To someone mathy like me, that kinda sucks. It's part of why I don't like deep learning.
Treat it as non-linear optimization, then you are right in the class of most complex problems. Make a better optimizer enabling more useful applications and you can be both scientifically famous and make billions with it! ;-)
> where would you recommend starting [emphasis mine]

Play with http://playground.tensorflow.org/ . Read today's https://news.ycombinator.com/item?id=14992865 about https://pair-code.github.io/deeplearnjs/ .

Thank you! much appreciated.