brohrer / robot-brain-project

a general purpose learning agent
205 stars 46 forks source link

Attend a single feature or transition effect at each time step #4

Closed brohrer closed 9 years ago

brohrer commented 9 years ago

In a mechanism that mimics the human ability to attend to features in their environment, BECCA will pay attention to just one feature at each time step. It can also choose to attend to a single transition effect in its long-term memory instead.

BECCA will choose which to attend, based on which has the highest salience. Salience of features is affected by magnitude, change in magnitude, and time since the feature was attended. It may also be affected by surprise. Salience of transition effects affected by transition priming, change in priming, time since attended, reward magnitude. Surprise is calculated by how much feature activity exceeds priming.

Fatigue, recency of when a feature was last attended, decreases salience. Salience factor F for a feature observed t timesteps ago is F(t) = 1 - 1/(t/beta +1), where beta is a positive constant giving the 50% decay time Salience factor R for the reward, r, associated with a transition is R(r) = (1 + gamma |r|) / (gamma + 1), where gamma is a positive constant weighting the importance of reward in salience

Recently attended features are tracked in a way mimicking human short-term learning. Each attended feature is assigned a magnitude, m, based on the feature activity or transition priming. The magnitude of recently attended features is decayed using the function M, and the time since the feature was attended, t. M = alpha m/t New attention reinforces by summation. The new magnitude, m_new, is the sum of the decayed magnitude of the previous attention instance, and the feature activity-based magnitude, m: mnew = m + M(t)

brohrer commented 9 years ago

This is implemented and seems to be working well, based on performance on the benchmark tasks.