文章目录

  • 前言
  • 版权
  • 2022.6.23
  • DDPG 神经网络
    • DQN神经网络
    • DQN的问题
    • DDGP
  • GAN神经网络
    • 异同
  • 使用GAN 建模
  • 总结

前言

今天怎么说干的事情不多,一方面是因为看了一篇论文,关于RLPSO的是今年6月3日出来的新的文章《Reinforcement learning based parameters adaption method for particleswarm optimization
里面提到了不少关于PSO的优化,然后提出了一种基于强化学习的PSO,通过预训练一个神经网络,输入当前的粒子状态,得到一组参数 w,c1,c2。然后做出调整,因为粒子群,包括遗传,EDA 等等对参数的设置是比较敏感,所以你懂的,用深度学习去搞。所以我就想了,能不能在原来的基础上,我也那么干?

然后发现我欠考虑了,写到一半发现方向错了。
一开始,我是打算使用QLearning直接做,因为论文提到的DDPG也是QLearn在线学习嘛。
然后是打算设计动作的,让w,c1,c2 往一定的步长运动,运动方向由QLearn决定,但是这里有涉及到步长的设置,等等,所以发现不如直接得到参数w c1 c2那样一来还不如用DDPG,而且一开始我是使用Qlearning不用神经网络来做的,但是后面发现,智能算法的迭代次数过多就直接炸了,还是要用神经网络也就是DQN,后面也是代码写到一般发现不行,还是要改为DDPG。

但是仔细看看了论文,以及DDPG以后,我陷入了沉思,于是仔细对比策略,发现GAN好像更容易建模去优化PSO。

版权

郑重提示:本文版权归本人所有,任何人不得抄袭,搬运,使用需征得本人同意!

2022.6.23

日期:2022.6.22 DAY 4

DDPG 神经网络

DDPG 是一种强化学习神经网络,是基于DQN优化后的神经网络,DQN 是在QLearn的基础上使用神经网络代替Q表的动作价值优先策略的机器学习方法(深度学习)。换一句话说就是把Q表变成了一个神经网络,然后用这个神经网络去代替Q表,主要是避免大数据下,存储Q表困难。

DQN神经网络

现在我们使用的DQN一般是改进型,也就是具备记忆库的神经网络,这样做的目的是为了保持样本独立性,这个具体原理比较复杂,我就不展开了。

算法描述如下:

流程如下:

DQN的问题

从前面也知道,包括我以前写的有关于DQN 神经网络的博文,你会发现,这个玩意和传统的Qlearn没太大区别只是很巧妙地使用了神经网络,最终还是要得到一个关于每一个动作的打分,然后去按照那个得分去选择分高的动作,换一句话说是,这个神经网络还是只能得到对应动作的价值,例如 上下左右,然后选价值最大的,如 上 这个动作。

但是在我实际的PSO问题当中,我想要的是一组解,也就是你直接告诉我w c1 c2 取哪些值?

所以现在直接使用DQN 就很难了,显然这玩意貌似只能选择出一个动作,而我的w c1 c2 不可能是一个动作,如果把他看作是一个动作的话,那么你将有 无穷个动作选择,假定有范围,那就是可数无穷个动作。

DDGP

为了解决那个问题,于是有了DDGP,也就是我想要直接得到一组动作,你直接告诉我 w c1 c2取得哪些值?

怎么做,没错,再来一个神经网络。
具体怎么做,如下图:

Actor 网络直接生成一个动作,然后 原来在DQN的那个网络在这里是Critic 网络 去评价,这个评价其实就是在DQN里面的那个网络,输入一个S,和 A 得到一个价值,现在这个价值变成了评分。

损失函数就是这样:

GAN神经网络

现在我们再来对比一下GAN神经网络。

首先Actor 还是Actor
评委还是评委,这两个网络都是要训练的网络。

异同

这个判断器,就好比那个Cirtic,区别是啥?强化学习有个环境,这个DQN里面,或者DDPG里面那个评分怎么来的,还不是按照环境来给的,你把DDPG里面的Critic换成Q表一样跑,只是内存要炸,而且效果可能还要好,一方面精准记录,一方面只有一个网络。
而我们的GAN 是现有一个专家,这个专家不就也相当于环境嘛?

此外损失函数不同。

使用GAN 建模

使用GAN和使用DDPG最大的问题在于如何对GAN进行建模,使用强化学习建模是非常简单的,因为直接根据适应值就可以了,但是在GAN来说,建模的问题在于如何确立判断器?这里我们其实可以从解本身出发,DDPG,强化学习是从适应值也就是F(x) 出发,这个适应值可以直接作为价值,而GAN,我们从解本身出发,还记得广义PSO嘛,我们知道了最好的解是怎么样的,那么我直接那啥,通过判断差异,不就可以实现打分了吗。

