一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

在联盟学习环境中保持信任和可信度的方法与流程

2022-08-31 05:47:54 来源:中国专利 TAG:


1.本发明涉及机器学习和数据分析,特别是采用与企业客户参与方法相关的边缘设备进行个人联盟学习,从与同一用户相关的一个或多个数据集生成交叉洞察、交叉学习和集体决策。


背景技术:

2.目前的边缘设备(本文包括但不限于此笔记本电脑、计算机、手机、tv、vr头戴耳机、汽车、物联网传感器等等)通常配备处理和存储硬件,使得他们切实可行地在这些设备上执行包括机器学习算法训练和推理的一系列计算。因此,从由这些边缘设备生成的数据中学习,同时减少从这些边缘设备到中心服务器的数据传输需求的解决方案和方法最近有所增加。这些方法的一个实例是联盟学习系统,该联盟学习系统提供从由边缘设备产生的数据中训练机器学习算法的方法,而不将数据复制到中央服务器,联合学习将模型和模型权重发送给边缘设备,并通过平均方法聚合从设备返回的更新权重。联盟学习方法对于企业来说是有用的,因为其可在这些边缘设备上开发运行的应用程序以学习他们自己的用户数据;由此,企业用户是指使用由企业开发的应用程序的人。然而,联合学习对于多个企业在边缘上相互学习来说仍然是不切实际的,这是因为有可能揭示以模型权重更新的形式从边缘设备传输到聚合器服务器的信息,这反过来又构成了试图在边缘上相互交叉学习的企业的安全、监管和隐私风险。这些风险在更大规模时变得更加明显,诸如增加的用户数量和增加的每个用户的设备数量。
3.由于每个企业通过运行在设备上的应用程序控制用户数据的片段,因此同一设备上的用户数据的片段增加,这只会让问题解决起来更加复杂。当涉及到大量用户时,数据集的这些片段使得利用今天可用的工具构建全球系统非常具有挑战性,这些工具可从用户的行为、兴趣和意图中学习,并为那些用户提供来自企业的相关服务,而不会在用户参与时间上产生竞争。
4.这个模型所面临的挑战在于机器学习解决方案的成功开发和训练对企业抓住用户注意力的能力并使他们参与将为任何机器学习模型生成足够的功能空间,特别是需要比其他数据模型更高的数据多样性的深度学习模型的各种活动的高度依赖。
5.由于企业竞争其权力和数据集的片段的移动设备的能力的片段化不能造福于用户,也不能使得企业的利益最大化。
6.一些问题仍然很难通过这些竖井来解决,因为许多用户通过了解系统期望的输入来欺骗系统。更糟糕的是,当用户体验到设计得很好时,用户通常会被特定行为漏斗所驱动,即使他们的意图可能与企业意图并不一致。当用户有欺骗企业应用程序的意图以激励由企业运营的平台上的其他用户的某种行为时,此类情况的一个实例是欺骗者。当企业对于用户的行为具有有限的能见度时,用户开发出可检测这些欺骗者的机器学习模型是非常具有挑战性的,这是因为该模型将取决于他们驱动用户频繁参与的能力,这就需要有足够的特征空间以用于训练此类模型。如果有合适的工具,则检测欺骗者为许多企业可能会同
意共同协作解决的目标。
7.这个问题自然会使许多企业落后并增加了大多数企业的进入障碍,以获得开始生成足够的数据量的正确的参与度。
8.需要使得企业能够在边缘设备上进行协作得一个完整的系统,该系统适用于多种企业规模、不同的安全问题和不同的用户群体。
9.以前的技术没有研究联合学习中的多对多情况,而是以与一对多类似的方式来对待多对多,但这是不切实际的。许多企业在边缘上交叉学习,特别是当有许多设备涉及一个用户或一个概念时,需要比一个企业对多个设备进行更多的协调。
10.本发明提供了实用的方法和解决方案,以实现边缘上的可扩展和动态的交叉学习,并且所公开的方法可推广到包括服务器和其他设备。


技术实现要素:

