算法整合的制作方法

专利2022-06-29  65


本发明涉及用于整合算法的方法和设备。
背景技术
:计算系统中的算法是表征特定计算的一组规则。通常,计算机程序员定义一种算法,以定义给定情况下的一个或更多个输入基于特定目标应该如何映射至一个或更多个输出。因此,定义该组规则所涉及的技能随着给定问题的复杂性增加而增加。此外,输入、输出或目标的任何变化都要求计算机程序员重新访问算法并更新规则。机器学习领域的出现使算法的开发自动化,并被应用于多个计算领域(如自主计算系统)。通常,机器学习处理采用与环境相关的示例数据集(“训练数据”)。机器学习处理对训练数据集使用一种或更多种统计技术来定义一组规则(即算法),该规则将输入转换为输出(通常基于性能目标)。机器学习处理随后就可以通过基于任何新数据和/或性能目标重新评估该组规则来随时间的推移开发算法。然而,如果算法包含大量规则,则这可能导致该算法变得越来越复杂,从而增加了计算系统的计算负担。在通过机器学习处理来开发算法以使得该算法的新版本的执行需要执行该算法的所有先前版本的场景中,该问题尤其严重。在这种情况下,计算负担随着算法的每个新版本而增加。在受监管的学习场景中,监管者可以定期查看由机器学习处理开发的算法,以确定是否应该执行整合操作。整合操作用于降低算法的计算负担(诸如通过减少算法中的规则的数量),同时尝试最大程度地降低对算法性能的影响。技术实现要素:根据本发明的第一方面,提供了一种由计算机实现的对算法进行控制的方法,所述方法包括以下步骤:通过机器学习处理将所述算法从第一状态开发至第二状态;确定执行处于其第二状态的所述算法的(第二)计算成本;确定所述(第二)计算成本是否满足触发条件;并且如果是,则将所述算法从所述第二状态开发至第三状态,其中,执行处于其第三状态的所述算法的进一步(第三)计算成本小于所述(第二)计算成本。本发明的实施方式提供了以下优点:由机器学习处理开发的过于复杂的算法在基于执行所述算法所需的计算资源的触发之后可以被自动整合成较简单的算法。这对于很容易随着时间的推移而开发冗余元素的算法特别有用,诸如当所述算法与高度可变的环境相关、在迭代之间具有非常短的时间延迟或所述算法的性能目标被配置成使得所述算法相对敏捷(例如低接受标准)时特别有用。所述方法可以还包括以下步骤:对与计算系统相关的第一组输入执行处于其第二状态的所述算法,以产生第二组输出,其中,所述第二组输出中的每个输出是第一可能输出和第二可能输出中的一者;对所述第一组输入执行处于第三状态的所述算法,以产生第三组输出,其中,所述第三组输出中的每个输出是所述第一可能输出和所述第二可能输出中的一者;确定所述第二组输出与所述第三组输出之间的第一匹配值。所述方法可以还包括以下步骤:确定所述第一匹配值是否满足阈值。所述方法可以还包括以下步骤:将所述算法从所述第三状态开发至第四状态,其中,如果所述第一匹配值满足所述阈值,则以第一学习速率开发所述算法,而如果所述第一匹配值不满足所述阈值,则以第二学习速率开发所述算法。所述算法可以是具有多个分支节点和多个叶节点的决策树,并且所述计算成本可以基于所述多个分支节点的计数来确定。将所述算法从所述第二状态开发至所述第三状态的步骤可以包括开发新算法。另选地,将所述算法从所述第二状态开发至所述第三状态的步骤可以包括从所述算法的第二状态修改所述算法。根据本发明的第二方面,提供了一种包括指令的计算机程序,当所述程序被计算机执行时,所述指令使所述计算机执行本发明的第一方面的方法。所述计算机程序可以存储在计算机可读数据载体上。根据本发明的第三方面,提供了一种用于对算法进行控制的装置,所述装置包括用于存储与计算系统相关的数据的存储器,以及被配置为执行本发明的第一方面的所述方法的所述步骤的处理器。附图说明为了可以更好地理解本发明,现在将参照附图仅以示例的方式来描述本发明的实施方式,在附图中:图1是本发明的计算系统的实施方式的示意图;图2是包括图1的计算系统的示例电信系统的示意图;图3是本发明的决策树算法的实施方式的图;以及图4是例示了本发明的方法的实施方式的流程图。具体实施方式图1是适合于本发明的实施方式的操作的计算机系统100的框图。中央处理器单元(cpu)102经由数据总线108通信连接至存储部104和输入/输出(i/o)接口106。存储部104可以是任何读/写存储装置(诸如随机存取存储器(ram)或非易失性存储装置)。非易失性存储装置的示例包括磁盘或磁带存储装置。i/o接口106是对装置的接口,用于数据的输入或输出,或者用于数据的输入和输出两者。可连接至i/o接口106的i/o装置的示例包括键盘、鼠标、显示器(诸如监视器)和网络连接。图2例示了本发明的实施方式的电信系统1中的计算机系统100。电信系统1包括分别经由铜线对130a……130n连接至交换机120的多个用户驻地设备(cpe)110a……110n。铜线对可以使用xdsl协议系列中的任一个协议(诸如adsl、vdsl、vdsl2、g.fast等),并且还可以通过其它dsl元件(诸如街柜和/或分配点)。此外,可以通过光纤连接来部分地或全部地进行cpe与交换机之间的连接。为了涵盖所有场景,术语“线路”在下文中将用于描述cpe110a……110n与交换机120之间的任何合适的连接。在交换机中,线路130a……130n终止于聚合收发器装置(在该示例中为数字订户线路接入多路复用器(dslam)140),该聚合收发器装置被配置为经由每个铜线对向每个cpe提供互联网和电话服务。因此,dslam提供了到互联网、到pstn以及到网络管理系统(nms)的接续连接。cpe110a……110n和dslam140都包括控制单元115a……115n、145,该控制单元被配置为测量位于cpe或dslam或关联线路中的调制解调器的某些属性,并将该属性存储在存储器中。在该实施方式中,控制单元115a……115n、145被配置为存储dsl相关参数(诸如信噪比(snr)、snr裕度、错误计数、再训练计数等),该dsl相关参数被存储在管理信息库(mib)中的15分钟箱(15-minutebin)中。在该实施方式中,控制单元115a……115n、145还被配置为存储非dsl相关参数(诸如线路的电阻、湿度水平等),该非dsl相关参数也被存储在存储器中。此外,每条线路130a……130n可以包括沿其长度在任何点处设置的其它控制单元(未示出),该其它控制单元也被配置为执行上述各种dsl相关参数和非dsl相关参数的测量。各个控制单元115a……115n、145、160a……160n都被配置为向nms报告它们存储的dsl相关参数和非dsl相关参数。在该实施方式中,nms每天接收一次该数据并存储每天的数据,从而创建用于后续分析的操作数据时间轴。在本发明的实施方式中,计算机系统100被配置为从nms取回该数据并将其存储为数量矢量,下文称为‘x’。计算机系统100在自主处理中使用数据x来控制电信系统1。现在将详细描述一个这样的自主处理的详细示例。然而,技术人员将注意,电信系统1仅仅是计算系统的一个示例并且下文中描述的本发明的各个方面和实施方式可应用于任何计算系统。在电信系统1中,一个cpe的用户可以终止其与网络运营商的服务,以使该用户的线路变为非活动状态。经过一段时间后,用户请求重新启动其服务,并且网络运营商必须决定是否a)在不派遣工程师的情况下自动重新启动服务,或b)派遣工程师检查线路和关联基础设施、执行任何必要的工程工作以将线路恢复至完全工作状态以及人工重新启动。与选项b)相比,选项a)出现故障的可能性大,并且这种故障将对用户体验产生负面影响。然而,与选项a)相比,与选项b)相关联的财务成本高。因此,网络运营商必须决定哪条线路使用选项a)而不是选项b)是有益的。在该实施方式中,使用算法来确定网络运营商应该自动重新启动服务还是派遣工程师人工重新启动服务。例如,该算法可以考虑自网络运营商终止对该用户的服务以来所经过的时间量、相邻线路的dsl故障统计信息以及上述各种dsl相关数据和非dsl相关数据。因此,该算法将存储的诊断数据x作为输入并输出选项a)或选项b)。然后,网络运营商可以针对该输出采取行动。针对选项a)或选项b),存在两种可能结果。一个选项是成功,在该示例中,这意味着成功重新启动服务,并且在不久的将来不会发生故障。第二选项是失败,其中未成功重新启动服务以及在重新启动后立即或稍后进入故障状态。现在将参照图3至图4描述本发明的方法的实施方式。在该实施方式中,自主处理涉及决策树算法的开发,该决策树算法基于每条线路的输入数据x将该条线路分类为选项a)或选项b)。算法v0最初采用如图3所例示的形式,其中可以基于表示自网络运营商终止对该用户的服务以来所经过的时间量的单个数据点来将线路分类为选项a)或选项b)。因此,决策树包含单个决策节点m,该决策节点m对输入数据x应用测试函数fm(x),并且针对选项a)和选项b)分别存在两个叶节点。在该示例中,初始形式的算法(v0)是由操作人员定义的,但是技术人员将理解,作用于电信系统1的训练数据的数据挖掘技术可能已经定义了该算法。在如图4的流程图所示的该实施方式的第一步骤(s1)中,计算系统100使用机器学习处理来将决策树算法从其第一状态开发至第二状态。在该实施方式中,机器学习处理通过以下步骤进行操作:开发多个候选决策树修改(例如,通过添加新测试函数来将叶节点拆分成分支节点,或者通过修改现有分支节点的测试函数的标准),并对比最近数据集来评估每个候选决策树修改的预测准确性。最近数据集包括每条线路的数据(该数据包括输入数据x)以及该线路的自动或人工重新启动(选项a)或选项b))是否成功的真实结果。因此,该分析通过将其针对每条线路的预测输出(使用来自最近数据集的输入数据x)与来自最近数据集的真实结果进行比较来给出每个候选决策树修改的预测准确性的客观测量结果。然后,选择最准确的候选决策树修改作为算法的新状态。在步骤s3中,计算系统100测量执行处于新状态的算法所需的计算资源。有多个方法可用于执行这样的测量,这些方法可能简单到对决策树中的测试函数(即分支节点)的数量计数,或者可能基于将当前形式的决策树算法应用于评估数据集(其应该代表当前操作环境)并且监测处理器102的性能(例如,运行时间、利用率等)。在步骤s5中,计算系统100确定执行处于新状态的算法所需的计算资源是否满足条件,在该实施方式中,该条件是由操作者预定的第一资源阈值。如果不满足,则该实施方式的方法循环回到步骤s1,以使算法开发至另一新状态。如图4所示,步骤s1与步骤s5之间的循环包括计时器(步骤s19),以在每次迭代之间实现时间步长,可以在步骤s6中对该时间步长进行调整以修改算法的学习速率。此外,计算系统100在步骤s18中实现计数器以区分步骤s1与步骤s5之间的循环的迭代。在该示例中,执行处于新状态的算法vi所需的计算资源超过了第一资源阈值并且方法前进至步骤s7。该处理的后续步骤的目的是产生新算法,该新算法在计算上比先前的算法vi(以下称为“整合前的算法”)成本低同时产生相同或相似的结果。现在将解释这些步骤。在步骤s7中,计算系统100创建候选新算法vc,该候选新算法vc是使用机器学习处理开发的,其中性能目标是使候选新算法vc的输出与整合前的算法vi的输出相匹配。在步骤s9中,计算系统100测量执行候选新算法vc所需的计算资源,并且在步骤s10中,评估候选新算法vc在计算上是否比整合前的算法vi成本低。这是通过对整合前的算法vi和候选新算法vc两者使用在步骤s3中概述的技术,然后比较两个测量结果来实现的。如果候选新算法vc在计算上成本低,则接受该候选新算法并且方法前进至步骤s11。如果候选新算法vc与整合前的算法vi相比在计算上成本相当或比整合前的算法vi在计算上成本高,则拒绝该候选新算法并且算法保持为整合前的算法vi(步骤s12),并且方法经由步骤s18和步骤s19循环回到步骤s1。在该示例中,方法前进至步骤s11。在步骤s11中,计算系统100评估候选新算法vc与整合前的算法vi相比的预测相似性性能。在该实施方式中,这是通过使用最近数据集(包括输入数据x)执行处于其新状态的算法vc和处于其整合前的状态的算法vi两者来实现的,这输出针对候选新算法vc的第一组预测结果以及针对整合前的算法vi的第二组预测结果。然后,计算系统100可以比较整合前的算法vi和候选新算法vc基于相同的输入数据给出相同或不同的预测结果的实例的计数。以这种方式,计算系统100因此评估候选新算法vc与整合前的算法vi的预测结果的相似性(即,“接近性”)。在该实施方式中,这是通过使用混淆矩阵确定整合前的算法vi与候选新算法vc之间的距离d来实现的:vi–选项a)vi–选项b)vc–选项a)d00d01vc–选项b)d10d11其中:d00=整合前的算法针对输入数据中的线路输出选项a)并且候选新算法针对输入数据中的同一线路输出选项a)的实例的计数;d01=整合前的算法针对输入数据中的线路输出选项b)而候选新算法针对输入数据中的同一线路输出选项a)的实例的计数;d10=整合前的算法针对输入数据中的线路输出选项a)而候选新算法针对输入数据中的同一线路输出选项b)的实例的计数;d11=整合前的算法针对输入数据中的线路输出选项b)并且候选新算法针对输入数据中的同一线路输出选项b)的实例的计数;并且因此,距离度量d是两种算法vc、vi之间的错误分类与分类总数的比。虽然不是必须的,但是距离矩阵还可以对两种类型的错误分类应用不同的权重,以使一种类型的错误分类比另一类型的错误分类更加不利。当操作者确定将一类错误分类保持为最小(例如,以牺牲另一错误分类为代价)更为重要时,这是有利的。在步骤s13中,计算系统100将距离度量与匹配阈值进行比较,以确定候选新算法vc的性能是否可接受。在该实施方式中,将预测相似性阈值设置为5%,以使得为了满足该阈值,候选新算法对最近数据集中的线路进行错误分类最高只能达到5%。如果满足匹配阈值,则接受候选新算法vc来取代整合前的算法vi(步骤s15),并且方法循环回到步骤s1(经由步骤s18和步骤s19)。因此,本发明的该实施方式的优点在于,可以分析算法的开发以确定执行该算法所需的计算资源是否大于阈值。如果是,则计算系统100可以将算法自动整合成需要较少资源来执行并且产生与整合前的算法vi相同或相似的结果的算法。这样,经整合的算法保留了到该点为止所获得的累积学习中的一些或全部(这在输入与输出之间由整合前的算法进行的先前映射中实现),但是现在计算系统100的计算资源的负担较低。在步骤s13的另选场景中,预测相似性性能不满足匹配阈值。在这种情况下,接受候选新算法vc来取代整合前的算法vi(步骤s17),但是方法然后经由步骤s6、步骤s18和步骤s19循环回到步骤s1,在步骤s6、步骤s18和步骤s19中,调整第一定时器以在步骤s1至步骤s5的后续迭代之间采用新的、较短的时间步长。这样,算法被整合以减轻计算系统100的计算负担,但是新算法vi 1的学习速率借助于较短的时间步长而得到增加,使得任何预测的性能劣化都是短暂的。在几次迭代之后,可以在步骤s6中重新调整第一定时器以在迭代之间采用较长的时间步长(例如,与原始时间步长相同)。本发明的以上实施方式被应用于在示例场景中用于确定应当自动还是人工重新启动电信系统中的dsl的决策树算法。然而,技术人员将理解,首先,本发明可以应用于任何计算系统场景。例如,数据中心可以包括多个可操作的或休眠的资源。然后,数据中心运营方可以决定是将休眠资源自动部署给用户,还是人工查看和配置资源以进行部署。可以为数据中心收集数据(例如覆盖自上次使用该资源以来的时间长度和/或操作数据),并且可以使用决策树算法做出上述决策,其也可以是使用机器学习处理开发的。因此,该算法可以受益于本发明的优点,其中可以查看执行决策树算法所需的计算资源,并且如果资源使用量高于阈值,则可以整合该决策树算法。此外,本发明可以应用于可以由机器学习处理开发的其它形式的算法。例如,算法可以基于机器学习处理可以开发的以下(非穷举列表)算法类型中的任一种算法类型:神经网络、二进制回归、隐马尔可夫模型(hmm)、随机森林或支持向量机。使用这些算法类型中的任一种算法类型,计算系统100可以被配置为周期性地测量执行算法所需的计算资源并将该计算资源与用于触发整合处理的标准进行比较。然后,整合处理可以起到降低算法的计算负担的作用(例如,通过创建新的、计算复杂度较低的算法,或者通过修改现有算法以减少其计算负担)。此外,技术人员将理解,整合算法基于与整合前的算法相同的形式不是必需的。即,计算系统100可以利用完全不同形式的算法(例如神经网络)来取代整合前的算法(例如决策树),只要执行新算法所需的计算资源少于整合前的算法。计算系统100还可以确定不同形式的算法与整合前的算法的“接近性”,以确定是否应调整该算法的未来开发速率的学习速率。此外,机器学习处理可以操作用于产生另外的算法,该另外的算法与算法的所有先前版本按顺序操作(以使得新算法的执行需要该算法所有先前版本的执行),并且这些另外的算法可以与先前版本中使用的算法的形式相同或不同。注意,本发明特别适用于这些具有顺序性质的算法,因为执行算法的每个新版本所需的计算资源随着每次开发而增加。技术人员还将理解,计算系统100评估候选新算法的预测相似性性能(即,候选新算法与整合前的算法的“接近性”)并将该预测相似性性能与阈值进行比较不是必需的。然而,这样做时,计算系统100确保在整合处理之后维持了整合前的算法的任何累积学习。在以上实施方式中,计算系统100在算法的每次迭代开发时测量执行该算法所需的计算资源。然而,技术人员将理解,这不是必需的,并且该方法还可以通过在诸如以下其它触发之后监测计算资源来实现:·自上次整合以来经过特定数量的机器学习处理迭代之后;·自上次整合以来经过特定时间段之后。在所有情况下,都可以将触发指定为适合该度量的绝对阈值,或者指定为自上次整合函数以来的相对变化。在以上实施方式中,计算系统100执行算法,但是算法的输入/输出涉及另一计算系统(电信系统1)。然而,技术人员将理解,算法可以在该算法所作用在的同一计算系统中实现。就所描述的本发明的实施方式而言,能够至少部分地使用软件控制的可编程处理装置(诸如微处理器、数字信号处理器或其它处理装置、数据处理设备或系统)来实施该实施方式,将理解,用于配置可编程装置、设备或系统以实现上述方法的计算机程序被设想为本发明的一个方面。例如,计算机程序可以实现为源代码或经历编译以在处理装置、设备或系统上实现或者可以实现为目标代码。适当地,计算机程序以机器或装置可读形式存储在载体介质上,例如存储在固态存储器、诸如磁盘或磁带的磁存储器、诸如光盘或数字通用磁盘的光或磁光可读存储器等中,并且处理装置利用该程序或其一部分以将其配置用于操作。可以从实现在诸如电子信号、射频载波或光载波的通信介质中的远程源供应计算机程序。这种载体介质也被设想为本发明的方面。本领域技术人员将理解,尽管已经关于上述示例实施方式描述了本发明,但是本发明不限于此,并且存在多个可能的变型例和修改例,该变型例和修改例落入本发明的范围内。本发明的范围包括本文公开的任何新颖特征或特征的组合。申请人特此通知,在本申请或由本申请得出的任何这种进一步申请的审查期间,可以对这些特征或特征的组合提出新的权利要求。具体地,参照所附权利要求,可以将来自从属权利要求的特征与独立权利要求的特征组合,并且可以以任何适当的方式而不是仅以权利要求中列举的特定组合来组合来自各个独立权利要求的特征。当前第1页1 2 3 
技术特征:

1.一种由计算机实现的对算法进行控制的方法,所述方法包括以下步骤:

通过机器学习处理将所述算法从第一状态开发至第二状态;

确定执行处于其第二状态的所述算法的计算成本;

确定所述第二计算成本是否满足触发条件;并且如果是,则

将所述算法从所述第二状态开发至第三状态,其中,执行处于其第三状态的所述算法的进一步计算成本小于所述计算成本。

2.根据权利要求1所述的方法,所述方法还包括以下步骤:

对与计算系统相关的第一组输入执行处于其第二状态的所述算法,以产生第二组输出,其中,所述第二组输出中的每个输出是第一可能输出和第二可能输出中的一者;

对所述第一组输入执行处于其第三状态的所述算法,以产生第三组输出,其中,所述第三组输出中的每个输出是所述第一可能输出和所述第二可能输出中的一者;

确定所述第二组输出与所述第三组输出之间的第一匹配值。

3.根据权利要求2所述的方法,所述方法还包括以下步骤:

确定所述第一匹配值是否满足阈值。

4.根据权利要求3所述的方法,所述方法还包括以下步骤:

将所述算法从所述第三状态开发至第四状态,

其中,如果所述第一匹配值满足所述阈值,则以第一学习速率开发所述算法,而如果所述第一匹配值不满足所述阈值,则以第二学习速率开发所述算法。

