Custom DDPG Algorithm in MATLAB R2023b: Performing Gradient Ascent for Actor Network
7 views (last 30 days)
Show older comments
Hello MATLAB community,
I am working on implementing a custom Deep Deterministic Policy Gradients (DDPG) algorithm in MATLAB R2023b. In the DDPG algorithm, during the training of the actor network, the Q value produced by the critic network is set as the objective function for the actor network. The standard approach involves using gradient ascent to update the actor network based on these Q values.
My question pertains to the use of the gradient function from the Reinforcement Learning Toolbox to calculate gradients. Following this, how can I perform gradient ascent, as the update function from the same toolbox seems to default to gradient descent and not gradient ascent? I would appreciate any insights or examples on implementing gradient ascent in this context.
Thank you for your assistance!
0 Comments
Accepted Answer
Venu
on 8 Jan 2024
Edited: Venu
on 8 Jan 2024
Gradient ascent is the same as gradient descent except that you don't multiply your step (learning_rate * gradients) by a negative sign. So your step has the same sign as your gradient.
If the update function defaults to gradient descent, you can adjust the sign of the gradients before updating the parameters.
actorNetwork.Parameters = actorNetwork.Parameters + learningRate * -gradients; (% Perform gradient ascent by adjusting the sign of the gradients)
You can refer to example in this documentation for 'gradient' function
Hope this helps!
1 Comment
Syed Adil Ahmed
on 13 Aug 2024
Is it possible to provide the documentation link again ? It shows up as:
"The page you were looking for does not exist. Use the search box or browse topics below to find the page you were looking for."
Thank you
More Answers (0)
See Also
Categories
Find more on Reinforcement Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!