【论文】TOWARDS FASTER AND BETTER FEDERATED LEARNING A FEATURE FUSION APPROACH阅读笔记

TOWARDS FASTER AND BETTER FEDERATED LEARNING: A FEATURE FUSION APPROACH Abstract 本文主要提出一种特征融合的方式,来加速并且提升联邦学习的性能。 Introduction 如今许多智能设备依赖于预训练模型,这使得机器的推断能力缺乏个性化和灵活性。与此同时,智能终端同时还产生了大量有效的隐私数据,这些数据能够提升这些模型的个性化能力。联邦学习,一种能够直接在终端上对模型进行训练的一种分布式训练算法解决了这个问题。其中以FedAvg算法为代表的的联邦学习算法有效的缓解了在信息交流上的隐私问题,但是后来也有研究表明,联邦学习仍然存在诸如:计算消耗,模型准确率。 本文提出了一种融合特征的联邦学习算法FedFusion,该算法将global模型和local模型的特征进行融合。本文的主要的三个贡献点:1. 引入特征融合机制 2. 将本地模型和全局模型的特征以一种有效的并且个性化的方式进行融合 3. 实验表明模型在准确率和泛化能力上都优于baseline并且减少了60%以上的通信量。 Related Work 主要就是Federated Learning的FedAVG算法,不多赘述 Methods 主要分为特征融合模块和FedFusion算法 Feature Fusion Modules 图中的蓝色特征是local模型提取的两通道特征,灰色的是global模型提取的两通道特征。图中表示了三种特征融合的方式:Conv, Multi, Single。 Conv: Fconv(El(x),Eg(x))=Wconv(Eg(x)∥El(x))F_{c o n v}\left(E_{l}(x), E_{g}(x)\right)=W_{c o n v}\left(E_{g}(x) \| E_{l}(x)\right)其中 WconvW_{c o n v}表示shape 为2C*C的可学习的权重矩阵。具体操作就是将global特征和local特征进行concat后进行卷积操作。 Multi: Fmulti(El(x),Eg(x))=λEg(x)+(1−λ)El(x)F_{m u l t i}\left(E_{l}(x), E_{g}(x)\right)=\lambda E_{g}(x)+(1-\lambda) E_{l}(x)乘法操作就是用一个lambda权重矩阵来对local和global进行一个加权求和。 Single: Fsingle(El(x),Eg(x))=λEg(x)+(1−λ)El(x)F_{\text {single}}\left(E_{l}(x), E_{g}(x)\right)=\lambda E_{g}(x)+(1-\lambda) E_{l}(x)加法操作是用一个标量lambda权重来对local和global进行一个加权求和。 FedFusion 训练流程就是利用上一轮的global模型的特征来参与本轮的模型特征聚合训练。 Experiment Experiment setup 数据集: Mnist, Cifar10 ...

June 24, 2020 · 1 分钟 · 108 字

【西瓜书】阅读笔记 1. 绪论

绪论 引言 机器学习:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过经验E在T中任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。 基本术语 数据相关: 数据集(dataset)包含了一系列的记录,每条记录就是一个示例(instance)或者是样本(sample)。反应某些性质的是属性(attribute)或者是特征(feature)。属性取值称为属性值(attribute value),其张成空间称为属性空间(attribute space)或者样本空间(sample space)或者输入空间。空间中每一个点称为特征向量(feature vector)。 训练相关: 从数据学习到模型的过程称为学习(learning)或训练(training)。使用的数据称为训练数据(training data),每个样本为训练样本(training sample),整个集合称为训练集(training set)。学的模型对应了关于数据的某种潜在规律称为假设(hypothesis)。规律本身称为真相(ground truth)。模型也可以称为学习器(learner)。 训练之后,需要进行预测(prediction),关于示例结果的信息称为标签(label),拥有标签的示例是样例(example)。标签张成的空间为标记空间或者输出空间。 分类任务(classification):预测值为离散值。回归任务(regression):预测值为连续值。二分类任务(binary classification):输出为正类和负类。 学的模型后进行预测的阶段为测试(testing),被预测的样本称为测试样本(testing sample),同理还有测试集(testing set) 有监督学习(supervised learning):用拥有标记的数据训练,如分类和回归。 无监督学习(unsupervised learning):无标签的数据训练,如聚类(clustering),将训练样本分成若干个簇(cluster)。 泛化(generalization):模型适用于新样本的能力 独立同分布(iid):样本都从同一个分布上独立采样获得。 假设空间 归纳(induction):从特殊到一般。(generalization) 演绎(deduction):从一般到特殊。(specialization) 归纳学习(inductive learning):广义:从样本中学习。狭义:从数据中获得概念(concept),称为概念学习。 版本空间(version space):与训练集一致的假设集合 归纳偏好 归纳偏好(inductive bias):机器学习算法在学习过程中对某种类型假设的偏好,对应了学习算法本身所做出的关于“什么样的模型更好的”假设

