2.793

2018影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于扩散方法的分布式随机变分推断算法

付维明 秦家虎 朱英达

付维明, 秦家虎, 朱英达. 基于扩散方法的分布式随机变分推断算法. 自动化学报, 2020, 41(x): 1−8. doi: 10.16383/j.aas.c200445
引用本文: 付维明, 秦家虎, 朱英达. 基于扩散方法的分布式随机变分推断算法. 自动化学报, 2020, 41(x): 1−8. doi: 10.16383/j.aas.c200445
Fu Wei-Ming, Qin Jia-Hu, Zhu Ying-Da. Distributed stochastic variational inference based on diffusion method. Acta Automatica Sinica, 2020, 41(x): 1−8. doi: 10.16383/j.aas.c200445
Citation: Fu Wei-Ming, Qin Jia-Hu, Zhu Ying-Da. Distributed stochastic variational inference based on diffusion method. Acta Automatica Sinica, 2020, 41(x): 1−8. doi: 10.16383/j.aas.c200445

基于扩散方法的分布式随机变分推断算法


DOI: 10.16383/j.aas.c200445
详细信息
    作者简介:

    中国科学技术大学自动化系博士后. 主要研究方向为多智能体系统一致与物理信息系统安全. Email: fwm1993@ustc.edu.cn

    中国科学技术大学自动化系教授. 主要研究方向为多智能体系统, 复杂动态网络以及物理信息系统. 本文通信作者. Email: jhqin@ustc.edu.cn

    中国科学技术大学自动化系硕士. 主要研究方向为数据挖掘和分布式算法. Email: xy131237@mail.ustc.edu.cn

  • 基金项目:  国家自然科学基金(61873252, 61922076), 霍英东教育基金会高等院校青年教师基金(161059)资助

Distributed Stochastic Variational Inference Based on Diffusion Method

