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.
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.