June 24, 2020 · 1 分钟 · 38 字

【西瓜书】阅读笔记 2. 模型评估与选择

模型评估与选择 经验误差与过拟合 错误率(error rate):分类错误的总占比 精度(accuracy):分类正确的占比 误差(error):实际输出与真实输出的差异,在训练样本上为经验误差或训练误差,在新样本上的为泛化误差 过拟合(overfitting):泛化性能下降 欠拟合(underfitting):对训练样本效果不好 评估方法 通常使用测试集合(testing set)测试模型的性能,以测试误差(testing error)作为泛化误差近似 留出法 将数据集D分为两个互斥的集合,一部分为训练集S,一部分为测试集T。当S较大T较小的时候可能评估不够准确。如果T变大了,那么用S训练的模型可能和用D训练的模型相比差别太大,评估的结果也不够准确。 交叉验证法 将数据集D分为k个互斥的集合,将k-1个子集作为训练集,剩下的集合做为测试集合,这样就可以获得k组数据,最终返回这k组数据测试结果的平均值。极端情况就是留一法,留一法结果更为准确,但是计算开销大。 自助法 采用自助采样法(bootstrapping)有放回的采样一个新的数据集D′D'。用这个新数据集做训练,剩下的做测试。优点:该方法在数据集较小,难以有效的划分训练/测试集的时候有用。缺点:改变初始数据集分布,引入估计偏差。 调参与最终模型 算法参数(parameter)对算法的性能有很大影响。除了对算法进行选择,还需要对参数进行调整,就是调参(parameter tuning)。其中在对模型利用验证集对模型评估选择之后,确定模型和参数配置后,需要用数据集D整体重新训练一次模型才能进行测试,这才是最后提交的模型。模型评估时用的数据为了区分,称为验证集(validation set)。用验证集来评估算法的选择和调参,用测试集来评估算法的泛化性能。 性能度量 性能度量(perfomance measure):衡量模型泛化能力的评价标准 回归任务中最常用的性能度量是mse 均方误差: E(f;D)=1m∑i=1m(f(xi)−yi)2E(f ; D)=\frac{1}{m} \sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2}更一般的可以写成: E(f;D)=∫x∼D(f(x)−y)2p(x)dxE(f ; D)=\int_{x \sim D}(f(x)-y)^{2} p(x) d x错误率与精度 最常用的两种性能度量:错误率和精度 错误率:E(f;D)=1m∑i=1mI(f(xi)≠yi)E(f ; D)=\frac{1}{m} \sum_{i=1}^{m} I\left(f\left(x_{i}\right) \neq y_{i}\right) 精度:acc⁡(f;D)=1m∑i=1mI(f(xi)=yi)=1−E(f;D)\begin{aligned} \operatorname{acc}(f ; D) &=\frac{1}{m} \sum_{i=1}^{m} \mathbb{I}\left(f\left(x_{i}\right)=y_{i}\right) \\ &=1-E(f ; D) \end{aligned} 查准率、查全率与F1 在信息检索领域,通常关心“检索的信息有多少用户感兴趣”,“用户感兴趣的有多少被检索”。因此有查准率(precision)和查全率(recall)的概念。 二分类问题, 查准率 = 真正例/(真正例+假正例) 查全率 = 真正例/(真正例+假反例) ...

June 24, 2020 · 2 分钟 · 290 字

关于联邦学习的个性化能力综述