More Information
  • Fund Project:  Supported by National Natural Science Foundation of China (61873252, 61922076), Fok Ying-Tong Education Foundation for Young Teachers in Higher Education Institutions of China (161059)
  • 摘要: 分布式网络上的聚类、估计或推断具有广泛的应用, 因此引起了许多关注. 针对已有的分布式变分贝叶斯(Variational Bayesian, VB)算法效率低, 可扩展性差的问题, 本文借用扩散方法提出了一种新的分布式随机变分推断(Stochastic variational inference, SVI)算法, 其中我们选择自然梯度法进行参数本地更新并选择对称双随机矩阵作为节点间参数融合的系数矩阵. 此外, 我们还为所提出的分布式SVI算法提出了一种对异步网络的适应机制. 最后, 我们在伯努利混合模型(Bernoulli mixture model, BMM)和隐含狄利克雷分布(Latent Dirichlet allocation, LDA)模型上测试所提出的分布式SVI算法的可行性, 实验结果显示其在许多方面的性能优于集中式SVI算法.
  • 图  1  本文考虑的模型的概率图表示

    Fig.  1  The graphic model considered in this paper

    图  2  通信网络拓扑图

    Fig.  2  The topology of the communication network

    图  3  异步分布式SVI算法和集中式SVI算法得到的聚类中心

    Fig.  3  Cluster centers obtained by the asynchronous distributed SVI and the centralized SVI

    图  4  异步分布式SVI算法, dSVB算法, 集中式SVI算法的ELBO的平均值和偏差演化

    Fig.  4  The evolution of the means and deviations of the ELBO for the asynchronous distributed SVI, the dSVB, and the centralized SVI

    图  5  不同 $(\kappa ,\tau )$ 设置下异步分布式SVI和集中式SVI的ELBO的平均值演化

    Fig.  5  The evolution of the means of the ELBO for the asynchronous distributed SVI and the centralized SVI under different settings of $(\kappa ,\tau )$

    图  6  LDA模型的贝叶斯网络结构图

    Fig.  6  The Bayesian graphic model of LDA

    图  7  异步分布式SVI, 集中式SVI和dSVB在两个数据集上的表现

    Fig.  7  Performance of the asynchronous distributed SVI, the centralized SVI, and the dSVB on the two data sets

    图  8  异步分布式SVI和集中式SVI在复旦大学中文文本分类数据集上的表现

    Fig.  8  Performance of the asynchronous distributed SVI and the centralized SVI on the Chinese text classification data set of Fudan University

    图  9  不同超参数设置下异步分布式SVI和集中式SVI在复旦大学中文文本分类数据集上表现

    Fig.  9  Performance of the asynchronous distributed SVI and the centralized SVI on the Chinese text classification data set of Fudan University under different hyperparameter settings

    表  1  LDA模型变量

    Table  1  Variables in LDA model

    变量 $\alpha $ $\eta $ $K$ $D$ $N$ ${\theta _d}$ ${y_{d,n}}$ ${w_{d,n}}$ ${\beta _k}$
    类型 固定参数 固定参数 固定参数 输入参数 输入参数 局部隐藏变量 局部隐藏变量 单词向量 全局隐藏变量
    描述 主题数 文档数 单词数 决定文档的主题分布 单词所属的主题 决定主题的单词分布
    分布 $Dir({\theta _d}|\alpha )$ $Mult({y_{d,n}}|{\theta _d})$ $Mult({w_{d,n}}|{\beta _k},{y_{d,n}})$ $Dir({\beta _k}|\eta )$
    下载: 导出CSV

    表  2  不同参数设置下异步分布式SVI和集中式SVI收敛的值

    Table  2  The convergent values of the asynchronous distributed SVI and the centralized SVI under different parameter settings

    参数设置 $\begin{gathered} \alpha = \eta = 0.4 \\ \kappa = 0.5,\tau = 1 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.8 \\ \kappa = 0.5,\tau = 1 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.4 \\ \kappa = 0.7,\tau = 10 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.8 \\ \kappa = 0.7,\tau = 10 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.4 \\ \kappa = 1,\tau = 100 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.8 \\ \kappa = 1,\tau = 100 \\ \end{gathered} $
    异步分布式SVI -53791.33 -55554.12 -54350.50 -56212.30 -57003.45 -57567.67
    集中式SVI -54198.30 -56327.50 -54776.18 -56721.87 -57805.78 -58191.39
    下载: 导出CSV

    表  3  超参数取值表

    Table  3  The values of hyperparameters

    $\kappa $ $\tau $ batch size $\alpha $ $\eta $
    0.5 1 1 0.1 0.1
    1.0 10 2 0.2 0.2
    - 100 4 - -
    下载: 导出CSV
  • [1] Qin J, Fu W, Gao H, Zheng W X. Distributed k-means algorithm and fuzzy c-means algorithm for sensor networks based on multiagent consensus theory. IEEE Transactions on Cybernetics, 2016, 47(3): 772−783
    [2] 牛建军, 邓志东, 李超. 无线传感器网络分布式调度方法研究. 自动化学报, 2011, 37(5): 517−528

    Niu Jian-Jun, Deng Zhi-Dong, Li Chao. Distributed scheduling approaches in wireless sensor network. Acta Automatica Sinica, 2011, 37(5): 517−528
    [3] Hua J, Li C. Distributed variational Bayesian algorithms over sensor networks. IEEE Transactions on Signal Processing, 2015, 64(3): 783−798
    [4] Corbett J C, Jeffrey D, Michael E, et al. Spanner: Google's globally distributed database. ACM Transactions on Computer Systems, 2013, 31(3): 1−22 doi:  10.1145/2491464
    [5] Mehmood A, Natgunanathan I, Xiang Y, Hua G, Guo S. Protection of big data privacy. IEEE Access, 2016, 4: 1821−1834 doi:  10.1109/ACCESS.2016.2558446
    [6] Liu S, Pan S J, Ho Q. Distributed multi-task relationship learning. In: Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Halifax, Canada, 2017.937−946.
    [7] Wang S, Li C. Distributed robust optimization in networked system. IEEE Transactions on Cybernetics, 2016, 47(8): 2321−2333
    [8] Hong M, Hajinezhad D, Zhao M M. Prox-PDA: The proximal primal-dual algorithm for fast distributed nonconvex optimization and learning over networks. In: Proceedings of the 34th International Conference on Machine Learning, Sydney, Australia, 2017.1529−1538.
    [9] Scardapane S, Fierimonte R, Di Lorenzo P, Panella M, Uncini A. Distributed semi-supervised support vector machines. Neural Networks, 2016, 80: 43−52 doi:  10.1016/j.neunet.2016.04.007
    [10] Aybat N S, Hamedani E Y. A primal-dual method for conic constrained distributed optimization problems. In: Proceedings of Advances in Neural Information Processing Systems, Barcelona, Spain, 2016.5049−5057.
    [11] Anwar H, Zhu Q. ADMM-based networked stochastic variational inference [Online], available: https://arxiv.org/abs/1802.10168v1, February 27, 2018.
    [12] Qin J, Zhu Y, Fu W. Distributed clustering algorithm in sensor networks via normalized information measures. IEEE Transactions on Signal Processing, 2020, 68: 3266−3279 doi:  10.1109/TSP.2020.2995506
    [13] 曲寒冰, 陈曦, 王松涛, 于明. 基于变分贝叶斯逼近的前向仿射变换点集匹配方法研究. 自动化学报, 2015, 41(8): 1482−1494 doi:  10.1016/S1874-1029(15)30001-X

    Qu Han-Bing, Chen Xi, Wang Song-Tao, Yu Ming. Forward affine point set matching under variational Bayesian framework. Acta Automatica Sinica, 2015, 41(8): 1482−1494 doi:  10.1016/S1874-1029(15)30001-X
    [14] Blei D M, Ng A Y, Jordan M I. Latent dirichlet allocation. Journal of Machine Learning Research, 2003, 3(Jan): 993−1022
    [15] Hoffman M D, Blei D M, Wang C, Paisley J. Stochastic variational inference. The Journal of Machine Learning Research, 2013, 14(1): 1303−1347
    [16] Corduneanu A, Bishop C M. Variational Bayesian model selection for mixture distributions. In: Proceedings of Artificial intelligence and Statistics, Waltham, MA: Morgan Kaufmann, 2001.27−34.
    [17] Letham B, Letham L M, Rudin C. Bayesian inference of arrival rate and substitution behavior from sales transaction data with stockouts. In: Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, USA, 2016.1695−1704.
    [18] Safarinejadian B, Menhaj M B. Distributed density estimation in sensor networks based on variational approximations. International Journal of Systems Science, 2011, 42(9): 1445−1457 doi:  10.1080/00207721.2011.565380
    [19] Safarinejadian B, Estahbanati M E. A novel distributed variational approximation method for density estimation in sensor networks. Measurement, 2016, 89: 78−86 doi:  10.1016/j.measurement.2016.03.074
    [20] Mozaffari M, Safarinejadian B. Mobile-agent-based distributed variational Bayesian algorithm for density estimation in sensor networks. IET Science, Measurement and Technology, 2017, 11(7): 861−870 doi:  10.1049/iet-smt.2016.0260
    [21] 张宇, 包研科, 邵良杉, 刘威. 面向分布式数据流大数据分类的多变量决策树. 自动化学报, 2018, 44(6): 1115−1127

    Zhang Yu, Bao Yan-Ke, Shao Liang-Shan, Liu Wei. A multivariate decision tree for big data classification of distributed data streams. Acta Automatica Sinica, 2018, 44(6): 1115−1127
    [22] Mohamad S, Bouchachia A, Sayed-Mouchaweh M. Asynchronous stochastic variational inference. In: Proceedings of INNS Big Data and Deep Learning Conference, Sestri Levante, Italy: Springer, 2019.296−308.
    [23] Boyd S, Parikh N, Chu E, Peleato B, Eckstein J. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends in Machine learning, 2010, 3(1): 1−122 doi:  10.1561/2200000016
    [24] Chen J, Sayed A H. Diffusion adaptation strategies for distributed optimization and learning over networks. IEEE Transactions on Signal Processing, 2012, 60(8): 4289−4305 doi:  10.1109/TSP.2012.2198470
    [25] Wainwright M J, Jordan M I. Graphical models, exponential families, and variational inference. Foundations and Trends in Machine Learning, 2008, 1(1−2): 1−305
    [26] Wright S J. Coordinate descent algorithms. Mathematical Programming, 2015, 151(1): 3−3 doi:  10.1007/s10107-015-0892-3
  • [1] 许龙, 魏颖, 商圣行, 张皓云, 边杰, 徐楚翘. 基于异步相关判别性学习的孪生网络目标跟踪算法[J]. 自动化学报, doi: 10.16383/j.aas.c200237
    [2] 李玉帅, 李天义, 高炜, 高文忠. 基于异步动态事件触发通信策略的综合能源系统分布式协同优化运行方法[J]. 自动化学报, doi: 10.16383/j.aas.c200172
    [3] 杨旭升, 张文安, 俞立. 适用于事件触发的分布式随机目标跟踪方法[J]. 自动化学报, doi: 10.16383/j.aas.2017.c150777
    [4] 熊蜀峰, 姬东鸿. 面向产品评论分析的短文本情感主题模型[J]. 自动化学报, doi: 10.16383/j.aas.2016.c150591
    [5] 席耀一, 李弼程, 李天彩, 黄山奇. 基于词语对狄利克雷过程的时序摘要[J]. 自动化学报, doi: 10.16383/j.aas.2015.c150001
    [6] 刘莉, 万九卿. 视觉传感网络分布式在线数据关联[J]. 自动化学报, doi: 10.3724/SP.J.1004.2014.00117
    [7] 汤文俊, 张国良, 曾静, 孙一杰, 吴晋. 一种适用于稀疏无线传感器网络的改进分布式UIF算法[J]. 自动化学报, doi: 10.3724/SP.J.1004.2014.02490
    [8] 张勇刚, 王程程, 魏野, 李宁, 周卫东. 一种空间分布式变阶数自适应网络滤波算法[J]. 自动化学报, doi: 10.3724/SP.J.1004.2014.01355
    [9] 杨辉, 张芳, 张坤鹏, 李中奇, 付雅婷. 基于分布式模型的动车组预测控制方法[J]. 自动化学报, doi: 10.3724/SP.J.1004.2014.01912
    [10] 蔡星, 谢磊, 苏宏业, 古勇. 基于串联结构的分布式模型预测控制[J]. 自动化学报, doi: 10.3724/SP.J.1004.2013.00510
    [11] 彭钧敏, 王佳楠, 叶旭东. 不确定型网络系统的分布式自适应跟踪控制器[J]. 自动化学报, doi: 10.3724/SP.J.1004.2013.01729
    [12] 郑毅, 李少远. 网络信息模式下分布式系统协调预测控制[J]. 自动化学报, doi: 10.3724/SP.J.1004.2013.01778
    [13] 闵海波, 刘源, 王仕成, 孙富春. 多个体协调控制问题综述[J]. 自动化学报, doi: 10.3724/SP.J.1004.2012.01557
    [14] 洪榛, 俞立, 张贵军. 无线传感器网络自适应分布式聚簇路由协议[J]. 自动化学报, doi: 10.3724/SP.J.1004.2011.01197
    [15] 牛建军, 邓志东, 李超. 无线传感器网络分布式调度方法研究[J]. 自动化学报, doi: 10.3724/SP.J.1004.2011.00517
    [16] 陈杰, 吴狄, 张娟. 分布式仿真系统层次设计商空间粒计算模型[J]. 自动化学报, doi: 10.3724/SP.J.1004.2010.00923
    [17] 牛建军, 邓志东. 基于马尔可夫链的无线传感器网络分布式调度方法[J]. 自动化学报, doi: 10.3724/SP.J.1004.2010.00685
    [18] 文成林, 周东华, 潘泉, 张洪才. 多尺度动态模型单传感器动态系统分布式信息融合[J]. 自动化学报
    [19] 文成林, 潘泉, 张洪才, 戴冠中. 多传感器多模型动态系统多尺度分布式融合估计算法[J]. 自动化学报
    [20] 罗荣富, 邵惠鹤. 分布式网络局部学习方法及其在推断控制中的应用[J]. 自动化学报
  • 加载中
