How to Invert a Neural Network

9 views (last 30 days)
I have trained a model with states as inputs and an output of the cumulative distribution function (CDF) of any specific state, which is designed to mitiage any confusion in the network if multiple points have the same probability. I would like to flip the model instead of training an entirely new model because of the computational requirements and the probability that they won't agree with each other. Does anyone know how to do this with Matlab's Deep Learning Toolbox?
Trained: CDF = NN(X)
Invert: X = NN(CDF)

Accepted Answer

Taimoor Tariq
Taimoor Tariq on 3 Feb 2020
  2 Comments
Blake Van Winkle
Blake Van Winkle on 4 Feb 2020
To Taimoor:
I appreciate the answer. Have you tried to integrate the Deep Learning toolbox into this process?
Thanks,
Blake
Taimoor Tariq
Taimoor Tariq on 5 Feb 2020
Edited: Taimoor Tariq on 5 Feb 2020
The code is compatible with Image input CNNs defined using matconvnet. Now if you have a Image input model trained on the Deep Learning Toolbox, you could probably export it to matconvnet using ONNX and then use the code. However, I think in your case In dont think you are using images as input, you would probably have to tweak the code a lot, or maybe write your own.

Sign in to comment.

More Answers (1)

Srivardhan Gadila
Srivardhan Gadila on 17 Jan 2020
If your network is a fully connected, has no non-linearities(like activations)/non-linear layers and has invertible wieght matrices for all your layers, then only you can invert your trained network by using the inverted weight matrices & bias vectors.
  3 Comments
John D'Errico
John D'Errico on 22 Jan 2020
Note that any such inverse as you desire need not be unique, or even terribly well posed, just as would be true for any inverse of a general nonlinear relationship.
Blake Van Winkle
Blake Van Winkle on 24 Jan 2020
To John:
I would not have a problem with that. Do you know how to do that with the Deep Learning toolbox?
-Blake

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!