Abstract 联邦学习的目的是为了能够获得一个共享的全局模型,供所有节点使用。但是由于Non-IID的数据分布,导致很多时候,有些仅采用本地数据训练的本地模型的表现反而优与全局模型,这使得这些节点不太愿意参与到这个联邦的过程中。本文会介绍一些目前用于对全局模型进行个性化定制来提升在独立节点上的效果的技术。 Introduction 联邦学习是一种针对Non-IID数据的分布式机器学习算法,它能够在不需要分享各自节点的数据的情况下使得多个节点协同训练一个共享的全局模型。在每一轮的训练开始,中心节点服务器会向每个节点传送当前的全局模型,每个节点会将模型在本地节点的数据上进行训练。然后中心节点会从所有的节点中收集模型的更新数据并更新到中心节点的全局模型。 节点参与联邦学习的主要目的是为了能够获得更好的模型。当节点的数据量不充分的时候,无法得到一个比较好的本地模型时,就能够通过联邦学习获得一个不错的模型。但是对于那些拥有充分数据的节点来说,联邦学习的好处还存在疑问。Yu在Salvaging Federated Learning by Local Adaptation文中提到,对于许多task来说,有些节点因为全局共享模型不如本地数据训练出来的模型而无法获得好处。Hanzely则在Federated Learning of a Mixture of Global and Local Models文中质疑全局模型的和用户的经典使用用途偏离的太远。 本文的目的是调研近期针对于本地节点构建个性化模型的技术,这些个性化模型在本地节点表现需要由于全局共享模型,或者是本地节点所训练出来的模型。 Need for Personalization Wu在Personalized federated learning for intelligent iot applications中阐述了联邦学习系统面对个性化问题的主要的三个挑战 设备在存储计算和通信能力方面的异构性。 由于NonIID分布导致的数据异构性。 由于不同用户环境导致需要不同模型而产生的模型异构性。 为了解决数据异构和NonIID数据所带来的挑战,对于全局模型global model的个性化变的越来越重要。大部分的个性化技术通常包括两个步骤。1. 利用各节点协作的方式学习一个global全局模型 2. 利用每个节点的隐私数据对global全局模型进行个性化定制。Jiang认为仅仅依靠全局模型的准确度进行优化难以产生个性化较好的模型,并提出,为了能够使得联邦学习的个性化在实际中得到利用,必须同时并不独立的解决以下三个目标。 建立改进的个性化模型,能够使得大多数节点受益 建立更准确的全局模型,对于少量数据的节点可以更好的进行个性化 能够在少量的训练轮次中实现模型的快速收敛 此外,本地模型中的数据可能只有一部分的样本和特定的任务相关,而且的样本都是无关样本,会影响模型的训练。Tuor提出了一种方法,其中使用基于小型benchmark构建的相关性模型来区分相关样本和不相关样本,然后在联邦学习过程中仅使用相关样本。 Techniques Adding User Context 在介绍针对各个节点个性化全局模型的方法之前,先必须指出一点就是共享的全局模型也可以进行高度个性化的预测,前提是如果将节点的context和personal information进行适当地特征化,并整合到数据集当中。但是大多数的公共数据集不包含上下文特征,开发能够有效合并上下文内容的技术仍然是一个重要的开放问题,而这个技术具有能够提升联邦学习模型的巨大潜力。与此同时,是否可以在不对隐私造成不利影响的情况下进行这种背景的特征化还有待研究。作为单个全局模型和纯粹的本地模型的中间方法,Masour在Three approaches for personalization with applications to federated learning建议用户进行聚类,将相似的客户分组在一起,并且为每个组训练一个单独的模型。 Transfer Learning 迁移学习可以使得深度学习模型利用在解决A问题上所获得的的能力来解决另一个相关问题。Schneider和Vlachos在Mass personalization of deep learning讨论了使用迁移学习来实现在非联邦环境下的模型个性化。迁移学习也同样被应用于联邦环境中。Wang在Federated evalua- tion of on-device personalization提出将训练后的全局模型的某些或者全部参数将根据本地数据进行重新学习。在前面的引用中提供了其理论依据。通过使用经过训练的全局模型的参数来初始化对本地数据的训练,迁移学习能够利用全局模型所提取的知识,而不需要从头开始学习。同时为了避免灾难性以往的问题,必须要注意,不能对本地数据进行太长时间的再训练/finetune。有一种变体的技术是将全局模型的基础网络层进行freeze,仅仅根据本地数据对top层进行训练。(类似冻结feature层,finetune全连接层) Multi-task Learning 在多任务学习当中,模型可以通过联合学习来利用任务之间的共性和差异从而同时解决多个相关任务。Smith在Federated multi-task learning文中展示了多任务学习是一种天然的选择去构建个性化的联邦模型,并开发了MOCHA算法。然而在联邦环境中使用多任务学习有一个缺点是,由于它会为每个任务生成一个模型,因此所有节点都必须参与每一轮的训练。 ...

April 29, 2020 · 1 分钟 · 124 字

关于联邦学习的个性化能力综述

