Predictive Coding

Prediction and Neuroscience

“The thing you realize when you get into studying neuroscience, even a little bit, is that everything is connected to everything else. So it’s as if the brain is trying to use everything at its disposal – what it is seeing, what it is hearing, what is the temperature, past experience.”

Paul Allen

This quote by Paul Allen helps to understand why and how our brain is constantly in a state of predicting what is to come. The connectedness of our environment and what we perceive goes a long way in making us, as people, feel safe. This is what makes predictive coding such an interesting part of the AI and neuro-scientific topic.

What exactly do I mean when I say “predictive coding?” It is a good question and the best way to explain it is to think about the way we learn. If you think back to middle school math class, it was a time when problem on intricate patterns were given to us. Learning patterns was, and is, a way for us to be able to take a truth and apply it forward to determine a solution. That is what predictive learning, only in the AI world, the goal is to be able to develop technology than can use predictive coding and learning to solve some interesting problems.

The Problem

The pattern is the important part of the equation because it must be true for the prediction to be accurate. This where developing this aspect of AI becomes difficult. Imagine our brain’s predictive powers…they are really good but a little slight of hand and we can tricked by even the most amateur of magicians. So, it can be understandable that a machine doing this successfully in a way that is a service to people can be difficult to make a reality.

For instance, a very popular and well known initiative is to get self-driving cars on the road. This requires predictive learning to be done very well by AI technology. Essentially what happens is this: a camera feeds information to the computer that must read road signs, curves, terrain changes, etc. and be able to accurately know what is coming next along the car’s path in order to avoid accidents or trouble.

Of course, this is just one example of what predictive coding entails. There are many other research initiatives into the field of study and here are a few.

“Deep Predictive Learning”

Deep predictive learning is an area of research examined here by Randall C. O’Reilly, Dean R. Wyatte, and John Rohrlich. Their study tries to show how the neocortex is able to accomplish the high-level cognitive thinking we do each second our brains are conscious. The basis of their study is that the brain learns based on predictions that are made from what each of our senses are reporting to the brain at ridiculously quick rates. Without going into too much detail, the researchers are trying to accomplish a number of things with this study and are listed below:

  1. Development of children by applying predictive learning techniques to the raising of a child
  2. Understanding Consciousness
  3. And of course, Predictions in general

To get a fuller understanding of the work click the link above or conduct a search with the cited reference.

O'Reilly, R. C., Wyatt, D. R., & Rohrlich, J. (2017). Deep Predictive 
Learning: A Comprehensive Model of Three Visual Streams, 1–64.

A Deeper Understanding

Exciting as this research is, there are a lot of gaps are understanding how the brain is so effective in its ability to predict pattern from our environment and use them in such effective and practical ways for us. Therefore, most research is done to really understand this phenomenon better and that is true for research being done by Shirin DoraCyriel Pennartz, and Sander Bohte. What these people do in this study is to use an algorithm (a type of equation) to see if a computer can successfully examine real world images with some alterations and predict what the original image is, without giving it any real supervision on how to complete the task. They found that their algorithm was successful in making accurate predictions from the images they provided. The hope is that this algorithm can be used in data analysis that have prediction conditions.

To get a fuller understanding of the work click the link above or conduct a search with the cited reference.

Dora, S., Pennartz, C., & Bohte, S. (2018). A Deep Predictive Coding 
Network for Learning Latent Representations. doi: 10.1101/278218