分布式多任务学习论文阅读(四):去偏lasso实现高效通信
1.难点-如何实现高效的通信
我们考虑下列的多任务优化问题:
\tag{1}
\]
这里\(\text{pen}(\mathbf{W})\)是一个用于增强group sparse的正则项(参见联合特征学习(joint feature learning),常为\(l_1/l_2\)、\(l_1/l_{\infin}\)范数的组合,用于只保留对所有任务有用的特征)。比如。在group lasso penalty[1][2] 中使用 \(\text{pen}(\mathbf{W}) =\sum_{t=1}^T||\bm{w}_t||_2 = \sum_{t=1}^T (\sum_{j=1}^d{w}_{jt}^2 )^{1/2}\)(这里\(d\)为特征维度,\(T\)为任务数,\(\bm{w}_t\)为\(\mathbf{W}\)的第\(t\)列); \(\text{iCAP}\)使用\(\text{pen}(\mathbf{W})  = ||\mathbf{W}||_{\infin, 1} = \sum_{j=1}^d||\bm{w}^j||_{\infin}= \sum_{j=1}^d\underset{1\leqslant t \leqslant T}{\text{max}}|w_{jt}|\) [3][4](这里\(\bm{w}^j\)是指\(\mathbf{W}\)的第\(j\)行。注意区分这个和矩阵的\(\infin\)范数,求和与求最大的顺序是不一样的!这里相当于求向量的无穷范数之和),等等。
在分布式的环境中,我们可以按照文章《分布式多任务学习论文阅读(二)同步和异步优化算法》(链接:https://www.cnblogs.com/orion-orion/p/15487700.html)提到的基于近端梯度的同步/异步优化算法来优化问题\((1)\),但是正如我们在该篇博客中所说的,这种方法需要多轮的通信,时间开销较大。这样,如何实现机器间的有效通信是我们必须要想办法解决该问题。
现在的热点解决方案是采用去中心化(decentralize)的思想,即使任务节点绕过主节点,直接利用相邻任务节点的信息,这样可以大大降低通信量[5][6][7]。这种方法我们未来会着重介绍,此时按下不表。
当然,读者可能会思考,我们可以不可以直接每个任务各自优化各的\(l_1\)正则目标函数,即每个任务直接采用近端梯度法求解下列的local lasso问题:
\]
很遗憾,这种方法虽然做到了不同任务优化的解耦,但本质上变成了单任务学习,没有充分利用好多任务之间的联系(任务之间的练习须依靠group sparse正则项\(\text{pen}(\textbf{W})\)来实现)。那么,有没有即能够减少通信次数,又能够保存group regularization的基本作用呢?(暂时不考虑任务节点相互通信的去中心化的方法)
2. 基于去偏lasso模型的分布式算法
论文《distributed multitask learning》[8]提出的算法介于传统的分布式近端梯度法和local lasso之间,其计算只需要一轮通信,但仍然保证了使用group regularization所带来的统计学效益。 该论文提出的算法描述如下:

