FATE —— 2. NN Modules

在FATE-1.10中,整个NN框架被重新设计用于高度可定制的机器学习。使用此框架,您可以创建自己的模型、数据集、培训器和聚合器,以满足您的特定需求。本教程向您介绍我们的全新框架。通过下面的链接,您可以一步一步地学习如何使用我们的Homo&Hetero(水平和垂直)NN。请注意,本教程基于独立版本,如果您使用的是集群版本,则可能需要分别在每一方部署代码/数据。

1.快速入门

为了熟悉FATE-NN和管道,我们建议您完成这两个快速入门教程。如果您使用的是表格数据,并且不需要任何自定义,那么这些教程应该足以满足您的需要

Homo-NN快速入门:二进制分类任务

Hetero-NN快速入门:二进制分类任务

2.Homo-NN定制

2.1数据集

在PyTorch中自定义数据集类似于使用内置的PyTorch数据集类。在本章中,我们将使用一个简单的图像分类任务-MNIST手写识别数据集-作为示例,演示如何在FATE中自定义和使用自己的数据集。

  • 自定义数据集

  • 使用FATE内置数据集

2.2损失函数

在本节中,我们将向您展示如何自定义损失函数

  • 自定义损失函数

2.3模型

在FATE 1.10中,您可以通过子类nn.Module创建PyTorch模型。使用上一章中的示例,我们将演示如何在FATE中开发、部署和使用更复杂的模型。

  • 自定义模型

2.4培训师(Trainer)

为了向您展示如何开发自己的Trainer,这里我们尝试开发一个简单的Trainer来实现FedProx算法(这只是一个示例,请不要将其用于生产)。此外,我们还将向您展示如何使用TrainerBase附带的界面来保存模型、设置检查点、输出预测结果,以及使用该界面在FateBoard上显示一些数据。

  • 定制培训师以控制培训过程

  • 使用FATE接口

2.5聚合器

  • 开发聚合器:介绍基础知识

3.Hetero-NN定制

3.1数据集

  • 自定义数据集

3.2顶部模型、底部模型和交互层&损失

  • 使用CustModel设置顶部、底部模型

4.高级示例

这里我们提供了一些使用FATE-NN框架的高级示例。

Resnet分类(Homo NN)
  • 联邦Rensnet关于CIFAR-10的培训

推荐模型(Homo NN)
  • Criteo上的联合经典CTR模型培训

使用Bert(Homo NN)的联合文本分类
  • 使用冻结参数Bert进行情绪分类

垂直分割异构数据训练(Hetero NN)
  • 联合任务,来宾使用图像数据,主机使用文本数据

你可能感兴趣的:(联邦学习,深度学习,人工智能)