- This repository contains MeTTa code for attention codebase port/re-implementation.
-
ECAN(Economic Attention Network) is a general term for the way that Attentional dynamics (centrally, the Competition for Attention) is carried out within OpenCogPrime.
-
Each Atom has an Attention Value attached to it. The process of updating these values is carried out according to nonlinear dynamical equations that are derived based on "artificial economics," utilizing two separate "currencies," one for
Short Term Importance (STI)
and one forLong Term Importance (LTI)
. -
One aspect of these equations is a form of
Hebbian Learning:
Atoms calledHebbianLinks
record which Atoms were habitually used together in the past, and when it occurred that Atom A's utilization appeared to play a role in causing Atom B's utilization. Then, these HebbianLinks are used to guide the flow of currency between Atoms:B
givesA
some money ifB
thinks that this money will helpA
to get used, and that this utilization will helpB
to get used. -
Very roughly speaking, these dynamical equations play a similar role to that played by
activation-spreading
in Neural Network AI systems.
-
The system's main dependancy requires the operating system to be either MACOS or LINUX based systems. For running on windows using WSL or other means of virtualization is required.
-
To run the code clone the github repository and cd into the repository
git clone https://github.com/iCog-Labs-Dev/metta-attention
cd metta-attention
- After cloning the repo create a python virtual enviroment and load all dependancies. NB: The Hyperon python module requires python versions greater than or equal to 3.8
python3 -m venv .ECAN
source .ECAN/bin/activate
pip install -r requirments.txt
Before you start contributing to this repository, make sure to read the CONTRIBUTING.md file from our repository
-
Original paper
-
Economic attention allocation wiki page
-
C++ implementation of attention codebase