这里我们特别说明一下第4行的操作,\(m_t^{-1}\mathbf{X}_t^T(\bm{y}_t - \mathbf{X}_t\hat{\bm{w}}_t)\)
是损失函数的次梯度;矩阵\(\textbf{M}_t\in \mathbb{R}^{d \times d}\)是Hessian矩阵的近似逆,\(m_t\)是任务\(t\)对应的样本个数(事实上原论文假定\(m_1=m_2=...=m_T\));节点\(t\)对应的训练数据是\((\mathbf{X}_t, \bm{y}_t)\)。
这种求去偏lasso估计量的方法由最近关于高维统计[9][10][11]的文章提出,这些论文都企图去除引入算法第3行所示的\(l_1\)正则项所导致的偏差(bias),具体方法是运用\(l_1\)正则损失函数关于\(\bm{w}_t\)的次梯度来构造得到参数成分的无偏估计量\(\hat{\bm{w}}^u_t\)。下面我们会参照去偏估计器的采样分布,但我们的最终目标不同。[9][10][11]这三篇论文构造矩阵\(\mathbf{M}\)的方法不同,本篇论文主要参照论文[11]的方法,复合假设。每个机器使用矩阵\(\mathbf{M}_t=(\hat{\bm{m}}_{tj})_{j=1}^d\),它的行是:
& \hat{\bm{m}}_{tj} = \underset{\bm{m}_j \in \mathbb{R}^p}{\text{argmin}} \quad \bm{m}_j^T\hat{\mathbf{\Sigma}_t}\bm{m}_j \\
& \text{s.t.} \quad ||\hat{\mathbf{\Sigma}}_t\bm{m}_j - \bm{e}_j ||_{\infin} \leqslant u.
\end{aligned}
\]
这里\(\bm{e}_j\)是第\(j\)个元素为1其他元素为0的(标准基)向量,\(\hat{\Sigma}_t={m_t}^{-1} \mathbf{X}_t^T\mathbf{X}_t\)。
当每个任务节点得到去偏估计量\(\hat{\bm{w}}_t^u\)后,就会将其送往主节点。在主节点那边,待从所有任务节点收到\(\{\hat{\bm{w}}_t^u\}_{t=1}^T\)后,就来到了第\(12\)行的操作。第\(12\)行的操作在master节点的操作充分利用了不同任务参数之间的共享稀疏性,即主节点将接收到的估计量拼接成矩阵\(\hat{\textbf{W}}^u=(\hat{\bm{w}}_1^u, \hat{\bm{w}}_2^u,..., \hat{\bm{w}}_T^u)\),然后再执行hard thresholding以过得\(\mathbf{S}\)的估计量:
\]
参考文献
- [1] Yuan M, Lin Y. Model selection and estimation in regression with grouped variables[J]. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 2006, 68(1): 49-67.
 - [2] Friedman J, Hastie T, Tibshirani R. A note on the group lasso and a sparse group lasso[J]. arXiv preprint arXiv:1001.0736, 2010.
 - [3] Zhao P, Rocha G, Yu B. The composite absolute penalties family for grouped and hierarchical variable selection[J]. The Annals of Statistics, 2009, 37(6A): 3468-3497.
 - [4] Liu H, Palatucci M, Zhang J. Blockwise coordinate descent procedures for the multi-task lasso, with applications to neural semantic basis discovery[C]//Proceedings of the 26th Annual International Conference on Machine Learning. 2009: 649-656.
 - [5] Zhang C, Zhao P, Hao S, et al. Distributed multi-task classification: A decentralized online learning approach[J]. Machine Learning, 2018, 107(4): 727-747.
 - [6] Yang P, Li P. Distributed primal-dual optimization for online multi-task learning[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(04): 6631-6638.
 - [7] Li J, Abbas W, Koutsoukos X. Byzantine Resilient Distributed Multi-Task Learning[J]. arXiv preprint arXiv:2010.13032, 2020.
 - [8] Wang J, Kolar M, Srerbo N. Distributed multi-task learning[C]//Artificial intelligence and statistics. PMLR, 2016: 751-760.
 - [9] Zhang C H, Zhang S S. Confidence intervals for low dimensional parameters in high dimensional linear models[J]. Journal of the Royal Statistical Society: Series B (Statistical Methodology), 2014, 76(1): 217-242.
 - [10] Van de Geer S, Bühlmann P, Ritov Y, et al. On asymptotically optimal confidence regions and tests for high-dimensional models[J]. The Annals of Statistics, 2014, 42(3): 1166-1202.
 - [11] Javanmard A, Montanari A. Confidence intervals and hypothesis testing for high-dimensional regression[J]. The Journal of Machine Learning Research, 2014, 15(1): 2869-2909.
 - [12] 杨强等. 迁移学习[M].机械工业出版社, 2020.
 
分布式多任务学习论文阅读(四):去偏lasso实现高效通信的更多相关文章
- Android学习总结(四)—— Activity和 Service进行通信
		
一.Activity 和 Service进行通信的基本概念 前面我们学习我生命周期里面包含了启动和停止服务的方法,虽然服务器在活动里启动,但在启动了服务之后,活动与服务基本就没有什么关系了.我们在活动 ...
 - 论文阅读笔记四:CTPN: Detecting Text in Natural Image with Connectionist Text Proposal Network(ECCV2016)
		
前面曾提到过CTPN,这里就学习一下,首先还是老套路,从论文学起吧.这里给出英文原文论文网址供大家阅读:https://arxiv.org/abs/1609.03605. CTPN,以前一直认为缩写一 ...
 - 论文阅读:Face Recognition: From Traditional to Deep Learning Methods  《人脸识别综述:从传统方法到深度学习》
		
论文阅读:Face Recognition: From Traditional to Deep Learning Methods <人脸识别综述:从传统方法到深度学习> 一.引 ...
 - deepin linux学习笔记(四)进不去图形界面怎么办?
		
目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...
 - 【论文笔记】多任务学习(Multi-Task Learning)
		
1. 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就 ...
 - [置顶]
        人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)
		
