Reinforcement Learning

Q-Learning

1.主题思想

  • 1.创建一个Q表。存放所有环境状态(S), 行动(A), 奖励(R), 后续可以根据环境查表。获取奖励最大的行动
  • 2.初始化环境
  • 3.获取环境的状态 observation (s)
  • 4.查Q表获得行动 action (a)
  • 5.用action 去更新环境, 获得新的状态 observation_(s_) 和 奖励 reward (r) .得 Q现实 = reward + gamma * Q_max(observation_, action_)。 其中Q_max(observation_, action_)为查Q表获得的下一步最大的奖励的值
  • 6.用action 去查询Q表。获得 Q估计 = Q(s, a)
  • 7.error = Q现实 - Q估计
  • 8.利用梯度下降或者其他activation不断学习,降低error。 Q(s, a) = Q(s, a) + alpha * error

2.算法

Q-Learning

Sarsa

1.主题思想

* 与Q-Learning类似。但是第5步中获取 Q现实不同。
  Q-learning是查询Q表获取最大的奖励reward
  sarsa是将环境代入Q表和算法中获取下一步的行动action_和奖励 Q(observation_, action_)

2.算法

Sarsa

Sarsa(lambda)

1.算法

Sarsa

DQN

1.主题思想

  • 1.与Q-learning类似,但是Q-learning方法对于状态连续的,状态数量无限多的情况不适用。所以使用神经网络代替Q表。 类似于用一个复杂的方程代替Q表。输入环境状态 s 和 行动 a 获得 对应的奖励reward
  • 2.用2个Neural Network.一个(N_eval)用于Q现实。一个(N_target)用于Q估计。
  • 3.N_target的参数快于N_eval. N_eval用于计算Q_现实 N_target不断训练。与N_eval的值对比。一定步数之后将N_eval的参数替换为N_target的。

2.算法

Sarsa