强化学习(SQL)

SQL------soft Q-learning

这是一种在最大化期望累计奖励的基础上,最大化熵项的算法,即该算法的优化目标是累计奖励和熵(entropy)的和

SQL的好处:

①探索性强:可以在多模态任务中找到最佳的方案,多模态是指agents需要去规划多个目标

②更鲁棒性:目标中加入熵会让agent学习到所有动作,当环境中加入干扰噪声,呢么之前规划好的动作可能就不能用了,那么此时就可以用其余动作

③组合性更强:通过最大熵,policy学习到所有解决任务的方法,这样的policy就更有利于学习新的任务

SQL的输出是一个玻尔兹曼分布,包括了每个动作的可能性,当然不同动作采样概率有高有低,概率大容易被采到并输出,概率小的较难被输出。

举例说明SQL的抗干扰性:假设已经找到了最佳的路径,但是突然出现干扰,如果是Q-learning这种输出靠着最大Q对应的动作,那么agent就会一直在干扰处徘徊,但是SQL就会不一样,对于所有动作都会被选择到,只不过概率有高低罢了,那么当遇到干扰时,agent就有机会找到另一条合适的路径。

含熵优化目标:

增加信息熵项,那么优化时,就会使得输出的每一个动作的概率尽量分散,因为在一个集合中,体系越混乱,种类越趋于平均,熵值越大。

伪代码:

初始化分布参数:

更新目标参数:

空的回访缓存区D

for each epoch do

for each t do

通过获取状态对应的动作:,其中

与环境交互获得下一时刻的状态:

将经验数据存入回放缓存区D

从回放缓存区中抽取小样本数据

更新值函数网络:计算状态对应的action及value,计算梯度并且更新参数

更新采集网络:计算状态对应的和采集到的action,更新网络参数

end for

达到目标参数更新频次:

end for

注意:

1、有两个网络:采集网络&值函数网络,与AC算法的actor网络&critic网络形式相似

2、两大优化算法:SVGD&ADAM,采集网络:SVGD优化KL散度然后Adam更新参数;值函数网络:Adam优化MSE以及更新参数

相关推荐
yzx99101319 分钟前
基于Django的智慧园区管理系统开发全解析
后端·python·django
HyperAI超神经37 分钟前
在线教程丨端侧TTS新SOTA!NeuTTS-Air基于0.5B模型实现3秒音频克隆
人工智能·深度学习·机器学习·音视频·tts·音频克隆·neutts-air
sunsunyu0341 分钟前
视频转图片工具
python·音视频
软件开发技术深度爱好者1 小时前
Python类中方法种类介绍
开发语言·python
用户8356290780511 小时前
使用Python合并Word文档:实现高效自动化办公
后端·python
闭着眼睛学算法2 小时前
【双机位A卷】华为OD笔试之【排序】双机位A-银行插队【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
Pocker_Spades_A2 小时前
Python快速入门专业版(五十四):爬虫基石:HTTP协议全解析(从请求到响应,附Socket模拟请求)
爬虫·python·http
DoubleKK2 小时前
Python 中的 json_repair 使用教程:轻松修复大模型返回的非法 JSON
python
CoovallyAIHub2 小时前
OCR战场再起风云:LightOnOCR-1B凭什么比DeepSeekOCR快1.7倍?(附演示开源地址)
深度学习·算法·计算机视觉
Danceful_YJ2 小时前
24.全连接卷积神经网络(FCN)
人工智能·神经网络·语义分割·fcn