11.本发明的目的是提供一种提供多个请求者和多个边缘设备之间的可扩展和可靠的通信机制的系统。
12.根据发明的一个方面,提供从所述多个请求者到一个或多个协调者的一个或多个请求,其中所述协调者基于一个或多个搜索方法发现与所述请求相关的一个或多个边缘设备,并将所述请求转给所述边缘设备中的一个或多个边缘设备或其他协调者;其特征在于,所述边缘设备包括一个或多个发布者,所述一个或多个发布者向代理提供数据以执行所述一个或多个请求从而创建一个或多个响应,并将所述一个或多个响应发送给所述协调者;并且所述一个或多个协调者聚合所述一个或多个响应并发送给所述一个或多个请求者以用于进一步处理。
13.根据发明的一个实施例,所述一个或多个搜索方法为向量搜索。
14.根据发明的一个实施例,所述一个或多个搜索方法基于通过日志可知的元数据。
15.根据发明的一个实施例,所述一个或多个搜索方法由擅长于特定类型的边缘设备的协调者完成。
16.根据发明的一个实施例,所述一个或多个搜索方法由擅长于特定地域的协调者完成。
17.根据发明的一个实施例,所述一个或多个搜索方法由擅长于特定数据集的协调者完成。
18.根据发明的一个实施例,所述向量搜索基于作为一个或多个参数的向量表示的一个或多个独特签名。
19.根据发明的一个实施例,所述签名可由一个或多个协调者用于将权重应用于来自所述边缘设备的所述响应。
20.根据发明的一个实施例,多个边缘设备可基于预先确定的标准进行分组,并通过搜索被视为边缘设备的云。
21.根据发明的一个实施例,所述边缘设备的云包括在处理器上执行的一个或多个代理,所述一个或多个代理协调边缘设备资源处理能力和存储的使用,以执行接收到的请求并管理要保留或丢弃的响应。
22.根据发明的一个实施例,附加机制用于根据所提供的响应的质量评估数据质量以
对所述数据发布者进行排序。
23.根据发明的一个实施例,一个或多个数据日志权威机构向数据发布者提供关于响应质量的反馈机制。
24.根据发明的一个实施例,协调者权威机构管理协调者版本。
25.根据发明的一个实施例,所述计算选自于由以下项组成的组:使用联盟学习方法的机器学习训练、机器学习推理、协作决策和安全的多方计算。
26.本发明的上述和附加方面和实施例对于本领域的那些普通技术人员来说将是显而易见的,鉴于参照附图对各种实施例和/或方面进行的详细描述,下面将提供本发明的简要描述。
附图说明
27.在阅读以下详细描述并在参考附图时,本发明的上述和其他优点将变得显而易见。
28.图1示出了在一个实施例中涉及到的多个参与者的总体系统设计。
29.图2示出了属于同一个人的一组边缘设备的实例。
30.图3示出了描述一个实施例的流程图。
31.图4示出了描述软件代理存储的数据类型的图表。
32.图5示出了描述协调者用于将请求指向边缘设备的过程的流程图。
33.图6示出了描述负责维持系统中的数据质量的权威机构所采用的过程的流程图。
34.图7示出了描述负责确认和验证系统中的协调者的可信度的权威机构所采用的过程的流程图。
35.图8示出了描述多个参与者如何协调从边缘返回到请求者的请求的响应的过程的流程图。
36.图9示出了描述生成代表请求者或边缘设备组的兴趣和意图的签名的示例性过程的流程图。
37.虽然本发明易受各种修改和替代形式的影响,但具体实施例或具体实施已在附图中举例说明并将在本文详细描述。但是,应当理解的是,该公开并非旨在进行限制所公开的特定形式。而是,该公开是为了涵盖所附权利要求所定义的本发明的精神和范围内的所有修改、对等物和替代方案。
具体实施方式
38.所公开的系统的目标是提供一种可靠的通信机制来将请求从请求者直接发送给对这些计算请求感兴趣并能够执行这些请求并向请求者提供聚合响应的边缘设备。它还解决了使企业能够从企业本身控制的数据或其他企业拥有或控制的数据集中学习,因为这些数据集在边缘设备上生成,而不损害数据集的安全性。该系统通过高度灵活的系统协调和协作方法来实现该目标。
39.图1示出了多个参与者组成的整体系统设计,该多个参与者代表用户设备、计算请求者(被称为“请求者”)、作为这些请求的协调者的系统(被称为“协调者”)和维持系统整体可信度的权威系统(统称为“权威机构”)。
40.参见图1,请求者105可以是独立的人或者是对在边缘设备上生成的数据集进行计算感兴趣的企业。此类计算可以是使用联盟学习法进行机器学习训练、、机器学习推理、进一步描述的协作决策、以及其他计算诸如安全的多方计算。
41.101描述了为共享共同目标的一组设备的“纳米云”。纳米云的实施例是属于一个人(或被简称为“用户”)的一组边缘设备,诸如用户的可穿戴设备、汽车、智能手机、冰箱、vr头戴耳机和其他边缘设备。
42.当没有指定计算的类型时,本文通常将其称为“计算”。请求者通过网络协议(例如“http”)以机器可读的格式诸如javascript对象符号来将请求提交给请求者可通过私有或公共网络访问的协调者102。协调者102为作为服务器运行并可由请求者访问并可直接访问或通过其他协调者访问边缘设备的软件。102b示出了不直接与纳米云进行交互并且只能与其他协调者进行交互,但可直接与请求者进行交互的0级协调者,而102a示出了可直接与纳米云、与请求者进行交互,并可与被称为1级协调者的其他协调者进行交互的协调者。
43.协调者交互的本质在本发明中有更详细的描述。这种设计的目的是考虑到设计通常需要在子网下对纳米云进行分组的能力的可伸缩网络时的灵活性。该请求然后经由发布/订阅体系结构或通过其他协议如http和sftp通过协调者进行的到达纳米云101,其中纳米云订阅协调者102a将请求发布到的总线,其中利用这些纳米云已知的协调者102a检查新的请求的纳米云。
44.纳米云由至少一个边缘设备组成。这些设备中的每个设备通常具有操作系统和生成数据以及与使用条件和设备本身相关的其他数据的一个或多个应用程序,这些数据通常是人进行的与设备或运行在设备上的系统进行的交互,开发这些应用程序和/或操作系统的企业或人员在下文简称为发布者110。
45.纳米云的实施例的另一个实例是以扫描远程景观为共同目标一起驾驶的车队,发布者在这种情况下是在汽车计算机上运行并生成用于不同目的诸如司机的概要文件、每辆汽车的系统等等的数据的很多软件的开发人员。
46.发布者、请求者和协调者(下文简称“关键参与者”)与作为负责维持系统整体可信度和信任的多方的权威机构130进行交互。在以小规模例如交叉学习彼此的用户数据的两个企业部署系统时,权威机构可以是企业或独立第三方中的一者。随着系统中关键参与者的数量增加,维持系统的可信度所需的独立权威机构的数量也会增加,该公开并不对系统中的权威机构的数量设置上限。
47.图2示出了属于同一个人的统称为纳米云的一组边缘设备的实例,该附图显示了基于本发明的这些边缘设备连接和共享纳米云内部的数据和计算的过程。
48.图2示出了根据该公开的纳米云的内部事务。该公开描述了一种被称为代理204的可在纳米云中的一个或多个设备上运行的软件系统,代理的角色是执行以所请求的计算为目的而使用纳米云中的设备的硬件资源的所请求的计算和编排,并存储与纳米云中的发布者的代理共享的相关数据集,其中资源和数据存储的此类编排在本发明的进一步细节描述。
49.设备202具有安装在其上的代理软件。当代理软件为与协调者进行交互的指定代理,该代理被称为网关代理204a。纳米云提名的代理中的一个代理作为网关代理,该代理通常是能够发动的第一代理或具有最好资源诸如电池电能、网络带宽的代理,其中此类提名
标准可由系统的实施者自行设计。201显示了具有运行的网关代理的设备,在这个实例中,网关代理运行在笔记本电脑上,这是因为这个实例中的笔记本电脑比纳米云中的其他设备在网上更可用并且与纳米云中的其他设备相比例如与图2中的可能具有强大的计算机,2但它在纳米云中的可用性很低的汽车相比具有最高网络带宽并具有可用的强大的处理和存储硬件,因为当它在纳米云中时通常开车出去并关闭该硬件并且时常连接到笔记本电脑,以与笔记本电脑上可用的代理共享数据。203显示了没有运行的本地代理的设备,这些设备上的发布者与纳米云中的第一可用代理共享数据,或者在一些实施例中可能具有指定的代理以进行共享。发布者能够在纳米云的网络中发现与其共享数据的代理。纳米云的网络可以是纳米云的设备可连接到纳米云的代理的任何网络。纳米云的代理需要能够时常向纳米云中的设备发送计算请求,并且需要能够从纳米云中的发布者接收数据。
50.纳米云网络的实例是用户的设备可连接到的家庭wifi,通过这个网络,这些设备可连接到安装在网络中的一些、全部或其中一个网络上的代理。
51.图3示出了描述应用程序开发者(下文简称发布者)如何从他们的应用程序共享数据到运行在边缘设备上的数据和过程协调者软件的过程的流程图图,该软件在本发明中被称为代理。
52.图3示出了发布者如何与代理共享数据的过程。发布者307将数据308发送给纳米云中的特定代理或随机代理,在纳米云的实施例2中,共享数据可以是关于用户的信息或关于发布者跟踪的用户已执行的活动的信息。代理接收数据302并且然后根据接收到的数据来确定代理是接收这些数据的最好的代理,也有可能的是请求发送由发布者与代理首先共享的数据,以确保代理能够在发布者发送数据之前接收该数据。代理基于所需的存储器容量和所需的网络带宽来决定它是否能够接收到该数据,在另一个实施例中,该决定可基于传输速度、数据的大小或设备电池时间或其他资源定义参数。代理可拒绝该数据,在这种情况下,代理可在纳米云中推荐另一个代理或者可不推荐。如果代理基于其可用的资源接受该数据,则其会尝试通过联系权威机构(在本发明的图6中详细描述的“数据日志权威机构”)来找出发布者的304的排名。
53.发布者的排名确定了该发布者的数据对代理的重要性,因为排名描述了发布者的数据在整个系统中的质量及其在本发明中进一步描述的可信度。基于排名的代理指定阈值,代理确定是否接受基于发布者的排名的数据,或者仅删除该数据305,在同一个纳米云中,306个代理可配置为具有相同的发布者的排名阈值,或者可具有基于可用资源的动态阈值,或者可具有基于其可用资源的不同阈值。当发布者接收到代理的决定309时,发布者可将这些信息作为对其数据集质量的反馈,并尝试通过产品改进或发布者自身公开的其他技术来改进数据集。
54.图4描述了代理的内部存储装置。代理通常在其内部存储装置中维持两种类型的数据,在本实施例中,属性410可以是用户信息矩阵的形式,用户信息诸如年龄、性别、姓名、收入、子女数量和其他缓慢变化的维度。在诸如汽车护航的纳米云的另一个实施例中,这可能是一个汽车模型矩阵、制造商等。
55.因为代理从不同的出版商接收可能描述同一对象或用户的信息,代理具有存储同一对象的多个版本的选项,可基于304的排名和可基于可用存储装置决定版本的数量选择这些版本,代理可限制其存储的属性,例如可基于数据图6的日志权威机构提供的属性的描
述选择不存储用户的名称。代理可用的其中代理选择不存储的属性然后选择性地标记在代理的存储装置“压制属性指数”中的430a本地索引中,这发布者个索引的目的是使其了解纳米云中的系统了解,并且纳米云中的发布者的可用属性的潜在请求者不是由代理存储的。
56.在一些实施例中,代理与数据日志权威机构共享压制属性索引,该数据日志权威机构继而使用该信息来有助于计算在图6中详细描述的发布者排名。在一些实施例中,该信息以聚合形式与请求者共享,因为代理通过突出显示对某些请求进行响应,这些突出显示内容可被请求者识别但被代理压制。在其他实施例中,发布者自身向数据日志权威机构提供关于压制属性索引的信息。
57.由代理存储的第二种类型的数据为适合快速变化的维度和时间序列数据例如电池状态的测量或者在这个实施例中用户执行的活动的流420,在这个实施例中,存储装置中的每个数据点可以是活动名称、活动的日期和时间以及任何可用测量诸如活动的持续时间,示例性活动可以是用户登录到应用程序,登录的时间和日期以及在登录屏幕花费的时间作为测量。
58.图5示出了协调者1102a级如何处理传入的请求。在该公开披露中,协调者在如何处理请求方面有一定的灵活性。灵活性的目的是允许不同的用例。图5中的流程图描述了协调者可用于处理请求的方法。当协调者通过其网络服务器501接收到请求时,期望将利用功能在图6中详细描述的数据日志权威机构132来验证请求510。验证请求的目的是确保请求者已提供有关请求所需的数据集的信息,并已选择这些数据集的发布者,并已提供数据日志权威机构可能需要的任何其他信息,请求者提供此信息所遵循的过程在611中描述为请求注册。在协调者验证请求510之后,其可选择性地针对其可用的纳米云提供搜索服务,其中可用的纳米云是协调者能够直接或通过其他协调者转发给的任何纳米云。提供搜索服务502使得请求者能够定义纳米云的标准来执行请求,例如请求者可能只对过去几个月里在雪地里行驶的某种型号的汽车进行计算感兴趣。这样的标准可由请求者以属性的形式和其以{“天气”:“雪”、“设备”:“汽车”、“活动”:“最近”、“发布者”:[

a’,....,’n’]}的形式的目标值提供,这个标准映射到由指定的发布者提供的属性,其中关于这些属性的信息由发布者通过数据日志权威机构132提供给请求者,如图6所描述的。
[0059]
为了支持此类级别的搜索,协调者可专门研究地理区域、设备、数据集或这些的组合。例如,一个协调者可专门研究医疗数据集,另一个协调者可以专门研究汽车。这种专门化级别允许协调者提供的服务专门化,例如,专门研究医疗数据的协调者可能会增加加密和与纳米云进行通信的需求,并引入高级验证,以及对模型权重和交换的模型进行高级加密。专门研究汽车的协调者可提供汽车属性诸如型号、制造商、油耗类别等的高级搜索索引。
[0060]
协调者在协调权威机构130中注册了他们的专业,请求者可进行查询以用于了解协调者服务。
[0061]
如果请求需要经过大量的协调者,则协调者之间解决一个请求到达最终目的地的方向。这是通过标准完成的,因为其从一个协调者传递到另一个协调者,不能支持该标准的协调者拒绝该请求。协调权威机构还可提供帮助请求者选择最佳协调者以用于其请求的附加信息,此类信息可包括协调者或最佳路线到达到的最大数量的纳米云的匹配标准或减少达到目标片段所需要的网络跳数的映射,其中目标段是与请求者的标准对应的纳米云。
[0062]
在大的具体实施中,可根据它们的专门化将协调者划分为区域。在可获得详细路由的实施例中,这些路由可包含在请求中并由协调者解析,其中协调者将请求指示到路由中的下一个预期参与者,并且同样也可描述响应路由。
[0063]
一旦协调者已确定其支持请求的能力,其便会根据其具体实施进行以下两件事中的一件事或全部两件事:
[0064]
选项1:直接通知匹配标准的纳米云504,当协调者正在协调少量的纳米云时这很有用,可通过预定义的网络通信协议诸如由纳米云中的代理提供的http端点来完成此通知。
[0065]
选项2:通过纳米云订阅的一个或多个通信总线来广播请求503。
[0066]
在与请求进行通信之后,协调者将请求505保存在本地存储装置中通常由请求者定义,或者协调者实现者认为对协调者的目的有用的一段时间。例如,保存请求一周对于大约需要一周时间才能完成的计算来说可能是合理的。保存请求的目的是允许纳米云在丢失请求时恢复请求,或再次获取请求作为备份,或允许在请求与纳米云进行通信后上线的新的纳米云或代理获取这些请求。协调者可不发送关于新请求的任何通知,而只是等待纳米云频繁地与它们检查新请求。而图5描述了1级协调者102a,0级协调者以相同的方式操作,而是通知纳米云或发布到具有聆听他们的意见的纳米云的总线,他们只能直接通知其他级别的协调者或者发布到其他级别的协调者聆听他们的意见的总线。
[0067]
协调者搜索索引服务502还可配备矢量搜索功能,其中协调者通过相似性的度量将已知纳米云的签名与请求者的签名进行比较。这些签名在图9中有更详细的描述。请求者具有一个或多个独特的嵌入式向量签名,并且纳米云具有各自在下文中称为签名的一个或多个独特的嵌入式向量签名,其中签名代表此类签名的持有人的意图、兴趣和/或目标,该持有人为请求者或纳米云。测量签名之间的距离是通过测量距离诸如余弦相似度来完成的,这个过程提供了对请求者的请求中的纳米云潜在兴趣的洞察。
[0068]
通过测量这个距离,协调者便有机会根据请求者和纳米云之间的距离对请求进行优先排序或/和货币化。这种方法的实施例是如果有一名协调者被要求支持本地企业主,一个瑜伽老师在向他们附近对瑜伽感兴趣的人发送请求时,前提是他们需具有提交此签名请求给瑜伽老师的接口和技术,假设签名包括向量中的地理和人口特征信息,表现为附近对瑜伽感兴趣的人的纳米云签名可能非常相似,在这种情况下,协调者可免费提供该请求的服务,这点与其他请求完全不同,因为后者需要与更多的人群进行沟通,或由来自附近外部的企业提交。
[0069]
协调者可维持发布到纳米云的所有发布者的列表,这些协调者可与这些纳米云连接。如果附近协调者是该协调者可转发请求的对象,则该协调者也可选择保留有关附近协调者的信息。协调者保存的有关发布者、纳米云和附近协调者的信息量取决于其可用的资源和实施者的兴趣。协调者可以向协调权威机构130发布他们的任何可用信息,该协调权威机构继而可选择将这些信息的一部分或全部发布给请求者或有兴趣验证协调者的其他各方730。
[0070]
设备可加入多个纳米云,例如在实施例2中,汽车可以是纳米云的一部分,并且在汽车护卫队实例中也是如此。这并不造成任何附加配置作为知道在纳米云中可用的设备的纳米云中的代理和可知道多个纳米云的可用性的发布者,或者只是与所有代理共享可在运
行发布者的应用程序或操作系统连接到的设备的网络中发现的数据。这些选项的具体实施是由启用网络中的代理自我识别来完成,该网络包括纳米云名称,使得当代理识别到发布者共享网络上的地址时,纳米云的名称和任何其他元数据的与系统的设置相关。通过这样做,发布者可决定其对哪个纳米云感兴趣。
[0071]
图6示出了数据日志权威机构的功能132,该权威机构在系统中扮演许多角色:
[0072]
1.提供关于系统中可用的数据集和发布者的信息,以便请求者可相应地设计他们的请求,这是通过维持数据字典620并通过维持使用统计621来完成的。这些数据然后将用于确定发布者的排名304。在一个实施例中,发布者的排名可基于其标准化的[0-1]的数据集的受欢迎程度,这样一来,最常用数据集的发布者将得到一个最接近1的排名,而最不常用的发布者的数据集的排名接近于0。对发布者进行排名可基于使排名在选择发布者时对请求有用的任何算法。
[0073]
2.注册和认证请求,以确保在网络中转发的请求被验证,以符合本权威机构132可能设置的标准。在一个实施例中,权威机构设置了一个标准,使得对于将成功的请求其要求请求提供需要参与请求的纳米云的数量,并且这需要超过2个纳米云的数量,这样的规则有助于避免以单个用户为目标的请求者。
[0074]
3.为发布者提供有关其数据集的受欢迎程度以及这些数据集的用途的统计数据631,以便于发布者提高其数据集的质量。数据日志权威机构可为发布者提供阻止某些请求者对其数据集请求计算的方法,这些模块随后由数据日志权威机构与协调者进行通信,以在验证请求640的时间阻止他们。
[0075]
当请求者设计他们的请求时,他们可请求有关某些数据集的发布者的信息610。他们也可搜索达到由发布者提供的水平的数据集612的描述630。请求者在将请求611发送给协调者之前需要对其进行注册。
[0076]
图7示出了描述名为“协调权威机构”的负责验证系统中的协调者及其信誉的权威机构执行其任务并与其他参与者进行通信的过程的流程图。
[0077]
协调权威机构所扮演的角色确保协调者使用标准软件,并在与纳米云进行通信的信息上来回执行标准任务。为了协调者了解系统中的其他参与者,其需要通知协调权威机构的存在,并且其需要从协调权威机构下载最新版本的软件710,每当一次协调软件的版本更新,协调者期望确保下载和运行新版本720。协调权威机构从协调者711频繁请求操作统计数据,并且期望协调者将对可用统计数据721进行响应,这些统计可能包括协调过的请求的数量、这些请求的时间戳、发送给纳米云或/和其他纳米云的请求的数量,以及针对这些请求所处理的对应响应的数量。协调权威机构130使用这些统计数据进行验证,并基于验证结果向系统中的其他参与者证明该协调者。
[0078]
图8描述了代理随后生成对接收到的请求的响应的过程,以及协调者随后根据从纳米云中的代理接收到的响应进行聚合的过程,以及最终请求者如何访问响应。
[0079]
在代理接收到请求820之后,其确定在高级别水平上如果纳米云对这个请求感兴趣821,则可通过比较具有请求者的纳米云的签名并基于由纳米云的具体实施确定的可接受的签名距离拒绝或接受请求。由于请求提供了其请求尝试进行计算的发布者的列表,因此代理还可通过联系数据日志权威机构基于发布者的可信度确定兴趣。如果代理确定对请求感兴趣,其确定其是否是纳米云中的最好的代理,以在代理正在执行另一个请求的情况
下基于其可用资源和被请求的数据是否可在本地或在另一个代理以及代理的当前活动执行请求822。在这种情况下,接收代理是一个网关代理204a,因此预计将请求重转给一个合适的代理,如果不是适合执行该请求,则这个重定向过程可能发生随机直到其中一个代理接受请求,或者其可通过保持可用资源的注册表来组织。代理还可对请求进行排队,以防止它们当前很忙,并期望稍后能够执行该请求。所选择的代理然后执行请求823并将响应返回提交到能够发送响应的协调者824,这个响应在联盟学习实施例中为更新的模型权重。
[0080]
可能响应可被发送回到不同的协调者,这是因为响应中包含了请求者的签名,因此可知道请求者是谁,并且只有请求者可下载响应的聚合。
[0081]
每个协调者对同一个请求聚合所有接收到的响应,聚合的过程可以是平均、加权平均、求和或请求中描述的其他方法,在注册请求611时,数据日志权威机构验证这些方法是维护所传输的信息的隐私的可行聚合方法。
[0082]
协调者以流的方式进行聚合,也就是说,接收到的每几个更新都会被聚合,而不会等待所有的更新都被接收到才发生聚合。然后删除聚合的更新,这有助于确保在系统中保留的没有单个更新超过设备子集完成计算所需的时间段。
[0083]
例如,当聚合函数是平均函数时,该流聚合可通过增量平均来实现,因此协调者要么在每次接收到新的更新时执行平均,要么批量执行。基于已知的增量均值公式:
[0084][0085]
其中mn是运行均值,an是第n次更新。其中第一平均值被计算为
[0086][0087]
当协调者已完成聚合并将响应转发给其他协调者时,其会在响应中包含下一个c调者的聚合函数正确执行所需的任何信息,诸如当前协调者的平均项数,以便于下一个协调者可使用这个数字来产生下一个平均值,以此类推。然后,请求者可从他们最初发送请求的协调者下载聚合830,或者如果系统是一个规模更大的系统,则请求者可从有访问权限的另一协调器下载聚合。
[0088]
图9显示了一个生成签名后的示例性过程。生成签名的过程在下文称为“签名方法”。可向然后为这些签名方法提供唯一id的数据日志权威机构624注册签名方法。系统中的任何参与者都可创建签名方法。其他参与者对此类方法的适应为这些参与者的公开内容。这些方法允许描述纳米云和请求者。签名是兴趣、活动或这些方法的创建者希望它们成为的任何东西的向量表示。然后,如前所述,使用签名来衡量请求者的意图和纳米云的兴趣之间的相似性。
[0089]
当请求者注册他们的请求611时,他们通过提供其id来通知数据日志权威机构该请求使用的是哪个签名方法,请求内容本身也提供了方法的id,以便于协调者和代理可签名与使用相同的签名方法生成的签名进行比较。在本发明的实施例9中,该签名是基于单词嵌入是所生成的向量的用户偏好的表示,其中训练word2vec算法以通过联盟学习系统生成单词的向量表示。在这个实施例中,训练语料库可以包含用户在特定主题或领域上的浏览历史。然后使用训练过的算法生成所有向量的总和,这些向量表示用户写下的关于他们意
图的段落,例如“我对瑜伽感兴趣”,并且然后请求者以文字描述他们的请求,例如“希望向瑜伽爱好者学习他们的饮食习惯”,并使用这种签名方法来生成表示他们请求的签名。
[0090]
然后将请求和用户的签名作为词向量进行比较并确定兴趣点。有大量的文献与使用单词嵌入和文档嵌入(doc2vec)来开发向用户推荐特定产品或服务的推荐系统有关,在本实施例中,这些技术可用于向纳米云推荐请求。
[0091]
使用系统来协调类型模型推断的计算的示例性过程是请求者可通过协调者提交模型,目标是数据集包含来自视频流服务的活动,其中该模型推断出用户在此活动期间对特定食品配送感兴趣的可能性,这是在看电影——假设请求者也是一个提供食品配送服务的发布者——然后模型可通过代理的接口向用户显示通知,从而提示他们购买食品。对于能够工作的这个示例,食品递送服务需要能够提供具有针对性的属性,即请求可以同样是食品递送服务的订户的纳米云为目标。
[0092]
使用系统以协调决策的示例性过程,这在下文被称为联盟决策。请求者对于特定问题请求决定,该决定请求是通过提供经训练的机器学习模型来推断从输入进行的选择,并且然后该选择由为与请求者的纳米云签名接近度的接近因素加权,其中接近度是负距离。协调者对响应进行平均,并向请求者提供最终选择。一个有用的实例是,当一个请求者尝试学习在特定的驾驶情况下做出最佳选择时,在这种情况下,请求者可以是汽车制造商,尝试模拟系统中的汽车驾驶员在特定驾驶情况下会做出什么决定,并基于汽车规格与模拟汽车的接近度来衡量这些决定,在本实施例中,在一个签名向量中进行描述规格。
[0093]
可能的是协调者从也是一个纳米云或纳米云代理的一部分的硬件运行,这允许许多纳米云协调彼此直接通过协调者在也可在纳米云中的一个纳米云中可用的硬件上运行,从而减少外部网络的必要性。请求者可使用也是纳米云的一部分的计算机。当系统缩小到这个级别时,权威机构也可在为所描述的这组纳米云的计算机上运行。
[0094]
代理软件提供显示正在处理的请求的接口,向接口发布数据和其所做的决策的历史。这些接口可以是可视的,并且对于那些具有边缘设备的纳米云的人来说非常有用。
[0095]
代理软件还可以为用户提供与之交互的接口,诸如用户描述其将被转换为签名向量的意图的实施例,或者当用户通过代理接收到来自食品递送服务发布者的通知时的实施例。
[0096]
这个系统可能建立在一个发布者和也可以是发布者自己的一个请求者周围,在这种规模下,系统的可用性变成提供透明性、搜索和协调能力。
[0097]
这个系统可能提供发布者或更多直接连接到特定协调者的能力,并执行这些发布者被授权执行的某些请求,从而绕过该代理。
[0098]
当有多个协调权威机构时,这些协调权威机构可通过在它们之间复制信息或划分信息来共享信息。
[0099]
当有多个数据日志权威机构时,这些权威机构可通过复制信息或在它们之间划分信息来共享信息。
[0100]
然而,该公开并没有详细描述联盟学习系统中的训练过程。协调者、请求者和代理都具备联盟学习系统所需的软件能力,诸如协调多轮模型训练的能力,以及跨代理和其他联盟学习方法对垂直分区数据集进行训练的能力。
[0101]
虽然包括参考前面流程图的那些算法的上面描述的算法已被分别描述,但应该理
解的是,这里公开的算法中的任何两个或更多个算法可以任何组合来组合。本文描述的任何方法、算法、具体实施或过程都可包含由以各项执行的机器可读的执行指令:(a)处理器、(b)控制器和/或(c)任何其他合适的处理设备。本文所公开的任何算法、软件或方法都可以体现在存储在非暂态有形介质上的软件中,诸如例如,闪存存储器、cd-rom、软盘、硬盘驱动器、数字多功能磁盘(dvd)或其他存储设备,但是本领域的普通技术人员将容易知道整个算法和/或部分也可由设备除了控制器和/或以众所周知的方式体现在固件或专用硬件(例如,其可能是由一个特定于应用程序的集成电路(asic)、可编程逻辑设备(pld)、现场可编程逻辑设备(fpld)、离散逻辑器等实现)。此外,本文描述的任何流程图中表示的部分或全部机器可读指令都可手动实现,而不是由控制器、处理器或类似的计算设备或机器自动实现。此外,虽然特定算法是根据本文所描述的流程图来描述的,但具有一般技能的人会很容易理解,可能还会使用许多其他方法来实现示例性机器可读指令。例如,块的执行顺序可能会改变,和/或所描述的块中的一些块可能会被改变、删除或合并。
[0102]
值得注意的是,本文所说明和讨论的算法具有执行特定功能并彼此交互的各种模块。应该理解的是,这些模块只是为了描述而基于它们的功能进行隔离,并表示存储在计算机可读介质上的计算机硬件和/或可执行软件代码,以用于在适当的计算硬件上执行。不同模块和单元的各种功能就像上述模块一样可组合或分离为存储在非暂态计算机可读介质上的硬件和/或软件,并可以单独使用或组合使用。
[0103]
虽然已经说明和描述了本发明的特定具体实施和应用程序,但应当理解的是,本发明不限于本发明的精确结构和组合,以及在不偏离所附权利要求书中所定义的发明的精神和范围的情况下可从上述描述中看出的各种修改、变化和变型。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献