来源:Statsbot
编译:Bing
编者按:圣诞节前夕,数据公司Statsbot对过去一年(也许更久)深度学习领域的成果做了总结,全文共分为6部分,分别是文本、语音、计算机视觉、GAN、强化学习、新闻、投资。以下是论智对原文的编译,让我们看看深度学习2017年的成绩如何。
文本
1.1 谷歌神经机器翻译
去年9月,谷歌发布了新一代机器翻译模型,并详细介绍了该网络的架构——循环神经网络(RNN)。
最终,该模型在翻译的准确度上与人类缩小了55%~85%的差距(由人类打分,满分为6)。如果没有谷歌庞大的数据集,这个模型很难重现良好的结果。
1.2 聊天机器人的“谈判”
前段时间,Facebook的聊天机器人因为“创建了自己的语言”被紧急关闭的新闻让许多人惶恐了一阵子。这个聊天机器人是Facebook用于谈判而创建的,它的目的是与另一个agent进行文本谈判并达成协议,即如何将一物品分成两部分。每个agent在谈判中都有自己的目标,但另一个却不知道那是什么。交易没有达成,谈判就不可能结束。
为了训练这个聊天机器人,他们收集了一些人类谈判的数据,并训练了一个监督式循环网络。然后,他们训练一个受过强化学习训练的agent,让它跟自己对话,前提是要模仿人类说话的方式。
机器人已经学会了谈判策略的中一个技巧,那就是它会假装对交易的某些方面感兴趣,但最后会放弃以便达到它真正的目的。这是人们第一次尝试创建这样的聊天机器人,而且非常成功。
当然了,说机器人自创了语言完全是夸张的说法,当机器人与同样的agent训练时,它们就无法以人类说话的方式运行了,算法在这一过程中会修改语言,是很正常的。
过去一年,循环神经网络在许多人物和应用中都有所体现。RNN的架构也变得越来越复杂,但是在一些领域,利用简单的前馈网络——DSSM也可以获得类似的结果。谷歌之前将LSTM用于“智能回复”也收到了不错的效果。此外,Yandex还基于这样的网络推出了一个新的搜索引擎。
语音
2.1 WaveNet:原始音频的生成模型
DeepMind在一篇文章中介绍了该模型的原理。简而言之,研究人员基于之前图像生成的方法(PixelRNN和PixelCNN)制作了一个自回归全卷积WaveNet模型。
相关阅读:DeepMind解密WaveNet,如何让机器人自然发声
该网络是端到端训练:输入文本,输出音频。最终合成人声与真人的声音差距缩小了50%。
但是,网络的主要缺点就是生产率低,因为是自回归,声音是按照字的顺序生成的,所以制作一秒长的音频往往需要1~2分钟。
若只让网络依靠之前产生的音素生成语音而不依靠文本,网络虽然会产生类似人类的声音,但却毫无意义。
这种模式不仅适用于演讲,也适合音乐创造。想像一下,使用钢琴游戏的数据集训练出的神经网络可以教模型弹奏出一首钢琴曲。
2.2 唇语识别
唇语辨识(lip reading)是深度学习战胜人类的又一巨大成果。
去年十一月,谷歌DeepMind联合牛津大学共同发文Lip Reading Sentence in the Wild,介绍了他们利用从电视上收集到的数据集训练了一个模型,能够超越BBC的专业唇读者。
数据集中共有10万个带有音频和视频的句子,他们将LSTM用于音频,CNN和LSTM用于视频。这两个状态向量被反馈到最终的LSTM,产生结果(字符)。
训练时输入了不同类型的数据:音频、视频还有音频与视频的结合。换句话说,这是一个”多渠道“的模型。
2.3 合成奥巴马:从音频中同步合成唇部动作
华盛顿大学的研究人员利用神经网络“伪造”奥巴马的演讲视频。至于为什么选择奥巴马呢?因为网上奥巴马的在线视频数量巨大,适合用于训练。
计算机视觉
3.1 OCR:谷歌地图和街景
在谷歌的博文和论文中,谷歌大脑团队介绍了他们的用于地图上的新型光学字符识别(OCR)引擎,利用其新技术,可以识别路标和店名。
在开发过程中,团队创建了一个新的法国街道名称标志(FSNS)数据集,其中包含许多复杂的样本。
为了识别每个标志,神经网络最多使用四张图片,通过CNN提取特征后利用空间注意进行缩放(包括像素坐标),并将结果反馈到LSTM。
识别店铺招牌上的名称也用了同样的方法,虽然其中会有很多噪音数据,但是网络不会受其影响。这一算法已经应用于800亿张照片中了。
3.2 视觉推理
视觉推理任务要求神经网络通过照片来回答问题。例如:“图中是否有和黄色金属圆柱尺寸相同的橡胶物体?”这种问题直到最近才由DeepMind解决(没错又是DeepMind),但准确率只有68.5%。论文:A simple neural network module for relational reasoning。
网络的架构十分有趣:
在文本问题上适用预先训练好的LSTM,我们得到了问题的嵌入;
使用只有四层的CNN和图片,我们得到了含有图片特征信息的地图;
在特征地图上形成坐标图的成对组合(下图中黄色蓝色红色区域),并对每组添加坐标和文本嵌入。
将三个组合通过另一个网络并汇总;
最终的表征是通过另一个前馈网络运行的,它提供了softmax的答案。
3.3 Pix2Code
Uizard公司创造了一个有趣的神经网络应用:根据界面设计者的屏幕截图生成一个布局代码。
这是个非常有用的神经网络应用,它能让软件开发的过程大大缩短。作者称它的精确度为77%。但是这款应用目前仍在研究中,而且还没有正式的反馈结果。另外,也没有开源代码放出,不过该公司保证会上传。
3.4 SketchRNN:教机器画画
论智君曾介绍过谷歌的“快画”小游戏,它会要求你在20秒内绘制各种对象的草图。谷歌团队在它们的博客和文章中表示,他们收集用户的画后形成数据集以教导神经网络作画。
数据集包含了7万个草图,它们不是图片,而是图画的向量表示。研究人员已经使用RNN作为编码和解码机制来训练seq2seq的变分自编码器(VAE)。
最终,为了适应自动编码器,该模型接收到刻画原始图像的隐向量。
尽管解码器可以从这个矢量中提取一幅图画,但你可以改变它重画一个草图。
甚至执行矢量算法创造出一个“猫猪”:
相关阅读:10亿幅画,让这个被调戏了一年的AI发现了一些人类的小秘密
3.5 GANs
生成对抗网络(GANs)是深度学习最热门的话题之一,大多数情况下,这个模型是用来处理图像的。
GANs的主要由两部分组成——生成器和判别器。前者创建图片,后者判断图片是真实的还是生成的。示意图如下:
在训练期间,来自随机向量的生成器产生图像并将其输入到判别器中,判别器会根据数据集中真实的图片来判断输入的图片是否是假的。
由于很难找到这两个网络的平衡点,所以这样的结构难以训练。大多数情况下都是判别器获胜,训练停止。但是,这个系统的好处在于,我们可以解决损失函数难以确定的问题(例如提高照片的质量)。
在这个项目中,系统利用向量生成人脸图片,你可以改变向量,看看脸部是如何变化的。
同样的算法在潜在空间中也有体现:“戴眼镜的男人”减去“男人”再加上“女人”等于“戴眼镜的女人。”
领取专属 10元无门槛券
私享最新 技术干货