Training a feedforward neural network with a custom performance function and no given target outputs.

3 views (last 30 days)
Hello everybody,
I am using a feedforward neural network for a function approximation. I have 5 inputs that result in 8 outputs. These outputs are parameters that describe / alter a vehicle driving path. The combination of the inputs and the according output-parameters allows the calculation of control signals (steering angle, accelleration, etc.). My goal is to train the neural network without having target outputs, because I don't know the perfect control signals or parameters for the according input values.
I want the performance function to calculate the performance score from the control signals after every training step. In other words: After the net calculated the 8 output parameters I can use these parameters to get the control signals and then give a score determining if these control signals are good or bad -> the performance score. What I can not do is get the optimal target outputs from somewhere and use a standard performance function like mse.
If you need special code snippets to help please let me know. I am not allowed to just publish my whole script here. The most important things to know should be that I use the feedforwardnet (https://de.mathworks.com/help/deeplearning/ref/feedforwardnet.html) and train (https://de.mathworks.com/help/deeplearning/ref/network.train.html?s_tid=doc_ta) funtions from the deep learning toolbox.
To sum up I have two problems to solve:
  1. Implementing a custom performance function.
  2. Training the neural network without target outputs.
As far as I understand giving the target outputs to the train function is just optional (documentation: "default is zeros"), so no. 2 should just "solve itself" after implementing a performance function that does not use target outputs. However I am not 100% sure on this so correct me if I am wrong.
Thank you in advance, best regards,
Thorben
  1 Comment
Thorben Südhoff
Thorben Südhoff on 27 Sep 2021
Addition: Is it possible to use a function-handle in place of the performance function or do I have to make a new file like e.g. 'mse' ?
Just being able to use a function handle would be the best option for me.

Sign in to comment.

Answers (1)

Silvio Chemnitz
Silvio Chemnitz on 14 Nov 2022
Hello Thorben,
I am facing the same problem. Did you find a solution for your problem?
Best regards
Silvio

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!