In order to create ‘Strong AI’, we need to look no further than the cognitive processes of the human brain. We will see that processes involving anticipation, prediction, reasoning and abstraction are merely a combination of processes; and these can be mimicked by the machine, in order to behave just like a human.
However, today’s AI experts are faced with 2 formidable obstacles, as they strive to create an intelligent machine. These are:
- Extremely complex building blocks for AI machines
- Constant supervision and inputs required to ‘guide’ the learning process
To create true ‘Strong AI’, one needs to begin with simple building blocks, that come together to form increasingly more complex structures. And, the learning process needs to be autonomous, in order to reduce complexity and time to intelligence.
This article explains how a self-learning machine can exhibit autonomous classification, pattern detection or output prediction using a simple data organization technique. The data is organized as sequences forming patterns, which can be readily consumed to compute and exhibit artificial intelligence in real-time.
The Pattern matching technique can be described as the act of checking a given sequence of tokens for the presence of the constituents of some pattern. Sequence patterns are often described using regular expressions and matched using techniques such as backtracking. By far the most common form of pattern matching involves strings of characters. In many programming languages, a particular syntax of strings is used to represent regular expressions, which are patterns describing string characters. String versions of self-organizing maps and LVQ have already been implemented in the context of speech recognition.
Here we illustrate how using the natural organization of input data can form strings (sequences) and how this generic organization can exhibit classification, feature selection, and intelligence using the patterns available in these string sequences.
Creation of String Complex
Consider a brand new machine where we have all the sensors (data collection units) integrated into a centralized platform (just like the human brain), but yet to capture data (blank slate). As it starts recording inputs, it should start to organize data and exhibit intelligence, just like humans.
Any Input captured by the sensors has two attributes: parameter label and value. Using these attributes across many inputs, the machine has to self-organize in order to exhibit intelligence. The value attached to each label could be either dynamic or static. The platform houses a rule for dynamic values where the values(min-max) creates the range scale in order to arrive at a threshold for that respective parameter.
Tree Patterns for Strings are represented as trees of root StringExpression, and all the characters in order as children of the root. Thus, to match “any amount of trailing characters”, a new wildcard ___ is needed in contrast to _ that would match only a single character.
The labels of the parameters are unique and any exact match of a parameter (string match), results in an overlay and filters out the data redundancy in the system.
The unit strings can be a length of characters that depict the unit parameters and its associated weight. For example: If the color sensor recording in RGB would input something like R.G.B, the machine could convert the incoming data to a string or convert it to a hexadecimal string and store as FF90F5. Likewise, a shape extraction algorithm can input XYZ parameters of objects, which is again stored as a string.
These unit strings created from various inputs are tagged together based on their timestamp. This allows the machine to group strings that fired (recorded) together to form a string complex.
You could say that a combination of unit strings creates a ‘String Complex’.
For example, Individual Unit parameters recorded for shape will have information of a particular edge of an object. A set of individual strings would together carry the information of the shape of a particular object. For instance, the shape of the petal might give you individual information in the string but many petals combine to form a flower. So the string complex for the shape of the flower would look like [petal information][stamen information][receptacle information] and so on.
With just this data, you could see that a simple network is being built. If we consider that X, Y, and Z are three input parameters, the relationship of parameter ‘X” is established between the unit string and its corresponding weight. So every time there is an exact string type and corresponding weight, it can detect a past instance and quickly correlate to all the nodes linked to the unit string.
There could be many such parameters recorded by a single sensor in forming a string complex and with many sensors, the system is full of varied string types. These string complexes are further grouped by sensors that recorded it. As shown in the diagram, you might have composites from visual sensors, audio sensors, touch sensors and so on.
The string complex is now sequenced with the unification of all sensory level string complexes. They are further grouped to form a cluster of a single object determined primarily by the string formed by shape parameters. The object sequence will contain complete information about the object.
For differentiation purpose, we can refer to it as the ‘Object String’.
Now, many such object strings find a relationship between each other and merge to form a macro composite which we can call the ‘Memory String’.
The Memory String holds complete information about an event with information of every object present in the scenario along with its behavior and relationships between objects.
To summarize so far, the string hierarchy can be found in the tree structure as
Unit Strings >> Sensory Strings >> Object Strings >> Memory Strings
The platform automatically organizes these data strings in the tree structure shown below
The strings formed can be compared to the 2nd Hebb’s postulate stating “Neurons that fire together, wire together”, as they group together using the exact timestamp. The pattern structure which is a linear juxtapositioning of tags and degree of weights (tag assemblies) can be compared to the Hebbian Engrams (Cell Assemblies) stated in Hebb’s 3rd postulate
Now that the data is auto-organized in this fashion, we can now see how the machine self-learns and make autonomous decisions. The machine will learn by detecting and matching these strings. The incoming memory string is decomposed to individual unit strings and compared against existing strings.
In the case of existing data, the value of each unit parameters is computed using the new values over existing aggregated value to arrive at the new synthesized value. For all the exact matches, the strength of the relationship grows by 1. For all new values of the existing unit parameter, a new relationship is established, if the value is unique. This detect-and-match technique can quickly help the machine identify the object or its behavior.
During the match, the overlay highlights the similarities and the differences between two strings. For every unique difference of a string, it creates a new node and auto-labels the unique combination. In the case of an exact match between both strings that are compared, no unique label is created. However, for every similarity of an attribute within the unit string, the machine groups similar attributes to create a category, in the name of the attribute. These categories are created at all levels of string ranging across the unit, sensory, object and memory strings. This allows the machine to classify at every stage and maintain clusters of similar attributes.
Using these strings, the machine can quickly pull out the desired event by selecting all strings with the string type that contains the desired parameter.
In case the machine wants to predict the occurrence of a particular event, it can select the string type that is created by past collection and come up with its prediction of the occurrence. This allows the machine to predict scenarios based on past learning and quickly come up with plan to achieve or action next steps to achieve the occurrence in minimum number of steps
Based on continuous exact occurrences, the strength of the relationship between strings and string attributes grows more weight, finally reaching the state of confirmation (confirmed patterns). The threshold for confirmation has to be a present, so we know that the machine confirms the truth only after numerous exact occurrences.
Strings that don’t encounter exact matches can be termed as unconfirmed patterns, where the machine continuously regresses on the pattern by either establishing more relationships or by appending weights through subsequent data interactions
There might be a set of strings that show variance only in specific sectors even after a certain threshold. These account to unconfirmed patterns (as in pic)and are pushed back for further regression before it is committed as confirmed. Even confirmed patterns can lose it state of confirmation, even when a new string matches 99% of the existing string during the comparison.
This job can be described as machine reasoning as the machine will explore every possible influencing attributes in order to understand the most deterministic pattern. Along with checking the pattern of these strings, the machine also checks if the weights also find the match. In case the string gets an exact 100% match but there is a difference in value in one of the unit strings, the machine puts it back into the unconfirmed state for further regression.
Over a period of time, the machine will develop the capability to learn, understand similarities and differences, find answers to unique patterns and solve problems with greater intelligence. Using this technique, the machine can come up with decisions just like the way humans do. And, when integrated with motor parts, can perform actions autonomously in a real-life environment.
To sum up, the pattern matching and strings technique provides a holistic approach to creating a completely autonomous and highly accurate machine: one that can learn on its own without any human intervention.
Would love to hear your comments.