I have made a neural network using TensorFlow that is able to identify IP addresses that are likely to have a vulnerability of type A.

I want to output the rule it has made for this identification.

  • 1
    $\begingroup$ What exactly do you mean by 'rule'? $\endgroup$ – DuttaA Sep 11 '19 at 5:42
  • $\begingroup$ @DuttaA, lets say that in a network each IP ending with "8" is vulnerable and the neural network is effectively identifying these vulnerabilities. I want it to tell me that something like "all the IP's with 8 at the end are vulnerable". (ofcourse the actual condition would be much more complex). $\endgroup$ – Uzair Ahmed Sep 11 '19 at 5:49
  • 1
    $\begingroup$ No it can't. Or at least not as human friendly as you would like. The weights of the network represent the rule. But these weights are meaningless for us human... $\endgroup$ – Astariul Sep 11 '19 at 5:51
  • 1
    $\begingroup$ @OliverMason It is not entirely true. There are some explainable AI techniques (e.g. LIME) that can be used for the interpretation of AI models. $\endgroup$ – nbro Sep 11 '19 at 12:45
  • 1
    $\begingroup$ The reason why neural networks are called black box models is because the rules of the network are stored in the weights which are numerical values similar to random noise. Extracting symbolic rules is discussed in the literature under the term NeC4.5 which is a modified C4.5 decision tree learning algorithm. The idea is, to store the decision tree in the neural network, similar to a q-learning matrix. The advantage over a standard neural network is small. $\endgroup$ – Manuel Rodriguez Sep 11 '19 at 12:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.