I'm looking for an industry standard framework for joining multiple neural networks in a modular way.

Assume we have two or more neural networks trained to perform certain tasks. By feeding the outputs of some networks into the inputs of others we might obtain higher functionality, but to test multiple hypotheses, we would need a way to rapid prototype those configurations.

Modular Neural Networks

The source of this image is here — a proposition of this modular ANN architecture in a thesis

I'd be interested in knowing:

  • Do any frameworks or libraries like this even exist?

  • If so, do they support distributed models, so that models don't have to be hosted in the same process or on the same machine?

  • Do they allow hosting models to be generated from different deep learning frameworks?

  • 1
    $\begingroup$ Welcome to AI! Nice graphics. I took the liberty of adding a couple of tags I though were relevant. Looking forward to an answer. $\endgroup$ – DukeZhou Feb 15 '18 at 21:03
  • 1
    $\begingroup$ almost all popular neural network toolkits support this in their specific way , for a big multiple network project , you should construct a computational graph of the network. i would suggest tensorflow . $\endgroup$ – thecomplexitytheorist May 29 '18 at 20:22

In recent years the focus has been on layers rather than the more biologically inspired individual nodes. As stated in the comment by thecomplexitytheorist you could use a computational graph, although then you have issues with distribution and you're limited to one framework.

I created something in my PhD about the same time as the thesis you reference that was a simulation of biological structure and connected in a way not dissimilar to figure b above using ML to determine the weights of all the connections. The control module of the network was distributed across several neurons, but allowed asymmetric connections between the inputs and outputs. This was a large effort, and similar results could now be achieved more quickly using the modern frameworks. This is, I believe, the main reason that biologically inspired neural networks are not as actively researched. I still believe that there are tricks in biology that we've not encapsulated and would love the head space to create a framework to test this hypothesis!

Multiple Neural Networks are the simplest way to go and I've created several of these over the years (sadly not open source). These can be distributed and use different frameworks - just wrap up each of your networks in an API that has common inputs and outputs and you can daisy chain them without worrying about the internals. This would give you the power and flexibility you need and allow you to swap in and out multiple models. I know I've made that sound simple but at this stage it's more a software engineering problem. You do need to be wary of compound errors between your networks if you're trickling down as it's basically a decision tree of NNs at that point.

| improve this answer | |

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.