总结

这些就是今天的内容,和昨天比,有点垃了…

PSO算法(优化与探索四*DDPG与GAN)相关推荐

  1. MAT之PSO:利用PSO算法优化二元函数,寻找最优个体适应度

    MAT之PSO:利用PSO算法优化二元函数,寻找最优个体适应度 目录 实现结果 设计代码 实现结果 设计代码 figure [x,y] = meshgrid(-5:0.1:5,-5:0.1:5); z ...

  2. python pso_利用python实现PSO算法优化二元函数

    python实现PSO算法优化二元函数,具体代码如下所示: import numpy as np import random import matplotlib.pyplot as plt from ...

  3. python二元函数如何编写_利用python实现PSO算法优化二元函数

    python实现PSO算法优化二元函数,具体代码如下所示: import numpy as np import random import matplotlib.pyplot as plt from ...

  4. 基于粒子群优化BP神经网络的预测 采用PSO算法优化bp网络实现预测

    基于粒子群优化BP神经网络的预测 采用PSO算法优化bp网络实现预测,源码注释详细,matlab实现,直接运行即可. ID:72100632211160748韩雅涵122

  5. PSO算法优化应用实例(2020.09.24)

    PSO算法解决函数优化问题 考虑下面的优化函数 PSO算法简要介绍 第一步,群体粒子的初始化 第二步,更新每个粒子的速度和位置 第三步,根据粒子的适应值来更新个体的历史极值并计算全局极值 最后 考虑下 ...

  6. PSO算法优化BP神经网络

    PSO算法和BP神经网络都是现在非常热门的两个算法,在各自的领域都担当着至关重要的作用,下面通过MATLAB中的一个实例来介绍一下如何将二者进行完美的结合,以发挥其最大优势: 1.在MATLAB的主界 ...

  7. 引入变异因素的PSO算法优化(一)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 引入变异的PSO算法 一.PSO是什么? 二.PSO的缺点? 总结 引入变异的PSO算法 一.PSO是什么? 粒子群算法Pa ...

  8. 算法优化:探索斐波那契数列的新航线

    只有用水将心上的雾气淘洗干净,荣光才会照亮最初的梦想. --加西亚·马尔克斯 最近沉迷于算法,总是想着实现与优化,今天想到了斐波那契数列,原来没咋多想,现在回头再看看能不能输出点新花样?! 什么是斐波 ...

  9. 粒子群算法优化PID,PSO,传递函数

    阅读前必看: 1.本代码基于MATLAB2018a版本,如果版本不同可能会报错. 2.如果运行时间过长,请观察迭代次数是否有变化. 3.此案例为原创案例,转载请注明出处. 4.如果此案例碰巧与您的研究 ...

最新文章

  1. 大数据 清华 覃征_调剂到清华读研?不想去!清华大学大数据调剂生放弃录取!...
  2. gcc:undefined reference to 'std::cout'
  3. OpenCV的HSV空间度量与标准HSV不一样,使用的时候需要换算;另附一个调色取色的小工具
  4. FlashDevelop调试Air出错
  5. css3的新特性transform,transition,animation
  6. BeautifulSoup children descendants对比
  7. 时艳强对话酒儿:gate首发平台币的时机选择
  8. HIT 2060 Fibonacci Problem Again
  9. javascript 常量_JavaScript中的常量
  10. 极大似然估计、拉普拉斯平滑定理、M-估计详解
  11. 好947 Mybatis 配置resultMap 带參数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错...
  12. 浏览器兼容:改写window.showModalDialog
  13. windows下cuda10.0+cudnn的配置
  14. Bing搜索背景图抓取
  15. mysql 给已存在的商品数据,根据商品ID增加商品编号
  16. Java 电阻计算器(一)
  17. 说说找工作这些事儿(未完)
  18. 网络层提供的两种服务
  19. Verilog语言之结构语句:if、case
  20. IDEA显示树状目录结构

热门文章

  1. OneNote 2007 无法启动的问题
  2. 信号完整性分析学习--18--源端匹配
  3. ubuntu16.04如何通过adb连接miui系统手机
  4. 通达OA办公软件PC网页端签到
  5. 【开放数据】中国气象局API接口
  6. web---文件上传漏洞之文件扩展名修改
  7. php 友盟推送角标,android集成友盟推送实现离线在线推送及桌面图标角标设置
  8. 写一个杀戮尖塔存档修改器
  9. dingtalk使用自定义告警模板
  10. 生么用C语言函数做万年历菜单,用C语言如何编写“万年历”