刚毕业就能拿到56万年薪?对!看看Twitter机器学习大牛写给你的进阶手册吧

作者: 佚名 2017-11-21 08:00:14

刚毕业就能拿到56万年薪?对!看看Twitter机器学习大牛写给你的进阶手册吧

年薪十万?对于程序员来说,这仅仅是温饱水平。

根据国家统计局今年上半年发布的消息,2016 年信息传输、软件和信息技术服务业的平均工资为 122478 元,首次打败金融业成为新霸主,是全国城镇单位就业人员平均水平 57394 元的两倍以上。

然后 AI 浪潮来临,已经率先脱贫的程序员群体又迎来了升职加薪好时机:转型AI工程师。

AI科技大本营发现,目前互联网企业招聘的名单里面 41% 是和 AI 跟算法相关的,并且由于人才奇缺,公司开出的薪资也非常的高。在 2018 年高校校招开出的薪资中,Google 是最高的,有 56 万。另外,我们统计社招平均的月薪中可以看到跟 AI 相关的,基本都四万以上了。

小康变中产,只差临门一脚了。

为此,营长特意为转型过程中的AI工程师们准备了一道大餐——机器学习进阶手册,它是Reddit机器学习论坛上周周榜的第一。

这篇文章是Twitter机器学习专家Ferenc Huszár关于转换算法的一系列经验之谈,他在Twitter Cortex机器学习团队专门研究视觉数据的非监督学习。文章内容不是面向机器学习新手的入门介绍,而是关于VAE、GAN、强化学习等话题的一系列研究技巧。

下面是他所写的具体内容,只要你读懂了,你肯定就会比营长更加接近西二旗码农程们那月薪5万的高端生活。(营长正在默默地求高中老师能重新教一回那些最简单的概率、统计。)

本周忙得要死,没读任何新东西,所以只能分享一些我为自己所写的机器学习技巧,内容是关于机器学习的各种变换算法。通过这些变换,你就能把眼前的机器学习问题转化成我们已知的、能够解决的问题——即找出易处理的向量场量内的稳定“吸引子”(译注:“吸引子”,Attractors,是指一个系统行为的归宿或被吸引到的地方)。

典型的情况是这样的:你有一些模型参数,比如θ。你想优化其中的某些客观标准,可使用下列方法来优化问题又相当棘手。所以你要将问题进行转换,如果转化之后的问题能被有效优化,你就能解决问题;如果不能优化,你可以在此基础上继续转换,直到问题可以被有效优化为止。

更新:虽说我写的时候称此为参考手册,但正如眼尖的Reddit读者所评论的,本文在内容上并未做到面面俱到,作为参考手册太勉强了。这里不妨视之为机器学习研究的某种示范操作,就像编译器一样,将抽象的机器学习问题编译成寻找易处理向量场中稳定吸引子的优化问题。

作为首批示范,我先介绍下列问题的转换:

  • 变分不等式
  • 对抗博弈
  • 进化策略
  • 凸松弛

其他转换还包括对偶原理、半二次分裂、拉格朗日乘子,等等。对于你希望谈论的话题,欢迎在评论区写出来,下次我会补上这些内容。

变化不等式

典型问题:

我的损失函数 f(θ) 很难计算,主要是它涉及到难以解决的边缘化问题。我无法评估它,只能将其最小化。

解决方法:

让我们构建一组典型的可微分的上边界:

以解决最优化问题:

严格来讲,一旦优化完成,你就可以丢弃辅助参数ψ∗——尽管事实通常表明,参数本身还是很有意义的,如在VAE的识别模型里面用作近似推断。

转换技巧:

Jensen不等式:凸函数的平均值绝不会低于用来拟合平均值的凸函数取值。

通常以标准ELBO(evidence lower bound)变体的形式出现,求导如下:

再参数化窍门:在变分推断中,我们往往会遇到如下形式的梯度:

其中,变量的概率分布函数( probability distribution function)以积的形式呈现。如果我们能找到一个函数

并且该函数处处可微。它的第二个参数,以及参数参数pε对ε的概率分布,则易于通过采样所获,如下所示:

然后我们就能使用下面这个在变分上界常常都会用到的积分重构:

相比于强化估计(REINFORCE estimators),使用蒙特卡洛估计来计算期望,往往能得出更小的方差。

对抗博弈

典型问题:

我无法从样本中直接估计损失函数f(θ),通常因为损失函数取决于模型或数据分布的概率分布函数( probability distribution function),或两者皆有。

解决方法:

我们可以构造出某种近似,令

而后,我们就能解决双人博弈问题中的稳定均衡,令双方分别最小化有关于ψ的损失函数g和有关θ的损失函数h。

在h=-g的情况下,该近似表达式则表现为变分下界的形式:

此时,我们可以转而用以下的极大极小值问题来代替:

变换窍门:

