Ok, so I consider myself an above-average programmer, capable of building a standard database driven web applications using the latest du-jour techniques.
I suck at Math - I mean I _really_ suck at Math. I can visualize algorithms and data structures and have no problem whipping up programs. I have written a lot of code in my lifetime and have helmed a lot of successful projects as my capacity as lead programmer or architect.
But I will never be a programmer that writes code that uses Math, like for games, simulation, 3d graphics, operating systems, drivers, autopilots, etc...
So, can a Math idiot like me get into A.I. by going to your site?
I'm working on a book for programmers who want to learn math. I can send you the first few chapters if you're interested, but I'm also interested to hear your thoughts about math in general.
If you are doing this, this is what I'd love : a book with theory and ton of exercises. My usual workflow is : I read theory, kind of understand something. Then first try one type of exercise that applied that theory. I don't understand a thing. Then I read the solution and I get it. I then need at least two if not more exercises more to play with that theory before I REALLY get it in my mind.
So please, add at least three exercises for each of the applications of each concepts explained in your book.
I feel like I'm in the same boat: not hugely great at math (I mean I can do algebra and various geometries) but calculus and a lot of AI literature I've read that included algorithms were just very complicated for me to figure out.
So I would also be interested in this book of yours. If you want my feedback I'm also available but I certainly don't expect handouts; just add me to a list to spam when you get your book finished :)
You need to understand Math for sure. Linear Algebra is a MUST. Some probability theory may help understanding.
Start reading books, and working on side projects, post it online, then attending some local meetups. Next step is to aim higher, start following latest arxiv papers, trying to read them, and gradually getting comfortable to implement them. At this stage, you can land a job in the industry if you search really hard.
Disclaimer: that is how I do it. From a application SDE, to working on deep learning in a big company. It is doable, and me 2 years or so, but it is worth it.
You can use a framework, copy some examples and "create" your own AI. You don't need maths for it, just follow some steps from the examples. But you only be able to copy other things, if you want to go one step ahead and use the latest research you need to understand some math and get some general knowledge of the machine learning algorithms you are using. To create something new, you definitely need maths. I don't see anyone creating a new algorithms without knowledge of algebra and other topics.
I know plenty of people that have built interesting software using the JPEG compressor, I know only a handful that would be able to explain to you in detail how the DCT powering it works and why it is able to achieve the compression ratio that it does. Obviously being able to understand all that will give you an advantage but for most 'mortals' jpeg_compress and jpeg_decompress is all they need to be productive.
fast.ai aims to bring a similar high level of understanding first and then backs that up with the basic principles of the theory being machine learning rounded off with a bunch of real world examples in code of classes of problems that you are likely to encounter.
I don't understand how your comment relates to mine. isn't it more or less what I said? you can use the frameworks and copy the examples like using a jpeg compressor for compressing what ever you want. But without the maths it is very unlikely you will go further (for example: not even going from a single label classifier to a multilabel).
About fast.ai, I would want to know those basic principles about deep learning and neural networks. I don't see them so basic unless you have a good background in algebra, optimization, statistics and the scientific method.
Yes for sure. I am very math-averse (almost failed calculus 1, skated by pre-calc in high school... not my intelligence area) and though I don't have a full time job doing something in AI, I do feel like I can build models that solve real problems (and am doing so in an internship right now).
Probably start with Andrew Ng's Machine Learning course. It has a significant amount of Math in it-- try to understand it, but seriously do not worry about it. Just get the high level concepts, try to get some intuition on machine learning ideas and techniques. You don't need to do the assignments or work too hard on the course (but obviously it's helpful if you do).
By now if you're still into it, I highly recommend Chris Olah's blog: http://colah.github.io/
It has some pretty complicated ideas in there, but the articles are illustrated and explained very well so you can get more of a feel for Neural Networks while also getting very excited about them.
Then it's probably time to start really building things. I would use Keras (https://keras.io/) at first, because it's very easy to get cool results without understanding everything under the hood. Do a tutorial or two, it's pretty intuitive and if you've done everything above you should understand more or less what's going on. Then try to find a cool dataset to work with that relates to something you're interested in. If you can't find anything you want to work with, then just use a classic dataset (imagenet is fine, even MNIST when you're just practicing) which will probably be less fun but will still let you learn. With whatever dataset you choose, just implement a simple model on your own without a tutorial (of course, if you get stuck referencing a tutorial is totally fine). Then see if you can tweak your model to get better and better scores. Start reading papers, you can find the newest ones on Twitter from ML researchers (Karpathy, Sutskever, Hinton, LeCunn are some names you could start with, there's probably a Twitter list out there somewhere) and then you can look at the references in those papers to keep finding more and more good ones. Implement any ideas in the paper you think are useful. Often Keras will have functionality to let you implement them easily. If it doesn't, then feel free to dip down into Tensorflow if you feel ready!
From there the world's yours. Find cool data to work with, implement papers to get a baseline measurement, and iterate in any way you can think of. It's very fun :)
The one thing is if you want to get state of the art results or do novel research you might need better hardware. AWS/Google Cloud/Floydhub are all options if you're willing to spend a little money, or you can just keep your expectations low ;)
Wow that turned out to be more of a roadmap than I wanted it to, sorry. The reason you don't need great math skills is that a lot of AI research is very intuitive-- Gradient descent can be internalized as a ball rolling down a hill, Momentum in training neural nets is like momentum in the real world, Neural nets are just manipulating data in high dimensional space... it's all stuff you can visualize instead of use mathematic symbols to depict, but since it's so much easier to write with symbols than it is to create a powerful image, symbols are used often.
To be honest I still usually skip over some equations in papers if they look daunting. Most of the time I don't need to understand them. Most of the time, I can read the abstracts, look at some figures, look at the results, and that's everything I need.
I suck at Math - I mean I _really_ suck at Math. I can visualize algorithms and data structures and have no problem whipping up programs. I have written a lot of code in my lifetime and have helmed a lot of successful projects as my capacity as lead programmer or architect.
But I will never be a programmer that writes code that uses Math, like for games, simulation, 3d graphics, operating systems, drivers, autopilots, etc...
So, can a Math idiot like me get into A.I. by going to your site?