5.根据前述权利要求中任一项所述的方法,其中,所述算法是具有多个分支节点和多个叶节点的决策树,并且所述计算成本基于所述多个分支节点的计数来确定。

6.根据前述权利要求中任一项所述的方法,其中,将所述算法从所述第二状态开发至所述第三状态的步骤包括开发新算法。

7.根据权利要求1至5中任一项所述的方法,其中,将所述算法从所述第二状态开发至所述第三状态的步骤包括从所述算法的第二状态修改所述算法。

8.一种包括指令的计算机程序,当所述程序由计算机执行时,所述指令使所述计算机执行根据前述权利要求中任一项所述的方法。

9.一种计算机可读数据载体,所述计算机可读数据载体上存储有根据权利要求8所述的计算机程序。

10.一种用于对算法进行控制的装置,所述装置包括用于存储与计算系统相关的数据的存储器,以及被配置为执行根据权利要求1至7中任一项所述的步骤的处理器。

技术总结
本发明涉及由计算机实现的对算法进行控制的方法以及用于实现所述方法的装置,所述方法包括以下步骤:通过机器学习处理将所述算法从第一状态开发至第二状态;确定执行处于其第二状态的所述算法的第二计算成本;确定所述第二计算成本是否满足触发条件;并且如果是,则将所述算法从所述第二状态整合至第三状态,其中,执行处于其第三状态的所述算法的第三计算成本小于所述第二计算成本。

技术研发人员:K·延森;B·威尔金纳斯;S·卡西迪
受保护的技术使用者:英国电讯有限公司
技术研发日:2018.09.11
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-47666.html

最新回复(0)