这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...
 - 深度学习论文笔记:Fast R-CNN
		
知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...
 - YOLO 论文阅读
		
YOLO(You Only Look Once)是一个流行的目标检测方法,和Faster RCNN等state of the art方法比起来,主打检测速度快.截止到目前为止(2017年2月初),YO ...
 - [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习
		
机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神 ...
 
随机推荐
- Java(31)泛型和可变参数
			
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15228443.html 博客主页:https://www.cnblogs.com/testero ...
 - C++ 与 Visual Studio 2019 和 WSL(三)
			
头文件 如果不小心修改了 Linux C/C++ 标准头文件,可以下面这样操作进行恢复: 项目 → 重新扫描解决方案
 - 经典论文系列 | 缩小Anchor-based和Anchor-free检测之间差距的方法:自适应训练样本选择
			
 前言 本文介绍一篇CVPR2020的论文,它在paperswithcode上获得了16887星,谷歌学术上有261的引用次数. 论文主要介绍了目标检测现有的研究进展.anchor-based和 ...
 - 扩展spring data jpa的repository
			
在我们编写代码的过程中,spring data jpa为我们的持久层提供的极大的方便,但有时spring data jpa提供的repository并不能完全满足我们开发的需求,因此就需要进行扩展.s ...
 - 第07课 OpenGL 光照和键盘(2)
			
下一段代码绘制贴图立方体.我只对新增的代码进行注解.如果您对没有注解的代码有疑问,回头看看第六课. int DrawGLScene(GLvoid) // 从这里开始进行所有的绘制 { glClear( ...
 - 第01课 OpenGL窗口(2)
			
下一段包括了所有的绘图代码.任何您所想在屏幕上显示的东东都将在此段代码中出现.以后的每个教程中我都会在例程的此处增加新的代码.如果您对OpenGL已经有所了解的话,您可以在 glLoadIdentit ...
 - (四)FastDFS 高可用集群架构学习---后期运维--基础知识及常用命令
			
1.fastdfs 七种状态 FDFS_STORAGE_STATUS:INIT :初始化,尚未得到同步已有数据的源服务器 FDFS_STORAGE_STATUS:WAIT_SYNC :等待同步,已得到 ...
 - js 基本用法和语法
			
js 基础用法 点击事件 <!-- 第一种点击事件方式 --> <!-- <div class="div" onclick="aler ...
 - 【python】以souhu邮箱为例学习DDT数据驱动测试
			
前言 DDT(Data-Driven Tests)是针对 unittest 单元测试框架设计的扩展库.允许使用不同的测试数据来运行一个测试用例,并将其展示为多个测试用例.通俗理解为相同的测试脚本使用不 ...
 - ES6遍历对象方法
			
ES6 一共有 5 种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性). let obj = {a:1,b:2,c:3 ...