A Neural Algorithm of Artistic Style--码农的文艺梦

A Neural Algorithm of Artistic Style

最新论文,实时style转化,欢迎参考Perceptual Losses for Real-Time Style Transfer
想搞艺术装逼的瞧这里,我可以把照片转化成艺术照了。

+ =

这篇论文简单粗暴,纯应用方面的论文,就不进行各种蛋疼的introduction了,直接进入method。

一、Method

整体思路很简单,就是随机初始化一张图片x,如果能让它的值经过CNN之后任何filter的feature map的值跟另一张图片y相等,那么他肯定是跟另一张图片y相同。

作者基于上面的思路,重新生成的照片分成了2个部分,分别是contentstylecontent反映的是原始图片的信息,style反应的是艺术照片的信息。如果能让他们直接来一个trade-off是不是就能合成一个新的照片了呢?

二、Loss Function

作者将loss分成两个部分,也就是对应于输入的两张图片。

A.Content loss
这里是将feature map拉直了,所以F是为二维的矩阵,分别为第l成的filter个数,和filter对应的输出

Lcontent(p⃗ ,x⃗ ,l)=12i,j(Fli,jPli,j)2

So let p and x be the original image and the image that is generated and Pl and Fltheir respective feature representation in layer l.

它对应的偏导数为

LcontentFli,j={(FlPl)0 if Fli,j>0 if Fli,j<0

B. Style loss
作者使用Gram矩阵表示同一层中filter的相关性,关于Gram矩阵大家可以百度,简单理解就是向量的内积

Gli,j=kFli,kFlj,k

单层的loss为
El=14N2lM2l(Gli,jAli,j)2

因为可能不止采用一层的loss,所以总的loss为各层的和, 其中参数w为人为指定,用来指定那一层的style更有用。

Lstyle(a⃗ ,x⃗ )=i=0LwlEl

对应的激活函数的偏导数为

ElFli,j=1N2lM2l((Fl)T(GlAl))0 if Fli,j>0 if Fli,j<0

C. 总loss

Ltotal(p⃗ ,a⃗ ,x⃗ )=αLcontent(p⃗ ,x⃗ ,l)+βLstyle(a⃗ ,x⃗ )

三、总结

这个论文没有太大的学术价值,但是确实很好玩,如果说非要弄成学术论文,作者的工作其实还有很多要做,比如为什么style的loss要进行每层都指定啊,以及不同的艺术照片,α,β并不是一定的,这个比例能不能通过学习的方法学习出来……不过拿来玩足够了,最后有一点要强调的就是,这个所有的loss并不会修改模型的任何参数,所有的bp都是在修改随机初始化的那个图片,如下图。

最后给大家看一下还不错的转化,有没有很nice。

最后推广一下mxnet,下面是mxnet使用gpu进行训练的代码(如果不用gpu半个小时才能训练完成)

Github代码

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值