数据驱动的应用自适应技术综述

  • 前言&介绍
    • 应用自适应是软件工程和服务计算这一交叉领域的研究热点之一
      • 举例:以 1 个典型的智慧家居应用为例,应用将在用户设定的闹钟前 30 min 自动关闭空调,并开始煮咖啡,当咖啡煮好之后,打开卧室的灯光,并播放音乐唤醒用户,接着在用户离开卧室之后自动关闭灯光,并开始播放新闻.可以看出,这样一个基础的应用是由多个不同的流程组合而成,这些流程是可以按照一定的规则重新组合的.同时,这个应用所处的环境是充满了不确定性的,如用户提前起床、家里停水等,如何针对这种非确定性的运行环境来对流程进行自适应,是本文重点探讨的目标.
    • 自适应发生在对运行环境中发生的事件的反应中,应用可以在运行时改变自身流程,以便在不同的情况下为用户提供高效、便捷的功能.
    • 系统面对的场景是复杂多变(以物联网为代表)
      • 物流系统中不规范的用户输入
      • 交通调度中异常形式的车辆
    • 应用自适应的目的为的是系统面对异常故障也能提供稳定鲁棒的正常服务
    • 传统自适应和数据驱动自适应区别
      • (静态的)传统自适应往往需要预定义规则,而对于如今广义的复杂系统,人工预设规则意味着巨大的工作量,并且需要设计者具备一定的专业领域知识,往往只能解决特定问题,泛化能力较弱。
      • (动态的)数据驱动的自适应技术用数理统计和机器学习等方法来挖掘离线和在线数据中隐含的有用信息,提升自适应系统的适用范围和在线规划能力,形成自动化的决策模型,具有感知性、适应性、自治性和协作性几大特点
  • 自适应驱动技术
    • 规则驱动(已知且可以预设,自己的理解是没有学习性,属于显著式编程):规则驱动即是利用相应的专家领域知识进行数学建模,预先生成固定的规则模型
      • 一种是通过标准的知识工程方法获得的上下文知识,利用形式推理技术来针对环境改变进行自适应决策。、
        • 通过逻辑推理
          • 优点在于可以将这种不确定性形式化为确定的逻辑表达式,从而执行对应的自适应规则.
          • 缺点对系统设计者的要求较高,并且需要结合一定的专业领域背景知识
      • 另一种是基于本体建模的方法
        • 具有一般性和可复用的特点
        • 需要针对特定的应用领域开发本体
        • 决策模块根据本体和收集到的信息,推断出新的事实,执行对系统变化(包括外部环境变化或内部状态更改等)的反应操作,如重新配置、申请资源、流程修改等,从而实现应用的自适应.
        • 但是这种方法通常是预先计算和设计好了相关的领域知识,并不能随着应用的运行进行自动化学习,
      • 优缺点
        • 优点
          • 语义清晰
          • 表示方法统一
          • 无冷启动问题
          • 能建立可重用的模型
          • 方便扩展到规模更大的环境中
          • 可解释性较好
        • 缺点
          • 不能处理不确定性问题
          • 它们使用的是基于一般知识的推理,如模糊逻辑和概率推理,而不是通过历史数据来进行统计分析,因此基于这类方法的自适应系统对于实时环境变化的敏感性较差
    • 数据驱动(一个黑盒,自己的理解是具有学习型,属于非显著式编程):数据驱动则不再依赖于已知的数学模型,而是直接从系统在线或离线的数据中获取对应的知识,因此,其对系统的先验知识要求较少
      与规则驱动方法相比,数据驱动方法的强大之处在于其可以利用实时产生的海量数据,来获取系统的动态反馈,并据此进行建模
      • 在数据的基础上经过训练和拟合形成自动化的决策模型,当有新的数据输入、产生新情况时系统用之前拟合形成的模型和人工智能的方式直接进行决策
      • 主流的数据驱动方法主要是利用了机器学习从数据中建模(经典的监督学习方法)
        • 生成方法
          • 通常使用诸如用于活动建模的马尔可夫模型和贝叶斯网络等概率分析方法
          • 方法的细节看懵了 O.O
          • 主要缺点即是模型在概率变量配置方面是静态和主观的
        • 判别方法
          • 它只对从输入 (数据) 到输出 (活动标签) 的映射建模,判别方法包括许多分类方法,例如 KNN(k-nearestneighbor) 、 决 策 树 (decision tree, DT)、SVM(support vector machines)等
          • 会出现数据不足或"冷启动"问题
        • 许多研究是结合了数据驱动与规则驱动这两者的优点来实现的
  • 自适应框架
    • OODA(observe - orient - decide - act)
    • KIDS(knowledge intensive data processing System)
    • MAPE-K (monitor – analyze – plan - executeknowledge)

      • 个由监控-分析-规划-执行-知识组成的循环序列
    • DLDA(debt learning drivenadaptation)

      • 创新性地加入了一个二分类器,用于判别什么时候执行自适应调整
        • 分类器 (classifier) 根据前一个状态和当前状态 判 断 出 是 否 需 要 自 适 应 , 需 要 则 利 用 规 划 器(planner) 进行自适应调整,不需要则系统不进行调整
    • ACT-R(adaptive control of thought-rational)
      • ACT-R 是卡内基梅隆大学的 Anderson等人[37]建立的一个人类认知理论框架模型
      • 其思路是在对环境进行统计分析的基础上,使得知识的获得和调用过程随环境而发生改变,实现系统的自适应性,这正符合人类针对环境的自适应认知过程.
      • ACT-R的包含了对环境的感知和对数据模式的理解,并从中做出最优的决策,而且认知计算可以从大量数据中归纳出新的知识,类似于人的认知能力.
    • 完整的数据驱动应用自适应系统
      • 1、从复杂的环境中提取日志、图像等数据特征
      • 2、从数据特征中挖掘识别出环境和应用的流程模式
      • 3、结合识别出当前的流程模式,进行自适应的适配
      • 4、当适配无法实现系统功能时,需要对现有的规则进行演化,来补充支持系统的自适应
    • 数据驱动的自适应系统架构

      • 应用产生的传感器数据通过表征学习模块进行预处理和特征提取
      • 模式识别则负责从特征中识别出应用的场景,理解用户的活动模式和意图,并对正在进行的活动进行监测反馈
      • 决策规划模块通过结合实时的特征、应用的情景以及当前活动来对系统进行动态的自适应调整
      • 评估器将对产生的策略和环境进行匹配,当不匹配时调用规则演化模块生成新规则以适应当前环境,匹配时则直接进行执行该策略
      • 规则演化则是为了应对数据不足或冷启动,以及规则异常的问题,通过引入部分专家知识或是其他领域知识来演化出新的规则(这是规则驱动?结合以上的数据驱动?)
  • 表征学习
    • 原始数据需要通过相应的算法转换为低秩的特征向量,剔除原始数据中冗余或无关的信息,而这种转换分成两种
      • 特征工程
        • 依赖专家领域的知识提取
        • 不适合高维切复杂的数据
      • 表征学习
        • 自动学习数据的隐式特征
        • 无监督表征学习算法
          • 用线性投影的方法学习数据的低维度特征
        • 监督式表征学习算法
          • 主要是指现在流行的深度学习方法
        • 深度学习在非结构化数据的表征学习中有着广泛的应用,这类算法可以从非结构化数据中提取出有效的结构化特征,用于支持后续如预测、分类等任务
          • 图像领域——CNN(convolutional neural networks)等算法可以去除图像的信息冗余,实现图像分割和边缘检测,提取出对应的图像特征,实现特征的高效压缩
          • 深度神经网络还可以提取深层的高级表示,这使其更适合复杂的活动识别任务,其逐层结构允许可伸缩地从简单到抽象的特征学习,并且其可分离性使得其可以灵活地组合成具有一个整体优化功能的统一网络
          • 这些优势使得深度学习目前在表征学习中占据着重要的主导地位.
  • 模式识别
    • 用计算机模拟人类识别行为的技术,可以让计算机通过观察环境,学习如何从环境中识别感兴趣的模式,实现对环境模式的分类
    • 模式识别的目的是从数据中挖掘出潜在的模式
      • 我们将其分为识别上下文信息等的情景感知和挖掘用户行为的活动识别 2 个模块
    • 情感感知(上下文感知)
      • 主要是指系统通过采集周围环境参数,对时间、空间元素进行分析,实现对环境的感知和理解能力,自动获取和发现用户需求,建立一种自适应调整机制,向用户提供适合当前情形的信息或服务,提高服务的准确性和可靠性
      • 情景推理可分为
        • 确定性推理
          • 确定性推理一般基于预设的情景,在传统计算中取得了较好的效果
        • 非确定性推理
          • 如今的上下文信息具有多样性、不确定性和动态性等特点,所以非确定性推荐
      • 推理
        • 规则推理(需要专家知识):规则的来源是基于专家知识预定义的,或是结合本体建模所产生的规则,方式简单稳定但是环境适应性不足。
        • 本体推理(需要一定的专家知识):依赖于逻辑描述,通过本体建模数据实现推理。
        • 模糊逻辑(需要一定的专家知识):引入了更多处理不确定性和未知的能力。
        • 概率逻辑:基于对事件概率和事实计算,运用数理逻辑与概率理论对归纳逻辑、归纳方法进行形式化、数量化的研究。
        • 监督学习:通过收集标记的应用数据来进行模型训练,训练好的模型将用于情景的推理。
        • 非监督学习:由于数据的标记难以获取,所以非监督学习也常常用于无标记的数据中,从中提取出一些有意义的结果。
        • 我的理解是:需要专家知识的规则为导向的推理稳定性好,但是缺乏处理未知的能力,机器学习通过数据中挖掘出非预设的规则,能处理未知的能力,具有挺强的适应性,但是缺乏稳定性,所以目前的研究趋势是机器学习方法与本体建模、模糊逻辑结合,实现混合推理模型
    • 活动识别
      • 是泛在计算、人类行为分析和人机交互研究的一个重要领域,对用户行为和环境条件的观察,识别出用户的行为和目标(并检测出对应的活动模式)。活动识别可以看作是一个典型的模式识别问题。
      • 传统的活动识别
        • 使用经典的数学模型和数理统计来进行建模分析
      • 数据挖掘和机器学习
        • 更有效的从数据中提取知识、发现知识和推理活动
        • 朴素贝叶斯(Naive Bayes)
        • 决策树
        • 隐马尔可夫(hidden Markov model, HMM)
        • 条 件 随 机 场(conditional random field, CRF)
        • 最近邻
        • 支持向量机
        • 集成学习(ensemble learning)
      • 活动识别主要使用了分类算法
        • 神经网络可以提取出数据间隐含的关联关系
      • 标记数据对于模型训练是很重要的
        • 对于稀少的标记数据与未标记数据混合的情况,通常采用半监督学习来解决标注缺少的问题
        • 对于完全未标记的数据,则需要通过无监督学习从训练集中识别出一些固有的模式,然后根据生成的模型,识别出这些固有模式
        • 数据具有非常强烈的个性化特征和环境特征
          • 基于深度学习活动识别框架包含了 2 个识别器
            • 领域识别器
              • 领域识别器可以识别出相关的环境或是主题
            • 活动识别器
              • 活动识别器则除了进行活动识别之外,还试图欺骗领域识别器,从而学习与环境/主题无关的表征
      • 小结
        • 模式识别是一种通过数学方法让应用理解和认识环境的能力
  • 决策规划
    • 概率模型
      • 许多研究着力于如何表示不确定性以及通过一定的策略来减少不确定性。概率模型正是一类使用概率来表示不确定性的算法,通过计算条件概率和联合概率,可以准确地解释变量间的因果性和相关性,从而推导出客观事实,进行合理的决策
      • 方式
        • 将学习决策模型转化为求概率分布,计算联合概率和条件概率来表征因果关联
        • 多维的变量间都存在着相互依赖导致直接求解的复杂度相当高,因此通常我们会使用图结构来表示变量间的依赖关系,通过结合图论和概率计算来估计条件概率分布
        • 概率图理论很重要,而概率图模型的核心理论是贝叶斯法则
      • 概率模型在自适应决策规划中的应用,主要体现在解决自适应系统中的不确定性决策问题.
      • 对一个复杂随机的交互环境而言,构建一些经典模型(如 MDP)是非常困难的,需要大量的人工经验进行抽象建模.而概率模型则可以以随机环境的形式化规范作为输入,通过概率分析网络将其转换为MDP 进行求解.通过将系统建模为概率系统可以使用概率模型检验来分析不确定系统
      • 现今更多的研究是结合概率模型与强化学习这类更为通用的模型结合,使用概率模型来提取环境,使用强化学习学习策略.
    • 最优化算法
      • 最优化问题指在一定的约束条件下,构造出一个合适的目标函数,如何求解使得这个目标函数取到极值
      • 常用的最优化算法通常可以分为 2 类
        • 精确算法
          • 线性规划
          • 动态规划
          • 整数规划
          • 分支定界法等
          • 这类算法复杂度较高,适合求解空间较小的问题
        • 近似算法
          • 模拟退火
          • 禁忌搜索
          • 蚁群算法
          • 粒子群算法
          • 进化算法簇等
          • 面对求解空间庞大的问题,可以在多项式时间内以高概率逼近最优解
        • 最优化算法在自适应系统中通过搜索目标函数的最优解来进行决策,在目标函数相对简单的情况下能够快速灵活的求解,但对于目标函数复杂,求解空间庞大的问题,使用最优化算法往往意味着较大的计算成本
        • 近年来同样有不少研究在探索将最优化算法与强化学习相结合
    • 强化学习
      • 一个经典的强化学习模型由 5 部分组成:智能体(agent)、观察(observation)、回报(reward)、动作(action)和环境(environment)组成,其累计回报定义为使用贝尔曼方程表示的价值函数,优化的目标即是如何选择合理策略(policy)来保证获取到最大的累计回报
      • 深度强化学习: 应用高维且复杂的情况
        • 其按策略更新模式分为在线策略和离线策略
        • 根据动作空间则可以分为离散空间和连续空间
        • 场景虽然各不相同,但对于强化学习来说,只需要抽象出对应的模型就可以使用算法进行决策,所以强化学习有着比较好的易用性和通用性
      • Wang 等人[26] Wang Yang, Cao Shan, Ren Hongshuai, et al. Towards cost-effectiveservice migration in mobile edge: A Q-learning approach[J]. Journal ofParallel and Distributed Computing, 2020, 146: 175-188则将强化学习与联邦学习结合在一起,用于联邦学习中的缓存自适应决策!!!
    • 决策规划是自适应系统中最为重要的关键技术:从所有可行策略中选择最适合、最高效的策略,同时还要尽可能地保证算法的时效性,满足在线自适应决策的需求
  • 规则演化
    • 数据驱动的自适应技术是从历史数据中学习出最优的策略,因此数据驱动应用有着一个关键的缺陷:冷启动和数据缺少的问题
    • 规则演化就是应对实时环境中出现这种未知"模式"时,从已有的数据或规则中推理出相关性,将未知"模式"规约到已知的场景下,或是针对未知"模式"生成新的处理规则的方法
    • 经典的规则推理方法称为基于案例的推理(case-based reasoning, CBR),这是一种懒加载解决问题的方法
      • 1)检索,计算相似度来检索最相似的过去案例;
      • 2)重用,通过重用最相似的案例中的信息和知识,为新案例提出解决方案;
      • 3)修订,修改建议的解决方案;
      • 4)保留,保留有关新案例解决方案的信息和知识.
    • 结合知识图谱与案例推理的自适应系统
    • 迁移学习也是一种有效帮助系统适应新环境的方法
      • 迁移学习则能借助概率推理来处理新问题中的不确定性
      • 迁移学习可以用来解决当环境变化时,自适应系统如何保证正常地执行应用程序
  • 总结(未来发展方向需要解决的问题)
    • 对于自适应驱动技术
      • 虽然数据驱动比规则驱动需要更少的专家领域知识,实现上也更为简单,但却不能避免冷启动的问题
      • 而规则驱动技术可用于预测,并遵循基于描述的方法来建模传感器数据和活动之间的关系,但它不能很好地处理不确定性问题和时间信息,所以有许多研究是结合了数据驱动与规则驱动这两者的优点来实现的
    • 对于表征学习
      • 表征学习也开始以深度学习为主,趋向于更加的普适,通用和更好的泛化能力.
      • 自适应决策目前仍然有着很多需要解决的问题,包括决策的实时性问题,目前主流的方案是采用主动延迟感知(predictive latency-aware, PLA)的适应决策,通过限定决策时间来保证决策的实时性
    • 对于自适应决策问题
      • 决策的实时性问题,目前主流的方案是采用主动延迟感知(predictive latency-aware, PLA)的适应决策,通过限定决策时间来保证决策的实时性;
      • 系统的非确定性问题,环境中的不确定性意味着无法简单的对环境变化进行建模,需要结合如概率分析等技术手段来处理不确定性;
      • 多智能体间的不完全可知信息决策问题,在智能体间信息不对称时,如何保证算法能做出最优的决策;
      • 分布式系统的自适应问题,如何在去中心化的系统中实现自适应决策,保证局部系统均能获得自适应决策的收益。
    • 许多的工作开始研究端到端的自适应技术,将多阶段的处理合成为一个神经网络来建模.
    • 除此之外,针对如今大规模分布式系统以及边缘计算的兴起,自适应技术的分布式化也成为了一个研究的趋势。
    • 同时,目前的数据驱动自适应虽然摆脱了预定义规则的束缚,但如何归纳从数据中挖掘出的规则,形成可演绎进化的新规则仍然是研究的重点,也是未来智能化的自适应技术探究的方向。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值