用于构建风险控制模型的方法和***
技术领域
本公开主要涉及风险控制,尤其涉及风险控制模型。
背景技术
互联网金融的风险控制涉及交易和资金风险防控,包括盗用、欺诈、营销作弊、垃圾注册识别和决策等。
以在超市收银台以手机APP进行支付的场景为例,风险控制***需要检查手机账户是否被盗用、是否欺诈被骗、是否有违法套现等。在实践中,不同的风险类型会给模型的构建和更新带来不同的挑战。
当前,风险控制模型在开发和部署的过程中主要碰到两个比较大的问题。
一个问题是新建模型流程复杂,其中的数据清洗、模型训练、模型部署都需要耗费大量的人力,平均一个模型开发和部署耗时超过1个月。这导致针对新业务,模型响应速度比较慢。
另一个问题是模型迭代周期长,整个模型的更新需要耗费大量人力和时间来进行重训和部署。这导致风险对抗能力比较差,因为风险无时不在变化,有很强的对抗性。
本领域需要一种高效的用于构建风险控制模型的方法和***,可针对新站点、新场景快速上线模型,从而为针对时刻变化的风险快速更新和迭代模型奠定基础。
发明内容
为解决上述技术问题,本公开提供了一种高效的用于构建风险控制模型的方案。
在本公开一实施例中,提供了一种用于高效地构建风险控制模型的方法,包括:构建基础模型库以在触发新业务时选择基础模型库中的模型,来搭建缺省模型;通过自动特征生成、自动特征选择和自动调参来构建适合新业务的新模型;经由迁移学习训练缺省模型和新模型;自动融合经训练的缺省模型和经训练的新模型,以生成融合模型;将经训练的缺省模型用作线上模型,并将经训练的新模型和融合模型用作备份模型;以及当备份模型之一优于线上模型时,用该备份模型替代线上模型。
在本公开的另一实施例中,搭建缺省模型进一步包括:针对各个场景提炼风险模块;针对每个风险模块构建基础模型,并基于基础模型构建基础模型库;在触发新业务时,选取基础模型库中的对应基础模型;以及使用对应基础模型搭建出适合新业务的缺省模型。
在本公开的又一实施例中,所提炼的风险模块包括主动方、被动方、设备、环境、行为、关系、冲突、突变和FTG(Fraud to Gross)。
在本公开的另一实施例中,构建新模型进一步包括:获取原有变量池;基于原有变量池中的原有变量自动生成不同类型的特征;从原有变量池和自动生成的特征中选择适合场景的变量,以生成变量列表;针对变量列表进行自动调参;以及获取适合场景的新模型。
在本公开的又一实施例中,自动特征生成包括对原有的特征进行转换、计算以及聚合而产生新的候选特征。
在本公开的另一实施例中,自动特征选择涉及特征子集搜索和特征子集评价。
在本公开的又一实施例中,自动调参采用网格搜索、随机搜索以及贝叶斯优化之一。
在本公开一实施例中,提供了一种用于高效地构建风险控制模型的***,包括:缺省模型搭建模块,其构建基础模型库以在触发新业务时选择基础模型库中的模型,来搭建缺省模型;新模型构建模块,其通过自动特征生成、自动特征选择和自动调参来构建适合新业务的新模型;模型训练模块,其经由迁移学习训练缺省模型和新模型;融合模型生成模块,其自动融合经训练的缺省模型和经训练的新模型,以生成融合模型;最优模型选择模块,其将经训练的缺省模型用作线上模型,并将经训练的新模型和融合模型用作备份模型,并且当备份模型之一优于线上模型时用该备份模型替代线上模型。
在本公开的另一实施例中,缺省模型搭建模块进一步:针对各个场景提炼风险模块;针对每个风险模块构建基础模型,并基于基础模型构建基础模型库;在触发新业务时,选取基础模型库中的对应基础模型;以及使用对应基础模型搭建出适合新业务的缺省模型。
在本公开的又一实施例中,所提炼的风险模块可包括主动方、被动方、设备、环境、行为、关系、冲突、突变和FTG(Fraud to Gross)。
在本公开的另一实施例中,新模型构建模块进一步:获取原有变量池;基于原有变量池中的原有变量自动生成不同类型的特征;从原有变量池和自动生成的特征中选择适合场景的变量,以生成变量列表;针对变量列表进行自动调参;以及获取适合场景的新模型。
在本公开的又一实施例中,新模型构建模块进行自动特征生成包括对原有的特征进行转换、计算以及聚合而产生新的候选特征。
在本公开的另一实施例中,新模型构建模块进行自动特征选择涉及特征子集搜索和特征子集评价。
在本公开的又一实施例中,新模型构建模块进行自动调参采用网格搜索、随机搜索以及贝叶斯优化之一。
在本公开一实施例中,提供了一种存储有指令的计算机可读存储介质,当这些指令被执行时使得机器执行如前所述的方法。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
本公开的以上发明内容以及下面的具体实施方式在结合附图阅读时会得到更好的理解。需要说明的是,附图仅作为所请求保护的发明的示例。在附图中,相同的附图标记代表相同或类似的元素。
图1示出根据本公开一实施例的用于高效地构建风险控制模型的方法的流程图;
图2示出根据本公开一实施例的用于高效地构建风险控制模型的方法的示意图;
图3示出根据本公开一实施例的用于搭建缺省模型的过程的流程图;
图4示出根据本公开一实施例的用于搭建缺省模型的过程的示意图;
图5示出根据本公开一实施例的用于自动构建新模型的过程的流程图;
图6示出根据本公开另一实施例的用于自动构建新模型的过程的示意图;
图7示出根据本公开一实施例的用于高效地构建风险控制模型的***的框图;
图8示出根据本公开一实施例的用于高效地更新风险控制模型的方法的流程图;
图9示出根据本公开一实施例的用于高效地更新风险控制模型的方法的示意图;
图10示出根据本公开一实施例的用于高效地更新风险控制模型的***的框图。
具体实施方式
为使得本公开的上述目的、特征和优点能更加明显易懂,以下结合附图对本公开的具体实施方式作详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但是本公开还可以采用其它不同于在此描述的其它方式来实施,因此本公开不受下文公开的具体实施例的限制。
互联网金融的风险控制涉及交易和资金风险防控。移动支付在带给人们便捷生活的同时,也面临着网络欺诈的空前挑战。在下文中,本公开将以网络欺诈为例,描述如何高效地构建风险控制模型以防控网络欺诈。本领域技术人员将能够理解,本公开的技术方案中所构建的风险控制模型并不仅限于用来防控网络欺诈,其可被广泛用于各种类型的交易和资金风险的风险防控。
本公开提出了一种用于高效地构建风险控制模型的方案。针对当前本领域内新建模型流程复杂,其中的数据清洗、模型训练、模型部署都需要耗费大量的人力的问题,本公开的技术方案基于基础模型搭建、自动模型构建和融合模型生成,通过线上模型与备份模型的实时竞争,高效地构建出具有不断新增的风险特征挖掘和优化算法迭代的模型。
本公开还提出了一种用于高效地更新风险控制模型的方案。该方案可以针对时刻变化的风险实现模型的快速更新和迭代,大大增加模型的自适应能力,来提升对风险的防控能力。于此同时,自动再拟合(refit)、自动重训练(retrain)、在线学习(onlinelearning)等将大大缩短模型训练和部署的周期,提升模型开发的效率。
因此,本公开的技术方案不仅提供了通用的技术框架和解决方案,还提供了适配不同业务发展阶段的模型能力。
下文将基于附图具体描述根据本公开各个实施例的用于高效地构建风险控制模型的方法和***。
用于高效地构建风险控制模型的方法
图1示出根据本公开一实施例的用于高效地构建风险控制模型的方法100的流程图。
在102,构建基础模型库以在触发新业务时选择该基础模型库中的模型,来搭建缺省模型。
在风险控制的过程中,可提炼出众多风险模块,包括主动方、被动方、设备、环境、行为、关系、冲突、突变和FTG(Fraud to Gross)等等。这些风险模块实际上作为变量来进行刻画,可分为:历史信息汇总类变量(velocity类);衍生类变量,包括个体突变和群体概率;以及关系类变量等等。
以转账到账户交易为例,涉及的两个主体为支出账户及收款账户。在风控事件中,除了账户交易行为还包括账户的操作行为及日志等信息,其中支出账户作为主动方的行为包括支出、改密、加好友、改头像等等,收款账户作为被动方的行为包括收款、被举报、被加好友等等。针对一笔转账交易,可基于支出账户的行为和收款账户的行为进行序列挖掘分析,并且针对账户的短期行为及历史长期行为进行不同长短时间窗的挖掘,识别账户异常行为序列,从而提升欺诈防控。
针对每个风险模块或变量,可建设不同的基础模型,从而构建基础模型库。举例而言,针对身份变量中的主动方,可基于用户灰名单、交易历史信息等构建账户成熟度、信息泄露人群、易被盗人群、安全感人群等基础模型。针对行为,可基于账户的短期行为和历史长期行为构建账户操作行为、校验交互行为、场景转移行为、资金流转行为等基础模型。针对设备,可构建异常登陆设备、异常操作设备、异常篡改设备、运行木马设备等基础模型。相似地,针对地址,可构建异常登陆地址、异常操作地址、异常篡改地址、虚假地址等基础模型。针对关系,可构建与对方关系、与场景关系、与内容关系、与位置关系等基础模型。
本领域技术人员可以理解,针对不同的风险模块或变量,可按照其不同的类型来构建不同的基础模型,在此将不再赘述。
当触发新业务或新站点时,可基于基础模型库自由选择基础模型库里的模型,来自动搭建适合该业务/站点的缺省模型。在搭建缺省模型的过程中,所涉及的实际上是多个变量合并建模。本领域技术人员可以理解,对于不同的业务或站点,可选取基础模型库中的不同模型,来进行不同变量的合并建模。
以下将参照图3和图4详细描述根据本公开一实施例的搭建缺省模型的过程。
在104,通过自动特征生成、自动特征选择和自动调参来构建适合新业务的新模型。
在自动构建新模型时,可通过特征工程来自动学习或刻画不同变量。
自动特征生成是基于数据集来自动地构造与目标任务相关的候选特征,通常将时间和关系数据集转换为可用于机器学习的特征矩阵。
由于通常所采集到数据的特征维度不会很大,而且直接采集到的特征并不能完全体现数据的全部信息,需要通过已有数据的组合来发现新的意义,因此需要结合业务需求进行特征衍生,即对现有的特征进行某种组合,生成新的具有含义的特征,以增加相应特征量,从而挖掘更有价值的特征、获得最优模型。
当然,有时又可能因为特征过多而需要降维处理,此时一般从众多特征中提取出特征的共性,从而方便进行建模。
自动特征生成中特征衍生的操作分成转换、计算和聚合,即对原有的特征进行转换、计算以及聚合而产生新的候选特征。举例而言,对单一变量进行基础转换,比如通过对单一变量进行log转换等。又如,通过添加时间维度将变量进行衍生,比如6个月交易数据等。再如,对多个变量的运算,比如两个变量相加、相乘或其他运算。当然,本领域技术人员可以理解,特征衍生的方式各种各样,具体还是要基于业务场景的需要来进行相应的处理。
针对不同的变量,可采用不同的手段来获取特征。举例而言,针对文本变量,可使用Capsule Network(胶囊或向量神经元网络,下文中称为胶囊网络)算法来获取特征;针对序列变量,可使用LSTM(长短期记忆网络)来获取特征;针对历史信息汇总类(velocity)变量,可使用遗传算法和强化学习来获取特征;而针对变量组合(variable combination),可使用FTRL(Follow The Regularized Leader)来进行特征的组合。
就文本变量而言,胶囊网络用神经元向量代替传统神经网络的单个神经元节点,以动态路由的方式去训练这种全新的神经网络;其可以智能地针对局部和整体(part-whole)关系来生成特征,从而自动地将学到的知识推广到不同的新场景中。也就是说,胶囊网络引入了新的结构块,更好地表达各个特征之间的层次化关系,即胶囊网络具备平移同变性(代替平移不变性),能够识别到不同特征之间的相对位置或相对关系,从而使得它可使用更少的数据得到更广的泛化。
LSTM网络作为特殊的RNN具备链状结构,能够学习到长期依赖关系并记忆长期信息,因此适合用来获取序列变量的特征。
针对历史信息汇总类变量,可采用遗传算法和强化学习来获取特征。遗传算法和强化学习两者皆属搜索方法,其可被用于以一种群体中的所有个体为对象,通过选择、交叉和变异的遗传操作对被编码的特征空间进行高效搜索,以期快速、准确地找到适应业务需求的候选特征。
FTRL(Follow The Regularized Leader)进行特征的组合实际上赋予模型实时捕捉线上特征变化的能力,从而为突破固定维度限制、实现特征的动态增加和删除奠定基础。
本领域技术人员可以理解,针对不同变量的特征生成或获取,可采用不同的方法来进行,在此不再赘述。
针对自动生成的特征以及原有的特征进行自动特征选择一般从两个方面考虑:
·特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在该特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
·特征与目标的相关性:与目标相关性高的特征,应当优选选择。
实际上,以上的两个方面可通过获取特征的重要性(即,Feature Importance)来衡量。例如,Light GBM的feature_importances可以通过特征的***次数或利用该特征***后的增益来衡量。一般情况下,不同的衡量准则得到的特征重要性顺序会有差异。可通过多种评价标准来交叉选择特征,例如Permutation Importance和K-Fold FeatureImportance。
在Permutation Importance方法中,若将一个特征置为随机数,模型效果下降很多,说明该特征比较重要;反之则不是。而在K-Fold Feature Importance方法通过K-Fold交叉验证来进行特征的选择,对比不同的特征组合对于模型的预测效果。
自动特征选择涉及的关键环节是特征子集搜索和特征子集评价。将特征子集搜索机制和特征子集评价机制相结合,可得到特征选择方法。特征选择可被用于减少特征数量、降维,使模型泛化能力更强,减少过拟合;以及增强对特征和特征值之间的理解。通过自动特征选择,可从已有的变量池加上自动生成的特征中选取适合某场景/风险的最有效的变量列表。
在完成特征选择之后,需要进行自动调参(即参数的自动调优)。参数又分为模型参数与超参数。模型参数是所使用的模型根据训练数据的分布学习到的参数,其不需要人为的先验经验。超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给模型选择一组最优超参数,以提高学习的性能和效果。通常情况下,常用的超参数调优方法有:网格搜索、随机搜索与贝叶斯优化。在本公开一实施例中,采用了贝叶斯优化来进行参数的自动调优。本领域技术人员可以理解,可选择使用其他的参数调优方法,在此不再赘述。
由此,通过自动特征生成、自动特征选择和自动调参,就可构建适合新业务的新模型。
以下将参照图5和图6详细描述根据本公开一实施例的构建新模型的过程。
在106,经由迁移学习训练缺省模型和新模型。
模型的规模和模型所需要的训练数据量之间存在有趣的线性正相关关系。通常,模型的规模应该足够大,才能充分捕捉数据间不同部分的联系(例如图像中的纹理和形状)和待解决问题的细节信息(例如分类的数量)。模型前端的层次通常用来捕获输入数据的高级联系(例如图像边缘和主体等)。模型后端的层次通常用来捕获有助于做出最终决定的信息(通常是用来区分目标输出的细节信息)。因此,待解决的问题的复杂度越高(如图像分类等),则参数的个数和所需的训练数据量也越大。
在大多数情况下,面对某一领域的某一特定问题,不太可能找到足够充分的训练数据。但是,得益于迁移学习技术,从其他数据源训练得到的模型,经过一定的修改和完善,就可以在类似的领域得到复用。迁移学习可理解为定义多个源领域(source domain)和一个目标领域(target domain),在source domain学习,并把学习到的知识迁移到targetdomain,提升target domain的学习效果(或performance)。
迁移学习的基本思路是利用预训练模型,即已经通过现成的数据集训练好的模型。开发者需要在预训练模型中找到能够输出可复用特征的层次,然后利用该层次的输出作为输入特征来训练那些需要参数较少的规模更小的神经网络。由于预训练模型此前已经习得了数据的组织模式(pattern),因此该较小规模的网络只需要学习数据中针对特定问题的特定联系就可以了。
迁移学习带来的优点并不局限于减少训练数据的规模,还可以有效避免过度拟合(overfit),这是因为迁移学习允许模型针对不同类型的数据展开学习,因此其在捕捉待解问题的内在联系方面的表现也就更优秀。
在本公开一实施例中,采用多任务学习(Multi-task learning,为迁移学习的一种)来训练缺省模型和新模型。由于通常关注点集中在单个任务上,会忽略可能帮助优化度量指标的其它信息,例如来自相关任务的训练信号。多任务学习通过共享相关任务之间的表征(例如,共享数据、共享特征、共享参数等等),可以使模型更好地概括原始任务。多任务学习也是一种归纳迁移机制,通过使用共享表征并行训练多个任务来提高泛化能力。归纳迁移专注于将解决一个问题的知识应用到相关问题的方法,从而提高学习的效率。此外,由于使用共享表征对多个任务同时进行预测时,减少了数据源的数量以及整体模型参数的规模,因此使预测更加高效。本领域技术人员可以理解,可选择使用其他的迁移学习方法,在此不再赘述。
由此,可将现有业务、站点的模型能力快速移植到其他业务和站点,从而在针对新的场景建设模型时即使仅有少量数据和标签也可实现快速落地,并且使得模型具备比较出色的性能。
在108,自动融合经训练的缺省模型和经训练的新模型,以生成融合模型。
经由前述步骤,已生成了不同的多维特征和多个模型。集成学习(EnsembleLearning)可通过融合模型来高效利用这些特征和模型提升上线模型的性能。实际上集成学习通过构建并结合多个学习器来完成学习任务。通常认为将多个学习器相结合地学习,比单一学习器的学习要准确得多。要想得到好的集成学习器,基学习器既要有一定的准确性也要有多样性,也就是学习器间有差异性存在从而保证有一定的泛化能力。
常用的集成学习框架有bagging(并行式融合)、boosting(串行式融合)和stacking(堆栈式融合)框架。在本公开一实施例中,采用了stacking框架。具体而言,就是采用评分卡模式,先将多个模型进行打分,接着将打分结果分箱,再训练逻辑回归模型,最后做加权打分。
由此,通过自动的多模型融合可实现基础模型库中的多个模型或者多个新建模型的快速集成,以此来显著提升上线模型的性能。
在110,将经训练的缺省模型用作线上模型,并将经训练的新模型和融合模型用作备份模型。
在112,当备份模型之一优于线上模型时,用该备份模型替代线上模型。
在具备了经训练的缺省模型、经训练的新模型和融合模型之后,就采用冠军/挑战者试验或者A/B测试来比较线上模型(即既定策略/冠军策略)与一个或多个备选模型(即挑战模型)。
在冠军/挑战者模式中,通常会将经训练的缺省模型用作线上模型,因为其是基于已有模块构建的;而将经训练的新模型和融合模型用作备份模型。一旦发现备份模型比线上模型效果更好时,备份模型会上线替代掉线上模型,而线上模型会变成备份模型,以此来保证线上模型一直处于最佳性能。
图2示出根据本公开一实施例的用于高效地构建风险控制模型的方法的示意图。
本公开提出的用于高效地构建风险控制模型的方案由风控引擎来实现。风控引擎基于智能、高效的风险识别算法体系,不仅包括常规的有监督学习算法,还包括大量基于深度学习的无监特征生成算法以及其他监督和无监督概念之外的算法。
风控引擎通过风险感知(由风控引擎感知中心执行)、风险识别、智能决策(由风控引擎智能中心执行)、智能进化(由风控引擎保障中心执行)体系来构建。基于风控引擎,不仅能对每个用户的支付行为进行实时风险扫描,而且通过不断新增的风险特征挖掘和优化算法迭代的模型,能自动贴合用户行为特征进行实时风险对抗。更进一步地,风控引擎还可使***自动根据交易流量、风险攻击变化、用户行为迁移,动态智能地调整风控引擎的控制强度,风险打扰率显著降低。
针对用于高效地构建风险控制模型的方案,实际上采用的是用于构建不断新增的风险特征挖掘和优化算法迭代的模型的知识迁移式模型构建体系。知识迁移式模型构建体系可通过风控引擎感知中心,感知到新风险、新站点和新业务,从而快速上线模型。而风控引擎保障中心可以提供对构建好的模型必要的监控能力、AB测试能力和模型回滚能力。与此同时,构建好的模型可以提供给风控引擎智能中心,以进行风险识别和智能决策。
知识迁移式模型构建体系包含三大模块,分别是选择(Selection)、复现(Reproduction)和交叉(Crossover)。
选择模块包含基础模型库和冠军/挑战者两个子模块。
在基础模型库子模块中,将提供搭建缺省模型的能力。从风控体系中提炼出来的风险模块包括主动方、被动方、设备、环境、行为、关系、冲突、突变和FTG(Fraud to Gross)。可针对不同的模块建设不同的基础模型,比如说针对主动方,可以建设账户价值、易受骗人群模型等。有了基础模型库之后,当触发新业务、新站点的时候,可以自由选择基础模型库里的模型,来自动搭建适合该业务/站点的缺省模型。
针对某场景、某业务,一般来说会有对业务直接产生影响的线上模型;此外,还会有备份模型同时在打分而对业务不直接产生影响,这种模式即为冠军/挑战者(Champion&Challenger)。在此冠军/挑战者子模块中,一旦发现备份模型比线上模型效果更好时,备份模型会上线替代掉线上模型,而线上模型会变成备份模型,以此来保证线上模型一直处于最佳性能。
复现模块主要包括建模自动化的能力,包括自动特征生成、自动特征选择和自动调参子模块。
在自动构建新模型时,可通过特征工程来自动学习或刻画不同变量。
自动特征生成是基于数据集来自动地构造与目标任务相关的候选特征。自动特征生成中特征衍生的操作分成转换、计算和聚合,即对原有的特征进行转换、计算以及聚合而产生新的候选特征。
自动特征选择可通过获取特征的重要性来衡量。自动特征选择涉及的关键环节是特征子集搜索和特征子集评价。将特征子集搜索机制和特征子集评价机制相结合,可得到特征选择方法。特征选择可被用于减少特征数量、降维,使模型泛化能力更强,减少过拟合;以及增强对特征和特征值之间的理解。通过自动特征选择,可从已有的变量池加上自动生成的特征中选取适合某场景/风险的最有效的变量列表。
在完成特征选择之后,需要进行自动调参(即参数的自动调优)。参数又分为模型参数与超参数。模型参数是所使用的模型根据训练数据的分布学习到的参数,其不需要人为的先验经验。超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给模型选择一组最优超参数,以提高学习的性能和效果。通常情况下,常用的超参数调优方法有:网格搜索、随机搜索与贝叶斯优化。在本公开一实施例中,采用了贝叶斯优化来进行参数的自动调优。本领域技术人员可以理解,可选择使用其他的参数调优方法,在此不再赘述。
交叉模块包含多任务学习和多模型融合两个子模块。
通过多任务学习子模块,可将现有业务、站点的模型能力快速移植到其他业务和站点,主要通过迁移学习来实现。在本公开一实施例中,采用了多任务学习(属于迁移学习的一种),通过共享数据、共享特征、共享参数等模式来训练模型。由此,可以在新的场景建设模型时,在即使只有少量数据和标签时亦可开发模型,实现快速落地,同时使得模型具备比较出色的性能。
多模型融合子模块可实现模型的自动集成,是提升模型性能的利器。在本公开一实施例中,采用评分卡的模式,即将多个模型的评分结果分箱之后去训练逻辑回归模型,然后来做加权打分。通过自动的多模型融合可以实现基础模型库中多个模型或者多个新建模型的快速集成,由此来显著提升模型性能。
针对用于高效地更新风险控制模型的方案,所采用的是用于更新不断新增的风险特征挖掘和优化算法迭代的模型的知识增强式模型更新体系。知识增强式模型更新体系可通过风控引擎感知中心,感知到新风险、新站点和新业务,从而快速更新模型。而风控引擎保障中心可以提供对经更新的模型必要的监控能力、AB测试能力和模型回滚能力。与此同时,经更新的模型可以提供给风控引擎智能中心,以进行风险识别和智能决策。
知识增强式模型更新体系包含三大模块,分别是自调(Self-tuning)、变异(Mutation)和调适(Adaptation)。
自调模块可实现模型自动再拟合。该模型自动再拟合会在满足触发条件时启用,从数据仓库引入新的训练样本并加入训练样本池,基于对训练样本池中的训练样本的自动选择形成不同样本集,并用不同样本集再拟合风险控制模型。
触发条件包括监控到风控模型的性能有下降或异动。或者,触发条件可以是时间条件,即为定期触发时间,例如一周(Week+1)或一天(Day+1)。又或者,可以手工地或人为地触发使用模型自动再拟合功能。
变异模块可实现模型自动再训练。在模型自动再训练中,将集成建模自动化的能力,通过感知新风险、新业务(例如数据分布的变化、新增事件的变化等),来触发模型的自动再训练,从而藉由改变算法、模型参数等来寻找最优模型。
调适模块包括在线学习模块。通过在线学习,可基于流式数据感知到风险形式的经常变化,由此来快速迭代风控模型。当每笔定***易被输入时,可通过在线学习相关算法(比如FTRL、Online Random Forests)去更新迭代模型。
应用该知识增强式模型更新体系进行风控模型的更新的过程将在下文中参照图8和9具体描述。
图3示出根据本公开一实施例的用于搭建缺省模型的过程300的流程图。
在302,针对各个场景提炼风险模块。所提炼的风险模块可包括主动方、被动方、设备、环境、行为、关系、冲突、突变和FTG(Fraud to Gross)等等。这些风险模块可作为变量来进行刻画,分为:历史信息汇总类变量(velocity类);衍生类变量,包括个体突变和群体概率;以及关系类变量等等。
在304,针对每个风险模块构建基础模型,并基于这些基础模型构建基础模型库。
可针对每个风险模块或变量建设不同的基础模型,来构建基础模型库。例如,针对身份变量中的主动方,可基于用户灰名单、交易历史信息等构建账户成熟度、信息泄露人群、易被盗人群、安全感人群等基础模型。针对行为,可基于账户的短期行为和历史长期行为构建账户操作行为、校验交互行为、场景转移行为、资金流转行为等基础模型。针对设备,可构建异常登陆设备、异常操作设备、异常篡改设备、运行木马设备等基础模型。相似地,针对地址,可构建异常登陆地址、异常操作地址、异常篡改地址、虚假地址等基础模型。针对关系,可构建与对方关系、与场景关系、与内容关系、与位置关系等基础模型。本领域技术人员可以理解,针对不同的风险模块或变量,可按照其不同的类型来构建不同的基础模型,在此将不再赘述。
在306,在触发新业务时,选取基础模型库中的对应基础模型。当触发新业务或新站点时,可基于基础模型库自由选择基础模型库里的模型,以便于自动搭建适合该业务/站点的缺省模型。
在308,使用对应基础模型搭建出适合新业务的缺省模型。在搭建缺省模型的过程中,所涉及的实际上是多个变量合并建模。本领域技术人员可以理解,对于不同的业务或站点,可选取基础模型库中的不同模型,来进行不同变量的合并建模。
图4示出根据本公开另一实施例的用于搭建缺省模型的过程的示意图。
在风险控制的过程中,可提炼出众多风险模块,包括主动方、被动方、设备、环境、行为、关系、冲突、突变和FTG(Fraud to Gross)等等。这些风险模块实际上作为变量来进行刻画,可分为:历史信息汇总类变量(velocity类);衍生类变量,包括个体突变和群体概率;以及关系类变量等等。
针对每个风险模块或变量,可建设不同的基础模型,从而构建基础模型库。举例而言,针对身份变量中的主动方,可构建账户成熟度、信息泄露人群、易被盗人群、安全感人群等基础模型。针对行为,可构建账户操作行为、校验交互行为、场景转移行为、资金流转行为等基础模型。针对设备,可构建异常登陆设备、异常操作设备、异常篡改设备、运行木马设备等基础模型。相似地,针对地址,可构建异常登陆地址、异常操作地址、异常篡改地址、虚假地址等基础模型。针对关系,可构建与对方关系、与场景关系、与内容关系、与位置关系等基础模型。
当触发新业务或新站点时,可基于基础模型库自由选择基础模型库里的模型,以便于自动搭建适合该业务/站点的缺省模型。
图5示出根据本公开一实施例的用于自动构建新模型的过程500的流程图。
在502,获取原有变量池。
以转账到账户交易为例,涉及的两个主体为支出账户及收款账户。在风控事件中,除了账户交易行为还包括账户的操作行为及日志等信息,其中支出账户作为主动方的行为包括支出、改密、加好友、改头像等等,收款账户作为被动方的行为包括收款、被举报、被加好友等等。即,针对一笔转账交易,原有变量主要为支出账户的行为和收款账户的行为。
再以转账到卡场景为例,现有变量为群体变量和FTG变量。目前在转账到卡场景已刻画的FTG变量为城市、年龄及卡bin(发卡行标识代码)等维度。
本领域技术人员可以理解,在不同场景中,可获取不同的原有变量来形成原有变量池。
在504,基于原有变量池中的原有变量自动生成不同类型的特征。
以转账到账户交易为例,可基于支出账户的行为和收款账户的行为进行序列挖掘分析,并且针对账户的短期行为及历史长期行为进行不同长短时间窗的挖掘,识别账户异常行为序列,从而提升欺诈防控。
举例而言,可构造多个行为序列,诸如,支出账户的实时事件序列、实时RPC序列、历史事件序列等;收款账户的实时事件序列、实时RPC序列、历史事件序列等。进一步地,基于这些行为序列,可例如将支出账户与收款账户的实时序列作为主动方序列与被动方序列合并为一个向量。
以转账到卡场景为例,其难点在于新卡的防控。为了进一步防控新卡风险,从群体及FTG变量的思路出发,利用深度学习序列建模生成卡维度的嵌入(embedding),然后将卡维度的嵌入再汇总到卡bin维度,汇总的嵌入提炼了该卡bin的行为信息,从而对于新卡来说只要其卡bin出现过就可以获取其卡bin行为特征。在此场景中,embedding将特征的稀疏矩阵变成密集矩阵,从而达成生成不同类型特征和降维的目的。
本领域技术人员可以理解,在不同场景中,可采用不同的方法来基于原有变量自动生成不同类型的特征。
在506,从原有变量池和自动生成的特征中选择适合场景的变量,以生成变量列表。
原有变量池中的特征和自动生成的特征可合并成一个变量池,再针对特定场景在其中选择相适合的变量列表。
特征选择可通过获取特征的重要性来衡量。自动特征选择涉及的关键环节是特征子集搜索和特征子集评价。将特征子集搜索机制和特征子集评价机制相结合,可得到特征选择方法。通过自动特征选择,可从已有的变量池加上自动生成的特征中选取适合某场景/风险的最有效的变量列表。
在508,针对变量列表进行自动调参。
在选取好变量列表之后,需要进行自动调参(即参数的自动调优)。参数又分为模型参数与超参数。模型参数是所使用的模型根据训练数据的分布学习到的参数,其不需要人为的先验经验。超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给模型选择一组最优超参数,以提高学习的性能和效果。通常情况下,常用的超参数调优方法有:网格搜索、随机搜索与贝叶斯优化。在本公开一实施例中,采用了贝叶斯优化来进行参数的自动调优。本领域技术人员可以理解,可选择使用其他的参数调优方法,在此不再赘述。
在510,获取适合场景的新模型。
由此,通过特征生成、特征选择和自动调参,就可获取适合场景的新模型。
图6示出根据本公开另一实施例的用于自动构建新模型的过程的示意图。
新模型的构建从接收原有数据的输入开始,该原有数据包括事件和标签。事件和标签可对应于不同的变量/特征,这些变量/特征是原有变量/特征。
新模型的构建包括特征生成、特征选择和自动调参。
特征生成基于原有变量池和自动生成的特征构成不同类别的特征,例如事件属性特征(property)、事件累积特征(velocity)、事件序列特征(sequence)、关系拓扑特征(graph)、文本表达特征(text info)、变量组合特征(variable combination)等等。
基于这些不同类别的特征,可针对特定场景在其中选择相适合的变量,即进行特征选择。特征选择可通过获取特征的重要性来衡量。自动特征选择涉及的关键环节是特征子集搜索和特征子集评价。将特征子集搜索机制和特征子集评价机制相结合,可得到特征选择方法。通过自动特征选择,可从已有的变量池加上自动生成的特征中选取适合某场景/风险的最有效的变量列表。
在选取好变量列表之后,需要进行自动调参。通常情况下,常用的参数调优方法有:网格搜索、随机搜索与贝叶斯优化。本领域技术人员可以理解,可按需使用特定参数调优方法,在此不再赘述。
通过特征生成、特征选择和自动调参,就可输出适合场景的新模型。
本公开提出了一种用于高效地构建风险控制模型的方案。针对当前本领域内新建模型流程复杂,其中的数据清洗、模型训练、模型部署都需要耗费大量的人力的问题,本公开的技术方案基于基础模型搭建、自动模型构建和融合模型生成,通过线上模型与备份模型的实时竞争,高效地构建出具有不断新增的风险特征挖掘和优化算法迭代的模型。因此,本公开的技术方案不仅提供了通用的技术框架和解决方案,还提供了适配不同业务发展阶段的模型能力。
用于高效地构建风险控制模型的***
图7示出根据本公开一实施例的用于高效地构建风险控制模型的***700的框图。
***700包括缺省模型搭建模块702、新模型构建模块704、模型训练模块706、融合模型生成模块708以及最优模型选择模块710。
缺省模型搭建模块702构建基础模型库以在触发新业务时选择该基础模型库中的模型,来搭建缺省模型。
在风险控制的过程中,缺省模型搭建模块702可提炼出众多风险模块,包括主动方、被动方、设备、环境、行为、关系、冲突、突变和FTG(Fraud to Gross)等等。这些风险模块实际上作为变量来进行刻画,可分为:历史信息汇总类变量(velocity类);衍生类变量,包括个体突变和群体概率;以及关系类变量等等。
针对每个风险模块或变量,缺省模型搭建模块702可建设不同的基础模型,从而构建基础模型库。举例而言,针对身份变量中的主动方,可基于用户灰名单、交易历史信息等构建账户成熟度、信息泄露人群、易被盗人群、安全感人群等基础模型。针对行为,可基于账户的短期行为和历史长期行为构建账户操作行为、校验交互行为、场景转移行为、资金流转行为等基础模型。针对设备,可构建异常登陆设备、异常操作设备、异常篡改设备、运行木马设备等基础模型。相似地,针对地址,可构建异常登陆地址、异常操作地址、异常篡改地址、虚假地址等基础模型。针对关系,可构建与对方关系、与场景关系、与内容关系、与位置关系等基础模型。本领域技术人员可以理解,针对不同的风险模块或变量,可按照其不同的类型来构建不同的基础模型。
当触发新业务或新站点时,缺省模型搭建模块702可基于基础模型库自由选择基础模型库里的模型,来自动搭建适合该业务/站点的缺省模型。在搭建缺省模型的过程中,所涉及的实际上是多个变量合并建模。本领域技术人员可以理解,对于不同的业务或站点,可选取基础模型库中的不同模型,来进行不同变量的合并建模。
新模型构建模块704通过自动特征生成、自动特征选择和自动调参来构建适合新业务的新模型。
在自动构建新模型时,新模型构建模块704可基于原有数据通过特征工程来自动学习或刻画不同变量。自动特征生成是基于数据集来自动地构造与目标任务相关的候选特征,通常将时间和关系数据集转换为可用于机器学习的特征矩阵。
自动特征生成中特征衍生的操作分成转换、计算和聚合,即对原有的特征进行转换、计算以及聚合而产生新的候选特征。当然,本领域技术人员可以理解,特征衍生的方式各种各样,具体还是要基于业务场景的需要来进行相应的处理。
针对不同的变量,新模型构建模块704可采用不同的手段来获取特征。举例而言,针对文本变量,可使用Capsule Network(胶囊或向量神经元网络,下文中称为胶囊网络)算法来获取特征;针对序列变量,可使用LSTM(长短期记忆网络)来获取特征;针对历史信息汇总类(velocity)变量,可使用遗传算法和强化学习来获取特征;而针对变量组合(variablecombination),可使用FTRL(Follow The Regularized Leader)来进行特征的组合。本领域技术人员可以理解,针对不同变量的特征生成或获取,可采用不同的方法来进行。
新模型构建模块704针对自动生成的特征以及原有的特征进行自动特征选择。这可通过获取特征的重要性(即,Feature Importance)来进行。自动特征选择涉及的关键环节是特征子集搜索和特征子集评价。将特征子集搜索机制和特征子集评价机制相结合,可得到特征选择方法。特征选择可被用于减少特征数量、降维,使模型泛化能力更强,减少过拟合;以及增强对特征和特征值之间的理解。通过自动特征选择,可从已有的变量池加上自动生成的特征中选取适合某场景/风险的最有效的变量列表。
在完成特征选择之后,新模型构建模块704需要进行自动调参(即参数的自动调优)。通常情况下,常用的参数调优方法有:网格搜索、随机搜索与贝叶斯优化。本领域技术人员可以理解,可按需选择参数调优方法。
由此,通过自动特征生成、自动特征选择和自动调参,新模型构建模块704就可构建适合新业务的新模型。
模型训练模块706经由迁移学习训练缺省模型和新模型。
在大多数情况下,面对某一领域的某一特定问题,不太可能找到足够充分的训练数据。但是,得益于迁移学习技术,从其他数据源训练得到的模型,经过一定的修改和完善,就可以在类似的领域得到复用。迁移学习为定义多个源领域(source domain)和一个目标领域(target domain),在source domain学习,并把学习到的知识迁移到target domain,提升target domain的学习效果(或performance)。
在本公开一实施例中,模型训练模块706采用多任务学习(Multi-task learning,为迁移学习的一种)来训练缺省模型和新模型。本领域技术人员可以理解,可选择使用其他的迁移学习方法。
由此,模型训练模块706可将现有业务、站点的模型能力快速移植到其他业务和站点,从而在针对新的场景建设模型时即使仅有少量数据和标签也可实现快速落地,并且使得模型具备比较出色的性能。
融合模型生成模块708自动融合经训练的缺省模型和经训练的新模型,以生成融合模型。
融合模型生成模块708可通过集成学习(Ensemble Learning)来融合模型,以高效利用多个特征和多个模型提升上线模型的性能。由此,融合模型生成模块708通过自动的多模型融合可实现基础模型库中的多个模型或者多个新建模型的快速集成,以此来显著提升上线模型的性能。
最优模型选择模块710将经训练的缺省模型用作线上模型,并将经训练的新模型和融合模型用作备份模型。当备份模型之一优于线上模型时,最优模型选择模块710用该备份模型替代线上模型。
在具备了经训练的缺省模型、经训练的新模型和融合模型之后,最优模型选择模块710就采用冠军/挑战者试验或者A/B测试来比较线上模型(即既定策略/冠军策略)与一个或多个备选模型(即挑战模型)。
在冠军/挑战者模式中,最优模型选择模块710通常会将经训练的缺省模型用作线上模型,因为其是基于已有模块构建的;而将经训练的新模型和融合模型用作备份模型。一旦发现备份模型比线上模型效果更好时,备份模型会上线替代掉线上模型,而线上模型会变成备份模型,以此来保证线上模型一直处于最佳性能。
由此,用于高效地构建风险控制模型的***700可输出最优动态模型。
本公开提出了一种用于高效地构建风险控制模型的方案。针对当前本领域内新建模型流程复杂,其中的数据清洗、模型训练、模型部署都需要耗费大量的人力的问题,本公开的技术方案基于基础模型搭建、自动模型构建和融合模型生成,通过线上模型与备份模型的实时竞争,高效地构建出具有不断新增的风险特征挖掘和优化算法迭代的模型。因此,本公开的技术方案不仅提供了通用的技术框架和解决方案,还提供了适配不同业务发展阶段的模型能力。
用于高效地更新风险控制模型的方法
图8示出根据本公开一实施例的用于高效地更新风险控制模型的方法800的流程图。
在802,监控风险控制模型的性能变化和输入数据的变化。
风险控制模型有性能变化包括风险控制模型的性能下降或异动。在本公开的另一实施例中,监控触发可以是定期触发(例如Week+1、Day+1等)。在本公开的又一实施例中,监控触发还可以是手工触发。这些触发模式都依赖基础数据的自动化,即样本标签和变量数据均可以自动准备和定时更新。例如,可从不同的底层数据仓库的表里面将标签和变量数据选取出来。
风险控制模型的输入数据有变化包括输入数据的分布有变化以及有新增事件变化。输入数据的分布有变化可导致模型中变量的增加或减少,这可通过特征工程来实现,即如前所述,通过特征工程来自动学习或刻画新的不同变量,并对原有的变量以及新的变量进行特征筛选,由此获取合适的模型结构参数。而有新增事件变化可导致样本的黑白标签的变化,由此导致模型的超参数可能需要作出调整。
在804,当风险控制模型有性能变化时,再拟合风险控制模型以获取经再拟合的风险控制模型。
当风险控制模型有性能变化时,尤其是性能有下降或异动时,通常需要评估线上模型和若干候选模型的表现并从中选择优选模型。可供选择的候选模型可以是有着不同超参数的同类模型。
当模型性能有下降或异动时,通常出现的问题是:一类是欠拟合,即高偏差(highbias),模型未训练出数据集的特征,导致模型在训练集、测试集上的精度都很低,;另一类是模型过拟合,即高方差(high variance),模型训练出包含噪点在内的所有特征,导致模型在训练集的精度很高,但是应用到新数据集时,精度很低。此时,就可考虑模型复杂度和数据集大小对风控模型进行再拟合。模型复杂度的选择在此不再赘述,可参见以上自动建模过程。
数据集的大小对于模型性能的优劣影响颇深。对于过拟合而言,由于模型训练了包含噪音在内的所有特征,通过获取更多的数据样本,可以衰减噪音权重。对于欠拟合而言,增加训练数据可以使模型能够训练出数据集的特征。
由此,考虑从数据仓库引入新的样本并加入样本池。基于对样本池中的样本的自动选择,形成不同样本集。然后,用不同样本集再拟合风险控制模型。这样,可提高模型的泛化能力。
在806,当风险控制模型的输入数据有变化时,再训练风险控制模型以获取经再训练的风险控制模型。
在风险控制模型的输入数据有变化时,输入数据的分布有变化可导致模型中变量的增加或减少,这可通过特征工程来实现,即通过特征工程来自动学习或刻画新的不同变量,并对原有的变量以及新的变量进行特征筛选,由此获取合适的模型结构参数。而有新增事件变化可导致样本的黑白标签的变化,由此导致模型的超参数可能需要作出调整。
再训练风险控制模型进一步包括:调整风险控制模型的结构参数;以及调整风险控制模型的超参数。
调整风险控制模型的结构参数进一步包括:基于数据的变化自动生成新的特征;对风险控制模型的特征进行特征筛选;以及使用筛选出的特征来调整风险控制模型的结构参数。调整风险控制模型的结构参数实质上可通过自动建模过程来实现。
调整风险控制模型的超参数采用网格搜索、随机搜索以及贝叶斯优化之一进行。
在808,用流式数据通过增量学习更新经再拟合的风险控制模型或经再训练的风险控制模型。
用流式数据通过增量学习更新经再拟合的风险控制模型或经再训练的风险控制模型采用例如FTRL算法和在线随机森林(Online Random Forest)算法的在线学习算法进行。
在线学习算法属于增量学习,强调的是训练的实时性。当面向流式数据时,每次训练不使用全量数据,而是以之前训练好的参数为基础,每次利用一个样本更新一次模型,从而快速更新模型、提高模型的时效性。
在线学习追求对所知道的所有知识设计最优的策略,那么同这个最优的策略的差距成为后悔(regret):后悔没有从一开始就选择这个策略。合乎期望的是,随着时间的增加,该差距会不断地变小。因此,在线学习追求的是没有后悔(no-regret)。
通过在线/增量学习,可基于流式数据感知到风险形式的经常变化(体现为流式数据),由此来快速迭代风控模型。
在810,将风险控制模型用作线上模型,并将更新后的经再拟合的风险控制模型和经再训练的风险控制模型用作备份模型。
在812,当备份模型之一优于线上模型时,用该备份模型替代线上模型。
模型的性能比对可通过比对模型的评价指标(比如AUC、F1、KS)来进行。
同样,线上模型和备份模型的对比和替代可通过如上所述的冠军/挑战者(Champion&Challenger)模式进行。在如上所述的冠军/挑战者子模块中,一旦发现备份模型比线上模型效果更好时,备份模型会上线替代掉线上模型,而线上模型会变成备份模型,以此来保证线上模型一直处于最佳性能。
图9示出根据本公开一实施例的用于高效地更新风险控制模型的方法的示意图。在图9中,示出了包括模型自动再拟合、模型自动再训练以及增量学习的示意图。
在模型自动再拟合中,触发包括性能监控感知和模型运营触发。如前所述,监控的是风险控制模型的性能下降或异动。或者,监控触发可以是定期触发(例如Week+1、Day+1等)。又或者,监控触发还可以是手工触发。这些触发模式都依赖基础数据的自动化,即样本标签和变量数据均可以自动准备和定时更新。
模型再拟合主要包括样本的自动选择和模型的自动拟合。样本的自动选择包括从数据仓库引入新的样本并加入样本池,并基于对样本池中的样本的自动选择形成不同样本集。模型的自动拟合通过用不同样本集来再拟合风险控制模型。这样可提高模型的泛化能力。
随后进行模型评估,即对模型的性能进行自动对比,再进行模型方案选择。模型方案选定之后,模型即可上线。在此实施例中,选定的模型被手工部署,而策略并不需要进行调整。
在模型自动再训练中,由于新风险或新业务的触发,将会通过特征工程来自动学习或刻画新的不同变量,并对原有的变量以及新的变量进行特征筛选,由此调整模型的结构参数。而有新增事件变化所导致的样本的黑白标签的变化可使得模型的超参数作出调整。这一过程实质上可通过自动建模过程来实现。
在增量学习中,定***易将触发该增量学习。基于知识库和流式数据,每次训练不使用全量数据,而是以之前训练好的参数为基础,每次利用一个样本更新一次模型,从而快速更新模型、提高模型的时效性。
用于高效地更新风险控制模型的***
图10示出根据本公开一实施例的用于高效地更新风险控制模型的***1000的框图。
***1000包括监控模块1002、模型再拟合模块1004、模型再训练模块1006、增量学习模块1008以及最优模型选择模块1010。
监控模块1002监控风险控制模型的性能变化和输入数据的变化。风险控制模型有性能变化包括风险控制模型的性能下降或异动。风险控制模型的输入数据有变化包括输入数据的分布有变化以及有新增事件变化。
模型再拟合模块1004在风险控制模型有性能变化时再拟合风险控制模型以获取经再拟合的风险控制模型。
模型再拟合模块1004再拟合风险控制模型进一步包括:从数据仓库引入新的样本并加入样本池;基于对样本池中的样本的自动选择,形成不同样本集;用不同样本集再拟合风险控制模型。
模型再训练模块1006在风险控制模型的输入数据有变化时再训练风险控制模型以获取经再训练的风险控制模型。
模型再训练模块1006再训练风险控制模型进一步包括:调整风险控制模型的结构参数;以及调整风险控制模型的超参数。
模型再训练模块1006调整风险控制模型的结构参数进一步包括:基于数据的变化自动生成新的特征;对风险控制模型的特征进行特征筛选;以及使用筛选出的特征来调整风险控制模型的结构参数。
模型再训练模块1006调整风险控制模型的超参数采用网格搜索、随机搜索以及贝叶斯优化之一进行。
增量学习模块1008用流式数据通过增量学习更新经再拟合的风险控制模型或经再训练的风险控制模型。
增量学习模块1008用流式数据通过增量学习更新经再拟合的风险控制模型或经再训练的风险控制模型采用FTRL算法和在线随机森林(Online Random Forest)算法进行。
最优模型选择模块1010将风险控制模型用作线上模型,并将更新后的经再拟合的风险控制模型和经再训练的风险控制模型用作备份模型,以及当备份模型之一优于线上模型时,用该备份模型替代线上模型。
本公开提出了一种用于高效地更新风险控制模型的方案。该方案可以针对时刻变化的风险实现模型的快速更新和迭代,大大增加模型的自适应能力,来提升对风险的防控能力。于此同时,自动再拟合(refit)、自动重训练(retrain)、在线学习(online learning)等将大大缩短模型训练和部署的周期,提升模型开发的效率。因此,本公开的技术方案不仅提供了通用的技术框架和解决方案,还提供了适配不同业务发展阶段的模型能力。
以上描述的用于高效地构建风险控制模型的方法和***以及用于高效地更新风险控制模型的方法和***的各个步骤和模块可以用硬件、软件、或其组合来实现。如果在硬件中实现,结合本发明描述的各种说明性步骤、模块、以及电路可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或其他可编程逻辑组件、硬件组件、或其任何组合来实现或执行。通用处理器可以是处理器、微处理器、控制器、微控制器、或状态机等。如果在软件中实现,则结合本发明描述的各种说明性步骤、模块可以作为一条或多条指令或代码存储在计算机可读介质上或进行传送。实现本发明的各种操作的软件模块可驻留在存储介质中,如RAM、闪存、ROM、EPROM、EEPROM、寄存器、硬盘、可移动盘、CD-ROM、云存储等。存储介质可耦合到处理器以使得该处理器能从/向该存储介质读写信息,并执行相应的程序模块以实现本发明的各个步骤。而且,基于软件的实施例可以通过适当的通信手段被上载、下载或远程地访问。这种适当的通信手段包括例如互联网、万维网、内联网、软件应用、电缆(包括光纤电缆)、磁通信、电磁通信(包括RF、微波和红外通信)、电子通信或者其他这样的通信手段。
还应注意,这些实施例可能是作为被描绘为流程图、流图、结构图、或框图的过程来描述的。尽管流程图可能会把诸操作描述为顺序过程,但是这些操作中有许多操作能够并行或并发地执行。另外,这些操作的次序可被重新安排。
所公开的方法、装置和***不应以任何方式被限制。相反,本发明涵盖各种所公开的实施例(单独和彼此的各种组合和子组合)的所有新颖和非显而易见的特征和方面。所公开的方法、装置和***不限于任何具体方面或特征或它们的组合,所公开的任何实施例也不要求存在任一个或多个具体优点或者解决特定或所有技术问题。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多更改,这些均落在本发明的保护范围之内。