ai.gif (16382 bytes)

To Projects AreaBack to TRCY HomepageOn to Reference

Thematic Intelligence

Revised AI Theory

by Kevin Motz

Download the .PDF version of this page


    As the title suggests, this is a revised version of an earlier theory I wrote. There have been some major changes to the original structure of the machine, but I have retained many of the ideas presented before. There has been some clarification and refinement on the earlier ideas. I also have named this theory after the Thematization Matrix which I consider to be the most important part of the theory. I will still call my machine the Android Control Unit or ACU for short.                     

image20.gif (2409 bytes) ACU Processes

    Fig.1 shows the major processes of the ACU and thier relationship       to each other.The arrows indicate data flow.
    Functions of ACU processes:

    Mediation-This is the decision making part of the ACU. Control signals to other parts of the ACU are formed here. Other functions of the mediation process include, sensory and conceptual learning using loci of learning rules, syntactic scene analysis is used to faciliate iconic and symbolic linking and for formulation of return action and symbolic relations.
   Visualization-visualization is accomplished with the syntactic scene analysis processor under the control of the heuristic processor.
    Representation-representation is not a hardware setup or a programming scheme but is a result of the two. For instance when a sensory input is fixed into the neural net, the code given to the input is a representation of the input. The data stream from the thematization processor is a representation of the environment around the ACU itself. Representation is also part of the return action initiation and takes the form of subsumption routines.
    Pattern Fixing-pattern fixing is the process of learning in the neural nets and in long term memory.
    Communication-Efferent communication is in the form of vocalization or motorization. This occurs through the return action initiator.
    Afferent communication is the environmental effects on the sensors of the android. This occurs through the sensors and the neural nets.


   The most basic type of concept is the output of the neural nets which is a generalized representation of the environment around the android. This kind of concept is an 'elementary' concept. An elementary concept can take two forms:

image21.gif (1624 bytes)

    The spatial and temporal relationships can be directly infered from the thematization matrix. Temporal concepts are infered from the row they are in in the thematization matrix. Spatial concepts are infered from the sensory registration data and imply temporal relationships since objects in the same general space can be assumed to be there at the same time.
    A concept which is a part of what it stands for such as a motor act is known as a 'signifier'. When a concept is symbolically linked to what it represents,such as spoken or written language it is known as a 'distinct signifier'.
    When concepts are linked together with spatial or temporal lables they become 'abstract concepts'.
    Abstract concepts are used to build heuristic rules in the heuristic processor. Abstract concepts can be signifiers or distinct signifiers or any combination of both. Abstract concepts take the following forms:

image22.gif (2165 bytes) Spatial and temporal relations can again be infered from the thematization matrix or from other concepts. The functional relations are LEARNED relations and therefore take longer to form.

    Figure 2 shows the block diagram of the ACU. The boxes labeled Visual, Audio and Tactile are the respective sensors and the analog to digital conversion circuitry of each sense. The output of these are sent to the Iconic Processor where preliminary processing is done.

image23.gif (6496 bytes) Some of the processing done in the Iconic Processor is:
    Threshold Detection-this process is very important for reflexive actions in the ACU. It detects when an input is above a certain threshold and triggers the associated reflex.
    Blob detection-this is a visual process and detects multiple items in the visual field. Also creates a visual register map for each item.
    Visual saccades-when the multiple items are detected by the former process this process jumps from one to the next in a predetermined order. This is because the neural nets are trained on items that are centered in the visual field so they have to be centered in the visual field to be identified.

Multi-Modal Infromation-Sensory registration maps for each sense are continuosly updated by the Iconic Processor for use in other parts of the ACU.
    Iconic Imaging-This is the process of manipulating actual sensory inputs,such as a visual picture that has been percieved or retreived from long term memory. 

