编者按:唐代诗人王维在《画》一诗中,曾写道:
“远看山有色,近看水无声。
春去花还在,人来鸟不惊。”
这首他在赏画时所作的诗,是人类从视觉到语言最高水平映射的表现。然而,如果我们来读这首诗,是否能浮现出他所欣赏的画作呢?显然还不能。
因此,对于人类而言,相较于视觉到语言的映射,语言到视觉的映射似乎是一个更大的挑战。而对机器而言,深度学习构建了语言与视觉之间的联系,也让机器在吟诗作画方面取得了超过普通人的成绩。
1958年,鼠标的发明者Douglas Engelbart,在麻省理工学院见到了人工智能先驱Marvin Minsky,据说他们之间曾发生过这样一段对话,Minsky说我们要让机器变得更加智能,我们要让它们拥有意识,而Engelbart则这样回应:你要为机器做这些事,那你又打算为人类做些什么呢?
今天,我们通过回答“机器能为人类做些什么”这个问题,来间接回答后者的问题。来自京东AI平台与研究部的张炜博士,将为大家介绍,从语言到视觉,机器能为人类做些什么。
文末提供文中提到参考文献的下载链接。
![](https://image.jiqizhixin.com/uploads/editor/d3c48e81-a4bc-4886-9a41-433e774107dd/1525855902284.png)
![](https://image.jiqizhixin.com/uploads/editor/1ada29f9-5d8e-4f68-b784-ddd654b4e799/1525855902559.png)
![](https://image.jiqizhixin.com/uploads/editor/ff3083fa-f58b-4c10-bca7-e9661d505970/1525855902356.png)
经过 50多年的发展,今生的CV已经成了比较大的领域,我做了一张表格来概括CV领域的多个任务。现在CV任务大都是从输入域(视觉:图像/视频)往输出域(描述)的映射。输入大部分都是图像和视频,而输出比较多样,比如标签,区域,还有句子,甚至是图像。每一种输出的大小是不一样的,十年前侧重于用标签描述图像,CV领域多是一些图像分类任务,比如物体、场景、动作分类。如果是二分类,输出就只有一个比特,如果有10个比特,就能用二的十次方种标签描述,区分出1000+类的场景或物体。如果把输出变大一点,就有了物体、动作检测问题,它的输出是边框坐标。如果输出更大一些,对应的任务就是图像或视频描述(image/video captioning)。如果段落非常大,输出有可能到1KB以上。现在还有一部分以图片做为输出的研究,比如说语义分割、图像转换等,其实我们可以把这个问题看成一个从图像到图像的描述问题。
传统做得比较多的方向是从左向右,最近几年因为计算机视觉领域的发展和深度模型的盛行,也开始有了一些从传统输出到输入域的反向映射。跟我们今天主题相关的,一个是标签,一个是句子,都跟语言非常相关。今天我也会着重讲讲从标签和句子生成图像和视频。
先定义一下视觉和语言,视觉指的是图像和视频,而语言的种类多一些,从传统的标签、标题、评论、诗歌,到对视频的语言描述,同时还包括VQA、情感等新语言。这种映射不仅可以从左到右,从右向左也越来越多。
![](https://image.jiqizhixin.com/uploads/editor/847e1aef-130d-49c6-b40b-688a96e4922c/1525856316583.png)
![](https://image.jiqizhixin.com/uploads/editor/24b03590-eb08-4c31-b89c-d72c288e48fd/1525856315232.png)
![](https://image.jiqizhixin.com/uploads/editor/2bb34d9d-7962-4add-9bc9-4441fed79523/1525856316098.png)
![](https://image.jiqizhixin.com/uploads/editor/4376e1a7-a96e-451f-9e6b-bc02bc380a21/1525856313897.png)
![](https://image.jiqizhixin.com/uploads/editor/10e05c66-02f3-4383-9405-75ac4c719760/1525856313968.png)
![](https://image.jiqizhixin.com/uploads/editor/e0293963-1cb6-4f32-9385-dcefe7b2b4c7/1525856314034.png)
![](https://image.jiqizhixin.com/uploads/editor/06f4fb15-929a-4abf-8914-2a991654e60a/1525856314130.png)
![](https://image.jiqizhixin.com/uploads/editor/5f66e8ec-a686-4d5c-9746-ec0f77398cb8/1525856314206.png)
现在StackGAN也出了V2版本,这篇文章里面有一个新的扩展叫StackGAN++,引入了多个生成器和分类器,产生多个尺度的图像中间结果,效果进一步提升。
![](https://image.jiqizhixin.com/uploads/editor/45bbca5e-cfef-423c-99eb-2b1833cf0532/1525856314286.png)
另外一篇比较有代表性的文章,Deep Attention GAN (DA-GAN),主要的贡献在于引入了注意力机制到GAN网络里。
![](https://image.jiqizhixin.com/uploads/editor/36c75755-b45d-407a-a572-9ed4b6ea8caf/1525856314366.png)
![](https://image.jiqizhixin.com/uploads/editor/e0b9b19b-051e-4dc3-840c-c2d334cb9d9f/1525856314422.png)
![](https://image.jiqizhixin.com/uploads/editor/d07f22b0-f34e-4a25-9660-e09ceb1af06b/1525856314485.png)
这篇文章发表在 NIPS’16,虽然和语言到视频没有什么关系,但还是值得提一下,因为这个是开创性的一个工作。它是从一个随机噪声生成视频:从噪声z开始分了两条线,一个产生前景,另一个生成背景。背景通道只有3,就是一张静止的图片,而前景是一个具有时间动态的视频。通过mask把这两条线做融合,最终产生一个视频。虽然当时结果不是特别好,但是非常有代表性。
接下来讲一讲真正的由语言转视频:给一段话,产生一个视频。现在有的方法,比如GAN、VAE,只有一些初步的探索,还没有比较完整的数据集和工作。
![](https://image.jiqizhixin.com/uploads/editor/b75c3782-0e0c-4daf-8299-984870b3d62d/1525856643511.png)
这篇文章To Create What You Tell: Generating Videos from Captions做得比较前沿。中间有三个例子,分别是三句话对应三个视频,一个比较简单,一个数字8从左到右移动。中间这个稍微难了一点,两个数字一个从上往下,一个从左往右,中间有重合。第三个更难,因为更贴近现实生活中的cooking视频。
![](https://image.jiqizhixin.com/uploads/editor/f6666fbe-40b6-48c5-bed4-51df0c92ff5d/1525856640989.png)
![](https://image.jiqizhixin.com/uploads/editor/adfc9f9b-4ffe-42cc-a110-2f8ff77acd11/1525856641075.png)
![](https://image.jiqizhixin.com/uploads/editor/da6f3680-4d5f-4082-97de-4951aa36f06d/1525856641134.png)
![](https://image.jiqizhixin.com/uploads/editor/b381c0a7-d35e-4590-ad11-79b2f0706ce8/1525856641191.png)
![](https://image.jiqizhixin.com/uploads/editor/ea9d10e6-30a6-455c-942f-47762e6a09da/1525856641332.png)
![](https://image.jiqizhixin.com/uploads/editor/ef1b8587-0edd-4af0-a089-e88eaf37a07c/1525856641266.png)
![](https://image.jiqizhixin.com/uploads/editor/2c264a29-4fc1-4d54-9194-de57cba8e334/1525856641414.png)
![](https://image.jiqizhixin.com/uploads/editor/b7cdc8c7-b4d2-43f8-90b4-35d54d8c5b68/1525857582720.png)
![](https://image.jiqizhixin.com/uploads/editor/634773f8-1559-4ce8-b7e1-8fe9f1454a43/1525857582557.png)
![](https://image.jiqizhixin.com/uploads/editor/b3a02dd6-ef78-4685-83a4-f05e1bf730b5/1525857582642.png)
![](https://image.jiqizhixin.com/uploads/editor/48b721cc-886d-4a09-a463-ef94741991a0/1525857583091.png)
如果把中间输出都画出来,可以看到随着训练过程从1000轮到10000轮,网络产生的每一帧更像真实的图像,而且帧和帧之间的运动也更流畅。
![](https://image.jiqizhixin.com/uploads/editor/4bf46524-22f0-4336-829f-6351f4ac4a3b/1525857583630.png)
![](https://image.jiqizhixin.com/uploads/editor/99091e8d-65b2-4d88-8f2e-9090d59d7f01/1525857584643.png)
还有一些真实视频的例子,可以看到如果跟以前的方法比,TGAN-Cs目前是做得最好的。
GAN评价一直是比较头疼的问题,我们也做了一些用人评测的工作,判断要评测视频是不是真实,跟输入的文本是不是一致,同时还要看一下时间连续性,运动是不是比较流畅。实验发现结果还是非常好的。
![](https://image.jiqizhixin.com/uploads/editor/697f00cc-7f9c-48d7-99b5-724e3d4171c1/1525857583561.png)
![](https://image.jiqizhixin.com/uploads/editor/b5c9a853-8dae-4ab2-a3cf-74cb82372b5b/1525857582793.png)
比赛链接为:
https://fashion-challenge.github.io/
文中提到参考文献的下载链接为:
密码:2ood