辅助任务中的贝叶斯优化:当损失函数取决于易采样样本的概率分布密度时,可以构造一个辅助任务,而辅助任务的贝叶斯优化解决方案取决于密度的值。这类辅助任务的例子有极大似然估计的二进制分类、估计分数函数的去噪或分数匹配。

凸共轭:在损失函数包含密度凸函数(如f-divergences中)的情况下,你能够通过依照凸共轭的形式来重新表述,以转换问题。f的凸共轭f*则可表达成:

其中,如果u是一个密度函数,那么内积⟨u,v_ψ⟩就是v_ψ的期望,这就能用蒙特卡罗近似采样。

进化策略

典型问题:

我的损失函数f(θ)易于评估,但却难以优化,可能是因为它包含了离散运算,或是该函数为分段型常量函数,无法进行反向传播。

解决方法:

对于任意概率分布pψ,它在θ上的函数值都满足于:

因而,使用进化策略,我们可专注于下列问题来做优化:

通常,由于依赖于函数f和概率分布pψ的类型,f的局部最小值能够从ψ的局部最小值中恢复。

转换窍门:

强化梯度估计:依赖于下述技巧:

其中,RHS可以用蒙特卡洛轻松近似。蒙特卡洛强化估计的方差往往相对较高。

凸松弛

典型问题:

我的损失函数f(θ)难以优化,因为它不可微,且有非凸部分。如稀疏方法向量的ℓ0范数,或分类问题中的单位阶跃函数。

解决方法:

用凸近似来代替非凸的部分,将你的目标转化为一个典型的凸函数g

转换窍门:

ℓ1损失函数:在一些稀疏的学习情景中,我们希望能最小化某个向量中的非零项,这就是ℓ0损失函数,通常可以用该向量的ℓ1范数来替代其损失函数。

Hinge损失函数与大间隔方法:在0-1损失下,二值分类器的错误率目标通常是其参数的分段常值函数,因此难以优化。我们可以用hinge损失函数来代替0-1损失函数,它可被理解为一个凸上界。结果,优化问题将最大化分类器的间隔。

不过,想要真正实现年薪 50 万,只看营长的文章还远远不够,坚持学习才是真正的利器,望各位读者共勉。

机器学习 Twitter 进阶手册
上一篇:深度学习之父Hinton发布胶囊网络的最新进展,将重塑人工智能 下一篇:深度强化学习入门:用TensorFlow构建你的第一个游戏AI
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

机器学习与预测分析的区别在何处? 精选

如今,认知学习的应用比以往更为普遍。通常意义上讲,认知学习与认知计算就是涉及AI技术与信号处理的操作过程或技术平台。

读芯术 ·  1天前
大盘点:8月Github上7个值得关注的数据科学项目

本文带你来看看GitHub上创建于2019年8月的7个数据科学项目。笔者所选项目的范围十分广泛,涉及从机器学习到强化学习的诸多领域。

读芯术 ·  1天前
非监督学习最强攻略

本次主要讲解的内容是机器学习里的非监督学习经典原理与算法,非监督,也就是没有target(标签)的算法模型。

SAMshare ·  1天前
PyTorch终于能用上谷歌云TPU,推理性能提升4倍,该如何薅羊毛?

Facebook在PyTorch开发者大会上正式推出了PyTorch 1.3,并宣布了对谷歌云TPU的全面支持,而且还可以在Colab中调用云TPU。

晓查 ·  1天前
机器学习转化为生产力,警惕这4个常见陷阱!

几乎每个人都想在他们的业务中引入机器学习,但是这些人也遇到了一个大问题:让模型可持续发展十分困难,尤其是在云架构的基础上。medium上一位博主也指出了这个问题,并提出了将机器学习模型投入生产的4个常见陷阱。

大数据文摘 ·  2天前
500亿参数,支持103种语言:谷歌推出「全球文字翻译」模型

由于缺乏平行数据,小语种的翻译一直是一大难题。来自谷歌的研究者提出了一种能够翻译 103 种语言的大规模多语言神经机器翻译模型,在数据丰富和匮乏的语种翻译中都实现了显著的性能提升。

机器之心 ·  3天前
机器学习免费跑分神器:集成各大数据集,连接GitHub就能用 精选

搞机器学习的小伙伴们,免不了要在各种数据集上,给AI模型跑分。现在,Papers with Code (那个以论文搜代码的神器) 团队,推出了自动跑分服务,名叫sotabench,以跑遍所有开源模型为己任。

栗子 鱼羊 ·  3天前
大数据为什么不够聪明?机器要如何走向强人工智能

大数据为什么不够聪明?比概率语言更强大的思考工具是什么?科幻电影中的强人工智能到底怎样实现?如何让智能机器像人一样思考?搞清楚因果关系才能拨云见日。

明日情报 ·  3天前
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载