集体学习—发布代码更新

2021年2月19日

集体学习协议允许学习者合作训练模型,而无需参与者之间信任。学习者对模型的更新进行投票,并且仅更新质量阈值。这使系统能够通过提供错误的更新来尝试干扰使模型更强大。

Colearn是一个数据库 保护隐私 在FET网络上的分散式机器学习任务。

这种由区块链介导的集体学习系统使多个利益相关者可以构建共享的机器学习模型,而无需依赖中央机构,也无需向其他利益相关者透露有关其数据集的敏感信息。

Colearn的目的是使由于隐私问题,缺乏信任或缺乏沟通而无法有效协作的各方之间一起工作。 Colearn的目标是成为一个框架,以简单但有效的方式弥合不同利益相关者之间的鸿沟。

当一组实体(称为参与者)决定模型架构并开始学习时,Collearn实验就开始了。他们将一起训练一个单一的全球模型。目的是训练一种模型,该模型的性能要优于任何学习者通过训练其私有数据集所能产生的效果。

核心组件是:

  • 学习者: 每个参与者都是实验中的学习者。学习者代表一个独特的私有数据集和机器学习系统。
  • 全局模型: 集体学习实验的结果:由学习者集体训练的机器学习模型。目前,我们支持神经网络架构。
  • Fetch AI区块链: 底层区块链和智能合约,允许以安全和可审核的方式进行协调和治理。
  • 数据层: 基于IPFS的分散数据层,使学习者之间可以共享机器学习资源。

训练是全面进行的;在每个回合中,学习者都试图改善全局共享模型的性能。为此,建议每轮更新全局模型(例如,神经网络中的一组新的权重)。然后,学习者评估更新并确定新模型是否优于当前的全局模型。

如果有足够的学习者批准该更新,则将更新全局模型。批准或拒绝更新后,新的回合开始。

轮次更新全局模型M的详细步骤如下:

  1. 选择一名学习者,并提出新的更新模型M'
  2. 其余学习者验证M'
  3. 如果针对他们的私人数据集,M'的表现优于M,则学习者投票批准
  4. 如果不是,学习者投票拒绝
  5. 计算总票数
  6. 如果批准的学习者超过某个阈值(通常为50%),则M'成为新的全局模型。如果不是,则M仍然是全局模型
  7. 新一轮开始。

通过使用去中心化分类帐(区块链),可以完全去中心化,安全和可审计的方式运行此学习过程。通过使用可以提供进一步的安全性 差异隐私 以避免在生成更新时公开您的私人数据集。

Image for post

我们已将集体学习的代码上传到我们的 Github库 使用它可以自己模拟集体学习。有关更多详细信息,您还可以观看下面有关集体学习的视频。