Intelligence Relies on a Good Memory
Memory Graph enables human-like memory for autonomous AI.
About Memory Graph
Every person has an episodic memory that stores everyday experiences such as meeting people, visiting different locations, conversations with other people, and basically a trace of all his or her activities.
In Artificial Intelligence (AI) any intelligent agent also needs a memory to store its experiences and knowledge about the world (and itself).
Similarly, what a person knows about the world or the meaning of a conversation is stored in the semantic memory.
Memory Graph is a human-like AI memory system, integrating episodic and semantic memories for an intelligent agent. It is available as a stand alone component for any AI application, or integrates with AIBrain’s problem identification/solving and learning via AIBrain’s AICoRE platform for a fully autonomous AI solution.
Memory Graph provides a set of unique capabilities that differentiates it from other existing AI technologies:
Unified and integrated representation of both episodic and semantic memory base on the ‘triple’ construct that form a combined directed acyclic graph.
Memory Graph integrates with external knowledge bases.
Memory Graph supports short-term memory with a small footprint that can run on Android devices suitable for mobile applications and IoT devices.
For long-term memory, Memory Graph is scalable to human-level amount of data (in the order of petabytes) based on the Big Data framework Apache Spark / GraphX.
How It Works
All info—episodic or semantic—is broken into fundamental units of info organized into a network of nodes, or a graph data structure. Hence the name Memory Graph.
Memory Graph captures and stores different types of information:
Conversations exchanged between intelligent agent and human (or other intelligent agent), info stored as ACL in Memory Graph
Contextual metadata about conversation
All the reasoning steps and other inferences that are made by the agent to process the inputs and generate responses during the conversation
AIBRAIN’S MEMORY GRAPH COMPARED TO WELL-KNOWN GLOBAL-SCALE SEMANTIC GRAPHS
Intelligent agents may share and exchange their knowledge and learnings by transferring all or part of their Memory Graph among each other. In the future, a memory transfer may even happen between an intelligent agent and its human user.
Memory Graph contains what an agent has reasoned about the world over time. Memory Graph includes reasoning episodes and knowledge learned about the world and other experiences and therefore it can grow in size quickly. The following image shows the visualization of a memory graph with many nodes and edges.
Memory Graph on Apache Spark / GraphX
We have built Memory Graph based on the Big Data framework called Apache Spark and specifically its graph processing module GraphX.
The advantage of using GraphX is when the size of Memory Graph grows very large or when multiple agents connect to the same GraphX instance to store their memory.
GraphX can distribute computations on a cluster of computers and takes advantage of parallelizing the computations.
With GraphX, as well as the machine learning module in Spark called MLib, we can run graph and machine learning algorithms on the content of Memory Graph in order to infer semantic knowledge from episodic information in the memory. This provides a seamless integration between semantic and episodic memory in Memory Graph.