The Rulevolution Approach
Current AI Learning
Much of the current focus on Artificial Intelligence is via unsupervised learning, where huge sets of data are thrown at the AI engine and it figures out itself how it should arrive at the desired answers (e.g. this should be recognised as a picture of a bird).
This approach is great for image recognition, understanding a huge corpus of data (think OpenGPT) or automatically recognising differences (more on this later) between items looking for fraud (think invoices or payments).
However, a system constructed along these lines presents two major challenges:
- It is very difficult to explain how a particular answer is arrived at (apart from with lots of hand waving, pointing to a series of weights and probabilities), which could give issues in say a court,
- It's also very difficult to modify (or redefine) a very specific element of that behaviour after the fact, if you wish to change it later or "upgrade" as part of a maintenance operation.
Both of these two elements are critical for any successful business system. Therefore here at Rulevolution we're taken a slightly different approach.
We have developed our own type of Supervised Learning, in this we teach the system using specific examples (we also have a features to allow some of this to run automatically), and the system learns these. However, unlike most supervised learning system where the data has to be carefully curated to remove conflicts, our system will pick up those conflicts and ask for a resolution of the conflict from the user. It could be that the new or prior the example needs to be explained more, the prior example may be wrong, or actually this is behaviour to override what is already there. All examples used are remembered for ever by becoming baked into the "model" and therefore it doesn't matter whether the modification is 10 years down the track (and the original trainer is long gone), the system will still flag up conflicting behaviour.
We like to think of this (and where the insight came from) as how correct behaviour is taught to a child, with initial examples resulting in the child asking "why", and later by arguing back along the lines of "but previously you said…".
One massive advantage of the approach of using examples is that it is also very effective at extracting tacit knowledge from the person doing the training.
[Tacit knowledge - is knowledge that is difficult to express or extract, and thus more difficult to transfer to others by means of writing it down or verbalizing it. This can include personal wisdom, experience, insight, and intuition - Wikipedia].
Our approach leads to a system that is quick to train but is always deterministic and explainable (which is what you want for any business system), and therefore at any point you can investigate how it arrived at that result and if necessary go and modify that element of behaviour in the future. It also means that a document explaining the existing behaviour can always be produced, and can then be checked / verified by compliance / governance departments. All saved behaviour is also automatically versioned.
When building a new system from scratch in a traditional manner, the development process is usually to write the specification, do the design, build then test. However, there is a movement called Test Driven Development (TDD) (or a stage further Behaviour Driven Development (BDD)), in both of these the tests (or desired behaviour) are created first meaning that you think about what you are looking to achieve first. With Rulevolution the approach is very similar, in that first you create the scenario, effectively creating the test (within Rulevolution), and then build the behaviour, which can all be done incrementally. In fact, we find that users may start with some ideas, but always build many more training examples as they build the system behaviour. This also fits with an incremental / agile way of working.
When looking to replace an existing system data examples should usually be extracted from sample input and outputs of the legacy system. Usually data can be directly captured from the existing system (we usually help customers decide at what level this should be done for optimal efficiency in discussion about the capabilities in question). These can then be filtered (within Rulevolution) to extract useful examples to build system behaviour.
It is nearly always the case, irrespective of which of the above two scenarios are being used (new or legacy replacement), that additional "synthetic" examples should then be added to build behaviour to handle errors, rejected data etc. This can all be performed from within the Rulevolution IDE (Integrated Development Environment).
Who should do the training?
In the new build scenario, this is usually the BA (Business Analyst), the person who understands what is trying to be achieved for the business. Indeed Rulevolution is designed for this level of non-technical user, and designed to be intuitive and quick to learn.
In the legacy replacement scenario, we've found there is always a person who knows roughly what the system achieves (quite often at a System Analyst level, or someone that currently nurtures or babysits the system), they do not need to know how the existing system works, and not in any detail, this is the ideal person. By replaying captured real world examples into Rulevolution, they work their way through the data to generate the end results, each behavioural element just has to be just good enough for that example. For initial examples behaviour may seem trivial, as training continues the behaviour will automatically become more complex, this complexity is handled internally by Rulevolution, allowing the trainer to concentrate just on the elements of the individual example each time.
For the first few projects we highly recommend that one of our consultants helps to build the system jointly with the staff of your choice, this accelerates the learning of your personnel, and helps us to understand your business better to be able to help further / support you in the future.
We can also provide bespoke build services as well.
Advantages of the Rulevolution approach
- Deterministic & explainable always,
- Does not need huge datasets,
- Specific behaviour can be modified on a granular level,
- Maintenance can be performed safely years in the future, without accidentally breaking something else (thus greatly reducing the cost and risk of future maintenance),
- Naturally extracts tacit knowledge.
A step further
You may take the point of view that a pupil is only as good as a teacher, well our unique take on supervised learning means that like a good student, through insight, diligent attention to details and hard study (both of which computers are good at), our learning system can now far exceed the capabilities of the teacher, and become a true master in their own right.
Rulevolution - the right tech for the right job
Although AI and unsupervised learning is suitable for many tasks, we believe that for building business systems that give reliable and explainable results quickly, you need a type of supervised learning, (the right technology for the right job), and for this you should use Rulevolution.