Missing Data Generation Method Based on Flow Model and Its Application in Remaining Life Prediction
-
摘要: 针对缺失数据生成模型精度低和训练速度慢的问题, 本文基于流模型框架提出了一种改进非线性独立成分估计(Nonlinear independent components estimation, NICE)的缺失时间序列生成方法. 该方法依靠流模型框架生成模型精度高、训练过程速度快的优势, 并结合粒子群优化算法(Particle swarm optimization, PSO) 优化NICE生成网络采样的退火参数, 训练学习监测数据的真实分布, 从而实现对数据缺失部分的最优填补. 为进一步拓宽所提方法的应用范围, 利用基于流模型的缺失数据生成方法得到的生成数据, 通过建立融合注意力机制的双向长短时记忆网络(Bidirectional long short-term memory with attention, Bi-LSTM-Att)的退化设备预测模型, 实现设备剩余寿命的准确预测. 最后, 通过锂电池退化数据的实例研究, 验证了该方法的有效性和潜在应用价值.Abstract: Aiming at the problems of low accuracy and slow training speed of the missing data generation model, this paper proposes a missing time series generation method based on the flow model framework, which improves the nonlinear independent components estimation (NICE). The method relies on the flow model framework. The advantages of the high accuracy of the generative model and the fast training process are combined with the particle swarm optimization (PSO) algorithm to optimize the annealing parameters of the NICE generation network sampling, and the training and learning to monitor the real distribution of the data, so as to achieve the most optimal part of the missing data. In order to further broaden the application scope of the proposed method, this paper uses the generated data obtained by the missing data generation method based on the flow model, and establishes a bidirectional long short-term memory network (Bidirectional long short-term memory with attention, Bi-LSTM-Att) degradation device prediction model to achieve accurate prediction of the remaining life of the device. Finally, the effectiveness and potential application value of the proposed method are verified through a case study of lithium battery degradation data.
-
强化学习, 是智能体通过与环境交互、试错的过程来学习的行为.它是一种以环境反馈作为输入的自适应的机器学习方法[1], 目前已广泛应用于控制科学、运筹学等诸多领域[2-3].在强化学习过程中, 智能体最初对环境一无所知, 通过与环境交互的方式获取奖赏.智能体在这个过程中学习策略, 使得最终能在某种评价体系下达到最优目标. Q学习是一种典型的无需模型的强化学习算法, 智能体根据动作价值即Q值函数, 通过对状态-动作序列进行足够多的访问, 学习到最优策略[4].通常, 在Q学习任务中, Q值函数由表格的方式实现, 在状态为连续值的情况下, 则通过离散化状态以存储动作价值, 然而传统的表格法有如下缺点: 1)状态的离散度难以控制. 2)状态维数较多时会导致维数灾难.
将神经网络作为Q值函数拟合器可以有效解决以上问题.神经网络可以分为三代:第一代把McCulloch-Pitts神经元模型作为计算单元; 第二代为人工神经网络(Artificial neural network, ANN), 它们的计算单元中带有激活函数; 脉冲神经网络(Spiking neural network, SNN)将脉冲神经元作为计算单元, 被称为第三代神经网络[5]. SNN的学习方式与哺乳动物的学习方式非常类似[6].此外, SNN能量效率高, 有报道证明SNN芯片比用现场可编程门阵列(Field programmable gate array, FPGA)实现的ANN能耗低两个数量级[7].因此, 基于SNN的强化学习算法更容易进行低功耗-硬件实现.
与ANN类似, SNN的学习算法也分为监督学习算法和非监督学习算法.非监督学习算法仅仅基于数据的特征, 这类算法对计算能力要求较低, 因为不需要数据集的多次迭代, 脉冲神经网络中典型的非监督学习算法是脉冲时间依赖可塑性(Spike-timing dependent plasticity, STDP)学习规则[8].而监督学习算法需要带有标签的数据集, 需要多次迭代运算, 主要有远程监督学习算法(ReSuMe)等[9].
目前许多训练SNN的学习算法都只能用于不含隐含层的网络, 且没有通用的方法[10].对于训练多层SNN, 一种方式是先训练ANN, 再将其转换为SNN[11], 这种基于映射的学习方式会导致局部最优, 因为训练在ANN上进行, 而不是SNN[12].也有人提出了利用突触延迟的监督学习算法, 并行调整隐含层和输出层权重[13].由于本文基于多层SNN实现强化学习算法, 因此设计有效的多层SNN的训练方法是一个必须要解决的问题.
基于传统半导体器件和集成技术实现的神经网络电路复杂度高、规模小、处理能力有限, 难以真正用于嵌入式智能体.本文进一步引入新型纳米信息器件忆阻器, 探求强化学习算法的硬件加速新方案.忆阻器是除电阻、电容、电感以外的第四种基本电路元件, 由Chua[14]于1971年基于电路完备性理论提出, 其定义忆阻器的电阻值为流经忆阻器的磁通量和电荷的比值($M={\rm d}\phi/{\rm d}q$).然而, 由于没有物理实物, 忆阻器一直没有引起太多的关注.直到2008年, 美国惠普(HP)实验室制造出了基于二氧化钛的交叉存储阵列, 并声称交叉点处的存储单元即为预言的忆阻器[15], 立即引起了学术界和工业界的深厚兴趣.之后, 研究者对忆阻器的模型、特性进行了广泛的研究[16-17].此外由于忆阻器具有记忆力和类似突触的可变导电性, 使其成为构建硬件神经网络关键部件-电子突触的理想器件.近年来, Jo等[18]证明了CMOS神经元和忆阻突触构成的神经网络能够实现一些重要的突触行为, 如STDP.在此基础上, 研究者提出了多种用忆阻器实现STDP的方法, 例如Panwar等[19]实现了对任意STDP波形的模拟. Serrano-Gotarredona等[20]仅用一个忆阻器实现并完成了对STDP的仿真.
本文提出并研究了基于多层SNN的强化学习算法, 并利用忆阻器设计了其硬件实现方案, 下文称之为忆阻脉冲强化学习(Memristive spiking reinforcement learning, MSRL).首先, 为了实现数据和脉冲之间的转换, 设计了用于数据-脉冲转换的脉冲神经元; 然后, 通过改进基本STDP学习规则, 将SNN与强化学习算法有效结合, 并设计相应的忆阻突触以期实现硬件加速.此外, 为了进一步提高网络的学习效率, 构建了可动态调整的网络结构.最后基于brian2框架[21]完成了对MSRL的实验仿真.结果显示, MSRL控制的智能体可以以较低的计算资源消耗, 高效地完成强化学习任务.
本文结构如下:第1节介绍了Q学习和SNN以及忆阻器的背景知识, 第2节给出MSRL算法的基础, 第3节详细地介绍了MSRL算法设计.第4节给出仿真结果, 第5节总结全文.
1. 背景知识
1.1 Q学习
强化学习的理论基础是马尔科夫决策过程(Markov decision process, MDP). MDP可以表示为: $({\mathit{\boldsymbol{s}}}, {\mathit{\boldsymbol{A}}}, P_a({\mathit{\boldsymbol{s}}}_t, {\mathit{\boldsymbol{s}}}_{t+1}), R_a({\mathit{\boldsymbol{s}}}_t, {\mathit{\boldsymbol{s}}}_{t+1})$), 其中${\mathit{\boldsymbol{s}}}$是状态集, ${\mathit{\boldsymbol{A}}}$是动作集, $P_a({\mathit{\boldsymbol{s}}}_t, {\mathit{\boldsymbol{s}}}_{t+1})$表示若智能体在时间$t$时处于状态${\mathit{\boldsymbol{s}}}_t$, 采取动作$a$可以在时间$t+1$时转换到${\mathit{\boldsymbol{s}}}_{t+1}$的概率; $R_a({\mathit{\boldsymbol{s}}}_t, {\mathit{\boldsymbol{s}}}_{t+1})$表示通过动作$a$, 状态${\mathit{\boldsymbol{s}}}_t$转换到${\mathit{\boldsymbol{s}}}_{t+1}$所带来的及时奖赏.
强化学习中的Q学习是一种经典的在线学习方法.在学习过程中, 智能体在每一个时间步(step)内尝试动作, 获得来自环境的奖赏, 从而更新Q值和优化行动策略$\pi({\mathit{\boldsymbol{s}}})$ (如图 1).这个学习过程称为时间差分(Temporal difference, TD)学习[22].
强化学习的目标是让智能体通过与环境的交互学到最优的行动策略$\pi^{*}({\mathit{\boldsymbol{s}}})$, 使累积奖赏即回报最大.回报定义为
$ \begin{align} G_t = \sum\limits_{i = 0}^\infty {\gamma^{i}r_{t+i}} \end{align} $
(1) 其中, 折扣因子$\gamma\in[0, 1]$, 表示我们对未来奖赏的重视程度. $\gamma = 0$时智能体只关注当前奖赏值, $\gamma = 1$时未来奖赏与当前奖赏同样重要.
Q学习算法中的Q值是智能体按照行动策略$\pi({\mathit{\boldsymbol{s}}})$执行动作后所得回报的期望, 定义为
$ \begin{align} Q_\pi({\mathit{\boldsymbol{s}}}_t, a_t)={\rm E}_\pi[G_\pi|{\mathit{\boldsymbol{s}}}={\pmb s}_t, A=a_t] \end{align} $
(2) 智能体通过Q值的更新优化行动策略$\pi({\mathit{\boldsymbol{s}}})$, 使其所得回报增大. Q值更新公式为
$ \begin{align} &Q({\mathit{\boldsymbol{s}}}_t, a_t) \leftarrow Q({\mathit{\boldsymbol{s}}}_t, a_t)~+\notag\\ &\qquad \alpha[r_t+\gamma \max\limits_{a_{t+1}} Q({\mathit{\boldsymbol{s}}}_{t+1}, a_{t+1})-Q({\pmb s}_t, a_t)] \end{align} $
(3) 其中, ${\rm max}_{a_{t+1}} Q({\mathit{\boldsymbol{s}}}_{t+1}, a_{t+1})$表示智能体在状态${\mathit{\boldsymbol{s}}}_{t+1}$下采取动作$a_{t+1}$后所得到的Q值中的最大值, 而$\gamma {\rm max}_{a_{t+1}} Q({\mathit{\boldsymbol{s}}}_{t+1}, a_{t+1})-Q({\mathit{\boldsymbol{s}}}_t, a_t)$便是所谓的TD误差, 用来衡量目标Q值$\gamma {\rm max}_{a_{t+1}} Q({\mathit{\boldsymbol{s}}}_{t+1}, a_{t+1})$和当前Q值$Q({\mathit{\boldsymbol{s}}}_t, a_t)$之间的差距, 学习率$\alpha\in[0, 1]$表示对过往经验的重视程度.
除此之外, 在Q学习中选择动作的基本策略也即本文采取的策略是$\epsilon-{\rm greedy}$策略, 该策略也是Q学习同其他机器学习所不同之处, 它反映了Q学习中智能体探索(Exploration)和利用(Exploitation)之间的权衡.前者是指随机尝试动作, 以期获得更高的回报, 即$\epsilon$; 后者是执行根据历史经验学习到的可获得最大收益的动作, 即${\rm greedy}$.智能体以概率$\epsilon$随机选择动作, 而以$1- \epsilon$的概率选取最大价值所对应的动作.
基本Q学习的算法流程可描述为
算法1.基本Q学习算法
1 任意初始化动作价值$Q_\pi({\mathit{\boldsymbol{s}}}_0, a_0)$
2 for ${\rm episode}=1:M$ do
3 初始化状态${\mathit{\boldsymbol{s}}}$, 概率$\epsilon$
4 repeat
5 以概率$\epsilon$随机选择动作, 以概率$1-\epsilon$选取最大价值所对应动作
6 执行动作$a_t$, 获得奖赏$r_t$, 观察到状态${\mathit{\boldsymbol{s}}}_{t+1}$
7 更新Q值: $Q({\mathit{\boldsymbol{s}}}_t, a_t) \leftarrow Q({\mathit{\boldsymbol{s}}}_t, a_t)+ \alpha[r_t~+$$\gamma {\max}_{a_{t+1}} Q({\mathit{\boldsymbol{s}}}_{t+1}, a_{t+1})-Q({\mathit{\boldsymbol{s}}}_t, a_t)]$
8 更新状态: ${\mathit{\boldsymbol{s}}}_t \leftarrow {\mathit{\boldsymbol{s}}}_{t+1}$
9 until ${\mathit{\boldsymbol{s}}}$ is terminal
10 end for
1.2 脉冲神经网络
脉冲神经网络(Spiking neural network, SNN)起源于神经科学, 广泛用于构建类脑神经系统模型, 例如用于设计模拟大脑皮层中的信息传递和时间动态可观测过程[23].与ANN类似, SNN也是由神经元和突触构成, 本文利用经典的LIF (Leaky integrate-and-fire)神经元模型和具有STDP学习规则的突触模型来构建SNN.
在流经离子通道的电流作用下, 脉冲神经元(Spiking neuron, SN)的细胞膜将会产生动作电位$u(t)$[24].当动作电位达到阈值后, 神经元将会发放脉冲, 这个过程可以描述为
$ u(t^{(f)})=u_{\rm th} $
(4) $ \frac{{\rm d}u(t)}{{\rm d}t}|_{t=t^{(f)}}>0 $
(5) 其中, $t^{(f)}$是神经元发放脉冲的时间, $u_{\rm th}$是阈值电压.
LIF模型将神经元抽象为一个RC电路(图 2).
图 2中, $\delta(t-t^{(f)}_i)$为来自突触前神经元$i$的脉冲信号, 而$\alpha(t-t^{(f)}_j)$为突触后神经元$j$的输出脉冲.神经元收到输入电流后, 由于积分电路的作用, 动作电位会升高, 直到达到激活阈值, 发放脉冲, 这个过程称为积分点火.在脉冲发放后, 由于漏电流的作用, 神经元的动作电位会立即恢复至静息电位, 这一过程是对真实生物神经元中的离子扩散效应的模拟[25]. LIF模型的微分方程描述如下
$ I_1(t) = \frac{u(t)}{R_m(t)} $
(6) $ I(t)-I_1(t) = C_m\frac{{\rm d}u(t)}{{\rm d}t} $
(7) 其中, $C_m$为神经元膜电容, $I(t)$为外界输入电流, $I_1(t)$为漏电流, $R_m(t)$为神经元膜电阻.
在LIF模型中, 外部输入电流$I(t)$通常为$\delta(t-t^{(f)}_i)$的加权和, 因此, 神经元$j$收到第$i$个神经元的输入电流可以表示为
$ \begin{align} I_j(t)= \sum\limits_i \bigg \{ w_{ij} \sum\limits_f \delta(t-t^{(f)}_i) \bigg \} \end{align} $
(8) 其中, $w_{ij}$为神经元$i$和$j$之间的突触权重; $t^{(f)}_i$为突触前神经元$i$发出第$f$个脉冲的时间.
STDP规则是SNN的基本学习规则之一, 具有良好的生物学基础. Hebb等[26]于1949年提出通过改变神经元相互之间的连接强度来完成神经系统学习过程的假设, 称为Hebb规则. Hebb规则指出, 如果两个神经元同时发放脉冲, 则它们之间的突触权重会增加, 反之会减少.这一假设描述了生物神经元突触可塑性的基本原理.随后在海马趾上进行的研究发现了长时增强(Long-term potentiation, LTP)效应和长时抑制(Long-term depression, LTD)效应:在一个时间窗口内, 如果突触后神经元发放脉冲晚于突触前神经元发放脉冲, 则会导致LTP效应, 而反之则会导致LTD效应.前者称为"突触前先于突触后"事件("Pre before post" event), 后者称为"突触后先于突触前"事件("Post before pre" event). LTP和LTD有力地支持了Hebb的假设.
LTP和LTD效应是与脉冲发放时间高度相关的, 基于这两种效应和相关实验, Markram[27]于1997年定义了STDP规则, 在STDP规则中权重的变化量是前后两个神经元激活的时间差的函数, 该函数称为学习窗函数$\xi(\Delta t)$, STDP学习窗函数$\xi(\Delta t)$以及权重变化量$\Delta w_{ij}$如下所示
$ \begin{align} \xi(\Delta t) = \begin{cases} A^{+} {\rm e}^{-\frac{\Delta t}{\tau_{\rm pre}}}, & \Delta t \geq 0\\[1mm] A^{-} {\rm e}^{\frac{\Delta t}{\tau_{\rm post}}}, & \Delta t < 0 \end{cases} \end{align} $
(9) $ \begin{align} \Delta w_{ij} = w_{ij} \xi(\Delta t) \end{align} $
(10) 式(9)中, $\Delta t = t_{\rm post}-t_{\rm pre}$为突触后神经元与突触前神经元发放脉冲时间差, 而$\tau_{\rm pre}$, $\tau_{\rm post}$分别为突触前后的时间常数, 权重增强的增益$A^{+}>0$, 减弱的增益$A^{-} < 0$. $\Delta t \geq 0$对应LTP效应而$\Delta t < 0$对应LTD效应. STDP学习规则可以看作是Hebb规则在时间上的改进版本, 因为它考虑了输入脉冲和输出脉冲调整突触权重时时间上的相关性, 换句话说, STDP强调了脉冲之间的因果联系.
1.3 忆阻器模型
HP实验室于2008年制造出了能够工作的物理忆阻器, 并提出了HP忆阻器模型(图 3).
图 3中, $D$是二氧化钛薄膜的厚度, 亦为忆阻器的全长, $W$是掺杂层的宽度, 会在电场作用下改变, 并与流过忆阻器的电荷数有关.当掺杂宽度$W$增大, 忆阻值减小, 反之忆阻值增大.忆阻器的总电阻值可表示为
$ R_{\rm mem}(x)=R_{\rm on}x+R_{\rm off}(1-x) $
(11) $ x=\frac{W}{D}\in(0, 1) $
(12) 其中, $R_{\rm on}$和$R_{\rm off}$分别为掺杂区和非掺杂区的长度达到全长时的电阻, 也称为极值电阻.由于在时间$t$时, 掺杂区的宽度取决于通过忆阻器的电荷量, 而电流为电荷的导数, 因此, 内部状态变量$x$的变化可以表示为电流的函数
$ \begin{align} \frac{{\rm d}x}{{\rm d}t}=\frac{U_D}{D}=\frac{\mu E}{D}=\frac{\mu R_{\rm on} i(t)}{D^{2}} f(x) \end{align} $
(13) 其中, $U_D$是掺杂区和非掺杂区之间边界移动的速度, $\mu$是平均离子漂移率, $E$是掺杂区的电场强度, $i(t)$为流经忆阻器的电流, $f(x)$为窗函数, 已存在多种多样的函数表达形式, 通常用于模拟离子漂移的非线性, 限制器件边缘特性等.本文的主要目的并非提出新的忆阻器模型, 而是利用合适的模型实现忆阻突触, 后文详述, 这里不做过多讨论.
2. 基于忆阻SNN的强化学习
忆阻脉冲神经网络强化学习(MSRL)算法的目标在于减小TD误差的绝对值, 使回报最大.训练SNN所需样本来自对过往经验的回放, 这些经验存放在记忆池中.经验回放减少了需要学习的经验数目, 学习效率高于智能体直接与环境交互学习的方式[28].由此, 设计MSRL算法的首先任务是设计学习效率较高的SNN并使之与Q学习结合.
2.1 忆阻SNN
MSRL算法的设计是基于一个三层的SNN, 如图 4所示.图中省略号表示神经元的数量随着任务的不同而变化.网络中输入神经元将状态值转换为状态脉冲${{\delta }_{\mathrm{S}}}(t)$, 其数量等于状态的维数.输出神经元的输出为Q值脉冲$\delta_Q(t)$, 其数量等于动作数.这样的结构意味着每个输入神经元对应每个状态维度, 每个输出神经元对应每个动作.相邻层神经元之间用忆阻器连接, 忆阻器可工作在三种状态: a)权重不可更改状态; b)权重调节状态; c)断开状态.
适当调节隐含层节点数量是有必要的, 如果隐含层节点数过少, 网络的学习能力和信息处理能力不足.反之, 如果节点过多可能会增加网络结构的复杂性, 减慢运行速度.具体的隐含层神经元数量对网络性能的影响将在第4节讨论.
2.2 数据-脉冲转换
考虑到脉冲神经元接受、处理和传递的信息是脉冲信号, 因此有必要设计数据与脉冲之间的转换关系.在本文中, 模拟数据转换为脉冲时间序列的过程为编码, 其逆过程为解码.一个时间窗口$T$为10 ms.
1) 输入层神经元
生物学研究表明, 在生物视觉神经网络中, 神经元对信息的编码与首次发放脉冲的时间有关, 发放时间越提前说明输入脉冲与输出脉冲之间的相关性越强[29].由此引入一维编码方式[30]:状态值$s$ $\in$ $[s_{\min}$, $s_{\max}]$, 编码后首次发放时间$t(s)\in[0, T]$, 则编码规则为
$ \begin{align} t(s)=\frac{T(s-s_{\min})}{s_{\max}-s_{\min}} \end{align} $
(14) 这种编码方式使输入神经元在一个$T$内只发放一个脉冲.基于式(14), 并结合式(8)得到隐含层输入电流$I_h(t)$为
$ \begin{align} I_h(t) = \sum\limits_i w_{ih}t(s)_i \end{align} $
(15) 其中, $w_{ih}$为输入层与隐含层神经元之间的突触权重.输入神经元用于将状态值转换为单个的状态脉冲, 没有解码过程.
2) 隐含层神经元
研究以下情形:两个LIF神经元$i$, $j$由一个突触连接.突触前神经元$i$为输入神经元而突触后神经元$j$为输出神经元, 它们的初始电压均为0, 神经元$i$在$t_0$时间电压达到阈值而发放脉冲, 根据式(8), 脉冲将通过突触转换为输入至神经元$j$的电流, 如果输入电流能使突触后电位达到阈值, 则突触后神经元$j$将发放脉冲.通过神经元不应期的设置, 在一个时间窗口的时间内, 神经元$j$只会发放一个脉冲, 如图 5 (a)所示.
对于隐含层神经元, 设置激发态时其只发放一个脉冲, 解码时将其脉冲发放时间$t_h$直接作为输出数据, 从而可得输出层输入电流$I_o(t)$
$ \begin{align} I_o(t)=\sum\limits_h w_{ho}t_h \end{align} $
(16) 其中, $w_{ho}$是隐含层与输出层之间的突触权重, 编码时则根据发放时间还原脉冲即可.
3) 输出层神经元
由于首次发放时间越提前说明输入输出相关性越强, 则可以认为在一个时间窗口内, 输出层中最早发放脉冲的神经元为动作价值最大的动作, 这意味着首次发放时间和动作价值呈反相关关系, 解码时直接将首次发放时间作为输出数据则需要修改Q值更新公式.为了减少算法设计的复杂度, 输出层神经元发放脉冲的形式设置为连续发放.如图 5 (b)所示, 进而计算其平均发放率(Mean firing rate)[24]
$ \begin{align} v=\frac{n_{\rm sp}}{T} \end{align} $
(17) 其中, $n_{\rm sp}$是输出层神经元在一个时间窗口$T$内发放脉冲的数量.事实上, 平均发放率和首次发放时间是等效的, 一个神经元的平均发放率越高, 由于脉冲时间间隔均等, 则说明它的首次发放时间就越提前[24].因而如果设置输出层神经元总是在一个时间窗口内, 连续发放时间间隔相同的脉冲, 那么可以直接将$n_{\rm sp}$作为输出动作价值.进一步, 近似认为输出脉冲时间将$T$均等分, 所以输出脉冲序列的发放时间为等差数列, 在已知数列项数即脉冲数量$n_{\rm sp}$的情况下可还原脉冲序列.
2.3 改进STDP与忆阻突触设计
神经科学领域的主要研究问题之一是对生物学习过程的解释.例如, STDP学习规则的提出是基于对单个生物突触的实验, 但对于STDP规则如何在脉冲神经网络中实现权重调整并没有统一且详尽的描述[31].为了实现STDP规则对脉冲神经网络的权重调整, 进而应用于强化学习中, 需要对基本STDP规则加以改进.其思路在于引入第三方信号(可以是奖赏信号或TD误差信号), 作为突触权重的调节信号[31].
以奖赏信号为调节信号的STDP规则称作Reward STDP, 例如文献[32]提出如下权重调节规则
$ \begin{align} \Delta w_{ij} = \frac { T_{e} \xi(\Delta t)} {T_{e} + t_{\rm re}-t_{t}} S_{\rm rp} \end{align} $
(18) 方案中奖赏为一个时间函数$S_{\rm rp}$, $t_{\rm re}$是奖赏出现的时间而$t_{t}$是智能体执行动作的时间. $T_{e}$是每次迭代持续的时间. Reward STDP实现了在虚拟环境中对觅食行为这一生物问题的建模.但是, 这种方案不适用于强化学习任务, 因为在强化学习任务中, 执行动作的事件和奖赏之间可能达到上千步的延迟, 导致学习效率非常低.
以TD误差信号作为调节信号的STDP规则称作TD STDP规则, 为了方便讨论, 将TD误差重写
$ \begin{align} TD = r_t + \gamma \max\limits_{a_{t+1}} Q({\mathit{\boldsymbol{s}}}_{t+1}, a_{t+1})-Q({\pmb s}_t, a_t) \end{align} $
(19) 利用式(19), 文献[33]提出如下的权重调节方案
$ \begin{align} \frac{{\rm d}w_{ij}(t)}{{\rm d}t} = \eta TD \frac{\rho(stdp_{ij}(t))} {w_{ij}(t)} \end{align} $
(20) 其中, $\rho(stdp_{ij}(t))$为突触前发放脉冲与突触后发放脉冲的概率之差, $\eta \in [0, 1]$为学习率.此改进方案的立足点在于, TD误差反映了目标值和实际输出值的偏离程度.如果TD误差为正, 说明目标值优于实际值, 当前的突触权重应该加强, 反之应该减弱, 但是, 这种权重调节方案并不能直接应用于MSRL算法, 原因在于, 此方案限制每个神经元仅发放一个脉冲, 而MSRL中输出层神经元发放的是连续脉冲.另外, 直接将TD误差作为权重调节系数不能最小化误差, 需要定义损失函数.
我们在式(20)基础上提出改进的STDP规则.首先, 将$\xi(\Delta t)$简化如下
$ \begin{align} \xi(\Delta t) = \begin{cases} A^{+}, & \Delta t \geq 0\\ A^{-}, & \Delta t < 0 \end{cases} \end{align} $
(21) 式(21)不考虑输入和输出脉冲的时间差, 只考虑输入和输出脉冲之间的相关性.进一步, 按照文献[34], 定义损失函数如下
$ \begin{align} L_{i}(\theta_i)={\rm E}[(y_i-Q({\mathit{\boldsymbol{s}}}_t, a_t;\theta_i))^2] \end{align} $
(22) 其中, $y_i={\rm E}[r_t + \gamma {\rm max}_{a_{t+1}} Q({\mathit{\boldsymbol{s}}}_{t+1}, a_{t+1};\theta_{i-1})]$为第$i$次迭代的目标Q值, $\theta$为网络参数.改进STDP的目标在于使平方TD误差的期望(即式(22))最小.最后, 改进的STDP规则表示为
$ \begin{align} \frac{{\rm d}w_{ij}(t)}{{\rm d}t} = \eta L_{i}(\theta_i) \frac{ \xi(\Delta t) } {w_{ij}(t)} \end{align} $
(23) 在此基础上, 本文还设计了对应的基于忆阻器的人工突触, 以期进一步实现所提出算法的硬件加速.定义非线性窗函数如下
$ \begin{align} f(v_{\rm MR}) = \begin{cases} v_{\rm MR}, & |v_{\rm MR}| > v_{\rm th} \\ 0, & |v_{\rm MR}| \leq v_{\rm th} \end{cases} \end{align} $
(24) 其中, $v_{\rm MR}$为忆阻器两端电压, $v_{\rm th}$为忆阻器的阈值电压, 调整忆阻器两端电压大小可使忆阻器处于权重调节或不可更改两个状态.
进一步, 设置权重调节状态时$v_{\rm MR}$为
$ \begin{align} v_{\rm MR}(\Delta t) = \begin{cases} A^{+}, & \Delta t \geq 0\\ A^{-}, & \Delta t < 0 \end{cases} \end{align} $
(25) 而突触权重的更新如下
$ \begin{align} \frac{{\rm d}w_{ij}(t)}{{\rm d}t} = \eta L_{i}(\theta_i) \frac{ f(v_{\rm MR} (\Delta t) ) } {w_{ij}(t)} \end{align} $
(26) 即可实现改进后的STDP学习规则.
3. 算法流程
在第2节基础上, 给出MSRL (算法2)的具体实现流程.如下所示:
1) 数据收集
强化学习任务开始时, 没有足够的样本用于训练SNN, 需要通过智能体与环境的交互以获取样本.此时使权重服从均值和方差均为0.1的正态分布, 并通过正则化提高权重收敛速率, 即
$ \begin{align} w_{ij}\leftarrow \frac{w_{ij}}{ \sqrt{n} } \end{align} $
(27) 其中, $n$为输入神经元的数量.另外, 为了消除脉冲之间的相关性, 每个神经元注入了微量的噪声[33].每一个时间步(step)内, 神经网络的运行时间为两个时间窗口$T$.我们设置输入层和隐含层只在第一个$T$内发放脉冲, 一个$T$的时间过后, 输出层再发放脉冲.一旦神经网络运行完成, 便得到了输出脉冲数量${ Q}$, 隐含层输出脉冲时间$t_h$, 根据$\epsilon$-${\rm greedy}$策略, 智能体有$1 - \epsilon$的概率选择${ Q}$最多的神经元所对应的动作, 而以$\epsilon$的概率随机选择动作. $\epsilon$-${\rm greedy}$中$\epsilon$的值会随着迭代次数的增加而递减, 以确保随着任务的进行智能体逐渐依赖于策略$\pi({\mathit{\boldsymbol{s}}})$而不是无目的的选取动作.
2) 网络训练
根据文献[35], 突触权重变化会逆行而快速的传播到突触前神经元树突的突触上, 但并不会向前传播到下一级突触上, 这表明类似反向传播算法的机制可以在脉冲神经网络中存在并发挥作用.因此提出如图 6所示的训练方式.图中画出的忆阻器表示此时忆阻器处于权重调节状态, 未画出的忆阻器则处于断开状态.一次训练包含多个样本, 每一个样本使神经网络运行三个时间窗口$T$.训练时, 首先断开所有忆阻器.之后使目标动作对应的输出神经元与隐含层之间的忆阻器导通, 这类似于监督学习中利用标签进行训练.令隐含层神经元发放对应的隐含层脉冲$\delta_h(t)$, 运行一个时间窗口后, 在第二个时间窗口内令输出神经元发放目标脉冲$\delta_{y_{j}}(t)$ (图 6 (a)).网络运行完两个时间窗口后, 断开隐含层与输出层之间的忆阻器, 使输入层和隐含层之间的忆阻器导通(图 6 (b)), 令输入神经元发放状态脉冲$\delta_{{\mathit{\boldsymbol{s}}}}(t)$, 同时令隐含层神经元再次发放隐含层脉冲$\delta_{h}(t)$.如此循环往复, 直到一次训练完成.
3) 网络测试
测试时忆阻突触的权重将完全由训练结果决定, 通过设置忆阻器电压, 可以使其工作在权重不可更改状态.神经网络的运行步骤同训练前.
具体的MSRL算法描述如下:
算法2.忆阻脉冲神经网络强化学习(MSRL)算法
1 初始化容量为$N$的记忆池${\mathit{\boldsymbol{D}}}$
2 初始化观测值$o$, 样本容量$b$
3 初始化权重
4 for ${\rm episode}=1:M$ do
5 初始化状态${\mathit{\boldsymbol{s}}}_0$
6 repeat
7 运行神经网络, 得到输出层输出脉冲数量$Q_t$, 隐含层脉冲发放时间$t_h$
8 以概率$\epsilon$随机选择动作$a_t$, 以$1-\epsilon$执行$a_t= \mathop{\arg\max} Q_t$
9 执行动作$a_t$, 得到奖赏值$r_t$和下一个状态${\mathit{\boldsymbol{s}}}_{t+1}$
10 存储${\mathit{\boldsymbol{e}}}_{t}=({\mathit{\boldsymbol{s}}}_t, a_t, r_t, {\mathit{\boldsymbol{s}}}_{t+1}, t_h, Q_t)$于记忆池${\mathit{\boldsymbol{D}}}$
11 if迭代步数大于$o$, then
12 从${\mathit{\boldsymbol{D}}}$中随机抽取$b$个元组$({\mathit{\boldsymbol{s}}}_j, a_j, r_j, {\mathit{\boldsymbol{s}}}_{j+1}, t_{hj}, Q_j)$作为训练样本
13 将${\mathit{\boldsymbol{s}}}_{j+1}$输入到神经网络中, 得到$Q_{j+1}$
14
15 目标脉冲$\delta_{y_{j}}(t)$数量$n_{y_{j}}={\rm ceil}(y_{j})$
16 对每一个动作, 分别按式(22)求出其平方TD误差的期望
17 运用改进STDP算法训练神经网络
18 ${\mathit{\boldsymbol{s}}}_t\leftarrow {\mathit{\boldsymbol{s}}}_{t+1}$
19 until ${\mathit{\boldsymbol{s}}}$ is terminal
20 end for
4. 实验与分析
4.1 实验设置
1) CartPole-v0
如图 7所示, 一辆小车上用铰链装有一只平衡杆, 平衡杆可以自由移动.在力$F$的作用下, 小车在离散时间区间内向左或向右移动, 从而改变小车自身的位置和杆的角度.这个模型的状态有4个维度: a)小车在轨道上的位置$x$; b)平衡杆与垂直方向的夹角$\theta$; c)小车速度$v$; d)平衡杆角速度$\omega$.
游戏中每移动一个时间步(step), 智能体都会通过观察获得下一个状态的值, 并且会获得值为$1$的奖赏.游戏终止的条件为: a)平衡杆的角度的绝对值大于$12^\circ$; b)小车的位置与$x=0$的位置的距离超出$\pm2.4$的范围; c)在一次迭代(episode)中step数超过200.满足条件c)则认为游戏成功.由于摆杆角度和车位移的绝对值较小的情况下游戏容易成功, 因而定义每一步的游戏得分为
$ \begin{align} S_c = \frac{1}{100}\left(\frac{1}{|x|}+\frac{1}{|\theta|}\right) \end{align} $
(28) 每次游戏得分通过此次游戏总分除以此次游戏迭代步数得到. MSRL参数设置如下:对$\epsilon-{\rm greedy}$, 设置$\epsilon=0.1$, 学习率$\eta$设置为$0.1$, 记忆池容量为$10\, 000$, 折扣因子$\gamma$为$0.9$.算法运行$500$次迭代.
2) MountainCar-v0
如图 8所示, 一辆小车被置于两座山峰之间, 小车的初始位置$x_0\in(-0.6, -0.4)$, 山谷处的位置为$-0.5$.任务目标是开到右边小旗处.但是, 车的动力不足以一次爬上山顶, 因此, 小车需要来回移动以获取足够的速度到达目标处.智能体的状态由两个维度组成: a)小车轨道位置$x\in(-1.2, 0.6)$; b)小车的速度$y\in(-0.07, 0.07)$.
每一个step中, 小车有三个动作可供选择:向右、停止、向左.小车移动一步后会获得观察值和值为$-1$的奖赏.根据小车与终点的距离, 定义每步游戏得分$S_m$为
$ \begin{align} S_m=\frac{1}{0.6-x} \end{align} $
(29) 每次游戏得分计算方式与CartPole-v0相同.另外, 设定当一次迭代中步数超过300游戏也会自动结束. MSRL参数设置如下:对$\epsilon-{\rm greedy}$, 同样设置$\epsilon=0.1$, 学习率$\eta$设置为$0.1$, 记忆池容量为$5\, 000$, 折扣因子$\gamma$为$0.9$.算法运行100次迭代.
3) 隐含层神经元数量
为了确定SNN隐含层神经元的数量, 我们在其他实验参数相同的情况下分别独立运行了隐含层神经元数量不同的MSRL算法, 并比较它们的TD方差, 结果见表 1.表 1的列展示了隐含层神经元数量不同的情况下TD方差的大小, 在其他参数相同的条件下进行实验. TD方差小表明学习效率更高. CartPole-v0的输入神经元为4个, MountainCar-v0为2个.
表 1 不同隐含层神经元数量TD方差对比Table 1 The comparison of TD variance for difierent hidden neurons任务 CartPole-v0 MountainCar-v0 $\rm Hidden = 1$ 27.14 5.17 $\rm Hidden = 2$ 24.52 5.03 $\rm Hidden = 4$ 21.2 4.96 $\rm Hidden = 6$ 19.45 4.87 $\rm Hidden = 10$ 17.26 4.79 $\rm Hidden = 12$ 14.04 4.65 从表 1中可以发现, 隐含层神经元数量较少, TD方差较大, 但数量过多并没有显著提高学习效率, 反而可能会增加网络复杂度, 减慢运行速率.因此我们设置CartPole-v0隐含层神经元数量为6, MountainCar-v0隐含层神经元数量为4, 作为折中的一种优化选择.
4.2 实验结果与分析
1) MSRL有效性验证
在实验过程中智能体的状态反映了学习效果. Cartpole-v0游戏中, 平衡杆的角度和小车的位移越小越好, 这样游戏才可能成功.而MountainCar-v0游戏中, 小车在速率足够大的情况下才能爬上右侧山坡, 到达目标.我们分别在训练开始前和训练开始后随机抽取相同数量的样本以观察样本的数值分布, 结果如图 9所示.可以看出, 在CartPole-v0中, 当完成了200次游戏后, 平衡杆的角度和小车的位置集中于原点附近.而在MountainCar-v0中, 完成了50次游戏后, 坐标值的变化显示小车学会了利用左侧山坡获得反向势能, 并且速率大于训练之前.
2) 算法对比
为进一步说明MSRL的特点, 我们将深度Q网络(Deep Q network, DQN)和离散状态Q-learning作为比较的对象.三者折扣因子和学习率均相同, DQN同样采用三层全连接前向网络结构, 隐含层神经元数量为10, 且其记忆池容量与MSRL相同.三个算法在同一台计算机上分别独立运行.对比结果如图 10和表 2所示.
表 2 比较结果(B)Table 2 The results of comparison (B)评价指标 平均迭代步数 平均分数 平均CPU利用率(%) 运行时间(s) MSRL (CartPole-v0) 98.93 1.28 12.0 3 528.38 DQN (CartPole-v0) 61.79 1.22 23.5 1 119.52 Q-learning (CartPole-v0) 11.83 1.14 0.3 105.60 MSRL (MountainCar-v0) 183.87 1.23 11.8 1 358.14 DQN (MountainCar-v0) 204.32 1.12 22.9 359.21 Q-learning (MountainCar-v0) 250.26 0.98 0.2 32.68 根据游戏环境的设置, 在CartPole-v0游戏中每次游戏的迭代步数越高越好, 而MountainCar-v0则相反.图 10(a)和10(b)的结果显示, 在CartPole-v0游戏中, MSRL算法所控制的倒立摆系统游戏成功率和得分高于另外两种算法.尽管DQN先于MSRL算法完成游戏目标, 但其收敛性较差.图 10(c)和10(d)的结果显示, 在MountainCar-v0游戏中, MSRL算法所控制的小车容易以较少的步数达到目标处, 且最少步数小于另外两种算法, 同时游戏得分为三者中的最高值.从两个游戏的结果可以看出, 离散状态之后的Q-learning算法难以达成目标.我们将结果列在表 2里以更清楚对比结果.
表 2中, 平均迭代步数为实验中的累积步数除以迭代数, 而平均分数为累积分数除以累积步数.在CartPole-v0游戏中, MSRL算法总平均迭代步数相比于DQN和离散Q-learning明显增加, 而在MountainCar-v0游戏中, MSRL算法总平均迭代步数相比于DQN和离散Q-learning明显减少.两个游戏中得分最高者均为MSRL.此外, 我们还在游戏执行的每一步中记录CPU利用率, 最后用累积CPU利用率除以累积步数以计算平均CPU利用率.结果显示, 尽管Q-learning能以较短的运行时间和较低的CPU利用率完成目标, 但是其计算效果不如神经网络式强化学习.而MSRL算法CPU利用率低于DQN, 但运行时间长于DQN.根据文献[36], 采用不同的模拟策略影响脉冲神经网络的运行时间.而本文利用新型信息器件忆阻器的高密度、非易失性等优势, 融合优化的网络结构和改进的学习算法, 有望以实现MSRL的硬件加速, 同时减少对计算资源的依赖.
5. 结论
尽管传统的神经网络与强化学习算法的结合提高了智能体的学习能力, 但这些算法对计算能力依赖性较强, 同时网络复杂度高, 不适合硬件实现.为了进一步达到硬件加速, 促进嵌入式智能体在实际环境中独立执行任务, 本文设计了基于多层忆阻脉冲神经网络的强化学习(MSRL)算法.首先解决了数据与脉冲之间的转换问题; 在前人工作基础上, 改进了STDP学习规则, 使SNN能够与强化学习有机结合, 同时也设计了相应的忆阻突触; 进一步, 设计了结构可动态调整的多层忆阻脉冲神经网络, 这种网络具有较高的学习效率和适应能力.实验结果表明, MSRL与传统的强化学习算法相比能更高效地完成学习任务, 同时更节省计算资源.在未来的工作中, 我们将研究深度SNN与更复杂的强化学习算法例如Actor-Critic算法的结合, 并进一步改进学习算法以增强算法稳定性.
-
表 1 CS2_37构造的原始数据和不同缺失率下的训练数据
Table 1 Original data constructed by CS2_37 and training data with different missing rates
数据类型 缺失率 样本数量 原始数据 0 850 缺失数据 10% 771 30% 643 50% 513 70% 438 表 2 CS2数据集构造RUL预测的训练样本和验证样本
Table 2 CS2 dataset constructs training samples and validation samples for RUL prediction
样本类型 样本组成 样本量 训练样本 CS2_35 851 CS2_36 944 CS2_38 991 CS2_37 (0$\sim$600) 600 验证样本 CS2_37 (601$\sim$1006) 406 表 3 不同缺失率下的PSO-NICE模型参数
Table 3 PSO-NICE model parameters with different missing rates
训练数据缺失率 样本剩余量 分块加性耦合层数 耦合层数 每层神经元 批处理量 NICE迭代次数 粒子维度大小 粒子群大小 PSO迭代次数 10% 771 16 5 1000 128 1000 2 2 15 30% 643 14 5 1000 64 1000 2 2 15 50% 513 12 5 1000 64 1000 2 2 15 70% 438 10 5 1000 64 1000 2 2 15 表 4 不同缺失率下各方法生成样本与完整样本的EM距离
Table 4 The EM distance between generation sample and the complete sample under different missing rates
缺失率 不处理 VAE GAN NICE PSO-NICE DCGAN-KS[11] 10% 0.081 0.064 0.056 0.012 0.007 0.024 30% 0.218 0.175 0.159 0.014 0.011 0.049 50% 0.357 0.282 0.207 0.024 0.013 0.072 70% 0.431 0.397 0.284 0.028 0.015 0.122 表 5 现有常用预测网络的参数
Table 5 Parameters of existing common prediction networks
预测网络 网络层数 每层单元数 Attention单元数 全连接层数 每层神经元个数 随机种子 批处理量 迭代次数 RNN 1 64 0 1 1 3 16 4 GRU 1 64 0 1 1 0 16 5 LSTM 1 64 0 1 1 0 16 5 Bi-LSTM 2 64 0 1 1 0 16 5 Bi-LSTM-Att 2 64 1 1 1 0 16 5 表 6 不同预测方法的效果评估
Table 6 Effectiveness evaluation of different forecasting methods
预测方法 缺失率 RMSE $R^2$ 运行时间 (秒) RNN 0% 0.1679 –0.77041 14 GRU 0.1376 0.72191 15 LSTM 0.0902 0.8713 15 Bi-LSTM 0.0746 0.9114 17 Bi-LSTM-Att 0% 0.0213 0.9907 26 10% 0.022 0.99 30% 0.0224 0.9898 50% 0.0328 0.978 70% 0.0424 0.9632 表 7 不同缺失率填补后Bi-LSTM-Att重复预测量化结果
Table 7 Quantification results of Bi-LSTM-Att repeated prediction after imputation with different missing rates
缺失率 预测均值 95%置信区间 0% 0.0213 [0.0379, 0.0468] 10% 0.0215 [0.0460, 0.0493] 30% 0.0294 [0.0526, 0.0657] 50% 0.0300 [0.0428, 0.1024] 70% 0.0468 [0.0560, 0.1054] -
[1] Si X S, Wang W, Hu C H, et al. Remaining useful life estimation–a review on the statistical data driven approaches. European Journal of Operational Research, 2011, 213(1): 1-14 doi: 10.1016/j.ejor.2010.11.018 [2] 周东华, 魏慕恒, 司小胜. 工业过程异常检测、寿命预测与维修决策的研究进展. 自动化学报, 2013, 39(6): 711-722Zhou Dong-Hua, Wei Mu-Heng, Si Xiao-Sheng. A survey on anomaly detection, life prediction and maintenance decision for industrial processes. Acta Automatica Sinica, 2013, 39(6): 711-722 [3] 董青, 郑建飞, 胡昌华, 李冰, 牟含笑. 基于两阶段自适应Wiener过程的剩余寿命预测方法. 自动化学报, 2022, 48(2):539-553Dong Qing, Zheng Jian-Fei, Hu Chang-Hua, Li Bing, Mu Han-Xiao. Remaining useful life prognostic method based on two-stage adaptive Wiener process. Acta Automatica Sinica, 2022, 48(2): 539-553 [4] Zheng J F, Si X S, Hu C H, et al. A nonlinear prognostic model for degrading systems with three-source variabilit. IEEE Transactions on Reliability, 2016, 65(2): 736-750 doi: 10.1109/TR.2015.2513044 [5] Saha B, Goebel K. Battery Data Set, NASA ames prognostics data repository[Online], available: https://ti.arc.nasa.gov/tech/dash/groups/pcoe/prognostic-data-repository/, December 23, 2022 [6] Pecht M, Osterman M. Battery Research Data, Center for Advanced Life Cycle Engineering (CALCE) [Online], available: https://web.calce.umd.edu/batteries/data.html, December 23, 2022 [7] 杜党波, 张伟, 胡昌华, 周志杰, 司小胜, 张建勋. 含缺失数据的小波-卡尔曼滤波故障预测方法. 自动化学报, 2014, 40(10):2115--2125Du Dang-Bo, Zhang Wei, Hu Chang-Hua, Zhou Zhi-Jie, Si Xiao-Sheng, Zhang Jian-Xun. A failure prognosis method based on wavelet-Kalmanfiltering with missing data. Acta Automatica Sinica, 2014, 40(10): 2115-2125 [8] 裴洪, 胡昌华, 司小胜, 张建勋, 庞哲楠, 张鹏. 基于机器学习的设备剩余寿命预测方法综述. 机械工程学报, 2019, 55(8):1-13 doi: 10.3901/JME.2019.08.001Pei Hong, Hu Chang-Hua, Si Xiao-Sheng, Zhang Jian-Xun, Pang Zhe-Nan, Zhang Peng. Overview of machine learning-based equipment remaining life prediction methods. Journal of Mechanical Engineering, 2019, 55(8): 1-13 doi: 10.3901/JME.2019.08.001 [9] 胡铭菲, 左信, 刘建伟. 深度生成模型综述. 自动化学报, 2022, 48(1):40-74 doi: 10.16383/j.aas.c190866Hu Ming-Fei, Liu Jian-Wei, Zuo Xin. Survey on deep generate model. Acta Automatica Sinica, 2022, 48(1):40-74 doi: 10.16383/j.aas.c190866 [10] Yoon J, Jordon J, Schaar M. Gain: missing data imputation using generative adversarial nets. In: Proceedings of the Machine Learning Research. Stockholm, Sweden, PMLR, 2018: 5689−5698 [11] 张晟斐, 李天梅, 胡昌华, 杜党波, 司小胜. 基于深度卷积生成对抗网络的缺失数据生成方法及其在剩余寿命预测中的应用. 航空学报, 2022, 43(8):441-455 doi: 10.7527/j.issn.1000-6893.2022.8.hkxb202208032Zhang Sheng-Fei, Li Tian-Mei, Hu Chang-Hua, Du Dang-Bo, Si Xiao-Sheng. Deep convolutional generative adversarial network based missing data generation method and its application in remaining useful life prediction. Acta Aeronautica et Astronautica Sinica, 2022, 43(8):441-455 doi: 10.7527/j.issn.1000-6893.2022.8.hkxb202208032 [12] Nazabal A, Olmos P M, Ghahramani Z, et al. Handling incomplete heterogeneous data using vaes. Pattern Recognition, 2020, 107: 107501 doi: 10.1016/j.patcog.2020.107501 [13] Dinh L, Krueger D, Bengio Y. Nice: non-linear independent components estimation. arXiv preprint arXiv: 1410.8516, 2014 [14] Dinh L, Sohl-Dickstein J, Bengio S. Density estimation using real nvp. arXiv preprint arXiv: 1605.08803, 2016 [15] Kingma D P, Dhariwal P. Glow: generative flow with invertible 1x1 convolutions. arXiv preprint arXiv: 1807.03039, 2018 [16] Prenger R, Valle R, Catanzaro B. Waveglow: a flow-based generative network for speech synthesis. In: Proceedings of the International Conference on Acoustics, Speech and Signal Processing. Brighton, UK, IEEE, 2019: 3617−3621 [17] Ge L, Liao W, Wang S, et al. Modeling daily load profiles of distribution network for scenario generation using flow-based generative network. IEEE Access, 2020, 8: 77587-77597 doi: 10.1109/ACCESS.2020.2989350 [18] 薛阳, 杨艺宁, 廖文龙, 杨德昌. 基于非线性独立成分估计的分布式光伏窃电数据增强方法. 电力系统自动化, 2022, 46(2):171-179Xue Yang, Yang Yi-Ning, Liao Wen-Long, Yang De-Chang. Distributed photovoltaic power stealing data enhancement method based on nonlinear independent component estimation. Automation of Electric Power Systems, 2022, 46(2):171-179 [19] Su Jian-Lin. NICE: basic concept and implementation of flow model [Online], available: https://spaces.ac.cn/archives/5776, December 23, 2022 [20] 余海燕, 陈京京, 邱航, 王永, 王若凡. 嵌套删失数据期望最大化的高斯混合聚类算法.自动化学报, 2021, 47(6):1302-1314 doi: 10.16383/j.aas.c190081Yu Hai-Yan, Chen Jing-Jing, Qiu Hang, Wang Yong, Wang Ruo-Fan. Adapted expectation maximization algorithm for Gaussian mixture clustering with censored data. Acta Automatica Sinica, 2021, 47(6): 1302-1314 doi: 10.16383/j.aas.c190081 期刊类型引用(11)
1. 谭畅,姜坤,陈馨玥. 基于确定性模型的高速列车二阶段自适应速度跟踪控制. 控制理论与应用. 2025(01): 41-49 . 百度学术
2. 张坤鹏,严斐,杨辉,刘鸿恩,安春兰. 高速列车大功率操纵过程分数阶建模及速度时滞预测. 电工技术学报. 2024(14): 4557-4566 . 百度学术
3. Feng Guo,Jing He. Optimal allocation method of electric/air braking force of high-speed train considering axle load transfer. High-speed Railway. 2024(02): 77-84 . 必应学术
4. 李中奇,黄琳静,周靓,杨辉,唐博伟. 高速列车滑模自抗扰黏着控制方法. 交通运输工程学报. 2023(02): 251-263 . 百度学术
5. 王胜,鲍立昌,章家岩,冯旭刚,徐帅,王正兵,魏新源. 基于神经网络逆模型的污水pH值内模控制策略. 重庆大学学报. 2023(12): 55-65 . 百度学术
6. 刘晓宇,荀径,高士根,阴佳腾. 高速列车精确停车的鲁棒自触发预测控制. 自动化学报. 2022(01): 171-181 . 本站查看
7. 程翔,吴家仪,黄宜山,汤梦姣. 基于观测器的货运列车黏着系数检测研究. 科学技术创新. 2022(08): 193-196 . 百度学术
8. 李中奇,孟凡晖,杨辉. 基于最优蠕滑率的列车防滑控制研究. 控制工程. 2021(12): 2312-2317 . 百度学术
9. 谢国,金永泽,姬文江,黑新宏,马维纲,王丹,陈庞,叶闽英. 高速列车疫情风险评估与主动防护策略. 交通运输工程学报. 2020(03): 110-119 . 百度学术
10. 黄川. 机械设备波动状态预测模型的关键参数识别. 计算机仿真. 2020(11): 371-374+464 . 百度学术
11. 姬文江,左元,黑新宏,高橋聖,中村英夫. 基于FastDTW的道岔故障智能诊断方法. 模式识别与人工智能. 2020(11): 1013-1022 . 百度学术
其他类型引用(19)
-