What is the difference between artificial intelligence and artificial neural networks?
Artificial neural networks (ANN) or connectionist systems are computing systems that are inspired by, but not identical to, biological neural networks that constitute animal brains. Such systems "learn" to perform tasks by considering examples, generally without being programmed with task-specific rules.
Artifical Intelligence on the other hand refers to the broad term of
intelligence demonstrated by machines
This obviously doesn't clear much up, so the next logical question is: "What is intelligence?"
This, however, is one of the most debated questions in computer science and many other fields, so there isn't a straight answer for this. The most you can do is decide yourself what you think intelligence refers to, because as far as we know, there is no agreed upon way of quantifying intelligence, and so the definition of such will remain ambiguous.
Artificial intelligence can refer to a broad range of techniques by which machines (algorithms) demonstrate utility (fitness in an environment, where the environment may be either virtual or physical.)
This can include symbolic AI, which utilizes logic and search exclusively. (Symbolic AI is sometimes referred to as "good old fashioned AI" aka gofai, or "Classical AI".)
- A key distinction is that Neural Networks constitute a form of "statistical AI", which renders them capable of learning by trial/error & analysis.
The recent strength & applicability of statistically driven AI methods has been facilitated by advances in processing power and memory.
I would explain it as Artificial Intelligence is a huge topic concerning many fields as: robotics, computer vision, machine learning, etc. It focuses on any "inteligent" task that a computer can do.
Artificial Neural Networks are a sub-topic of Machine learning, and probably as you've seen, as you said you have some experience with them, deals with a specific way of solving problems using a set of 'neurons' that try to imitate actual biological neurons. Explaining it in a really simplistic way, it is a method of fitting a function to your specific data in such a way that it still stands and gives good predictions on test data. By 'training' the network, you're basically trying to find better values for the weights(analogous to synapses in an actual brain, connections between the neurons) between the neurons in order to give better outputs in general on that specific type of data instead of just one case.