求助:工业上 RL 强化学习 SAC 应用遇到的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
jeddida
V2EX    程序员

求助:工业上 RL 强化学习 SAC 应用遇到的问题

  •  
  •   jeddida 105 天前 1349 次点击
    这是一个创建于 105 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景:三根水管并联,且每根都有一个阀门开控制开度,然后三根水管汇集连接一个水压表,水压表另外一侧连接一个随机的用水水管,现在需要动态的调节阀门让水压表稳定在 0.5 (调节阀门后会有一个滞后变化过程)

    我先从 dcs 采集数据,然后用 lstm 构建了 env ,用 sb3 sac 开始训练,看日志确实开始收敛奖励也越来越高。

    但是效果还是不太好,想问一下大佬们 lstm 建模的问题,我感觉我 lstm 模型有问题,我现在是:采集了三个开度 水压表 和随即用水量,训练的时候用历史 20 步和当前的三个开度+用水量+压力(补零)来预测当前的压力。

    求大佬指点一二!万分感谢!
    7 条回复    2025-06-30 09:04:16 +08:00
    qscasdqwezxc
        1
    qscasdqwezxc  
       105 天前 via Android
    目测不是模型的问题
    Rl 不是做这个的
    你采集的数据本来就不是收敛的
    你可以贴一下你的 reward 怎么算的
    jeddida
        2
    jeddida  
    OP
       105 天前
    @qscasdqwezxc 我用 sac 训练的话不能直接在线在 dcs 训练,所以我采集了数据通过 lstm 建模,自定义 gym 环境,然后用 sb3 开始训练,目的是水压稳定在 0.5:reward:
    error = abs(pressure - self.target_pressure)
    if error <= 0.005:
    reward = 1.2
    elif error <= 0.01:
    reward = 1.0 + (0.005 - error) * 40
    elif error <= 0.05:
    reward = 1.0 - 15 * (error - 0.01)
    elif error <= 0.1:
    reward = 0.4 - 4 * (error - 0.05)
    else:
    reward = -5.0 * (error - 0.1)
    Sawyerhou
        3
    Sawyerhou  
       105 天前
    不太懂这个,

    如果你训练好的 sac 的确能让你的 lstm 稳定在 0.5 ,却不能让真实水压稳在 0.5 ,
    那可能的确是 lstm 的问题,否则就不一定是 lstm 的问题,

    如果确实是 lstm 的问题,有没有可能在线学习?用水压表直接进行训练,省略环境模型( lstm )
    jeddida
        4
    jeddida  
    OP
       104 天前
    @Sawyerhou 在线训练太慢了,效果很差。我测试 lstm 环境下可以稳定在 0.5 ,我希望误差可以稳定在 0.02 ,但是实际上有的都在了 0.04 ,我对 lstm 训练不太了解,大佬了解吗?大佬也在做强化学习方面的研究吗?可否留个绿泡泡。
    Sawyerhou
        5
    Sawyerhou  
       104 天前
    @jeddida #4 我是做数据测试的,而非算法开发,离得比较远,等等看其他真大佬怎么说。

    另外,价值函数可以用 r=max(0, 0.02-e)吗?虽然我觉得并不是这个函数的问题。
    zhangeric
        6
    zhangeric  
       103 天前/span>
    先找一下算法吧,工业上有很多专用算法,比如 pid 控制.
    jeddida
        7
    jeddida  
    OP
       103 天前
    @zhangeric 谢谢老哥的建议,目前就是在用 pid 。效果不太好所以打算用 sac ,因为后面会优化很多,所以 pid 吃不消了,而且鲁棒性太差了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1203 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 17:29 PVG 01:29 LAX 10:29 JFK 13:29
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86