1.
Theory of
AI4U
Algorithm Steps: Code the Newconcept Mind-Module
/^^^^^^^^^\ Unrecognized Words Are New Concepts /^^^^^^^^^\ / EYE \ _____ / EAR \ / \ CONCEPTS /New- \ / \ | _______ | | | | _____ (Concept)--|-------------\ | | /old \ | | | | /Old- \ \_____/ | Audition | | | / image \---|-----+ | (Concept)----|-------|----------\ | | | \ recog / | a| | | \_____/-----|-------|-------\ | | | | \_______/ | b|C| | |______| | c | | | | | | s|O|f| /Parser()\ | a | | | | | visual | t|N|i| \________/ | t | | | | | memory | r|C|b| ________|______ | s-/ | | | | channel | a|E|e| / \ | e | | | | | c|P|r| ( Instantiate() ) | a | | | | _______ | t|T|s| \_______________/ | t-----/ | | | /new \ | |_|_| / _____ _____ | f | | | / percept \ | / \/ / En \ / En \ | i | | | \ engram /---|--\ Psi /-/ Nouns \--/ Verbs \ | s | | | \_______/ | \___/ \_______/ \_______/ | h-------/ |
See http://mind.sourceforge.net/diagrams.html for theory-of-mind diagrams.
Machine learning in the Robot AI Mind algorithm occurs not only
by the cognition of new facts in the knowledge base (KB) of the
artificial Mind, but also -- and on a more fundamental level --
by the creation of newly instantiated concepts when a novel word
is encountered by the robot intelligence amid the input stream of
words coming into the auditory memory channel of the AI mindgrid.
Whereas in wetware we theorize that neuronal concept fibers stand
ready in massive numbers to switch from tabula rasa emptiness
to tentative and then massively redundant saturation with a concept,
in software we must "fake it till we make it" with array-elements
that behave as if they were long neurons with synaptic nodes for
associative tags that entangle the roots of concepts qua concepts.
2. Concept Formation Is Machine Learning
If the AI software turns all unrecognized words into new concepts,
it does not matter if spurious concepts are formed erroneously,
because only truly valid concepts will take root over time in the
Mind and be resubstantiated by repeated use or repeated discovery.
Noetic Darwinism requires concepts to compete for the survival of
the fittest in the hotbed of the noetic jungle. In a robot Mind
that rejuvenates itself by forgetting unused concepts in order to
free up psychological memory space for new memory engrams, failed
embryonic concepts will never quicken and mature unto parturition.
Luckily for human minds and the emerging artificial Minds, ideas
may also survive centuries of neglect in written form until a new
age en masse rediscovers concepts that individuals had forgotten.
http://mind.sourceforge.net/ai4u_157.html
is an overview of Mind.
// newConcept() is called from Audition() when the // Robot AI Mind must learn the concept of a new word. function newConcept() { // ATM 12aug2002; or your ID & date. nen = (nen + 1); // Increment "nen" beyond enBoot() concepts. psi = nen; // Let psi & n(umeric) En(glish) have same identifier. fex = nen; // Let f(iber)-ex also have the same identifier. fin = nen; // Let f(iber)-in also have the same identifier. act = 32; // Start with a basic activation-value. pos = bias; // Expectancy from Parser module. enVocab(); // to create an ENglish Vocabulary node. fin = 0; // Zero out the fiber-in tag. fex = 0; // Zero out the fiber-out tag. enx = nen; // Set the transfer-to-English tag. Parser(); // Determine the part-of-speech "pos". // A new noun raises level of "recon" urge to ask questions: if (pos == 5) { // If a new noun is being encountered, recon = 1; // recon(noiter) the new noun; topic = nen; // hold onto the noun as a "topic". } // End of gathering data for asking a question. pos = 0; // Reset the part-of-speech variable. // Make nen "seq" of its "pre" concept: if (pre > 0) { for (i = t; i>midway; --i) { Psi[i].psiExam(); // Float the "psi0" identifier. if (psi0 == pre) { Psi[i] = new psiNode(psi0,psi1,psi2,psi3,psi4,nen,psi6); break; // Store one instance, then "break" the loop. } // end of inner if-clause psi0 = 0; // reset for safety } // end of backwards loop } // end of outer if-clause pre = nen; // So that the next "nen" has a "pre". act = 0; } // End of newConcept(); return to Audition().
\ NEWCONCEPT is called from AUDITION when the Robot \ AI Mind must learn the concept of a new word. : NEWCONCEPT \ 4aug2002; or your ID & date. 1 nen +! \ Increment "nen" beyond English bootstrap concepts. nen @ psi ! \ Let psi & n(umeric) En(glish) have same identifier. nen @ fex ! \ Let f(iber)-ex also the same numeric identifier. nen @ fin ! \ Let f(iber)-in have the same numeric identifier. \ 26jul2002 Let HCI set "act" for Parser to decrement: 32 act ! \ Start with a basic activation-value. bias @ pos ! \ Expectancy from Parser module. enVocab ( to create an ENglish vocabulary node ) 0 fex ! \ blank the fiber-out flag; 0 fin ! \ blank the fiber-in flag; nen @ enx ! \ Set the transfer-to-English "enx" flag. PARSER \ Determine the part-of-speech "pos". \ 4aug2002 A new noun raises level of "recon" urge to ask questions: pos @ 5 = IF \ 4aug2002 If a new noun is being encountered... 1 recon ! \ 4aug2002 recon(noiter) the new noun; nen @ topic ! \ 4aug2002 hold onto the noun as a "topic". THEN \ 4aug2002 End of gathering data for asking a question. 0 pos ! \ Reset the part-of-speech variable. pre @ 0 > IF \ Set "seq" of any "pre" concept to "nen": midway @ t @ DO \ Look backwards in time. I 0 psi{ @ pre @ = IF \ If a psi0 matches the "pre" nen @ I 5 psi{ ! \ insert the "nen" as a "seq" flag. LEAVE \ Store one instance, then break the loop. THEN \ end of inner if-clause -1 +LOOP \ end of search for "pre(vious)" concept THEN \ End of test for a positive "pre". nen @ pre ! \ So that the next "nen" has a "pre". 0 act ! \ Reset for safety. ; \ End of NEWCONCEPT; return to AUDITION.
5. Analysis of the Modus Operandi
Newconcept calls the English vocabulary (enVocab) module to form
an English lexical node for any new word detected by the Audition
module in the stream of user input, and Newconcept also calls
the Parser module which in turn calls the Instantiate module to
create a new concept in the deep mindcore array Psi in a typical,
evolving species of the Robot AI Mind.
Note that a new concept is still learned when a user consistently
misspells an English word, because the machinery of Mind cares only
about how a word is used -- what it means -- and not how it is spelled
or pronounced, so long as any practice is constant over time.
6. Troubleshooting and Robotic Psychosurgery
One of the aboriginal, deeply hidden bugs in Mind.Forth
for several years was a false-positive recognition bug
that kept the AI from assigning a new-concept tag to
previously unknown English words of a certain format.
For instance, the entry of "birds" as a new word would
cause the spurious recognition of the #66 concept "IS".
This bug was not actually in the newConcept module, but
was rather in the audRecog module which was erroneously
sending a recognition message to the oldConcept module.
Therefore the alert AI mind programer will troubleshoot
not only newConcept by itself but also other mind-modules
which function synergetically with the newConcept module.
Try in advance not to introduce any
evolutionary bugs.
The
AI Debugger program may shed some light in general on how to debug
and troubleshoot programs in artificial intelligence.
7. Newconcept and Machine Learning Resources for
Seed AI Evolution