• 项目
首页>>文章列表 >>文化教育
文章列表

EMNLP 2017 录用论文作者解读:深度残差网络下的弱监督关系抽取

在今年的 EMNLP 2017 上,台湾大学黄意尧与加州圣塔芭芭拉大学 (UCSB)William Wang 教授有一篇合作论文被录用。黄意尧撰写了关于这篇论文的研究历程,以供学习与参考。该文章做了不改动原意的编辑与修改,将繁体字转换为简体,并将一些台湾常用表述转换为大陆的通用说法。


近年来,越来越多人关注在关系抽取 (Relation Extraction) 的题目上,大部分的研究集中在使用更复杂、更结构化的神经网络,并测量在 SemEval 2010 的关系抽取数据库上。

但在这个数据库上,最大的问题是数据太少,总共只有 10,717 条数据,导致大部分的模型参数不能太多,要不然会有过度拟合 (over fitting) 的现象发生。

相较於另一个数据库,NYT dataset,总共有 695,059 条数据,採用半监督式学习:distant supervision 来收集数据。这个数据库有足够大的数量来进行大型神经网络的实验。

出於这个动机,本文进行大型神经网络在 NYT dataset 数据库的实验,并提出深度残差网络来解决 distant supervision 带来的噪声干扰。


问题探讨

我们使用卷积神经网络来进行关系抽取,取经於计算机视觉与深度卷积神经网络的成功,我们透过增加层数,来增加神经网络的参数,希望可以帮助关系抽取的学习。结果如图一:

图一、各式卷积网络的结果

但我们却发现,使用 9 层卷积神经网络 (CNN-9) 的效果,并没有单层 (CNN) 的好。这个结果跟过往的经验违背。我们猜测原因是,在 distant supervision 的数据裡面,有太多错误标签的数据,这些数据带来太多的噪声,而这些噪声随著越深层的神经网络而被放大,导致 9 层卷积神经网络 (CNN-9) 的结果比单层 (CNN) 更差。为了解决这个问题,我们使用残差网络,来帮助网络的特征学习。

残差网络在半监督式学习的应用

基于上面的实验,我们知道浅层网络在 distant supervision 的数据库中,能学习到比较好的特征。于是,我们设法让浅层网络的特征,可以跳跃传递至深层网络。

图二,残差网络在关系抽取的架构

如图二所示,我们使用拥有两层卷积网络的残差区块,将浅层网络的特征传到较深层的网络。特过这样的设计,我们可以依照数据库的大小,来堆迭网络架构,让网络可以选择较不被噪声影响的那层网络特征来进行关系分类。


结果

这篇文章,提出一种,解决 distant supervision 噪声对大型网络影响的方法。在表一,我们可以看到,9 层的残差网络,与 state-of-the-art(PCNN+ATT) 的模型,有差不多的结果,并在高顺位候选的关系上,有更棒的效能。证明,利用残差网络,可以在 distant supervision 的数据库中,抽取更有用的特征。

表一,残差网络与其它网络结构的结果比较

结论

本篇文章提供读者、研究人员可以在 distant supervision 的数据库使用大型深度神经网络。但要注意,此种半监督式学习的噪声,会影响到实验结果。利用残差网络可以解决这样的问题,这篇文章在关系抽取的研究上,证明其结果。

Yann LeCun的“层级损失函数”:牧羊犬和摩天大楼,哪个更像哈巴狗?

近期Yann LeCun的新作《Hierarchical loss for classification》已经放在了arXiv上,联合作者为Facebook人工智能研究院的Cinna Wu和 Mark Tygert。


在这篇文章中,作者认为在分类任务中,一般的神经网络模型(例如LeCun, Bengio 和 Hinton等人2015年中的模型,其他研究的模型也大多基于此展开的)很少会考虑到类型之间的亲疏关系,例如这些模型的分类学习过程中并没有考虑牧羊犬事实上比摩天大楼更像哈巴狗。在文章中,作者通过“超度规类树”构造了一种新的损失函数,称为“层级损失函数”。这种损失函数因为内含了类型树中不同类之间的亲疏关系,预期中应当能够增强分类学习的效果。不过经过六组实验的对比,作者发现结果并没有显著的改进。作者认为,不管怎么着吧,至少这表明层级损失函数能用。

AI 科技评论认为,它不仅能用,还极具潜力,因为LeCun只是用了最简单的“超度规类树”来阐述这种思想,相信在选用更合适的超度规树后,分类学习会得到一个更好的结果。下面我们来看具体内容。


构建层级损失/获得函数


注:由于获得函数(Win Function)与损失函数是同一个内容的相反表示,训练过程其实就是在寻找最小的损失函数或者最大的获得函数。所以接下来只考虑层级获得函数的构建。

构建层级获得函数,首先需要一个类树,也即将待分的所有类按照亲疏关系放到一颗关系树中,每一个类都是类树中的“树叶”。对于一个输入,分类器会映射到类树每个树叶上一个概率值,也即一个概率分布(图中P1-P7)。类树中每个节点处,文章中规定,其对应的概率值为其下所有树叶概率值的和,如图中所示。显然在不考虑计算机的浮点误差的情况下,“根部”的概率应该为1。

另一方面,对每个“节点”和“树叶”都赋予一个权重。文章中规定,“根部”的权重为1/2,随后每经过一个“节点”,权重乘以1/2,直到树叶;树叶的权重由于是“树”的末端,所以其权重要双倍,如图所示。

如果我们输入一张A的图片,那么我们可以计算其层级获得函数W:

其中

从上面可以看到,事实上层级获得函数的构造非常简单,就是一个结构权重向量和概率分布向量的一个点乘。同样可以看出,不管分类器给出什么样的概率分布,层级获得函数的范围都在[1/2,1]区间内;当P1=1时,W最大,为1;而当P5、P6、P7中的任意一个等于1时,W最小,为1/2。在类树中接近A的类的概率越大,层级获得函数值就越大,所以层级获得函数在某种程度上隐含了类之间亲疏的关系,也构建了分类器准确度的一种度量。


一种改进:获得函数的对数


有时候分类器给出的分布可能不是概率,这时候为了获得一个正则的分布,我们可以使用softmax函数的方法,也即将(x1, x2, x3, ……xn)的分布序列转换成

这样的概率分布,显然满足正则性,且分布在(0,1)区间内。这种方法不仅可以对向量进行归一化,更重要的是它能够凸显出其中最大的值并抑制远低于最大值的其他分量。

当采用softmax函数的结果作为概率分布时,最好是使用层级获得函数W的对数进行优化学习,而不是W本身。使用logW进行优化的好处之一就是,当输入样本为多个独立样本时,它们的联合概率将是它们概率的乘积;这时候对这些样本的获得函数W进行求平均就具有了意义(在特殊情况下logW的平均将等于联合概率的对数)。

文章中对logW’ 的构建为:舍掉W中“根部”的项,然后将剩下的部分乘以2,此时W’=(W-1/2)*2的范围在[0,1]之间(其中0对应最错误的分类,1则对应完全正确的分类),相应的,logW’将在(-∞,0]之间。

这就会导致一个问题。当多个独立样本,求log W’的平均值时,只要有一个出现了最错误的判断,那么不管其他样本的结果如何,log W’的平均值都会等于无穷大。所以这种方法对样本及学习过程都有非常严格的要求。


实验结果不理想


作者随后用Joulin等人的fastTest文本分类监督学习模型对层级获得函数进行了六组实验(六个数据集)。结果如下:

说明:
(1)flat表示没有分类的情况(没有分类相当于类树只有一个层级),raw表示用层级获得函数进行训练,log表示用负的层级获得函数的对数进行训练,course表示在层级中使用通常的交叉熵损失函数只分类到最粗糙类(聚合)。

(2)one-hot win via hierarchy 表示喂给层级获得函数的概率分布为独热码(只有一个为1,其余为0)

(3)softmax win via hierarchy 表示喂给层级获得函数的概率分布为softmax函数的结果;

(4)−log of win via hierarchy 表示(3)中层级获得函数的负自然对数;

(5)cross entropy表示使用交叉熵损失函数计算的结果,这种情况相当于类树只有一个层级;

(6)coarsest accuracy 表示最粗糙分类正确的比例结果;

(7)parents’ accuracy 表示父级分类正确的比例结果;

(8)finest accuracy 表示分类到最终每一个类中正确的比例结果。

(9)最后一行的“higher”和“lower”分别表示相应的列中“越大”和“越小”的值越好。


通过以上结果,我们可以看到很多时候,通过层级获得函数优化的结果并没有原来通过交叉熵损失函数优化的结果好。那么,LeCun的这项工作白做了吗?也并不是,至少它表明在一定程度上层级获得函数能够用做作为分类准确度的度量,它暗示了一种可能:当有采用更合适的层级获得函数时,效果可能会超过当前所常用的交叉熵损失函数等方法。

为什么说AI创业不是4、5个人的团队就能搞定的事

在人工智能领域内的一系列突破点燃了无限商机,大公司希望抓住机遇来加强现有职位,小公司希望借助新技术来提升市场领先地位。作为FirstMark的投资者,Matt Turck已经看到机器学习领域内的初创正在跃跃欲试。Matt Turck曾任Bloomberg Ventures常务董事,现为FirstMark Capital合伙人。


以下Matt Turck对于机器学习型初创公司发展模式的讨论,哪些是推动生态系统发展的原因,以及为什么它们看起来与之前的SaaS初创公司不同。


采访人Sam DeBrule是人工智能、技术、创业等领域的优秀博主。在Medium社区,他有8600多粉丝。他的《机器学习和人工智能的非技术指南》、《如何找到一个值得工作的创业公司》等文章获得了许多喜爱。



Sam:Matt,请你简单介绍一下自己以及你所做的工作吧。


Matt:我是纽约风投公司FirstMark的合伙人,FirstMakr管理着61亿美元的资金,已经成为纽约市最大的早期投资创业公司。作为投资者,我虽然对很多事情感兴趣,但我重点关注的领域有两个。


第一个是“数据领域”,包括大数据、机器学习和人工智能公司,以及将大数据视为护城河的初创公司,如ActionIQ、Dataiku、x.ai、Sense360和HyperScience这样的公司,我很热衷于投资于这样的企业,并时常在博客上讨论这些话题。与此同时,我还运营着一个有着14000名大数据和AI爱好者的社区——Data Driven NYC。


第二是“前沿科技领域”,包括新型计算平台、VR/AR、物联网以及你所能想到的所有流行新事物。同样地,我也会在个人博客上讨论,并运营着一个超过5000人的社区Hardwired NYC。



1. 现在确实是投资AI的最佳时机

Sam:你是在什么时候开始考虑投资机器学习领域?


Matt:我是以数据分析师这个角色进入科技行业的。我是一家搜索引擎初创公司的联合创始人,我们用贝叶斯理论(一种机器学习方法)来进行问题搜索和检索。


实际上,机器学习已经存在于创投领域很多年了。但近年来,因为大数据的出现这个领域变得有趣了许多。大数据技术以合理的成本和速度捕获和处理大量数据。另一方面,它同时加快了机器学习的发展速度,特别是需要大量数据工作的领域,如神经网络。


现在正是投资该领域的最佳时机。在我看来,人工智能确实很热。



2. 营销盖过现实:IBM可能在兑现承诺方面做得最差

Sam:接下来,我们来讨论一个比较犀利的问题。如今众多的AI企业中,哪家企业在兑现消费者承诺方面做得最差?


Matt:根据我从市场上听到的,可能是IBM。


很大程度上,正是因为他们的营销机制和雄心勃勃让他们陷入了一个尴尬的境地:承诺太多,同时间投入在多个领域难以得到市场的满意回馈。据说,只要你愿意花几个月的时间和大量的金钱去训练IBM Waston,你就能用它来实现有趣的事情。但是,很明显,这有些言过其实了。


他们会发现,在每个垂直领域的竞争上都十分激烈。据我了解,他们正在损失大量交易,通常是败给那些更为专注、灵活的小公司。



3. 人才是核心,而创业公司距离人才更近 

Sam:Salesforce是否会走上和IBM同样的路径?


Matt:我觉得不会。当Salesforce创始人Marc Benioff去年宣扬人工智能平台Einstein时,Salesforce公司自己的人都有些害怕,不过这可能是因为Marc本身就爱吹牛。


问题的核心是,创业生态系统的导向和市场收购动作有着直接联系。因为创业公司距离机器学习领域的人才更近,而目前来看,这个因素是该行业的决定性条件。Salesforce和创业生态系统有较强的连接性,这一点很重要。



4. 没有大数据对创业公司的影响并没有想象中大,行业里最敏锐的人正在致力于减少神经网络对大数据的依赖,这是未来的一个方向

Sam:众所周知,专有数据是模型训练的关键,这使得创业公司和大公司相比会处于劣势。是否能找到更小的数据集来为模型提供动力的方法?


Matt:创业公司在这一方面确实处于劣势,但是这同时也会让他们具备更多创造性,让资源变得丰富。


从技术角度来说,当下该行业中最敏锐的人(不仅仅是初创公司里的人)正在致力于让神经网络在数据量较少的情况下发挥作用。在可以看得到的未来里,这将是这个行业前进的方向。


几家我很熟悉创业公司已经取得了一些真正的进展,并在迁移学习方面做了一些有趣的事情。话虽如此,这似乎还是一个特别棘手的问题,所以还需要些时间。


同时,创业公司也正在寻找多种的方法获得他们所需要的大型数据集。例如医学成像领域的人工智能公司,他们中的一些人在与特定医院建立了合作后,能安全地访问一些特定的放射影像数据库。在保险、工业机械、农业等领域也同样如此。


另外,获取数据只是挑战的中一部分,你还需要给它贴上标签,以便深入学习。一些创业公司在世界各地雇佣了一大批人,用Mechanical Turk(Amazon旗下的公司,网络交易平台)的套路来给他们的数据贴上标签。


我还看到其他一些创企聘请了一些行业专家来给特定类型的数据贴上标签,比如一个外科医生精英组给最复杂的医疗图像数据集贴标签。



5. 理论上,任何人都能收集到足够多的数据,形成马太效应 

Sam:基于Netflix、Spotify和Facebook等平台,我们看到数据集带来的马太效应。哪些初创公司在构建下一代强大的数据马太效应?


Matt:理论上,任何人都能从多个用户那里收集到足够多的数据,在集合数据集上运行算法,并将学习反馈给每个客户的机器学习企业这些都可以从数据网络效应中受益。


以x.ai项目为例,人工智能助手安排的会议越多,得到的数据也就越多,算法随即变得越聪明。算法越智能,体验也就越好。反过来,体验越好,人们也就会更愿意使用x.ai来安排会议,从而x.ai就能获得更多的数据。如此良性循环下去。这便是数据网络效应。


这种效应的奇妙之处适用于很多创业公司,从像x.ai帮助人们安排会议的公司,再到像Phosphorous帮助医院经营基因检测实验室的公司都能适用。


在B2B模式背景下,通常不会轻易受到数据聚集带来的马太效应影响,因为企业都很注重对数据的保护,比较抗拒把自家数据和所在行业其他公司的数据掺糅在一起。


另一方面,数据集造成的门槛问题也将在一定程度上得到解决。谷歌搜索在几个月前发表了一份关于联合学习的文章,文章的想法是:在不实际收集数据的情况下支持协作式机器学习。这就可以解决所有关于数据隐私的担心,充分利用各类数据网络效应了。


不管怎样,数据网络效应的影响要几年才能发挥出来。创企要建立客户基础来收集足够的数据,这才能让他们的模型进行学习。不过,一旦完成,企业就会形成较强的竞争力。



6. 人工智能创业不是简简单单4、5个人就能搞定的事

Sam:人工智能是否将成为创业公司的“最佳市场策略”?


Matt:我认为,大多数的人工智能创企最终都会趋同。例如,由于不同行业的特点、客户规模、价格等,面临着多种不同的市场策略供创业者选择,然而这些公司最后将会变得和软件或SaaS公司类似。但是,我们还远未达到那种程度。现在,建立机器学习产品还需要大量的研发,训练算法需要大量的时间、精力、技术资源以及数据。


再引用x.ai的例子。x.ai成立了数年时间,雇佣数十名数据科学家和机器学习工程师,花费数百万的风投基金才建立起AI后端,以提供其高水平的自动化和可靠性。这样高的门槛,使得机器学习企业很难成为精益创业企业,至少现在看来是这样。对于这些创业团队,构建一个真正以AI技术为驱动的可行产品仍比较困难。任何一款运作良好的AI产品,都需要基于大量数以训练算法,并定制完善产品。


比较常见的情况是,AI创业团队以大额预算来追求大体量客户,自上而下销售产品,基本上遵循合作策略。即在早期,与少数客户建立紧密合作的基础上,尽可能多地迭代产品。基于大量服务来解决客户问题的模式,以达到在工作中构建软件的目的,积累可重复使用的案例,再将其服务转化为产品。模式稳固,但销售周期比较长。


但这个阶段只是暂时的。随着机器学习的大众化和开源化,我们能得到更多的开源数据集和算法、更多训练有素的工程师。未来,机器学习的初创企业会像其他领域的公司一样变得多元化。



7. AI型创业公司必须提供10倍产能

Sam:投资人是否会将人工智能创业公司视为收购标的,或者是否看好这些创业企业发展为大型独立公司?


Matt:考虑到风险投资的经济效益,后者的可能性更大。近年来,大公司收购各种小型AI公司的确形成了一股潮流。但这种现象背后的原因在于,人们坚信AI的美好未来,并且机器学习领域的人才稀缺。所以,有机会近距离接触研究实验室的公司可能获得相当可观的投资。不过,这种情况正在减少。


这就是为什么像我这样的投资者对垂直人工智能创企会如此感兴趣。在垂直领域方面,创企的专注度更高,而且他们的服务和产品能够有别于大公司。当大公司嗅到商业气味的时候,创企已经能取得不小的成就。


只要找准定位,人工智能可以成为真正的差异化因素。AI技术确实会对产品性能产生巨大影响,能够提供比现有质量好上10倍的产品。


不论你是创业者还是投资人,目的都是利用下一个市场拐点来获得发展。几年前,这个拐点是SaaS,现在是人工智能。当然,这个时间窗口终究会结束。但是,现在很多的人工智能企业都有机会成为这一行业的领军人。

使用GPU机器学习的快速ID识别技术,效率提升50%

据说英国人一生中有六个月在排队;美国人全年要花370亿小时来排队。


IDnow是一家德国金融科技公司,致力于减少人们日常生活中的麻烦。该公司的GPU加速识别解决方案,让人们在需要照片ID的场合(如在银行开户)免于排队。


通过IDnow的视频识别系统Video-Ident,用户只需一个带摄像头的移动装置、网络、身份证件,便能足不出户,轻松完成识别。


当用户需要识别身份签署合同时,一位身份识别专家将会出现在视频通话中,指导用户完成IDnow身份识别过程。这位专家会核对用户的身份资料,确认信息,从而完成识别。如果用户需要签署保密性更高的合同(例如信用卡申请表),IDnow eSign将提供符合最高安全标准的电子签名。


最近,IDnow开始使用深层神经网络,使其解决方案更精准高效。GPU加速深度学习技术能在嘈杂的视频环境中,精准定位身份证件,进行分类,并识别其中特定数据。


IDnow的图像识别算法已经学会如何识别模式,并通过对海量数据的分析进行适当预测。算法甚至可以自动判断身份证件中的面部是否和视频中的人物相匹配。


算法成功建立人脸匹配时,身份识别才得以完成。这意味着IDnow能减少潜在欺诈。


IDnow联合创始人兼首席技术官Armin Bauer表示,“我们希望人们把时间花在更重要的事上。我们的在线识别产品让人们从日常繁琐里解放出来。通过应用GPU技术,我们的解决方案将更加高效。“


社会节奏越来越快,排队无疑是一种浪费时间。金融科技深知这点,一些大玩家已经开始采用IDnow的解决方案。


德国最大银行之一——德国商业银行致力于为顾客提供简易快捷的服务。多亏了IDnow的视频识别技术,顾客可以快捷开户。该银行的开户率提升了50%。

滴滴CTO张博港科大演讲:详解未来交通变革的三层“折叠”

9 月 18 日,滴滴出行与香港科技大学达成战略合作,滴滴出行 CTO 张博出席了签约仪式,并受邀与数百名港科大师生面对面互动交流。张博在演讲中不仅分享了滴滴在智慧交通领域的实践经验,也畅谈了其对未来交通出行的发展趋势的判断。在他看来,交通在未来 10 年会发生剧烈变革, 而滴滴已经在关键领域进行积极布局,希望能成为这一变革的引领者、推动者。

(滴滴CTO张博与香港科技大学师生现场合影留念)

未来交通变革的三层“折叠”

张博在演讲中提及,过去五年间,滴滴成功推动了交通工具的线上化,并利用人工智能方面的技术创新显著提高了用户的出行效率和乘车体验。但在他看来,这些科技创新只是刚刚开始,未来 10 年交通还会发生剧烈变革,就如同一百多年前从马车到汽车的变革一样。

张博认为,未来的交通变革会体现在三个层面:

  • 最下面的一层是交通基础设施,包括智能红绿灯、动态道路分配、更科学的路网设计等,目标是最大化道路使用效率;

  • 中间一层是车辆交通工具本身的变革,智能化、新能源化将是趋势;

  • 最上面一层则是共享出行,越来越多的人会放弃拥有车,而是共享车,并且共享的颗粒度会从车的维度降维到座位,这样整个社会需要的车辆数量会显著下降,这是解决拥堵最快、最有效的方法。

「我们看到,城市即使在拥堵的时候,道路也没有被充分使用,我们研发的潮汐车道、智慧信号灯就是在解决这些问题」,据张博介绍,在过去五年来,滴滴在城市交通领域利用大数据技术能力、产品和经验,为未来交通发展提出了一套解决方案。

自今年年初,滴滴就在济南上线了国内首个以浮动车轨迹作为数据基础的「智慧信号灯」,目前这一「智慧信号灯」优化已经扩展至武汉、成都、苏州、贵阳等城市,优化总数超 200 个,以武汉为例就让江发路早高峰各路口平均延误时间降低近 30%。此外,大数据和人工智能在滴滴平台已经有广泛的应用,以供需预测为例,当前滴滴对 15 分钟后供需预测的准确度达到了 85%。

在谈及交通出行的未来时,张博认为未来城市会拥有一个智能交通大脑,可以对未来的出行需求进行全局预测和提前调度---它是中心化控制整个交通体系,调度交通基础设施,调度车辆和出行需求的匹配。「这也是我们对未来交通的设想,而这一切不会很遥远,我们看到很多变革正在发生、即将发生,就在未来的十年」,张博补充道。


滴滴技术突破的内生与外延


(9月18日,滴滴出行与香港科技大学达成战略合作,双方代表签署合作协议)

据AI科技评了解,早在2015年,滴滴就在北京成立滴滴研究院,工程师和数据科学家与业务运营团队深入合作,提升大数据算法的精确度和效率,今年3月,滴滴还在硅谷成立了美国研究院,以集聚顶尖科研人才,投入大数据安全和智能驾驶两大领域的研究。

关于滴滴在科研方面的投入与合作,可参看往期文章:与港科大合作,只是滴滴吸引科研人才的一小步

在持续把研究成果转化为生产力的同时,滴滴也在积极促进创新资源的协同,通过政企合作、产学研联动,开始着手构建一个全球创新网络,持续吸引培育顶尖科研人才。此次滴滴与香港科技大学签订的战略合作协议显示,双方会在前沿技术研发、人才培养、学术交流、创业项目孵化等领域深入合作,联合申请各类政府研发项目及重大专项,助力智慧城市建设。

在交流现场,张博也表示了对合作的期待:滴滴一直非常期待能同高校、科研机构紧密合作,建立良性人才的合作机制,共同培养更多具有创新意识、更适应未来的尖端人才,“我们和港科大的合作机制也会马上运转起来,共同助推香港智能交通的发展。”

技术与创新是实现这一变革的推动力。当前滴滴的智慧交通和大数据团队也正吸引着更多全球人才加盟。张博在演讲中也坦言,滴滴会坚定地在技术和人才方面持续加大投入,把交通引向一个更好未来。

人工智能时代,技术人员应该掌握的 5 项技能