计量
  • 文章访问数:  15
  • HTML全文浏览量:  6
  • 被引次数: 0
出版历程
  • 收稿日期:  2020-06-22
  • 录用日期:  2020-09-22

基于扩散方法的分布式随机变分推断算法

doi: 10.16383/j.aas.c200445
    基金项目:  国家自然科学基金(61873252, 61922076), 霍英东教育基金会高等院校青年教师基金(161059)资助
    作者简介:

    中国科学技术大学自动化系博士后. 主要研究方向为多智能体系统一致与物理信息系统安全. Email: fwm1993@ustc.edu.cn

    中国科学技术大学自动化系教授. 主要研究方向为多智能体系统, 复杂动态网络以及物理信息系统. 本文通信作者. Email: jhqin@ustc.edu.cn

    中国科学技术大学自动化系硕士. 主要研究方向为数据挖掘和分布式算法. Email: xy131237@mail.ustc.edu.cn

摘要: 分布式网络上的聚类、估计或推断具有广泛的应用, 因此引起了许多关注. 针对已有的分布式变分贝叶斯(Variational Bayesian, VB)算法效率低, 可扩展性差的问题, 本文借用扩散方法提出了一种新的分布式随机变分推断(Stochastic variational inference, SVI)算法, 其中我们选择自然梯度法进行参数本地更新并选择对称双随机矩阵作为节点间参数融合的系数矩阵. 此外, 我们还为所提出的分布式SVI算法提出了一种对异步网络的适应机制. 最后, 我们在伯努利混合模型(Bernoulli mixture model, BMM)和隐含狄利克雷分布(Latent Dirichlet allocation, LDA)模型上测试所提出的分布式SVI算法的可行性, 实验结果显示其在许多方面的性能优于集中式SVI算法.

English Abstract

