强化学习-SAC(Soft Actor-Critic)
摘要:1.在策略上,在均值为Mu, 标准差为std的标准正态化分布上进行采样, 使用action_bound来获得动作,使用log_prob获得该动作的概率值 dist = Normal(mu, std) normal_sample = dist.rsample() # 在标准化正态分布上采样 log_p
阅读全文
posted @
2022-09-12 22:33
python我的最爱
阅读(2255)
推荐(0) 编辑
强化学习-DDPG
摘要:1.DDPG是一个离线的策略方法 rl_utils.train_off_policy_agent(env, agent, num_episodes, replay_buffer, minimal_size, batch_size) 2.DDPG是一个将状态states和actor的输出作为共同的输入
阅读全文
posted @
2022-09-12 16:02
python我的最爱
阅读(823)
推荐(0) 编辑
强化学习-PPO
摘要:1.PPO是采用截断来对动作的输出进行约束,保证相同的状态下,同样的输出 ratio = torch.exp(log_probs - old_log_probs) surr1 = ratio * advantage surr2 = torch.clamp(ratio, 1 - self.eps, 1
阅读全文
posted @
2022-09-12 10:49
python我的最爱
阅读(1508)
推荐(0) 编辑
强化学习-Actor-Critic(演员和评论家)
摘要:1.Actor-Critic既学习价值函数,也学习策略函数 2.价值函数用来评估当前的状态是好的,还是不好的,进而帮助Actor进行策略更新 actor_loss = torch.mean(-log_probs * td_delta.detach()) # 即由td_delta来调控损失 3.Cri
阅读全文
posted @
2022-09-12 09:49
python我的最爱
阅读(535)
推荐(0) 编辑
强化学习-PolicyGrad(策略梯度强化学习)
摘要:1.这是一种在线的强化学习方法 2.使用的是动作状态概率的输出值,求取最大化的收益Q, 而不是直接输出Q值 log_prob = torch.log(self.policy_net(state).gather(1, action)) G = self.gamma * G + reward loss
阅读全文
posted @
2022-09-11 16:23
python我的最爱
阅读(295)
推荐(0) 编辑
强化学习-DuelingDQN(决斗DQN)
摘要:DuelingDQN的原理是Q的期望汇报,由两个输出决定,一个是Action的价值,还有一个是当前状态的价值 即由算法本来来确定当前的状态是否是好的,为了使得当前状态的价格可以更新,即对Action的输出做归一化的限制 A = self.fc_A(F.relu(self.fc1(x))) V = s
阅读全文
posted @
2022-09-11 16:15
python我的最爱
阅读(245)
推荐(0) 编辑
强化学习-Double DQN(两个DQN模型)
摘要:对于之前提到的DQN模型, 损失函数使用的 Q(state) = reward + Q(nextState)max Q(state)由训练网络生成, Q(nextState)max由目标网络生成 这种损失函数会存在问题,即当Q(nextState)max总是大于0时,那么Q(state)总是在不停的
阅读全文
posted @
2022-09-04 21:40
python我的最爱
阅读(1242)
推荐(0) 编辑
强化学习-DQN(Deep Q-netword)
摘要:1.DQN的动作选择策略是epsilon-贪婪策略 (1)当随机值小于阈值时, 使用随机的action (2)当随机值大于阈值时, 使用网络输出的最大Q值的方向 2.DQN的损失函数计算 (1)输入state, 生成最大方向的action (2)将action输入到环境中, 获得next_state
阅读全文
posted @
2022-09-04 17:29
python我的最爱
阅读(813)
推荐(0) 编辑