关于联邦学习个性化的综述 Abstract 联邦学习的目的是为了能够获得一个共享的全局模型,供所有节点使用。但是由于Non-IID的数据分布,导致很多时候,有些仅采用本地数据训练的本地模型的表现反而优与全局模型,这使得这些节点不太愿意参与到这个联邦的过程中。本文会介绍一些目前用于对全局模型进行个性化定制来提升在独立节点上的效果的技术。 Introduction 联邦学习是一种针对Non-IID数据的分布式机器学习算法,它能够在不需要分享各自节点的数据的情况下使得多个节点协同训练一个共享的全局模型。在每一轮的训练开始,中心节点服务器会向每个节点传送当前的全局模型,每个节点会将模型在本地节点的数据上进行训练。然后中心节点会从所有的节点中收集模型的更新数据并更新到中心节点的全局模型。 节点参与联邦学习的主要目的是为了能够获得更好的模型。当节点的数据量不充分的时候,无法得到一个比较好的本地模型时,就能够通过联邦学习获得一个不错的模型。但是对于那些拥有充分数据的节点来说,联邦学习的好处还存在疑问。Yu在Salvaging Federated Learning by Local Adaptation文中提到,对于许多task来说,有些节点因为全局共享模型不如本地数据训练出来的模型而无法获得好处。Hanzely则在Federated Learning of a Mixture of Global and Local Models文中质疑全局模型的和用户的经典使用用途偏离的太远。 本文的目的是调研近期针对于本地节点构建个性化模型的技术,这些个性化模型在本地节点表现需要由于全局共享模型,或者是本地节点所训练出来的模型。 Need for Personalization Wu在Personalized federated learning for intelligent iot applications中阐述了联邦学习系统面对个性化问题的主要的三个挑战 设备在存储计算和通信能力方面的异构性。 由于NonIID分布导致的数据异构性。 由于不同用户环境导致需要不同模型而产生的模型异构性。 为了解决数据异构和NonIID数据所带来的挑战,对于全局模型global model的个性化变的越来越重要。大部分的个性化技术通常包括两个步骤。1. 利用各节点协作的方式学习一个global全局模型 2. 利用每个节点的隐私数据对global全局模型进行个性化定制。Jiang认为仅仅依靠全局模型的准确度进行优化难以产生个性化较好的模型,并提出,为了能够使得联邦学习的个性化在实际中得到利用,必须同时并不独立的解决以下三个目标。 建立改进的个性化模型,能够使得大多数节点受益 建立更准确的全局模型,对于少量数据的节点可以更好的进行个性化 能够在少量的训练轮次中实现模型的快速收敛 此外,本地模型中的数据可能只有一部分的样本和特定的任务相关,而且的样本都是无关样本,会影响模型的训练。Tuor提出了一种方法,其中使用基于小型benchmark构建的相关性模型来区分相关样本和不相关样本,然后在联邦学习过程中仅使用相关样本。 Techniques Adding User Context 在介绍针对各个节点个性化全局模型的方法之前,先必须指出一点就是共享的全局模型也可以进行高度个性化的预测,前提是如果将节点的context和personal information进行适当地特征化,并整合到数据集当中。但是大多数的公共数据集不包含上下文特征,开发能够有效合并上下文内容的技术仍然是一个重要的开放问题,而这个技术具有能够提升联邦学习模型的巨大潜力。与此同时,是否可以在不对隐私造成不利影响的情况下进行这种背景的特征化还有待研究。作为单个全局模型和纯粹的本地模型的中间方法,Masour在Three approaches for personalization with applications to federated learning建议用户进行聚类,将相似的客户分组在一起,并且为每个组训练一个单独的模型。 Transfer Learning 迁移学习可以使得深度学习模型利用在解决A问题上所获得的的能力来解决另一个相关问题。Schneider和Vlachos在Mass personalization of deep learning讨论了使用迁移学习来实现在非联邦环境下的模型个性化。迁移学习也同样被应用于联邦环境中。Wang在Federated evalua- tion of on-device personalization提出将训练后的全局模型的某些或者全部参数将根据本地数据进行重新学习。在前面的引用中提供了其理论依据。通过使用经过训练的全局模型的参数来初始化对本地数据的训练,迁移学习能够利用全局模型所提取的知识,而不需要从头开始学习。同时为了避免灾难性以往的问题,必须要注意,不能对本地数据进行太长时间的再训练/finetune。有一种变体的技术是将全局模型的基础网络层进行freeze,仅仅根据本地数据对top层进行训练。(类似冻结feature层,finetune全连接层) ...

April 29, 2020 · 1 分钟 · 125 字