您的位置:首页 > 新闻 > 热点要闻 > 无需本金十分钟赚800_深圳的建站公司_目前较好的crm系统_重庆自动seo

无需本金十分钟赚800_深圳的建站公司_目前较好的crm系统_重庆自动seo

2025/2/25 4:20:17 来源:https://blog.csdn.net/qq_50867500/article/details/145192057  浏览:    关键词:无需本金十分钟赚800_深圳的建站公司_目前较好的crm系统_重庆自动seo
无需本金十分钟赚800_深圳的建站公司_目前较好的crm系统_重庆自动seo

DDPG发展自DPG,同样是“确定性策略梯度方法”,相较于DPG,其变化是:DPG等前序的算法只是把“函数拟合”的思想引入强化学习,其实际流程还是相当于自己写了个底层(写了详细的参数更新流程),并没有引入深度学习(神经网络)相关的东西,而DDPG则与深度学习(神经网络)的方法更彻底的结合,直接把深度学习的工具拿来用 。

除此之外,还有DDPG还把双网络、经验回放引入了算法中。

一、Loss Function

传统的Loss Function是用Y与Y_targrt来列写的,使Y可以接近Y_targrt,即Y接近真值。

典型的Loss Function有:L1,MES(均方误差),CrossEntropy。

1、Critic的Loss Function

Critic更新目标是使网络可以尽可能准确地估计真实的q值,即网络输出的q值与真实q值越靠近越好。

Critic输入是当前状态与在该状态下采取的动作,输出是该状态动作对的q值。

DDPG采用双网络技巧,故Critic网络分为Q与Q_traget两个网络。

Q_traget网络的输出与环境反馈数据共同计算后得到q_target(Y_target):

q_{target}=r_{t+1}+\gamma Q_{target}\left ( s_{t+1},\mu_{target} \left ( s_{t+1} \right ) \right )

Q网络的输出就是q(Y):

q=Q\left ( s_{t},a_{t} \right )

由此,采用MESLoss可以定义用于Critic网络更新的Loss Function:

Loss =\left ( q-q_{target }\right )^{2}

具体到实现中的梯度下降式子是:

w_{t+1}=w_{t}+\alpha _{w}\bigtriangledown _{w}Loss

2、Actor的Loss Function

Actor更新目标是使网络可以在当前状态下尽可能选择选择最优的动作,而当前状态下不同动作的优劣是由Critic输出的q值评价的,所以要以这个q值作为更新的依据,我们期望Actor输出的a在Critic的评价下q值越大越好。

那么如何定义loss呢?因为并没有一个参考值可以构建类似Critic那样的Loss Function。

这里要明确的是q值本身就是一个优化目标:

q=Q\left ( s_{t},\mu \left ( s_{t} \right ) \right )

q越大越好,一般而言优化q值采用的是梯度上升的方式:

\theta _{t+1}=\theta _{t}+\alpha _{\theta }\left ( \bigtriangledown _{a }Q\left ( s_{t},a \right ) \right )|_{a=\mu \left ( s_{t} \right )}\bigtriangledown _{\theta }\mu \left ( s_{t} \right )

一般的神经网络采用梯度下降的算法更新参数,为了适应深度学习工具,可以把q的负值定义为Loss:

Loss = -Q\left ( s_{t},\mu \left ( s_{t} \right ) \right )

二、不严谨的流程

对于一个episode的每个step:

        有一个探索性很强的策略\pi _{\beta }(可以是当前策略\mu+噪声),进行探索,获取经验:

\left \{ s_{t},a_{t},r_{t+1},s_{t+1} \right \}

        Critic:

                计算q_target:

q_{target}=r_{t+1}+\gamma Q_{target}\left ( s_{t+1},\mu_{target} \left ( s_{t+1} \right ) \right )

                计算q:

q=Q\left ( s_{t},a_{t} \right )

                计算Loss:

Loss =\left ( q-q_{target }\right )^{2}

                梯度下降

        Actor:

                计算a:

a_{t+1}=\mu \left ( s_{t} \right )

                计算a对应的q值(-Loss):

Loss = -q\left ( s_{t},a_{t} \right )=-Q\left ( s_{t},a_{t+1} \right )

                梯度下降

        达到一定轮次,更新目标网络的参数:

w\rightarrow w'

\theta \rightarrow \theta '

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com