? 业界领袖回溯60年AI历史,全球对话人工智能未来挑战,权威发布2016世界人工智能名人堂及中国人工智能产业发展报告;? 国际大咖“视频”远程参会, Bengio 和李飞飞联袂寄语中国人工智能;? 探秘讯飞超脑及华为诺亚方舟实验室,最强CTO与7大研究院院长交锋;? 滴滴CTO与百度首席架构师坐镇智能驾驶论坛,新智元三大圆桌阵容史无前例;? 中国“大狗”与"X-Dog"震撼亮相,龙泉寺机器僧“贤二”卖萌。 【新智元导读】本文中介绍的深度学习架构能够基于选定的人的身份、情绪和方位,生成真实的脸部图像。你只要给网络提供你希望描绘的东西的原始参数,模型就能完成,但是生成的结果却是十分有趣的。 网络本身看起来能学习3D空间的概念,以及它所描绘的物体结构。并且,由于它生成的是图像而不是数字,所以它也让我们更好地理解了这一网络是如何“思考”的。真正让人惊讶的是,它似乎在根据嘴部张开或者关闭来学习脸部特征,你能看到脸颊的移动、眼球的移动等等。未来,你可以使用这一模型来模拟复杂的表情和变化。 Flynn Michael:我最受欢迎的关于深度学习的一篇论文是《利用卷积网络合成椅子、桌子和汽车》(Learningto Generate Chairs, Tables, and Cars with Convolutional Networks)。它的概念非常简单——输入想让它合成的东西的参数,它就会照做——出来的结果非常有趣。这个网络看起来是它能自己学习有关3D空间的概念以及它要画的物体的结构,由于它要生成的是图像而不是数字,它能让我们对网络如何“思考”有一个更直观的理解。 合成椅子的视频 不久前我偶然发现了Radboud人脸数据库,于是想知道类似的技术能不能用于人脸的合成和修改。 结果相当的激动人心!
网络架构 我采用了椅子论文中“1s-S-deep”模块的一个版本。在这个网络中,输入有关椅子“风格”的重要编码和方向、相机位置等参数,经过几个全连接层,开奖,在交给反卷积网络前得到要画什么的表征,最后画出图像并预测分割掩膜。在合成人脸时,我们所做的事情相似,不过我们完全省略了分割网络(因为我们没有那些的人工标志),我们输入的是人的身份、情绪和方向参数。
图表:用于合成椅子的模型(来源:Dosovitskiy et al.) 这里的反卷积网络和其它语义分割或合成模块类似。它本质上是用于分类网络的典型运算的反转。通常卷积网络包含一些卷积层,j2直播,跟着是用于减少输入维度的池化层(pooling layer)。对反卷积网络来说,我们要做反向操作——先是对输入进行反池化(a.k.a. unpooling),然后应用卷积运算。 为了说明这点,下图是Noh et al的论文中有关语义分割的反卷积网络的图示:
从本质上来说,当我们反池化时,就在画布网格上打上了一些点,然后利用卷积核当做画笔涂开这些点。 我基本上能够最大化地直接应用论文上的架构,但为了得到更高分辨率的图像,同时不耗尽CPU内存,我得用每层的卷积核数量,并使用 batch normalization,以确保 Leaky ReLU 的激活。该模型在建于Theano和TensorFlow的高层深度学习框架Keras上实现。 变脸 如你所见,这个网络能根据身份和情绪参数流畅、平滑地改变脸的形态。 这种变脸相当逼真,而且也不需要依赖人为的方法例如在每个例子间进行淡化。但真正令我惊奇的是,它似乎能以某种方式“学习”脸的特征——例如,嘴巴张开和闭合时,你会看到颧骨也在移动,同时眉毛也上下变化,等等。 我们也可以把它拆解开来,看看分别改变身份和情绪时,脸会怎样变动。 到目前为止,我放弃了研究“方向”参数对变脸的影响。很不幸,这个网络还没法学会根据方向变脸。这可能是因为数据集中可得的方向参数还不足以让网络形成对3D空间的理解(数据集里只有间隔45°的方向数据),不过它选了简单些的路径,学会了根据不同的方向画脸。 (责任编辑:本港台直播) |