
Ask HN: Getting started with AI today? - jason_slack
I have a growing interest in AI. There are lots of videos to watch. I can do this.<p>But what libraries are available to learn from? I&#x27;m on OS X. OpenAI.com seems to be more in planning than implementation, currently.<p>Companies like Apple, Facebook, etc are using AI more and more, what are they using?<p>Self-driving cars (and even tractors) are using AI this must be in house developed. GeoHot developed a slef driving car, literally in his garage.<p>There must be libraries to help get started for those wanting to learn and not write from scratch.
======
zxcvvcxz
I would recommend a first-principles approach, if you're really interested in
the field, building a career around it, and not just jumping on something
because it's "hot".

To that end, start with Convex Optimization [1]. You'll develop an incredibly
versatile - but not esoteric - mathematical background. You'll link the
mathematics to solving real engineering problems fairly quickly. You'll tackle
the basics of machine learning as well.

After this, you'll have a pretty strong background to get into more
traditional machine learning and deep learning. Regarding the former, Andrew
Ng's notes are pretty solid [2], and for DL, Karpathy's Stanford course is
great [3].

Self-studying all this material could take up to a year (part time, assuming
you do it while having a job), but I don't know of a better way to gain the
skills and get into the field. This approach balances your learning of
fundamentals, engineering applications, real software, numerical computing,
and the more fun "new" stuff.

Hope it works out well for someone else.

[1] - [http://stanford.edu/class/ee364a/](http://stanford.edu/class/ee364a/)
Great video lectures available too.

[2] -
[http://cs229.stanford.edu/materials.html](http://cs229.stanford.edu/materials.html)
Also has great video lectures on Youtube.

[3] -
[http://cs231n.stanford.edu/index.html](http://cs231n.stanford.edu/index.html)
Ditto on the lecture vids.

~~~
jason_slack
This is fantastic. Yes, principles is what I care about most at this point.

------
rayalez
Recently I have bought the book "Deep Learning with Python"[1], and I can't
recommend it enough. Very gentle introduction into deep learning, through
creating several practical projects. If you know the basics of ML - you should
get it, it's amazing.

To learn the basics of ML, you can check out the awesome tuts+ course[2].

Also I wrote an article [3] with the collection of the best free resources, I
think you'll find it useful.

[1] [https://machinelearningmastery.com/deep-learning-with-
python...](https://machinelearningmastery.com/deep-learning-with-python/)

[2] [http://code.tutsplus.com/courses/machine-learning-
distilled](http://code.tutsplus.com/courses/machine-learning-distilled)

[3] [https://medium.com/@rayalez/list-of-the-best-resources-to-
le...](https://medium.com/@rayalez/list-of-the-best-resources-to-learn-the-
foundations-of-artificial-intelligence-934dbce5939)

~~~
zxcvvcxz
This first book doesn't seem great.

> For example, a common response to the question “how do I get started in deep
> learning” might be: > Develop a strong grounding in statistics, probability,
> linear algebra, multivariate statistics and calculus. > Develop a deep
> knowledge of modern machine learning algorithms and techniques. > Study and
> become one with the mathematical theory of each deep learning algorithm and
> a bunch of related techniques for using them. > Oh and if there is time find
> a library and start applying deep learning to your problem. > It could take
> a decade or more to follow this advice and that would be a decade delay that
> you cannot afford.

Those topics are deeply important if you want to be anything more than a coder
monkey, and with a decent undergrad education under one's belt (STEM-related)
and half a year of dedicated part-time study, they could get up to speed in
many - if not all - of those topics.

But I guess whatever sells the easiest, a la "Get Rich (Smart) Quick".

------
vshan
May not be hot tech like ML, but traditional symbolic AI is still pretty
useful in stuff like Natural language processing. Plus, it's a great way to
learn functional programming too.

Book rec: Computation Semantics with Functional Programming. It goes through
the whole gamut of formal languages, lambda calculus, propositional logic,
predicate logic, logical inference engines, nl semantics etc. It uses Haskell
to build concrete examples for each section, and contains a concise tutorial
on the language too. Very self-contained. No prerequisites required.

~~~
jason_slack
Thank you for the book rec.

------
kiloreux
Of course there is (even plenny):

Caffe (Deep learning framework by berkeley) / C++ mainly

Theano / Python

Tensorflow / More Python fully support, but also supports C++

NLTK Natural language processing Toolkit / Python

scikit-learn / Python

Torch / Different interfaces

CNTK / C++

Opencv / C++ Python

I haven't covered them all, but please at the bottom of this list I am
maintaining there is everything you need to know to get started

[https://github.com/Kiloreux/awesome-robotics#related-
awesome...](https://github.com/Kiloreux/awesome-robotics#related-awesome-
lists)

~~~
jason_slack
wow, great list. I have been working with openCV.

I see an understanding of the differences between machine learning vs computer
vision vs AI, vs deep learning, vs reinforcement learning is my next step.

------
DrNuke
If looking for job opportunities, in addition to tech think of a field /
industry or two you like and focus on their business model for your AI
applications. Also make sure you understand when AI and machine learning are
actually useful instead of merely silly: not every correlation is useful. Many
times, nothing meaningful comes from them, however big your data sample is.
Machine learning "emergency" is not going to replace the scientific method.

