May
12
2010

Key concepts

Perhaps a very short overview of the main ideas behind the resonating neural network:

  • A link between 2 neurons has a meaning. This meaning is expressed in the form of another neuron.
  • A network has processors, which are able to ‘execute’ neurons and links.
  • Each processor runs in it’s own thread.
  • Different types of neurons exist, each type with it’s own specific purpose. The major groups are:
    • regular neurons, which only have incoming, outgoing links and possibly ‘parent’ clusters.
    • Clusters, which are used to group together other neurons (they can have ‘child’ neurons).
    • value neurons, which are able to store integer, double or string values.
    • expressions, which can be executed by processors (they control execution flow of the processor).  
    • instructions, which define what the processors need to execute (usually, some operation on neurons).
    • sensory interface, which serve as the conduit to the outside world: they generate new neurons when receiving input and do something (like generate output) when neurons are sent to them from within the network.
  • neurons can group together into a compound object, to represent complex info.
  • A compound type defines which links and children should be present in a compound object. Examples are:
    • An Object is a compound type used to represent a single instance of knowledge (a synset in wordnet).
    • a Flow is a compound type that defines a recognizable sequence of objects.
    • a Frame is a compound type that defines a recognizable sequence of flows.
    • an action is a compound type that specifies a reaction that a frame can trigger when it is activated.
  • A processor’s purpose is to translate a series of input neurons, received from a sensory interface, first to object, next flows-frames, and finally actions.
  • A processor has the ability to split itself into multiple identical instances, with 1 single difference on each processor. It does this when there was some ambiguity and multiple processing paths are possible.
  • When a processor was split, it can return a ‘split-result’ before it finishes. When all the processors of the split have terminated, the split – finalizer code is started (in the processor that finished last), which can retrieve all the split-results, and continue processing from there.
  • Each split result can have a weight to make some more valid and others less.
 
Powered by Wordpress and MySQL. Theme by openark.org