MATLAB Answers

0

Is it possible to combine two neural networks in MATLAB?

Asked by Isa El Doori on 1 Nov 2018
Latest activity Commented on by Isa El Doori on 14 Nov 2018
Hi,
For my assignment I have been looking into the possibility to combine two neural networks into one by element-wise summation of certain layers.
Much like this:
I know that this can be implemented in python, but what I was wondering was if it is also possible to implement it in MATLAB? If yes, how? I have looked into the parfor function to train multiple neural networks in parallel, however I have not found a way to then combine the layers of these networks.
Thanks in advance!

  0 Comments

Sign in to comment.

2 Answers

Answer by Bernhard Suhm on 9 Nov 2018

MATLAB has an AdditionLayer that allows you to combine outputs of two separate strands in your deep learning network. With R2018b, you can use the Deep Learning Designer app to graphically layout complex layer architectures like the one you allude to above. You need the Deep Learning toolbox though.

  1 Comment

Hi Bernhard,
Thank you for your reply! I have designed (most) part of the layer architecture. The AdditionLayer really came in handy. Thanks!

Sign in to comment.


Answer by Shounak Mitra on 11 Nov 2018

Hi Isa,
If I understand your question correctly, you want to train 2 neural networks simultaneously and then combine them into one through an element wise operation of the layers. You're not looking to merge two branches of the same network. Is my understanding correct? I'll reach out to you to learn more about your use-case.
By Looking at the workflow diagram, I am wondering if you're trying to use an encoder-decoder network for a semnatic segmentation task? If that's true, then learn more here --> https://www.mathworks.com/help/vision/examples/semantic-segmentation-using-deep-learning.html
If you're looking for combining two branches of a neural network using an element-wise operation, then we've 2 ways in which you can do that. 1. Depth Concatenation layer : https://www.mathworks.com/help/deeplearning/ref/nnet.cnn.layer.depthconcatenationlayer.html
2. Addition layer (as mentioned by Bernhard): https://www.mathworks.com/help/deeplearning/ref/nnet.cnn.layer.additionlayer.html?searchHighlight=addition%20layer&s_tid=doc_srchtitle

  1 Comment

Hi Shounak,
Thank you for your comment! Please see the reply I send you to your email.

Sign in to comment.