IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 联邦学习——Base + Personalization Layers的另一种玩法 -> 正文阅读

[游戏开发]联邦学习——Base + Personalization Layers的另一种玩法

在典型的联邦学习中,不同设备之间的数据分布差异很大。为了缓解这种统计异质性的不利影响,《Federated learning with personalization layers》这篇文章给出了一个新的思路:将模型分为基础层和个性化层,提出了名为 FedPer 的架构。与联邦迁移学习(即首先对所有层进行全局训练,然后对所有或个别层进行局部数据再训练)不同,FedPer 先在全局数据上训练基础层,再在本地数据上训练个性化层,避免了联邦迁移学习需要重训练的问题。
《Exploiting Shared Representations for Personalized Federated Learning》所提出的 FedRep 算法就类似于 Base + Personalization Layers 的形式。但它基于“数据间通常存在一个 global feature representation,而 client 或 task 之间的统计异质性主要集中在 labels 上”这一直觉,提出用基础层来学习数据间的 global feature representation 的降维表示,以缓解 Non-IID 对模型训练的影响,用个性化层作为每个 client 唯一的 local head 实现个性化。
那废话不多说,我们直接看这个算法长什么样。下图就是FedRep的图示结构

  • global representation φ : R d → R k φ : R^d → R^k φ:RdRk,将从本地数据中学到的global feature representation由高维空间map到低维空间中;
  • local head h : R k → y h : R^k → y h:Rky,根据低维representation输出结果;

训练过程中,每个client共同训练 global representation:φ, 再用各自的数据训练自己的 local head:h
值得注意的是,k<<d,也就是说local head:h需要训练的参数量很少,这也就意味着local head:h可以在较小的计算代价下进行多轮训练。
在这里插入图片描述

FedRep算法流程

目标函数为
在这里插入图片描述

伪代码如下:
在这里插入图片描述
每个client的本地更新都需要分成两步,需要注意的是,这两步更新用的是同一批样本。
即先更新local head:h,由于h的参数量很小,所以可以进行多轮更新。
在这里插入图片描述
再基于更新后的 h 更新 global representation:φ,由于φ的参数量较大,所以一般只更新一次。
在这里插入图片描述
其中 GRD(f, h a) 表示学习率为a,用SGD等方式计算 f 的梯度以更新 h。

本文还解释了为什么要用个性化 FL 而不能用传统意义的 FedAvg 聚合全局模型:

对于传统 FL ,其目标函数是 :
在这里插入图片描述
而个性化 FL 的目标函数是 :
在这里插入图片描述
其中 B ? w i ? B^*w_i^* B?wi??是指 ground-truth 的模型表示。
由两者的目标函数可以看出,传统FL的目标是让全局模型去逼近 ground-truth,而个性化 FL 是让每个 client 的本地模型去逼近 ground-truth ,显然,肯定是个性化 FL 的结果会更好,每个client都能有一个很好的个性化模型,而不是共享一个折中的模型。

对于新加入的 client,要怎么初始化模型呢?

global representation:φ 可直接用于 new client,也就是说,new client 仅需训练 local head:h,且由于 h 的参数量较小,可以很快为 new client 的训练出一个个性化模型。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-09-26 10:31:04  更:2021-09-26 10:31:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 16:54:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码