1838: Machine Learning
Title text: The pile gets soaked with data and starts to get mushy over time, so it's technically recurrent.
| This explanation may be incomplete or incorrect: Work in progress. |
If you can address this issue, please edit the page! Thanks.
Cueball stands next to what looks like a pile of garbage (or compost), with a Cueball-like friend standing atop it. The pile has a funnel (labelled "data") at one end and a box labelled "answers" at the other. Here and there mathematical matrices stick out of the pile. As the friend explains to the incredulous Cueball, data enters through the funnel, undergoes an incomprehensible process of linear algebra, and comes out as answers. The friend appears to be a functional part of this system himself, as he stands atop the pile stirring it with a paddle. His machine learning system is probably very inefficient, as he is integral to both the mechanical part (repeated stirring) and the learning part (making the answers look "right").
The main joke is that, despite this description being too vague and giving no intuition or details into the system, it is close to the level of understanding most machine learning experts have of the most popular class of techniques in machine learning, namely support vector machines.
This comic compares a machine learning system to a compost pile. Composting is the process of taking organic matter, such as food and yard waste, and allowing it to decompose into a form that serves as fertilizer. A common method of composting is to mound the organic matter in a pile with a certain amount of moisture, then "stirring" the pile occasionally to move the less-decomposed material from the top to the interior of the pile, where it will decompose faster.
In large-scale composting operations, the raw organic matter added to the pile is referred to as "input". This cartoon implies a play on the term "input", comparing a compost input to a data input.
One of the most popular paradigms of machine learning is that of supervised learning, where a function mapping an input to an output is learned from several input-output pairs, e.g. a function mapping images of faces to people names, from a dataset of static labelled images. Classic machine learning techniques like regression, or logistic regression, have understandable parameters, and provable algorithms, but require significant engineering in the pre-processing step and don't perform very well for data like images or natural text. Deep learning techniques, on the other hand, require very little pre-processing, but require the data to be run through several steps of linear algebra, where essentially in each step the output of the previous step is multiplied with a matrix and sent to the the next step. This multi-step process has proven to be very successful for image and text data, but the structure of the parameters, arranged as a matrix for each step, allows for very little interpretation, and can only be described as "data going through a pile of linear algebra".
The method of training such deep neural networks is via gradient descent, which can be viewed as "stirring the pile of linear algebra until the answers start looking right".
The title text refers to recurrent neural networks, which are a useful class of deep neural networks for dealing with sequence data like speech or text.
This comic satirizes machine learning, more specifically neural networks. In its most basic form, a neural network takes data and results and strengthens connections that give the right answer and weakens ones that don't, until the results "look right". Neural networks are extremely data-dependent, and make remarkably few guarantees when compared to most other computing techniques, thus the joke.
Recently, other forms of neural networks, such as LSTMs, feed old sequence data back into the network with some delay, making it recurrent. The title text calls this the pile "getting mushy". The title text is also be a pun based on how Cueball's friend is going through the data. Instead of using a shovel, he is using a canoe paddle. Canoes can be used on rivers, and rivers by definition have currents. Thus, a recurrent data could, in this situation, mean data treated as if it were part of a river.
Neural networks are programs that attempt to emulate a living brain - unlike traditional code, where the logic is written by a human programmer, a neural network looks for patterns between particular sets of inputs and particular outputs, strengthening connections that lead to "right" answers. Beyond creating the initial parameters of the network, as well as its inputs and outputs, teaching a neural network is less like programming and more like "training" - continually feeding the computer input-output pairs until the computer "learns" how to turn an input into an output, creating its own logical path. Google uses neural networks to analyze images, since it is extremely difficult to find a human-readable set of equations that could tell you, for instance, whether or not a [particular set of pixels represents a picture of a bird].
One of the main criticisms of neural networks is that, while they do seem to work, it is nearly impossible to examine the step-by-step process an actual trained neural network goes through to turn a given input into a given output, since the logic used by the program is effectively a "black box" that is meaningful only to the computer itself. When traditional code gives wrong answers, a programmer can look at the code's source and analyze its path of logic to find the source of the error. When a neural network gives wrong answers, the only solution is to train the network more ("stir the pile") until the answers start looking right.
In the above example, one might create a neural network that is intended to analyze pictures, then give it thousands of pictures of birds of different species and taken from different angles, as well as thousands of pictures of things that are not birds, and tell it which are birds and which are not until the program figures out the pattern well enough to recognize pictures of birds on its own. However, even when the program works, it will not be possible to look at the code to understand how the program recognizes birds - it just does. If it starts mistyping images, the only way to figure out what is wrong is to look at a possible bias of the training images - perhaps the images left out pictures of birds viewed from above, or those of a particular unusual color, or those making a particular pose. To fix it, it must be sent back to training.
[Cueball Prime, holds a canoe paddle at his side and stands on top of a "big pile of linear algebra" containing a funnel labeled "data" and box labeled "answers". Cueball II stands to the left side of the panel.)]
Cueball II: This is your machine learning system?
Cueball Prime: Yup! You pour the data into this big pile of linear algebra, then collect the answers on the other side.
Cueball II: What if the answers are wrong?
Cueball Prime: Just stir the pile until they start looking right.
add a comment! ⋅ add a topic (use sparingly)! ⋅ refresh comments!