Clear Filters
Clear Filters

training MLP by learning from PID controller

13 views (last 30 days)
I have a PID controller, and I need to train MLP by learning from PID controller. The simulink structure is like the following, and the inputs are two sine waves.
The configuration of PID is like the following.
The architecture of MLP is like the following, and the normalization has been set in Sequence layer.
The training plot is good in reference to the following.
However, there is something wrong with comparision scope in simulink, where the mark red and mark green represents the outputs of PID controller, while the mark yellow an mark blue represents the outputs of Neural Network. Obviously, the performance of Neural Network is not so good, but I don't know the reason. If anyone knows about that, please help me, I will appreciate it.

Answers (1)

David Willingham
David Willingham on 28 Oct 2022
Firstly, you may need to train a model that type includes state information, i.e.LSTM. I would recommend trying a LSTM network.
Another consideration, have you thought about using reinforcement learning? It is better suited to modeling control systems. This example shows how you can use it to tune a PI controller Tune PI Controller Using Reinforcement Learning
Yang Chen
Yang Chen on 1 Nov 2022
I haven't tried Reinforcement learning, because my current research is to replace PID by simple deep neural network. Reinforcement learning is a further step.
David Willingham
David Willingham on 3 Nov 2022
Hi Yang,
What is the goal to replace the PID with Deep Learning? What's your measures for success?
For the LSTM architecture, have you tried tuning any of the parameters?

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!