After processing in the Iconic Processor the sensory input data is sent to the neural nets. The neural nets are N-Tuple classifiers that output a classification lable and confidence in the form of a percentage for each given input.
    The output of the neural nets goes to the Heuristic Processor. Heuristic means'rule of thumb' which is how this part of the ACU operates, on rules of thumb in the form of if-then declarative statements. This is the main decision making part of the ACU.
    The output of the Heuristic Processor is sent to the Return Action Initiator. This is where output actions of the ACU are formed. The Return Action Initiator (or RAI for short) is a subsumption processor. Basic output is in the form of 'reflexive movements'. More complicated movements are composed of collections of these 'reflexive movements'. They are called 'complex movements' Output actions are sent to the Effectors which are stepper motors or air muscles or whatever is used to move the android around.
    The Interoreceptors are internal sensors which are attached to the effectors and various other internal parts of the android.They are used for feedback to the RAI.Another important role of the Interoreceptors is the 'Mechorythym'. This variable determines the speed or 'urgency' of any action that is undertaken by the ACU. It is tied to the battery charge and can be triggered into a faster state by reflex routines.
    The Long Term Memory contains all the knowledge of the ACU and is shared by the Iconic and Heuristic processors. The Iconic and Heuristic Processors also share some of the same variables. Access to the Long Term Memory is prioritized with the Heuristic Processor getting precidence.
    The line going from the Heuristic Processor to the Neural Nets is the neural net teach line. This is what fixes the patterns in the neural nets to gain experiance. The line going from the Iconic Processor to the Heuristic Processor is the Multi-Modal registration line.

ACU variables

The ACU uses certain variables in its operation. These variables are global in that they are used by more than one part of the ACU. Some of these variables are as follows:

    Frame Store-Array
    Visual Registration-Area,Percentage
    Neural Net Classification-Lable, Percentage
    Tone Store-Frequency vs Time Graph
    Audio Registration-Inter Aural Intensity Graph
    Neural Net Classification-Label,Percentage
    Tactile Registration-Area,Percentage
    Neural Net Classification-Label,Percentage
    Effector feedback
    Battery Charge
    Mecho-rythym,function of battery charge and reflexive behaviors.

Iconic Processor

    The Iconic Processor prepares the sensory data in ways that other parts of the ACU need for thier function. Much of the learning process in the ACU begins in the Iconic Processor or IP.
    One of the functions of the IP is Threshold detection. The threshold value works on two levels. The first is when a certain threshold is surpased by sensory data it can trigger attending patterns. The attending pattern that is called is the All or None pattern. This pattern focuses attention on the presence or absence of data in the sensory field. One of the functions of the all or none pattern is the Blob Detector. This is a visual data process. What it does is detect large contiginous objects in the field of vision and mark its place in a data matrix. One of the ways it picks out large contigious objects is by finding areas of maximum contrast. Multiple objects are then centered in the field of view by succesive visual saccades.

image24.gif (2926 bytes)     This is done because the Neural Nets are trained with the field of vision centered on the object of interest and to recognize an object it has to be centered on the object. Also if the object is unknown it is centered in the field of view for neural net training. This is actually a part of the attention mechanism. Since various parts of the ACU are at any one time competing for resources, the visual saccades can be subsumed by other parts of the ACU.   

The other level that Threshold detection works is on a hardware level. When a certain level is surpassed in a sensory value it can call a reflex action.This is a direct subsumtion routine calling action. This can be equated with a painful sensation in a biological entity.   

Another function of the IP is Multi-Modal sensory infromation. This is the data matrix that marks the location of objects in the field of view. Other senses also have sensory modal maps. These maps are all 'registered' with each other.In this way if only a sound is heard the direction of the sound can tell the ACU which way to look.

The Multi-Modal infromation is also registered in time with the associated sensory data. This would tell the ACU that the top of a tall object is 'up' for example (See sensory registration next section).

    The IP would also store and manipulate sensory data frames. This is for the purpose of 'visualizing' and is known as syntactic scene analysis. This process is used to plan out complex actions that may not be allready present as subsumtion routines. Can also build new complex actions in the RAI.    

image25.gif (3770 bytes) Sensory Registration

    Each sense(Visual,Audio and Tactile)Has a registration Scheme.This means they are spatially oriented to each other.The visual field is divided into different areas that are 1/4 of the total visual field.The following pictures detail how they are arranged...
    The Audio Registration is in the form of an Inter-Aural Intensity Graph.This takes the form of a percentage of the Threshold Value of audio intensity.

image26.gif (1960 bytes) The tactile registration takes the form of an appendage mapping for whatever form the android may take on.
    There is also a registration for the interoreceptors such as the joint position, air pressure, battery charge and the effector stretch. These registrations could be most responsable for the androids feeling of 'self' as they are personal to the androids physical being.   
    Partitioning the sensory fields in this way allows the Iconic processor to lable each item identified in the sensory field with a spatial lable that allows subsequent areas of the ACU to determine the aproximate area the items are in.         

Neural Nets
The Neural Nets are networks of memory elements which classify patterns presented to them in a binary matrix. It is known as the N-Tuple method. The network is constructed as in Fig.8.   

