2017年深度学习领域实现了哪些可喜的成果?

本文由 【AI前线】原创:t.cn/RHxwjPUgit


做者|Ed Tyantov          译者|Debra         编辑|Emilygithub

AI 前线导读:“过去一年里,深度学习文字、语音和计算机视觉技术均获得了巨大的发展,实现了一些可喜的成果。算法

这篇译自数据科学家 Ed Tyantov 的文章对过去一年(以及更长的一段时间)里,深刻学习取得的最新成果进行了总结和评估,并告诉你们可能影响咱们将来的最重要的发展趋势。”数据库


文本编程

Google 神经机器翻译api

大约一年前,Google 宣布推出 Google 翻译新模型,并详细介绍了该网络的结构——递归神经网络(RNN)。安全

  • 机器学习翻译和谷歌翻译算法
  • 机器翻译引擎的基本原理
  • blog.statsbot.co

主要成果: Google 神经机器在翻译的准确性方面与人类的差距缩小了 55-85%(人类为 6 分)。然而,若是没有 Google 的庞大数据集,此模型不必定能够达到这样的效果。服务器

聊天机器人创造语言?No!只是谣言而已网络

你可能据说过 Facebook 关闭了他们公司的聊天机器人这个好笑的新闻,听说缘由是这个机器人失控了,而且发明了本身的语言。这是由 Facebook 建立的谈判机器人,目的是与另外一个 agent 进行文本谈判并达成一个协议:如何将物品(书、帽子等)分为两部分。在谈判中,每一个 agent 都有各自的目标,而另外一个对此绝不知情。架构

在训练过程当中,他们用一我的类谈判的数据集对监督式反馈神经网络进行训练,随后使用强化学习算法,训练另外一个 agent 与本身对话,并设置限制,这一点与人类语言类似。

而后机器人很快学会了人类在谈判中常用的那一套策略,好比对交易的某些方面表现出虚假的兴趣,而后在谈判后期放弃这一点,并转而达到实际目的而从中受益。这是人类首次尝试创造这样一个互动机器人,并且很是成功。

完整的故事在这篇文章中有描述,机器人的代码也是开源的。

固然,那些声称机器人发明了一种语言的媒体彻底是捕风捉影。训练时(与同一 agent 协议),Facebook 禁止了文本与人类的类似性限制,并修改了互动的语言,这其实没什么特别之处。

在过去的一年中,人们开发反馈性神经网络的积极性很高,并已经将其应用到许多任务和软件中。 RNN 的架构变得复杂不少,可是在一些领域,使用简单的前馈网络 DSSM 也取得了相似的成果。例如,Google 邮件的功能“智能回复”,能达到与 LSTM 相同的效果。此外,Yandex 还基于这一神经网络推出了一个全新的搜索引擎。


声音

WaveNet:原始音频生成模型

DeepMind 在这篇文章中报道了关于生成音频的模型。简言之,这个团队的研究人员在图像生成方法(PixelRNN 和 PixelCNN)的基础上生成了自回归全卷积 WaveNet 模型。

该网络为端对端训练模型:输入文本、输出音频。与人类相比,该研究的偏差下降了 50%,这是个不错的结果。


然而,WaveNet 的主要缺点是效率低,这是由于自动回归,声音按序生成,建立一个一秒钟长度的音频就须要大约 1-2 分钟。

案例:

storage.googleapis.com/deepmind-me…

若是消除网络对输入文本的依赖性,只依靠先前生成的音素,那么该网络将生成相似于人类语言的无心义的音素。

生成声音的例子

这种模式不只适用于演讲,也适用于创做音乐。想象一下有一天这个模型能够学习钢琴游戏的数据集(一样不依赖于数据输入),生成音频。

若是对这个模型感兴趣,能够阅读 DeepMind 研究的完整版本。


读唇术

读唇是深度学习超越人类能力,取得的另外一大成果。

Google Deepmind 与牛津大学合做,在文章《Lip Reading Sentences in the Wild》中向世人介绍了他们的“读唇”模型。该模型利用他们收集的电视节目数据集进行训练,读唇能力超越 BBC 频道的专业唇读者。

