Yang Cheng

行万里路,读万卷书

大规模分布式深度网络

| Tags: Machine Learning, Numeric Optimization, SGD

摘要: Large Scale Distributed Deep Networks,来自google Jeffery Dean 的一篇paper,后面也是想通过这篇paper讲清楚,如何实现大规模的并行分布式计算。

摘要

最近关于无监督特征学习(unsupervised feature learning)和深度学习(deep learning)的工作表明,具有训练大型模型能力的系统能够显著地提升深度神经网络的训练效果。在这篇文章中,我们针对的问题是利用多达10^4数量的CPU来训练一个具有10^9数量的参数(parameter)的深度网络。为了达到训练的目的,我们开发了称为DistBelief的软件框架,其利用具有上千节点(译者注:为了一致性,译文中的节点均指机器,即计算节点;而神经网络中的节点,均称为单元)的计算集群来训练大型模型。

流量分配和全局优化问题

| Tags: Machine Learning, Numeric Optimization

摘要: 电商领域的流量分配问题是比较常见的一个问题,本文试图通过形式化的方法描述在业务场景中的调度算法

问题定义

流量的全局优化是指同整体的角度看,通过控制流量在不同实体的分配,提升用户的UV价值的方法。算法的链接的是用户的需求,和供给, 通过分流,定价等方式调节市场。在大规模的促销活动中,常常会看到供给和需求的极度不平衡,借助广告中最优匹配算法工具,优化活动中的流量调配机制。

假设提供有m件产品,n位用户,以下信息是已知的

  • , 产品的库存量或者广告主的预算
  • , 用户i期望到达次数

同时我们通过预测方法,可以知道

  • 用户i,对产品的可能的购买概率

机器学习的通用指南: 优化理论

| Tags: Machine Learning, Numeric Optimization

摘要: 机器学习本质上是一种最优化问题,本文试图通过介绍求解最优化问题中最常见的梯度法,以窥见机器学习的通用学习策略。

通常我们会把机器学习过程分成两个阶段,建模阶段和求解阶段。在大数据的推动下,求解的问题慢慢大于建模的问题。比如,业界一般采用逻辑回归做CTR预估或者其他的预测模型,但是在数据规模非常大的条件下,如何在分布式的环境下,更快更准的求解模型就变得非常重要。精确的解析求解场景是非常少的,人们更多的去研究模型的数值求解过程,比如梯度下降法;近似求解,比如:蒙特卡洛法。这里我只想讨论下梯度下降法,该方法是一种非常神奇的通用的数学最优化方法。

下面会分几个阶段去讲梯度法的基本原理,本文更多的是偏理解。

  1. 梯度下降法
  2. 牛顿法
  3. 拟牛顿法
  4. 共轭梯度法

在线学习

| Tags: Machine Learning, Online Learning

摘要: 很久很久以前有一老师和一学生,每天老师让学生回答一个问题,然后老师告诉学生正确答案,学生则比较正确答案来更新自己的知识。就这样学生终成大师,与老师幸福的生活了下去。

故事

在现实的世界里,故事是另外一个版本:在网络的一头住着一挨踢男,另一头住着一小编。每天小编写一封垃圾邮件给挨踢男。苦命的挨踢男日日分析邮件设计过滤器来过滤小编的垃圾邮件。但聪明的小编如果一发现邮件没有成功的被寄送,那么就会在下一封里加上更多的甜言蜜语来忽悠挨踢男。较量一直进行下去,挨踢男是否能摆脱小编的骚扰呢?

以上故事都属于博弈论里的重复游戏(repeated game),它是对在线学习(online learning)最贴切的刻画:数据不断前来,我们需根据当前所能得到的来调整自己的最优策略。

熟悉机器学习的可能注意到了在线学习与离线学习的区别。前者认为数据的分布是可以任意的,甚至是为了破坏我们的策略而精心设计的,而后者则通常假定数据是服从独立同分布。这两种不同的假设带来不一样的设计理念和理论。

Spare Classification RBM系统

| Tags: 机器学习

摘要: 本文的目标是设计一个可扩展的分布式Sparse Classification RBM

简介

该系统通过对检索查询的相关特征进行有监督的学习从而得到在线广告推荐业务 的CTR预估模型。由于在线系统的训练数据量巨大(通常为数亿条),特征的维 度高,所以必须要考虑构建分布式的训练系统以降低大规模训练所需要的时间。 本文第二节介绍单进程Sparse Classification RBM的基本算法;第三节探讨采用 DownPour优化算法做多进程RBM Training开发的思路;第四节讨论要训练更大规 模的模型,进行优化的方向和基本实现方法;第四节讨论实现该系统所涉及到的 工程技术,包括开发语言,开发库等等。 TR预估模型。由于在线系统的训练数据量巨大(通常为数亿条),特征的维 度高,所以必须要考虑构建分布式的训练系统以降低大规模训练所需要的时间。 本文第二节介绍单进程Sparse Classification RBM的基本算法;第三节探讨采用 DownPour优化算法做多进程RBM Training开发的思路;第四节讨论要训练更大规 模的模型,进行优化的方向和基本实现方法;第四节讨论实现该系统所涉及到的 工程技术,包括开发语言,开发库等等。