image27.gif (4512 bytes)     Each memory element has an N-Bit address field. In this case N=4 Each memory element samples its N-Tuple of subpattern in the binary matrix, and this is the address for each memory element. I will use SRAM's for my experimental robot. Each layer of memory elements covers the binary matrix once and is known as a discriminator.

    The formula for finding the amount of storage required for each discriminator is S=(X*Y/n)*2EXPn, where X= horizontal resolution Y=vertical resolution and n is the N-Tuplesize.


    There are as many discriminators as possable, each one being 'trained' on a representative set of subpatterns from a different class of data. During a training cycle the subpattern is presented to the desired discriminator then the data in terminals are set to logical '1'.

    During a 'use' cycle the binary matrix accesses a subpattern in each discriminator. The data outputs of the ram's in each discriminator are summed and the discriminator with the highest output is said to classify the data. The response of the discriminators is in the form of a percentage of the total possable responses:
    Where Rj is the response of the jth discriminator, Cj is the integer response of the jth discriminator and K is the number of data outputs in the discriminator.

Present situation

    The outputs of the neural nets and thier respective sensory registrations are placed into a data matrix called the 'Present Situation'. This data matrix is a representation of the environment around the ACU as depicted by the neural nets. From this present situation data matrix a return action or some other form of processing is determined.
        As the ACU carries out it actions,the environment around the ACU changes from the actions of the ACU's effectors or outside influences. When there is a large change in the data stream from the neural nets the present situation data matrix is updated. The older present situation data is placed into the Thematization Matrix.

image28.gif (2886 bytes) Thematization

    Thematization is the process of organizing and relating experiance in the long term memory of the ACU.
    The Thematization Matrix makes this process almost automatic and saves a large amount of computation. It also makes the process more 'natural' and 'lifelike'.
    The sensory input data is put into data storage matrix's in a regular pattern. Certain constants can be 'infered' about the data in these matrix's and how that data is received. These inferences can be used to build a knowledge base in the long term memory of the ACU.

   1-Neural Net Loci of Learning rules are used for pattern fixing in the neural nets.These rules work off of the data in the thematization matrix.
    2-Inference rules are used on the thematization matrix to build knowledge frames in long term memory-3.
   Note: The thematization matrix can be thought of as short term memory in the ACU.

image29.gif (3043 bytes)
    The thematization matrix receives the perceptual input data in a constant stream from the present situation data matrix. 

As you can see from Fig.10 the thematization matrix can be thought of as rows and columns in memory. The columns are each related to a different sensory input. The rows are slices in time of the input data stream.Inferences can be drawn from the relationships of different 'cells' in the matrix to each other.   


    Spatial relationships are drawn across the rows of the matrix.
    Temporal relationships are drawn from the positions of different rows to each other regardless of the column.

   Thematization loci of learning rules:
    1-Spatial relation-data that resides on the same row in the matrix is probably spatially and sensorially related.
    2-Temporal 1-a cell that is in a row above another cell happens 'before' the other.
    3-Temporal 2- a cell that is in a row below another cell happens 'after' the other.
    4-Temporal 3-Spatial relation implies a temporal relation also.
    5-If neural net output of one sense is of high confidence and is different or points to a different knowledge frame than the other outputs, then concentrate attention on that sense. This is a part of the attention mechanism.(Discrepency)
    Spatial relations are dependant on sensory registration.
    Temporal relations are dependant on internal timing.(Mechorytyms).
    Neural Net Loci of Learning. The fixing of data in the neural nets begins in the thematization matrix. This is acomplished with the neural net loci of learning rules:
    *If all senses are of low confidence, then fix input data into the net and assign an arbitrary lable.
    *If one or more sense is of high confidence and the other senses are of low confidence and the sensory registrations are equal, then fix the low confidence sensory data and lable with the lable of the high confidence input.
        By using the thematization matrix as a process in the ACU perceptual relationships can be made almost automatically thereby lessening the computational power needed.

The Heuristic Processor

    This is where the mediation process of the ACU occurs. The neural net output is put into the present situation data matrix. The highest confidence neural net output is then used to search long term memory for past action scripts in with similar situations. These scripts are ranked according to similarity and the highest ranking script is chosen and sent on for further processing.
    The heuristic processor takes data from the thematization matrix and uses it to build 'Knowledge frames'. These frames take the same basic form as the thematization matrix itself, namely rows and columns. The top row of the knowledge frame is the identity of the frame. The frame can be recalled by the heuristic processor with any of its data items (signifiers,distinct signifiers). An example of a knowledge frame follows:

