上一页 1 ··· 7 8 9 10 11 12 13 14 下一页
摘要: 联邦学习:按病态非独立同分布划分Non-IID样本 我们在博文《联邦学习:按Dirichlet分布划分Non-IID样本》中已经介绍了按照Dirichlet分布划分non-IID样本。然而联邦学习最开始采用的数据划分方法却不是这种。这里我们重新回顾联邦学习开山论文[1],它所采用的的是一种病态独立同分布(Pathological Non-IID)划分算法。以下我们以CIFAR10数据集的生成为例,来详细地对该论文的数据集划分与采样算法进行分析。如果选择这种划分方式,需要指定则每个client上数据集所需要的标签类型数做为超参, 阅读全文
posted @ 2021-12-01 22:47 orion-orion 阅读(2477) 评论(3) 推荐(0) 编辑
摘要: 多任务学习中的数据分布问题 今天这个专题源于我在做联邦/分布式多任务学习实验时在选取数据集的时候的疑惑,以下我们讨论多任务学习中(尤其是在分布式的环境下)如何选择数据集和定义任务。多任务学习最初的定义是:"多任务学习是一种归纳迁移机制,基本目标是提高泛化性能。多任务学习通过相关任务训练信号中的领域特定信息来提高泛化能力,利用共享表示采用并行训练的方法学习多个任务"。然而其具体实现手段却有许多(如基于神经网络的和不基于神经网络的,这也是容易让人糊涂的地方),但是不管如何,其关键点——**共享表示**是核心。 阅读全文
posted @ 2021-11-29 22:50 orion-orion 阅读(767) 评论(1) 推荐(2) 编辑
摘要: Linux:超算云(GPU服务器)环境配置 最近在用并行超算云GPU服务器(中国国家网格12区)搭建毕设的环境,这里记录一下。首先,超算云服务器的登录可以采用网页版、也可以采用客户端。需要注意的是,并行超算云只提供windows和mac的客户端,Linux用户可能只有使用网页版的界面了(或者用pappcloud直接远程练ssh用vim写:( 哈哈)。 超算云上最常见的是用module进行包管理。我们可以用module avail命令来查看现有的包。 阅读全文
posted @ 2021-11-28 22:08 orion-orion 阅读(1320) 评论(1) 推荐(0) 编辑
摘要: 联邦学习常用数据集 今天开始跑联邦学习论文实验了,这里介绍一下论文的常用数据集(因为我的研究领域是联邦/分布式学习,所以下面列出的数据集可能偏向这方面,做其他方向的童鞋参考下就好)。 阅读全文
posted @ 2021-11-28 12:24 orion-orion 阅读(3145) 评论(1) 推荐(1) 编辑
摘要: 分布式多任务学习:论文总结归纳和展望 做为最后一篇分布式多任务学习的论文阅读记录,我决定对我目前为止粗读和精读的论文进行一次总结,然后陈述一些个人对该研究领域的见解和想法。目前已经有许多论文对多任务学习提出了并行化策略,我们可以大致概括如下几类:(1) 基于近端梯度的同步算法 (2) 基于近端梯度的异步算法 (3) 基于分解代理损失函数的算法 (4) 基于本地去偏估计的算法。⽬前关于不同的损失函数和不同的正则项已经有很多学者做过了,不过⽬前基于任务簇/层次化的多任务学习⽅法还没有⼈对专门其并⾏化。 阅读全文
posted @ 2021-11-12 21:02 orion-orion 阅读(1449) 评论(1) 推荐(1) 编辑
摘要: 分布式多任务学习:去偏Lasso实现高效通信 在分布式的环境中,已有的基于近端梯度的同步/异步优化算法需要多轮的通信,时间开销较大。这样,如何实现机器间的有效通信是我们必须要想办法解决该问题。论文《distributed multitask learning》提出的算法介于传统的近端梯度优化算法和local lasso之间,其计算只需要一轮通信,但仍然保证了使用group regularization所带来的统计学效益。 阅读全文
posted @ 2021-11-10 20:48 orion-orion 阅读(440) 评论(1) 推荐(0) 编辑
摘要: 分布式多任务学习:代理损失函数进行任务分解 实现多任务学习的一种典型的方法为增加一个正则项,写为f(W)+g(W)形式,目标函数中的f(W)很容易并行化,但是一般g(W)就很难并行化了,那么如何解决这个问题呢?答案是运用一个可以分解的代理损失函数来替换掉原始的目标函数。我们接下来就以论文《Parallel Multi-Task Learning》[4](zhang 2015c等人)为例来介绍该思想。该论文MTLR模型[5](zhang 2015a)的基础上利用FISTA算法设计代理损失函数,该代理函数可以依据学习任务进行分解,从而并行计算。 阅读全文
posted @ 2021-11-05 11:10 orion-orion 阅读(472) 评论(1) 推荐(0) 编辑
摘要: Python:闭包和保存自由变量 有时我们会定义只有一个方法(除了"__init__()"之外)的类,而这种类可以通过使用闭包(closure)来替代。闭包是被外层函数包围的内层函数,它能够获取外层函数范围中的变量(即使外层函数已执行完毕)。因此闭包可以保存额外的变量环境,用于在函数调用时使用。一般来说,闭包内层定义的变量对外界来说是完全隔离的,如果想要访问和修改它们,需要编写存取函数(accessor function, 即getter/setter方法),并将它们做为函数属性附加到闭包上来提供对内层变量的访问支持。 阅读全文
posted @ 2021-11-03 16:15 orion-orion 阅读(768) 评论(1) 推荐(0) 编辑
摘要: 分布式多任务学习:同步和异步优化算法 对于多任务学习,当任务数量很大时,其计算复杂度很高,此时需要用多CPU/多GPU对学习算法进行加速,尽量使𝐾个任务的梯度的计算分摊到𝐾个不同的工作节点(worker)上。但实际上由于正则项的存在和损失函数的复杂性,想做到这个需要我们仔细地设计并行多任务学习算法,在保证算法加速的同时而尽量不影响优化算法最终的收敛,并保证优化算法结果的一致性。我们将会从MTL的单机优化方法开始,逐步说明分布式优化的必要性并先后介绍它的两种主要实现手段——同步分布式优化算法和异步分布式优化算法。 阅读全文
posted @ 2021-10-30 22:15 orion-orion 阅读(1110) 评论(1) 推荐(0) 编辑
摘要: 并行计算:高性能计算学习路线(针对大二同学) 给组里高性能计算方向同学拟的学习路线,包括基础课程、常备文档和手册、开源项目三个部分组成。基础课程包括“(并行)算法设计与分析”、“数值算法”、计算机系统、操作系统和并行体系结构与编程,常备文档和手册包括了C/C++语言文档、CUDA文档、MPI文档、Unix编程文档和太湖之光平台的文档等。开源项目包括了基础课程的习题解答与lab代码、一些并行算法优化样例以及一些并行计算相关比赛的项目实战。 阅读全文
posted @ 2021-10-30 16:01 orion-orion 阅读(5035) 评论(5) 推荐(2) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 下一页