19. Kris Verlaenen19
Lessons learned
●
Only as smart as the data you give it
●
Apply in specific situations
●
Algorithms sometimes biased
• Only small amount of data
• Too uniform data
• Unseen data
●
Doesn’t necessarily learn the correct behavior
• Could have strange side effects
• Analyze before you encode
Hi, my name is Kris Verlaenen, I’m the architect for the Red Hat Business Automation platform, which is a supported offering built on top of the completely open-source jBPM project and other related Red Hat products.
We all are already more than familiar with the fact that applications keep becoming more and more intelligent, especially since we’ve been offering ways to encode this knowledge in business processes, decision rules, tables or trees, etc.
Artificial intelligence however adds another dimension to this, as rather than humans understanding relationships and encoding them, machines now are learning from data directly.
We simply want to combine machine learning with how we use business processes to automate behavior already, applying it in specific situations, which will allow the overall system to become even more intelligent over time.
Machine learning traditionally comes with a few significant roadblocks, making it complex and expensive to start applying it. Process automation however has a good track record of being an enabler or accelerator for various new technologies.
It provides a good foundation that offers access to lots of data, either historical or live, and offers integration points for technologies like machine learning to plug into.
Another major challenge relates to reluctance or fear of including A.I. into real life use cases, which again is not a new challenge as process automation has traditionally seen this issue as well, although to a lesser extent.
Especially when you have limited data to learn from, you need to enable users to build up the confidence in small steps, gradually using more and features related to machine learning if they want to.
So our strategy has focused on human tasks, where we first start by observing and possibly augmenting data that is used by human actors in that context and finally can consider even fully automating them.
Integration of machine learning into business processes is two-fold, one is making sure you can observe and train these models whenever work is performed, and secondly to predict the results during execution of these tasks.
The algorithm we used to help predict human task output based on the task inputs is called Random Forest. Basically it’s a large set of decision trees that are trained in parallel to help predict the expected behavior.
In the demo I will be using the SMILE library, which like most Machine Learning solutions out-of-the-box contains algorithms that implement random forest, and we are for example also working on doing the same with Apache Spark.
To be able to apply machine learning in small steps, the focus has been on non-intrusive ways of applying predictions. A first approach allows us to provide the human actor with additional augmented information during task execution.
Beyond simply trying to predict the outcome of the human task, the algorithm can also include information about the confidence that we have in the prediction, the relative importance of each of the data inputs, etc.
As a second approach we can also start to recommend tasks to users, based on what we have observed in the past. This especially works well in the context of case management, where ad-hoc and dynamic tasks can be observed.
Once enough data is collected and confidence is high enough, both of these approaches could potentially be fully automated, eliminating the need for a human actor (at least in specific situations).
And finally, you can also extract and analyze whatever we have learned so far. As there are benefits to encoding some of it in your business logic, continuously improving your business processes as well.
So even though we know machine learning could be used to eliminate the need for human tasks in specific situations, the focus is much more on enabling it in a non-intrusive manner to help the different stakeholders in your business processes.
And I will come back to this slide at the end of the demo to explain some of the lessons learned, as machine learning of course comes with its own set of challenges as well.
In the demo, in the context of a simple application used by employees to order office supplies, I will highlight how you can apply all 3 approaches: augment, recommend and learn.
While A.I. itself can be quite broad, machine learning focuses on observing behavior and learning from that. Deep learning is even more specialized and typically requires millions of data points to be able to do for example image or speech recognition.