Fair. AI covers the universe of decision making/recommendation algorithms (but not all algorithms). When it includes pattern recognition, we call it machine learning. When it includes uncertainty, we call it statistics (or, less common, statistical learning).
Can you explain why a neural net is not an algorithm? I know the definition of algorithm, but I don't much about neural nets, so I'd like to know an ELI5 explanation.
Well, people here seem to disagree, so take this for what it's worth, but executing a neural net doesnt have a series of logical steps like an algorithm (add X to Y), but instead knowledge is implicitly stored in the link strengths of the neural network that leads to a certain output.
Since there isn't a plain sequence of steps that can be followed to explain the output, i'd say a different term is justified. Whether you call that "intelligence" is debatable.
If those sequences of steps are intentionally designed I lean more towards it being algorithm. It gets a little confusing when thinking about writing a path finding algorithm that takes you from A to B using randomness to get there (trying different spatial directions)
You wrote the code that tries random directions, but you are not choosing which directions it takes when executed.
It is an algorithm, but it's not what was traditionally call an algorithm because it relies on randomization and training data. Every step of the process is algorithmic according to the book defition:
> a precise rule (or set of rules) specifying how to solve some problem
The only difference is the rules are adjusted (trained) over time, rather than being written down once by a programmer.
It's a general trend in AI that:
1. Some problem in the AI-domain is solved with a new method (say, barcode scanning or handwriting recognition as historical examples).
2. This new technique is referred to as AI and not algorithmic.
3. Over time the ability of AI is pushed further.
4. At some point the method shifts from being understood as AI to being considered algorithmic.
The difference for me is that the meat of an algorithm is intentionally designed whereas the meat of a neural network is not. When training a neural network there can be some intention, but it's not the meat of the resulting "algorithm".
When thinking about this it's a bit like if I submit an application on fiver to write code for me that takes me from A to Z. I get the code back, I don't understand it and I didn't write it, is it still an algorithm? All of the same can be applied to a neural network.
Is natural selection an algorithm?
Is how the universe works an algorithm?
I think it's useful in every day life to distinguish what humans do and what something out of human control does. It can also be useful to be a bit philosophical and lump definitions together, but this only works if everyone agrees that they're doing this in a discussion.
Right, there are algorithms to train and run neural nets. But the calculation that the neural net itself does can't really be described as an algorithm (unless you distort the term to lose all meaning).