基于强化学习的参数化电路优化算法
发布时间:2021-08-16 08:53
本文主要致力于解决参数化形式的优化问题,即minθf(θ,w),其中θ是需要优化的变量,w则是对应不同优化问题的参数,在现实中经常会遇到需要解决一系列不同参数下的优化问题.在对某种特定结构的问题下,通过对不同的参数训练一个模型来解决所有参数下的优化问题.和传统的方法不一样,并不是通过对不同的参数多次独立抽样来训练我们的模型,而是利用强化学习的方法加速训练过程.强化学习算法中分别用策略网络来得到优化结果和利用价值网络来评价策略好坏,通过迭代地训练两个网络来优化策略.在后面一些数学例子和电路优化的例子中显示强化学习的方法取得了比较好的效果.
【文章来源】:微电子学与计算机. 2019,36(01)北大核心
【文章页数】:5 页
【部分图文】:
图1环境与智能体的关系基于观测量作出一个动作随后环境更新当前状态
f:S→瓗作为强化学习任务中的环境E,目标函数中的优化变量θt作为状态st,每次智能体从环境中观测得到的观测量除了状态之外,还包括了目标函数中的参数w,而智能体充当了优化过程中的优化器的作用,每次提供的动作作为当前状态的更新量Δθ.最后我们定义回报函数为rt=f(θt+1)-f(θt),也就是说当优化器使得目标函数减小的程度越多,得到的回报就越大.现在我们成功的将一个参数的优化问题转化为了一个强化学习的任务,如图2所示.图2转化成强化学习任务的优化器框架4实验4.1实现细节在我们的实验中,我们使用了简单的浅层全连接网络来搭建策略网络和判定网络.在训练过程中,使用Adam优化器来优化网络权重,学习率被设置为0.001,训练步数设置为30000次,其中一步表示智能体作出一次动作.回报折价因子设置为0.99,软更新常数设置为0.001.OpenAIGym是一个为强化学习算法提供环境接口的工具箱,里面有许多集成的环境,包括离散动作空间和连续动作空间等,里面每个环境都有公共的接口,也可以自己实现环境的接口来自定义环境,只需要实现以下几个接口即可:reset接口负责将环境内部的所有状态初始化为原始状态,可以是随机初始化也可以初始化为特定值;sample接口负责从动作空间(是gym包中的一个spaces对象)中随机抽取一个动作;step接口接收一个动作作为输入参数,更新环境内部的状态后,返回新的观测量ot,回报rt,一
函数,可以表示为以下形式:f(θ;W,b)=‖Wθ-b‖22在这个实验中,我们利用DDPG算法训练了一个简单的优化器来优化一个8维的二次型函数.其中优化变量为θ,即长度为8的向量,参数为W,{b},分别是8×8大小的矩阵和长度为8的向量.在优化过程中,我们将W转化为64维的向量,与b拼接起来作为参数.每次初始化环境时,θ和W,{b}随机地由高斯分布生成,用于训练优化器.图3二次型函数的收敛曲线使用传统的优化算法(差分进化)、梯度下降算法和训练好的优化器的收敛曲线如图3.为了定量地比较收敛情况,我们分别从收敛步数和收敛的相对误差来比较各个算法的表现,相对误差定义为如下形式:relative_loss=loss*final-lossddpgfinallossinitloss*final为目标函数在各算法下收敛后的大小.84
本文编号:3345369
【文章来源】:微电子学与计算机. 2019,36(01)北大核心
【文章页数】:5 页
【部分图文】:
图1环境与智能体的关系基于观测量作出一个动作随后环境更新当前状态
f:S→瓗作为强化学习任务中的环境E,目标函数中的优化变量θt作为状态st,每次智能体从环境中观测得到的观测量除了状态之外,还包括了目标函数中的参数w,而智能体充当了优化过程中的优化器的作用,每次提供的动作作为当前状态的更新量Δθ.最后我们定义回报函数为rt=f(θt+1)-f(θt),也就是说当优化器使得目标函数减小的程度越多,得到的回报就越大.现在我们成功的将一个参数的优化问题转化为了一个强化学习的任务,如图2所示.图2转化成强化学习任务的优化器框架4实验4.1实现细节在我们的实验中,我们使用了简单的浅层全连接网络来搭建策略网络和判定网络.在训练过程中,使用Adam优化器来优化网络权重,学习率被设置为0.001,训练步数设置为30000次,其中一步表示智能体作出一次动作.回报折价因子设置为0.99,软更新常数设置为0.001.OpenAIGym是一个为强化学习算法提供环境接口的工具箱,里面有许多集成的环境,包括离散动作空间和连续动作空间等,里面每个环境都有公共的接口,也可以自己实现环境的接口来自定义环境,只需要实现以下几个接口即可:reset接口负责将环境内部的所有状态初始化为原始状态,可以是随机初始化也可以初始化为特定值;sample接口负责从动作空间(是gym包中的一个spaces对象)中随机抽取一个动作;step接口接收一个动作作为输入参数,更新环境内部的状态后,返回新的观测量ot,回报rt,一
函数,可以表示为以下形式:f(θ;W,b)=‖Wθ-b‖22在这个实验中,我们利用DDPG算法训练了一个简单的优化器来优化一个8维的二次型函数.其中优化变量为θ,即长度为8的向量,参数为W,{b},分别是8×8大小的矩阵和长度为8的向量.在优化过程中,我们将W转化为64维的向量,与b拼接起来作为参数.每次初始化环境时,θ和W,{b}随机地由高斯分布生成,用于训练优化器.图3二次型函数的收敛曲线使用传统的优化算法(差分进化)、梯度下降算法和训练好的优化器的收敛曲线如图3.为了定量地比较收敛情况,我们分别从收敛步数和收敛的相对误差来比较各个算法的表现,相对误差定义为如下形式:relative_loss=loss*final-lossddpgfinallossinitloss*final为目标函数在各算法下收敛后的大小.84
本文编号:3345369
本文链接:https://www.wllwen.com/kejilunwen/zidonghuakongzhilunwen/3345369.html