前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习也可以取悦女友

深度学习也可以取悦女友

作者头像
计算机视觉研究院
发布2018-04-17 14:34:24
7680
发布2018-04-17 14:34:24
举报
文章被收录于专栏:计算机视觉战队

深度学习目前在图像处理领域有着非常好的应用和研究,在医学领域可以用它在极早期判断癌症;在安防领域,可以用它来快速检索目标任务,进行可疑或危险人物的检测与抓捕;在金融领域,可以较好的分析风险风控等。

但是今天不说这么深奥的知识,我们今天来说的是一个能有程序取悦我们女朋友的“黑科技”!这一招叫艺术风格变换,就是你点击一下,就可以把你女朋友的大头照换成一个毕加索的后现代艺术作品(当然是取代还是找打要看你的艺术品位)。

艺术风格迁移是一个古老而现代的主题 ,多少艺术家为了描摹他人作品而竞折腰。在出现了深度学习之后,通过简单的训练就可以完成这个简单的任务,接下来,说说何玩转基于神经网络的风格迁移。

其实风格迁移就是把一张图片的内容和另一个图片的风格进行合成的一个方法,比如说你给出一个猫的图片和一个梵高的自画像,就可以生成一只梵高画像版本的猫。

在深度学习没有应用在该领域之前,机器视觉的工程师就尝试用各种滤镜提取图像的纹理信息或者用传统的机器学习方法提取,得到的纹理特征再经过某些变换放回到原始图片中,就得到了一个新的风格图片。

深度学习所作的事情,是把整个过程自动化智能化了。我们利用卷积网络的深层结构去提取图片的信息,来替代之前的各种滤镜或机器学习方法。 

首先,现在的卷积神经网络在分类任务中,表现的非常出色,所以利用现在流行的网络进行学习,可以学习很多丰富的有用信息,而这些丰富、抽象的信息正好是风格迁移的基础。

可视化CNN的各层级结构,会发现不同阶段的可视化是不一样的,越是底层的,就越接近输入图像的纹理信息,如同物品的材质;然而,越是上层的,就越接近实际内容(比较抽象,比较显著),如同物品的种类。

研究人员在Visualizing CNN 2014 提出了,如下就是部分的可视化效果图:

底层神经元关心画面的材质

深层神经元关心物品的种类

现在整个框架就变得特别简单明了,只要用CNN提取图像的丰富特征信息就可以实现,主要通过一张图像的底层信息和另一张图像的高层信息结合,然后就可以简单实现。

用框架中间层的特征信息恢复的内容,可以看到,不同层里都可以找到风格和内容有关的信息, 但是层次越深, 具体的信息就越少, 可以通过一个已训练好的卷积神经网络, 把一张风格图片和内容图片的信息都提取出来, 然后结合在一起!

这里用已经训练好的VGG网络,一种非常流行的CNN图像分类框架,预先设定好一个损失函数,然后再进行反向传播

在进行梯度回传,这里也不例外,我们可以通过设定合理的损失函数,来解决问题。

这个损失函数,正是一种能够测量生成图片与风格图片,内容图片距离的函数。

看我们如何设定这样一个函数。既然我们的深度卷积网络可以做到测量与内容有关的特征,那么我们只需要在这个层次上找一下特征向量的距离就好了。 

图像无非是高维空间的一个点,通过神经网络变换再经过特定降维方法处理后我们可以给它转化成二维曲面上的一个点, 我们会发现,在这个世界里, 狗在狗的国度 , 猫在猫的国度。 而我们只需要度量不同图像的空间距离,就测量了内容的相似度。

然后呢,如何搞定风格,风格通常是一个艺术家眼中主关的有点虚无缥缈的概念,也就是我们通常说的感觉,比如梵高或者莫奈的画,你没有经过艺术熏陶也可以得来。

而在深度学习的角度下,这种感觉却发现与不同神经元活动的相关性有关!也就是说,风格是深度网络神经元活动的某种统计特性!悄悄的,我们把艺术和数学对接上了。( 统计果然是上帝的语言啊有木有!)、

这里我们借助一个叫gram矩阵的数学工具,它通过测量同一层卷积输出不同通道之间的相关性(计算不同通道间的相关性,组成一个矩阵)给出一个对风格的度量。然后,我们在测量一下风格之间的距离不就行了吗?

把CNN某一层对应不同特征的神经元像摊煎饼一样摊开, 然后计算之间的相关性:

得到一个矩阵,矩阵的每个元素对应不同特征间的相关性:

这个损失函数就是gram 矩阵之间的距离!

注意,衡量风格之间的距离,我们是把不同网络层级间的gram矩阵的距离都计算一下加在一起,这样可以把不同层次度量的东西综合起来。

好了,到这一步,大功告成,把两个损失函数叠加在一起就好了。

目标函数的设计学问可大了,改变a和b的比例就能造成很多区别,大家注意风格图片的比例越高,图像就越纹理化。

风格的权重变大的时候, 那图像就变成了意大利瓷砖!

然后我们可以做什么呢?梯度下降!但注意,这里我们优化的目标不是网络权重而是图像本身,这样我们就大功告成了!

当然这里说的只是风格迁移的一种,这种方法的优点是通俗易懂,而缺点是速度很慢。

还有一个方法,是借用生成网络,直接给搞出来,这个方法更快速,更加适合工业封装。我来给大家展示一下这个方法的实质。

像不像GAN的结构

哈哈,这样我们就可以完成一幅艺术作品交给家里领导了,但是不要忘记哦, 这件事给我们的启示绝不止这一个呀。

它给我们启示的是,我们深层神经编码的机制里,深度学习的踪影,你对风格的认知,其实是和内容的认知一样,是可以量化的,而不像某些艺术家所言,完全主观,与数学无关。

不仅可以量化,而且这个信息是可以独立被提取的, 这种信息不是存在于某个神经元之上,而是分布式的存在于多级神经网络的不同尺度之间, 通过每一层神经元的统计规律表达。

虽然我们尚不知道这些猜想是否正确,他们我们人类深奥的视觉处理机制提供了一种聪明的理解方法。

本文作者:许铁,以色列理工大学机器学习博士、巴黎高师理论物理与复杂系统硕士、cruiser创始人 , 在知名神经科学期刊著有论文。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉战队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图像识别
腾讯云图像识别基于深度学习等人工智能技术,提供车辆,物体及场景等检测和识别服务, 已上线产品子功能包含车辆识别,商品识别,宠物识别,文件封识别等,更多功能接口敬请期待。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档