CN117597666A - 在客户端设备上执行机器学习模型 - Google Patents
在客户端设备上执行机器学习模型 Download PDFInfo
- Publication number
- CN117597666A CN117597666A CN202280046553.3A CN202280046553A CN117597666A CN 117597666 A CN117597666 A CN 117597666A CN 202280046553 A CN202280046553 A CN 202280046553A CN 117597666 A CN117597666 A CN 117597666A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- client device
- server system
- learning model
- encrypted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 219
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000012549 training Methods 0.000 claims description 90
- 238000000034 method Methods 0.000 claims description 57
- 238000011156 evaluation Methods 0.000 claims description 50
- 238000013475 authorization Methods 0.000 claims description 43
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000012502 risk assessment Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 12
- 230000015654 memory Effects 0.000 description 12
- 239000013598 vector Substances 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 238000003860 storage Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- MZWGYEJOZNRLQE-KXQOOQHDSA-N 1-stearoyl-2-myristoyl-sn-glycero-3-phosphocholine Chemical compound CCCCCCCCCCCCCCCCCC(=O)OC[C@H](COP([O-])(=O)OCC[N+](C)(C)C)OC(=O)CCCCCCCCCCCCC MZWGYEJOZNRLQE-KXQOOQHDSA-N 0.000 description 1
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 208000025174 PANDAS Diseases 0.000 description 1
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 1
- 240000000220 Panda oleosa Species 0.000 description 1
- 235000016496 Panda oleosa Nutrition 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/285—Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Bioethics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本文公开的技术涉及在客户端设备上执行机器学习模型,特别是在交易风险评估的情境下在客户端设备上执行机器学习模型。这可以减轻服务器系统的计算负担。在各种实施例中,服务器系统可以从客户端设备接收执行第一操作的请求,并且从机器学习模型的集合中选择第一机器学习模型发送给客户端设备。在一些实施例中,第一机器学习模型可以由客户端设备执行,以基于用客户端设备无法访问的加密密钥加密的一个或多个加密的输入数据值来生成用于第一操作的模型输出数据。服务器系统可以向客户端设备发送第一机器学习模型,然后从客户端设备接收响应消息,响应消息指示是否基于模型输出数据对第一操作授权。
Description
背景技术
技术领域
本公开总体上涉及机器学习和计算机系统安全,更具体而言,涉及在客户端设备上执行机器学习模型。
相关领域的描述
服务器系统可以向远程终端用户提供各种服务(例如,作为一个或多个网络服务的一部分)。在提供这些不同的服务时,服务器系统可以利用机器学习模型来改进这些服务的各个方面和/或服务器系统本身的安全性。作为一个非限制性示例,在一些情况下,服务器系统可以训练机器学习模型,用于识别服务器系统的用户的恶意活动。这样的恶意活动可能旨在扰乱服务器运行,不必要地使用服务器资源,和/或危及服务器计算机安全。当服务器系统接收到经由其提供的服务执行操作的请求时,服务器系统可以利用机器学习模型中的一个或多个机器学习模型来确定是否对所请求的操作授权。不过,在服务器系统上利用机器学习模型可能会面临各种技术挑战。例如,运行这些机器学习模型可能会给服务器系统带来极大的计算负担,尤其是在服务器系统每天运行大量(例如,数十万、数百万等)机器学习模型或处理大量用户请求时。
附图说明
图1是示出了根据一些实施例的示例系统的框图,在该示例系统中,一个或多个机器学习模型可以在客户端设备上执行。
图2是示出了根据一些实施例的示例服务器系统的框图。
图3A是示出了根据一些实施例的包括一个或多个加密数据值的示例训练样本。图3B是示出了根据一些实施例的可以用作机器学习模型输入的加密输入数据图示。
图4示出了根据一些实施例的服务器系统与客户端设备之间的示例交换的通信图。
图5和图6是示出了根据一些实施例在客户端设备上执行一个或多个机器学习模型的示例方法的流程图。
图7是示出了根据一些实施例的示例计算机系统的框图。
具体实施方式
在许多情况下,服务器系统可以使用机器学习模型来估定与服务器系统的用户所请求的操作相关联的风险,并且确定是否对此操作授权。例如,在接收到用户经由其提供的服务执行操作的请求后,服务器系统可以运行一个或多个机器学习模型,以生成与服务器系统执行所请求操作相关联的风险等级相对应的模型输出数据。基于此模型输出数据,服务器系统可以确定是否对所请求的操作授权。
然而,运行这些机器学习模型可能会给服务器系统带来极大的计算负担,尤其是在包括每小时可能服务数万或数十万个请求的多台机器的大型服务器系统中。例如,其中一些风险模型是计算密集型模型,需要大量计算资源才能执行。此外,即使在运行单个风险模型的计算成本并不高的情况下,运行此模型以评估许多不同用户请求的累积效应仍会带来极大的计算负担。
作为一个非限制性示例,考虑这样一种情景,即服务器系统利用双层式(two-tiered)模型框架,其中第一层使用计算密集度相对较低的机器学习模型(即“轻量级”模型),而第二层使用计算密集度相对较高的机器学习模型(即“重量级”模型)。在此情景下,轻量级模型可能比重量级模型使用更少的数据和/或运行得更快,而重量级模型需要更多的资源,但可以提供更好的预测能力。在许多情况下,轻量级模型可能就足以确定是否对所请求的交易(诸如,电子购买交易)授权。作为一个非限制性示例,轻量级模型的输出可以表明,在一定误差边际内,所请求的操作有特定百分比的几率是恶意操作。在一些情况下,服务器系统可以首先使用轻量级风险模型来评估所请求的交易,只有当轻量级模型表明交易有一定的合理几率是恶意交易时,才使用重量级模型(例如,如果轻量级模型表明交易很可能是合理的,则可能不需要调用重量级机器学习模型)。在服务器系统每天接收大量(例如,数百万个)请求的情况下,执行这些轻量级模型可能会造成服务器系统的风险服务器上有大量流量。因此,即使轻量级模型的资源密集度低于重量级模型,它们仍可能会给服务器系统带来极大的计算负担,诸如,在服务器系统上执行这些模型的总计算负担中占20%、40%、50%或其他百分比。此外,在服务器端处运行这些模型可能会在服务器系统确定是否对请求授权时造成用户的时间延迟。
然而,在各种实施例中,所公开的技术通过在客户端设备上执行机器学习模型来解决这些或其他技术问题。也就是说,本公开描述了由客户端设备而非服务器系统执行一个或多个机器学习模型(例如,轻量级风险评估模型)以确定是否对客户端设备的用户所请求的操作授权的技术。
例如,当服务器系统接收到执行操作的请求(例如,登录到用户帐户的请求)时,服务器系统可以确定此操作是否与可以在客户端设备上执行的机器学习模型相关联,以确定是否对所请求的操作授权。如果是,则服务器系统可以向客户端设备发送机器学习模型以供执行。将在下文中详细描述的是,在各种实施例中,这些机器学习模型可以由客户端设备执行,以生成模型输出数据,所述数据指示与执行所请求的操作相关联的风险等级。而且,在各种实施例中,机器学习模型可执行,以基于加密输入数据生成该模型输出数据,所述加密输入数据已使用客户端设备无法访问的加密密钥进行加密。因此,在各种实施例中,当机器学习模型在客户端设备上运行时,输入到模型的明文版本不会暴露给潜在的恶意用户。除了机器学习模型,服务器系统还可以向客户端设备发送一个或多个加密的输入数据值。使用这些加密的输入数据值,客户端设备可以运行机器学习模型(例如,在客户端设备上的浏览器中),以生成模型输出数据。然后,可以基于此模型输出数据来执行是否对所请求的操作授权的确定。
根据各种实施例,所公开的技术提供了各种技术优势。例如,通过在客户端设备上运行机器学习模型,服务器系统能够节省原本专用于这一过程的计算资源。如果从每天服务大量(例如,数百万个)请求的大规模服务器系统的角度来看,服务器系统通过在客户端设备上运行机器学习模型而节省的计算资源是显著的,而给客户端设备带来的额外计算负担很小或可以忽略不计。服务器系统回收的计算资源可以用于其他目的,以改善用户体验和整个服务器系统的运行,诸如,运行计算密集度更高的机器学习模型,以评估已被识别为潜在高风险的操作。而且,在各种实施例中,在客户端设备上运行机器学习模型还可以通过减少服务器系统在其系统上运行机器学习模型并且将授权结果返回给用户时对用户造成的延迟来改善用户体验。替代地,通过向客户端设备提供机器学习模型和加密的输入数据以供本地执行,所公开的技术可以减少或消除这一延迟,从而改善服务器系统的用户体验。
现在参照图1,框图100描绘了服务器系统102,服务器系统102包括托管一个或多个软件应用程序106的应用程序服务器104、托管一个或多个网络资源110的网络服务器108、风险服务器120,以及数据存储130。在各种实施例中,风险服务器120可操作用于从数据存储130检索可用于确定是否对所请求的操作授权的适当的机器学习模型140,并且发送供客户端设备执行的机器学习模型140。例如,在各种实施例中,服务器系统102可以提供一个或多个计算资源(例如,作为网络服务的一部分),所述计算资源可以由终端用户直接使用,或者可以与由第三方提供的网络服务集成(或由第三方提供的网络服务使用)。作为一个非限制性示例,服务器系统102,在一些实施例中,提供在线支付服务,终端用户可以使用此服务来执行在线金融交易(例如,发送或接收资金),或者商家可以利用此服务在金融交易期间从用户处接收资金。但需要注意的是,此实施例仅作为一个非限制性示例进行描述。在其他实施例中,服务器系统102可以向终端用户提供各种合适的网络服务中的任一者,诸如,电子邮件服务、流媒体服务、在线零售商店等。另外需要注意的是,在一些实施例中,“服务器系统”(诸如,服务器系统102、应用程序服务器104、网络服务器108或风险服务器120)可以用一台机器来实施。然而,在其他实施例中,可以使用为了单个实体的利益而执行(例如,在一个或多个数据中心处)的多台机器来实施“服务器系统”。例如,在一些实施例中,服务器系统102、应用程序服务器104、网络服务器108或风险服务器120中的一者或多者可以使用位于一个或多个数据中心处的多台机器来实施。
图1还包括由用户154操作的客户端设备150。客户端设备150可以是各种合适的计算设备(诸如,用户154可以用来访问经由服务器系统102提供的(一个或多个)服务的智能手机、膝上型计算机、台式计算机、平板计算机等)中的任一者。例如,在各种实施例中,客户端设备150执行软件应用程序152,诸如,网络浏览器或专用软件应用程序,以用于访问由应用程序服务器104或网络服务器108提供的一个或多个计算资源。
在所描绘的实施例中,用户154经由客户端设备150向服务器系统102发送执行操作162的请求160。例如,在各种实施例中,服务器系统102可操作用于为进行请求的用户执行各种不同类型的操作作为其提供的(一个或多个)服务的一部分。在服务器系统102提供在线支付服务的非限制性实施例中,这些操作可以包括将资金从一个用户帐户转移到另一个用户帐户、添加信用卡或银行帐户作为资金来源、登录到用户帐户、修改用户的帐号信息134等。然而,同样需要注意的是,此实施例仅作为一个非限制性示例提供,并且在其他实施例中,服务器系统102可操作用于提供任何合适的操作集合,作为其提供的(一个或多个)服务的一部分。
在各种实施例中,响应于执行操作162的请求160,所公开的技术可以选择一个或多个机器学习模型140在客户端设备150上执行,以确定是否对所请求的操作162授权。例如,如图1所示,数据存储130可以存储各种机器学习模型140A-140N(或简称“模型140”),这些模型可以用于估定与所请求的操作162相关联的风险等级,并且基于此风险等级来确定是否对所请求的操作授权。在各种实施例中,风险服务器120可以向客户端设备150提供各种数据项,包括机器学习模型140和加密的输入数据142,以用于评估与所请求的操作162相关联的风险等级。
在所描绘的实施例中,风险服务器120包括模型选择模块122。在各种实施例中,模型选择模块122可操作用于选择适当的机器学习模型140提供给客户端设备150,以确定是否对所请求的操作162授权。在一些实施例中,模型选择模块122可以基于请求160中指定的操作162的类型来选择机器学习模型140。例如,如上所述,服务器系统102可以提供可能对请求用户可用的各种不同的操作。在各种实施例中,一些或所有这些不同类型的操作可以与一个或多个机器学习模型140相关联,机器学习模型140用作授权过程的一部分,以确定是否对给定的请求授权,以执行此类型的操作。换句话说,各种机器学习模型140可以与其对应的操作类型相关联,使得,当服务器系统102接收到执行给定类型操作的请求时,模型选择模块122可以检索适当的模型140,以用于确定是否对所请求的操作授权。在一些实施例中,模型选择模块122可以维护或访问提供从各种操作到对应的模型140的映射的表格(或其他合适的数据结构),并且可以使用此表格来查找适当的机器学习模型140,以针对特定的所请求的操作162进行检索。
一旦被模型选择模块122检索到,服务器系统102就可以向客户端设备150发送机器学习模型140。例如,在一些实施例中,响应于请求160,网络服务器108可以检索与所请求的操作162相关联的网页,并且所选机器学习模型140可以包含在发送到客户端设备150的网页数据中或附带发送到客户端设备150的网页数据。然而,在其他实施例中,机器学习模型140也可以在与所请求的操作162相关联的任何网页数据之前或之后被发送到客户端设备150。
图1中的风险服务器120还包括输入数据检索模块124和输入数据加密模块126。在各种实施例中,输入数据检索模块124可操作用于检索(一旦加密)将用作发送到客户端设备150的机器学习模型140的输入的一个或多个数据项。例如,为了生成与所请求的操作162相关联的风险等级相对应的模型输出数据,机器学习模型140可以将具有对应于用户154、请求160、操作162等的各种属性的加密的数据值的集合的特征向量作为输入。在各种实施例中,特征向量中的加密的数据值中的一个或多个加密的数据值可以基于由服务器系统102维护或计算的一个或多个数据项。作为一个非限制性示例,在一些实施例中,此输入数据可以包括(或基于)与用户154的用户帐户相关联的历史帐户数据(例如,用户活动数据),诸如,在特定时间段内(例如,最近一个月、三个月、六个月等)经由用户帐户执行的先前的交易。在一些这样的实施例中,数据存储130可以维护与服务器系统102的各种用户帐户相关联的帐户信息134,并且作为响应于此请求,输入数据检索模块124可以为所选机器学习模型140检索适当的输入数据项。需要进一步注意的是,在一些实施例中,机器学习模型140的一个或多个输入可以在运行时动态生成,例如,由风险服务器120基于用户帐户的帐户信息134动态生成。
在各种实施例中,输入数据加密模块126可操作用于加密一个或多个输入数据值,以生成加密的输入数据142。需要注意的是,在各种实施例中,可能希望防止向公众透露机器学习模型140的详情。例如,如果恶意用户发现了用于执行授权决策的机器学习模型140的内部工作原理,则此恶意用户可能会相应地调整其攻击,以试图绕过服务器系统102的防御并经由服务器系统102执行欺诈性(或其他恶意)操作。为了解决这个问题,各种公开的实施例利用同态加密来确保有关机器学习模型140的操作的有用信息不会向公众透露。将从本公开获益的本领域技术人员将理解的是,同态加密是一种加密形式,其中对加密的输入数据执行计算,使得所得到的输出值也被加密。然后,对此输出值进行解密时,结果值与对解密后的输入数据执行计算时得到的值相同。在本公开的上下文中利用同态加密具有各种技术优势。例如,将在下文中参照图2详细描述的是,所公开的技术的各种实施例包括至少部分地使用加密的训练数据来训练机器学习模型140,使得,一旦训练,模型140就可操作用于在加密的输入数据上运行。通过在加密的输入数据142上运行这些模型140,服务器系统102不会向用户154透露机器学习模型140所利用的输入的详情。换句话说,通过对模型140的输入进行加密,公众不会知道输入是什么,因此,无法获得可以用于绕开模型140的有用信息。
在各种实施例中,加密的输入数据142是通过对输入数据检索模块124使用客户端设备150或用户154无法访问的一个或多个加密密钥检索到的输入数据值进行加密而生成的。例如,在一些实施例中,风险服务器120可以创建不会暴露给服务器系统102之外的用户或设备的一个或多个加密密钥(例如,公钥-私钥-对)。将在下文中参照图2更加详细描述的是,这些一个或多个加密密钥(例如,公钥-私钥对中的公钥)可以用于对用于训练机器学习模型140的训练数据进行加密。当生成加密的输入数据142时,输入数据加密模块126可以使用此相同的密钥对由输入数据检索模块124检索到的数据值中的一个或多个数据值进行加密。需要注意的是,输入数据加密模块126在生成加密的输入数据142时可以利用各种加密算法、技术以及库。作为一个非限制性示例,输入数据加密模块126可以使用HElib软件库生成加密的输入数据142,HElib软件库使用Brakerski-Gentry-Vaikuntanathan(BGV)方案实施同态加密。然而,需要注意的是,此实施例仅作为一个非限制性示例提供,并且在其他实施例中,可以使用其他合适的加密技术来生成加密的输入数据142。
加密的输入数据142可以在机器学习模型140被发送到客户端设备150之前、同时或之后发送到客户端设备150。在一些实施例中,服务器系统102在发送加密的输入数据142之前,将机器学习模型140连同网页数据一起发送,从而允许网页在客户端设备150上呈现,同时风险服务器120检索并且对加密的输入数据142进行加密。在一些这样的实施例中,此方法可以通过允许用户154在无需等待加密的输入数据142被发送的情况下与网页进行交互来减少延迟并改善用户体验。
一旦从服务器系统102接收到,客户端设备150就可以使用加密的输入数据142运行机器学习模型140。在各种实施例中,机器学习模型140以在客户端设备150上可以由软件应用程序152执行的格式提供。作为非限制性示例,在一些实施例中,机器学习模型140作为ONNXTM模型或TensorFlowTM Lite模型被提供,正如将从本公开获益的本领域技术人员所理解的那样,其是可以在客户端设备150上在网络浏览器中或者由使用Node.js的软件应用程序运行的JavaScriptTM模型。
在各种实施例中,通过使用加密的输入数据142运行模型140,客户端设备150生成模型输出数据。如本文所用,“模型输出数据”一词是指使用机器学习模型140生成的一个或多个值,所述值直接或间接地对应于与所请求的操作162相关联的风险等级。需要注意的是,在一些实施例中,模型输出数据可以以指示与所请求的操作162相关联的风险等级的解密的格式生成。例如,在一些这样的实施例中,可以将加密的输入数据142应用于机器学习模型140,以生成模型输出数据,模型输出数据指示加密的输入数据142所对应的操作162是恶意操作的概率。作为一个非限制性示例,在一些实施例中,机器学习模型140可以生成模型输出数据,其标度范围在0.0-1.0内,且指示所请求的操作162应被分类为“恶意”的概率,其中,其值更接近于0.0表明操作162应该被归类为“非恶意”且值更接近于1.0表明操作162应该被归类为“恶意”的增加的概率。然而,需要注意的是,此实施例仅作为一个非限制性示例提供,并且在其他实施例中,可以在任何合适的范围或标度(例如,-1至+1,1至10等)内生成模型输出数据。
需要进一步注意的是,在一些实施例中,可以使用机器学习模型140以加密的格式生成模型输出数据,使得,当解密时,模型输出数据指示与所请求的操作162相关联的风险等级。例如,在一些这样的实施例中,模型输出数据对应于与所请求的操作162相关联的风险等级,因为模型输出数据一旦解密,即可指示操作162是恶意操作的概率。根据一些实施例,以加密的格式生成模型输出数据可以提供各种技术优势。例如,通过以加密的格式生成模型输出数据,所公开的技术可以阻止用户154基于所产生的输出数据搜集关于模型140的详情的信息。例如,如果向恶意用户提供了以解密的格式(也就是说,以直接指示与操作162相关联的风险等级的格式)生成输出数据的模型,则恶意用户可能会试图通过监控为不同输入值生成的输出数据来“映射”此模型。在此情况下,恶意用户可能能够辨别在设计针对服务器系统102的攻击时可能对用户有用的关于模型的信息。然而,在各种实施例中,通过利用以加密的格式生成模型输出数据的机器学习模型140,所公开的技术可以防止恶意用户执行此类映射操作,从而进一步保证模型140不会向公众公开。
在各种实施例中,模型输出数据可以用于确定是否对所请求的操作162授权。例如,在一些实施例中,客户端设备150可以将模型输出数据返回到服务器系统102,其中风险服务器120可以基于模型输出数据的值来确定是否对所请求的操作162授权。例如,一旦接收到模型输出数据,风险服务器120就可以使用其维护的一个或多个加密密钥(例如,与用于生成加密的输入数据142的公钥相对应的私钥)对其进行解密,以生成解密的模型输出数据。然后,风险服务器120可以应用一个或多个授权规则来确定是否对操作162授权。作为一个非限制性示例,考虑一个实施例,在此实施例中,解密的模型输出数据在标度范围0.0-1.0内生成,值更接近于1.0指示所请求的操作162是高风险的概率增加。在这样的实施例中,风险服务器120可以应用授权规则,规定拒绝对应的模型输出值高于某个预定阈值(例如,0.5、0.75、0.85等)的请求。然而,需要注意的是,此实施例仅作为一个非限制性示例提供。而且,在各种实施例中,授权规则可以特定于所请求的特定操作162。基于(一个或多个)授权规则的结果,服务器系统102可以确定是否对所请求的操作162授权。如果,基于模型输出数据,所请求的操作162没有被立即授权,则服务器系统102可以采用一个或多个附加的操作,诸如,拒绝请求160,执行进一步的风险分析(例如,应用更重的第二层(tier-two)机器学习模型来评估所请求的操作162),从用户154处请求附加的鉴认操作(例如,多因素鉴认)等。
现在转到图2,框图200示出了根据一些实施例的示例服务器系统102。在所描绘的实施例中,服务器系统102包括应用程序服务器104、网络服务器108、风险服务器120以及数据存储130。需要注意的是,在图2中,虽然显示了服务器系统102中包括单个数据存储130,但这一简化实施例仅作为非限制性示例提供。在其他实施例中,服务器系统102可以包括(或访问)使用任何适当的数据存储技术实施的任何适当数量的本地或远程数据存储区。另外需要注意的是,虽然图2中显示了单个应用程序服务器104和网络服务器108,但提供这一简化实施例只是出于清楚说明的目的,在其他实施例中,服务器系统102可以包括任何适当数量的应用程序服务器104和网络服务器108。
与图1一样,图2中的风险服务器120包括模型选择模块122、输入数据检索模块124,以及输入数据加密模块126。此外,在图2所描绘的实施例中,风险服务器120还包括训练模块202、模型转换模块204,以及授权规则服务206。在各种实施例中,训练模块202可操作用于基于训练数据216来训练各种机器学习模型140。训练数据216可以包括不同的训练数据集合,这些数据集合可以用于训练将用于对服务器系统102提供的各种操作授权的不同的机器学习模型140。
然而,如上所述,在各种实施例中,训练机器学习模型140使其可以在加密的输入数据142上运行是有益的。因此,在各种实施例中,训练模块202可操作用于使用加密的训练数据来训练机器学习模型140,使得,一旦训练,机器学习模型140就可操作用于使用加密的输入数据142为所请求的操作162生成模型输出数据。在各种实施例中,训练模块202可操作用于使用各种合适的加密算法、技术以及库中的任一者对训练数据216进行加密。作为一个非限制性示例,在一些实施例中,训练模块202可以使用HElib软件库对训练数据216进行加密,但是也可以使用其他合适的库。需要注意的是,在各种实施例中,训练模块202使用客户端设备150或用户154无法访问的一个或多个加密密钥对训练数据216进行加密。例如,在一些实施例中,风险服务器120可以创建不会暴露给服务器系统102以外的用户或设备的一个或多个加密密钥(例如,公钥-私钥-对)。这些加密密钥中的一个或多个密钥(例如,公钥-私钥对中的公钥)可以用于对(至少一部分)训练数据216进行加密,生成具有加密的数据值的训练样本的训练数据集。可以包含在训练数据集中的训练样本的非限制性示例将在下文中参照图3A进行详细描述。为了此次讨论的目的,需要注意的是,在一些实施例中,训练样本可以是包括加密的数据值的集合的特征向量。在一些实施例中,训练样本特征向量中的所有数据值可以以相同的方式加密(例如,使用相同的加密算法、相同的(一个或多个)加密密钥等)。然而,在其他实施例中,可以使用多个不同的加密技术或密钥对训练样本特征向量中的不同数据值进行加密,如下所述,这可以提供各种技术优势。
训练模块202可以使用各种合适的学习算法中的任一者来训练机器学习模型140。在一些实施例中,例如,机器学习模型140可以是使用任何合适的神经网络架构实施的人工神经网络(“ANN”)。例如,在一些实施例中,ANN可以使用前馈神经网络架构(诸如,多层感知器(“MLP”)架构或卷积神经网络(“CNN”)架构)来实施。然而,在其他实施例中,ANN可以使用递归神经网络(“RNN”)(诸如,长短期记忆(“LSTM”))模型来实施。在进一步的实施例中,ANN可以使用包括前馈架构的一个或多个层和RNN架构的一个或多个层的架构来实施。但是,需要注意的是,这些具体示例仅作为非限制性实施例提供,在其他实施例中,可以根据需要使用各种合适的神经网络架构。而且,需要注意的是,在构建各种机器学习模型140时,可以使用多种不同的机器学习算法。例如,除了使用ANN之外(或作为使用ANN的替代),可以将一个或多个机器学习模型140构建为决策树模型、SGD分类器、朴素贝叶斯(Bayes)模型、KNeighbors分类器模型、线性SVC模型或在训练阶段利用一个或多个机器学习算法生成机器学习模型140的集成模型。
训练模块202可以利用各种优化算法中的任一者来基于加密的输入数据迭代地优化机器学习模型140的参数。作为一个非限制性示例,在将机器学习模型140实施为ANN的实施例中,训练模块202可以在训练机器学习模型时使用随机梯度下降、自适应矩估计(“Adam”)或任何其他合适的优化算法。在训练各种机器学习模型140时,训练模块202可以使用各种合适的机器学习库中的任一者,包括PandasTM、scikit-learnTM、TensorFlowTM、TensorFlowTM Lite、ONNXTM或任何其他合适的机器学习库。
在各种实施例中,模型转换模块204可操作用于将机器学习模型140转换为可以在客户端设备(诸如,客户端设备150)上运行的格式。作为一个非限制性示例,考虑一个实施例,在此实施例中,机器学习模型140已由训练模块202使用TensorFlowTM机器学习平台以适合在服务器系统102中的一台或多台机器上进行生产部署的格式构建。在这样的实施例中,模型转换模块204可以将机器学习模型140从此生产格式转换为适合在客户端设备(例如,膝上型计算机、台式计算机、智能手机、平板计算机或嵌入式设备)上部署的格式。继续当前示例,模型转换模块204可以将TensorFlowTM模型转换为TensorFlowTM Lite模型。作为另一个非限制性示例,在一些实施例中,机器学习模型140可以被转换为适合在客户端设备上部署的ONNXTM模型。在其他一些实施例中,一个或多个机器学习模型140可以以服务器系统102特有的专有格式生成。在此类实施例中,模型转换模块204可以将模型140转换为适合客户端设备执行的格式。进一步需要注意的是,在一些实施例中,训练模块202可以首先以客户端设备格式生成机器学习模型140,而不是将模型从生产格式转换为客户端设备格式。将从本公开获益的本领域的技术人员将理解的是,为机器学习模型140使用适合在客户端设备上部署的格式可以提供各种性能权衡。例如,在一些实施例中,将机器学习模型140格式化以便在客户端设备上执行,可以减小模型140的文件大小并且降低计算复杂性(例如,通过降低变量的浮点精度),同时也会降低使用模型140生成的预测的准确性(例如,降低1-3%)。
在图2中,显示了存储帐户信息136的数据存储130,帐户信息136可以包括与服务器系统102的各种用户帐户210A-210N相关联的信息。例如,在所描绘的实施例中,帐户信息136包括与用户帐户210A相对应的信息,包括帐户活动数据212A和帐户属性214A。帐户活动数据212的非限制性示例包括与用户帐户210A的先前用户会话相对应的信息,诸如,帐户登录日期、时间、持续时间、在这些会话期间执行的操作、先前识别出的恶意活动实例等。帐户属性214A的非限制性示例包括创建用户帐户210A的日期、创建用户帐户210A或当前关联用户帐户210A的地理区域、与用户帐户210A相关联的已知设备等。如上所述,在各种实施例中,输入数据检索模块124可操作用于从帐户信息136检索一个或多个数据项,以用作机器学习模型140的输入。例如,假设图1中的用户154与服务器系统102的用户帐户210A相关联。在这样的实施例中,输入数据检索模块124可以从与用户帐户210A相关联的帐户信息136检索任何合适的数据集合,以便在加密后作为为请求160而选择的机器学习模型140的输入。
在图2中,进一步显示了存储模型评估数据218的数据存储130,存储模型评估数据218包括各种模型评估包220A-220N。在图2所描绘的非限制性实施例中,模型评估包220包括一个或多个机器学习模型140、一个或多个授权规则222,以及输入生成代码224。在各种实施例中,模型评估包220可以对应于经由服务器系统102提供的特定操作。例如,在各种实施例中,给定的操作可以与一个或多个模型评估包220相关联,模型评估包220可以用于(例如,由客户端设备150使用)确定是否对执行此操作的请求授权。在一些实施例中,所公开的技术包括预先创建各种模型评估包220(即,在使用模型评估包220评估所请求的操作之前),使得在接收到执行操作162的请求160时,模型选择模块122可以检索适当的模型评估包220并将其发送到客户端设备150。如上所述,模型选择模块122可以基于指定了操作与对应的模型评估包220之间的映射的表格(或其他合适的数据结构)选择适当的模型评估包220针对给定的请求进行检索。
需要注意的是,在一些实施例中,给定的操作可以与多个不同的模型评估包220相关联。再次考虑上文描述的非限制性实施例,在此实施例中,服务器系统102提供在线支付服务,并且作为提供给其用户的潜在操作之一,服务器系统102使一个用户能够将资金转移给另一个用户(例如,作为在线金融交易的付费)。在这样的实施例中,对于此操作,模型评估数据218可以包括两个模型评估包220,例如,包220B和包220C。第一模型评估包220B可以被设计成用于客户端设备150为膝上型计算机或台式计算机的情况,且第二模型评估包220C可以被设计成用于客户端设备150为智能手机或平板计算机的情况。例如,在此非限制性示例中,与包220C中包含的机器学习模型相比,包220B中包含的机器学习模型140B可以具有更高的计算要求,并且提供更高程度的准确性。以这种方式配置模型评估包220B-220C可以提供各种技术优势。例如,在许多情况下,膝上型计算机和台式计算机将比智能手机和平板计算机拥有更多的可用计算资源(例如,可用的内存、处理计算能力等)。因此,在客户端设备150是膝上型计算机或台式计算机的情况下,可以在客户端设备150上执行计算要求更高的模型140(例如,模型140B),而不会对客户端设备150造成极大的额外负担,从而使更精确的模型140B能够用于确定是否对所请求的操作162授权。
在给定的操作可以与多个不同的模型评估包220相关联(或与不同的机器学习模型140相关联)的各种实施例中,所公开的技术可以包括基于客户端设备150的设备类型来确定将哪个包220(或模型140)发送到客户端设备150。例如,在一些这样的实施例中,服务器系统102可以执行设备指纹识别操作(例如,基于请求160中包含的信息)以确定客户端设备150的设备类型,并且基于此设备类型(以及可选的所请求的操作162),模型选择模块122选择要发送到客户端设备150的适当包220或模型140。
如上所述,在各种实施例中,服务器系统102可以应用一个或多个授权规则,以基于模型输出数据来确定是否对所请求的操作162授权。例如,在一些这样的实施例中,授权规则服务206可以实施一个或多个规则,所述规则可用于依据由客户端设备150返回给服务器系统102的模型输出数据的(一个或多个)值来确定是否对请求160授权。然而,在其他实施例中,是否对所请求的操作162授权的确定可以(全部或部分)在客户端设备150上执行。例如,如图2所示,模型评估包220还包括授权规则222,在不同的实施例中,授权规则222可以用于(例如,由客户端设备使用)基于相应的机器学习模型140生成的模型输出数据来确定是否对所请求的操作授权。换句话说,在各种实施例中,所公开的技术可以包括将一个或多个授权规则222发送到客户端设备150,从而可以基于模型输出数据在客户端设备150上进行本地授权确定,而不是(或加之)在服务器系统102上应用授权规则。在各种实施例中,授权规则222可操作用于基于模型输出数据来确定是否对请求160授权,如上所述,模型输出数据本身可以是加密值。在各种实施例中,授权规则222由授权规则服务206针对所应用的特定操作而构建。例如,授权规则服务206可以包括可用于确定是否对可经由服务器系统102获得的各种操作授权的规则。在创建模型评估包220(诸如,模型评估包220A)时,授权规则服务206可以检索一个或多个授权规则222A,用于基于由对应的机器学习模型140A生成的模型输出数据来确定是否对特定操作162A(为清晰起见,未具体显示)授权。这一个或多个授权规则222A可以与模型140A、输入生成代码224A、相关软件库等一起包含在用于确定是否对执行操作162A的请求授权的模型评估包220A中。
如上所述,在各种实施例中,机器学习模型140可操作用于基于加密的输入数据142来生成模型输出数据。在一些实施例中,如上所述,在服务器系统102上(例如,由输入数据加密模块126)生成用于机器学习模型140的完整的加密输入数据142。例如,如上所述,在各种实施例中,可以将加密的输入数据142格式化为具有加密的数据值的集合的特征向量。因此,在一些实施例中,可以在服务器系统102上生成特征向量中的所有加密的数据值,并且作为加密的输入数据142发送到客户端设备150。然而,在其他实施例中,至少一部分加密的输入数据142(例如,输入特征向量中的一个或多个加密的数据值)可以在客户端设备150上(例如,在模型140的运行时)生成。例如,如图2所示,模型评估包220包括输入生成代码224,在各种实施例中,输入生成代码224是可以由客户端设备150使用以生成由机器学习模型140使用的至少一部分加密的输入数据142的代码(例如,以JavaScriptTM、PythonTM或任何其他合适的语言提供)。
在一些实施例中,此附加的加密输入数据是基于一个或多个值,所述一个或多个值由客户端设备150的用户154提供给由服务器系统102提供的网页。例如,如上所述,在各种实施例中,服务器系统102可以响应于请求160而将与所请求的操作162相对应的网页返回给客户端设备150。在一些这样的实施例中,网页可以包括用户154可以用来提供各种数据项的一个或多个表单(form)(或其他输入元素)。在一些实施例中,输入生成代码224可操作用于接收来自用户154的这些输入值,对这些输入值进行加密,以生成用于机器学习模型140的附加的加密输入数据,以及将附加的加密输入数据作为输入应用于机器学习模型140。在下文中将参照图3A和图3B更详细地描述此类实施例的非限制性示例。另外需要注意的是,在一些实施例中,加密的输入数据142可以使用输入生成代码224完全在客户端设备150上生成。
尽管为了清楚起见未在图2中单独示出,但是在一些实施例中,模型评估包220可以包括由包220中的(一个或多个)机器学习模型140使用的一个或多个软件库。作为一个非限制性示例,在模型评估包220A中包含的机器学习模型140A是TensorFlowTM Lite模型的实施例中,模型评估包220A可以包括TensorFlow.js JavaScript库,用于在网络浏览器和使用Node.js的应用程序中训练和部署模型。
需要注意的是,图2中描绘的实施例仅作为一个非限制性示例提供,在其他实施例中,模型评估包220中包含的数据可能有所不同。例如,在服务器系统102分析模型输出数据以确定是否对所请求的操作162授权的实施例中,模型评估包220可以不包括授权规则222。此外,在仅使用服务器系统102生成的加密的输入数据142在客户端设备150上执行机器学习模型140的实施例中,模型评估包220可以不包括输入生成代码224。进一步需要注意的是,在一些实施例中,一个包220中包含的数据的类型可能不同于另一个包220中包含的数据的类型。作为一个非限制性实施例,对于第一操作162D(为了清晰起见,未在图2中单独显示),对应的模型评估包220D除了机器学习模型140D和附带的库之外,还可以包括鉴认规则222D和输入生成代码224D。继续此非限制性示例,对于单独的操作162E(为了清楚起见,同样没有单独显示),对应的模型评估包220E除了机器学习模型140E和附带的库之外,还可以包括鉴认规则222E,但不包括任何输入生成代码。
如上所述,在各种实施例中,用于机器学习模型140的加密输入数据142可以由服务器系统102和客户端设备150生成。例如,除了由服务器系统102生成的加密的输入数据142的一部分外,加密的输入数据142的至少一部分(例如,输入特征向量中的一个或多个加密的数据值)可以使用输入生成代码224在客户端设备150上生成。此类实施例可以被视为安全多方计算(“SMPC”)的应用,其中双方(例如,服务器系统102和客户端设备150)使用机器学习模型140合作计算值(例如,模型输出数据),同时保证模型140输入的安全。
现在参照图3A和图3B,图示300和图示350分别描绘了根据一个非限制性实施例,用于训练机器学习模型140的训练样本302A和用作模型140的输入的加密的输入数据142。在图3A中,训练样本302A是特征向量,其中包括加密值EV 304A-304N的集合。例如,在各种实施例中,训练模块202可以对来自训练数据216的各种数据值进行加密,以生成训练样本302A。如图3A所示,训练样本302A中的不同加密值已经使用不同的加密密钥进行了加密。具体而言,EV 304A-304B已使用加密密钥310A进行加密,且EV 304C-304N已使用加密密钥310B进行加密。需要注意的是,可以使用各种合适的加密算法或技术中的任一者对加密值304A-304N进行加密,并且加密密钥310可以是所选加密算法或技术可用的各种合适类型的加密密钥中的任一者。在各种实施例中,风险服务器120可以生成包括以相同方式加密的许多(例如,数千、数十万、数百万等)训练样本302A-302N的训练数据集,并且如上所述,使用训练数据集来训练一个或多个机器学习模型140。
在图3B中,加密的输入数据142同样是包括加密值354A-354N的集合的特征向量。在所描绘的实施例中,其中两个加密值(例如,EV 354A-354B)已由客户端设备150(例如,使用输入生成代码224)生成,且其余加密值(例如,EV 354C-354N)已由服务器系统102生成并发送。而且,在所描绘的实施例中,加密值354A-354B已使用加密密钥310A进行加密,且加密值354C-354N已使用加密密钥310B进行加密。需要注意的是,在各种实施例中,训练样本302和加密的输入数据142中对应的加密值可以使用相同的加密技术进行加密。例如,在各种实施例中,加密值EV 304A-304N可以与加密的输入数据142中的加密值354A-354N对应相同的属性(例如,可经由服务器系统102执行的操作的属性)。例如,在一些实施例中,加密值304A和354A二者都是对应于特定操作类型的所请求的操作的相同属性的加密值。在一些这样的实施例中,通过使用与加密值304A-304B相同的加密密钥310A对加密值354A-354B进行加密,所公开的技术可以确保以相同的方式对训练样本302和加密的输入数据142中的对应的加密值进行加密。
需要注意的是,在各种实施例中,使用与用于在服务器系统102上对加密值354C-354N进行加密的加密密钥310B不同的加密密钥在客户端设备150上对加密值354A-354B进行加密可以提供各种技术优势。例如,通过在客户端设备150上使用不同的密钥(或者,在一些实施例中,利用不同的加密算法代替不同的密钥,或者除了不同的密钥以外还利用不同的加密算法),可以进一步阻止恶意用户获取关于加密值354C-354N的内容的任何有用信息。
现在转到图4,通信图400示出了根据一些实施例,用于在客户端设备150上执行机器学习模型的服务器系统102与客户端设备150之间的示例交换。
在402,在所示实施例中,客户端设备150向服务器系统102发送经由服务器系统102执行操作162的请求160(例如,HTTP请求)。例如,如上所述,服务器系统102可以向最终用户(诸如,用户154)提供各种服务,并且使最终用户能够经由服务器系统102托管(或代表其托管)的网站来请求一个或多个操作。在各种实施例中,用户154可以经由软件应用程序152发送请求160,作为非限制性示例,软件应用程序152可以是网络浏览器、与经由服务器系统102提供的服务相关联的软件应用程序、与第三方所提供的服务(该服务利用经由服务器系统102提供的一种或多种服务)相关联的软件应用程序等。
在404,在所示实施例中,服务器系统102选择模型评估包220来评估与操作162的执行相关联的对服务器系统102构成的风险等级。例如,如上所述,模型选择模块122可以基于操作162的类型、客户端设备150的设备类型、与用户154的用户帐户210相关联的属性或任何其他合适的因素来选择适当的模型评估包220发送到客户端设备150。在所描绘的实施例中,服务器系统102选择模型评估包220A并向客户端设备150发送模型评估包220A,如406所示。假设,在图4的非限制性实施例中,模型评估包220A包括机器学习模型140A、机器学习模型140A所使用的一个或多个软件库(例如,机器学习库)以及可操作的授权规则222A,以基于模型140A生成的模型输出数据来确定是否对所请求的操作162授权。
在408,在所示实施例中,服务器系统102检索并生成(至少一部分)加密的输入数据142。例如,输入数据检索模块124可以从与用户154的用户帐户210A相关联的帐户信息136检索一个或多个数据值,诸如,帐户活动数据212A或帐户属性214A。需要注意的是,在一些实施例中,风险服务器120可以基于这些检索到的数据值来生成用于加密的输入数据142的一个或多个数据值。而且,在各种实施例中,输入数据加密模块126可以对这些检索到(或生成)的数据值进行加密,以生成加密的输入数据142。在一些实施例中,加密的输入数据142包括特征向量,其包括一个或多个加密的数据值的集合。在410,服务器系统102将加密的输入数据142发送到客户端设备150。需要注意的是,尽管在所描绘的实施例中是异步发送,但在一些实施例中,加密的输入数据142可以与模型评估包220A同时被发送到客户端设备150。
在412,在所示实施例中,客户端设备150基于加密的输入数据142运行机器学习模型140A以生成模型输出数据。如上所述,根据一些实施例,通过在加密的输入数据142上运行模型140A,所公开的技术保护了模型140A的详情不被用户154发现。在414,在所示实施例中,授权规则222A用于基于来自模型140A的模型输出数据来确定是否对所请求的操作162授权。在上文中已参照图2描述了授权规则222的操作的非限制性示例。
在416,在所示实施例中,客户端设备150将来自模型140A的结果发送回服务器系统102。作为一个非限制性示例,在客户端设备150上运行授权规则222A的实施例中,客户端设备150可以发回使用授权规则222A生成的授权确定。而且,在一些实施例中,客户端设备150将与模型140A的执行相对应的信息返回给服务器系统102(例如,用于后处理分析)。例如,在一些这样的实施例中,客户端设备150可以将模型输出数据和加密的输入数据142发送回服务器系统102(例如,在客户端设备150上生成至少一部分的加密输入数据的实施例中)。
示例方法
现在参照图5,描绘了流程图,图中示出了根据一些实施例的用于在客户端设备上执行一个或多个机器学习模型以确定是否对所请求的操作授权的示例方法500。在各种实施例中,方法500可以由图1中的服务器系统102来执行。例如,服务器系统102可以包括(或访问)具有存储在其上的程序指令的非暂态计算机可读介质,这些程序指令可以由服务器系统102执行以引起参照图5所述的操作。在图5中,方法500包括要素502-510。虽然为了便于理解,这些要素是以特定的顺序显示的,但是也可以使用其他顺序。在各种实施例中,一些方法要素可以以不同于所示顺序的顺序并发地执行,或者可以省略。附加的方法要素也可以根据需要来执行。
在502,在所示实施例中,服务器系统102从客户端设备150接收经由服务器系统102所提供的服务来执行第一操作162的请求160。在504,在所示实施例中,服务器系统102确定第一操作与可以在客户端设备150上执行的用于确定是否对第一操作授权的多个机器学习模型140中的至少一个机器学习模型相关联。例如,如在上文中参照图1所述,模型选择模块122可以响应于请求160而执行查找操作,以确定所请求的操作162是否与一个或多个机器学习模型140相关联。
在506,在所示实施例中,服务器系统102从多个机器学习模型140中选择第一模型发送到客户端设备150。例如,响应于确定所请求的操作162与至少一个机器学习模型140相关联,模型选择模块122可以从这些机器学习模型140中选择一个或多个模型发送到客户端设备150供其执行。如图5所示,在各种实施例中,机器学习模型140可以由客户端设备150执行,以基于用客户端设备150无法访问的加密密钥加密(例如,由服务器系统102加密)的一个或多个加密的输入数据值生成用于第一操作162的模型输出数据。而且,如上所述,在各种实施例中,模型输出数据对应于与服务器系统102执行第一操作162相关联的风险等级。
需要注意的是,在一些实施例中,要素506中的此选择是基于所请求的操作162的操作类型而执行的。在其他实施例中,模型选择模块122可以(代替或除了基于操作162的操作类型进行选择之外)基于客户端设备150的设备类型来选择机器学习模型140发送到客户端设备150。例如,在一个非限制性示例实施例中,要素506可以包括服务器系统102确定(例如,通过设备指纹识别或任何其他合适的技术)客户端设备150是移动计算设备,并且响应于此确定,从与第一操作162的操作类型相关联的机器学习模型(例如,模型140A-140C)的集合中选择第一机器学习模型(例如,模型140A)发送到客户端设备150。在此非限制性示例中,第一机器学习模型140A的计算要求可能低于机器学习模型140B-140C的集合中的至少一个模型。作为另一个非限制性示例,在一些实施例中,要素506可以包括服务器系统102确定客户端设备是膝上型计算机或台式计算机之一,并且响应于此,从与第一操作162的操作类型相关联的机器学习模型(例如,模型140A-140C)的集合中选择第一机器学习模型(例如,模型140B)发送到客户端设备150,其中,所选机器学习模型140B的计算要求高于机器学习模型140A-140C的集合中的至少一个模型。需要注意的是,发送到客户端设备的机器学习模型可以在不同的时间传输。在一些情况下,可以响应于客户端设备发起交易而将模型(例如,轻量级模型)发送到客户端设备;在其他情况下,一个或多个机器学习评估模型可以在交易之前发送到客户端设备(例如,一个或多个模型可以预先存储在客户端设备上)。
在508,在所示实施例中,服务器系统102向客户端设备150发送机器学习模型评估数据。在一些实施例中,机器学习模型评估数据可以包括来自图2中的模型评估包220的数据。例如,在一些实施例中,机器学习模型评估数据包括第一机器学习模型140A。而且,在一些实施例中,机器学习模型评估数据可以包括用于机器学习模型140A的输入数据,诸如,加密的输入数据142。如上所述,在各种实施例中,加密的输入数据142可以包括由服务器系统102用客户端设备150无法访问的加密密钥加密的一个或多个加密的输入数据值。
需要注意的是,在一些实施例中,机器学习模型评估数据还可以包括可以由客户端设备150执行以为第一机器学习模型140A生成附加的加密输入数据的代码(例如,输入生成代码224)。例如,在一些实施例中,服务器系统102可以向客户端设备150返回与所请求的操作162相关联的网页,并且在一些这样的实施例中,附加的加密输入数据可以基于客户端设备150的用户154向此网页提供的一个或多个值。另外,如上所述,在一些实施例中,由服务器系统102提供的加密的输入数据142可以使用与在客户端设备150上使用输入生成代码224生成的附加的加密输入数据不同的加密算法(或不同的加密密钥)进行加密。例如,在一些实施例中,服务器系统102发送的一个或多个加密的输入数据值(例如,作为加密的输入数据142的一部分)已使用第一加密算法进行加密,并且输入生成代码224可以执行以使用第二加密算法对由用户154提供的一个或多个值进行加密,从而生成附加的加密输入数据。作为另一个非限制性示例,在一些实施例中,服务器系统102发送的一个或多个加密的输入数据值已由服务器系统102使用第一加密密钥进行加密,并且输入生成代码224可以由客户端设备150执行,以使用不同的第二加密密钥为机器学习模型140生成附加的加密输入数据。
在510,服务器系统102从客户端设备150接收响应消息,此响应消息指示是否基于模型输出数据对第一操作授权。例如,如上所述,在一些实施例中,服务器系统102向客户端设备发送与所请求的操作162相关联的授权规则222,授权规则222可操作用于至少部分地基于模型输出数据来确定是否对操作162授权。在一些这样的实施例中,来自客户端设备150的响应消息可以直接指示所请求的操作162是否获得授权。然而,在其他实施例中,来自客户端设备150的响应消息可以通过指定在客户端设备150上执行的机器学习模型140生成的模型输出数据来间接指示第一操作162是否获得授权。例如,在一些实施例中,客户端设备150可以将模型输出数据返回给服务器系统102,服务器系统102可以使用模型输出数据来确定是否对所请求的操作162授权。在一些实施例中,例如,服务器系统102可以应用一个或多个授权规则来确定是否对所请求的操作162授权(例如,基于相对于为授权规则指定的阈值的模型输出数据的值)。如果服务器系统102基于模型输出数据确定所请求的操作162未通过一个或多个授权规则,则服务器系统102可以采用一个或多个附加操作,诸如,拒绝请求160或发起附加的授权操作。在一些这样的实施例中,服务器系统可以运行一个或多个附加的机器学习模型(例如,计算密集度更高的模型)来生成附加的模型输出数据,所述数据提供对与所请求的操作162相关联的风险等级的更准确的估定,并且基于此附加的模型输出数据,服务器系统102可以确定是否对请求160授权。
需要注意的是,如在上文中参照图2所述,在接收执行操作162的请求160之前,方法500可以包括使用具有加密的数据值的训练样本的训练数据集来训练机器学习模型140。例如,在各种实施例中,训练模块202可以通过使用客户端设备无法访问的加密密钥对训练数据216进行加密来训练机器学习模型140。如在上文中参照图3A和图3B详细描述的,在一些实施例中,可以使用不同的加密算法、技术或密钥来生成训练数据集中训练样本的不同部分。例如,在一些实施例中,特定的训练样本可以包括已使用第一加密算法加密的加密数据值的第一集合和已使用第二加密算法加密的加密数据值的第二集合。作为另一个示例,在一些实施例中,特定的训练样本可以包括已使用第一加密密钥加密的加密数据值的第一集合和已使用不同的第二加密密钥加密的加密数据值的第二集合。
现在参照图6,根据一些实施例,描绘了流程图,图中示出了根据一些实施例的用于在客户端设备上执行一个或多个机器学习模型以确定是否对所请求的操作授权的示例方法600。在各种实施例中,方法600可以由图1中的服务器系统102来执行。例如,服务器系统102可以包括(或访问)具有存储在其上的程序指令的非暂态计算机可读介质,这些程序指令可以由服务器系统102执行以引起参照图6所述的操作。在图6中,方法600包括要素602-612。虽然为了便于理解,这些要素是以特定的顺序显示的,但也可以使用其他顺序。在各种实施例中,一些方法要素可以以不同于所示的顺序并发地执行,或者可以省略。附加的方法要素也可以根据需要来执行。
在602,在所示实施例中,服务器系统102访问训练数据,包括与经由服务器系统102提供的服务为多个用户执行的先前操作相对应的训练样本。例如,图2中的训练模块202可以访问训练数据216,其中包括与之前经由服务器系统102提供的一个或多个服务执行的(可能是多个)操作相对应的训练样本。在604,在所示实施例中,服务器系统102生成加密的训练数据,其中包括与训练样本相对应的加密的训练样本。例如,在一些实施例中,加密的训练样本中的特定的训练样本包括与先前操作中的特定的操作相对应的多个加密的数据值。
在606,在所示实施例中,服务器系统基于加密的训练数据来训练第一机器学习模型140,使得在训练之后,第一机器学习模型可操作用于基于加密的输入数据来生成与特定类型的操作相关联的风险等级相对应的模型输出数据。在608,在所示实施例中,服务器系统102将第一机器学习模型140转换为可以由客户端设备执行的格式,以生成模型输出数据。例如,在一些实施例中,模型转换模块204可操作用于将第一机器学习模型140从第一种格式(例如,TensorFlowTM模型)转换为可以由在客户端设备150上执行的软件应用程序152执行的第二种格式(例如,TensorFlowTM Lite模型)。
在610,在所示实施例中,服务器系统102从第一客户端设备150接收经由服务器系统102提供的服务执行特定类型的操作的第一操作162的请求160。在一些实施例中,例如,执行第一操作162的请求160与服务器系统102的第一用户帐户210A相关联。在612,在所示实施例中,服务器系统102将第一机器学习模型140发送到第一客户端设备150。而且,在一些实施例中,方法600还包括检索用于第一机器学习模型140的输入数据值,其中输入数据值与第一用户帐户210A相关联,使用第一客户端设备150无法访问的加密密钥对输入数据值进行加密以生成加密的输入数据值的集合,以及将加密的输入数据值的集合发送到第一客户端设备150,其中第一机器学习模型140可操作用于基于加密的输入数据值的集合来生成模型输出数据。另外,在一些实施例中,方法600包括由服务器系统102向第一客户端设备150发送可以由第一客户端设备150执行以生成用于第一机器学习模型140的附加的加密输入数据的代码,其中第一机器学习模型进一步可操作用于基于此附加的加密输入数据来生成模型输出数据。
而且,在一些实施例中,方法600包括由服务器系统102向第一客户端设备150发送授权规则222,其中第一授权规则222可用于在第一客户端设备上基于使用第一机器学习模型140生成的模型输出数据来确定是否对第一操作授权。在一些这样的实施例中,可以使用授权规则222在客户端设备150上执行是否对所请求的操作162授权的确定。在其他实施例中,方法600包括服务器系统102从第一客户端设备150接收用于第一操作162的模型输出数据,其中模型输出数据是在第一客户端设备150上使用第一机器学习模型140生成的,以及由服务器系统102基于模型输出数据来确定是否对第一操作162授权。在一些这样的实施例中,确定是否对第一操作162授权包括,基于模型输出数据,服务器系统102执行第二机器学习模型以生成指示与执行第一操作162相关联的风险等级的第二模型输出数据,以及服务器系统102基于第二模型输出数据来确定是否对第一操作162授权。
示例计算机系统
现在参照图7,描绘了示例计算机系统700的框图,根据各种实施例,它可以实现一个或多个计算机系统,例如图1中的服务器系统102中的客户端设备150或一个或多个计算机系统。计算机系统700包括经由互连780(例如,系统总线)耦合到系统存储器740和(一个或多个)I/O接口760的处理器子系统720。(一个或多个)I/O接口760耦合到一个或多个I/O设备770。计算机系统700可以是各种类型的设备中的任何一种,包括但不限于服务器计算机系统、个人计算机系统、台式计算机、膝上型计算机或笔记本计算机、大型计算机系统、在数据中心设施中运行的服务器计算机系统、平板计算机、手持式计算机、工作站、网络计算机等。尽管为了方便起见,在图7中显示了单个计算机系统700,但是计算机系统700也可以被实施为一起运行的两个或更多个计算机系统。
处理器子系统720可以包括一个或多个处理器或处理单元。在计算机系统700的各种实施例中,处理器子系统720的多个实例可以耦合到互连780。在各种实施例中,处理器子系统720(或720内的每个处理器单元)可以包含缓存器或其他形式的板载存储器。
系统存储器740可用于存储可以由处理器子系统720执行的程序指令,以使得系统700执行本文描述的各种操作。系统存储器740可以使用不同的物理非暂态存储器介质来实现,例如硬盘存储、软盘存储、可移除盘存储、闪存、随机访问存储器(RAM-SRAM、EDO RAM、SDRAM、DDR SDRAM、RAMBUS RAM,等等)、只读存储器(PROM、EEPROM,等等),等等。计算机系统700中的存储器不限于主存储,例如系统存储器740。相反,计算机系统700也可包括其他形式的存储,例如处理器子系统720中的缓存存储器和I/O设备770上的次级存储(例如,硬盘驱动器、存储阵列,等等)。在一些实施例中,这些其他形式的存储也可以存储可由处理器子系统720执行的程序指令。
根据各种实施例,I/O接口760可以是被配置为耦合到其他设备并且与之通信的各种类型的接口中的任何一种。在一个实施例中,I/O接口760是从正面到一个或多个背面总线的桥接芯片(例如,南桥)。I/O接口760可以经由一个或多个相应的总线或其他接口耦合到一个或多个I/O设备770。I/O设备770的示例包括存储设备(硬盘驱动器、光驱、可移除闪存驱动器、存储阵列、SAN或者其关联的控制器)、网络接口设备(例如,到局域网或广域网)、或者其他设备(例如,图形、用户界面设备,等等)。在一个实施例中,I/O设备770包括网络接口设备(例如,被配置为通过WiFi、蓝牙、以太网等等进行通信),并且计算机系统700经由网络接口设备与网络耦合。
本公开包括对“实施例”的提及,这些实施例是所公开的概念的非限制性实现方式。对“一实施例”、“一个实施例”、“一特定实施例”、“一些实施例”、“各种实施例”等等的提及不一定是指同一实施例。设想了大量的可能实施例,包括详细描述的具体实施例,以及落入本公开的精神或范围内的修改或替代方案。并非所有的实施例都一定会体现出本文描述的任何或所有潜在优点。
除非另有声明,否则本文描述的具体实施例并不打算将基于本公开撰写的权利要求的范围限制到所公开的形式,即使对于特定特征只描述了单个示例。从而,在没有任何相反声明的情况下,所公开的实施例旨在说明问题而不是限制性的。本申请旨在涵盖对受益于本公开的本领域技术人员而言显而易见的替代、修改和等同。
可以按符合本公开的任何适当方式来组合特定的特征、结构或特性。从而,本公开旨在包括本文所公开的任何特征或者特征的组合(无论是明确的还是隐含的),或者其任何概括。因此,在本申请(或者要求其优先权的申请)的审查期间,可针对特征的任何这种组合制定新的权利要求。具体地,参考所附权利要求,从属权利要求中的特征可与独立权利要求中的特征相组合,并且各个独立权利要求中的特征可以任何适当的方式而不仅仅是以所附权利要求中列举的特定组合来进行组合。
例如,虽然所附的从属权利要求是这样撰写的,即每个权利要求都从属于单个其他权利要求,但也设想到了额外的从属关系,包括以下所列的:权利要求3(可从属于权利要求1-2中的任何一者);权利要求4(任何在前权利要求);权利要求5(权利要求4),等等。在适当时,还设想到了以一种法定类型(例如,装置)撰写的权利要求暗示了另一种法定类型(例如,方法)的相应权利要求。
由于本公开是一份法律文件,所以各种术语和短语可能会受到行政和司法解释的影响。特此公告,在确定如何解释基于本公开撰写的权利要求时,应使用以下段落以及整个公开中提供的定义。
对单数形式的提及,例如“一”和“该”,打算意指“一个或多个”,除非上下文另有明确规定。从而,在权利要求中提及“一项目”并不排除该项目的额外实例。
本文使用“可”一词是在允许的意义上使用的(即,有可能,能够),而不是在强制的意义上使用的(即,必须)。
术语“包括”和“包含”及其各形态是开放式的,意思是“包括,但不限于”。
当在本公开中对于选项的列表使用术语“或”时,除非上下文另有规定,否则其一般将被理解为是在包容性意义上使用的。从而,记载“x或y”相当于“x或y,或者两者”,涵盖了有x但没有y,有y但没有x,或者有x和y两者。另一方面,诸如“x或y,但不是两者”这样的短语表明,“或”是在排他意义上使用的。
记载“w、x、y或z,或者其任何组合”或者“w、x、y和z中的至少一者”,旨在涵盖涉及该集合中的单个元素直至全部元素的所有可能性。例如,给定集合[w,x,y,z],这些短语涵盖了该集合的任何单个元素(例如,w,但没有x、y或z),任何两个元素(例如,w和x,但没有y或z),任何三个元素(例如,w、x和y,但没有z),以及所有四个元素。从而,短语“w、x、y和z中的至少一者”指的是集合[w,x,y,z]的至少一个元素,从而涵盖了这个选项列表中的所有可能组合。这个短语不应被解释为要求有w的至少一个实例,x的至少一个实例,y的至少一个实例,以及z的至少一个实例。
在本公开中,在名词之前可以有各种“标签”。除非上下文另有规定,否则用于一个特征的不同标签(例如,“第一电路”、“第二电路”、“特定电路”、“给定电路”,等等)指的是该特征的不同实例。标签“第一”、“第二”和“第三”当被应用到特定的特征时,并不意味着任何类型的排序(例如,空间的、时间的、逻辑的,等等),除非另有声明。
在本公开内,不同的实体(可不同地被称为“单元”、“电路”、其他组件,等等)可被描述或声称为“被配置”为执行一个或多个任务或操作。这种表述——“[实体]被配置为[执行一个或多个任务]”——在本文中被用来指代结构(即,某种物理性的东西)。更具体而言,这种表述被用来表明这个结构被布置为在操作期间执行一个或多个任务。即使一结构当前没有在被操作,该结构也可以被说成是“被配置为”执行某个任务。例如,“被配置为存储分类模型的数据存储设备”旨在涵盖具有在操作期间执行此功能的电路的集成电路,即使所述集成电路当前没有在被使用(例如,电源没有连接到它)。从而,被描述或记载为“被配置为”执行某个任务的实体是指某种物理性的东西,例如设备、电路、存储可实现该任务的程序指令的存储器,等等。这个短语在本文中不是用来指某种无形的东西。
术语“被配置为”并不打算意指“可配置为”。例如,未编程的FPGA不会被认为是“被配置为”执行某个特定功能。然而,这个未编程的FPGA可能“可配置为”执行该功能。
在所附的权利要求中提到一结构被“被配置为”执行一个或多个任务,是明确地不打算为该权利要求元素援引35U.S.C.§112(f)。如果申请人希望在审查期间援引第112(f)条,那么它将使用“用于[执行某功能]的装置”结构来记载权利要求元素。
短语“基于”用于描述影响确定的一个或多个因素。这个术语并不排除额外的因素可能影响该确定的可能性。也就是说,某个确定可能只基于指定的因素,或者基于指定的因素以及其他未指定的因素。考虑短语“基于B来确定A”。这个短语说明B是用于确定A或者影响A的确定的因素。这个短语并不排除A的确定也可以基于某个其他因素,例如C。这个短语也旨在涵盖一种实施例,其中A是仅基于B来确定的。如本文所使用的,短语“基于”与短语“至少部分基于”是同义的。
短语“响应于”描述了触发效果的一个或多个因素。这个短语并不排除额外的因素可能影响或者以其他方式触发效果的可能性。也就是说,一个效果可能仅仅响应于这些因素,或者可以响应于指定的因素以及其他未指定的因素。考虑短语“响应于B而执行A”。这个短语说明B是触发A的执行的因素。这个短语并不排除执行A也可能响应于某个其他因素,例如C。这个短语也旨在涵盖一种实施例,其中A是仅仅响应于B而执行的。
在本公开中,可操作来执行指定功能的各种“模块”在附图中示出并且被详细描述(例如,模型选择模块122、输入数据检索模块124、输入数据加密模块126等)。如本文所使用的,“模块”是指可操作来执行指定的一组操作的软件或硬件。模块可以指一组软件指令,这些指令可由计算机系统执行来执行该组操作。模块也可以指被配置为执行该组操作的硬件。硬件模块可以构成通用硬件以及存储程序指令的非暂态计算机可读介质,或者专门的硬件,例如定制的ASIC。
Claims (20)
1.一种方法,包括:
由服务器系统从客户端设备接收经由服务来执行第一操作的请求,该服务经由所述服务器系统提供;
由所述服务器系统确定所述第一操作与可以在所述客户端设备上执行的多个机器学习模型中的至少一个相关联,以确定是否对所述第一操作授权;
由所述服务器系统从所述多个机器学习模型中选择第一机器学习模型发送到所述客户端设备,其中,所述第一机器学习模型可以由所述客户端设备执行,以基于用所述客户端设备无法访问的加密密钥进行加密的一个或多个加密的输入数据值来生成用于所述第一操作的模型输出数据,其中,所述模型输出数据对应于与执行所述第一操作相关联的风险等级;
由所述服务器系统向所述客户端设备发送机器学习模型评估数据,其中,所述机器学习模型评估数据包括:
所述第一机器学习模型;和
所述一个或多个加密的输入数据值;以及
由所述服务器系统从所述客户端设备接收响应消息,所述响应消息指示是否基于所述模型输出数据对所述第一操作授权。
2.根据权利要求1所述的方法,还包括:
在接收所述请求之前,使用训练样本的训练数据集对所述第一机器学习模型进行训练,所述训练样本具有加密的数据值。
3.根据权利要求2所述的方法,其中,所述训练数据集中的训练样本中的特定的训练样本包括:
已使用第一加密算法加密的加密数据值的第一集合;和
已使用第二加密算法加密的加密数据值的第二集合。
4.根据权利要求1所述的方法,其中,所述机器学习模型评估数据还包括可以由所述客户端设备执行以生成用于所述第一机器学习模型的附加的加密输入数据的代码;并且
其中,所述附加的加密输入数据是基于一个或多个值,所述一个或多个值由所述客户端设备的用户提供给由所述服务器系统提供的网页。
5.根据权利要求4所述的方法,其中,所述一个或多个加密的输入数据值已由所述服务器系统使用第一加密算法进行加密;并且其中,所述代码可执行,以使用第二加密算法对所述用户提供的一个或多个值进行加密,从而生成所述附加的加密输入数据。
6.根据权利要求1所述的方法,其中,所述选择所述第一机器学习模型是基于所述第一操作的操作类型的。
7.根据权利要求1所述的方法,其中,所述选择所述第一机器学习模型是基于所述客户端设备的设备类型的。
8.根据权利要求7所述的方法,其中,所述选择包括:
确定所述客户端设备是移动计算设备;以及
响应于所述确定,从与所述第一操作的操作类型相关联的机器学习模型的集合中选择所述第一机器学习模型以发送到所述客户端设备,其中,所述第一机器学习模型的计算要求低于所述机器学习模型的集合中的至少一个机器学习模型。
9.根据权利要求1所述的方法,还包括:
由所述服务器系统向所述客户端设备发送授权规则,其中,所述授权规则可用于在所述客户端设备上基于使用所述第一机器学习模型生成的模型输出数据来确定是否对所述第一操作授权。
10.一种非暂态计算机可读介质,其上存储有可以由服务器系统执行以执行操作的指令,所述操作包括:
从客户端设备接收经由服务执行第一操作的请求,该服务是经由所述服务器系统提供的;
从多个机器学习模型中选择第一机器学习模型发送到所述客户端设备,以确定是否对所述第一操作授权,其中,所述第一机器学习模型可以由所述客户端设备执行,以基于用所述客户端设备无法访问的加密密钥进行加密的一个或多个加密的输入数据值来生成用于所述第一操作的模型输出数据,其中,所述模型输出数据对应于与执行所述第一操作相关联的风险等级;
向所述客户端设备发送机器学习模型评估数据,其中,所述机器学习模型评估数据包括:
所述第一机器学习模型;和
所述一个或多个加密的输入数据值;
接收响应消息,所述响应消息包括所述模型输出数据,所述模型输出数据是针对所述第一操作在所述客户端设备上使用所述第一机器学习模型而生成的;以及
基于所述模型输出数据来确定是否对所述第一操作授权。
11.根据权利要求10所述的非暂态计算机可读介质,其中,在接收所述请求之前,使用训练样本的训练数据集对所述第一机器学习模型进行训练,所述训练样本具有加密的数据值。
12.根据权利要求11所述的非暂态计算机可读介质,其中,所述训练数据集中的训练样本中的特定的训练样本包括:
已使用第一加密密钥加密的加密数据值的第一集合;和
已使用不同的第二加密密钥加密的加密数据值的第二集合。
13.根据权利要求12所述的非暂态计算机可读介质,其中,所述一个或多个加密的输入数据值已由所述服务器系统使用所述第一加密密钥进行加密;并且其中,所述机器学习模型评估数据还包括代码,所述代码可以由所述客户端设备执行以使用所述不同的第二加密密钥生成用于所述第一机器学习模型的附加的加密输入数据。
14.根据权利要求10所述的非暂态计算机可读介质,其中,所述选择所述第一机器学习模型包括:
确定所述客户端设备是膝上型计算机或台式计算机之一;以及
响应于所述确定,从与所述第一操作的操作类型相关联的机器学习模型的集合中选择所述第一机器学习模型以发送到所述客户端设备,其中,所述第一机器学习模型的计算要求高于所述机器学习模型的集合中的至少一个机器学习模型。
15.一种方法,包括:
由所述服务器系统经由服务来访问训练数据,该服务是经由所述服务器系统提供的,该训练数据包括与多个用户之前执行的操作相对应的训练样本;
由所述服务器系统生成加密的训练数据,所述加密的训练数据包括与所述训练样本相对应的加密的训练样本,其中,所述加密的训练样本中的特定的训练样本包括与所述先前操作中的特定的操作相对应的多个加密的数据值;
由所述服务器系统基于所述加密的训练数据来训练第一机器学习模型,使得在训练之后,所述第一机器学习模型可操作用于基于加密的输入数据来生成与特定类型的操作相关联的风险等级相对应的模型输出数据;
由所述服务器系统将所述第一机器学习模型转换为可以由客户端设备执行的格式,以生成所述模型输出数据;
由所述服务器系统从第一客户端设备接收请求,以经由所述服务来执行所述特定类型的操作的第一操作,所述服务是经由所述服务器系统提供的;以及
由所述服务器系统向所述第一客户端设备发送所述第一机器学习模型。
16.根据权利要求15所述的方法,其中,执行所述第一操作的请求与所述服务器系统的第一用户账户相关联,其中,所述方法还包括:
由所述服务器系统检索用于所述第一机器学习模型的输入数据值,其中,所述输入数据值与所述第一用户账户相关联;
由所述服务器系统使用所述第一客户端设备无法访问的加密密钥对所述输入数据值进行加密,以生成加密的输入数据值的集合;以及
由所述服务器系统向所述第一客户端设备发送所述加密的输入数据值的集合,其中,所述第一机器学习模型可操作用于基于所述加密的输入数据值的集合来生成所述模型输出数据。
17.根据权利要求16所述的方法,还包括:
由所述服务器系统向所述第一客户端设备发送授权规则,其中,所述授权规则可用于在所述第一客户端设备上基于使用所述第一机器学习模型生成的模型输出数据来确定是否对所述第一操作授权。
18.根据权利要求16所述的方法,还包括:
由所述服务器系统从所述第一客户端设备接收用于所述第一操作的模型输出数据,其中,所述模型输出数据是在所述第一客户端设备上使用所述第一机器学习模型而生成的;以及
由所述服务器系统基于所述模型输出数据来确定是否对所述第一操作授权。
19.根据权利要求18所述的方法,其中,所述确定是否对所述第一操作授权包括:
基于所述模型输出数据,由所述服务器系统执行第二机器学习模型,以生成指示与执行所述第一操作相关联的风险等级的第二模型输出数据;以及
基于所述第二模型输出数据来确定是否对所述第一操作授权。
20.根据权利要求15所述的方法,还包括:
由所述服务器系统向所述第一客户端设备发送可以由所述第一客户端设备执行以生成用于所述第一机器学习模型的附加的加密输入数据的代码,其中,所述第一机器学习模型进一步可操作用于基于所述附加的加密输入数据来生成所述模型输出数据。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202141029162 | 2021-06-29 | ||
IN202141029162 | 2021-06-29 | ||
US17/402,709 US20220414536A1 (en) | 2021-06-29 | 2021-08-16 | Execution of Machine Learning Models at Client Devices |
US17/402,709 | 2021-08-16 | ||
PCT/US2022/073076 WO2023278956A1 (en) | 2021-06-29 | 2022-06-22 | Execution of machine learning models at client devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117597666A true CN117597666A (zh) | 2024-02-23 |
Family
ID=84541084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280046553.3A Pending CN117597666A (zh) | 2021-06-29 | 2022-06-22 | 在客户端设备上执行机器学习模型 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220414536A1 (zh) |
EP (1) | EP4363973A1 (zh) |
CN (1) | CN117597666A (zh) |
AU (1) | AU2022302150A1 (zh) |
WO (1) | WO2023278956A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11818148B1 (en) * | 2022-05-15 | 2023-11-14 | Uab 360 It | Optimized analysis for detecting harmful content |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11354539B2 (en) * | 2018-09-27 | 2022-06-07 | International Business Machines Corporation | Encrypted data model verification |
US11580335B2 (en) * | 2019-04-02 | 2023-02-14 | General Electric Company | Transaction management of machine learning algorithm updates |
US11443035B2 (en) * | 2019-04-12 | 2022-09-13 | Mcafee, Llc | Behavioral user security policy |
US11562349B2 (en) * | 2019-08-20 | 2023-01-24 | Anchor Labs, Inc. | Risk mitigation for a cryptoasset custodial system using data points from multiple mobile devices |
-
2021
- 2021-08-16 US US17/402,709 patent/US20220414536A1/en active Pending
-
2022
- 2022-06-22 EP EP22834371.1A patent/EP4363973A1/en active Pending
- 2022-06-22 WO PCT/US2022/073076 patent/WO2023278956A1/en active Application Filing
- 2022-06-22 AU AU2022302150A patent/AU2022302150A1/en active Pending
- 2022-06-22 CN CN202280046553.3A patent/CN117597666A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2022302150A1 (en) | 2023-12-21 |
WO2023278956A1 (en) | 2023-01-05 |
EP4363973A1 (en) | 2024-05-08 |
US20220414536A1 (en) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3627759B1 (en) | Method and apparatus for encrypting data, method and apparatus for training machine learning model, and electronic device | |
US10956584B1 (en) | Secure data processing | |
US11550957B2 (en) | Securing user-entered text in-transit | |
US20160080173A1 (en) | Complex event processing as digital signals | |
CA3186528A1 (en) | Machine-learning techniques for factor-level monotonic neural networks | |
US10454779B2 (en) | Adaptive learning system with a product configuration engine | |
EP3844645A1 (en) | System and method for providing customer specified webpage configuration | |
AU2022387683A1 (en) | Bayesian modeling for risk assessment based on integrating information from dynamic data sources | |
CN111788801A (zh) | 用于数据访问的多级机器人架构 | |
CN117597666A (zh) | 在客户端设备上执行机器学习模型 | |
US11461488B2 (en) | Universal access layer for accessing heterogeneous data stores | |
US20230168932A1 (en) | Computer-based systems and/or computing devices configured for the scaling of computing resources using a machine learning model trained to monitor and/or predict usage of inference models | |
US20230171235A1 (en) | Edge Device Representation Learning | |
Sumathi et al. | Scale-based secured sensitive data storage for banking services in cloud | |
US20210350375A1 (en) | Determination of geographic coordinates using machine learning techniques | |
US11750720B1 (en) | Cache optimization and interaction control based on location and historical interactions | |
US20230368019A1 (en) | Deep learning system for performing private inference and operating method thereof | |
US20220365974A1 (en) | Computer-based systems and/or computing devices configured for assembling and executing directed acyclic graph recipes for assembling feature data for pattern recognition models | |
WO2022272262A1 (en) | Federated machine learning management | |
WO2021006861A1 (en) | Method and system using ai call prediction and cache | |
CN115461761A (zh) | 基于判定树的同态加密数据推理 | |
WO2023212700A1 (en) | Computerized systems and methods for a multi-faceted encryption platform | |
GulafshanShaikh et al. | Secure Phrase Search in Cloud Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |