QCon2018上海会议分享

有幸去参加了QCon2018上海会议,在这次参会中,重点听了深度学习&AI相关以及工程师个人成长相关的演讲,收获颇丰,这里做一些总结分享,如有侵权,敬请告知,当立即删除。下面是我所听的并认为比较好的演讲:

  • 深度学习在推荐系统的进展及在微博的应用
  • 让商业没有语言障碍-深度学习在阿里机器翻译的应用
  • 端侧AI及其在蚂蚁金服场景的落地
  • 爱奇艺视频任务识别技术及应用
  • 数字营销领域的千人千面只能投放算法研究及应用
  • 51信用卡6年上市背后我在技术团队的成长历程
  • 转型技术管理者初期阶段的三大挑战
  • 五星级软件工程师的高效秘诀

PS:
查看全部PPT:https://ppt.geekbang.org/list/qconsh2018
查看全部视频:https://time.geekbang.org/course/intro/131
(以上均需使用手机号凭验证码登录)

这次参会才真切地感受到各家公司对AI的应用,真的涉及到方方面面,百花齐放,也才领悟到这股技术潮流确实已经大量处于商业实用状态了,可能平时你使用的一点觉得不错的小功能,背后就有一个AI团队的身影。这些分享演讲中,大部分都是针对各自的使用场景来介绍自己的AI成果,从中也可以得到很多利用AI技术来服务于自身业务推进的灵感,这也是很重要的——用技术来推动业务,从而达到更好地效果。

AI相关

首先分享一些AI相关演讲的感悟。

爱奇艺视频任务识别技术及应用

在爱奇艺的演讲中发现,他们家在视频人物识别上做了很多功夫,这其中必然有大量的前期数据清洗工作,因此爱奇艺干脆推出了一个iqiyi-vid人物库,并且提供AI竞赛:

这其实很棒,当自身的能力、积累发展到一定程度后,就自建库并且推出竞赛活动,既是一种实力和能力的宣传,也增加了自身的影响力,还能同时收集优秀的算法,一石三鸟。最近看到腾讯AI Lab发布了800万的中文向量词库,感觉也很棒,国内的公司研究AI应用的同时,就应该多多贡献数据出来促进全行业的共同进步。

下面这张是爱奇艺在人物识别的基础上进行的高层语义理解:身份+关系:

这里也比较受启发,可能一开始大家都是围绕一个初始阶段的起步能力来做研究,当把这个初始能力做到一定程度后,就可以寻找一些新的出发点,来进一步探索更多的可能。比如说OCR领域呢?可能从一开始的纯识别文字,做好后就可以往机器翻译靠拢,再进一步就在于对识别的文字进行语义理解,寻找更多的关联。

苏宁美国监督学习加速AI产业数据标注流程

这个讲座看题目以为是介绍一些数据标注的效率提升方法,毕竟AI产业下数据标注是一个很重要也很基础的需求,但与所预想的不同,其实讲的由一个使用标注数据进行训练而引发的思考。

首先他们要训练的标注数据成本非常高,需要招专家来看报告,而且看一份报告进行标注的时间挺长的,因此所拥有的已标注数据就不太多。

然后他们使用2300份标注报告做训练,另外500份做验证集,结果发现验证的精确度是71%,嗯非常低,不能拿来用。但是由于标注成本太高,所以也不太可能

于是他们尝试了很多种经过大量论文验证可以有效提升精确度的方法进行改进,但一番折腾之后精确度不升反降,变成了69%。。。

在苦恼中,他们开始尝试换一种样本的抽样方法。原先是从无标签报告中进行随机抽样来做标注,新增一千张带标签报告进行训练,得到的精确度为71%。改成新的抽样方法新增800份带标签报告后重新训练,得到的精确度提升到了91%!!

这是为什么呢?他们发现他们的数据有一个特点,举个例子:

在第一对照片中,由于两张图的差别挺大的,所以可以很肯定地判断左图为周杰伦,但是在第二对照片中,由于两张图差异很小,也就是在“是”与“不是”周杰伦这两个类别上,两张图都比较靠近“边缘样本”,真的有点像假的,假的也有点像真的,所以模型就会懵逼,无法做出准确的判断。

在他们的数据中也是这样,他们发现有一些数据处于两个类别的边缘部分,非常难以判断,而随机采样得到的训练样本集中,这些边缘样本很少,导致模型不足以学会如何对边缘样本进行判断。采用新的抽样方法,多采集一些边缘样本后,模型就能得到比较充分的学习,精确率也就上升了,如下图所示:

左上图是使用较少边缘样本的数据训练得到的分界线,右上图是使用较多边缘样本的数据训练得到的分界线,可以看到这种分界线“分类方法”能够更好的在测试数据中准确进行分类,尤其是对边缘样本。

由此我们也可以考虑在遇到模型训练瓶颈时,是不是除了模型优化之外,还能考虑数据上的优化。另外这看上去其实也有点像一个平衡样本数量的问题,我所处理的文本图像质量检测模型也包含这个问题,也许能够得到一些启发。

端侧AI及其在蚂蚁金服场景的落地

端侧AI是指在移动端运行的AI模型,蚂蚁金服已经在其手机应用中大量使用了端侧AI,这方面他们有很多经验进行分享。

首先为什么要在端侧运行AI,因为我们平常所理解的AI一般都是在高性能服务器上运行的,但是端侧AI也自有其优势,如上图所示,这其实也确实可以借鉴到很多场景中去,对于一些使用场景,如果能够让用户在移动端本地实时处理并得到结果,会比需要上传再返回要来的方便高效很多。

现在其实也已经有了很多优秀的开源端侧AI实现,可以供需要的开发人员使用。

但其实并不是说有好处就一股气开始做的,端侧AI同样也有很多挑战,这些挑战大家其实都能够想到,比如要覆盖多种机型,包括几年前就不是旗舰机的老机型,不能说这些用户你就不服务了,还有小容量的问题,不要以为现在手机的容量已经很大了,其实分到每个App的容量依然很少,对于特殊的场景,还有很多安全问题,而如果能够支持多种端侧AI需求,则是一个通用性的问题。

这是他们的整个工具体系,细看的话其实每一点都能够思考并借鉴一下。其优化的核心就是更小、更快。

从这个时间流程可以看出,这些大概是两年做成的工作,不知道算快还是慢,因为目前我们仍处于起步阶段,所以同志仍需努力呀。


在算法模型层面他们做了很多工作来让模型更小。这里有一个操作似乎在《深度学习在推荐的技术进展及微博的应用》讲座中也有提及:

在上图的例子中他们的节点数非常多,也就导致参数量非常大。

而解决思路就是分而治之,避免全连接。这个应该挺常见的。

说回来,在实现层的目的更多的是追求更快。

看一下他们的xNN(意为适应任何NN)使用方法,他们把这做成了非常简单的工具,算法人员在训练模型时,只需要增加三行代码,就可以大大减小模型的大小并提升速度,并且可以扫码直接试用效果:

这还是非常方便的,也希望我们算法工程侧的能有一天将相关工具做的如此易用,这样人员分工也能更加清晰了。

看一下优化的效果:

可以看到优化效果还是非常好的。

在OCR方面,他们也有一个应用,就是识别证件的卡号,可以看到肉眼都不容易看清的卡号,他们也可以很准确地识别,另外还有一个使用场景就是在境外商场中直接识别广告标牌,分析来自哪个国家,并实时按照汇率计算成RMB告诉你价格。这其实就是一个上文所说的满足初级目标后,进一步打造更深层次应用的例子了。

在他们团队眼中,端侧AI的演进路线是下图这样的:

目前他们正在第三阶段。

同时,团队的人才构成如下,也能为我们提供一些细分发展方向的思考:

让商业没有语言障碍-深度学习在阿里机器翻译的应用

阿里在机器翻译方面也做了很多工作,这源于他们需要将商品展示到多个国家去,因此就会有很多的机器翻译场景:

举个例子,他们要改写一个淘宝商品的标题,但是大家都知道,淘宝的标题是非常杂乱的,比如下图:

由此可见一斑,直接翻译那绝对是让外国友人丈二和尚摸不着头脑的,只能先翻译单词,然后重新筛选组合。

说这个的意义在于,他们的标题、商品介绍等等场景,需要的虽然都是机器翻译的能力,但是细分之下其实大不相同,因此他们需要的是一个多模型融合的机器翻译系统:

这也是我想分享的思想,也就是根据具体的业务场景,即使在一个需求之中,也可以利用好各个模型的长处,融合使用。

深度学习在推荐的技术进展及微博的应用

在这边只想分享演讲人的这张PPT,对于看论文的看法。绝大多数的论文方法,都不接地气或者不实用,不要什么都看,一个人也没那么多的经历,要训练自己的辨别能力。另外就是多参考公司发的论文,比如Google、Facebook、Tencent等等。因为公司发的论文更加具有实用价值,毕竟我们也是要拿来实用的,从需求上来说会比较贴近。

工程师个人成长相关

接下来分享一些关于个人成长相关的东西。

51信用卡6年上市我在技术团队的成长历程

可以看到技术人员取标题确实有点意思,很长,而且各种主谓宾混杂。

首先一点见到的比较多的就是要注重分享!去打造一个学习型的组织:

比如小米大数据的演讲人也讲到了这一点:

自己团队内要有分享的氛围和传统,同时还要多请其他团队的人来进行分享交流,这非常重要,可以打开自己的视野,也能互相学习,激励自己。之前我在读研期间也有组织同学间的每周例会轮流分享,并记录下来,我想说的是,记录其实和分享同样重要,只有记录和时习之,才能真正沉淀为自己的东西。

另一个触动的点在于对常见的重要紧急四象限的思考,这个模型大家都见过:

这个模型怎么用呢?并不是直接记录就好,在记录的过程中,要随时注意自己到了下面哪个类别:



第一种是所有事情都是重要且紧急的,那你就会每时每刻的很忙,虽然有成就感,但同时压力也很大,很疲惫;第二种是不重要但紧急的事情比较多,这就容易变成盲目的忙,虽然好像一直在做事,但却没什么成就感;第三种才是推荐的形式,也就是重要但不紧急的事情比较多,并且优先完成这部分的事情,这样不会把所有事情都堆积到重要紧急下,更容易让人有成就感,感受到自己的价值,也更加从容。

所以希望大家尽量把时间有价值地安排使用好。

终身学习,多读书这一点,对工程师来说尤为重要,不过除了学习技术知识,多读一些技术以外的东西,扩展自己的思维局限也是很好的,还能增加和妹子的谈资不是嘛。

要刻意的去练习一些东西,使之达到习惯的程度,然后你就会看到习惯的力量了,这其中一定要记得,任何事情,坚持才有意义。

华为五星级软件工程师的高效秘诀

讲者首先上来就介绍了一大堆提升效率的书籍,这里也推荐给大家:

华为做了一件事情我觉得比较有意思,就是统计大家使用的最多的小工具,然后整理出来对大家进行推荐,这个推荐,既是全面性的推荐,也是有针对性地推荐,比如发现你的某种行为比较常见且效率较低,那就给你推荐相应的工具,这一点倒是很新颖的推荐方式,值得学习:

讲者也很提倡对自己进行知识管理,平常要时刻保持梳理和积累的习惯,然后坚持去做,长久之后就会有成果,比如现在我所做的事情就是这样:


你可能感兴趣的:(QCon2018上海会议分享)