-
摘要: 数据流分类研究在开放、动态环境中如何提供更可靠的数据驱动预测模型, 关键在于从实时到达且不断变化的数据流中检测并适应概念漂移. 目前, 为检测概念漂移和更新分类模型, 数据流分类方法通常假设所有样本的标签都是已知的, 这一假设在真实场景下是不现实的. 此外, 真实数据流可能表现出较高且不断变化的类不平衡比率, 会进一步增加数据流分类任务的复杂性. 为此, 提出一种非平衡概念漂移数据流主动学习方法(Active learning method for imbalanced concept drift data stream, ALM-ICDDS). 定义基于多预测概率的样本预测确定性度量, 提出边缘阈值矩阵的自适应调整方法, 使得标签查询策略适用于类别数较多的非平衡数据流; 提出基于记忆强度的样本替换策略, 将难区分、少数类样本和代表当前数据分布的样本保存在记忆窗口中, 提升新基分类器的分类性能; 定义基于分类精度的基分类器重要性评价及更新方法, 实现漂移后的集成分类器更新. 在7个合成数据流和3个真实数据流上的对比实验表明, 提出的非平衡概念漂移数据流主动学习方法的分类性能优于6种概念漂移数据流学习方法.Abstract: Data stream classification researchs how to provide more reliable data-driven prediction models in open and dynamic environment. The key is how to detect and adapt to concept drift from continuously changing data stream that arrive in real-time. Currently, in order to detect concept drift and update classification models, data stream classification methods usually assume that the labels of all samples are known, which is unrealistic in real scenarios. Additionally, real data stream may exhibit a high and constantly changing class imbalance ratios, further increasing the complexity of the data stream classification task. In this paper, we propose an active learning method for imbalanced concept drift data stream (ALM-ICDDS). Firstly, we define a sample prediction certainty measure based on multiple prediction probabilities and propose an adaptive adjustment method for the margin threshold matrix, which makes the label query strategy suitable for imbalanced data stream with a number of categories. Then, we propose a sample replacement strategy based on memory strength, which saves the samples that are difficult-to-distinguish, minority class and represent the current data distribution in the memory window, and improves the classification performance of new base classifier. Finally, we define the importance evaluation and update method of base classifier based on classification accuracy, which realizes the ensemble classifier update after drift. Comparative experiments on seven synthetic data streams and three real data streams show that the active learning method for imbalance concept drift data stream is better than six concept drift data stream learning methods in classification performance.
-
Key words:
- Data stream classification /
- active learning /
- concept drift /
- multi-class imbalance
-
多智能体系统由多个具有一定传感、计算、执行能力的个体组成, 个体通过网络与其他智能体通信, 相互协作完成任务. 每个智能体具有一定的独立性和自主性, 能够自主学习、推理和规划并选择适当的策略解决子问题. 通过多个具备简单智能的个体相互协作实现复杂的智能, 多智能体系统在降低单个智能体复杂程度的同时, 有效提高了整个系统的鲁棒性、可靠性和灵活性[1-2]. 近年来, 随着通信和网络技术的快速发展, 多智能体系统在交通运输、工业生产等多个领域都有广泛和深入的应用. 面对越来越多的大规模复杂问题, 单智能体集成的解决方案将面临各种资源和条件的限制. 如何开发具有群体智能的多智能体系统, 高效优化的完成任务, 是人工智能和自动化领域面临的新的挑战[3-4].
伴随着计算和存储能力的大幅提升, 深度学习在人工智能领域获得了巨大的成功. 在此背景下, 产生了由深度学习和强化学习结合的深度强化学习(Deep reinforcement learning, DRL)[5]. 深度强化学习将感知、学习、决策融合到同一框架, 实现了从原始输入到决策动作“端到端”的感知与决策, 并在游戏领域取得了令人兴奋的成绩. Google DeepMind团队开发的AlphaGo系列围棋程序, 击败了人类顶级围棋选手[6-8]; 提出的深度Q网络(Deep Q-network, DQN), 在多种Atari游戏中成功超越人类专业玩家. OpenAI研发了能够在Dota2这一比围棋更复杂的游戏中击败人类专业玩家的游戏机器人[9]. 此外, 深度强化学习在无人驾驶[10]、机器人控制[11]、交通运输调度[12]、电力系统优化[13]、分布式传感网络[14]以及金融和社会学等领域还有大量的应用研究[15]. 更为重要的是, 深度强化学习可能成为一种解决复杂问题的有效方法, 极大地推动人工智能和自动化技术的发展[16-17].
多智能体深度强化学习(Multi-agent deep reinforcement learning, MADRL)将深度强化学习的思想和算法用于多智能体系统的学习和控制中, 是开发具有群体智能的多智能体系统的重要方法. 然而, 深度强化学习方法扩展到多智能体系统, 面临诸多方面的挑战. 本文综述了强化学习和深度强化学习方法的原理, 分析了多智能体深度强化学习算法结构、环境非静态性、部分可观性等重要问题和研究进展, 对多智能深度强化学习方法的应用情况也进行了简要概述. 最后, 讨论了多智能体深度强化学习未来的研究方向和研究思路.
1. 强化学习理论
受到生物学习规律的启发, 强化学习以试错机制与环境进行交互, 通过最大化累积奖赏的方式来学习和优化, 最终达到最优策略. 在强化学习中, 定义决策者或学习者为“学习机”, 将学习机之外的事物定义为“环境”, 系统与环境相融[18]. 学习机和环境之间的交互过程可以由三个要素来描述, 分别是: 状态
$s$ 、动作$a$ 、奖励$ r .$ 学习机根据初始状态$ s_{0} ,$ 执行动作$ a_{0} $ 并与环境进行交互, 得到奖励$ r_{1} $ 并获得更新的状态$ s_{1}. $ 在时间步$ t ,$ 根据当前状态$ s_{t} $ 和奖励$ r_{t} ,$ 学习机提供当前动作$ a_{t}. $ 接着, 系统状态由$ s_{t} $ 转变为$ s_{t+1}, $ 与环境交互反馈奖励$ r_{t+1}. $ 强化学习基本原理如图1所示.一般来说, 强化学习强调和环境的交互, 表示为一系列状态、动作和奖励的序列:
$ s_{0} ,a_{0}, r_{1},s_{1}, a_{1}, $ $ r_{2}, \cdots , s_{n-1} , a_{n-1} , r_{n}. $ 尽管$ n $ 可以趋向于无穷, 但实际上通常定义一个末端状态$ s_{n} = s_{T} $ 来对$ n $ 进行限制. 这一串从起始状态开始到末端状态结束的状态、动作和奖励序列称为一个学习周期(Episode)或训练周期. 策略通常表示为$ \pi $ , 是从状态$ s $ 到动作$ a $ 的一个映射. 如果对所有的状态, 在状态为$ s $ 时采取动作$ a $ 的概率$ P(a|s) = 1 $ , 则这个策略为确定性策略. 反之, 如果对于状态$ s $ , 在该状态下采取动作$ a $ 的概率$ P(a|s)<1 $ , 则该策略为随机策略. 在两种情况的任一情况下, 都可以定义策略$ \pi $ 为一组状态备选动作的概率分布. 在当前时间步, 学习机与环境交互和试错学习, 迭代优化当前策略$ \pi_{t}, $ 使新一步的策略$ \pi_{t+1} $ 优于当前步的策略$ \pi_{t} .$ 这个过程被称为“策略更新”, 在强化学习过程中反复执行, 直到学习机不能寻找到一个更好的策略为止.在学习机与环境的交互中, 学习机在每个时间步
$ t $ 都会得到一个反馈奖励$ r_{t} $ , 直到末端状态$ s_{T} $ . 然而每步奖励$ r_{t} $ 并不能代表长期的奖励收益. 为了表达学习机长期的收益, 引入时间步$ t $ 的回报$ G_{t} $ :$$ \begin{split} G_{t} =\,& r_{t}+\gamma r_{t+1}+\gamma^{2} r_{t+2}+\cdots+\gamma^{T-t} r_{T}=\\ &\sum_{i = 0}^{T-t}\gamma^{i} r_{t+i} \end{split}$$ (1) 其中,
$ \gamma $ 为折扣因子且满足$ 0<\gamma\leq1 $ . 当$ \gamma $ 接近1时, 学习机表现为更加重视长期回报. 反之, 当$ \gamma $ 接近0时, 学习机更加重视短期回报. 在实际中,$ \gamma $ 更倾向于被设置接近1, 使其更关注长期回报.策略的优劣通常采用值函数来进行表示. 用于评判状态
$ s $ 下策略优劣的状态值函数表示为:$$ V_\pi(s) = {\rm E}[G_t|s_t = s,\pi] $$ (2) 根据该式可以求得最优策略:
$$ \pi^{*} = \arg \max\limits_\pi V_\pi(s)$$ (3) 另一种形式的值函数用于评判状态
$ s $ 下执行动作$ a $ 的优劣程度, 称为状态–动作值函数, 也称为$ Q $ 函数:$$ Q_\pi(s,a) = {\rm E}[G_t|s_t = s, a_t = a, \pi] $$ (4) 此时最优策略表示为:
$$ \pi^{*} = \arg \max\limits_{a}Q_{\pi^{*}}(s,a) $$ (5) 下面给出蒙特卡洛法、时间差分法和策略梯度法三类强化学习算法, 分别从基于值函数和基于策略的角度进行优化.
1.1 蒙特卡洛法
蒙特卡洛法通过重复生成训练周期并且记录在每个状态或每个状态–动作对的平均回报值的方法来拟合值函数, 状态值函数的计算方法如下:
$$ V_{\pi}^{MC}(s) = \lim\limits_{j\rightarrow +\infty}{\rm E} [G^{j}(s_t)|s_t = s,\pi] $$ (6) 式中,
$ G^{j}(s_t) $ 表示在第$ j $ 个训练周期中, 在状态$ s_t $ 下观测到的回报值. 类似地, 还可以计算状态–动作值函数:$$ Q_{\pi}^{MC}(s,a)\! =\! \lim\limits_{j\rightarrow +\infty}{\rm E} [G^{j}(s_t,a_t)|s_t \!=\! s, a_t \!=\! a,\pi] $$ (7) 为了使蒙特卡洛方法可以更有效的探索, 在策略更新中常采用
$ \epsilon $ -贪婪的方法进行探索. 虽然蒙特卡洛法不需要任何系统状态转移概率的信息, 但为保证这种方法能够最终收敛, 还需要满足两个条件: 1) 足够多的训练周期; 2) 每个状态和状态下的每个动作都应被达到和执行过一定次数.1.2 时间差分学习法
时间差分学习与蒙特卡洛法相同, 从环境交互的经验中学习, 且不需要模型. 但时间差分学习不是等到一个训练周期结束之后再进行更新, 而是在每个时间步上利用时间差分(Temporal difference)的方式进行更新, 因此可以达到更快的收敛效果. 状态值函数的更新方式为:
$$ V(s_t)\leftarrow\alpha V(s_t)+(1-\alpha) (r_{t+1}+\gamma V(s_{t+1})) $$ (8) 其中,
$ \alpha $ 为更新速率, 满足$ 0<\alpha<1 $ . 时间差分学习采用上一次的估计值来更新当前状态值函数, 这种方法也称作自举法(Bootstrapping). 在大多数情况中, 自举法的学习速度要快于非自举方法. 时间差分学习方法旨在获得值函数, 当面临控制决策问题时, 状态–动作值函数对于动作的选择更具有指导意义. 基于状态–动作值函数使用时间差分学习的算法主要分为SARSA学习和Q学习. SARSA学习算法是一种同策略(On-policy)的学习算法, 即评估策略和实际执行策略是同一个策略, 采用如下方法进行状态–动作值函数的估计:$$ \begin{split} Q(s_t,a_t)\leftarrow & \alpha Q(s_t, a_t)+(1-\alpha) (r_{t+1} + \\ &\gamma Q(s_{t+1},a_{t+1}) ) \end{split} $$ (9) 其中,
$ a_{t+1} $ 是下一步实际执行的动作. Q学习也称为行为依赖启发式动态规划(Action-dependent heuristic dynamic programming, ADHDP)[19]. 与SARSA算法对Q函数的更新方式不同, Q学习使用贝尔曼最优性原理使当前值函数直接趋近于最优策略的值函数, 更新方法如下:$$ \begin{split} Q(s_t,a_t)\leftarrow & \alpha Q(s_t, a_t) +(1-\alpha) (r_{t+1} +\\ &\gamma \max\limits_{a'} Q(s_{t+1},a') ) \end{split} $$ (10) 这里
$ a' $ 是在状态$ s_{t+1} $ 下使Q函数最大的动作. 由于Q学习中值函数评估的策略与实际执行策略不同, 因此是一种异策略(Off-policy)学习算法. 通过适当设计Q函数和更新方法, Q学习可以在未知模型信息条件下获得线性系统的最优策略.1.3 策略梯度法
蒙特卡洛法和时间差分法都是基于值函数的方法, 实际使用中常采用表格来存储状态或状态–动作值函数, 因而对于具有较大动作空间的复杂问题是比较低效的. 策略梯度方法不依赖值函数, 直接将策略
$ \pi $ 参数化为$ \pi(s|\theta) $ , 然后计算出关于策略性能指标的梯度. 根据梯度方向, 调整策略参数, 最终得到最优策略[20]. 参数化策略可以分为随机性策略$ \pi(s|\theta) = P[a|s, \theta] $ 和确定性策略$ a = \mu(s|\theta) $ , 并设置策略目标函数$ J(\theta) $ 对参数化策略进行评价. 对于随机性策略, 当前状态$ s $ 的动作$ a $ 服从参数为$ \theta $ 的某个概率分布. 而对于确定性策略, 每个状态对应的动作是确定的. 根据策略梯度定理, 随机性策略梯度表示为[21]:$$ \nabla_{\theta}J(\theta) = {\rm E}_{s,a\sim\pi} [\nabla_{\theta}\ln\pi (s|\theta)Q_{\pi}(s,a) ] $$ (11) 确定性策略梯度表示为[22]:
$$ \nabla_{\theta}J(\theta) = {\rm E}_{s,a\sim\mu} [\nabla_{\theta}\mu(s|\theta)\nabla_a Q_{\mu}(s,a)|_{a = \mu(s|\theta)}] $$ (12) 梯度计算时, 需要真实的状态–动作值函数
$ Q_{\pi}(s,a) $ 或$ Q_{\mu}(s,a) $ , 然而实际上该函数是未知的. 一种方法是使用一定步数的回报值作为状态–动作值函数的估计. 另一种方法是使用执行器–评价器结构[23-24], 使用评价器(Critic)以拟合状态–动作值函数, 使用执行器(Actor)表示策略. 评价器表示为参数$ w $ 的函数$ Q(s,a|w) $ , 并使用时间差分方法更新. 时间差分误差$ \delta_t $ 表示为:$$ \delta_t = r_t+\gamma Q(s_{t+1}, a_{t+1}|w)-Q(s_{t}, a_{t}|w) $$ (13) 评价器参数
$ w $ 的更新公式为:$$ w \leftarrow w + \alpha\delta_t \nabla_w Q(s_t,a_t|w) $$ (14) 将学习得到的评价器函数
$ Q(s,a|w) $ 代替真实的值函数$ Q_{\pi}(s,a) $ 或$ Q_{\mu}(s,a) ,$ 代入策略梯度公式完成对策略的更新. 另外, 执行器–评价器结构也可以采用同策略或者异策略两种形式进行实施.2. 深度强化学习
深度强化学习融合了深度学习的感知能力和强化学习的决策能力, 用于解决高维决策问题[25-27]. 图2是深度强化学习的基本原理.
2.1 深度Q网络
2015年, Mnih等将卷积神经网络与Q学习技术相结合, 提出了深度Q网络, 完成了由屏幕原始像素到控制输出的端到端感知与决策过程, 并且在Atari视频游戏中达到甚至超过了人类的水平. 具体地, 深度Q网络在每个时间步对当前状态所有动作的状态–动作值进行估计, 当学习完成后, 只需要在每一步选择最大状态–动作值对应的动作为最优策略[28].
深度Q网络采用深度神经网络拟合状态–动作值函数, 其网络参数表示为
$ w, $ 通过训练逼近最优策略对应的状态–动作值函数. 从数学角度, 深度Q网络采用梯度下降的方法最小化如下代价函数$ L(w) \!:$ $$ L(w) = {\rm E} [(r+\gamma\max\limits_{a'}Q(s',a'|w)-Q(s,a|w))^2] $$ (15) 其中,
$ a $ 和$ s $ 是当前时刻动作和状态,$ a' $ 和$ s' $ 是下一时刻动作和状态,$ r $ 是奖励信号. 当采用神经网络进行值函数拟合时, 样本的相关性会带来训练过程的不稳定[29]. 为了降低样本的相关性, Mnih等引入了参数为$ w' $ 的目标网络, 目标网络的参数每$ N $ 步与Q网络同步一次. 另外, 将与环境交互的样本$ (s,a,r,s') $ 都保存在经验回放池$ {\cal{D}} $ 中, 在每次更新时, 从经验回放池中随机抽取多个交互样本进行批量式训练. 由此, 代价函数(15)表示的训练过程可以进一步写为:$$\left\{ \begin{array}{l} {\nabla _w}L(w) = {{{\rm E}}_{s,a\sim{\cal{D}}}}[(y - Q(s,a|w)){\nabla _w}Q(s,a|w)]\\ y = r + \gamma \mathop {\max }\limits_{a'} Q(s',a'|w')\\ w' \leftarrow w\;\;\;{\rm{for}}\;{\rm{every}}\;N\;{\rm{steps}} \end{array} \right.$$ (16) 深度Q网络已经较好地解决强化学习中的维数灾问题, 在后续的研究中, 研究人员基于深度Q网络提出了各种改进方案.
Hasselt等提出双深度Q网络算法(Double deep Q-network, DDQN), 是对深度Q网络进行改进的一种重要算法[30-31]. 该算法将动作选择和动作评价使用两个Q网络分开执行, 以避免对状态–动作值的过高估计. 具体地, 使用深度Q网络选择状态–动作值最大的动作, 同时使用目标网络评价该动作, 其代价函数
$ L_{D}(w) $ 可以写为:$$ \begin{split} L_{D}(w) =\, &{\rm E} [ (r + \gamma Q(s',\arg \mathop {\max }\limits_{a'} Q(s',a'|w) |w') -\\ &Q(s,a|w))^{2}]\\[-10pt] \end{split} $$ (17) 经验回放在深度Q网络中可以有效打破数据之间的关联, 具有很重要的作用, 但那些稀有的重要样本却常常没有得到重视. 完全随机选择样本并不是一个最优的选择, 一些重要的、与最终目标相关的样本应当更经常地被采样并用于训练, 而常见的样本则无需经常回放. 基于此发现, Schaul等提出了优先经验回放算法[32], 使得第
$ k $ 个经验样本被采样的概率依赖于其优先度函数$ p_k $ :$$ \begin{split} p_k =\,&\big |r_k + \gamma Q(s'_k, {\rm{arg}} \max\limits_{a'} Q(s'_k, a'|w)|w') -\\ &Q(s_k, a_k|w)\big| \end{split} $$ (18) 其中,
$ a_k $ 和$ s_k $ 是第$ k $ 个经验样本的动作和状态,$ r_k $ 和$ s'_k $ 第$ k $ 个经验样本的奖励信号和下一时刻状态.深度Q网络的策略评估过程常常会遇到大量冗余策略的情况. 例如在一种情形下, 常会出现两种以上的动作选择, 而这些动作并不会导致不同的结果. 由此, Wang等提出了一种竞争网络结构[33], 包括两个共存的网络. 一个参数为
$ \phi $ 的网络用于估计状态值函数$ V(s|\phi) $ , 另一个参数为$ \varphi $ 的网络用于估计优势状态–动作值函数$ A(s,a|\varphi) $ , 这两个网络通过下式进行值函数的拟合:$$ Q(s,a) = V(s|\phi)+(A(s,a|\varphi)-\max\limits_{a'}A(s,a'|\varphi) ) $$ (19) 深度Q网络可以使用部分历史数据作为输入, 以解决对历史数据有一定依赖的任务, 但不能有效处理长期历史数据依赖问题. 文献[34]对于这类部分可观马尔科夫决策过程, 将卷积神经网络之后的全连接层改为递归神经网络. 这种对于深度Q网络的改进算法称为深度递归Q网络(Deep recurrent Q-network, DRQN). 该方法在一些依赖历史数据的游戏中取得了远超过深度Q网络的效果. 进一步, Lample等在DRQN的网络结构上额外加入了游戏特征, 用DRQN结构在Doom游戏环境中超过了平均人类玩家的水平[35]. 另一种重要改进是在DRQN结构的基础上引入了注意力机制, 提出深度注意力递归Q网络(Deep attention recurrent Q-network, DARQN)[36]. 这种结构使策略网络更加关注重要特征, 从而使用较小的网络规模可以完成相同的任务, 有效提高了训练速度.
2.2 深度策略梯度
深度Q网络通常只应用于离散动作空间的问题, 在选择每一步动作时, 需要找到使状态–动作值函数最大的动作. 如果在连续动作空间上, 需要在每一步进行迭代优化, 耗费大量的计算时间. 针对这个问题, Lillicrap等将DQN的经验回放机制和目标网络机制与确定性策略梯度算法(Deterministic policy gradient, DPG) 相结合, 提出了一种使用执行器-评判器结构的深度强化学习算法, 即深度确定性策略梯度(Deep deterministic policy gradient, DDPG)算法, 有效弥补了DQN只能用于离散动作空间的问题[37].
DDPG使用了执行器-评判器结构, 执行器网络和评判器网络分别表示为
$ \mu(s|\theta) $ 和$ Q(s,a|w) $ ,$ \theta $ 和$ w $ 分别为其网络参数. 两个网络分别有其对应的目标网络, 其参数分别为$ \theta' $ 和$ w' $ . 在状态空间的探索方面, 由于DDPG算法是异策略的方法, 因此可以通过构建一个额外加入噪声项$ \rho $ 的探索策略$ \widehat{\mu}(s_t|\theta) = \mu(s_t|\theta)+\rho $ 来进行探索. 最终, DDPG的执行器网络和评判器网络的更新公式为:$$ \left\{ \begin{array}{l} \delta = r + \gamma Q(s',\mu (s'|\theta ')|w') - Q(s,a|w)\\ w \leftarrow w + {\alpha _w}\delta {\nabla _w}Q(s,a|w)\\ \theta \leftarrow \theta + {\alpha _\theta }{\nabla _\theta }\mu (s|\theta ){\nabla _a}Q(s,a|w){|_{a = \mu (s|\theta )}} \end{array} \right.$$ (20) DDPG算法简洁易用, 可以很容易应用到高维的连续状态和动作空间上. 但DDPG在应用中却存在着训练低效的问题, 需要大量的训练样本和较长的训练时间才能收敛到稳定的策略.
DQN和DDPG都使用了经验回放机制, 在高维复杂问题中需要使用大量的存储和计算资源. 针对该问题, Mnih等提出了另一种思路来代替经验回放机制, 即创建多个智能体, 在不同线程上的相同环境中进行并行学习. 每个智能体使用不同的探索策略并进行参数的更新, 从而减少了经验数据在时间上的关联, 因此不需要通过经验回放机制也能够实现稳定的学习. 该方法结合SARSA学习、Q学习以及执行器–评价器结构可以有多种实施方法, 其中使用执行器–评价器结构的异步执行的方式具有最好的效果, 被称为A3C (Asynchronous advantage actor-critic)算法[38]. 该算法包括一个全局执行器–评价器网络和多个对应于每个线程的执行器–评价器网络. 两种网络结构相同, 均为双输出的神经网络结构, 网络的一个输出表示策略, 另一个输出表示状态值函数. 全局策略和值函数分别表示为
$ \pi(s|\theta) $ 和$ V(s|\phi) ,$ 每个线程的策略和值函数分别表示为$ \pi(s|\theta') $ 和$ V(s|\phi'), $ 其中$ \theta, \theta' , \phi $ 和$ \phi' $ 为网络的参数. 每执行$ n $ 步或者达到某个终止状态时进行一次网络更新, 首先计算每个线程的值函数梯度和策略梯度, 然后将它们分别相加, 对全局的网络参数进行更新, 随后再复制给每个线程的网络. 另外, 在执行网络的参数梯度中加入了策略的熵正则化项$ \nabla_{\theta'}H(\pi(s_t|\theta')) ,$ 其中$ H(\pi(s_t|\theta')) $ 是熵[39], 可以增强算法在状态空间中的搜索效果, 避免策略过早收敛于某个确定的次优策略.在上述深度学习算法的应用中, 尽管采用了很多方法来保证其训练的稳定性, 但往往无法保证其策略的性能总是向更好的方向更新. 对于该问题, Schulman等提出了一种保证单调改进的TRPO (Trust region policy optimization)算法[40]. TRPO算法通过引入由散度定义的置信区域约束, 来选取合适的更新补偿, 保证策略总向着更好的方向更新, 并在机器人游泳、跳跃、行走等任务的仿真环境中表现出良好的性能.
2.3 学习系统闭环控制
基于强化学习和深度强化学习的系统, 可以考虑是未来智慧系统的雏形. 人工智能与被控系统结合, 构建具有类脑智能的智慧系统, 是系统控制的高级目标. 古人云“学而时习之”、“温故而知新”, 无论是经典控制理论中最核心的“反馈”概念, 还是在上述学习算法中体现出来的“执行–评价”过程、“经验回放”思想等, 都关注了对既往累积知识的使用和再学习. 图3概括了学习系统闭环控制框架, 统称为“习件”(Relearnware), 包含与环境交互和感知, 基于输入和感知知识的学习, 自身累积知识的温习和反馈过程, 以及智能系统的更新进化.
“习件”的思想体现了系统交互(Interaction)、感知(Cognition)、学习(Learn)、反馈(Feedback)、进化(Evolution) 能力. 具体来说, 交互能力增强了系统在动态、开放、复杂环境中的适应性. 感知能力增强了系统对有效信息的获取, 能够有效应对耦合、相关、不完整、非结构化信息. 学习能力是基于当前的交互、感知等输入信息, 通过智能计算获取决策的能力. 反馈能力有效对系统累积知识进行温习和回顾, 对学习决策进行指导和评估; 反馈机制的增加, 有助于提高系统学习的效率和优化学习决策, 同时提高决策的安全性, 是形成高效安全可信智能系统的重要步骤. 进化是学习系统基于自身累积的知识和核心学习算法, 形成有效的智能进化范式, 实现具有类脑智能的智慧系统.
3. 多智能体深度强化学习
多智能体系统中每个智能体的策略不只取决于自身的策略和环境的反馈, 同时还受到其他智能体行为和合作关系的影响[41]. 例如, 若智能体对环境有完全的观测能力, 则每个智能体可以在时间步
$ t $ 获得全局状态, 并且通过自身的策略选择动作. 当智能体由于实际条件限制只有局部观测能力时, 每个智能体只能利用其局部观测值通过自身策略选择动作. 若智能体之间是合作关系时, 所有智能体为着一个相同的目标而努力, 在时间步$ t $ 每个智能体获得的奖励是相同的. 当智能体之间相互竞争, 或者分组竞争时, 每个智能体则会得到不同的奖励值. 多种不同的具体情况使得多智能体强化学习更加复杂. 本节首先介绍几种常见的算法结构, 然后探讨环境非静态性、部分可观性、通信设计、算法稳定性与收敛性等几类重点问题.3.1 学习算法结构
独立式学习和集中式学习是将单智能体强化学习方法直接推广到多智能体系统中的两种思路. 独立式学习方法对每个智能体分别使用强化学习算法, 而将其他智能体看作环境的一部分. 独立式Q学习算法(Independent Q-learning, IQL)是一个典型的例子, 在学习过程中, 每个智能体获得其局部观测, 并且向着最大化整体奖励值的方向调整每个智能体的策略[42], 即每个智能体独立的执行Q学习算法. 由于每个智能体在学习的过程中, 其他智能体的策略同时发生变化, 打破了环境静态性的假设, 该方法在离散状态–动作空间下的小规模问题上具有一定的效果[43], 对复杂问题无法获得理想的效果. 集中式学习方法将所有智能体的状态和动作集中在一起, 构成一个扩张的状态和动作空间, 并直接使用单智能体的强化学习算法[44-45]. 但随着智能体数量的增加, 会导致状态和动作空间过大, 以至于无法进行有效的探索和训练. 因此, 近期对于多智能体强化学习的研究, 一般都寻求一种分布式的方法, 以避免过大的状态和动作空间[46].
“集中式训练–分布式执行”是当前常用的一种多智能体强化学习算法结构. 在训练时, 所有的智能体采用集中式结构进行训练, 每个智能体可以通过无限制开放的信道获得其他智能体的信息. 在训练结束之后则执行分布式策略, 每个智能体只能通过自身的观测和有限信道传来的其他智能体的信息进行动作的选择[47]. 由于多智能体强化学习常在模拟环境中进行训练, 因此智能体之间的通信不受实际硬件条件的限制, 而且易于获得额外的环境状态, 便于这种集中式训练–分布式执行的结构的实际应用. 因此, 这种结构也被认为是多智能体强化学习领域的典型学习结构之一.
Lowe等提出了多智能体深度确定性策略梯度算法(MADDPG), 将经典的DDPG算法扩展到多智能体领域, 使用了集中式训练–分布式执行的结构, 每个智能体均有执行器网络和评价器网络[48]. 在训练中, 评判器网络可以获取全局信息, 并对执行器网络的更新提供指导. 在测试中, 执行器网络根据其局部信息进行动作的选择. 此外, 该方法还引入了额外的网络用于预测其他所有智能体的策略, 并在多种合作和竞争的任务中取得了较好的效果. 基于MADDPG算法, 还有多种类似的拓展和补充性的工作[49-50]. Foerster等提出了一种反拟多智能体策略梯度(Counterfactual multi-agent policy gradients, COMA)算法, 将一个智能体的奖励表示为当前状态下的整体奖励与该智能体替换动作之后的整体奖励之差[51]. 与MADDPG方法不同, COMA方法使用了一个全局的评判函数对当前的全部动作和状态进行评价, 提高了训练中信息共享效率和智能体之间的协作能力. 由于全局评判函数的使用, 该方法同样使用了集中式训练–分布式执行的结构. COMA的不足之处是只能用于离散的动作空间, 而不能像MADDPG一样可用于连续动作空间.
尽管集中式训练–分布式执行的结构具有诸多优势, 但是随着智能体数量的增加, 集中式训练中评价器网络规模会快速增长, 因而无法处理大规模多智能体的学习问题. 针对这类问题, 带有信息共享的完全分布式学习结构更加有效[52-53]. 在这种结构中, 多个智能体通过稀疏的网络拓扑进行信息共享, 共享的内容主要有原始观测, 表示策略的参数或者梯度, 表示值函数的参数或者梯度, 以及以上几种内容的组合. 此外, 信息也可以是智能体通过学习得到的通信策略产生的内容, 对于这种通信方式, 将在后面进行详细的综述.
3.2 环境非静态性
在单智能体强化学习中, 仅需要根据自身动作和环境交互即可完成学习任务. 而当环境中存在多个智能体时, 每个智能体不仅观测其自身的动作对环境造成的影响, 同时也会观测其他智能体的动作对环境的影响[54]. 更重要的是, 每个智能体在环境中同时也进行学习, 改变自身的策略, 进而导致了从每个智能体的角度出发, 环境都具有非静态性.
在这种情况下, 通过学习改变其中一个智能体的策略会影响其他智能体最优策略的选取, 同时对于智能体值函数估计也会不准确. 换句话说, 当前情况下的最优策略, 随着其他智能体学习和策略的更新, 在未来的情况下将不再是最优策略[55], Q学习等应用于传统单智能体的强化学习方法, 在多智能体环境中将不能保证算法的收敛性. 由于上述原因, 无论独立式Q学习算法或者近年来提出的经验回放深度Q网络算法[56], 均不适用于非静态环境的问题.
为解决多智能体强化学习中非静态环境问题, 基于DQN算法提出了多种改进方案. Abdallah等基于重复更新Q学习(Repeat update Q-learning, RUQL)算法, 提出深度重复更新Q网络(Deep repeated update Q-network, DRUQN)[57-58], 通过与选择动作概率成反比的方法, 来更新动作值避免策略的偏差. 基于松耦合Q学习方法[59], 深度松耦合Q网络(Deep loosely coupled Q-network, DLCQN)引入独立程度的概念, 通过观测信息和负值奖励信息为每个智能体调整独立程度, 智能体可以在不同情况中通过学习来决定独立行动还是与其他智能体进行合作. Diallo等将DQN扩展为多智能体并行DQN, 并展示该方法可以在非静态环境中收敛[60]. Foerster等提出在多智能体环境下使用经验回放机制的DQN算法, 主要是给经验加入额外信息来辅助多智能体的训练过程[61], 包括两种具体解决方法: 1)使用重要性采样方法来剔除过时数据; 2)通过在经验中加入更多信息来确定经验池中回放样本的“年龄”. 类似的方法还有Palmer等提出的宽松DQN (Lenient DQN, LDQN)算法, 用以解决多智能体同时学习而导致的策略不稳定问题[62], 并在多智能体协同运输任务中与滞回DQN (Hysteretic DQN, HDQN)算法进行了对比, 表明LDQN算法在随机奖励环境中能够收敛到比HDQN算法更好的控制策略[63]. Zheng等将上述宽松条件机制与经验定期回放机制结合, 提出了加权DDQN (Weighted DDQN)算法, 以应对多智能体环境中的非静态环境问题, 对随机奖励的两个智能体, 通过仿真验证了WDDQN相对于DDQN具有更好的性能[64].
3.3 部分可观性
在多数任务中, 每个智能体并不能得到全部环境信息, 而只能对部分环境信息进行观测, 这类问题可以使用部分可观马尔科夫决策过程(Partially observable Markov decision process, POMDP)进行建模和研究[65]. 针对部分可观测问题和POMDP模型, 已经有一些解决方案. Hausknecht等提出了深度递归Q网络(Deep recurrent Q-network, DRQN) 算法[34], 使用DRQN方法的单智能体能够在部分可观的环境中以鲁棒的方式学习并改进策略. 与传统的DQN算法不同, DRQN通过递归神经网络近似
$ Q(o, a) $ , 即观测值$ o $ 和动作值$ a $ 的状态–动作值函数, 同时DRQN将网络的隐层状态视为环境的内部状态, 将隐层状态也包含在状态–动作值函数中, 然后再使用与DQN类似的方法进行值函数的更新.Foerster等将DRQN算法扩展为深度分布式递归Q网络算法(Deep distributed recurrent Q-network, DDRQN), 用以处理多智能体部分可观测和POMDP问题[66]. DDRQN算法主要有三个特点: 1)将每个智能体上一时间步的动作作为本时间步的输入状态的一部分; 2)在学习过程中所有智能体共享同一个Q网络; 3)相比于DQN算法, 不使用经验回放机制. DDRQN通过共享Q网络的方法, 可以大大减少网络参数的数量, 提高学习速度. 但该方法的一个重要局限在于假设所有的智能体动作集是相同的, 因此DDRQN方法不能应用于异构多智能体优化控制问题中.
Hong等提出深度策略推理递归Q网络(Deep policy inference recurrent Q-network, DPIRQN), 也使用了递归神经网络以应对部分可观性的问题[67]. DPIRQN通过引入辅助任务和额外学习目标, 对其他智能体的策略进行学习. 在训练中, 自适应调整更加重视对其他智能体策略的学习, 还是更加重视对自身策略的优化. 这种算法使得每个智能体的值函数一定程度上依赖其他智能体的策略, 减小了环境的非静态性对学习带来的不利影响, 可同时应用于多智能体合作和竞争两种任务中.
3.4 基于学习的通信
在有些分布式的学习结构中, 智能体之间通过通信网络共享观测数据、策略参数、策略梯度等信息, 最终完成智能体之间的合作. 与这种指明通信内容的方法不同, 另一种用于多智能体强化学习的通信方式是基于学习的通信方式. 智能体通过学习算法, 逐渐学习一种通信策略. 智能体的通信策略可以根据当前状态决定什么时候发送信息, 发送什么种类的信息, 发送信息的内容以及接收信息的目标智能体.
文献[68]最早给出了这种基于学习的通信方式, 多智能体通过Q学习确定给其他智能体发送信息的内容并完成离散状态和动作空间下的合作追捕问题. 近年来, 基于学习的通信结合值函数拟合方法的研究在多智能体强化学习领域得到了很大的发展. Foerster等基于集中式训练–分布式执行结构, 提出了智能体间强化学习(Reinforced inter-agent learning, RIAL)方法和智能体间可微学习(Differentiable inter-agent learning, DIAL)方法, 引入了智能体基于学习的通信策略[69]. 智能体选择控制动作来改变自己的状态, 同时也选择通信动作来影响其他智能体的动作. 在RIAL方法中, 通过在深度Q网络中引入循环神经网络, 解决部分可观察性问题. 在训练中, 所有的智能体共享同一个深度Q网络来得到控制动作和通信动作的值. 在测试中, 每个智能体将训练得到的深度Q网络复制到本地, 并独立进行控制动作和通信动作的选择, 从而完成分布式的执行. DIAL方法在深度Q网络中建立一条可微信道, 不再使用离散的通信动作, 可以在训练中将一个智能体的梯度信息推送到与其连接的智能体中, 大大增强了学习中的反馈作用, 提高了训练的效果. Sukhbaatar等使用了类似的通信方法, 提出了一种多智能体强化学习通信网络, 称CommNet模型[70], 同样建立了可微信道, 并使用反向传播算法进行训练. 不同的是, 所有智能体共享同一个信道, 每个智能体接收到的是特定范围内所有智能体发送的通信消息的数值之和. 该方法在十字路口模拟调度和网格地图模拟战斗等任务中进行了测试, 取得了很好的效果.
3.5 算法稳定性与收敛性
在多智能体深度强化学习领域, 使用深度网络表示值函数和策略, 给多智能体系统的控制和决策带来了更为通用的方法, 使其能够应用于更多复杂的环境. 然而, 随着智能体数量的增加, 多智能体系统的联合状态–动作空间呈指数增长, 深度网络的复杂性也快速增加, 极大增加了深度强化学习算法的探索难度, 甚至使算法最终无法收敛. 总的来说, 多智能体深度强化学习方法的稳定性和收敛性问题, 既受到深度学习方法本身的限制, 也受到多智能体系统和其所在环境的限制, 至今仍是一个开放性的难题.
当强化学习算法用于多智能体一致性问题时, 常常会遇到算法的稳定性和收敛性问题. 在这种问题中, 每个智能体只能获得本地的观测, 同时通过通信网络获得相邻智能体的信息, 当值函数等的拟合采用线性函数或一般神经网络时, 可以得到一些理论上的稳定性和收敛性结果. 文献[71]使用执行器–评价器算法结构, 使得所有智能体的一致性误差最小, 给出了一致性误差的理论上界, 并且讨论了在已知系统动态的情况下得到最优控制器的可行性. 文献[72]针对多智能体强化学习问题提出了一种分布式执行器–评价器算法, 该方法假设所有的智能体都在本地保持对全局最优策略的估计, 并且独立更新本地的值函数. 通过引入额外的一致性处理方法, 使所有的智能体最终渐近收敛于全局最优策略, 同时进行了算法收敛性分析.
4. 多智能体深度强化学习的应用
多智能体深度强化学习方法在多个领域有广泛的应用前景, 如无人驾驶、智能仓储、生产调度、资源访问控制等领域. 下面讨论几个具有广阔应用前景, 尚需进一步发展的应用领域.
4.1 社区能源管理和共享问题
多智能体强化学习方法近年来被引入社区能源管理和共享问题中[73-74]. 相比于随机能源共享方法, 采用多智能体深度强化学习方法, 在社区能源平衡调度方面具有明显的优势. Prasad等在包含多个绿色建筑物的零能耗社区中, 将每一栋绿色建筑物抽象成一个深度强化学习的智能体, 设计奖励函数与整个社区中的能源净消耗量有关, 通过学习执行合理的动作与其他绿色建筑物共享能源, 使所有建筑物在一年内的总耗电量小于其可再生能源的发电量[75]. 但该方法仅应用于最多十个建筑物的社区能源共享调度上, 没有测试更大规模的社区, 也没有考虑电价变动带来的影响.
4.2 任务分配与调度
任务分配和任务调度问题, 通常需要通过多次迭代规划来获得最优解, 而复杂任务的分配和规划问题, 采用经典的规划方法往往难以获得可行的方案, 如复杂环境导航等问题[76-77]. Lin等基于执行器-评判器结构和深度Q学习算法, 提出使用多智能体强化学习方法研究大规模车队高效调度问题[78]. 论文将车辆建模为智能体, 使用网格对区域进行描述, 通过地理信息嵌入的方式建立智能体之间明确的合作关系, 仿真表明该方法用于车队调度可以减少交通拥塞, 提高运输效率. Noureddine等使用合作式多智能体深度强化学习方法研究任务分配问题[79], 使多个智能体能够在一个疏松耦合的分布式环境中请求其他智能体的帮助, 通过多个智能体之间的交互最终达到高效的任务分配.
4.3 机器人集群控制
机器人集群控制, 是目前多智能体深度强化学习方法的应用研究热点. Hüttenrauch等将机器人集群系统建模为分布式POMDP, 并使用执行器–评判器结构对机器人集群系统进行协同控制[80]. 该方法通过视频信息描述整个机器人集群的状态, 并作为一个全局信息用于估计系统的值函数. 每个机器人在环境中的观测范围有限, 通过合作方式, 可以完成协同搜救和装配等复杂的任务. Kurek等基于DQN算法, 对每个智能体使用不同的Q网络和独立的经验回放池, 研究异构机器人合作问题[81]. 尽管该方法能够在游戏环境中有效提高机器人合作的得分, 然而其训练速度远远落后于同构机器人的情况. 期望在不久的将来, 可以看到多智能体强化学习方法在机器人集群控制中相关的实际应用.
4.4 社会学与博弈
社会学中的一些问题, 如具有代表性的囚徒困境的例子等, 反映个体最佳选择和团体最佳选择的博弈. 近年来, 多智能体强化学习的方法也被用于一些社会学问题的研究中. Leibo等提出一种连续社会困境(Sequential social dilemma, SSD)概念, 并建立了SSD模型. 该问题无法使用一般的规划和进化的方法对均衡点进行求解, 使用独立DQN的学习方法可以模拟博弈中智能体的决策方式, 从而寻找到SSD的均衡点[15]. Perolat等对于公共池塘资源(Common-pool resource, CPR)占用问题[82], 使用多个独立学习的DQN智能体在CPR环境进行学习, 通过不断试错和调整每个智能体的奖励方式, 最终得到CPR占用问题的最优解.
5. 未来研究方向
5.1 复杂任务的MADRL
多智能体深度强化学习方法, 具有强大的理解、决策和协调能力, 被期望是解决复杂任务问题的有效方法. 然而, 这些方法尚未在多智能体环境中进行全面的研究. 比如, 逆强化学习(Inverse reinforcement learning)作为模仿学习的方法之一, 在单智能体深度强化学习中是有效的[83]. 模仿学习和逆强化学习方法可以减少学习时间并提高策略的有效性, 有巨大的应用潜力[84-85]. 但逆强化学习假设关于未知奖励函数的策略是最优的, 并且需要从演示中推断出奖励函数. 将逆强化学习方法延伸到MADRL领域需要表示和建模能够共同演示任务的多位专家以及专家的交流和推理. 面对具体复杂任务, 深入融合目标任务、学习方法和通信规则, 设计出符合特定任务要求的高效智能算法, 是未来多智能体深度强化学习方法重要的发展方向之一.
5.2 基于模型的MADRL
无模型深度强化学习方法能够解决单智能体和多智能体中的许多问题, 但是, 此类方法通常应用于确定的、静态的任务, 且需要大量样本和较长的学习时间才能获得良好的性能. 对于不确定和动态任务, 基于模型的多智能体深度强化学习方法已经在样本效率、可转移性和通用性等方面展现出有效性. 尽管最近在单智能体中研究了一些基于模型的深度强化学习方法[86-90], 但这些方法尚未在多智能体中得到广泛研究. 所以, 可以在基于模型的多智能体强化学习方向做更多的研究探索. 此外, 结合基于模型的方法和无模型方法, 设计多智能体深度强化学习方法, 也是尚未被充分研究的领域.
5.3 通信受限的MADRL
大型系统中异构智能体协调与协作一直是多智能体强化学习领域的主要挑战. 在具有许多异构智能体的环境中, 由于个体具有共同的行为, 例如动作、领域知识和目标, 因此可以通过集中训练和分散执行, 来实现异构个体的控制[91-92]. 在异构个体之间通信困难, 或者同构个体之间通信受限的情况下, 如何设计深度强化学习算法中的目标函数、奖励策略、学习和通讯机制等[93], 实现通信受限下的多智能体高效协调与协作, 提供最佳决策方案并最大程度地完成任务, 是非常值得研究的问题.
5.4 人机交互的MADRL
深度强化学习一定程度赋予了机器自主理解、学习和决策的能力, 但是, 在复杂和对抗环境中, 需要将人的智能与机器智能结合在一起[94]. 传统的“人在回路”设置中, 智能体会在一段时间内自主执行其分配的任务, 然后停止并等待人工命令, 此后以这种限速方式循环操作. 在循环中, 智能体可以自动执行任务, 直到任务完成为止, 而扮演监督角色的人员保留干预执行操作的能力[95]. 当循环快速进行, 外界环境发生突变时引入人工干预, 机器可能无法及时作出反应. 面对这类问题, 如何基于多智能体深度强化学习方法, 适时引入人的判断和经验, 整合人和机器的智能, 提高人与机器交互的能力, 也是未来值得研究的方向.
6. 结论
本文阐述了强化学习和深度强化学习的基本原理与研究现状, 总结提出了包含交互、感知、学习、反馈和进化的学习系统闭环控制框架, 强调了反馈在学习控制中的作用. 分析了多智能体深度强化学习的算法结构和存在的主要困难, 考察了在零能耗社区的能源共享、任务分配调度、机器人集群控制等相关应用领域的研究进展. 多智能体强化学习领域的理论研究日渐深入, 需要付出更多的时间和努力来探索多智能体强化学习理论的应用载体和相关技术, 并与具体任务相结合, 切实推进人工智能理论和技术的发展.
-
表 1 数据流特征
Table 1 Data stream feature
编号 数据流 样本数 特征数 类别数 类分布 异常点(%) 漂移次数 1 DS1 400000 25 15 类平衡 0 0 2 DS2 400000 25 15 类平衡 5 3 3 DS3 400000 25 15 (1/1/1/1/1/1/1/1/1/1/2/2/3/3/5) 0 0 4 DS4 400000 25 15 (1/1/1/1/1/1/1/1/1/1/2/2/3/3/5) 5 3 5 DS5 400000 25 15 (1/1/1/1/1/1/1/1/1/1/2/2/3/3/5), 0 0 (2/2/3/3/5/1/1/1/1/1/1/1/1/1/1) 6 DS6 400000 25 15 (1/1/1/1/1/1/1/1/1/1/2/2/3/3/5), 5 3 (2/2/3/3/5/1/1/1/1/1/1/1/1/1/1) 7 DS7 400000 25 50 类平衡 5 3 8 Kddcup99_10% 494000 42 23 — — — 9 Shuttle 570000 10 7 — — — 10 PokerHand 830000 10 10 — — — 表 2 概念漂移数据流特征
Table 2 Concept drift data stream feature
编号 数据流 概念漂移类型 样本数 特征数 类别数 漂移宽度 1 DS8 突变型 400000 25 15 1 2 DS9 重复型 400000 25 15 1 3 DS10 增量型 400000 25 15 10000 4 DS11 逐渐型 400000 25 15 10000 表 3 7种算法的P值(%)
Table 3 P value of seven algorithms (%)
数据流 LB BOLE ARFRE CALMID OALM-IDS ALM-ICDDS-E ALM-ICDDS DS1 96.89±0.31 96.36±0.11 98.07±0.43 98.01±0.41 98.03±0.25 97.18±0.48 99.07±0.34 DS2 90.61±0.21 88.63±0.54 92.77±0.42 93.31±0.14 93.27±0.49 91.97±0.26 94.64±0.15 DS3 94.41±0.11 96.07±0.23 96.74±0.45 96.64±0.34 96.75±0.56 96.46±0.61 97.84±0.24 DS4 86.91±0.45 85.23±0.52 88.30±0.29 89.90±0.28 90.27±0.42 89.70±0.72 92.06±0.28 DS5 93.60±0.48 94.04±0.52 96.30±0.18 94.65±0.49 95.47±0.32 94.24±0.35 96.17±0.19 DS6 86.59±0.19 84.69±0.48 88.02±0.47 88.44±0.19 88.65±0.25 87.41±0.40 90.86±0.37 DS7 88.25±0.86 87.21±0.79 90.16±0.92 90.49±0.47 90.51±0.53 89.32±0.38 93.67±0.40 Kddcup99_10% 83.85±0.59 81.10±0.15 85.56±0.54 92.12±0.45 92.13±0.31 91.24±0.51 95.80±0.17 Shuttle 64.63±0.42 63.85±0.27 79.07±0.31 85.35±0.14 85.70±0.32 83.48±0.25 85.99±0.13 PokerHand 51.63±0.39 50.36±0.35 52.51±0.56 53.93±0.28 54.57±0.50 52.90±0.18 55.89±0.51 表 6 7种算法的${\rm{Kappa }}$值(%)
Table 6 ${\rm{Kappa }}$ value of seven algorithms (%)
数据流 LB BOLE ARFRE CALMID OALM-IDS ALM-ICDDS-E ALM-ICDDS DS1 95.09±0.43 95.47±0.26 97.11±0.33 97.84±0.18 97.52±0.50 96.31±0.53 98.72±0.18 DS2 89.66±0.50 88.28±0.45 91.80±0.17 92.55±0.25 92.65±0.28 91.27±0.29 93.56±0.46 DS3 93.08±0.13 95.68±0.22 95.62±0.53 96.50±0.46 96.46±0.60 96.05±0.36 97.69±0.21 DS4 86.97±0.46 85.86±0.13 88.18±0.25 89.94±0.24 89.99±0.36 88.61±0.46 90.19±0.57 DS5 92.32±0.37 94.18±0.45 95.86±0.28 94.40±0.50 95.52±0.14 94.29±0.20 95.81±0.35 DS6 86.59±0.32 85.25±0.29 87.81±0.54 88.90±0.51 89.00±0.13 87.68±0.47 89.80±0.25 DS7 88.28±0.46 87.51±0.97 89.93±0.71 90.01±0.92 90.19±0.40 89.51±0.59 93.67±0.54 Kddcup99_10% 80.94±0.22 75.68±0.25 79.36±0.35 83.32±0.24 85.83±0.50 84.87±0.16 86.81±0.33 Shuttle 58.73±0.39 61.54±0.22 73.78±0.20 79.39±0.43 80.11±0.53 80.97±0.24 83.56±0.54 PokerHand 50.34±0.58 49.86±0.40 50.36±0.16 51.24±0.21 51.39±0.16 50.55±0.41 52.25±0.35 表 4 7种算法的R值(%)
Table 4 R value of seven algorithms (%)
数据流 LB BOLE ARFRE CALMID OALM-IDS ALM-ICDDS-E ALM-ICDDS DS1 94.78±0.13 96.04±0.24 96.81±0.59 97.87±0.24 97.92±0.25 96.15±0.31 98.63±0.17 DS2 88.65±0.25 87.86±0.53 90.35±0.30 91.54±0.54 91.84±0.58 90.78±0.70 92.30±0.24 DS3 92.55±0.45 95.92±0.32 94.80±0.43 96.12±0.14 97.92±0.54 95.99±0.52 98.55±0.29 DS4 87.03±0.49 87.08±0.39 88.23±0.31 90.50±0.30 91.07±0.52 90.13±0.43 91.15±0.11 DS5 91.54±0.11 92.33±0.51 96.04±0.20 93.82±0.55 94.94±0.27 92.91±0.42 96.53±0.42 DS6 86.56±0.50 85.48±0.24 87.83±0.49 89.43±0.18 88.85±0.36 88.39±0.34 90.63±0.21 DS7 87.19±0.42 86.12±0.11 87.29±0.36 88.41±0.50 88.77±0.43 87.87±0.20 91.61±0.78 Kddcup99_10% 60.89±0.50 63.05±0.50 58.26±0.38 61.88±0.38 63.71±0.54 63.42±0.67 69.34±0.57 Shuttle 61.40±0.21 50.84±0.31 54.36±0.35 59.52±0.41 63.12±0.59 61.79±0.16 64.59±0.29 PokerHand 43.57±0.30 44.78±0.46 55.21±0.60 56.84±0.11 52.77±0.54 55.36±0.25 59.57±0.43 表 5 7种算法的${\rm{F}}1$值 (%)
Table 5 ${\rm{F}}1$ value of seven algorithms (%)
数据流 LB BOLE ARFRE CALMID OALM-IDS ALM-ICDDS-E ALM-ICDDS DS1 95.82±0.18 96.20±0.16 97.44±0.50 97.94±0.30 97.97±0.25 96.66±0.37 98.85±0.23 DS2 89.62±0.23 88.24±0.53 91.54±0.35 92.42±0.22 92.55±0.53 91.37±0.43 93.46±0.18 DS3 93.47±0.18 95.99±0.27 95.76±0.44 96.38±0.20 97.33±0.55 96.22±0.57 98.19±0.26 DS4 86.97±0.47 86.15±0.45 88.26±0.30 90.20±0.29 90.67±0.46 89.91±0.59 91.60±0.16 DS5 92.55±0.17 93.18±0.30 96.17±0.19 94.23±0.52 95.20±0.29 93.57±0.38 96.35±0.26 DS6 86.57±0.27 85.08±0.32 87.92±0.48 88.93±0.18 88.75±0.30 87.90±0.35 90.74±0.27 DS7 87.72±0.56 86.66±0.19 88.70±0.52 89.44±0.48 89.61±0.47 88.59±0.29 92.63±0.40 Kddcup99_10% 70.55±0.54 70.94±0.23 69.32±0.45 74.03±0.22 75.33±0.39 74.82±0.54 80.45±0.49 Shuttle 62.97±0.28 56.61±0.29 64.43±0.33 70.13±0.21 72.70±0.41 71.01±0.20 73.77±0.18 PokerHand 47.26±0.34 47.41±0.40 53.83±0.57 55.35±0.16 56.12±0.52 54.10±0.23 57.67±0.72 -
[1] Liao G, Zhang P, Yin H, Luo T, Lin J. A novel semi-supervised classification approach for evolving data streams. Expert Systems with Applications, 2023, 215: 119273 doi: 10.1016/j.eswa.2022.119273 [2] 朱飞, 张煦尧, 刘成林. 类别增量学习研究进展和性能评价. 自动化学报, 2023, 49(3): 1−26Zhu Fei, Zhang Xu-Yao, Liu Cheng-Lin. Class incremental learning: A review and performance evaluation. Acta Automatica Sinica, 2023, 49(3): 1−26 [3] Zhou Z H. Open-environment machine learning. National Science Review, 2022, 9(8): 211−221 [4] Wang P, Jin N, Woo W L, Woodward J R, Davies D. Noise tolerant drift detection method for data stream mining. Information Sciences, 2022, 609: 1318−1333 doi: 10.1016/j.ins.2022.07.065 [5] Yu H, Liu W, Lu J, Wen Y, Luo X, Zhang G. Detecting group concept drift from multiple data streams. Pattern Recognition, 2023, 134: 109113 doi: 10.1016/j.patcog.2022.109113 [6] Suárez-Cetrulo A L, Quintana D, Cervantes A. A survey on machine learning for recurring concept drifting data streams. Expert Systems with Applications, 2022, 213: 118934 [7] Yang L, Shami A. A lightweight concept drift detection and adaptation framework for IoT data streams. IEEE Internet of Things Magazine, 2021, 4(2): 96−101 doi: 10.1109/IOTM.0001.2100012 [8] Bayram F, Ahmed B S, Kassler A. From concept drift to model degradation: An overview on performance-aware drift detectors. Knowledge-Based Systems, 2022, 245: 108632 doi: 10.1016/j.knosys.2022.108632 [9] Karimian M, Beigy H. Concept drift handling: A domain adaptation perspective. Expert Systems with Applications, 2023, 224: 119946 doi: 10.1016/j.eswa.2023.119946 [10] Lu J, Liu A, Dong F, Gu F, Gama J, Zhang G. Learning under concept drift: A review. IEEE Transactions on Knowledge and Data Engineering, 2018, 31(12): 2346-2363 [11] Shahraki A, Abbasi M, Taherkordi A, Jurcut A D. Active learning for network traffic classification: A technical study. IEEE Transactions on Cognitive Communications and Networking, 2021, 8(1): 422−439 [12] Pham T, Kottke D, Sick B, Krempl G. Stream-based active learning for sliding windows under the influence of verification latency. Machine Learning, 2022, 111(6): 2011−2036 doi: 10.1007/s10994-021-06099-z [13] Khowaja S A, Khuwaja P. Q-learning and LSTM based deep active learning strategy for malware defense in industrial IoT applications. Multimedia Tools and Applications, 2021, 80(10): 14637−14663 doi: 10.1007/s11042-020-10371-0 [14] Wang S, Luo H, Huang S, Li Q, Liu L, Su G, et al. Counterfactual-based minority oversampling for imbalanced classification. Engineering Applications of Artificial Intelligence, 2023, 122: 106024 doi: 10.1016/j.engappai.2023.106024 [15] Malialis K, Panayiotou C G, Polycarpou M M. Nonstationary data stream classification with online active learning and siamese neural networks. Neurocomputing, 2022, 512: 235−252 doi: 10.1016/j.neucom.2022.09.065 [16] Du H, Zhang Y, Gang K, Zhang L, Chen Y. Online ensemble learning algorithm for imbalanced data stream. Applied Soft Computing, 2021, 107(1): 107378 [17] Wang W, Sun D. The improved AdaBoost algorithms for imbalanced data classification. Information Sciences, 2021, 563: 358−374 doi: 10.1016/j.ins.2021.03.042 [18] Gao J, Fan W, Han J, Yu P. A general framework for mining concept-drifting data streams with skewed distributions. In: Proceedings of the International Conference on Data Mining. Minnesota, USA: 2007. 3−14 [19] Lu Y, Cheung Y, Tang Y Y. Dynamic weighted majority for incremental learning of imbalanced data streams with concept drift. In: Proceedings of the International Joint Conference on Artificial Intelligence. Melbourne, Australia: AAAI, 2017. 2393−2399 [20] Jiao B, Guo Y, Gong D, Chen Q. Dynamic ensemble selection for imbalanced data streams with concept drift. IEEE Transactions on Neural Networks and Learning Systems, 2024, 35(1): 1278-1291 [21] Guo H S, Zhang S, Wang W J. Selective ensemble-based online adaptive deep neural networks for streaming data with concept drift. Neural Networks, 2021, 142: 437−456 doi: 10.1016/j.neunet.2021.06.027 [22] Wang S, Minku L L, Yao X. Resampling-based ensemble methods for online class imbalance learning. IEEE Transactions on Knowledge and Data Engineering, 2014, 27(5): 1356−1368 [23] Cano A, Krawczyk B. ROSE: Robust online self-adjusting ensemble for continual learning on imbalanced drifting data streams. Machine Learning, 2022, 111(7): 2561−2599 doi: 10.1007/s10994-022-06168-x [24] Bifet A, Gavalda R. Learning from time-changing data with adaptive windowing. In: Proceedings of the International Conference on Data Mining. Minnesota, USA: 2007. 443−448 [25] Barros R S M, Carvalho Santos S G T, Júnior P M G. A boosting-like online learning ensemble. In: Proceedings of the International Joint Conference on Neural Networks. Vancouver, Canada: 2016. 1871−1878 [26] Gama J, Medas P, Castillo G, Rodrigues P. Learning with drift detection. In: Proceedings of the Advances in Artificial Intelligence. Maranhao, Brazil: Springer, 2004. 286−295 [27] 张永清, 卢荣钊, 乔少杰, 韩楠, Gutierrez L A, 周激流. 一种基于样本空间的类别不平衡数据采样方法. 自动化学报, 2022, 48(10): 2549−2563Zhang Yong-Qing, Lu Rong-Zhao, Qiao Shao-Jie, Han Nan, Gutierrez L A, Zhou Ji-Liu. A sampling method of imbalanced data based on sample space. Acta Automatica Sinica, 2022, 48(10): 2549−2563 [28] Bifet A, Holmes G, Pfahringer B. Leveraging bagging for evolving data stream. In: Proceedings of the Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Barcelona, Spain: Springer, 2010. 135−150 [29] Ferreira L E B, Gomes H M, Bifet A, Oliveira L. Adaptive random forests with resampling for imbalanced data streams. In: Proceedings of the International Joint Conference on Neural Networks. Budapest, Hungary: IEEE, 2019. 1−6 [30] Gu Q, Tian J, Li X, Song J. A novel random forest integrated model for imbalanced data classification problem. Knowledge-Based Systems, 2022, 250: 109050 doi: 10.1016/j.knosys.2022.109050 [31] Martins V E, Cano A, Junior S B. Meta-learning for dynamic tuning of active learning on stream classification. Pattern Recognition, 2023, 138: 109359 doi: 10.1016/j.patcog.2023.109359 [32] Yin C Y, Chen S S, Yin Z C. Clustering-based active learning classification towards data stream. ACM Transactions on Intelligent Systems and Technology, 2023, 14(2): 1−18 [33] Xu W H, Zhao F F, Lu Z C. Active learning over evolving data streams using paired ensemble framework. In: Proceedings of the 8th International Conference on Advanced Computational Intelligence. Chiang Mai, Thailand: 2016. 180−185 [34] Liu S X, Xue S, Wu J, Zhou C, Yang J, Li Z, et al. Online active learning for drifting data streams. IEEE Transactions on Neural Networks and Learning Systems, 2023, 34(1): 186−200 [35] Liu W K, Zhang H, Ding Z Y, Liu Q B, Zhu C. A comprehensive active learning method for multiclass imbalanced data streams with concept drift. Knowledge-Based Systems, 2021, 215: 106778 doi: 10.1016/j.knosys.2021.106778 [36] 李艳红, 任霖, 王素格, 李德玉. 非平衡数据流在线主动学习方法. 自动化学报, DOI: 10.16383/j.aas.c211246Li Yan-Hong, Ren Lin, Wang Su-Ge, Li De-Yu. Online active learning method for imbalanced data stream. Acta Automatica Sinica, DOI: 10.16383/j.aas.c211246 [37] Zhao P, Cai L W, Zhou Z H. Handling concept drift via model reuse. Machine learning, 2020, 109: 533−568 doi: 10.1007/s10994-019-05835-w [38] Karimi M R, Gürel N M, Karlas B, Rausch J, Zhang C, Krause A. Online active model selection for pre-trained classifiers. In: Proceedings of the International Conference on Artificial Intelligence and Statistics. San Diego, California, USA: 2021. 307−315 [39] Zyblewski P, Wozniak M, Sabourin R. Preprocessed dynamic classifier ensemble selection for highly imbalanced drifted data streams. Information Fusion, 2021, 66: 138−154 doi: 10.1016/j.inffus.2020.09.004 [40] Moraes M, Gradvohl A. MOAFS: A Massive Online Analysis library for feature selection in data streams. The Journal of Open Source Software, 2020, 5: 1970 doi: 10.21105/joss.01970 期刊类型引用(2)
1. 焦博韬,郭一楠,何潇,蒲佳洋,巩敦卫. 基于动态支持向量提取的复杂装备实时安全评估. 中国科学:信息科学. 2025(01): 156-171 . 百度学术
2. 李艳红,李志华,郑建兴,白鹤翔,郭鑫. 有限标签下的非平衡数据流分类方法. 大数据. 2025(02): 107-126 . 百度学术
其他类型引用(1)
-