技术领域
本发明涉及大数据处理领域,尤其涉及一种基于多智能体强化学习的信贷工厂订单调度方法及装置。
背景技术
近年来消费信贷在中国取得了巨大的成功。消费金融公司需要审批客户提交的贷款订单,然后确定是否授予贷款。信贷工厂是加速贷款审批的重要手段。消费信贷的特点是额度小,频率高。考虑到消费信贷的这些特征,许多公司引入了信贷工厂模式。信贷工厂是新加坡淡马锡集团发明的一种新型贷款审批模式。信贷工厂模式已被包括中国银行,中国建设银行和招商银行在内的多家金融机构采用。类似于工厂流水线,信贷工厂将信贷审批分为几个流程,并为每个流程制定标准化的操作。信贷工厂通过引入流程标准化来提高信贷审批流程的效率。
信贷工厂中的一个关键部分是信贷工厂订单调度。合理的信贷工厂订单调度可以大大减少申请时间。在金融公司中(如银行、保险或信托等领域),时间对客户来说非常宝贵。同时时间也是成本,减少贷款申请时间意味着降低成本。因此,信贷工厂订单调度可以增强公司的成本优势并提高贷款审批效率。
强化学习是优化序贯决策问题的强大工具。现有技术中存在采用多智能体强化学习(MARL)来解决车间调度问题,该算法实现了分散调度,可用于未知情况而无需重新训练,但该工作中每个作业的到达时间和处理时间是已知的,相比之下,到达时间和处理时间未知的信贷工厂订单调度则更为复杂。
尽管已经有不少工作进行了MARL算法在订单调度问题中的应用研究,但是对于具有多机器、多过程、随机到达时间和处理时间等特点的大规模实时订单调度问题还没有成熟的技术方案。
发明内容
有鉴于此,本申请提出了一种基于多智能体强化学习的信贷工厂订单调度方法及装置,以提高信贷工厂订单处理效率。
根据本申请的一个方面,提出了一种基于多智能体强化学习的信贷工厂订单调度方法,该方法包括:
多智能体将行动发送至环境;
环境计算出所述多智能体共享的状态以及各个智能体的奖励;
环境将所述多智能体共享的状态以及各个智能体的奖励发送至对应的各个智能体;
各个智能体根据收到的状态以及奖励选择行动;
其中,所述多智能体依次处理所述信贷工厂订单。
优选地,所述多智能体的数量为多个(如4个),所述环境为信贷工厂。
优选地,所述行动为选择的调度规则。
优选地,所述调度规则为、先到先服务、最短松弛时间、最早截止时间、以及后到先服务中的一者,其中松弛时间为截止时间与到达时间之差。
优选地,所述环境根据下述步骤计算奖励:
环境计算
环境将
优选地,所述环境根据如下步骤分配奖励:
获取各个智能体处理信贷工厂订单的松弛时间;至少获取各个智能体中信贷工厂订单的输入时间、结束时间和等待时间;
如果结束时间和到达之间之差大于松弛时间,则该智能体处理信贷工厂订单超时;
计算各个智能体处理信贷工厂订单的平均等待时间和超时率;
根据信贷工厂订单的平均等待时间和超时率,将奖励分配给各个智能体。
优选地,环境根据如下步骤计算多智能体共享的状态:
使用编码器对信贷工厂订单处理信息矩阵进行降维处理;
对降维处理后的信贷工厂订单处理信息矩阵进行聚类,得到多智能体共享的状态。
本申请提供了一种基于多智能体强化学习的信贷工厂订单调度装置,该信贷工厂订单调度装置包括多智能体和环境;
多智能体,用于根据收到的状态以及奖励选择行动;将行动发送至环境;
环境,用于计算出所述多智能体共享的状态以及各个智能体的奖励;将所述多智能体共享的状态以及各个智能体的奖励发送至对应的各个智能体;
其中,所述多智能体依次处理所述信贷工厂订单。
优选地,所述多智能体的数量为多个(如4个),所述环境为信贷工厂。
优选地,所述行动为选择的调度规则。
优选地,所述调度规则为、先到先服务、最短松弛时间、最早截止时间、以及后到先服务中的一者,其中松弛时间为截止时间与到达时间之差。
优选地,所述环境还用于计算
优选地,所述环境还用于获取各个智能体处理信贷工厂订单的松弛时间;至少获取各个智能体中信贷工厂订单的输入时间、结束时间和等待时间,其中,如果结束时间和到达之间之差大于松弛时间,则判定该智能体处理信贷工厂订单超时;计算各个智能体处理信贷工厂订单的平均等待时间和超时率;根据信贷工厂订单的平均等待时间和超时率,将奖励分配给各个智能体。
优选地,环境还用于使用编码器对订单处理信息矩阵进行降维处理;对降维处理后的订单处理信息矩阵进行聚类,得到多智能体共享的状态;其中信贷工厂订单处理信息矩阵包含信贷工厂订单的平均等待时间和超时率。
根据本申请的技术方案,能够缩短订单审批时间,提高顾客满意度,进而在同行业竞争中占据优势地位;能够实现信贷工厂的智能化调度管理;能够使得信贷工厂可以在动态环境下制定出科学合理的调度方案,极大的增强了信贷工厂中订单调度的抗干扰能力。
本申请的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施方式及其说明用于解释本申请。在附图中:
图1为信贷工厂订单处理流程;
图2为基于多智能体强化学习的系统框架;
图3为奖励分配流程图;
图4为状态计算流程图;
图5为基于多智能体强化学习的订单调度方法流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施方式及各个实施方式中的特征可以相互组合。
下面将参考附图并结合实施方式来详细说明本申请。
本申请以信贷工厂订单处理流程为例,将信贷工厂中的信贷工厂订单调度问题建模为多智能体强化学习(MARL)任务。信贷工厂的贷款审批过程被分解为几个连续的流程。每个流程的信贷工厂订单调度都可以建模为队列调度问题,并与一个强化学习智能体相关联。智能体通过奖励分配策略和状态共享来进行协作,这一部分将在下文中进行介绍。本申请提供了一种新的奖励机制,包括奖励计算和奖励分配。此外,本申请使用卷积自编码器和K-Means聚类分析来生成智能体的状态。
需要说明的是,下述优选的实施方式以信贷工厂的处理流程为例,本领域技术人员应当知晓,本申请的方案可以用于其它需要连续进行信贷工厂订单处理(如信贷工厂所述的连续订单处理流程)的应用场景中。
信贷工厂中贷款订单审批的典型流程如图1所示。信贷工厂订单需要经过四个流程(流程1-4)才能完成整个贷款审批流程。流程1(分类)将信贷工厂订单中所包含的材料分为不同的类别,例如身份证,合同,担保信息等。流程2(切片)对关键文档信息进行截图并存储。例如,从身份证中获取姓名切片。流程3(录入)将在流程2中生成的切片信息录入数据库。流程3将非结构化数据转换为结构化数据。流程4(复核)检查并确认来自不同信息源的信息。例如,需要确认身份证上的姓名与贷款合同中的姓名是否匹配。
而在本申请的技术方案中,信贷工厂订单审批过程可以建模为由四个连续的订单队列组成的排队系统。客户到达信贷工厂并发送贷款申请订单。在信贷工厂中,每个过程都由一个排队区和一个处理区组成。排队区中有若干排队的订单。在排队区中,排队顺序由强化学习选择的调度规则确定。处理区从排队区依次接收信贷工厂订单。每个流程的处理区中都有若干工人。假设信贷工厂中的所有工人都是同质。离开处理区后,订单将被发送到下一个流程的排队区。审批过程将继续进行,直到信贷工厂订单完成所有四个流程为止。由于订单的异质性,使用简单的先到先服务规则通常不能达到效率最优化。因此本申请基于强化学习针对不同的情况自适应的选取合适的规则,从而优化贷款审批流程。
本申请的信贷工厂订单调度问题主要考虑两个目标:1)超时率,即在一批订单(例如30个订单)中未完成订单的比例;2)平均等待时间。这两个目标旨在从不同角度满足客户需求。消费金融公司通常向客户承诺贷款审批不超过一小时,并将低超时率视为一种竞争优势。超时率越低,公司损失越少。但是,过分追求低超时率会导致系统总处理能力下降,不再处理那些已超时的信贷工厂订单。为避免这种情况,本申请的技术方案中还添加了第二个目标:平均等待时间。
本申请将信贷工厂订单调度问题表述为多智能体强化学习任务。图2显示了基于MARL订单调度框架。具体来说,此框架中的组成部分包括智能体和环境,环境可以计算状态、奖励、以及应当分配至各个智能体的奖励。
MARL框架由四个智能体组成,每个智能体均根据经典的Q学习算法进行训练并做出决策。每个智能体负责其对应流程的信贷工厂订单排序。在每个时间步,每个智能体都根据其Q值表做出决策。Q值表将当前状态作为输入,然后输出动作。接下来,将所有智能体的动作输入到环境中。环境根据这些动作来对订单进行排序,并计算下一步的状态和总体奖励。信贷工厂包括四个连续的信贷工厂订单队列,每个队列中的信贷工厂订单处理均受其上游和下游信贷工厂订单队列的影响。因此,智能体之间需要进行协调合作,这可以通过奖励分配和共享状态生成来实现。奖励分配策略根据贡献将总体奖励分配给每个智能体,奖励分配策略和共享状态体现了多个智能体之间的协作关系。每个智能体根据状态及其相应的奖励更新Q值表。
信贷工厂的订单调度问题包括例如四个流程。每个流程都被建模为单独的智能体。每个智能体控制每个流程的订单调度。奖励分配策略和状态共享体现了多个智能体之间的协作关系。
环境:环境就是信贷工厂。智能体选择动作并将其输入到环境中。环境再根据这些动作来调度信贷工厂订单。然后,环境从调度结果计算得到奖励和状态。
行动是从调度规则子集(SRS)中选择一个调度规则。本申请选择调度规则作为动作,并选择四个调度规则组成调度规则子集,具体调度规则如下调度规则列表所示。调度规则的选择基于现有技术实现,例如Panwalkar等的研究成果。
环境可以计算应当给予多个智能体的奖励,奖励函数本质上是用于引导智能体实现目 标。智能体的目标是优化超时率和平均等待时间。本申请结合超时率和平均等待时间作为 奖励R。在t步调度周期完成后,从环境中获取t步的调度结果。根据调度结果,可以计算第t 步信贷工厂订单的平均等待时间
环境将
环境可以从调度结果中获得总体奖励。然后,将总体奖励分配给每个智能体,作为它们各自的奖励。总体奖励的分配基于每个智能体对超时率和平均等待时间的贡献。奖励分配流程如图3所示,具体包括:
步骤301,根据处理时间将每个信贷工厂订单的总体松弛时间分配给每个智能体。然后,获得第k个智能体中信贷工厂订单的松弛时间(k = 1,2,3,4)。总体松弛时间可以根据不同信贷工厂订单的属性提前给定。分配松弛时间可以按照平均处理时间所占总处理时间的比例进行分配。
步骤303,环境运行调度方案产生调度结果,从调度结果中获得第k个智能体中信贷工厂订单的输入时间,结束时间和等待时间等信息。
步骤305,如果结束时间与到达时间之差大于松弛时间,则执行步骤309,判定订单在该智能体中超时;否则,执行步骤307,判定为未超时。
步骤311,计算第k个智能体中信贷工厂订单的平均等待时间和超时率。
步骤313,根据第k个智能体中一批信贷工厂订单的平均等待时间和超时率,将总奖励分配给第k个智能体。例如,根据各个智能体的等待时间计算各个智能体的权重,然后根据权重和总奖励分配各个智能体对应的奖励。
环境可以生成多智能体共享的状态。为了提取状态s,本申请基于自动编码器的状态表示。该方法首先使用编码器(encoder)将最新的信贷工厂订单处理信息矩阵L映射到低维表示矩阵E中。 然后,将矩阵E应用于K-均值(K-Means)聚类分析以获得最终状态类别标签。
在本申请的优选实施方式中,强化学习的一步确定了一批信贷工厂订单的调度。例如,一批包含30个订单。作为示例,本申请从最近两批已处理信贷工厂订单的处理信息中提取状态表示,以便能反映当前调度情况的状态。订单的处理信息包括每个流程中信贷工厂订单的到达,等待,处理和延迟时间。
K-Means聚类通常用于强化学习中的状态提取。高维数据通常会转换为低维数据,在低维数据中K-Means可以更清晰地检测到相关模式。自动编码器可以有效降低维度。自动编码器包含一个编码器和一个解码器。编码器可以将高维输入映射为低维表示。解码器可以根据低维表示重建输出。自动编码器通过使原始输入和重建输出之间的重建损失最小化,来保证信息压缩的质量。因此,本申请使用自动编码器来降低高维数据(60 * 5 = 300像素)的维度,然后使用K-Means获得最终状态标签。为了从调度结果中得到准确的状态表示,本申请使用了一种基于自动编码器的状态表示方法。
基于自编码器的状态表示方法如图4所示,具体分为如下四个步骤。
步骤1:提取步骤t + 1的状态时,选择t和t-1的订单信息作为最新的订单处理信息。最新订单处理信息矩阵L包含例如60个信贷工厂订单的处理信息。每个信贷工厂订单的信息包括每个智能体处理信贷工厂订单的平均等待时间(图4中的I
步骤2:矩阵L的维数为60*5。使用卷积自动编码器将L转换为维度为m * n的编码矩阵E。
步骤3:将矩阵E中的每一列链接到长度为m * n的状态向量
步骤4:当SVS中状态向量的数量等于g时,使用k-均值聚类对SVS进行分类。
输入:状态向量集SVS,聚类中心的数量k(k (a) 选择k个状态向量 (b) 根据 (c)根据公式 (d) 重复(b),直到SVS中的所有状态向量都已划分为相应的状态向量集合。 (e) 形成k个状态向量集合和k个聚类中心。 步骤5:最后,当出现一个新的状态向量 基于上述的方案,本申请提供的基于多智能体强化学习的信贷工厂订单调度方法如图5所示,具体包括: 步骤501,多智能体将行动发送至环境; 步骤503,环境计算出所述多智能体共享的状态以及各个智能体的奖励; 步骤505,环境将所述多智能体共享的状态以及各个智能体的奖励发送至对应的各个智能体。 基于上述提供的方案,本申请能够缩短信贷工厂订单审批时间,提高顾客满意度,进而在同行业竞争中占据优势地位;能够实现信贷工厂的智能化调度管理;能够使得信贷工厂可以在动态环境下制定出科学合理的调度方案,极大的增强了信贷工厂中订单调度的抗干扰能力。 以上所述仅为本申请的较佳实施方式而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
机译: 基于智能网格的多智能体深度强化学习代理方法
机译: 基于强化学习的协作驾驶中多智能体传感器融合的方法和装置
机译: 基于强化学习的协作驾驶中多智能体传感器融合的方法和装置