这个数据集中包含 10 万个带有音频和视频的句子。模型:LSTM 处理音频、CNN + LSTM 处理视频。这两个状态向量最终反馈到 LSTM,从而生成结果(字符)。

在训练期间,这个模型使用了不一样类型的输入数据:音频、视频、音频 + 视频。换句话说,这是一个“全类型”任务模型。


生成奥巴马音频嘴唇同步运动

华盛顿大学对奥巴马总统唇部的运动进行了一项认真的研究。之因此选择他的视频,听说是由于这位总统的演讲视频在网上数量众多,一搜一大把(17 小时的高清视频)。

由于这些音频通过太多“修饰”,因此文章的做者制造了一些拐点(或技巧),以改善文本和时间节点。

结果很惊人。在不久的未来,恐怕咱们在观看一段视频的时候,还得认真考证一番考虑视频的真实性了。


计算机视觉

OCR:Google 地图和街景

Google 大脑团队在他们的文章中,详细介绍了了他们如何在地图中引入能够识别路牌和商店标志 OCR(光学字符识别)的引擎。

在技术开发过程当中,该公司编制了一套新的 FSNS(法国街道名称标志),其中包含许多复杂的案例。

这个网络识别一个标志最多须要四张照片。经过 CNN 提取特征,在空间注意力的帮助下进行缩放(将像素坐标考虑在内),并将结果反馈到 LSTM。

图 1:每张图像通过特征提取器处理,随后把结果连成一个特征图,由“f”表示,使用空间加权组合建立一个大小固定,反馈到 RNN 的矢量 ut。

一样的方法还适用于识别商店招牌名称的任务(可能有大量的“噪音”数据,而网络自己必须聚焦到正确的位置),样本能够达 800 亿张照片。


视觉推理

深度学习还能够完成一种被称为视觉推理的任务,要求神经网络经过根据照片回答问题。例如:“在图片中是否有与黄色金属圆柱体相同尺寸的橡胶材质?”而这个重要的问题直到最近才得以解决,准确度达 68.5%。

此次突破一样是 Deepmind 团队的功劳:在 CLEVR 数据集中,他们达到了 95.5%的精确度,这一成果甚至超过人类。

并且,这个网络架构很是有趣:

  1. 在文本问题上使用预先训练好的 LSTM,获得问题嵌入。
  2. 使用 CNN(只有四层)与图片,获得功能图(表征图片的特征)。
  3. 接下来,在特征图(黄色、蓝色,图下方的红色)造成成对的坐标组合,并添加坐标和文本嵌入。
  4. 经过另外一个网络进行 triple 和求和。
  5. 最终的演示文稿由另外一个前馈网络生成,它负责给出柔性最大值传输函数(softmax)答案。


Pix2 代码

此外,Uizard 公司还建立了一个有趣的神经网络应用:把界面设计者的屏幕截图,并生成一个布局代码。

图 2:使用 DSL 编程的本地 iOS GUI 示例

这是一个很是实用的神经网络应用程序,它可使开发软件的过程更轻松。做者称,这个网络的准确度能够达到 77%。可是,这个项目目前还在研究阶段,目前尚未开始实际应用。


SketchRNN:训练一台机器画画

也许你据说过 Google 开发的 Quick,Draw!,其目标是在 20 秒内绘制各类目标的草图。如谷歌在博客和文章中所述,他们收集了一个数据集来训练神经网络。

这个数据集包含 7 万张草图,现已开源。草图不是图片,而是绘图的详细向量描述(在某一点用户按下“铅笔”,松开开始绘制等)。

研究人员已经使用 RNN 做为编码 / 解码机制,来训练序列到序列的变分自编码器(VAE)。

图 2:RNN 框架原理图

最终,为了适配自动编码器,该模型接收到表征原始图像的本征向量。

因为解码器能够从这个矢量中提取一幅图画,你能够经过改变向量获得新的草图。

甚至经过执行矢量算法来建立一个“猫猪”:


GANs

生成性对抗网络(GAN,Generative Adversarial Networks )是深度学习中最热门的话题之一。GANs 多用来处理图像,因此我用图像来解释这个概念。

  • 生成性对抗网络(GAN):引擎和应用
  • 生成性对抗网如何被用来改善咱们的生活
  • blog.statsbot.co