在2016年,人工智能公司产生的资金收入估值达到了80亿美元,并且这一数字有望在未来的三年内翻五倍。企业家们都纷纷投资人工智能,不仅将其作为一种降低成本的方式,还用它来改变客户和员工体验。


埃森哲发布的2017科技愿景显示,在超过5400个IT业和企业高管中,大约有79%的人认为人工智能将加速其组织内技术的使用。人工智能的颠覆性发展已是既定的事实,但其颠覆性发展对于劳动力的影响才是让企业最难以描述和处理的部分。现在必须明确的是,各个行业的领导应该要开始采取正确的方式看待不同类型的员工——不管是人类员工,还是机器员工——在将来的劳动市场中发挥的作用。


这些对劳动力的影响在IT领域表现得尤为突出。从分析到云计算,CIO正处理着大规模的破坏,对于IT组织推动行业变革、开启行业能力来说,人工智能既是个巨大的挑战,也是一个百年难遇的机会。为了抓住机遇,IT企业领导人必须采取果断的行动,重塑企业内部人员的能力和技能,迎接人工智能未来。想要抓住机器学习和人工智能价值,有5个关键的能力是技术人员必须掌握的。


1.机器管理能力

“机器将取代人类”——这一潜在的消极影响,很显然让企业管理者和员工很焦虑。一个经常被忽视的问题是:企业中的工作人员如何开发和维护“机器人操作自动化软件”(RPA)、智能机器,或是物理机器人?人工智能作为企业或组织的一项能力,在很大程度上仍处于起步阶段。这就意味着,在大多数情况下,人工智能的使用是一种在组织内的扩散。相应地,其系统性仍是不成熟且分散的。IT企业有能力开发技术体系结构,并且开启整个行业智能机器的未来。然而,这种能力并不是IT组织与生俱来的。CIO和IT行业必须联合其发展路径,通过对人工智能的训练和开发,使其从传统简单的“开灯”行为,在将来高效劳动的人工智能主宰时期,转变为能够作出正确决断的范例的角色。


2.流程资讯能力

从改进企业发展进程以达到其最优的顶线或底线结果的角度来看,IT企业长期以来都是未得到充分利用的资源。举个例子,人工智能对大量信息的加工处理能力是人类难以达到的,这一能力能够极大地提高反洗钱操作的效率和质量。也就是说,人工智能可以通过合成数据、作出基本决策等方式,在操作流程中增加人类决策的比例。这也意味着人类必须重新设计其操作、重塑其能力,来支持集成的方法和应对更加复杂的决策。人工智能正在以人类尚未掌握的方法,改造着传统的以客户为中心的、内部的操作过程。这显然是传统的企业操作管理与RPA操作的融合。更广泛地说,除了RPA以外还有很多例子,比如说客户语音识别身份验证系统,它能在一些行业中极大地改善客户沟通服务的质量。


3.平台及数据管理能力

技术人员必须具备强大的信息处理和技术平台管理能力。机器学习方法只能生成与输入数据质量相当的预测模型。组织和数据质量对企业来说显然不是一个新的挑战了。如果一个人不具备支持和处理模型及平台的能力,人工智能将会遭遇瓶颈,尽管如此,人们还是会冒险一试。IT企业将自己重新打造成一个有组织的云供应商,新的技术和架构概念需要IT团队企业的数据管家,并最终打破部门隔阂,利用机器学习的力量。


4.算法意识

并不是所有人都要成为一个数据科学家,但是对于技术人员来说,拥有基本的数据处理能力和描述人工智能算法从创建到最终输出数据全过程的能力,确实非常重要的。一个企业有着两个核心的利益来源。第一,IT能够向企业描述人工智能能力,并与企业合作不断地改进模型。第二,对驱动机器学习的数学概念的基础性理解,能够开启知识和创造力。这一创造力使IT组织在构建人工智能能力框架的同时,为企业创造积极的效益。举例来说,埃森哲与美国史蒂文斯理工学院合作,在重要领域开发先进的劳动力分析能力。


5.领导力和判断力

日常的行政工作占用了我们大量的时间,但在将来,机器会帮我们处理这些工作,成为我们的“好同事”。到那时候,公司的所有员工不仅需要接受一个机器掌握决策权的新世界,还需要在更具挑战性的决策中运用自己的判断力。完成这样的转变,你需要具备更加专注的解决问题的能力,同时掌握像机器能够处理并最终得出正确的指导性回应一样的、构建问题的技巧。

为了尽快掌握这些相关的能力和技巧,企业领导者们现在应该做些什么呢?首先,开展一个内部学习活动,重点介绍人工智能技术和人工智能带来的好处,减少员工对机器的恐惧,从而为人工智能“入驻”劳动力做好准备。通过一系列的虚拟活动和亲身体验活动,企业就能让员工进一步理解人工智能,并提升其人工智能的能力。这些活动的水平是可以根据劳动力及其能力水平进行调整的,这样才能让人们循序渐进地提高他们的能力。


