首页 > 其他分享 >2.18随笔(强化学习)

2.18随笔(强化学习)

时间:2023-02-18 21:23:05浏览次数:43  
标签:控制 随笔 发动机 学习 算法 循环 2.18 强化 DDPG

  • 论文阅读:

1、变循环发动机智能控制器设计------胡雪兰

该文章中将强化学习中的确定性策略梯度(DPG)算法融合进AC(演员-评论家)框架中,用来对变循环发动机(VCE)进行控制研究。算法结构图如下所示:

 

在文章中详细介绍了经典的确定性策略梯度算法和基于优先回放机制的确定性策略梯度算法。给出了两个算法的不同和算法更新步骤。

随后论文中提出了基于改进的DPG算法的变循环发动机多变量控制。实验大致思路:首先在simulink中搭建起某型变循环发动机的模型,该模型是八个输入、两个输出的控制系统用m语言进行DPG算法的编写,经过训练后保存相应网络的参数。

该文章所谓的多变量控制是对系统的八个控制变量进行控制,分别为主燃油流量Wf和高压压气机导流叶片角度,风扇导流叶片角度,尾喷管膨胀面积,风扇导流叶片角度,低压涡轮导向器控制角度,核心机风扇混合器面积和第一外涵道混合器面积。

实验细节包括:奖励函数的设计、动作的选取(八个控制变量的可调量视为动作的选取)、环境状态的选取(选取高压压气机相对转速和发动机落压比稳态误差作为环境状态)、策略网络和评价网络的参数设置。

在simulik中的方针结构图如下:

 

仿真结果分析:采用DPG的多变量控制方法在响应时间和输出结果上均优于参考曲线。

2、变循环涡扇发动机智能控制方针平台研究————姜渭宇

该文章建立了三涵道变循环发动机方针用数学模型。重要贡献在于提出了基于变循环控制性能、动态控制性能、安全性三个方面的评价函数设计方法。详见该文章中的表格3。

3、基于强化学习方法的变循环航空发动机推力控制————齐义文

文章中认为变循环发动机变工况下单PID控制器性能不足。于是基于强化学习方法提出了两种推力控制器设计方法。

(1)、基于深度Q网络方法

状态选择:推力误差、高低压转子转速、上一时刻主燃油流量

动作选取:主燃油流量的增量

奖励函数设计:文章中采用了分段奖励函数的方法。其中Fn_e是推力误差绝对值、r是奖励值。

 

控制策略设计:方法与算法Q_Learning中的贪婪机制相同。训练初期贪婪度选择0.7 后期贪婪度选择0.9以保证安全性。完成训练之后,将贪婪度置零,使其完全按照已具备的大量经验Q网络输出燃油增量动作。

更新Q_table(Q网络):[s, a, s_, r, is_done]   is_done是判断状态S_是否为终止状态。

评价:我认为该方法与常规的Q_Learning算法结构相同,只是应用背景是发动机,重要的是发动机的模型。

(2)基于DDPG的推力控制

DDPG原理图如下:

控制器设计分为四步:

actor估计网络设计:网络输出对应参数是主燃油增量awf

......

设计步骤复杂,详情见论文。

 

仿真结果分析:针对两种工况下,DQN和DDPG 控制效果都良好。正确性和可靠性都良好。

二者比较:DDPG控制下超调量明显小于DQN,控制精度和响应时间二者相差不大。总结:DQN本质上还是实现离散的输出,在结果上还是存在微小震荡,而DDPG可以实现连续的输出。

 

 

  • 算法原理学习

1、学会通过Pycharm调动Matlab中的simulink模型。方法细节:安装在anaconda中建立虚拟环境安装MATLAB库,通过python语句调用matlab.engone。

2、应用DDPG算法控制matlab中的水箱液面。训练结果如下,每次训练次数200-500不等,完成训练后,控制性能稳定。

 

 3、学习强化学习算法:Q_Learning、Sarsa  二者算法更新细节不一样。Q网络随机性更强,训练效果好,但是不具有安全性,Sarsa算法偏保守,训练时间长,但是安全性偏高。

q学习和sarsa算法的大致思路相同,都是基于Q表格学习,但是q学习是基于对下一步状态的Q值的想象,而sarsa算法是直接考虑下一步状态的Q值。

 

标签:控制,随笔,发动机,学习,算法,循环,2.18,强化,DDPG
From: https://www.cnblogs.com/flying23/p/17133647.html

相关文章

  • 2.18 考试总结
    A. 基础逆序对练习题字符串哈希85~90。想到了统计贡献,O(q*Z^2)查询的方法,但是用哈希卡MLE(双哈希MLE,单哈希TLE),应该用字典树预处理。以后想用字符串哈希的时候应该......
  • 闲话 23.2.18
    闲话几天前在讨论联考还没涉及啥科技今天就出了拟阵题下一个会是什么?开幕雷击:——今天放的歌是IHateU(大概这么拼?)最开始放错了感觉舒缓一些部分曲调可以的然后......
  • [leetcode每日一题]2.18
    ​​1237.找出给定方程的正整数解​​难度中等94给你一个函数  ​​f(x,y)​​ 和一个目标结果 ​​z​​,函数公式未知,请你计算方程 ​​f(x,y)==z​​ 所有可能......
  • 周六900C++班级-2023.2.18-栈2
    栈练习2请写出使用stack头文件定义一个名称为q的整型栈_stack<int>q;_____设当前有栈q,元素x,请写出将元素x入栈push的程序q.push(x);设当前有栈q,元素x,请写出出栈pop的......
  • 数据结构刷题2023.02.18小记
    连通分量一个无向图的连通分量是其极大的连通子图无向图中任意两个节点之间有连通,则称为连通图。每一个非连通图可分为几个极大连通部分,每一个极大连通子图称为连通分量;......
  • 2.18杂
    先写一道题CF5E#include<bits/stdc++.h>#definemaxn1000005usingnamespacestd;inlineintread(){intx=0,f=1;charc=getchar();while(c<......
  • 2023.02.18琐记
    敬畏自然柔以生命然后漠视世界毕竟是人类无法完全从感性中抽离只是在虚伪的表演中逃亡排斥那些烦人的矫揉造作心本自由从来我可以热爱这个世界也随时可以离开......
  • wsl2 安装arch+i3wm记录随笔
    基础安装请参考这篇博客https://gitee.com/regentsai/wsl_arch_kde安装基础软件sudopacman-Svimnet-toolsi3alacrittyfish安装i3安装之前先安装xorg-serversu......
  • 2.17 小随笔 暂断法
    输入密码出现对话框我们对api函数进行断点返回上一层函数看看1.改判断法......
  • web漏洞挖掘随笔
    最近挖了一些漏洞。虽然重复了,但是有参考价值。这边给大家分享下。漏洞重复还是很难受的,转念一想,人生从不是事事如人意的,漏洞重复忽略,不代表失败。先来后到很重要......