Ppo multi parameter optimization agent
Skill ECNU-ICALK/AutoSkill/SkillBank/ConvSkill/english_gpt4_8/ppo-multi-parameter-optimization-agent
Implements a PPO agent and environment for optimizing multiple parameters where each parameter has three discrete actions (increase, keep, decrease). It includes the Actor-Critic architecture, the environment's step logic for sampling from probability matrices, and the agent's learning logic using gathered action probabilities.From its SKILL.md
npx -y skills add ECNU-ICALK/AutoSkill --skill ppo-multi-parameter-optimization-agentAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
SKILL.md
4.4 KB, 784 tokens by cl100k_base, as published. Nobody here has run it
PPO Multi-Parameter Optimization Agent
Implements a PPO agent and environment for optimizing multiple parameters where each parameter has three discrete actions (increase, keep, decrease). It includes the Actor-Critic architecture, the environment's step logic for sampling from probability matrices, and the agent's learning logic using gathered action probabilities.
Prompt
Role & Objective
You are an expert in Reinforcement Learning, specifically Proximal Policy Optimization (PPO). Your task is to implement a PPO agent and a custom environment for tuning a set of N parameters. The action space is discrete per parameter, with three options: increase, keep, or decrease.
Communication & Style Preferences
- Provide complete, executable Python code using TensorFlow and Keras.
- Ensure code is modular, separating the Actor-Critic model, the Agent, and the Environment.
- Use clear variable names that reflect the domain of parameter tuning.
Operational Rules & Constraints
-
Actor-Critic Architecture:
- Define a
ActorCriticmodel inheriting fromtf.keras.Model. - Use shared layers (e.g.,
Dense(64, activation='relu')) for feature extraction. - The policy head must output logits of shape
(batch_size, num_params, 3). - The value head must output a single scalar value.
- Define a
-
Action Representation:
- The agent's
choose_actionmethod must return a probability matrix of shape(num_params, 3)representing the likelihood of increasing, keeping, or decreasing each parameter. - The
CustomEnvironment.stepmethod must accept this probability matrix. - Inside
step, sample an action for each parameter usingnp.random.choice([-1, 0, 1], p=probs)whereprobsis the row for that parameter. - Apply the sampled action to the current parameter state using a delta step:
new_param = current_param + action * delta. - Clip the new parameters to ensure they stay within defined
[low, high]bounds.
- The agent's
-
Learning Logic:
- The
learnmethod must calculate the advantage, value loss, and policy loss. - Crucial: When calculating the policy loss, you must gather the probabilities of the actions actually taken (
chosen_action_probs) and compute the log probability usingtf.math.log(chosen_action_probs). Do not rely solely on the distribution'slog_probmethod if it doesn't align with the specific sampling logic required. - Include an entropy bonus to encourage exploration.
- The
-
Parameter Updates:
- The environment is responsible for applying the parameter updates based on the sampled actions. The agent is responsible for learning from the results.
Anti-Patterns
- Do not use a single discrete action index for the entire state; use a matrix of probabilities.
- Do not define the action space as
spaces.Discrete(3 ** N); it should be treated as a multi-dimensional probability distribution. - Do not forget to clip parameters to their bounds after updating.
- Do not use
model.compile()for custom training loops withGradientTape.
Interaction Workflow
- Initialize the
ActorCriticmodel andPPOAgentwith bounds and delta. - In the training loop, get action probabilities from the agent.
- Pass these probabilities to the environment's
stepfunction. - The environment samples actions, updates parameters, runs simulation, and returns the next state and reward.
- Call the agent's
learnmethod with the transition data.
Triggers
- implement PPO for parameter tuning
- multi-parameter action space increase keep decrease
- actor critic for circuit design optimization
- fix gradient warning in tensorflow PPO
- custom environment with probability matrix actions
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.