1.难点-如何实现高效的通信

我们考虑下列的多任务优化问题:

\[ \underset{\textbf{W}}{\min} \sum_{t=1}^{T} [\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \bm{w}_t, \bm{x}_{ti} \rangle)]+\lambda \text{pen}(\textbf{W})
\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问题:

\[ \hat{\textbf{w}}_t = \underset{\textbf{w}_t}{\text{argmin}}\frac{1}{m_t}\sum_{i=1}^{m_t}L(y_{ti}, \langle \textbf{w}_t, \textbf{x}_{ti} \rangle)+\lambda_t ||\textbf{w}_t||_{1}
\]

很遗憾,这种方法虽然做到了不同任务优化的解耦,但本质上变成了单任务学习,没有充分利用好多任务之间的联系(任务之间的练习须依靠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\),它的行是:

\[\begin{aligned}
& \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}\)的估计量:

\[\hat{S}(\Lambda)=\{j \text{ }| \text{ } ||\hat{\textbf{W}}_j^u||_2 > \Lambda \}
\]

参考文献

  • [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实现高效通信的更多相关文章

  1. Android学习总结(四)—— Activity和 Service进行通信

    一.Activity 和 Service进行通信的基本概念 前面我们学习我生命周期里面包含了启动和停止服务的方法,虽然服务器在活动里启动,但在启动了服务之后,活动与服务基本就没有什么关系了.我们在活动 ...

  2. 论文阅读笔记四:CTPN: Detecting Text in Natural Image with Connectionist Text Proposal Network(ECCV2016)

    前面曾提到过CTPN,这里就学习一下,首先还是老套路,从论文学起吧.这里给出英文原文论文网址供大家阅读:https://arxiv.org/abs/1609.03605. CTPN,以前一直认为缩写一 ...

  3. 论文阅读:Face Recognition: From Traditional to Deep Learning Methods 《人脸识别综述:从传统方法到深度学习》

     论文阅读:Face Recognition: From Traditional to Deep Learning Methods  <人脸识别综述:从传统方法到深度学习>     一.引 ...

  4. deepin linux学习笔记(四)进不去图形界面怎么办?

    目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...

  5. 【论文笔记】多任务学习(Multi-Task Learning)

    1. 前言 多任务学习(Multi-task learning)是和单任务学习(single-task learning)相对的一种机器学习方法.在机器学习领域,标准的算法理论是一次学习一个任务,也就 ...

  6. [置顶] 人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)

    这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...

  7. 深度学习论文笔记:Fast R-CNN

    知识点 mAP:detection quality. Abstract 本文提出一种基于快速区域的卷积网络方法(快速R-CNN)用于对象检测. 快速R-CNN采用多项创新技术来提高训练和测试速度,同时 ...

  8. YOLO 论文阅读

    YOLO(You Only Look Once)是一个流行的目标检测方法,和Faster RCNN等state of the art方法比起来,主打检测速度快.截止到目前为止(2017年2月初),YO ...

  9. [DeeplearningAI笔记]ML strategy_2_3迁移学习/多任务学习

    机器学习策略-多任务学习 Learninig from multiple tasks 觉得有用的话,欢迎一起讨论相互学习~Follow Me 2.7 迁移学习 Transfer Learninig 神 ...

随机推荐

  1. g++ 常用命令

    g++ --help

  2. ByteCTF2021 double sqli

    double sqli easy sqli http://39.105.175.150:30001/?id=1 http://39.105.116.246:30001/?id=1 http://39. ...

  3. Java:NIO 学习笔记-1

    Java:NIO 学习笔记-1 说明:本笔记是根据bilibili上 尚硅谷 的课程 NIO视频 而做的笔记 主要内容 Java NIO 简介 Java NIO 与 IO 的主要区别 缓冲区(Buff ...

  4. 微信小程序添加外部地图服务数据

    先上效果: 缘起 使用微信小程序做地图相关功能的时候,有个需求是需要接入自己发布的地图服务.查看微信小程序地图组件文档,发现它对地图相关的支持很少,只有一些基础功能,比如添加点.线.面.气泡和一些常规 ...

  5. the Agiles Scrum Meeting 2

    会议时间:2020.4.10 21:00 1.每个人的工作 今天已完成的工作 yjy:debug:班级创建了个人项目不能访问班级:教师窗口的前端bug. issues:Bug:教师创建博客时显示项目为 ...

  6. ruby基本图片上传

    图片上传问题 在我们的项目里,需要实现海报的图片上传,便于更好地向外界展示一个社团活动的基本内容,但是在处理中间件相关问题时遇到了一点小小的挫折.不过这并不要紧,OSS对象存储服务固然好,但是本着交完 ...

  7. virtual box搭建虚拟机nat和host only网络配置实用

    virtual box搭建虚拟机nat和host only网络配置实用 一.背景 二.需求 二.设置虚拟机的网络 1.创建一个全局的nat网络 2.添加主机网络管理器 3.设置虚拟机网络 1.网卡1设 ...

  8. Spring Security Resource Server的使用

    Spring Security Resource Server的使用 一.背景 二.需求 三.分析 四.资源服务器认证流程 五.实现资源服务器 1.引入jar包 2.资源服务器配置 3.资源 六.测试 ...

  9. 2021.9.13考试总结[NOIP模拟52]

    T1 路径 考虑每一位的贡献,第$i$位每$2^i$个数会变一次,那么答案为$\sum_{i=1}^{log_2n} \frac{n}{2^i}$. $code:$ 1 #include<bit ...

  10. usb设备无法识别

    之前用飞线用旧板子飞线连接了一个wifi模块到usb0口上,调试ok的,现在新设计的板子回来了,wifi模块是连接在usb2口上的,系统起来后发现wlan0不存在,用lsusb查看wifi模块的usb ...