I’ve been spending the last week at Ben Goertzel’s place to discuss the work I’ve done on attention allocation and to get up to speed on Probabilistic Logic Networks (PLN). There was also an introduction to Relex and RelexToFrame and how PLN will be of use in normalising the Frame representation of a sentence.
The ideas we generated for attention allocation, to improve the performance of the Hopfield network emulator, are as follows:
- increase the amount of atom sti and lti significantly to avoid rounding error.
- use the same stimulus divided across the entire pattern.
- directly imprint the pattern, but balance the +ve and -ve perception nodes. i.e. (the importance of all the nodes not in the pattern + the importance of all the nodes in the pattern == 0)
- gradually update the rent, i.e. make it a decaying Util::recent_val
Most of these all address the issue of rent updates (after AtomSpace funds leave homeostatic bounds) significantly disrupting the retrieval process leading to erratic performance.
Unrelated to the Hopfield network, but still to do with attention allocation:
- record stimulus applied per mindagent, and then convert to sti/lti after each mindagent runs. this will perhaps require a StimulusToImportanceAgent separate from the ImportanceUpdatingAgent – since the latter collects rent and carries out other per cycle activities. Or the stimulus is converted to sti/lti directly by the AtomSpace.
- Inferring Hebbian links from inheritance and other PLN links. The truth value for the inferred Hebbian link will have a wider interval/lower confidence, possibly using the same formula as the inh2mem TruthValue formula. When spreading importance, the truth value, if it isn’t a simple truth value, will be randomly sampled to work out the amount of importance to spread.
The remaining days were devoted to learning aspects of PLN (indefinite probability intervals, quantifiers, count conversion, and inference control), and discussing the involvement of MOSES. I got some guidance being shown through existing PLN code, discussed creating SWIG bindings for the OpenCog code base, and subsequently create a shell that can operate both locally and remotely.
I also met some familiar online identities (from SL4, singularity and openog mailing lists) in the flesh at the DC future salon dinner.
Those who were around and involved with discussions during the week are shown in the below group photo:
From left to right: Eddie Munroe (Novamente VP of Engineering, HoL), Matt Ikle (PLN co-author, GUG), Moshe Looks (MOSES author), Ben Goertzel (SIAI Director of Research, Novamente CEO), Bruce Klein (Novemente president, HLD), Joel Pitt (me, OpenCog researcher, AoE). In front: Crunchkin (Novamente Virtual Pet Advisor). Thanks to Izabella for taking the photo!
(Some of the 3 letter acronyms at the end of the names are made up, I’ll leave you to work which ones and what they stand for 😉