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 (with the right answers) 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 e.g. looking for evidence of fraud in 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, but also in explaining to your compliance department or other interested party,
- 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” an element of the learnt behaviour 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 different approach.
We have developed our own type of Supervised Learning in which 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 systems where the data has to be carefully curated to remove conflicts, our system will pick up those conflicts for you and ask for a resolution of the conflict from the user as part of the teaching process.
It could be that the new or prior example needs to be explained more, the prior example may be wrong, or this is behaviour that intentionally overrides the prior behaviour.
All taught examples are remembered forever, by becoming baked into the Rulevolution “model”. Therefore it doesn’t matter if you wish to make a modification 10 years down the track, and the original trainer is long gone. The system will still flag up any 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 and yet it is also deterministic and explainable, which is what you want for any business system. Therefore at any point you can investigate how it arrived at any given result and if necessary you can modify that element of behaviour in the future.
As an added bonus it also means that a document explaining the existing behaviour can always be produced by exporting the model specification. Production of a meaningful requirements specification of this kind is usually a lengthy and costly yet an indispensable process. The model specification could then then be checked/verified by compliance & governance departments or used for other systems in the future.
All saved behaviour is also automatically versioned, so as a business it is quick and easy to se what changed, by who, and rollback / adjust where required.
When building a new system from scratch in a traditional manner, the development approach 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 very much with an incremental / Agile way of developmental 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 are 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), or any person who understands what the system has to achieve for the business. Indeed Rulevolution is especially designed for this level of non-technical user, and designed to be intuitive and quick to learn. This person can be either a Rulevolution expert or one of the clients own personnel.
The best situation is when a Rulevolution expert and the clients own Subject Matter Expert (SME) work on the project jointly, this also facilitates training of the SME to be able to look after the system themselves in the medium to longer term.
In the legacy replacement scenario, we’ve found there is always a person who knows roughly what the legacy system achieves (quite often at a System Analyst level, or someone that currently nurtures and babysits the system). They do not need to know how the existing system works, this is the ideal person to assign to the project.
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 good enough for now (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 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 enables us to understand your business even better to be able to help further support you in the future.
We can also provide a full bespoke build services should you require it.
Advantages Of The Rulevolution Approach
- Always deterministic & explainable
- 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. Our unique take on supervised learning means that like a good student, through insight, diligent attention to detail and hard study (both of which computers are good at!), our learning system can exceed the capabilities of the teacher, and become a true master in its their own right, without ever getting out of hand.
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.