Mind - Memory

For us memory and how it is managed is an absolutely vital part of any future human. In the book we follow the relatively traditional model of splitting memory into:

  • Short-term: what is needed to complete the current task(s)
  • Semantic: knowledge of things and how they relate to each other
  • Episodic: records of what has happened to you personally
  • Procedural: How to do things
Notes on each below.

Short Term Memory

Baddeley (2012) provides a useful review of the evolution of working memory models.

Semantic Memory

We are firm believers in Tim Berners-Lee's idea of the Semantic Web and  the value of a semantic triples approach using standard such as RDF but also inspired by Topic Map ideas such as the Tao of Topic Maps (Topics, Associations, Occurrences). 

These enable the virtual human to grow a knowledge map of linked information at a very low level which can then be searched and navigated in very human like ways - uncovering unexpected linkages between a wide variety of different bits of information (not for nothing did I have a 4 x A0 piece of paper on my bedroom wall mapping out the associations between the things I liked!).

A key issue is having consistent, common and transferable ontologies to identify the entity types and predicates. Schema.orghttps://schema.org/ is a great place to start. We might add more on this later.

Episodic Memory

In our projects we store episodic memories as triples, so they can be woven into the the same knowledge map. But episodic memories will also have emotional valencies attached as this can then help drive which memories are returned from a search, but also how a memory might fade over time. We've begun to play with a memory model where when the virtual human goes to "sleep", the days memories are pruned and those with low valency and high repetition are deleted or faded, and then older memories undergo the same process. As with mood we find the concept of a half-like is useful, with highly emotional/important events having a longer half-life than less emotional ones. Some memories may never fade totally but be archived, and then perhaps can only be recovered if "neighbouring" memories are recalled first. And of course whilst the bot is going through that pruning exercise the memories it handles could be made manifest as dreams!

Interesting papers and books:
  • Schank (1990) examines how story-telling and memory overlap and reinforce each other
  • Kelley (2014) discusses the losing of memories and looks at how episodic memories can be ‘pruned’ in a method analogous to dreaming - exactly in line with our thoughts

Procedural Memory

Procedural memory defines how a the virtual human can do a task. A lot of the early cognitive architectures such as ACT-R were about defining syntaxes for the different ways that the compute could complete a task, and then choosing between options and monitoring their implementations. Robotics is obviously driving a lot of this, and a lot of debate is about how high a level you represent the task (e.g. "get a cup" vs "move to 1,2,3:lift arm to 2,3,4" etc) - of course the more general you can make it the more abstract it is. 

We haven't found a model we particularly like yet, with the right sort of abstraction level and flexibility for virtual world, physical world and cyber-world use, but will update this page as we find interesting ideas and progress our own work.