付维明, 秦家虎, 朱英达. 基于扩散方法的分布式随机变分推断算法. 自动化学报, 2020, 41(x): 1−8. doi: 10.16383/j.aas.c200445
引用本文: 付维明, 秦家虎, 朱英达. 基于扩散方法的分布式随机变分推断算法. 自动化学报, 2020, 41(x): 1−8. doi: 10.16383/j.aas.c200445
Fu Wei-Ming, Qin Jia-Hu, Zhu Ying-Da. Distributed stochastic variational inference based on diffusion method. Acta Automatica Sinica, 2020, 41(x): 1−8. doi: 10.16383/j.aas.c200445
Citation: Fu Wei-Ming, Qin Jia-Hu, Zhu Ying-Da. Distributed stochastic variational inference based on diffusion method. Acta Automatica Sinica, 2020, 41(x): 1−8. doi: 10.16383/j.aas.c200445
  • 在大数据时代, 数据通常会被分布式地存储在多个节点上, 例如传感器网络[1-3]和分布式数据库[4]中等, 其中每个节点只拥有部分数据. 考虑到单个节点的存储容量有限以及保护数据隐私或安全的需求[5-6], 通常无法将所有数据都发送给一个中心节点, 然后利用集中式的方法处理这些数据, 因此开发高效的算法对分布式存储的数据进行挖掘已成为当前一个重要的研究方向[7-12].

    变分贝叶斯(Variational Bayesian, VB)推断[13]是一种功能强大的数据挖掘技术, 被广泛用于解决实际问题, 如识别文档主题[14-15], 对数据进行聚类和密度估计[16]以及预测未知数据[17]等. 近年来, 研究者们已提出很多分布式的VB算法[3, 18-20], 然而在大多数这些算法的每步迭代中, 都需要基于整个数据集更新全局参数, 这不仅会导致算法计算代价大、效率低, 还会导致算法可扩展性差, 难以扩展到在线学习或者流数据处理的情况.

    随机变分推断(Stochastic variational inference, SVI)[15]的提出使得贝叶斯推断方法在处理海量数据时具有更高的效率和可扩展性. 它借用了随机优化的方法, 根据基于子样本的噪声自然梯度来优化目标函数, 大大减小了每步迭代时所需的存储量和计算量. 目前已有一些研究者将其扩展为分布式版本, 以提高分布式数据的处理效率以及将其应用于分布式数据流的处理[21]. 具体地, 文献[22]提出了一种有中心的异步分布式SVI算法, 该算法中的中心节点负责收发全局参数, 其余节点并行地更新全局参数. 需要提一下的是, 这类有中心的算法往往会存在鲁棒性差, 链路负载不平衡, 数据安全性差等缺点. 在文献[11]中, 交替方向乘子方法(Alternating direction method of multipliers, ADMM)[23]被用来构造两种无中心的分布式SVI算法, 克服了有中心的算法的缺点, 但它们存在每步迭代中全局参数本地更新所需的计算代价大以及不适用于异步网络的缺点.

    本文以SVI为核心, 借用多智能体一致优化问题中的扩散方法[24], 发展了一种新的无中心的分布式SVI算法, 并针对异步网络提出了一种适应机制. 在所提出的算法中, 我们利用自然梯度法进行全局参数的本地更新, 并选择对称双随机矩阵作为节点间参数融合的系数矩阵, 减小了本地更新的计算代价. 最后, 我们在伯努利混合模型(Bernoulli mixture model, BMM)和隐含狄利克雷分布(Latent Dirichlet allocation, LDA)上验证了所提出的算法的可行性, 实验结果显示所提出的算法在发现聚类模式, 对初始参数依耐性以及跳出局部最优等方面甚至优于集中式SVI算法, 这是以往分布式VB算法所没有表现出来的.

    本文剩余的部分安排如下: 第1节介绍了集中式SVI算法, 第2节介绍本文所提出的分布式SVI算法并给出了一种针对异步网络的适应机制, 第3节展示了在BMM和LDA模型上的实验结果, 第4节对本文工作进行总结.

    • SVI基本模型包含以下这些量: 数据集 ${{x}} = \{ {{{x}}_1}, \cdots ,{{{x}}_N}\}$ , 局部隐藏变量 ${{y}} = \{ {{{y}}_1}, \cdots ,{{{y}}_N}\}$ , 全局隐藏变量 ${\beta }$ 以及模型参数 ${\alpha }$ . 模型的概率图如图1所示, 其中黑色圆圈代表固定参数, 灰色圆圈代表数据集, 白色圆圈代表隐藏变量, 箭头描述了它们之间的依赖关系. 具体地, ${\alpha }$ 直接影响 ${\beta }$ , ${\beta }$ 直接影响局部变量对 $({{{x}}_n},{{{y}}_n})$ . 我们假设全局隐藏变量 ${\beta }$ 的先验分布属于指数族分布且具有如下形式:

      图  1  本文考虑的模型的概率图表示

      Figure 1.  The graphic model considered in this paper

      $$p({\beta };{\alpha }) \propto \exp \left( {{{\alpha }^T}{u}({\beta }) - A({\alpha })} \right),$$ (1)

      其中 ${{u}}({\beta })$ 表示自然参数, $A({\alpha })$ 表示归一化函数; 不同局部变量对 $({{{x}}_n},{{{y}}_n})$ 之间相互独立且其分布也属于指数族分布, 具体形式如下:

      $$p({{{x}}_n},{{{y}}_n}|{\beta }) \propto \exp \left( {{{u}}{{({\beta })}^T}f({{{x}}_n},{{{y}}_n})} \right),$$ (2)

      其中 $f({{{x}}_n},{{{y}}_n})$ 表示自然充分统计量; 此外, 还假设上述两个指数族分布满足共轭条件关系[25], 以使后验分布与先验分布的形式相同. 我们的目标是根据观测到的数据集来估计局部隐藏变量的分布, 即其后验分布 $p({{y}},{\beta }|{{x}})$ .

    • 平均场变分推断是一种用一个可以因式分解的变分分布去近似后验分布的方法. 在上一节介绍的模型基础上, 我们可以用变分分布 $q({{y}},{\beta })$ 来近似 $p({{y}},{\beta }|{{x}})$ , 并假设该变分分布满足以下条件:

      $$q({{y}},{\beta }) = q({\beta }{\rm{;}}{\lambda })\prod\limits_n {q({{{y}}_n};{{\phi }_n})} ,$$ (3)
      $$q({\beta };{\lambda }) \propto \exp \left( {{{\lambda }^T}{{u}}({\beta }) - A({\lambda })} \right),$$ (4)
      $$q({{{y}}_n};{{\phi }_n}) \propto \exp \left( {{{\phi }_n^T}{{u}}({{{y}}_n}) - A({{\phi }_n})} \right),$$ (5)

      其中 ${\lambda }$ ${\phi } = \{ {{\phi }_1},{{\phi }_2}, \cdots ,{{\phi }_N}\}$ 是变分参数. 此时需要最小化 $q({{y}},{\beta })$ $p({{y}},{\beta }|{{x}})$ 之间的Kullback-Leibler(KL)散度来让 $q({{y}},{\beta })$ 逼近 $p({{y}},{\beta }|{{x}})$ , 这等价于最大化

      $$L({\lambda },{\phi }) = {\mathbb{E}_q}\left[ {\log \frac{{p({\beta };{\alpha })}}{{q({\beta };{\lambda })}}} \right] + \sum\limits_{n = 1}^N {{\mathbb{E}_q}\left[ {\log \frac{{p({{{x}}_n},{{{y}}_n}|{\beta })}}{{q({{{y}}_n};{{\phi }_n})}}} \right]} $$ (6)

      其中 ${\mathbb{E}_q}\left[ \cdot \right]$ 表示在分布 $q({{y}},{\beta })$ 下的期望函数, $L({\lambda },{\phi })$ 是对数证据 $\log p({{x}})$ 的一个下界, 被称为evidence lower bound(ELBO)[15]. 基于 $q({{y}},{\beta })$ 可分解的假设, 最大化 $L({\lambda },{\phi })$ 可以利用坐标上升法[26]通过交替更新 ${\lambda }$ ${\phi }$ 来实现. 下文讨论的SVI 以上述平均场变分推断方法为基础.

      如果我们固定 ${\phi }$ , 则可以把 $L({\lambda },{\phi })$ 看成是 ${\lambda }$ 的函数, 此时需要求解

      $$L({\lambda }) = \mathop {\max }\limits_{{\phi }} L({\lambda },{\phi }).$$ (7)

      常用的方法是对其求(欧式)梯度, 但是用欧式距离表征不同 ${\lambda }$ 之间的远近关系是不合理的, 这是因为 ${\lambda }$ 为变分参数, 我们所关心的是不同的 ${\lambda }$ 所刻画的分布 $q({{y}},{\beta })$ 之间的差异, 此时可以引入自然梯度[15], 它表示的是函数在黎曼空间上的梯度. 通过对 $L({\lambda },{\phi })$ 关于 ${\phi }$ 求自然梯度, 可以将平均场变分推断推广到随机优化的版本, 即随机变分推断. 具体地, 我们定义如下的随机函数

      $${L_I}({\lambda }) \!\triangleq\! N\mathop {\max }\limits_{{{\phi }_I}} {\mathbb{E}_q}\!\left[ {\log \frac{{p({{{x}}_I},{{{y}}_I}|{\beta })}}{{q({{{y}}_I};{{\phi }_I})}}} \right] \!+\! {\mathbb{E}_q}\!\left[ {\log \frac{{p({\beta };{\alpha })}}{{q({\beta };{\lambda })}}} \right]\!,$$ (8)

      其中 $I$ 是均匀取值于 $\left\{ {1, \ldots ,N} \right\}$ 的随机变量. 易知 ${L_I}({\lambda })$ 的期望等于 $L({\lambda })$ , 因此每次均匀地选取一个数据点 $n$ 时, ${L_n}({\lambda })$ 给出了 $L({\lambda })$ 的一个无偏估计. 根据随机优化理论, 集中式SVI的过程由下面两步构成:

      (1) 均匀地随机选取一个数据点 $n$ , 并计算当前最优的局部变分参数 ${\phi }_n^*$ ;

      (2) 通过

      $${{\lambda }^{t + 1}} = (1 - {\rho _t}){{\lambda }^t} + {\rho _t}\left( {{\alpha } + N{\mathbb{E}_{{\phi }_n^*}}\left[ {f({{{x}}_n},{{{y}}_n})} \right]} \right)$$ (9)

      更新全局变分参数 ${\lambda }$ .

      上述SVI算法一次迭代只采样一个数据点, 其也可以被直接扩展成一次采样一个数据批量(batch)的版本, 详见[15].

    • 我们考虑一个由 $J$ 个节点组成的分布式网络, 其中每个节点 $i$ 存储包含 ${N_i}$ 个数据项的数据集 ${{{x}}_i} = \{ {{{x}}_{i1}},\cdots,{{{x}}_{i{N_i}}}\}$ , 于是整个网络上存储的完整数据集为 ${{x}} = \{ {{{x}}_1},\cdots,{{{x}}_J}\}$ , 总数据项数为 $N = \displaystyle\sum\nolimits_i {{N_i}}$ . 假设网络的通讯拓扑是一个无向图 $G = (V,E)$ , 其中 $V = \{ 1,\cdots,J\}$ 是节点集合, $E \subseteq V \times V$ 是边集合, $(i,j) \in E$ 表明信息可以在节点 $i$ 和节点 $j$ 之间直接传输, 记节点 $i$ 的邻居集合为 ${B_i} = \{ j \in V: (j,i)$ $ \in E\} $ . 此外, 我们还假设 $G$ 是连通的, 即对 $\forall i \ne j$ , 存在至少一条路径连接节点 $i$ 和节点 $j$ .

      如果记节点 $i$ 的局部隐藏变量为 ${{{y}}_i} = $ $\{ {{{y}}_{i1}},\cdots, {{{y}}_{i{N_i}}}\}$ , 记对应的局部变分参数为 ${{\phi }_i} = $ $\{ {{\phi }_{i1}},\cdots,{{\phi }_{i{N_i}}}\}$ , 则ELBO可以写为

      $$L({\lambda },{\phi }) = {\mathbb{E}_q}\left[ {\log \frac{{p({\beta };{\alpha })}}{{q({\beta };{\lambda })}}} \right] + \sum\limits_{j = 1}^J {{\mathbb{E}_q}\left[ {\log \frac{{p({{{x}}_j},{{{y}}_j}|{\beta })}}{{q({{{y}}_j};{{\phi }_j})}}} \right]} .$$ (10)
    • 我们借用多智能体一致优化问题中的扩散方法来发展分布式SVI算法. 扩散方法的基本思想是交替执行本地更新和节点间参数融合两个步骤, 从而使所有节点的参数收敛到所希望的全局最优值或者局部最优值.

      对于节点 $i$ , 如果定义其局部ELBO为

      $${L_i}({\lambda },{{\phi }_i}) = {\mathbb{E}_q}\left[ {\log \frac{{p({\beta };{\alpha })}}{{q({\beta };{\lambda })}}} \right] + J{\mathbb{E}_q}\left[ {\log \frac{{p({{{x}}_i},{{{y}}_i}|{\beta })}}{{q({{{y}}_i};{{\phi }_i})}}} \right],$$ (11)

      则显然有 $L({\lambda },{\phi }) = \dfrac{1}{J}\displaystyle\sum\nolimits_i {{L_i}({\lambda },{{\phi }_i})}$ , 因此每个节点 $i$ 可以把 ${L_i}({\lambda },{{\phi }_i})$ 作为优化目标, 进行本地更新. 在本地更新步骤中, 我们分批次训练以提高学习效率. 不失一般性, 将 ${{{x}}_i}$ 划分成 $M$ 个子集 ${{{x}}_i} = \{ {{x}}_{i1}^b,\cdots, {{x}}_{iM}^b\}$ , 对应地, ${{{y}}_i} \!=\! \{ {{y}}_{i1}^b,\cdots,{{y}}_{iM}^b\}$ , ${{\phi }_i} \!=\! \{ {\phi }_{i1}^b,\cdots, {\phi }_{iM}^b\}$ , 定义

      $$ \begin{split} L_{im}^b({\lambda },{\phi }_{im}^b) =& {\mathbb{E}_q}\left[ {\log \frac{{p({\beta };{\alpha })}}{{q({\beta };{\lambda })}}} \right] +\\ &MJ{\mathbb{E}_q}\left[ {\log \frac{{p({{x}}_{im}^b,{{y}}_{im}^b|{\beta })}}{{q({{y}}_{im}^b;{\phi }_{im}^b)}}} \right], \end{split}$$ (12)

      不难证明 $L_{im}^b({\lambda },{\phi }_{im}^b)$ ${L_i}({\lambda },{{\phi }_i})$ 的一个无偏估计, 因此可以基于子样本 ${{x}}_{im}^b$ 更新参数. 令 ${{\phi }_i}$ 表示节点 $i$ 的全局变分参数, 则类似于集中式[2]的情况, 节点 $i$ 中第 $t$ 次本地更新由下列公式描述

      $${\phi }_{im}^{{b^*}} = \mathop {\arg \max }\limits_{{\phi }_{im}^b} L_{im}^b({\lambda }_i^t,{\phi }_{im}^b),$$ (13)
      $${z}_i^{t + 1} = {\lambda }_i^t + {\rho _{_t}}\tilde \nabla L_{im}^b({\lambda }_i^t,{\phi }_{im}^{{b^ * }}),$$ (14)

      其中 $\tilde \nabla L_{im}^b({\lambda },{\phi }_{im}^{b*})\! =\! {\alpha } \!-\! {\lambda } \!+\! MJ\displaystyle\sum\nolimits_{{x_{in}} \in x_{im}^b} {\mathbb{E}_q}[ f({{x}}_{in}^{}, {{y}}_{in}^{}) ]$ 表示 $L_{im}^b({\lambda },{\phi }_{im}^{b*})$ 关于 ${\lambda }$ 的自然梯度, $\tilde \nabla $ 为自然梯度符号. 我们选择随时间衰减形式的学习率 ${\rho _t} = {(t + \tau )^{ - \kappa }}$ , 其中 $\kappa \in [0.5,1]$ , $\tau \geqslant 0$ , 这样一来根据随机优化理论[15], 可以保证基于噪声自然梯度的更新式(14)可以使得全局变分参数收敛到 ${L_i}({\lambda },{{\phi }_i})$ 的一个局部最优值.

      注意本地更新只能使每个节点的全局变分参数独立地收敛到各自的局部ELBO的局部最优值, 我们还要保证每个节点学得的全局变分参数收敛到一致, 即 $||{{\lambda }_i} - {{\lambda }_j}|| \to 0$ , $\forall i \ne j$ . 由于我们已经假设拓扑图是连通的, 因此只要使 $||{{\lambda }_i} - {{\lambda }_j}|| \to 0$ , $\forall (i,j) \in E$ 就可以保证所有节点的全局变分参数都收敛到一致. 为此, 根据扩散方法, 我们在每次本地更新之后, 将每个节点的当前全局变分参数发送给其邻居节点, 然后将当前的全局变分参数与从邻居节点接受到的全局变分参数进行融合. 上述过程可以由下面公式描述:

      $${\lambda }_i^{t + 1} = \sum\limits_{j \in {B_i} \cup \{ i\} } {{p_{ji}}{z}_j^{t + 1}} ,$$ (15)

      其中 ${p_{ij}}$ 是融合系数, 我们采用如下的定义

      $$ {p}_{ij}=\left\{ \begin{array}{l} \dfrac{1}{\mathrm{max}(|{B}_{i}|,|{B}_{j}|)},i\in {B}_{j}\\ 0, i\ne j\&i\notin {B}_{j}\\ 1-{\displaystyle \sum _{l=1,l\ne i}^{J}{p}_{il}},i=j \end{array} \right. $$ (16)

      事实上, 如上定义的 $[{p_{ij}}]$ 是一个对称随机矩阵. 当迭代次数很大的时候, ${\rho _t}$ 变得很小, 则有 ${z}_i^{t + 1} \approx {\lambda }_i^t$ , 分布式SVI算法退化成由(15)式描述的平均一致性协同过程, 所以 ${\lambda }_i^t$ 将收敛到所有节点初始参数值的平均值. 这样使得训练结果不会对任何节点的数据分布有偏向性.

    • 上小节所述的分布式SVI算法默认是同步执行的, 即所有节点在每个迭代步同步地执行本地更新和参数融合两个步骤. 但是所有节点同步执行需要使用时间同步协议去估计和补偿时序偏移, 这会带来额外的通信负载. 此外, 执行快的节点需要等待执行慢的节点, 这会大大降低算法的执行速度. 为此我们设计了一种机制使所提出的分布式SVI算法适应异步通信网络. 具体地, 每个节点额外开辟一块存储区域将邻居节点发送过来的 ${\lambda }_i^t$ 存储起来. 在每个参数融合步中, 如果在等待一定的时间后收到了来自邻居节点发送过来的 ${\lambda }_i^t$ , 则更新存储区域中的 ${\lambda }_i^t$ 的值, 然后用更新后的 ${\lambda }_i^t$ 进行本地参数更新; 否则直接用存储区域的 ${\lambda }_i^t$ 值进行本地参数更新. 这样一来, 既可以使所提出的分布式算法以异步方式执行, 又尽可能地保证了算法的性能.

    • 这一节我们将所提出的分布式SVI算法(我们称之为异步分布式SVI)应用于BMM模型和LDA主题模型, 并在不同的数据集上测试其性能. 并且将其与集中式SVI算法和dSVB算法[3]进行对比, 其中dSVB算法被我们以同样的方式扩展成随机的版本以方便比较.

    • 我们考虑具有 $K$ 个成分的混合多变量伯努利模型. 该模型的全局隐藏变量包括: 每个成分 $k$ 的全局隐藏变量 ${{\beta }_k}$ , 其维度等于数据维度, 每个维度的值表示该维度的数据值属于“0”的概率, 以及成分的混合概率 ${\pi } = \{ {\pi _1},\cdots,{\pi _K}\}$ , 其中隐藏变量的先验分布形式如下:

      $$p({\pi }) = Dir({\pi };{\alpha }),$$ (17)
      $$p({{y}_{in}}|{\pi }) = \prod\limits_{k = 1}^K {{\pi _k}^{{y_{ink}}}} ,$$ (18)
      $$p({\beta }) = \prod\limits_{k = 1}^K {p({{\beta }_k})} \propto \prod\limits_{k = 1}^K {\prod\limits_{d = 1}^D {\beta _{kd}^{a - 1}{{(1 - {\beta _{kd}})}^{b - 1}}} } ,$$ (19)

      其中 ${\alpha } = {[\alpha ]^K}$ , $a$ $b$ 是固定的超参数, 在BMM模型上的实验中, 我们均设置 $\alpha = a = b = 1$ .

      我们将混合多变量伯努利模型应用到MNIST数据集上. 在预处理中, 每张图的每个像素根据其像素值被设为0或者1, 然后每张图被展开成28×28=784维的向量. 我们随机生成包含50个节点, 166条边的无向连通网络, 其拓扑结构如图2所示, 并将训练数据平均分给50个节点, 每个节点包含1200条数据(整个MNIST训练集包含60000条数据). 实验中, 设置 $K = 40$ , 并设置全局隐藏变量的先验分布为均匀分布.

      图  2  通信网络拓扑图

      Figure 2.  The topology of the communication network

      图3展示了所提出的异步分布式SVI算法在 $\kappa = 0.5$ , $\tau = 10$ 下, 每份数据分6个批次训练200个epoch得到的聚类中心(由每个成分 $k$ 的全局隐藏变量 ${{\beta }_k}$ 的期望所定义的向量对应的图片)和相同设置下集中式SVI算法得到的聚类中心. 由图3可知, 异步分布式SVI算法可以充分找到所有潜在的聚类模式, 而集中式SVI则往往不能充分找出所有的聚类模式.

      图  3  异步分布式SVI算法和集中式SVI算法得到的聚类中心

      Figure 3.  Cluster centers obtained by the asynchronous distributed SVI and the centralized SVI

      在相同设置下多次运行三种算法得到的所有节点估计的ELBO的平均值以及相校平均值的偏差演化曲线如图4所示, 可以看到异步分布式SVI算法相比集中式SVI算法能够收敛到更好的值, 并且多次运行得到的结果之间的误差更小, 表现更加稳定. 此外, 异步执行的方式破坏了dSVB算法的收敛性, 而异步分布式SVI算法对异步网络具有良好的适应性.

      图  4  异步分布式SVI算法, dSVB算法, 集中式SVI算法的ELBO的平均值和偏差演化

      Figure 4.  The evolution of the means and deviations of the ELBO for the asynchronous distributed SVI, the dSVB, and the centralized SVI

      为了研究超参数 $\kappa $ $\tau $ 对所提出的分布式SVI算法表现的影响, 我们在 $(\kappa = 0.5,\tau = 1)$ , $(\kappa = 0.5, \tau \!=\! 10)$ , $(\kappa \!=\! 0.5,$ $\tau \!=\! 100)$ , $(\kappa \!=\! 0.75,\tau \!=\! 10)$ , $(\kappa = 1, \tau = 10)$ 几组参数下进行实验, 所得到的所有节点ELBO的平均值的演化曲线见图5, 可以看到在不同的 $(\kappa ,\tau )$ 设置下所提出的异步分布式SVI均优于集中式SVI.

      图  5  不同 $(\kappa ,\tau )$ 设置下异步分布式SVI和集中式SVI的ELBO的平均值演化

      Figure 5.  The evolution of the means of the ELBO for the asynchronous distributed SVI and the centralized SVI under different settings of $(\kappa ,\tau )$

    • LDA主题模型是文档集的概率模型, 它使用隐藏变量对重复出现的单词使用模式进行编码, 由于这些模式在主题上趋于一致, 因此被称为“主题模型”. 其已经被应用于很多领域, 例如构建大型文档库的主题导航或者辅助文档分类. LDA模型的贝叶斯网络结构如图6所示, 其中变量的说明见表1.

      图  6  LDA模型的贝叶斯网络结构图

      Figure 6.  The Bayesian graphic model of LDA

      表 1  LDA模型变量

      Table 1.  Variables in LDA model

      变量 $\alpha $ $\eta $ $K$ $D$ $N$ ${\theta _d}$ ${y_{d,n}}$ ${w_{d,n}}$ ${\beta _k}$
      类型 固定参数 固定参数 固定参数 输入参数 输入参数 局部隐藏变量 局部隐藏变量 单词向量 全局隐藏变量
      描述 主题数 文档数 单词数 决定文档的主题分布 单词所属的主题 决定主题的单词分布
      分布 $Dir({\theta _d}|\alpha )$ $Mult({y_{d,n}}|{\theta _d})$ $Mult({w_{d,n}}|{\beta _k},{y_{d,n}})$ $Dir({\beta _k}|\eta )$

      我们首先在New York Times和Wikipedia两个数据集上验证异步分布式算法在LDA模型上的性能. 首先我们生成一个包含5个节点7条边的网络, 将每个数据集的文档随机分配给各个节点. 在实验中我们设置 $K = 5$ , 并以文档集的生成概率的对数 $\log p(w) = \displaystyle\sum\nolimits_d {\sum\nolimits_n {\log p({w_{d,n}}|{\beta _k},{y_{d,n}})} }$ 作为评价指标.

      图7展示了在 $\alpha = 0.2$ , $\eta = 0.2$ , $\kappa = 0.5$ , $\tau = 10$ , 训练epoch取40, 分布式算法中每个节点的批大小取10, 集中式算法的批大小取50的设置下, 异步分布式SVI, 集中式SVI和dSVB以异步方式分别在两个数据集上运行多次得到的 $\log p(w)$ 的演化曲线, 可见异步分布式SVI算法表现优于另外两种算法. 不同参数设置下异步分布式SVI和集中式SVI在New York Times数据集上收敛时的 $\log p(w)$ 表2, 可见不同设置下异步分布式SVI的表现均优于集中式SVI.

      图  7  异步分布式SVI, 集中式SVI和dSVB在两个数据集上的表现

      Figure 7.  Performance of the asynchronous distributed SVI, the centralized SVI, and the dSVB on the two data sets

      表 2  不同参数设置下异步分布式SVI和集中式SVI收敛的值

      Table 2.  The convergent values of the asynchronous distributed SVI and the centralized SVI under different parameter settings

      参数设置 $\begin{gathered} \alpha = \eta = 0.4 \\ \kappa = 0.5,\tau = 1 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.8 \\ \kappa = 0.5,\tau = 1 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.4 \\ \kappa = 0.7,\tau = 10 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.8 \\ \kappa = 0.7,\tau = 10 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.4 \\ \kappa = 1,\tau = 100 \\ \end{gathered} $ $\begin{gathered} \alpha = \eta = 0.8 \\ \kappa = 1,\tau = 100 \\ \end{gathered} $
      异步分布式SVI -53791.33 -55554.12 -54350.50 -56212.30 -57003.45 -57567.67
      集中式SVI -54198.30 -56327.50 -54776.18 -56721.87 -57805.78 -58191.39

      然后我们在复旦大学中文文本分类数据集上测试所提出的异步分布式SVI算法. 该数据集来自复旦大学计算机信息与技术系国际数据库中心自然语言处理小组, 其由分属20个类别的9804篇文档构成, 其中20个类别的标签分别为Art、Literature、 Education、Philosophy、History、Space、Energy、Electronics、Communication、Computer、Mine、Transport、Environment、Agriculture、Economy、Law、Medical、Military、Politics和Sports. 在预处理步骤中, 我们首先去除了文本中的数字和英文并用语言技术平台(Language Technology Plantform, LTP)的分词模型对文本进行分词处理. 为了减小训练的数据量, 我们只读取每个类别的前100篇文档进行训练. 图8展示了在 $K = 20$ , $\alpha = 0.2$ , $\eta = 0.2$ , $\kappa = 0.5$ , $\tau = 10$ , 分布式算法batch size(批大小)取2, 集中式算法batch size取100的设置下, 异步分布式SVI和集中式SVI分别在复旦大学中文文本分类数据集上运行多次得到的 $\log p(w)$ 的演化曲线, 可以看到异步分布式SVI收敛速度慢于集中式SVI, 但是最终得到的 $\log p(w)$ 值优于集中式SVI.

      图  8  异步分布式SVI和集中式SVI在复旦大学中文文本分类数据集上的表现

      Figure 8.  Performance of the asynchronous distributed SVI and the centralized SVI on the Chinese text classification data set of Fudan University

      图9展示了在表3所示的超参数组合设置下异步分布式SVI和集中式SVI在复旦大学中文文本分类数据集上训练100个epoch得到的 $\log p(w)$ 的值的对比, 其中横坐标为集中式SVI得到的 $\log p(w)$ 的值, 纵坐标为对应超参数设置下异步分布式SVI得到的 $\log p(w)$ 的值. 可以看到大部分数据点都位于左上方, 表明大部分情况下异步分布式SVI都优于集中式SVI. 并且注意到当batch size取1时异步分布式SVI表现最差, 在 $(\kappa = 0.5,\tau = 1, {\rm{batch size}} = 1)$ 的设置下其表现不如集中式SVI. 我们认为这是由于当batch size太小时, 分布式SVI的收敛速度过慢造成的.

      图  9  不同超参数设置下异步分布式SVI和集中式SVI在复旦大学中文文本分类数据集上表现

      Figure 9.  Performance of the asynchronous distributed SVI and the centralized SVI on the Chinese text classification data set of Fudan University under different hyperparameter settings

      表 3  超参数取值表

      Table 3.  The values of hyperparameters

      $\kappa $ $\tau $ batch size $\alpha $ $\eta $
      0.5 1 1 0.1 0.1
      1.0 10 2 0.2 0.2
      - 100 4 - -
    • 本文针对无中心的分布式网络, 基于扩散方法提出了一种新颖的分布式SVI算法, 其中采用自然梯度法进行本地更新以及采用对称双随机矩阵作为信息融合系数, 并且为其设计了一种针对异步网络的适应机制. 然后将其应用于BMM和LDA主题模型. 在不同数据集上的实验均表明所提出的算法确实适用于异步分布式网络, 而且其在发现聚类模式和对抗浅的局部最优方面的表现优于集中式SVI算法.

WeChat 关注分享

返回顶部

目录

    /

    返回文章
    返回