另外,探索人工智能的工作动态,你需要向人们不断地强调这样一点:“人工智能让工作更高效,它减少的是我们的工作量,而不是工作岗位。”甚至可以在活动中部署人工智能原型或者进行实际操作演练。最后,做一个总结,提高大家,尤其是企业管理者在利用人工智能上的创造力、开放性和灵活性。


机器就在我们身边。不久,世界上所有的公司、政府都将出现机器的身影。团队的领导者们将没有理由不采用这些自动化和增强技术。IT人员们面临的机遇就是进行劳动力重塑,让他们的员工掌握人工智能是未来必备的能力。把精力先集中在那些能够进行高效管理的机器,然后关注他们所使用的数据和算法,最后是他们的领导力和判断力,这样,技术人员就能够在他们的组织中推动人工智能的优化。

Facebook开源 PyTorch版 fairseq,准确性最高、速度比循环神经网络快9倍

今年5月,FacebookAI研究院(FAIR)发表了他们的研究成果fairseq,在fairseq中,他们使用了一种新型的卷积神经网络来做语言翻译,比循环神经网络的速度快了9倍,而且准确性也是现有模型中最高的。此外,他们在GitHub公布了fair序列建模工具包的源代码和训练好的系统,其他的研究者可以在此基础上建立自己的关于翻译、文本总结和其他任务的模型。

日前,FacebookAI研究团队又在GitHub上开源了fairseqPyTorch版本。


相关介绍

