When designing the memory subsystem for an advanced analytic solution, you should consider the architecture of human brains.
Since the inception of artificial intelligence (AI), computer scientists have used our biological systems to model and design predictive analytic systems.
The design of a neural network is roughly modeled against the way our brain works: with sensory inputs, neurons, and synapses. Genetic algorithms are designed to mimic the way our genes combine to optimally adapt to our surroundings. This approach has its flaws: we don't completely understand the way we work; even current technology can't come close to the volume and speed with which we process information; and let's face it--we're not perfect.
So in some ways humans aren't a great paragon for an advanced analytic system, which is why current-day data scientists often ignore the way our memory system works. After all, a computer can instantly recall an obscure fact that was stored in its data system 50 years ago--can you? Probably not. However, I feel the prevalent attitude about memory design for analytic systems is shortsighted.
Our memory system is remarkable--it allows us to take very primitive inputs from our sensory system and do amazing things like walk effortlessly without losing our balance; it also allows us to draw the same association of an orange whether we see it, smell it, or taste it. When you stop to consider what our brain has to work with, and what it needs to accomplish, you can appreciate how important and sophisticated our memory system is. Therefore, when designing the memory subsystem for an advanced analytic solution, strongly consider the architecture of our own human brains.
The long and short of things
Our brains have working memory (a form of short-term memory) and long-term memory. The working memory, located in the frontal cortex, helps you finish a short-term task like completing a sentence or counting the number of shirts in your closet. Once the information relevant to the task is no longer needed, it's cleared from your working memory so you can go onto the next task. Your long-term memory, located in and around your hippocampus, is your brain's data store. When fond childhood memories surface, they're coming from this location in your brain.
We have a working memory because it wouldn't make sense for us to store every short-term event in our long-term memory. There may be some biological restrictions to combining both, but I think it extends beyond that. Once we feel the need to process something, we summon our memory system to produce the data we've stored. At that point, our analytical brain has to massage this data into useful information. Processing too much data at once would put your analytic brain on tilt. This is what happens when you try to train a neural network with too many inputs.
So in the design of your memory system, consider separating your working memory system from your long-term memory system, even if your computer's data system doesn't have the same limitations as your brain's data system. It's very similar to introducing an operational data store (ODS) into your data warehouse design. In fact, you can use an ODS to support your working memory system since, by definition, the data in the ODS is very transient.
The analytic layer that you put on your ODS can be as simple or sophisticated as required. In a simple system, you might have a shallow inference layer that brings information out of a few disparate data points. Or you could put in a full-blown operational analytic layer for short-term decisions based on current data. This is something you might install in the cockpit of a fighter plane.
Four ways we remember
Another interesting aspect of our brains is how we categorize the details of our memories. Regardless of what you recall from either your working or long-term memory, every intricate detail of your recollection will fall into one of four categories: sensory, motor, visuospatial, and language.
- Sensory memory is tied to our five senses: sight, hearing, smell, taste, and touch.
- Motor memory enables precise control over complex, rehearsed activities like walking a tightrope or shuffling cards with one hand.
- Visuospatial memory integrates the neural activities of the visual cortex with the spatial perception of the temporal lobes, giving us the ability to get around a city by holding a visual map in our head.
- Language memory allows us to associate words with objects and statements with ideas.
This understanding has interesting implications in the memory design of a predictive analytics system. Let's start with the sensory memory.
If the scope of your design includes stimulus capture and processing, consider how robust it needs to be. Oftentimes the sensory system in an AI system is underdeveloped. In a typical neural network, you'll have an input layer. Why does only one layer represent the whole sensory system? In fact, you may need to develop an entire subsystem devoted to sensory processing, including a data store that organizes primitive sensory input into more sophisticated concepts for further analytic processing. You can extend the concepts of the other three memory categories in the same way.
Motor memory may translate to a specific analytic function that must learn from many trials. Don't undervalue the memory system's role in how your learning algorithm is designed. Design your system to learn how to learn using a memory system that improves over time.
Visuospatial memory is an important concept to help your system overcome local maximums. You must know where your low peaks are to find your higher peaks.
Language memory teaches us that there's no limit to sophistication. Letters form words, which form sentences, which form paragraphs, which form chapters, which form books, which form libraries. As such, analytics beget higher forms of analytics--a concept that should clearly materialize in your design.
The merits of modeling computer systems against human systems have been touted for many years, and you won't find any dissension from me. Sure, humans have their faults, but there's no denying that--as far as biological masses go--we're quite remarkable. Our greatest advantage as a species is our powerful brains, and the most powerful function our brains perform involve memory.
Take some time to understand how our brains store and retrieve data and use that information as a model for developing your next analytic system. Analytic processing is useless without the memories to go with it.
- The ghost in the machine: Vicarious and the search for AI that can rival the human brain (ZDNet)
- Machine learning: Mainstream tools for your business (ZDNet)
- Telepathic monkeys and brain-controlled bots: Inside the world of neural engineering (TechRepublic)
- IBM's brain-like chip and the quest for a 'cognitive planet' (TechRepublic)
- Educate yourself on AI: Seven books to get you started (TechRepublic)