GAN 的基本原理是两个网络——生成器和鉴别器之间相互竞争。生成器网络生成图片,而鉴别器网络判断图片是真实的,仍是生成的。

示意图以下:

在训练期间,来自随机向量(噪声)的生成器生成图像,并将其反馈到鉴别器的输入端,由鉴别器判断输入的真假性。固然,鉴别器接收到的图像也包括数据集中的真实图像。

因为很难找到两个网络的平衡点,对这样的架构进行训练很是困难。大多数状况下,鉴别器都是获胜的一方,训练也所以停滞。可是,这个系统的好处在于能够解决那些难以设定损失功能的问题(例如提升照片的质量),这样的任务咱们能够交给鉴别器来完成。

GAN 训练最典型的例子是卧室或人像。

以前,咱们考虑过使用自动编码(Sketch-RNN),它将原始数据编码为隐藏表示。生成器一样能够完成这样的任务。

在一我的脸图像项目中,咱们使用了矢量生成图像的方法。你能够改变矢量,看看脸部是如何变化的。

一样的算法在隐藏空间中一样有效:“一个戴眼镜的男人”减去“男人”,再加上一个“女人”就等于“戴眼镜的女人”。


用 GAN 改变人脸的年龄

若是在训练过程当中向隐藏向量输入控制参数,在生成隐藏向量时就能够对之进行更改,以管理图片中的图像。这种方法被称为条件 GAN(conditional GAN)。

在《Face Aging With Conditional Generative Adversarial Networks》这篇文章中,做者也是这样作的。引擎在通过使用 IMDB 上已知年龄演员的数据集训练以后,研究人员能够改变人的面部年龄。


专业照片

Google 还为 GAN 找到了另外一个有趣的用武之地——照片筛选和质量改善。他们使用了专业照片数据集对 GAN 进行了训练:生成器用来改善照片的质量(通过特殊滤镜处理的专业镜头),鉴别器则分辨哪些是通过“改善”的照片,哪些是真正的专业照片。

训练有素的算法经过谷歌街景全景图搜索最佳图片,并搜索到一些专业和半专业的照片(根据摄影师的评级)。


从文本描述中合成图像

GAN 的另外一个使人印象深入的应用案例,是根据文本描述生成图像。

该项目的研究者建议,不只要将文本嵌入到生成器(条件 GAN)的输入中,并且还要将其嵌入到鉴别器中,以便验证文本与图片的对应性。为了确保鉴别器学会执行功能,除了训练以外,他们还为真实图片添加了对应的错误文本。


Pix2pix

2016 年,在众多文章中,Berkeley AI Research(BAIR)的一篇《 Image-to-Image Translation with Conditional Adversarial Networks》(使用 CAN 进行图像——图像翻译)脱颖而出。这项研究解决了图像到图像生成的问题,例如使用卫星图像建立地图,或使用目标草图建立逼真的纹理等。

这是条件 GAN 成功应用的另外一个例子。在这种状况下,条件会覆盖整个图像,在图像分割中很受欢迎的 UNet,则被用做生成器的体系结构,而且使用一个新的 PatchGAN 分类器,做为处理模糊图像的鉴别器(图像被切割成 N 个补丁,而且对每一个补丁进行真 / 假预测)。

研究者发布了这个网络的在线演示,引发了用户的极大兴趣。

源代码地址:

github.com/phillipi/pi…


CycleGAN

为了应用 Pix2Pix,咱们须要一个包含来自不一样域,两两相对应的图片数据集。通常状况下,收集这样的数据集不是问题,可是,若是你想作一些更复杂的事情,如“改变”对象或风格,原则上目标的对应的图片很难找到。

所以,Pix2Pix 的研究者决定开拓思路,并建立了在图像的不一样域之间进行转换,而不须要配对图像的模型——CycleGAN(《Unpaired Image-to-Image Translation》)。

这个网络的基本原理,是训练两对生成器和鉴别器把图像从一个域转移到另外一个域,在这个过程当中须要保持循环一致性——在生成器一系列应用以后,咱们预计能够获得一个相似于原始 L1 损失图像。为确保生成器将与原图像彻底不相关的一个域传送到另外一个域,咱们须要一个循环损失。