fairseq是FacebookAI研究院发布的一个序列到序列的学习工具,它的原作者(排名不分先后)是SergeyEdunov、MyleOtt和SamGross。该工具包能实现Convolutional Sequence to Sequence Learning(地址:https://arxiv.org/abs/1705.03122)中描述的全卷积模型,并能在一台机器上进行多GPU训练,也能在CPU和GPU上快速产生束搜索(beamsearch)。在开源的数据中,他们提供了英译法和英译德的预训练模型。



引用

如果你的论文中用了FAIR的相关代码,可以这样引用:

@inproceedings{

    gehring2017convs2s,
    author = {Gehring, Jonas, and Auli, Michael and Grangier, David and Yarats, Denis and Dauphin, Yann N},
     title = "{Convolutional Sequence to Sequence Learning}",
     booktitle = {Proc. of ICML},
     year = 2017,
}


工具和安装

  • macOS或是Linux系统的电脑

  • 要是想训练新的模型,需要用到NVIDIA GPU和NCCL(https://github.com/NVIDIA/nccl)

  • Python 3.6

  • 安装PyTorch(http://pytorch.org/)

目前的fairseq-py需要从GitHub库中获得PyTorch,有多种方式安装它。我们建议利用Miniconda3,执行如下的步骤。

1、安装Miniconda3,激活 Python 3环境

https://conda.io/miniconda.html

2、安装PyTorch

conda install gcc numpy cudnn nccl
conda install magma-cuda80 -c soumith
pip install cmake
pip install cffi

git clone https://github.com/pytorch/pytorch.git

cd pytorch
git reset --hard a03e5cb40938b6b3f3e6dbddf9cff8afdff72d1b
git submodule update --init
pip install -r requirements.txt

NO_DISTRIBUTED=1 python setup.py install

3、在GitHub中复制和执行如下代码来安装fairseq-py

pip install -r requirements.txt
python setup.py build
python setup.py develop


快速开始

你将需要使用到如下的命令:

  • python preprocess.py: 数据预处理: 构造词汇和二进制训练数据

  • python train.py: 在一个或多个GPU上训练新的模型

  • python generate.py: 用训练好的模型翻译预处理之后的数据

  • python generate.py -i:用训练好的模型翻译新的文本

  • python score.py: 通过与参考译文对比,给出生成译文的BLEU分数

评估预训练模型:

首先,下载预训练好的模型和词汇:

$ curl https://s3.amazonaws.com/fairseq-py/models/wmt14.en-fr.fconv-py.tar.bz2 | tar xvjf -

模型中用的是BPE词汇(https://arxiv.org/abs/1508.07909),用户必须在翻译之前将编码应用到源文本。可以用apply_bpe.py 脚本中的wmt14.en-fr.fconv-cuda/bpecodes文件。@@是延续标记,原始文本可以通过sed s/@@ //g来恢复,此外把 --remove-bpe 标记传递到generate.py也有同样的作用。在生成BPE词汇之前。输入文本需要用mosesdecoder中的tokenizer.perl来标记。

下面是利用python generate.py -i产生翻译的例子, beam size为5:

$ MODEL_DIR=wmt14.en-fr.fconv-py
$ python generate.py -i \
--path $MODEL_DIR/model.pt $MODEL_DIR \
--beam 5
| [en] dictionary: 44206 types
| [fr] dictionary: 44463 types
| model fconv_wmt_en_fr
| loaded checkpoint /private/home/edunov/wmt14.en-fr.fconv-py/model.pt (epoch 37)
> Why is it rare to discover new marine mam@@ mal species ?
S       Why is it rare to discover new marine mam@@ mal species ?
O       Why is it rare to discover new marine mam@@ mal species ?
H       -0.08662842959165573    Pourquoi est-il rare de découvrir de nouvelles espèces de mammifères marins ?
A       0 1 3 3 5 6 6 10 8 8 8 11 12


训练新模型

数据预处理

fairseq-py工具包中包含用于IWSLT 2014德转英语料库的一个预处理脚本样例。先将数据进行预处理和二进制编码:

$ cd data/
$ bash prepare-iwslt14.sh
$ cd ..
$ TEXT=data/iwslt14.tokenized.de-en
$ python preprocess.py --source-lang de --target-lang en \
 --trainpref $TEXT/train --validpref $TEXT/valid --testpref $TEXT/test \
 --thresholdtgt 3 --thresholdsrc 3 --destdir data-bin/iwslt14.tokenized.de-en

这将会得到能够用于训练模型的二进制数据。

训练

用python train.py来训练新的模型,下面是能很好的适于 IWSLT 2014数据集中的一些样例设置。

$ mkdir -p checkpoints/fconv
$ CUDA_VISIBLE_DEVICES=0 python train.py data-bin/iwslt14.tokenized.de-en \
 --lr 0.25 --clip-norm 0.1 --dropout 0.2 --max-tokens 4000 \
 --arch fconv_iwslt_de_en --save-dir checkpoints/fconv

默认情况下,python train.py会占用电脑中所有可用的GPU,可以用CUDA_VISIBLE_DEVICES环境来选择特定的GPU,或者改变使用的GPU数目。

有一点需要注意,batch大小是基于每个batch的最大token数来设置的,你需要基于系统中可用的GPU内存,选取一个稍小的值。


生成翻译

模型训练好之后就能利用python generate.py(用于二进制数据)或python generate.py -i(用于未处理文本)生成翻译了。

$ python generate.py data-bin/iwslt14.tokenized.de-en \
 --path checkpoints/fconv/checkpoint_best.pt \
 --batch-size 128 --beam 5
 | [de] dictionary: 35475 types
 | [en] dictionary: 24739 types
 | data-bin/iwslt14.tokenized.de-en test 6750 examples
 | model fconv
 | loaded checkpoint trainings/fconv/checkpoint_best.pt
 S-721   danke .
 T-721   thank you .
 ...

如果只想用一个CPU,加入--cpu标记。可以通过--remove-bpe移除掉BPE标记。


训练好的模型

目前开源的全卷积序列到序列模型如下:

  • wmt14.en-fr.fconv-py.tar.bz2(https://s3.amazonaws.com/fairseq-py/models/wmt14.en-fr.fconv-py.tar.bz2): 用于WMT14英译法的模型,包含词汇

  • wmt14.en-de.fconv-py.tar.bz2(https://s3.amazonaws.com/fairseq-py/models/wmt14.en-de.fconv-py.tar.bz2): 用于WMT14英译德的模型,包含词汇

针对以上模型,已经预处理和编码过的测试集如下:

  • wmt14.en-fr.newstest2014.tar.bz2(https://s3.amazonaws.com/fairseq-py/data/wmt14.en-fr.newstest2014.tar.bz2): 用于WMT14英译法的newstest2014测试集

  • wmt14.en-fr.ntst1213.tar.bz2(https://s3.amazonaws.com/fairseq-py/data/wmt14.en-fr.ntst1213.tar.bz2): 用于WMT14英译法的newstest2012和newstest2013测试集

  • wmt14.en-de.newstest2014.tar.bz2(https://s3.amazonaws.com/fairseq-py/data/wmt14.en-de.newstest2014.tar.bz2): 用于WMT14英译德的newstest2014测试集

下面是在一块GTX-1080ti上利用测试集产生结果的样例(英译德),运行在batch模式下:

$ curl https://s3.amazonaws.com/fairseq-py/models/wmt14.en-fr.fconv-py.tar.bz2 | tar xvjf - -C data-bin
$ curl https://s3.amazonaws.com/fairseq-py/data/wmt14.en-fr.newstest2014.tar.bz2 | tar xvjf - -C data-bin
$ python generate.py data-bin/wmt14.en-fr.newstest2014  \
 --path data-bin/wmt14.en-fr.fconv-py/model.pt \
 --beam 5 --batch-size 128 --remove-bpe | tee /tmp/gen.out
...
| Translated 3003 sentences (95451 tokens) in 81.3s (1174.33 tokens/s)
| Generate test with beam=5: BLEU4 = 40.23, 67.5/46.4/33.8/25.0 (BP=0.997, ratio=1.003, syslen=80963, reflen=81194)

# Scoring with score.py:

$ grep ^H /tmp/gen.out | cut -f3- > /tmp/gen.out.sys
$ grep ^T /tmp/gen.out | cut -f2- > /tmp/gen.out.ref
$ python score.py --sys /tmp/gen.out.sys --ref /tmp/gen.out.ref
BLEU4 = 40.23, 67.5/46.4/33.8/25.0 (BP=0.997, ratio=1.003, syslen=80963, reflen=81194)