- 博客(17)
- 收藏
- 关注
原创 Pysyft学习笔记,12Part X - 对MNIST进行安全的训练和评估
在构建机器学习即服务解决方案(MLaaS)时,公司可能需要请求其他合作伙伴访问数据以训练其模型。在卫生或金融领域,模型和数据都非常关键:模型参数是业务资产,而数据是严格监管的个人数据。在这种情况下,一种可能的解决方案是对模型和数据都进行加密,并在加密后的值上训练机器学习模型。例如,这保证了公司不会访问患者的病历,并且医疗机构将无法观察他们贡献的模型。存在几种允许对加密数据进行计算的加密方案,其中包括安全多方计算(SMPC),同态加密(FHE / SHE)和功能加密(FE)。
2024-04-08 23:03:18 389
原创 Pysyft学习笔记,11安全深度学习分类
在这种情况下,一种潜在的解决方案是以一种方式对模型和数据进行加密,以允许一个组织使用另一组织拥有的模型,而无需将其IP彼此公开。存在几种允许对加密数据进行计算的加密方案,其中最为人熟知的类型是安全多方计算(SMPC),同态加密(FHE / SHE)和功能加密(FE)。您对模型(神经网络)进行加密。然后,您与拥有自己的一些数据的客户联系,该客户希望访问您的模型以做出一些预测。中是标准的半诚实(译者注:honest-but-curious,指的是遵循协议但会试图窃取隐私信息的敌手)敌手模型中是安全的。
2024-04-08 22:35:40 1078
原创 Pysyft学习笔记,10安全聚合的联邦学习
20Learning%20via%20Trusted%20Aggregator.ipynb),我们在那里有一个“受信任的聚合器”,负责平均多个工作机的模型更新。现在,我们将使用新的工具进行加密计算,以删除此受信任的聚合器,因为它不理想,因为它假定我们可以找到足够值得信任的人来访问此敏感信息。在最后几节中,我们通过构建几个简单的程序来学习加密计算。在本节中,我们将返回到[第4部分的联合学习演示](因此,在这个笔记本中,我们将展示如何使用SMPC来执行安全聚合,这样我们就不需要“受信任的聚合器”。
2024-04-08 17:55:06 297
原创 Pysyft学习笔记,09加密程序简介
信不信由你,有可能使用加密数据进行计算。换句话说,可以在程序中对所有变量进行加密的情况下运行该程序!在本教程中,我们将逐步介绍加密计算的基本工具。特别地,我们将集中于一种流行的方法,称为安全多方计算。在本课程中,我们将学习如何构建一个可以对加密数字执行计算的加密计算器。
2024-04-08 17:43:01 392
原创 Pysyft学习笔记,08bis - 协议介绍
它是一个高级对象,其中包含分布在多个工作程序中的复杂计算的逻辑。协议的主要特征是能够在工作人员之间发送/搜索/取回,并最终部署到确定的工作人员中。因此,用户可以设计协议,然后将其上载到Cloud Worker,其他任何Worker都可以搜索,下载并在其所连接的Worker上应用其包含的计算程序。协议协调一系列计划,并将其部署在远方的工作人员上并一次性运行它们。现在我们已经完成了计划,我们将引入一个称为。
2024-04-08 16:59:56 181
原创 Pysyft学习笔记,07使用FederatedDataset进行联邦学习
看看拥有部分数据的工作机。类,该类旨在像PyTorch Dataset类一样使用,并提供给联合数据加载器。在这里,我们介绍了一种使用联合数据集的新工具。,它将以联合方式对其进行迭代。在这里,我们将获取的数据转换为。
2024-04-08 16:38:10 291
原创 Pysyft学习笔记,06Minst+CNN
因此,联合学习的兴起与数据隐私意识的传播紧密相关,并且自2018年5月起实施数据保护的欧盟GDPR成为催化剂。想法是,数据保留在其生产者(也称为_worker_)的手中,这有助于改善隐私和所有权,并且该模型在工作机之间共享。例如,一种直接的应用程序是在编写文本时预测手机上的下一个单词:您不希望将用于训练的数据(即,短信)发送到中央服务器。,现在我们发布了利用新的PyTorch 1.0版本提供了直观的界面来构建安全且可扩展的模型。我们将遍历示例的每个部分,并在不同的代码后着重标注。修改dataloader。
2024-04-01 18:40:27 396
原创 Pysyft学习笔记,04FedAVG
在这个玩具示例中,平均模型相对于本地训练的纯文本模型表现不佳,但是我们能够在不暴露每个工人的训练数据的情况下对其进行训练。我们还能够在可信任的聚合器上聚合每个工作人员的更新模型,以防止数据泄露给模型所有者。在未来的教程中,我们的目标是直接使用梯度进行可信聚合,以便我们可以使用更好的梯度估计来更新模型并获得更强大的模型。
2024-04-01 11:15:04 177
原创 Pysyft学习笔记03,高级远程执行工具
在上一节中,我们使用联合学习训练了一个玩具模型。为此,我们在模型上调用了.send()和.get(),将其发送到训练数据的位置,对其进行了更新,最后将其恢复。但是,在示例的最后,我们意识到我们需要进一步保护人们的隐私。也就是说,我们要在调用.get()之前对梯度进行平均。这样,我们将永远不会看到任何人的确切坡度(因此更好地保护了他们的隐私!!!FedAVG?
2024-03-31 23:58:49 161 1
原创 Pysyft学习笔记02,开始FL
它是训练深度学习模型的一种简单而强大的方法。考虑一下训练数据,一般它总是某种收集过程的结果:人们(通过设备)通过记录现实世界中的事件来生成数据。通常,此数据被聚合到单个中央位置,以便您可以训练机器学习模型。而联邦学习扭转了这一局面!你无需将训练数据带到模型(一个中央服务器),而是将模型带到训练数据(无论其位于何处)。这个想法允许创建数据的任何人拥有数据唯一的永久副本,从而保持对有权访问该数据的人的控制。很酷吧?#训练示例#2.1 一个玩具联合学习的例子'''让我们从一个集中式训练的玩具模型开始。
2024-03-31 23:09:37 212 1
原创 Pysyft学习笔记01,开始
相反,它们仅包含有关存储在另一台机器上的张量(带有数据)的元数据。这些张量的目的是为我们提供一个直观的API,以告诉其他机器使用该张量来计算函数。最后,就像我们可以在张量上调用 .send()一样,我们可以在指向张量的指针上调用.get()来恢复它!如您所见,Bob不再具有张量!他们已经搬回我们的机器了!这是我们第一个指向张量的。此时的bob._objects。张量的指针本身实际上并。时,它返回了一个称为。
2024-03-31 21:42:45 315 1
原创 Pysyft实验05(MINST识别)
这可能是由于在发送模型之前,模型对象的指针已经被取回到本地,导致远程对象被删除。通过这种方式,在每次迭代时,模型会被发送到数据所在的远程节点进行计算,计算完成后会自动返回本地。目前你的代码在每次训练迭代时都会发送模型到远程节点,这可能导致远程对象被覆盖或删除。通过这种方式,我们可以正确地在远程执行模型的前向和backward传播,同时避免了尝试在模型实例上调用。最后,你可以查看 PySyft 的官方文档和示例,了解更多联邦学习和远程模型训练的最佳实践。方法可确保在执行完远程计算后,模型会自动返回本地。
2024-03-28 19:46:35 829
原创 Pysyft实验2
本次实验没报错,但长时间没有输出,尝试i降低学习质量后也没有解决,如果有看到的大佬懂是为什么望不吝赐教,谢谢。代码参考:pysyft实战笔记 - 知乎 (zhihu.com)
2024-03-28 10:37:22 247 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人