这种方法能够学习在马 - >斑马之间进行转换。

但这种转变很是不稳定,每每致使不理想的结果:

源代码连接:

github.com/junyanz/Cyc…


肿瘤学分子的发展

机器学习如今也正在走向医学领域。除了识别超声波、MRI,进行诊断外,机器学习还能够用来发现对抗癌症的新药物。

简而言之,在对抗性自动编码器(AAE,Adversarial Autoencoder)的帮助下,咱们能够学习分子的隐藏表示,而后用它来搜索新的分子。结果,咱们发现了 69 个分子,其中一部分为能够抗癌的分子,其余的则有很大医疗价值。


对抗性攻击(Adversarial attacks)

人们对对抗性攻击的探索一样很积极。那么,什么是对抗性攻击?例如,通过 ImageNet 训练的标准网络在为分类图片添加特殊噪声时,是彻底不稳定的。在下面的例子中,咱们看到人眼噪声图片几乎没有变化,但模型却给出了一个彻底不一样分类的预测。


对此,咱们可使用快速梯度符号法(FGSM)实现稳定性:其能够访问模型的参数,可以对所需的类进行一个或多个渐变步骤,并更改原始图片。

Kaggle 的任务之一就与此相关:鼓励参与者生成攻击 / 防护,这些攻击 / 防护通过相互对立,优胜劣汰。

然而,咱们为何要研究这些攻击呢?首先,若是想要保护咱们的产品,咱们能够向验证码添加噪音,自动识别垃圾邮件。其次,算法与咱们的生活愈来愈密切,例如面部识别系统和自动驾驶车车辆。在这些状况下,算法的缺点很肯会被攻击者利用,形成不可想象的后果。

例如,有一种特殊的眼镜能够成功欺骗脸部识别系统,“把你本人识别成另外一我的”。因此,咱们在训练模型时须要考虑到可能遭受的攻击。

对标识进行以下操做,也会致使它们不能被正确识别。

  • 竞赛组织者的一些文章。
  • 为预防攻击编写的库:cleverhans 和 foolbox。


强化学习

强化学习(RL)也是机器学习中最有趣,最引人关注的方法之一。

这种方法的本质,是 agent 在特定环境中学习获得奖励的经验,即“成功”的行为,就像人们从生活中获得经验教训同样。

目前,RL 在游戏、机器人和系统管理(例如流量)中被普遍使用。

固然,你们都知道 AlphaGo 在比赛中打败职业选手的事迹,它的研究人员就是采用 RL 对其进行训练:机器人与本身博弈,改进策略。

不受控辅助任务强化学习

在过去的几年里,DeepMind 用 DQN 玩街机游戏比人类都溜。目前,DeepMind 正在训练算法来玩更复杂的游戏,如 Doom。

由于 agent 获取与环境交互的经验,须要在如今的 GPU 上进行数小时的训练,因此研究人员把大部分的精力都集中在学习加速方面。

Deepmind 在博客中表示,引入额外的损失(辅助任务),如预测帧变化(像素控制),可让 agent 更好地理解行为的后果,这大大加快了学习速度。


学习机器人

OpenAI 一直在积极研究在虚拟环境中训练 agent,这比在现实中进行实验更安全。

在其中一项研究中,该团队表示,一次性完成学习并不是不可能:在虚拟现实环境中,只需展现一次执行某项任务的过程,算法就能够掌握要领,并在真实条件下进行再现。

虽然这些任务对人类来讲小菜一碟 :)

学习人的喜爱

OpenAI 和 DeepMind 都在对这一课题进行研究。原理是 agent 须要完成一个任务,该算法为其提供两种可能的解决方案,并指出哪个更好。迭代地重复该过程,而且历来自人类的反馈(二进制标记)中学习如何解决该问题。


和往常同样,人们必须十分当心,谨慎地对机器进行训练。这个例子中,鉴别器断定算法真的想拿到这个目标,但实际上它可能只是模拟了“拿”这个动做而已。

在复杂的环境中运动

