I recently read an article that attempted to define the field of AI in a 4 step process with one sentence or so per step:
Artificial intelligence is such a broad area that it would take a lot of effort to give such a condensed description. Given the way the author defined step 4 and the rest of the article, I think the author is actually trying to reference deep learning. If that’s the case I don’t agree with the authors definition.
For step 2, the point of machine learning is to not define rules. It’s the definition, a “rule based” system is not a machine learning system, the “learning” part is learning the “rules”!
For step 3, the point of deep learning (a sub focus of machine learning), is that we don’t have to specify specific data points. For example given 12 data points about a person (eye colour, salary, etc.), and our goal is to predict their financial health we may choose salary as a more relevant feature over eye colour, where as a deep learning system would be given all the data and make that determination itself (feature representation).
So I thought, how would I define deep learning to a family member?
How can I give a technically accurate answer without expecting any (or limited) field specific technical knowledge? Given deep learning is a sub focus of machine learning, which is in turn a sub focus of artificial intelligence, it should be easier right?
Here’s my attempt:
- Define what “good” is. For example, you want to get water from a river near a city to that city. If water is closer to the city it’s good, if the water is further way it’s bad.
- Randomly modify the river. ie building Dams, removing soil to let water flow to different areas, etc.
- Occasionally pause and see if things are “good”. ie Is the water getting closer to the city? If so record what you did and try to do something similar to a different part of the river next time you modify it.
- Repeat step 2 and 3 until you are happy or tired. Group your notes in such a way that next time you come across a city that needs to adjust it’s local river, you could go straight to doing what worked well.
My justification for saying this is technically accurate is the broad strokes of building a deep neural network is to:
- Define a loss function.
- Perform an optimization routine, commonly stochastic gradient descent, which is randomly jiggling the weights (modifying the river),
- checking the updated weights against the loss function and back propagating the error through the network (seeing if the river is closer to the city and if it is doing more of what works),
- and doing this until the network converges (you are happy), When training is done we record the best version of the weights (grouping our notes about the river) and at inference use that to go directly from new input to output (using the previous notes on a new river with a new city).
If a lot of issues about AI come from ignorance, we have to think of reasonable ways to express this stuff so that people that haven’t studied it can appreciate it. A Doctor can express the key concepts of a complex medical issue in terms a patient understands, a software person working on a system that may effect many many people should be able to do similar!
How would you describe deep learning to a family member?
Or for an even greater challenge, could you describe AI in 4 steps?
Thanks for reading