image30.gif (2885 bytes) 1.Discrimination of the word 'CAT'
     2.Sound a cat makes
     Aa.Visual input of a cat at rest
     Ab.Visual input of a cat moving its mouth
     Ac.Visual input of a pleased cat
     B.Visual input of a cat with its fur raised

    Horizontally across the frame there is a direct connection between each slot in the frame. Vertically the connection is symbolic. The top slots in the frame are the identity of the frame. There is a definate similarity in form between the knowledge frame and the thematization matrix. Also notice that the identity of the frame, which would be the earliest instance of the knowledge,is towards the top of the frame. Recall temporal inference rule #1. This setup works very nicely as you can see.
    Inferences can be drawn from the locations of data in the frame. For instance, if the android only hears the cat (Meow2) it can scan to the top of the frame and determine it hears a cat. It can also scan horizontally across the frame and load an iconic image of a cat or scanning horizontally and vertically be fairly certain it would not get bit.
    Knowledge frames are further organized into scripts. The input data stream to the thematization matrix can be thought of as an 'unstructured' script. Once this data has been experianced and assimilated into the long term memory of the ACU it is a 'structured' past action script. Scripts do not contain entire knowledge frames, only the neural net classification data that was used in the creation of the script is used. The knowledge frames are recalled for more detail when necessary.

    Declarative statements take the following general form:
    There can be as many antecedents and consequents as needed linked together with logical operators (AND,OR,Etc..) Consequents can also be chained together as such:
---->THEN(Consequent) THEN (Consequent) etc..
    The consequent side can also be empty or null or point to another statement.
    The heuristic processor takes the highest confidence neural net data from the present situation data matrix and search's long term memory for similar past action scripts. The resulting list of past situations is ranked according to the amount of similarity to the present situation. The highest ranking script is chosen as the one to use.
        The result of this action is compared against the internal state diagram to determine if it was a 'good or bad' action. For instance if the action resulted in a beneficial result to the android (such as a battery charge) then the script is kept. If it results in a non-beneficial result (such as bumping into a wall) then the script is discarded.   

The most important script in the ACU is the 'Root script'. This is the actual program of the android of what the owner wishes it to do. It is composed of duties and actions to be performed in its everyday routine. These duties and actions are themselves composed of scripts that detail the actions necessary to perform these duties. One root script that should possably be included in every android is the 'Three laws of robotics' created by Issac Asimov (I won't repeat them here).   

If there is no past action script a reflex behavior is tried. Possable reflex behaviors could be...Curiousity(always), Feed(when hungry), Jump(when startled), Run(when scared).
If there is no reflex situation then a genetic algorythym is applied to the present situation script. The internal state diagram is used as a fitness test for the result. The consequent of the chosen past action script or reflex action script is sent to the Return action initiator.

The Return Action Initiator

    An android would be built with a certain number of effector mechanism's. In the case of the effectors being air muscles of the McKibben type, each muscle would have three states Fill, Empty and Hold. The control signals to the air valves are created by the RAI mcu's. These signals would be pulsed by the mechorythym which controls the rate of fill or empty of the muscles.
    The effectors are grouped together by anatomical location, such as Hand, Forearm, Upper arm, etc..Each group of effectors has its own MCU controlling them.

image31.gif (4784 bytes) All of the mcu's are conected together by an I2C data bus. This bus carries control signals from the mcu's to the effectors. It also carries interorecptor infromation from the mcu's to the heuristic processor. Control signals take the following form:

Right Hand : Open

    The mcu for the right hand takes this command and forms the necessary control signals to the individual effectors of the right hand. The heuristic processor can also control subgroups of larger groups of effectors as follows:

Right Index Finger : Extend

The mcu for the right hand would take this signal and form the necessary control signals to the effectors of the right index finger. Each effector and joint would have a feedback sensor to create a sensory registration map for the appendages of the android.

Interoreceptors and Mechorythym
There are several different kinds of interoreceptors which are important to providing internal infromation of the android to the ACU.   

Effector strech:
In the case of McKibben air muscles being used as effector organs, a resistive strech sensor is used to determine the amount of extension or retraction of the effectors.    

Air pressure:
When McKibben air muscles are uesd for effectors, a source of compressed air is needed. A way of detecting system air pressure is used to determine operating efficiency. This reading is also used for the internal state diagram and to determine the mechorythym.   

Joint position:
Resistive bend sensors are used on the joints to give a positional reference of the androids appendages. These readings are very important for sensory registration and as a feedback loop to the heuristic processor.   

Battery charge:
    As in the air pressure reading this reading is used for calculating mechorythym and in the internal state diagram.


E-mail KevinE-mail Kevin E-mail Kevin