DeepMind 还在进行另外一项研究。为了训练机器人掌握复杂(走路、跳跃等),或与人类动做相似的行为,必须进行大量的参与损失函数选择,以鼓励其进行咱们所指望的行为。而在这一方面,算法最好是经过简单的奖励来学习复杂的行为。

不负众望,DeepMind 研究人员成功实现了这一目标:他们经过构建一个充满复杂障碍的环境,并奖励算法移动的动做来训练 agent(身体模拟器)执行复杂的行为。


其余

冷却数据中心

2017 年 7 月,Google 在报告中称,其利用 DeepMind 机器学习来缩减数据中心的能源成本。

根据来自数据中心上千个传感器的信息,Google 开发人员训练了一个用来预测 PUE(电源使用效率),和提升数据中心管理效率的神经网络集。这是 ML 实际应用的一个使人印象深入的重要案例。

适用于全部任务的模型

众所周知,咱们很难把一个模型套用到其余的任务中去,由于每一个任务都必须通过特定的模型训练。然而,Google Brain 在其文章《One Model To Learn The All》中,在建立一个“万能”的模型上迈出了一小步。

研究人员已经训练能够执行来自不一样领域(文本、语音和图像)八个任务的模型。例如翻译不一样语言,文本解析,以及图像和声音识别。

为了实现这个目标,他们创建了一个复杂的网络结构,用不一样的区块来处理不一样的输入数据并生成结果。编码器 / 解码器的区块分为三种类型:卷积、注意力和 gated mixture of experts (MoE)。

主要学习成果:

  • 接近完美的模型(未微调超参数)。
  • 不一样领域间的知识转移,即在数据量大的任务上,性能几乎相同,并且解决小问题效果更好(例如解析)。
  • 不一样任务所需的模块不会相互干扰,有时甚至能够互相帮助。

在一小时内学习 Imagenet

Facebook 的工做人员在他们的文章中称,该公司的工程师可以在一个小时内在 Imagenet 上完成 Resnet-50 模型训练。可是,这个过程须要在 256 个 GPU(Tesla P100)集群上完成。

他们使用 Gloo 和 Caffe2 进行分布式学习。为了提升效率,对学习策略进行大量调整(8192 个元素)是十分必要的,如梯度平均、热身阶段、特殊学习率等。

结果,当从 8 位扩展到 256 位 GPU 时,效率能够达到 90%。如今来自 Facebook 的研究人员能够更快地进行实验,而其余公司则没有这样的条件。


新闻

自动驾驶车辆

自驾车汽车领域的发展如火如荼,不少公司都在对本身的产品进行测试。最近,Intel 收购 MobilEye,Uber 和谷歌技术被千古怨盗窃的丑闻,以及自动驾驶车辆第一次死亡事故等,都很是引人注目。

另一件值得注意的事是,Google Waymo 正在推出一个测试版程序。Google 是这个领域的先驱,看起来他们的技术不错,由于他们的汽车的行程已经达 300 多万英里。

另外,在美国,自动驾驶汽车已经能够在这个国家的全部州上路行驶了。

卫生保健

正如我所说,ML 技术已经开始引入医学领域。例如,谷歌与医疗中心合做进行疾病诊断。

DeepMind 甚至还开设了医疗保健部。

今年,在 Data Science Bowl 项目的基础上,还举行了一场在一年的时间内根据详细的图像预测肺癌的竞赛,奖金为一百万美圆。

投资

目前,ML 收获了大量投资,一如此前的大数据领域。

中国在人工智能方面投资达 1500 亿美圆,成为行业的全球领先者。

为了在 AI 领域占得先机,百度研究院雇用了 1300 人从事 AI 研究,Facebook 的 FAIR 则拥有 80 名雇员。在 2017 国际知识发现与数据挖掘大会(KDD)全球论文投稿中,阿里巴巴的员工介绍了他们的参数服务器鲲鹏,它运行 1000 亿个样本,普通任务的参数达万亿级。


经过咱们对 2017 年深度学习领域取得成果,也许每一个人都会从中得出不一样的结论,但学习机器学习永远不会太晚。不管如何,随着时间的推移,全部开发人员都须要使用机器学习,机器学习也将成为开发人人员的必备经常使用技能,就像今天使用数据库的能力。

关注后回复「AI」你懂的

相关文章
相关标签/搜索