分布式多任务学习论文阅读(四):去偏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 神 ...
随机推荐
- 新一代数据科学ide平台DataSpell提前发行版体验
1 简介 PyCharm开发公司jetbrains专门面向数据科学的ide项目DataSpell在前不久发布了其EAP版本(早期预览版本),为我们带来了诸多趋于成熟的功能特性,本文就将为大家介绍其使用 ...
- 升级更新 Windows10
升级更新 Windows10:获取 Windows 更新助手 升级 Windows10,它是先下载 Windows10 系统镜像,然后才升级.在下载完 Windows10 后,升级前,有一步骤会询问: ...
- 请问:c语言中d=1/3*3.0;与d=1.0/3*3;d=?有什么区别
请问:c语言中d=1/33.0;与d=1.0/33;d=?有什么区别 d=1/33.0; 这时d=0,d=(1/3)3.0,这里1是整形,1/3也是整形,等于0,所以03.0=0 d=1.0/33; ...
- c语言中“ld返回值1退回状态”
在c语言运行中我们经常会看到error:ld return 1 exit status的运行错误,其翻译为"ld返回值1退回状态".在生成程序时.有多个工具参与到步骤的运行中以创建 ...
- 用例图示例:使用系统边界表示多个项目 / Using System Boundary to model Multiple Projects in Use Case Diagram
什么是用例图? 用例是一种捕获系统功能需求的技术.用例描述了一个独立于实现细节的期望行为.用例的目标是捕获用户设想的所有系统级功能.从用户的角度来看,用例是关于系统应该做什么的.用例捕获系统利益相关者 ...
- 欧姆龙PLC HostLink协议整理
欧姆龙PLC HostLink协议整理 1.常用的存储器功能区 CIO: 输入继电器 272 点(17 CH) 0.00-16.15 输出继电器 272 点(17 CH) 100.00-116.1 ...
- C语言零基础入门难发愁,那就快来看看这篇基础整理资料吧
C语言程序的结构认识 用一个简单的c程序例子,介绍c语言的基本构成.格式.以及良好的书写风格,使小伙伴对c语言有个初步认识. 例1:计算两个整数之和的c程序: #include main() { in ...
- 六步教你如何用PADS进行PCB设计?
在使用PADS进行PCB设计的过程中,需要对印制板的设计流程以及相关的注意事项进行重点关注,这样才能更好的为工作组中的设计人员提供系统的设计规范,同时也方便设计人员之间进行相互的交流和检查. 02 设 ...
- MyBatis源码分析(四):SQL执行过程分析
一.获取Mapper接口的代理 根据上一节,Mybatis初始化之后,利用sqlSession(defaultSqlSession)的getMapper方法获取Mapper接口 1 @Override ...
- hdu 5108 Alexandra and Prime Numbers(水题 / 数论)
题意: 给一个正整数N,找最小的M,使得N可以整除M,且N/M是质数. 数据范围: There are multiple test cases (no more than 1,000). Each c ...