Acuitas Diary #17 (March+April 2019)
For the past month and a half, I've
continued work on forgetfulness: the good kind. Acuitas now has code
that will prune his episodic memory over time, removing those event
records that are judged to be less important.
There are two major parts to this. The
first is basically a population-management system; it determines how
many episodes need to be forgotten each time the memory collection is
pruned. I can cap the number of episodes allowed in storage at some
maximum value (based on available storage space or what have you).
The population manager checks how many memories are already in
storage, and how many new ones have formed during the last cycle. A
high growth rate is allowed initially, but forgetting becomes more
and more aggressive as the storage area fills. When the cap is
reached, Acuitas must forget the same number of memories he creates.
The time span represented by the stored
episodes is sectioned, and the total number to be forgotten is
unevenly distributed across it (i.e some parts of the time span lose
more memories than others). The distribution is affected by the
density of memories in a region, their average significance measure,
and their age.
A memory tree under the influence of selective forgetting |
The second major part is the code that,
given a number of memories that must be forgotten, takes care of
selecting which ones. This is a weighted random process; memories
with less significance have a higher chance of being forgotten, but
the priority isn't absolute.
Memories chosen to be forgotten are
deleted. Any higher-tier memories that have been badly “hollowed
out” by this process are then merged with their most similar
neighbor.
Testing and debugging all this nonsense
was almost half the battle. Since some of the effects I needed to
see would span tens or hundreds of days if I let them play out in
real time, I had to write simulation code that would run bits of the
memory-creation and forgetting process faster. That way I could look
ahead and make sure nothing was putting the system in a spiral toward
catastrophe.
So next time you forget something, take
comfort in the thought that I spent several dozen hours conferring
this gift on my artificial mind.