本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

报码:【图】百度前员工在美国读博这五年对深度学习的思考(4)

时间:2017-02-07 10:34来源:香港现场开奖 作者:www.wzatv.cc 点击:
DMLC的第二个新项目叫wormhole。想法是提供一系列分布式机器学习算法,他们使用差不多相同的配置参数来统一用户体验。我把parameter server里面的机器学习

  DMLC的第二个新项目叫wormhole。想法是提供一系列分布式机器学习算法,他们使用差不多相同的配置参数来统一用户体验。我把parameter server里面的机器学习相关算法移植了过来,天奇移植了xgboost。Parameter server原有的系统代码简化到了ps-lite。

  中途我听百度同学说factorization machine(FM)在广告数据上效果不错,所以在wormhole上实现了下。针对分布式做了一些优化,然后投了WSDM。前后没有花到一个月,但神奇的竟然拿了最佳论文提名。

  在wormhole的开发中发现一个问题,就是各个算法还是挺不一样,他们可以共用一些代码,但又有各自的特点,需要特别的优化来保证性能。这样导致维护有些困难,例如对共用代码的改动导致所有项目都要检查下。总结下来觉得一个项目最好只做一件事情。所以天奇把xgboost代码放回原来项目,我也把FM独立出来一个项目叫difacto。

  通过一系列的项目,我学到的一点是,以目前的水平和人力,做一个通用而且高效的分布式机器学习框架是很难的一件事情。比较可行的是针对一类相似的机器学习算法做针对性的项目。这个项目的接口必须是符合这类算法结构,所以做算法开发的同学也能容易理解,而不是过多暴露底层系统细节。

  真正的让DMLC社区壮大的项目是第三个,叫做MXNet。当时的背景是CXXNet达到了一定的成熟度,但它的灵活性有局限性。用户只能通过一个配置项来定义模型,而不是交互式的编程。另外一个项目是zz和敏捷他们做的Minerva,是一个类似numpy的交互式编程接口,但这个灵活的接口对稳定性和性能优化带来很多挑战。我当时候同时给两个项目做分布式的扩展,所有都有一定的了解。然后一个自然的想法是,把两个项目合并起来取长补短岂不是很好。

  召集了两个项目的开发人员讨论了几次,有了大致的眉目。新项目取名MXNet,可以叫做mixed-net,是前面两个名字(Minerva和CXXNet)的组合。放弃开发了几年的项目不是容易的决定,但幸运的是小伙伴都愿意最求更好,所以 MXNet进展挺顺利。很快就有了可以跑的第一个版本。

  第四年:9/15-8/16

  前半年为difacto和MXNet写了很多代码。其实一开始的时候我觉得difacto更重要些,毕竟它对于线性算法的提升非常显著而且额外的计算开销并不大,这对广告预估之类的应用会有非常大的提升。但有次遇到Andrew Ng,我跟他说我同时在做这两个项目,他立即告诉我我应该全部精力放在MXNet上,这个的未来空间会大很多。我一直很佩服Andrew的眼光,所以听了他的建议。

  11月的时候MXNet就有了很高的完成度。写了个小论文投去了NIPS的workshop也算是歇了口气。但随后就听到了TensorFlow(TF)开源的消息。由 Jeff Dean领导大量全职工程师开发,Google庞大的宣传机器支持,不出意料迅速成为最流行的深度学习平台。TF对我们压力还是蛮大,我们有核心开发者转去用了TF。不过TF的存在让我领悟到一点,与其过分关心和担忧对手,不如把精力集中在把自己的做得更好。

  NIPS的时候MXNet的小伙伴聚了一次,有好几个我其实是第一次见面。随后Nvidia的GTC邀请我们去做报告。在这两次之间大家爆发了一把,做了很多地方的改进。同时用户也在稳步增长。我们一直觉得MXNet是小开发团队所以做新东西快这是一个优势,但随着用户增加,收到抱怨说开发太快导致很多模块兼容性有问题。有段时间也在反思要在新技术开发速度和稳定性之间做一些权衡。

  这时一夜之间大数据不再流行,大家都在谈深度学习了。

  我也花了很多力气在宣传MXNet和争取开发者上。包括微博知乎上吼一吼,四处给报告。在大量的点赞声中有些陶醉,但很多中肯的批评也让我意识到重要的一点,就是应该真诚的分享而不是简单的吹嘘。

  因为大量的媒体介入,整个深度学习有娱乐化的趋势。娱乐化的报道很多都只是一些简单信息,(有偏见)的观点,而没有太多干货。不仅对别人没营养,对自己来说也就是满足虚荣心。与其写这些简单的水文,不如静下心做一些有深度的分享,包括技术细节,设计思路,和其中的体会。

  此类分享一个容易陷入的误区是只关注自己做了什么,结果多么好。这些确实能证明个人能力,对于想重复这个工作的人来说会有很大帮助。但更多的人更关心的是适用范围在哪里,就是什么情况下效果会减弱;为什么结果会那么好;insight是什么。这个需要更多深入的理解和思考,而不是简单的展示结果。

  这个对写论文也是如此。只说自己的结果比基线好多少只能说明这是不错的工作,但结果再好并不能意味这个工作有深度。

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容