Well, eventually any machine learning system needs to integrate with some other piece of software that is not, itself, a machine learning model.
For instance, in AV, is the practice to train ANNs end-to-end, so that they learn to drive a car from scratch, without any interaction with other components at any time? My intuition is that rather than that, the ANN is trained to recognise objects in images and then some hand-crafted logic decides what to do with specific types of objects etc. I think some of the examples in your article say that this is the done thing in some companies.
If this sort of integration is possible, is there any reason why integrating rule-based reasoning with machine-learned models is not?
Right - as far as I know most ANNs _are_ embedded in some pipeline which contains also "regular" SW, and thus by definition there _is_ some way to connect them to a rule-based system.
The only issue is that there is no easy, _natural_ way to do it. For instance, consider the various attempts at adding safety rules to an RL ANN (depicted in fig. 2 in the paper). Say that (in the context of an ANN controlling an Autonomous Vehicle) your ANN decided to do something on the freeway, but the safety rules say "no". There is no easy way to gracefully integrate the rule and ANN: One way is for the rule to disable the ANN's output at this point, take full control and decide what the AV _should_ do. But this leads to duplication and complexity.
So the four solutions I describe take various ways to avoid this problem. They all "work" in a sense, but none does real "integration" of the ANN and the rules (the shield synthesis solution perhaps comes closest). And it looks like you have to invent this kind of solution anew for every new instance of connecting-ANN-to-rules.
And this was just "inserting rules during execution". Then there is the issue of "verifying via rules", and "explaining the rules". It is tough, and I am wondering if there could be some conceptual breakthrough which would make it somewhat easier.
Your article caught my attention because I was thinking about the problem of
integrating probabilistic machine learning models with deterministic rule bases
(specifically, first-order logic ones). The rules
themselves would be learned from data, with ILP. I'm starting a PhD on ILP in October and this is
one of the subjects I'm considering (although the choice is not only mine and
I'm not sure if there's enough "meat" in that problem for a full PhD).
My intuition is that in the end, the only way to get, like you say, a "natural"
integration between rules and a typical black-box, statistical machine learning
model is to train the model (ANN, or what have you) to interact directly with a
rule-base- perhaps to perform rule selection, or even to generate new rules
(bloody hard), or modify existing ones (still hard). In other words, the rule
base would control the AV, but the ANN would control the rule-base.
I think there's gotta be some prior work on this but I haven't even looked yet.
I'm kind of working on it, but not from the point of view of AVs and I'm using
logistic regression rather than ANNs (because it's much simpler to use quickly
and it outputs probabilities). And I'm only "kind of" working on it. And I don't
think it'll come to anything.
For instance, in AV, is the practice to train ANNs end-to-end, so that they learn to drive a car from scratch, without any interaction with other components at any time? My intuition is that rather than that, the ANN is trained to recognise objects in images and then some hand-crafted logic decides what to do with specific types of objects etc. I think some of the examples in your article say that this is the done thing in some companies.
If this sort of integration is possible, is there any reason why integrating rule-based reasoning with machine-learned models is not?