Tuesday 6 February 2018

Artificial Intelligence & Explainability

Explainability has become a very hot issue within the very hot domain of Artificial Intelligence (AI).  Here is my perspective on the issue.  As usual, my views are based on a systems engineering (and real world application) approach ... oh, and these are my own personal views and don't represent those of my employer.

Most of the current excitement (I won't use the word hype) around AI stems from the publicity surrounding Machine Learning and, in particular, Deep Learning.  Deep Learning algorithms are not "explainable" and so ... with everyone assuming that AI is achieved by simply throwing data at Deep Learning algorithms ... it is no surprise that there is a lot of concern about explainability.

In reality, we need to think about systems and not algorithms (I say that quite a lot).

Consider, for example, a driverless car comprising multiple AI sub systems.  There may be a vision system that identifies and classifies vehicles.  There may be a laser range finder that calculates the distance to objects around the vehicle.  There may be a GPS system that identifies the location of the vehicle and this system will be supported by mapping data.  There may be a noise classification system that identifies the sound of sirens.  I would expect all this data to be fused together and fed into a decision engine and I would expect the output of the decision engine to be explainable.  I would expect the system to state, "I made the decision to pull over to the side of the road because the noise classifier detected a siren approaching from behind, the vision system identified an emergency vehicle approaching from behind, the road was straight and it was a safe place to stop without causing an obstruction".  Within this explanation there are "classifications" that may have come from an AI sub system that cannot fully explain it's reasoning.  For example, the vision system may not be able to explain how it identified an emergency vehicle approaching.  Whilst we may feel that is unacceptable, it is important to accept that there are many situations when we as human beings cannot explain own own image or sound recognition.  However, even when the classifier cannot explain its reasoning, it should be possible to design a Machine Learning system so that it retrieves the training data that influenced its classification decisions.  The vision system may not be able to explain its classification but it should be able to say, "here are the closest matching images in my training data".

Finally, remember that there are many different Machine Learning algorithms.  Rule induction system such as C4.5 generate human readable rules.  As such, these algorithms are able to explain their reasoning.

In summary, whilst certain algorithms cannot explain their decision making, overall systems should be engineered to be explainable and machine learning systems should be able to support their decisions with training evidence.