用于有状态机器学习模型中的状态压缩的系统、方法和计算机程序产品
文献发布时间:2024-04-18 20:01:23
相关申请的交叉引用
本申请要求2021年5月21日提交的第63/191,504号美国临时专利申请的权益,所述申请以全文引用的方式并入本文中。
技术领域
本公开涉及有状态机器学习模型,并且在一些特定实施例或方面中,涉及有状态机器学习模型中的一个或多个状态的数据压缩,所述有状态机器学习模型包括递归神经网络(recurrent neural network,RNN)模型。
背景技术
有状态机器学习模型(例如,RNN模型、长短期记忆(long short-term memory,LSTM)模型等)可以包括保存机器学习模型的时间步长之间的数据(例如,状态等)的机器学习模型。例如,当在给定时间步长基于输入生成机器学习模型的输出时,可以存储状态以供检索。状态可以与输入到机器学习模型的数据分组相关联。状态可以与数据分组(例如,时间序列数据集合等)相关联,使得当输入(例如,时间序列中的新数据项目或下一个数据项目)与数据分组相关时,可以从存储器检索状态并用于执行机器学习模型。深度神经网络可以具有包括大量权重的高维状态,这可能消耗大量的存储和存储器带宽。
对于电子支付处理网络中的有状态机器学习模型,每次处理交易时都可以检索状态,并且电子处理网络可以每天处理数以亿计的交易。因此,计算机网络处理时间、每次交易的带宽以及在大型网络中存储状态所需的总体存储容量取决于用于执行机器学习模型的多个状态的存储大小。
本领域需要一种解决方案来降低有状态机器学习模型的状态的数据存储要求。
发明内容
因此,本公开的目标是提供一种用于有状态机器学习模型中的状态压缩的系统、方法和计算机程序产品,其克服上文所标识的一些或全部不足。
根据一些非限制性实施例或方面,提供了一种用于有状态机器学习模型中的状态压缩的计算机实施的方法。所述计算机实施的方法包括用至少一个处理器接收针对至少一个交易的至少一个交易授权请求。所述计算机实施的方法还包括响应于接收到所述至少一个交易授权请求,用所述至少一个处理器从存储器加载递归神经网络(RNN)模型的至少一个编码状态。所述计算机实施的方法还包括用至少一个处理器借助通过解码器网络传递所述至少一个编码状态中的每个编码状态来对所述至少一个编码状态进行解码,以提供至少一个解码状态。所述计算机实施的方法还包括用所述至少一个处理器通过将所述至少一个交易授权请求的至少一部分和所述至少一个解码状态输入到RNN模型中来生成所述至少一个交易的至少一个更新状态和输出。所述计算机实施的方法还包括用所述至少一个处理器借助通过编码器网络传递所述至少一个更新状态中的每个更新状态来对所述至少一个更新状态进行编码,以提供至少一个编码的更新状态。所述计算机实施的方法还包括用所述至少一个处理器将所述至少一个编码的更新状态存储在所述存储器中。
在一些非限制性实施例或方面中,将所述至少一个编码的更新状态存储在存储器中可包括在所述存储器中将所述至少一个编码状态替换为所述至少一个编码的更新状态。
在一些非限制性实施例或方面中,所述至少一个编码状态的大小可以等于或小于所述至少一个解码状态的大小的四分之一。
在一些非限制性实施例或方面中,所述至少一个编码状态可包括单元状态和隐藏状态,且RNN模型可以是LSTM。
在一些非限制性实施例或方面中,从存储器加载所述至少一个编码状态可以包括基于所述至少一个交易而标识与以下各项中的至少一者相关联的所述至少一个编码状态:支付装置标识符;账户标识符;支付装置持有人标识符;或其任何组合。
在一些非限制性实施例或方面中,RNN模型可以是欺诈检测模型,并且针对所述至少一个交易生成的输出可以是基于与支付装置标识符、账户标识符、支付装置持有人标识符或其任何组合中的至少一者相关联的交易历史的针对所述至少一个交易的欺诈可能性。
在一些非限制性实施例或方面中,所述计算机实施的方法还可包括用所述至少一个处理器响应于接收到多个进行中的交易授权请求中的每个交易授权请求实时地重新生成所述至少一个更新状态。
根据一些非限制性实施例或方面,提供了一种用于有状态机器学习模型中的状态压缩的系统。所述系统包括服务器,所述服务器包括至少一个处理器。服务器被编程或配置成接收针对至少一个交易的至少一个交易授权请求。服务器还被编程或配置为响应于接收到所述至少一个交易授权请求而从存储器加载RNN模型的至少一个编码状态。服务器还被编程或配置成借助通过解码器网络传递所述至少一个编码状态中的每个编码状态来对所述至少一个编码状态进行解码,以提供至少一个解码状态。服务器还被编程或配置为通过将所述至少一个交易授权请求的至少一部分和所述至少一个解码状态输入到RNN模型中来生成所述至少一个交易的至少一个更新状态和输出。服务器还被编程或配置为借助通过编码器网络传递所述至少一个更新状态中的每个更新状态来对所述至少一个更新状态进行编码,以提供至少一个编码的更新状态。服务器还被编程或配置为将所述至少一个编码的更新状态存储在存储器中。
在一些非限制性实施例或方面中,将所述至少一个编码的更新状态存储在存储器中可包括在所述存储器中将所述至少一个编码状态替换为所述至少一个编码的更新状态。
在一些非限制性实施例或方面中,所述至少一个编码状态的大小可以等于或小于所述至少一个解码状态的大小的四分之一。
在一些非限制性实施例或方面中,所述至少一个编码状态可包括单元状态和隐藏状态,且RNN模型可以是LSTM。
在一些非限制性实施例或方面中,从存储器加载所述至少一个编码状态可以包括基于所述至少一个交易而标识与以下各项中的至少一者相关联的所述至少一个编码状态:支付装置标识符;账户标识符;支付装置持有人标识符;或其任何组合。
在一些非限制性实施例或方面中,RNN模型可以是欺诈检测模型,并且针对所述至少一个交易生成的输出可以是基于与支付装置标识符、账户标识符、支付装置持有人标识符或其任何组合中的至少一者相关联的交易历史的针对所述至少一个交易的欺诈可能性。
在一些非限制性实施例或方面中,服务器可以还被编程或配置成响应于接收到多个进行中的交易授权请求中的每个交易授权请求实时地重新生成所述至少一个更新状态。
根据一些非限制性实施例或方面,提供了一种用于有状态机器学习模型的状态压缩的计算机程序产品。所述计算机程序产品包括至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质包括存储于其上的程序指令,所述程序指令当由至少一个处理器执行时使所述至少一个处理器接收针对至少一个交易的至少一个交易授权请求。所述程序指令还使所述至少一个处理器响应于接收到所述至少一个交易授权请求而从存储器加载RNN模型的至少一个编码状态。所述程序指令还使所述至少一个处理器借助通过解码器网络传递所述至少一个编码状态中的每个编码状态来对所述至少一个编码状态进行解码以提供至少一个解码状态。所述程序指令还使所述至少一个处理器通过将所述至少一个交易授权请求的至少一部分和所述至少一个解码状态输入到所述RNN模型中来生成所述至少一个交易的至少一个更新状态和输出。所述程序指令还使所述至少一个处理器借助通过编码器网络传递所述至少一个更新状态中的每个更新状态来对所述至少一个更新状态进行编码,以提供至少一个编码的更新状态。所述程序指令还使所述至少一个处理器将所述至少一个编码的更新状态存储在所述存储器中。
在一些非限制性实施例或方面中,将所述至少一个编码的更新状态存储在存储器中可包括在所述存储器中将所述至少一个编码状态替换为所述至少一个编码的更新状态。
在一些非限制性实施例或方面中,所述至少一个编码状态可包括单元状态和隐藏状态,且RNN模型可以是LSTM。
在一些非限制性实施例或方面中,从存储器加载所述至少一个编码状态可以包括基于所述至少一个交易而标识与以下各项中的至少一者相关联的所述至少一个编码状态:支付装置标识符;账户标识符;支付装置持有人标识符;或其任何组合。
在一些非限制性实施例或方面中,RNN模型可以是欺诈检测模型,并且针对所述至少一个交易生成的输出可以是基于与支付装置标识符、账户标识符、支付装置持有人标识符或其任何组合中的至少一者相关联的交易历史的针对所述至少一个交易的欺诈可能性。
在一些非限制性实施例或方面中,所述程序指令还可以使所述至少一个处理器响应于接收到多个进行中的交易授权请求中的每个交易授权请求实时地重新生成所述至少一个更新状态。
将在以下编号的条款中阐述本公开的其它非限制性实施例或方面:
条款1:一种计算机实施的方法,包括:用至少一个处理器接收针对至少一个交易的至少一个交易授权请求;响应于接收到所述至少一个交易授权请求,用所述至少一个处理器从存储器加载递归神经网络(RNN)模型的至少一个编码状态;用所述至少一个处理器借助通过解码器网络传递所述至少一个编码状态中的每个编码状态来对所述至少一个编码状态进行解码,以提供至少一个解码状态;用所述至少一个处理器通过将所述至少一个交易授权请求的至少一部分和所述至少一个解码状态输入到所述RNN模型中来生成所述至少一个交易的至少一个更新状态和输出;用所述至少一个处理器借助通过编码器网络传递所述至少一个更新状态中的每个更新状态来对所述至少一个更新状态进行编码,以提供至少一个编码的更新状态;以及用所述至少一个处理器将所述至少一个编码的更新状态存储在所述存储器中。
条款2:根据条款1所述的计算机实施的方法,其中将所述至少一个编码的更新状态存储在所述存储器中包括在所述存储器中将所述至少一个编码状态替换为所述至少一个编码的更新状态。
条款3:根据条款1或条款2所述的计算机实施的方法,其中所述至少一个编码状态的大小等于或小于所述至少一个解码状态的大小的四分之一。
条款4:根据条款1到3中任一项所述的计算机实施的方法,其中所述至少一个编码状态包括单元状态和隐藏状态,并且其中所述RNN模型是长短期记忆模型。
条款5:根据条款1到4中任一项所述的计算机实施的方法,其中从存储器加载所述至少一个编码状态包括基于所述至少一个交易而标识与以下各项中的至少一个相关联的所述至少一个编码状态:支付装置标识符;账户标识符;支付装置持有人标识符;或其任何组合。
条款6:根据条款1到5中任一项所述的计算机实施的方法,其中所述RNN模型是欺诈检测模型,并且其中针对所述至少一个交易生成的所述输出是基于与所述支付装置标识符、所述账户标识符、所述支付装置持有人标识符或其任何组合中的至少一者相关联的交易历史的针对所述至少一个交易的欺诈可能性。
条款7:根据条款1到6中任一项所述的计算机实施的方法,还包括用所述至少一个处理器响应于接收到多个进行中的交易授权请求中的每个交易授权请求实时地重新生成所述至少一个更新状态。
条款8:一种包括服务器的系统,所述服务器包括至少一个处理器,所述服务器被编程为或被配置成:接收针对至少一个交易的至少一个交易授权请求;响应于接收到所述至少一个交易授权请求,从存储器加载递归神经网络(RNN)模型的至少一个编码状态;借助通过解码器网络传递所述至少一个编码状态中的每个编码状态来对所述至少一个编码状态进行解码,以提供至少一个解码状态;通过将所述至少一个交易授权请求的至少一部分和所述至少一个解码状态输入到所述RNN模型中来生成所述至少一个交易的至少一个更新状态和输出;借助通过编码器网络传递所述至少一个更新状态中的每个更新状态来对所述至少一个更新状态进行编码,以提供至少一个编码的更新状态;以及将所述至少一个编码的更新状态存储在所述存储器中。
条款9:根据条款8所述的系统,其中将所述至少一个编码的更新状态存储在所述存储器中包括在所述存储器中将所述至少一个编码状态替换为所述至少一个编码的更新状态。
条款10:根据条款8或条款9所述的系统,其中所述至少一个编码状态的大小等于或小于所述至少一个解码状态的大小的四分之一。
条款11:根据条款8到10中任一项所述的系统,其中所述至少一个编码状态包括单元状态和隐藏状态,并且其中所述RNN模型是长短期记忆模型。
条款12:根据条款8到11中任一项所述的系统,其中从存储器加载所述至少一个编码状态包括基于所述至少一个交易而标识与以下各项中的至少一者相关联的所述至少一个编码状态:支付装置标识符;账户标识符;支付装置持有人标识符;或其任何组合。
条款13:根据条款8到12中任一项所述的系统,其中所述RNN模型是欺诈检测模型,并且其中针对所述至少一个交易生成的所述输出是基于与所述支付装置标识符、所述账户标识符、所述支付装置持有人标识符或其任何组合中的至少一者相关联的交易历史的针对所述至少一个交易的欺诈可能性。
条款14:根据条款8到13中任一项所述的系统,其中所述服务器还被编程或配置成响应于接收到多个进行中的交易授权请求中的每个交易授权请求实时地重新生成所述至少一个更新状态。
条款15:一种计算机程序产品,所述计算机程序产品包括至少一个非暂时性计算机可读介质,所述至少一个非暂时性计算机可读介质包括存储于其上的程序指令,所述程序指令在由至少一个处理器执行时使得所述至少一个处理器:接收针对至少一个交易的至少一个交易授权请求;响应于接收到所述至少一个交易授权请求,从存储器加载递归神经网络(RNN)模型的至少一个编码状态;借助通过解码器网络传递所述至少一个编码状态中的每个编码状态来对所述至少一个编码状态进行解码,以提供至少一个解码状态;通过将所述至少一个交易授权请求的至少一部分和所述至少一个解码状态输入到所述RNN模型中来生成所述至少一个交易的至少一个更新状态和输出;借助通过编码器网络传递所述至少一个更新状态中的每个更新状态来对所述至少一个更新状态进行编码,以提供至少一个编码的更新状态;以及将所述至少一个编码的更新状态存储在所述存储器中。
条款16:根据条款15所述的计算机程序产品,其中将所述至少一个编码的更新状态存储在所述存储器中包括在所述存储器中将所述至少一个编码状态替换为所述至少一个编码的更新状态。
条款17:根据条款15或条款16所述的计算机程序产品,其中所述至少一个编码状态包括单元状态和隐藏状态,并且其中所述RNN模型是长短期记忆模型。
条款18:根据条款15到17中任一项所述的计算机程序产品,其中从存储器加载所述至少一个编码状态包括基于所述至少一个交易而标识与以下各项中的至少一者相关联的所述至少一个编码状态:支付装置标识符;账户标识符;支付装置持有人标识符;或其任何组合。
条款19:根据条款15到18中任一项所述的计算机程序产品,其中所述RNN模型是欺诈检测模型,并且其中针对所述至少一个交易生成的所述输出是基于与所述支付装置标识符、所述账户标识符、所述支付装置持有人标识符或其任何组合中的至少一者相关联的交易历史的针对所述至少一个交易的欺诈可能性。
条款20:根据条款15到19中任一项所述的计算机程序产品,其中所述程序指令还使所述至少一个处理器响应于接收到多个进行中的交易授权请求中的每个交易授权请求实时地重新生成所述至少一个更新状态。
在参考附图考虑以下描述和所附权利要求书时,本公开的这些和其他特征和特性以及相关结构元件和各部分的组合的操作方法和功能以及制造经济性将变得更加显而易见,所有附图形成本说明书的部分,其中相似附图标号在各图中标示对应部分。然而,应明确地理解,图式仅用于说明及描述的目的,且不希望作为对本公开的限制的定义。
附图说明
下文参考示意性附图中说明的示范性实施例或方面更详细地解释本公开的额外优点和细节,在示意性附图中:
图1是其中可实施本文所描述的系统、方法和/或产品的环境的非限制性实施例或方面的图式;
图2是图1的一个或多个装置和/或系统的组件的非限制性实施例或方面的图式;
图3是用于有状态机器学习模型中的状态压缩的方法的非限制性实施例或方面的流程图;
图4是用于有状态机器学习模型中的状态压缩的系统和方法的实施方案的非限制性实施例或方面的示意图;
图5是用于有状态机器学习模型中的状态压缩的系统和方法的实施方案的非限制性实施例或方面的示意图;
图6是用于有状态机器学习模型中的状态压缩的方法的非限制性实施例或方面的伪码;
图7是用于有状态机器学习模型中的状态压缩的方法的非限制性实施例或方面的伪码;以及
图8是用于有状态机器学习模型中的状态压缩的方法的非限制性实施例或方面的伪码。
应了解,本文中的任何框图表示体现本公开的原理的说明性系统的概念视图。类似地,可了解,任何流程图表、流程图、状态转换图、伪代码等表示可基本上在计算机可读介质中表示并且由计算机或处理器执行的各种过程,无论是否明确示出此类计算机或处理器。
具体实施方式
在本文档中,词“示例性”在本文中用于意指“充当示例、实例或说明”。本文中描述为“示例性”的本发明主题的任何实施方案或具体实现不一定解释为比其他实施方案或方面优选或有利。
术语“包括(comprises/includes/comprising/including)”或其任何其他变型希望涵盖非排他性包括,使得包括一系列部件或步骤的系统、装置或方法不仅包括那些部件或步骤,而且还可以包括并未明确列出或者这种设置或装置或方法固有的其他部件或步骤。换句话说,在没有更多约束的情况下,系统或装置中在“包括……(comprises…a/includes…a)”之后的一个或多个元件不排除系统或装置中其他元件或额外元件的存在。
为了进行以下描述,术语“上”、“下”、“右”、“左”、“竖直”、“水平”、“顶部”、“底部”、“橫向”、“纵向”以及其派生词应如其在附图中的定向那样与非限制性实施方案或方面相关。然而,应理解,除了明确指定为相反的情况之外,非限制性实施方案或方面可采用各种替代变化和步骤顺序。还应理解,附图中所示的以及在以下说明书中描述的特定装置和过程仅仅是示例性实施方案或方面。因此,与本文公开的实施方案或方面有关的特定尺寸和其它物理特性不应被视为限制。
本文所使用的方面、部件、元件、结构、动作、步骤、功能、指令等都不应当被理解为关键的或必要的,除非明确地如此描述。且,如本文所使用,冠词“一”希望包括一个或多个项目,且可与“一个或多个”和“至少一个”互换使用。此外,如本文所使用,术语“集合”希望包括一个或多个项目(例如,相关项目、不相关项目、相关项目与不相关项目的组合等),并且可与“一个或多个”或“至少一个”互换使用。在希望仅有一个项目的情况下,使用术语“一个”或类似语言。且,如本文所使用,术语“具有”等希望是开放式术语。另外,除非另外明确陈述,否则短语“基于”希望意味着“至少部分地基于”。
本文中结合阈值描述一些非限制性实施例或方面。如本文所使用,满足阈值可以指值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值、等于阈值等。
如本文所使用,术语“账户标识符”可以包括一个或多个主账号(PAN)、令牌或与顾客账户相关联的其它标识符。术语“令牌”可指用作诸如PAN等原始账户标识符的替代或替换标识符的标识符。账户标识符可以是字母数字或字符和/或符号的任何组合。令牌可与一个或多个数据结构(例如,一个或多个数据库等)中的PAN或其它原始账户标识符相关联,使得令牌可用于进行交易而无需直接使用原始账户标识符。在一些示例中,例如PAN等原始账户标识符可以与用于不同个人或目的的多个令牌相关联。
如本文所使用,术语“收单方机构”可指由交易服务提供商许可和/或批准以使用与交易服务提供商相关联的支付装置发起交易(例如,支付交易)的实体。收单方机构可发起的交易可以包括支付交易(例如,购买、原始信用证交易(OCT)、账户资金交易(AFT)等)。在一些非限制性实施例或方面中,收单方机构可以是金融机构,例如银行。如本文所使用,术语“收单方系统”可以指由收单方机构或代表收单方机构操作的一个或多个计算装置,例如执行一个或多个软件应用程序的服务器计算机。
如本文所使用,术语“认证系统”可指认证用户和/或账户的一个或多个计算装置,例如但不限于交易处理系统、商家系统、发行方系统、支付网关、第三方认证服务等。
如本文所使用,术语“通信”可以指数据(例如,信息、信号、消息、指令、命令等)的接收、接纳、发送、传送、提供等。一个单元(例如,装置、系统、装置或系统的组件、其组合等)与另一单元通信意味着所述一个单元能够直接或间接地从所述另一单元接收信息和/或向所述另一单元发送信息。这可以指代在本质上有线和/或无线的直接或间接连接(例如,直接通信连接、间接通信连接等)。另外,尽管所发送的信息可以在第一单元与第二单元之间被修改、处理、中继和/或路由,但这两个单元也可以彼此通信。例如,即使第一单元被动地接收信息且不会主动地将信息发送到第二单元,第一单元也可以与第二单元通信。作为另一示例,如果至少一个中间单元处理从第一单元接收的信息且将处理后的信息传送到第二单元,那么第一单元可以与第二单元通信。
如本文所使用,术语“计算装置”可以指被配置成处理数据的一个或多个电子装置。在一些示例中,计算装置可以包括接收、处理和输出数据的必要组件,例如处理器、显示器、存储器、输入装置、网络接口等。计算装置可以是移动设备。作为示例,移动装置可以包括蜂窝电话(例如,智能手机或标准蜂窝电话)、便携式计算机、可穿戴装置(例如,手表、眼镜、镜片、服装等)、个人数字助理(PDA),和/或其它类似装置。计算装置还可以是台式计算机或其它形式的非移动计算机。“应用程序”或“应用程序编程接口”(API)可指计算机代码或在计算机可读介质上排序的其它数据,其可以由处理器执行以促进软件组件之间的交互,例如客户侧前端和/或服务器侧后端的交互以用于从客户端接收数据。“界面”可指生成的显示,例如一个或多个图形用户界面(GUI),用户可以直接或间接地(例如,通过键盘、鼠标等)与所述GUI交互。
如本文所使用,术语“电子钱包”和“电子钱包应用程序”是指被配置为发起和/或进行支付交易的一个或多个电子装置和/或软件应用程序。例如,电子钱包可以包括执行电子钱包应用程序的移动装置,并且还可以包括用于维护交易数据并将交易数据提供给移动设备的服务器侧软件和/或数据库。“电子钱包提供商”可以包括为客户提供和/或维护电子钱包的实体,例如Google
如本文所使用,术语“发行方机构”可以指对顾客提供用于进行交易(例如,支付交易),例如发起信用和/或借记支付的账户的一个或多个实体,例如银行。例如,发行方机构可向客户提供唯一地标识与所述客户相关联的一个或多个账户的账户标识符,例如PAN。账户标识符可以在诸如实体金融工具(例如,支付卡)等便携式金融装置上体现,并且/或者可以是电子的且用于电子支付。术语“发行方系统”指由发行方机构或代表发行方机构操作的一个或多个计算机装置,例如执行一个或多个软件应用程序的服务器计算机。例如,发行方系统可以包括用于授权交易的一个或多个授权服务器。
如本文所使用,术语“商家”可以指基于例如支付交易的交易向客户提供商品和/或服务或者对商品和/或服务的访问的个人或实体。术语“商家”或“商家系统”还可以指由商家或代表商家操作的一个或多个计算机系统,例如执行一个或多个软件应用程序的服务器计算机。如本文所使用,“销售点(POS)系统”或“POS装置”可指由商家用来与客户进行支付交易的一个或多个计算机和/或外围装置,包括一个或多个读卡器、扫描装置(例如,代码扫描仪)、
如本文所使用,术语“支付装置”可指支付卡(例如,信用卡或借记卡)、礼品卡、智能卡、智能介质、工资卡、医疗保健卡、腕带、含有账户信息的机器可读介质、钥匙链装置或吊坠、RFID应答器、零售商折扣或会员卡、蜂窝电话、电子钱包移动应用程序、PDA、寻呼机、安全卡、计算装置、访问卡、无线终端、应答器等。在一些非限制性实施例或方面中,支付装置可以包括用以存储信息(例如,账户标识符、账户持有人姓名等)的易失性或非易失性存储器。
如本文所使用,术语“支付网关”可指实体和/或由此类实体或代表此类实体操作的支付处理系统,所述实体(例如,商家服务提供商、支付服务提供商、支付服务商、与收单方有合约的支付服务商、支付集合人(payment aggregator)等)将支付服务(例如,交易服务提供商支付服务、支付处理服务等)提供到一个或多个商家。支付服务可以与由交易服务提供商管理的便携式金融装置的使用相关联。如本文所使用,术语“支付网关系统”可以指由支付网关或代表支付网关操作的一个或多个计算机系统、计算机装置、服务器、服务器群组等。
如本文所使用,术语“处理器”可以表示任何类型的处理单元,例如具有一个或多个核心的单个处理器、一个或多个处理器的一个或多个核心、各自具有一个或多个核心的多个处理器、和/或处理单元的其他布置和组合。
如本文中所使用,术语“请求”、“响应”、“请求消息”和“响应消息”可以指用于在两个或更多个部件或单元之间传送数据的一个或多个消息、数据包、信号和/或数据结构。
如本文所使用,术语“服务器”可以指或包括由互联网等网络环境中的多方操作或促进所述多方的通信和处理的一个或多个计算装置,但应了解,可通过一个或多个公共或专用网络环境促进通信,并且可能有各种其它布置。此外,在网络环境中直接或间接通信的多个计算装置(例如服务器、POS装置、移动装置等)可以构成“系统”。如本文所使用,对“服务器”或“处理器”的提及可指陈述为实施先前步骤或功能的先前所述服务器和/或处理器、不同的服务器和/或处理器,和/或服务器和/或处理器的组合。例如,如在说明书和权利要求书中所使用,陈述为实施第一步骤或功能的第一服务器和/或第一处理器可指代陈述为实施第二步骤或功能的相同或不同服务器和/或处理器。
如本文所使用,术语“系统”可指代一个或多个计算设备或计算设备的组合(例如,处理器、服务器、客户端设备、软件应用程序、这些计算设备的部件等)。如本文中所使用,对“设备”、“服务器”、“处理器”等的提及可可以指叙述为执行先前步骤或功能的先前叙述的设备、服务器或处理器、不同的服务器或处理器,和/或服务器和/或处理器的组合。例如,如说明书和权利要求书所使用,叙述为执行第一步骤或第一功能的第一服务器或第一处理器可以指叙述为执行第二步骤或第二功能的相同或不同服务器或相同或不同处理器。
如本文所使用,术语“交易服务提供商”可指从商家或其它实体接收交易授权请求且在一些情况下通过交易服务提供商与发行方机构之间的协议来提供支付保证的实体。例如,交易服务提供商可以包括诸如
本公开的非限制性实施例或方面涉及用于有状态机器学习模型中的状态压缩的系统和方法。状态可以与输入数据的群组相关联地存储(例如,与多个时间序列数据集合中的每一集合等相关联),以用于当数据输入到有状态机器学习模型以生成输出时的检索。在数百万存储状态需要检索和存储以实时生成机器学习模型输出的大型计算机网络中,每个状态的数据存储(例如,字节)对整个系统的速度和总体存储要求具有直接影响。此外,深度神经网络可具有包括独立需要大量存储器以用于存储的高维向量的状态。本文描述的系统和方法降低了针对有状态机器学习模型的每状态数据存储要求,从而改善了数据(例如,状态)加载和/或传输的速度,降低了数据包传输大小,和/或降低了整体系统存储要求。对于依赖于快速检索和存储的系统,例如将状态存储在高速存储器(例如,高速缓存存储器、随机存取存储器(RAM)等)中的系统,最小存储空间减小产生对维持状态以供立即访问所需的成本和计算机资源的直接改进。
在一些非限制性实施例或方面中,在电子支付处理网络中,状态可以与交易分组相关联地存储,例如按支付装置、支付装置持有人、交易账户等分组。当在电子支付处理网络中处理交易时,可以将交易的至少一部分数据输入到一个或多个有状态机器学习模型(例如,欺诈检测模型、信用发放模型等)中。每天可以在电子支付处理网络中处理超过一亿笔交易,其中所述交易与数百万个支付装置、支付装置持有人和/或交易账户相关联。因此,对于数百万个状态分组,各种模型的状态可以存储在一个或多个服务器集群中的高速存储器(例如,高速缓存存储器、RAM等)中。当交易被处理时,与分组(例如,支付装置标识符、支付装置持有人标识符、交易账户标识符等)相关联地存储的一个或多个状态可以被检索且与交易数据的至少一部分一起使用以生成用于交易的模型输出,且随后可以再次存储更新状态。生成交易模型输出的时间尺度可以是毫秒,跨越每秒数千笔交易。因此,降低有状态机器学习模型中所使用的状态的数据存储要求为计算机网络提供了直接改进,包括减少每次交易加载和/或传输状态数据(例如,到存储器和/或从存储器)的时间,降低每次交易的带宽,以及降低所有状态的总存储容量。还应当理解的是,由于编码器和/或解码器网络(例如,编码器和/或解码器层)可以与RNN层(例如,LSTM层)共同训练,所以随着额外的编码器和/或解码器网络的添加,RNN的性能(例如,准确性)将不会降低。
现在参考图1,示出了可以实施本文所描述的装置、系统和/或方法的示例环境100的图式。如图1所示,环境100可以包括支付装置102、商家系统104、收单方系统106、支付网关108、交易处理系统112、发行方系统114、建模系统116、存储器118和通信网络110。前述装置和/或系统中的每一者可以包括被配置成与环境100中的其它装置和/或系统通信(例如,直接地和/或经由通信网络110间接地)的一个或多个计算装置。
商家系统104可以包括一个或多个计算装置(例如,服务器和/或其类似者),所述一个或多个计算装置被编程或配置为与支付装置102、收单方系统106和/或支付网关108通信。商家系统104可以包括POS装置,并且可以与支付装置102通信以完成商家的账户(例如,与收单方相关联的金融机构交易账户)与支付装置持有人的账户(例如,与发行方相关联的金融机构交易账户)之间的交易。商家系统104可以与收单方系统106和/或支付网关108通信,以生成与一个或多个交易相关联的一个或多个交易授权请求并将其传送到交易处理系统112。交易处理系统112可以将交易授权请求传送到发行方系统114。基于交易授权请求,发行方系统114可以将一个或多个交易授权响应传送到交易处理系统112,所述交易处理系统可以将交易授权响应传送到收单方系统106和/或支付网关108,所述收单方系统和/或支付网关可以基于交易授权响应与商家系统104通信。
建模系统116可以包括一个或多个计算装置(例如,服务器和/或类似者),所述一个或多个计算装置被编程或配置为针对一个或多个机器学习模型(例如,与交易处理系统112、支付装置102、商家系统104、收单方系统106、支付网关108和/或发行方系统114)进行通信以接收输入(例如,一个或多个交易授权请求的至少一部分作为输入)。建模系统116可以利用一个或多个机器学习模型基于输入(例如,交易授权请求和/或其部分)生成输出。例如,机器学习模型可以包括但不限于欺诈检测模型(例如,输出交易的欺诈分类/评估)、信用发放模型(例如,确定交易的信用扩展)等。建模系统116可以被进一步编程或配置成与存储器118通信以存储和/或接收存储的模型状态(例如,隐藏状态、单元状态等)。建模系统116可以包括存储器118,并且交易处理系统112可以包括建模系统116和/或存储器118。
存储器118可以包括被编程或配置为(例如,在一个或多个非暂时性计算机存储介质中)存储有状态机器学习模型的状态(例如,隐藏状态、单元状态等)的一个或多个计算装置(例如,服务器和/或其类似者)。例如,存储器118可以包括数据库、数据存储区、数据存储库等中的一个或多个。存储器118可以包括被配置成将多个状态存储为分布式数据的服务器节点集群。每个状态可以和与有状态机器学习模型的输入的一个或多个参数相关联的标识符相关联地存储。对于与交易相关联的输入,状态可以与例如支付装置标识符(例如,信用卡号)、账户标识符(例如,PAN)、支付装置持有人标识符(例如,姓名、数字标识符等)或其任何组合相关联存储。交易的交易授权请求也可以与支付装置标识符、账户标识符、支付装置持有人标识符或其任何组合中的一个或多个相关联。
通信网络110可包括一个或多个有线和/或无线网络。例如,通信网络110可以包括蜂窝网络(例如长期演进
在一些非限制性实施例或方面中,建模系统116可以被编程或配置为接收交易授权请求。例如,建模系统116可以接收针对至少一个交易的至少一个交易授权请求。交易授权请求可以由收单方系统106和/或支付网关108生成以完成交易。交易授权请求的接收可以与支付装置持有人的支付装置102与商家系统104之间的交易的处理实时进行。
在一些非限制性实施例或方面中,建模系统116可以被编程或配置为从存储器118加载RNN模型的编码状态。例如,建模系统116可以响应于接收到至少一个交易授权请求,从存储器118加载RNN模型的至少一个编码状态。在一些非限制性实施例或方面中,RNN模型可以是长短期记忆(LSTM)模型,并且所述至少一个编码状态可以包括单元状态和隐藏状态。所述至少一个编码状态还可包括多个单元状态和多个隐藏状态。存储器118中的编码状态的大小小于在解码时的状态的大小。存储器118中的编码状态的大小可以比当解码时的状态的大小小得多,例如,等于或小于当解码时的状态的大小的四分之一。从存储器118加载编码状态可以包括标识与一个或多个交易相关参数相关联的编码状态。例如,建模系统116可以通过基于至少一个交易标识与以下各项中的至少一个相关联的至少一个编码状态而从存储器118加载至少一个编码状态:支付装置标识符;账户标识符;支付装置持有人标识符;或其任何组合。
在一些非限制性实施例或方面中,建模系统116可以被编程或配置为解码RNN模型的编码状态。例如,建模系统116可以借助通过解码器网络(例如,具有神经网络结构的解码器,其中解码器反转压缩过程,例如解压缩)传递所述至少一个编码状态中的每个编码状态来解码所述至少一个编码状态,以提供至少一个解码状态。每个编码状态可以与另一个编码状态通过相同或不同的解码器网络。解码状态的大小大于编码时的状态的大小。解码状态的大小可以比在编码时的状态的大小大得多,例如,等于或大于在编码时的状态的大小的四倍。
在一些非限制性实施例或方面中,建模系统116可以被编程或配置为使用RNN模型层生成交易的更新状态和输出。例如,建模系统116可以通过将至少一个交易授权请求的至少一部分和至少一个解码状态输入到RNN模型中来生成至少一个交易的至少一个更新状态和输出。RNN模型可以响应于接收到作为模型输入的至少一个交易授权请求的至少一部分和至少一个解码状态而产生作为模型输出的至少一个更新状态和输出(例如,确定、推断、决策、分类、评估等)。
在一些非限制性实施例或方面中,RNN模型可以是欺诈检测模型。从RNN模型针对至少一个交易生成的输出可以是欺诈可能性的分类、评估等(例如,定量评估,例如0至100的值,或定性评估,例如威胁等级类别,例如“低”、“中”或“高”)。欺诈的可能性可以基于与支付装置标识符、账户标识符、支付装置持有人标识符或其任何组合中的至少一者相关联的至少一个交易和交易历史。由于模型状态可以与上述所列标识符相关联,因此可以通过更新与支付装置标识符、账户标识符和/或支付装置持有人标识符相关联的每个接收的交易授权请求的模型状态来自动地考虑交易历史。
在一些非限制性实施例或方面中,RNN模型可以是信用延伸模型。从RNN模型针对至少一个交易生成的输出可以是针对所述至少一个交易延伸信用的决定的分类、评估等。信用延伸决定可以基于与支付装置标识符、账户标识符、支付装置持有人标识符或其任何组合中的至少一个相关联的至少一个交易和交易历史。由于模型状态可以与上述所列标识符相关联,因此可以通过更新与支付装置标识符、账户标识符和/或支付装置持有人标识符相关联的每个接收的交易授权请求的模型状态来自动地考虑交易历史。
在一些非限制性实施例或方面中,建模系统116可以被编程或配置为对RNN模型的更新状态进行编码。例如,建模系统116可以借助通过编码器网络(例如,具有神经网络结构的编码器,其中编码器执行数据压缩)传递所述至少一个更新状态中的每个更新状态来编码所述至少一个更新状态,以提供至少一个更新状态。来自RNN模型的更新状态的模型输出可用作编码器网络的输入,以产生至少一个编码更新状态。
在一些非限制性实施例或方面中,建模系统116可以被编程或配置为将RNN模型的编码更新状态存储在存储器118中。例如,建模系统116可以将至少一个编码更新状态存储在存储器118中。将至少一个编码更新状态存储在存储器中可以包括将所述至少一个编码状态替换为存储器118中的至少一个编码更新状态。以此方式,响应于接收到每个新的交易授权请求(例如,在其发生时实时地),可以从存储器118检索一个或多个编码模型状态中的每一个,进行解码、重新生成/更新、重新编码,并存储在存储器118中以替换编码状态的先前版本。
提供图1中所示的装置和网络的数目和布置作为示例。可能存在与图1中所示的那些相比额外的装置和/或网络、更少的装置和/或网络、不同的装置和/或网络,或不同地布置的装置和/或网络。此外,图1中所示的两个或更多个装置可在单个装置内实施,或图1中所示的单个装置可实施为多个分布式装置。另外或替代地,环境100的一组装置(例如,一个或多个装置)可以执行被描述为由环境100的另一组装置执行的一个或多个功能。
现在参考图2,示出了装置200的示例部件的图式。装置200可以对应于支付装置102、商家系统104、收单方系统106、支付网关108、交易处理系统112、发行方系统114、建模系统116、存储器118和/或通信网络110中的一个或多个装置。在一些非限制性实施例或方面中,前文的一个或多个装置可以包括至少一个装置200和/或装置200的至少一个部件。如图2所示,装置200可以包括总线202、处理器204、存储器206、存储部件208、输入部件210、输出部件212和通信接口214。
总线202可以包括准许设备200的部件之间的通信的部件。在一些非限制性实施方案或方面中,处理器204可以在硬件、软件,或硬件和软件的组合中实施。例如,处理器204可以包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)等)、微处理器、数字信号处理器(DSP)和/或可以被编程为执行功能的任何处理部件(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)。存储器206可以包括随机存取存储器(RAM)、只读存储器(ROM),和/或存储供处理器204使用的信息和/或指令的另一类型的动态或静态存储装置(例如,闪存存储器、磁存储器、光学存储器等)。
存储部件208可存储与装置200的操作和使用相关联的信息和/或软件。例如,存储部件208可以包括硬盘(例如,磁盘、光盘、磁光盘、固态磁盘等)、压缩光盘(CD)、数字多功能光盘(DVD)、软盘、盒带、磁带和/或另一类型的计算机可读介质,以及对应的驱动器。
输入部件210可以包括准许装置200例如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风、摄像头等)接收信息的部件。另外或替代地,输入部件210可以包括用于感测信息的传感器(例如全球定位系统(GPS)部件、加速度计、陀螺仪、致动器等)。输出部件212可以包括从设备200提供输出信息的部件(例如,显示器、扬声器、一个或多个发光二极管(LED)等)。
通信接口214可以包括使设备200能够诸如经由有线连接、无线连接或有线连接和无线连接的组合与其他设备通信的收发器类部件(例如,收发器、单独的接收器和发射器等)。通信接口214可以准许设备200接收来自另一设备的信息和/或向另一设备提供信息。例如,通信接口214可包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、
设备200可以执行本文描述的一个或多个过程。设备200可基于处理器204执行由诸如存储器206和/或存储部件208等的计算机可读介质存储的软件指令来执行这些过程。计算机可读介质(例如,非暂态计算机可读介质)在本文中定义为非暂态存储器装置。非暂态存储器装置包括位于单个物理存储装置内部的存储器空间或散布于多个物理存储装置上的存储器空间。
软件指令可以经由通信接口214从另一计算机可读介质或从另一装置读取到存储器206和/或存储部件208中。当执行时,存储在存储器206和/或存储部件208中的软件指令可以使处理器204执行本文中所描述的一个或多个过程。另外或替代地,硬接线电路系统可以替代或结合软件指令使用以执行本文中所描述的一个或多个过程。因此,本文所描述的实施例或方面不限于硬件电路系统和软件的任何特定组合。
存储器206和/或存储部件208可以包括数据存储装置或一个或多个数据结构(例如数据库等)。装置200能够从存储器206和/或存储组件208中的数据存储装置或一个或多个数据结构接收信息、将信息存储于所述数据存储装置或一个或多个数据结构中、向所述数据存储装置或一个或多个数据结构传送信息或搜索其中存储的信息。例如,信息可以包括加密数据、输入数据、输出数据、交易数据、账户数据或其任何组合。
提供图2所示的部件的数目和布置作为示例。在一些非限制性实施方案或方面中,设备200可以包括额外部件、更少部件、不同部件或以与图2所示的那些不同的方式布置的部件。另外或替代地,设备200的一组部件(例如,一个或多个部件)可执行被描述为由设备200的另一组部件执行的一个或多个功能。
现在参考图3,示出了在有状态机器学习模型中用于状态压缩的方法300的流程图。方法300的一个或多个步骤可以由交易处理系统112和/或建模系统116的一个或多个处理器执行,所述交易处理系统和建模系统可以是相同的系统或不同的系统。另外或替代地,方法300的一个或多个步骤可以由与交易处理系统112、建模系统116等分离或包括所述交易处理系统和建模系统的另一系统、另一装置、另一系统群组或另一装置群组来执行(例如完全地、部分地等)。方法300的每个步骤可以由相同或不同的处理器执行。
在步骤302中,可以接收至少一个输入数据项目(例如,至少一个交易授权请求)。例如,交易处理系统112和/或建模系统116可以接收针对至少一个交易的至少一个交易授权请求。所述至少一个交易授权请求可以从收单方系统106和/或支付网关108传输,并且交易可以由商家系统104发起。交易可以与支付装置102相关联,所述支付装置可以与发行方的交易账户相关联且用于从发行方的交易账户发送和/或接收资金。
在步骤304中,可以加载至少一个编码状态。例如,响应于交易处理系统112和/或建模系统116接收到交易授权请求,建模系统116可以从存储器(例如,配置有例如高速缓存存储器和/或RAM等高速数据存储的服务器集群的节点)加载有状态机器学习模型(例如,递归神经网络(RNN)模型、LSTM模型等)的至少一个编码状态。所述至少一个编码状态可以包括单元状态和隐藏状态。有状态机器学习模型可以是LSTM模型。所述至少一个编码状态可以与例如支付装置标识符、账户标识符、支付装置持有人标识符或其任何组合相关联地存储在存储器中。从存储器加载所述至少一个编码状态可以包括确定与交易授权请求相关联的支付装置标识符、账户标识符、支付装置持有人标识符等,以及标识与所述标识符相关联的一个或多个所存储的编码状态。
在步骤306中,可以解码所述至少一个编码状态。例如,建模系统116可以借助通过解码器网络传递所述至少一个编码状态中的每个编码状态来解码所述至少一个编码状态以提供至少一个解码状态。在一些非限制性实施例或方面中,解码器网络可以包括RNN的解码器层。RNN可以包括隐藏层,通过隐藏层,给定输入和(解码)状态,可生成RNN的输出。解码器网络可以解压缩所存储的编码状态数据,使得该状态可以在隐藏层中使用。可以用RNN模型的隐藏层训练解码器网络,以改进和/或维持RNN模型的性能,同时允许对RNN模型的状态进行编码和解码。
在步骤308中,可以生成至少一个更新状态和/或输出。例如,建模系统116可以通过将输入和至少一个解码状态输入到RNN模型中来针对输入(例如,至少一个交易授权请求的至少一部分,例如交易数据、交易金额、交易时间、商家类型、位置等)生成至少一个更新状态和输出。在一些非限制性实施例或方面中,来自解码器层的一个或多个解码状态(例如,至少一个单元状态、至少一个隐藏状态等)可以传递到隐藏层,并且与所述输入一起用于生成来自RNN模型的交易的输出。通过生成输出,可以更新模型状态。
在步骤310中,可以编码所述至少一个更新状态。例如,建模系统116可以借助通过编码器网络传递所述至少一个更新状态中的每个更新状态来编码所述至少一个更新状态,以提供至少一个编码更新状态。在一些非限制性实施例或方面中,编码器网络可以包括在RNN模型的隐藏层之后的编码器层,其对在隐藏层中更新的模型状态(例如,单元状态、隐藏状态)进行编码。编码器网络可以压缩存储的更新状态数据,使得更新状态可以存储在存储器中。可以用RNN模型训练编码器网络,以改进和维持RNN模型的性能,而不管对其状态的解码和编码。
在步骤312中,可以存储所述至少一个编码更新状态。例如,建模系统116可以将所述至少一个编码更新状态存储在存储器(例如,存储器118)中。将至少一个编码更新状态存储在存储器中可以包括将所述至少一个编码状态替换为存储器(例如,存储器118)中的至少一个编码更新状态。所述至少一个编码更新状态可以和与所述至少一个编码状态相同的标识符相关联地存储。此后,所述至少一个编码更新状态可以响应于下一交易而被加载、解码、用于RNN模型、编码且再次存储。存储编码状态需要更少的存储器(例如,字节),这允许更短的传输时间、每次传输所需的较少的带宽以及系统的较少总体存储要求。编码状态的大小可以等于或小于当解码时的相同状态的大小的四分之一。
如所描绘,方法300可以是循环的并且随着正在进行的交易而实时地触发。举例来说,对于多个正在进行的交易授权请求中的每个交易授权请求,可以触发建模系统116以从存储器118加载至少一个编码状态(步骤304),解码所述至少一个编码状态(步骤306),生成输出和至少一个更新状态(步骤308)(在本文中也称为重新生成至少一个更新状态),对所述至少一个更新状态进行编码(步骤310),且将所述至少一个编码更新状态存储(步骤312)在存储器118中,例如,通过在所述状态更新之前替换先前编码的状态。应了解,由于数百万笔交易每天都发生并由交易处理系统112处理,因此由编码产生的减小的状态大小将极大地减少通过处理所述数百万笔交易实时执行有状态机器学习模型的存储器和处理要求。
现在参考图4,描绘有状态机器学习模型中用于状态压缩的系统和方法的示例性实施方案400的示意图。例如,实施方案400可以包括训练具有解码器网络D1、D2和编码器网络E1、E2的有状态机器学习模型(例如,双层LSTM)。编码器网络E1、E2和解码器网络D1、D2可单独称为层或共同称为自动编码器层。应当理解,所描绘的非限制性实施例或方面是为了说明一个可行的实施方案,但所描述的方法可以应用于具有不同数目的状态、训练步骤和实施步骤的其它有状态机器学习模型。
描绘的是作为待训练的有状态机器学习模型的LSTM模型,其具有四个状态:两个单元状态C1、C2和两个隐藏状态H1、H2。编码的单元状态C1和编码的隐藏状态H1被初始化且输入到解码器网络D1以从其存储的格式/大小解压缩状态C1、H1。编码的单元状态C2和编码的隐藏状态H2被初始化且输入到解码器网络D2以从其存储的格式/大小解压缩状态C2、H2。解码器网络D1和D2可以和LSTM模型L1、L2一起训练,以通过利用自动编码器层实施机器学习模型来减少准确性损失。
从解码器网络D1输出的解码状态C1、H1用作LSTM L1的第一输入。通过使用第一交易授权请求T1的至少一部分作为第二输入来进一步训练LSTM L1。第一交易授权请求T1可以是用于训练目的的历史交易授权请求。然后,LSTM L1生成作为输出的更新状态C1、H1。更新的隐藏状态H1传递到LSTM L2以用作输入。
从解码器网络D2输出的解码状态C2、H2用作LSTM L2的第一输入。通过使用从LSTML1传递的更新的隐藏状态H1作为第二输入来进一步训练LSTM L2。然后,LSTM L2生成作为输出的更新状态C2、H2。LSM L2还从模型生成最终输出O1,所述最终输出可以是基于交易授权请求的确定、决定、推断、分类、评估等。例如,对于欺诈检测模型,最终输出O1可以是交易是欺诈性的可能性,这可以确定交易是被批准还是被拒绝。对于信用延伸模型,最终输出O1可以是是否为交易延伸信用的确定,这可以确定交易是被批准还是被拒绝。然而,由于上述步骤是用于训练目的,因此来自LSTM L2的输出可用以确定训练的准确性而不是用于实时模型中。
来自LSTM L1的更新状态C1、H1随后可以通过输入到编码器网络E1来重新编码。同样,来自LSTM L2的更新状态C2、H2可以通过输入到编码器网络E2而重新编码。重新编码的状态C1、C2、H1、H2可以重新存储在存储器118中。编码器网络E1和E2可以和LSTM模型L1、L2一起训练,以通过利用自动编码器层实施机器学习模型来减少准确性损失。
为了进一步训练LSTM L1和LSTM L2,对于用于训练目的的多个交易,例如历史交易,可以重复上述步骤。对于每个后续交易授权请求T2,可以加载单元状态C1和隐藏状态H1并将其输入到解码器网络D1,且可以加载单元状态C2和隐藏状态H2并将其输入到解码器网络D2。解码的单元状态C1、H1可以与每个后续交易授权请求T2的至少一部分一起输入到LSTM L1,以产生更新的单元状态C1、H1。解码的单元状态C2、H2可以与更新的单元状态H1一起输入到LSTM L2以产生更新的输出O2。随后,可以将更新的单元状态C1、H1输入到编码器网络E1并重新存储在存储器118中,并且可以将更新的单元状态C2、H2输入到编码器网络E2并重新存储在存储器118中。上述步骤可针对多个交易授权请求中的每个交易授权请求重复。
现在参考图5,描绘有状态机器学习模型中用于状态压缩的系统和方法的示例性实施方案500的示意图。例如,实施方案500可以包括执行(例如,在实时生产环境中实施)具有解码器网络D1、D2和编码器网络E1、E2的有状态机器学习模型。应当理解,所描绘的非限制性实施例或方面是为了说明一个可行的实施方案,但所描述的方法可以应用于具有不同数目的状态、训练步骤和实施步骤的其它有状态机器学习模型。
如图5中所示,描绘作为待执行的有状态机器学习模型的LSTM模型,其具有在至少训练阶段之后保存在存储器118中的四个编码状态:两个编码单元状态C1、C2和两个编码隐藏状态H1、H2。编码的单元状态C1和编码的隐藏状态H1被从存储器118加载且输入到解码器网络D1以从其存储的格式/大小解压缩状态C1、H1。编码的单元状态C2和编码的隐藏状态H2被从存储器118加载且输入到解码器网络D2以从其存储的格式/大小解压缩状态C2、H2。
类似于执行阶段,从解码器网络D1输出的解码状态C1、H1用作LSTM L1的第一输入。LSM L1还接收作为输入的新交易授权请求T3的至少一部分。新交易授权请求T3可以针对由商家系统104发起的交易并且针对支付装置102的支付。然后,LSTM L1生成作为输出的更新状态C1、H1。更新的隐藏状态H1传递到LSTM L2以用作输入。
从解码器网络D2输出的解码状态C2、H2用作LSTM L2的第一输入。LSTM L2还接收从LSTM L1传递的更新的隐藏状态H1作为输入。然后,LSTM L2生成作为输出的更新状态C2、H2。LSM L2还从模型生成最终输出O3,所述最终输出可以是基于交易授权请求的确定、决定、推断、分类、评估等。由于上述步骤用于实时实施方案,因此来自LSTM L2的最终输出O3可用于针对所执行模型评估交易,所述模型例如欺诈检测模型、信用延伸模型等。
来自LSTM L1的更新状态C1、H1随后可以通过输入到编码器网络E1来重新编码。同样,来自LSTM L2的更新状态C2、H2可以通过输入到编码器网络E2而重新编码。重新编码状态C1、C2、H1、H2可以通过替换C1、C2、H1和H2的先前状态而重新存储在存储器118中。上述步骤可以针对多个进行中的交易授权请求中的每个新交易授权请求T3重复。
本文提供了在有状态机器学习模型中执行用于状态压缩的所描述系统和方法的步骤的伪码和简单语言描述。以下伪码和描述是状态编码LSTM模型的实施方案的非限制性实例,其中编码器EC和EH以及解码器DC和DH具有密集层神经网络结构。
现在参考图6,描绘有状态机器学习模型中的状态压缩方法的伪码。如以下普通语言中进一步描述,所说明的伪码定义用于单元状态编码器EC()、隐藏状态编码器EH()、单元状态解码器DC()和隐藏状态解码器DH()的计算机功能,用于对此类功能的任何输入x。变量weights_ec和weights_eh分别是编码器EC()和EH()的维度d1和d2的矩阵,而weights_dc、weights_dh分别是解码器DC()和DH()的维度d2和d1的矩阵。应当理解,由于维度d2小于维度d1(例如,小得多,例如大小的四分之一),因此编码器EC()和EH()显著压缩模型状态的大小。同样如图所示,matmul()函数是数学矩阵乘法函数,并且add()函数是矩阵加法函数,并且sigmoid()函数是数学S形函数(例如,sigmoid(x×w+b),其中w和b分别是权重和偏置)。
参考图6所描绘的伪码,假设示例性单层LSTM的隐藏状态为H,并且其单元状态为C。H和C的维度均为d
编码器EC()和EH()具有d1的输入维度和d2的输出维度。编码器EC()和EH()用于压缩状态的大小(例如,分别为单元状态C和隐藏状态H)。编码器EC()和EH()可以具有密集层、卷积层等的神经网络结构。
解码器DC()和DH()具有d2的输入维度和d1的输出维度。解码器DC()和DH()用于恢复状态的大小以用于模型内部使用。解码器DC()和DH()可以具有密集层、卷积层等的神经网络结构。
现在参考图7,描绘有状态机器学习模型中的状态压缩方法的又一伪码。图示的伪码在以下普通语言描述中进一步描述,以用于使用上述编码器EC()和EH()以及解码器DC()和DH()执行状态编码的LSTM。
参考图7的所描绘伪码,假设X为样本(例如,交易)的序列,X[t]为当前时间步长t的来自序列X的样本,并且T为时间步长的总数目。假设编码的单元状态enC和编码的隐藏状态enH在当前时间步长t存储,recovered_states表示基于编码的单元状态enC和编码的隐藏状态enH的来自单元状态解码器DC()和隐藏状态解码器DH()的输出。假设LSTM_layer()是LSTM层(例如,具有或不具有密集层)的函数,其将样本输入(例如,X[t])和状态输入(例如,来自DC()和DH())转换为决策输出和状态输出(例如,orig_states,其可以来自LSTM层的处于其原始维度的单元状态和隐藏状态)。输出可以附加到输出文件(例如,output_ta)和/或可用于计算损失、训练解码器、编码器和/或LSTM等。单元状态C和隐藏状态H可分别由编码器EC()和EH()编码。然后,可以递增时间步长(例如,t=t+1),并且此过程可以针对小于总数目时间步长T的每一时间步长重复。
现在参考图8,描绘有状态机器学习模型中的状态压缩方法的又一伪码。所示伪码描述使用上述编码器EC()和EH()以及解码器DC()和DH()初始化状态编码的LSTM,以产生模型输出(例如,推断、决策、确定、分类别、分类等)。如果编码单元状态enC和编码隐藏状态enH存储在存储器中,则它们从存储器加载。否则,编码的单元状态enC和编码的隐藏状态enH以零状态(具有维度d2)初始化。然后,recovered_states表示基于编码的单元状态enC和编码的隐藏状态enH的来自单元状态解码器DC()和隐藏状态解码器DH()的输出,并且inputs表示时间步长0的来自序列X的样本。假设LSTM_layer()是LSTM层(例如,具有或不具有密集层)的函数,其将样本输入(例如,X[0])和状态输入(例如,来自DC()和DH())转换为决策输出和状态输出(例如,orig_states,其可以来自LSTM层的处于其原始维度的单元状态和隐藏状态)。单元状态C和隐藏状态H可分别由编码器EC()和EH()编码,且存储。
针对没有状态编码的模型评估用于有状态机器学习模型中的状态压缩的所描述的系统和方法。特别地,将根据所描述的系统和方法的状态编码的LSTM模型与没有状态编码的LSTM模型进行比较。发现所描述的系统和方法将状态存储器成本降低到大小的四分之一,而不损害模型性能。在测试中,通过使用表示模型的精确率和查全率的谐波平均值的F得分,特别是F
表1
此外,尽管包括用于每个模型确定(例如,交易的评分/分类)的解码和编码的附加步骤,但LSTM模型的平均评分时间(例如,作出确定的时间)为2.58ms,而状态编码LSTM模型的平均评分时间为2.65ms(参见下表2)。因此,除了可比较的性能之外,状态编码的LSTM模型表现出可比较的总体执行时间。然而,应注意,鉴于状态存储大小的显著减小,状态编码的LSTM模型将需要较少时间将数据存储到存储器并从存储器检索数据。
表2
在一些非限制性实施例或方面中,进一步参考前述附图,在模型内部压缩之后,但在存储到存储器之前,所公开的系统可以实施进一步的模型外部压缩。例如,所公开的系统可以使用数据量化,例如将浮点数转换为整数,以减少存储器存储大小要求。作为进一步的实例,所公开的系统可以使用数据串行化和压缩,例如,Lempel-Ziv-Welch(LZW)压缩、Lempel-Ziv77(LZ77)压缩、通过部分匹配的预测(PPM)压缩等。
所公开的系统还可以使用特定硬件来进一步增加计算机资源节约。例如,用于编码状态的存储器存储装置可以用用于硬件加速的现场可编程门阵列(FPGA)来实施,所述现场可编程门阵列可以使用gzip压缩并将相关数据存储到相同的存储器块以用于单个输入/输出(IO)访问。
尽管已出于说明的目的而基于当前被认为是最实用和非限制性的实施例或方面详细描述了本公开,但应理解,此类详细描述仅用于所述目的,且本公开不限于所公开实施例或方面,而相反,旨在涵盖属于所附权利要求书的精神和范围内的修改和等效布置。例如,应理解,本公开预期,尽可能地,任何实施例或方面的一个或多个特征可与任何其它实施例或方面的一个或多个特征组合。
- 一种耐高温中性植酸酶的制备方法和耐高温中性植酸酶及其应用
- 一种耐高温中性植酸酶的制备方法和耐高温中性植酸酶及其应用