DQN

2 篇文章 0 订阅

DQN 算法分析:
我们的环境是确定的,所以为了简单起见,这里给出的所有方程也是具有确定性的。 在强化学习文献中,他们也将对环境随机转换产生预估。

我们的目标是训练一个策略来最大化回报 R t 0 = ∑ t = t 0 ∞ γ t − t 0 r t R_{t_0} = \sum_{t=t_0}^{\infty} \gamma^{t - t_0} r_t Rt0=t=t0γtt0rt, γ \gamma γ是折扣,是 0 0 0 1 1 1之间的一个常数,用来保证和是收敛的。它让那些在未知的未来的具有不确定性的回报小一些,而让最近的未来的那些确定的回报保持较高的可信赖度。

Q-learning 的主要思想是如果我们有了一个函数 Q ∗ : S t a t e × A c t i o n → R Q^*: State \times Action \rightarrow \mathbb{R} Q:State×ActionR,它可以告诉我们当前的状态下执行某个动作的回报值是多少。如果有了这样的函数,那么我们可以很容易地构造相应的策略来最大化我们的回报:
\begin{align}\pi^(s) = \argmax_a \ Q^(s, a)\end{align}
然而,我们不知道关于这个世界的一切,所以我们没法准确获得 Q ∗ Q^* Q,但是,既然神经网络能够逼近所有函数,我们能够训练它使得它趋近于 Q ∗ Q^* Q
对于我们训练提升的规则来说,默认对于一些策略,所有的 Q Q Q函数遵循 Bellman 方程:
\begin{align}Q^{\pi}(s, a) = r + \gamma Q^{\pi}(s’, \pi(s’))\end{align}
等式左右两边的区别被认为是暂时的误差 δ \delta δ
\begin{align}\delta = Q(s, a) - (r + \gamma \max_a Q(s’, a))\end{align}
为了消除这个误差,我们要用到 Huber loss ,当误差较小的时候,Huber loss表现得像MES[mean squared error],但是当误差较大时,MES会变得很大。所以这种损失函数让算法在估计 Q Q Q遇到很大的噪声时更加稳定。计算是针对从保存的replay memory中获取采样的B个样本:
\begin{align}\mathcal{L} = \frac{1}{|B|}\sum_{(s, a, s’, r) \ \in \ B} \mathcal{L}(\delta)\end{align}

\begin{align}\text{where} \quad \mathcal{L}(\delta) = \begin{cases}
\frac{1}{2}{\delta^2} & \text{for } |\delta| \le 1, \
|\delta| - \frac{1}{2} & \text{otherwise.}
\end{cases}\end{align}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值