<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Paper on eree's blog</title><link>https://blog.ereebay.me/tags/paper/</link><description>Recent content in Paper on eree's blog</description><generator>Hugo</generator><language>zh-cn</language><copyright>2020-2026 eree&amp;rsquo;s blog</copyright><lastBuildDate>Wed, 24 Jun 2020 18:55:03 +0800</lastBuildDate><atom:link href="https://blog.ereebay.me/tags/paper/index.xml" rel="self" type="application/rss+xml"/><item><title>【论文】TOWARDS FASTER AND BETTER FEDERATED LEARNING A FEATURE FUSION APPROACH阅读笔记</title><link>https://blog.ereebay.me/posts/fedfusion/</link><pubDate>Wed, 24 Jun 2020 18:55:03 +0800</pubDate><guid>https://blog.ereebay.me/posts/fedfusion/</guid><description>&lt;h1 id="towards-faster-and-better-federated-learning-a-feature-fusion-approach"&gt;TOWARDS FASTER AND BETTER FEDERATED LEARNING: A FEATURE FUSION APPROACH&lt;/h1&gt;
&lt;h2 id="abstract"&gt;Abstract&lt;/h2&gt;
&lt;p&gt;本文主要提出一种特征融合的方式，来加速并且提升联邦学习的性能。&lt;/p&gt;
&lt;!-- more --&gt;
&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;如今许多智能设备依赖于预训练模型，这使得机器的推断能力缺乏个性化和灵活性。与此同时，智能终端同时还产生了大量有效的隐私数据，这些数据能够提升这些模型的个性化能力。联邦学习，一种能够直接在终端上对模型进行训练的一种分布式训练算法解决了这个问题。其中以FedAvg算法为代表的的联邦学习算法有效的缓解了在信息交流上的隐私问题，但是后来也有研究表明，联邦学习仍然存在诸如：&lt;strong&gt;计算消耗&lt;/strong&gt;，&lt;strong&gt;模型准确率。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;本文提出了一种融合特征的联邦学习算法FedFusion，该算法将global模型和local模型的特征进行融合。本文的主要的三个贡献点：1. 引入特征融合机制 2. 将本地模型和全局模型的特征以一种有效的并且个性化的方式进行融合 3. 实验表明模型在准确率和泛化能力上都优于baseline并且减少了60%以上的通信量。&lt;/p&gt;
&lt;h2 id="related-work"&gt;Related Work&lt;/h2&gt;
&lt;p&gt;主要就是Federated Learning的FedAVG算法，不多赘述&lt;/p&gt;
&lt;h2 id="methods"&gt;Methods&lt;/h2&gt;
&lt;p&gt;主要分为特征融合模块和FedFusion算法&lt;/p&gt;
&lt;h3 id="feature-fusion-modules"&gt;Feature Fusion Modules&lt;/h3&gt;
&lt;p&gt;&lt;img alt="fedfusion1" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion1.png"&gt;&lt;/p&gt;
&lt;p&gt;图中的蓝色特征是local模型提取的两通道特征，灰色的是global模型提取的两通道特征。图中表示了三种特征融合的方式：Conv， Multi， Single。&lt;/p&gt;
&lt;p&gt;Conv：&lt;/p&gt;
&lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;F&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;W&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mi mathvariant="normal"&gt;∥&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;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)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;p&gt;其中 &lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;W&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;c&lt;/mi&gt;&lt;mi&gt;o&lt;/mi&gt;&lt;mi&gt;n&lt;/mi&gt;&lt;mi&gt;v&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;W_{c o n v}&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;表示shape 为2C*C的可学习的权重矩阵。具体操作就是将global特征和local特征进行concat后进行卷积操作。&lt;/p&gt;
&lt;p&gt;Multi：&lt;/p&gt;
&lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;F&lt;/mi&gt;&lt;mrow&gt;&lt;mi&gt;m&lt;/mi&gt;&lt;mi&gt;u&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;mi&gt;t&lt;/mi&gt;&lt;mi&gt;i&lt;/mi&gt;&lt;/mrow&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;λ&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;λ&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;F_{m u l t i}\left(E_{l}(x), E_{g}(x)\right)=\lambda E_{g}(x)+(1-\lambda) E_{l}(x)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;p&gt;乘法操作就是用一个lambda权重矩阵来对local和global进行一个加权求和。&lt;/p&gt;
&lt;p&gt;Single：&lt;/p&gt;
&lt;span class="katex"&gt;&lt;math xmlns="http://www.w3.org/1998/Math/MathML"&gt;&lt;semantics&gt;&lt;mrow&gt;&lt;msub&gt;&lt;mi&gt;F&lt;/mi&gt;&lt;mtext&gt;single&lt;/mtext&gt;&lt;/msub&gt;&lt;mrow&gt;&lt;mo fence="true"&gt;(&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo separator="true"&gt;,&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo fence="true"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;mo&gt;=&lt;/mo&gt;&lt;mi&gt;λ&lt;/mi&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;g&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;mo&gt;+&lt;/mo&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mn&gt;1&lt;/mn&gt;&lt;mo&gt;−&lt;/mo&gt;&lt;mi&gt;λ&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;msub&gt;&lt;mi&gt;E&lt;/mi&gt;&lt;mi&gt;l&lt;/mi&gt;&lt;/msub&gt;&lt;mo stretchy="false"&gt;(&lt;/mo&gt;&lt;mi&gt;x&lt;/mi&gt;&lt;mo stretchy="false"&gt;)&lt;/mo&gt;&lt;/mrow&gt;&lt;annotation encoding="application/x-tex"&gt;F_{\text {single}}\left(E_{l}(x), E_{g}(x)\right)=\lambda E_{g}(x)+(1-\lambda) E_{l}(x)&lt;/annotation&gt;&lt;/semantics&gt;&lt;/math&gt;&lt;/span&gt;&lt;p&gt;加法操作是用一个标量lambda权重来对local和global进行一个加权求和。&lt;/p&gt;
&lt;h3 id="fedfusion"&gt;FedFusion&lt;/h3&gt;
&lt;p&gt;&lt;img alt="fedfusion2" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion2.png"&gt;&lt;/p&gt;
&lt;p&gt;训练流程就是利用上一轮的global模型的特征来参与本轮的模型特征聚合训练。&lt;/p&gt;
&lt;h2 id="experiment"&gt;Experiment&lt;/h2&gt;
&lt;h3 id="experiment-setup"&gt;Experiment setup&lt;/h3&gt;
&lt;p&gt;数据集： Mnist， Cifar10&lt;/p&gt;</description><content:encoded><![CDATA[<h1 id="towards-faster-and-better-federated-learning-a-feature-fusion-approach">TOWARDS FASTER AND BETTER FEDERATED LEARNING: A FEATURE FUSION APPROACH</h1>
<h2 id="abstract">Abstract</h2>
<p>本文主要提出一种特征融合的方式，来加速并且提升联邦学习的性能。</p>
<!-- more -->
<h2 id="introduction">Introduction</h2>
<p>如今许多智能设备依赖于预训练模型，这使得机器的推断能力缺乏个性化和灵活性。与此同时，智能终端同时还产生了大量有效的隐私数据，这些数据能够提升这些模型的个性化能力。联邦学习，一种能够直接在终端上对模型进行训练的一种分布式训练算法解决了这个问题。其中以FedAvg算法为代表的的联邦学习算法有效的缓解了在信息交流上的隐私问题，但是后来也有研究表明，联邦学习仍然存在诸如：<strong>计算消耗</strong>，<strong>模型准确率。</strong></p>
<p>本文提出了一种融合特征的联邦学习算法FedFusion，该算法将global模型和local模型的特征进行融合。本文的主要的三个贡献点：1. 引入特征融合机制 2. 将本地模型和全局模型的特征以一种有效的并且个性化的方式进行融合 3. 实验表明模型在准确率和泛化能力上都优于baseline并且减少了60%以上的通信量。</p>
<h2 id="related-work">Related Work</h2>
<p>主要就是Federated Learning的FedAVG算法，不多赘述</p>
<h2 id="methods">Methods</h2>
<p>主要分为特征融合模块和FedFusion算法</p>
<h3 id="feature-fusion-modules">Feature Fusion Modules</h3>
<p><img alt="fedfusion1" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion1.png"></p>
<p>图中的蓝色特征是local模型提取的两通道特征，灰色的是global模型提取的两通道特征。图中表示了三种特征融合的方式：Conv， Multi， Single。</p>
<p>Conv：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>F</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>v</mi></mrow></msub><mrow><mo fence="true">(</mo><msub><mi>E</mi><mi>l</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo separator="true">,</mo><msub><mi>E</mi><mi>g</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo fence="true">)</mo></mrow><mo>=</mo><msub><mi>W</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>v</mi></mrow></msub><mrow><mo fence="true">(</mo><msub><mi>E</mi><mi>g</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mi mathvariant="normal">∥</mi><msub><mi>E</mi><mi>l</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo fence="true">)</mo></mrow></mrow><annotation encoding="application/x-tex">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)</annotation></semantics></math></span><p>其中 <span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>W</mi><mrow><mi>c</mi><mi>o</mi><mi>n</mi><mi>v</mi></mrow></msub></mrow><annotation encoding="application/x-tex">W_{c o n v}</annotation></semantics></math></span>表示shape 为2C*C的可学习的权重矩阵。具体操作就是将global特征和local特征进行concat后进行卷积操作。</p>
<p>Multi：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>F</mi><mrow><mi>m</mi><mi>u</mi><mi>l</mi><mi>t</mi><mi>i</mi></mrow></msub><mrow><mo fence="true">(</mo><msub><mi>E</mi><mi>l</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo separator="true">,</mo><msub><mi>E</mi><mi>g</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo fence="true">)</mo></mrow><mo>=</mo><mi>λ</mi><msub><mi>E</mi><mi>g</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo stretchy="false">)</mo><msub><mi>E</mi><mi>l</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F_{m u l t i}\left(E_{l}(x), E_{g}(x)\right)=\lambda E_{g}(x)+(1-\lambda) E_{l}(x)</annotation></semantics></math></span><p>乘法操作就是用一个lambda权重矩阵来对local和global进行一个加权求和。</p>
<p>Single：</p>
<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><msub><mi>F</mi><mtext>single</mtext></msub><mrow><mo fence="true">(</mo><msub><mi>E</mi><mi>l</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo separator="true">,</mo><msub><mi>E</mi><mi>g</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo fence="true">)</mo></mrow><mo>=</mo><mi>λ</mi><msub><mi>E</mi><mi>g</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mn>1</mn><mo>−</mo><mi>λ</mi><mo stretchy="false">)</mo><msub><mi>E</mi><mi>l</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding="application/x-tex">F_{\text {single}}\left(E_{l}(x), E_{g}(x)\right)=\lambda E_{g}(x)+(1-\lambda) E_{l}(x)</annotation></semantics></math></span><p>加法操作是用一个标量lambda权重来对local和global进行一个加权求和。</p>
<h3 id="fedfusion">FedFusion</h3>
<p><img alt="fedfusion2" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion2.png"></p>
<p>训练流程就是利用上一轮的global模型的特征来参与本轮的模型特征聚合训练。</p>
<h2 id="experiment">Experiment</h2>
<h3 id="experiment-setup">Experiment setup</h3>
<p>数据集： Mnist， Cifar10</p>
<p>数据分割方式：</p>
<ol>
<li>人工的noniid分割方式，每个节点仅包含两种类别</li>
<li>用户分割的noniid方式，每个节点包含相似的类别，但是采用不同的分布，类似multi task学习</li>
<li>IID分布</li>
</ol>
<h3 id="artificial-non-iid-partition">Artificial Non-IID Partition</h3>
<p><img alt="fedfusion3" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion3.png"></p>
<p>两次随机的人工noniid采样方式的实验结果。实验结果表明，multi操作的融合方式效果最好，conv融合方式收敛相对快一点点，但是最后效果不如multi，none和single都很一般。</p>
<p>论文的解释是，multi操作可以让模型选择对本地数据有效的feature maps进行融合。而single操作是标量，不能对featuremap的特定某些channel进行选择。</p>
<h3 id="user-specific-non-iid-partition">User-Specific Non-IID Partition</h3>
<p><img alt="fedfusion4" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion4.png"></p>
<p>在准确率方面，fedfusion比fedavg更很高，其中conv的收敛速度更快准确率也更高。</p>
<p><img alt="fedfusion5" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion5.png"></p>
<p>上图展示了FedAvg 和FedFusion在通信量上的减少程度。从结果上来看，在User specific这种noniid场景下，conv的融合方式效果更好。这是因为，在user specific这种noniid模式下，数据的类别是相似的，只是采用了不同的分布。而conv的融合方式拥有更强的整合来自local和global模型的feature map。也就是说不同节点之间的数据分布的知识。</p>
<p><img alt="fedfusion6" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion6.png"></p>
<p>对于泛化能力的影响，当有新的节点加入的时候，Fedfusion只需要60多个local epoch就能达到拟合，拥有相比于其他几种方式更好的初始化。</p>
<h3 id="iid-partition">IID Partition</h3>
<p>作者认为IID的分布也需要进行评估，因为如果不能处理IID分布的策略，其有效性是值得怀疑的。</p>
<p><img alt="fedfusion7" loading="lazy" src="http://cdn.ereebay.me/hexo/fedfusion7.png"></p>
<p>采用multi和conv的融合方式可以在最少的通信消耗情况下达到更好的准确率。就最终的收敛的准确率而言，相比其他的方式有很多提升。</p>
<p>关于三种融合方式做个总结：</p>
<p>multi操作，主要是对local的feature map和global的feature map做出了更灵活的选择，并且更可解释。权重向量的每个channel代表着global feature map对应channel的权重。当数据的类别之间出现gap，multi操作可以选择最有效的feature map进行融合。conv 操作在整合global和local模型的知识上更有效。如果节点上的数据拥有相似的类别，只是不同的分布的话，conv融合方式会更好。single融合方式有微小的提升。</p>
<h2 id="conclusion">Conclusion</h2>
<p>利用feature map的融合，减少了通信量，同时增加了模型效果，同时还提升了新节点的泛化能力。</p>
]]></content:encoded></item></channel></rss>