在本文中,并不是介绍最新的一些论文,而是回顾自己在很早(半年前?)读过的几篇文章。[1]Learning to optimize: Training deep neural networks for wireless resource management

[2]Image style transfer using convolutional neural networks

[3]Perceptual losses for real-time style transfer and super-resolution

注:[2]是神经网络用于图像风格迁移的开山之作,[3]的作者是斯坦福大学CS231n课程中的那位小哥哥(导师是李飞飞)。

我自己本身的研究方向是深度学习在无线通信中的应用,所以会读到[1]这样的论文。论文[2]和论文[3]是使用CNN进行图像风格迁移这个领域最早的论文。如果看过专栏的同学,可以发现我对图像风格迁移这类文章的偏爱。但如何将论文[1]和论文[2][3]联系起来呢?

在知乎上已经有很多的文章解读图像风格迁移,还有相关的专栏图像风格化算法综述三部曲,如果有想了解的可以去看一下。

在这篇文章中主要是专注于由论文[2]演进到论文[3]用到的一个快速算法思想。

论文[2]整体框图

大致意思就是将左边的风格图像“星空”的风格迁移到右边的内容图像“风景照”中,生成中间的图片——既保留内容图像的内容也具有风格图像的风格。

这里对还没有看过这篇论文的同学提一个醒,上面框图中的3个VGG16都是预训练好的,在整个图像风格迁移过程中,网络的参数(权重,偏置)都是不改变。网络在这个过程的作用都是用来计算损失的。不要看到Gradient descent就直接认为是反向传播中的梯度下降。梯度下降真正是的应用是在将初始化的噪声图像优化成最终结果图。从一张噪声图像到最终效果惊艳的风格化的图像,这中间需要经过多次的优化(或者称之为迭代),最终导致的结果就是耗费的时间非常多。在很多论文中称这种方法为慢速风格迁移,也有论文称之为基于优化的风格迁移。

在论文[2]发表后,马上就有学者意识到其缺点——慢。所以在论文[3]的题目也可以看到作者想突出的重点,real-time,也就是时间快。

论文[3]整体框图

论文[3]中思想就是用神经网络(此时,这个神经网络则是需要进行训练的)去代替[2]的迭代优化算法。在线下训练(offline)时,使用大量的内容图像和一个特定的风格图去做训练,使得神经网络的输出都是风格化的图像。在测试阶段,输入任意一张内容图像到神经网络,都可以产生具有训练时选定风格的风格化图像。而这个过程是一个前向(forward)的过程,时间只有几十毫秒,故称为快速风格迁移。

讲完的[2][3],大家的思考是什么呢?我们将这个过程用数学公式表示一下(PS 看无线通信优化论文中的 problem formulation真的看吐了...):

这里我们只讨论一种风格图像的风格化,所以直接用

表示,所以最终的一个等式就是:

在论文[2]中这样一个优化问题并没有明显的闭式解,只能用一个迭代的优化算法去求解。但是这样一个过程可以认为是输入

到输出
的一种映射,可能存在一个映射函数。但是这样的函数如果用数学方法去求出显示表示式显然是困难的,这里便使用神经网络去做这个事情。
论文[1]的整体框架

当开组会有同学讲论文[1],看到上面的框图时,眼前一亮:咦?这个套路我在哪里见过!

在传统的功率分配算法中,有一种经典的算法WMMSE(感兴趣可看论文[1]的参考文献)。这种算法是基于迭代的,基于迭代方法的算法一般都是会有一个迭代公式

和规定最大迭代次数和阈值。当达到最大迭代次数或者前后两次的优化结果之差小于一个很小的阈值,就会结束迭代。但是每次迭代都会经历一些复杂的运算,例如奇异值分解等,这样完成优化的过程就会很漫长。这种传统的优化算法和论文[2]就很相似,slow。

论文[1]的思想和[3]可谓是如出一辙,使用神经网络去拟合算法的输入和输出之间的关系,用于去拟合这个算法,从而在测试阶段,可以通过一个前向过程(运算只包含矩阵的乘法和加法)快速地得到结果。在5G中要求低时延,能够在几毫秒的TTI中得出功率控制的结果是很重要的。

这种使用神经网路去拟合算法的方法,能极大的减少运行时间,在性能上只有会少量的损失,但是泛化性会有一点问题(也就是训练数据与测试数据的不匹配)还有就是数据集的生成。

所以这篇文章就是希望给大家带来一些启发,或许在你们的研究领域内也有类似的一些基于迭代的,复杂度高的算法,都可以去尝试一下。

cnn风格迁移_快速图像风格迁移思想在无线通信中的另类应用:算法拟合相关推荐

  1. 图像迁移风格保存模型_CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、关键步骤配图、案例应用...

    CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介.过程思路.关键步骤配图.案例应用之详细攻略 目录 图像风格迁移算法简介 图像风格迁移算法过程思路 1.VGG对比NS 图像风 ...

  2. CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略

    CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介.过程思路.关键步骤配图.案例应用之详细攻略 目录 图像风格迁移算法简介 图像风格迁移算法过程思路 1.VGG对比NS 图像风 ...

  3. (二)快速图像风格转换

    快速图像风格迁移是在"原始"图像风格迁移基础上的一种"高效"转换方案. [github传送门]https://github.com/hzy46/fast-neu ...

  4. 深度有趣 | 30 快速图像风格迁移

    简介 使用TensorFlow实现快速图像风格迁移(Fast Neural Style Transfer) 原理 在之前介绍的图像风格迁移中,我们根据内容图片和风格图片优化输入图片,使得内容损失函数和 ...

  5. CV之NS之VGG16:基于TF Slim库利用VGG16算法的预训练模型实现七种不同快速图像风格迁移设计(cubist/denoised_starry/mosaic/scream/wave)案例

    CV之NS之VGG16:基于TF Slim库利用VGG16算法的预训练模型实现七种不同快速图像风格迁移设计(cubist/denoised_starry/feathers/mosaic/scream/ ...

  6. TensorFlow练手项目三:使用VGG19迁移学习实现图像风格迁移

    使用VGG19迁移学习实现图像风格迁移 2020.3.15 更新: 使用Python 3.7 + TensorFlow 2.0的实现: 有趣的深度学习--使用TensorFlow 2.0实现图片神经风 ...

  7. java图像风格迁移_Python+OpenCV 图像风格迁移(模仿名画)

    现在很多人都喜欢拍照(自拍).有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了模仿名画风格的功能,比如 prisma.versa 等,可以把你的照片变成 梵高.毕加索.蒙克 等大师的风格. 这种 ...

  8. keras神经风格迁移_深度神经风格迁移

    介绍(由于近期准备校招,博客暂时不更新) 神经风格迁移是我研一研二时期主要的研究方向,而从最初的风格迁移出现已经有较长一段时间了.之所以现在写这个博客,第一是因为我的毕业论文定的方向是风格迁移+情感分 ...

  9. mysql云上迁移_自建mysql 迁移到云上-问答-阿里云开发者社区-阿里云

    详细解答可以参考官方帮助文档 使用 数据传输服务 DTS 可以将本地 MySQL 实例的数据迁移到 RDS for MySQL 实例.数据传输服务 DTS (以下简称 DTS) 提供的增量数据同步功能 ...

最新文章

  1. oracle 11g goldengate DML单向复制测试环境搭建
  2. 【Linux入门到精通系列讲解】Linux如何创建和删除swap分区
  3. Oracle imp字符集转换,imp/exp 字符集转换
  4. 读取CSV内容,根据不同的图片标签放到指定文件夹
  5. Spring Boot(四)Spring Boot @ConfigurationProperties实例
  6. 快速查看Gradle项目的类库依赖情况
  7. [树形dp] Jzoj P1046 寻宝之旅
  8. 求对一组数据进行排名的算法
  9. 微信JSAPI支付,报错当前页面的URL未注册
  10. 大白话带你梳理一下Dubbo的那些事儿
  11. golang切片内存应用技巧
  12. php伪静态函数,PHP写的U()函数,结合伪静态做seo优化
  13. airtest远程连接手机_远程连接路由器图文教程,查询无线wifi连接手机dhcp设备名列表...
  14. 西安建筑科技大学安德学院计算机专业,【图片】【安德学院】身在建大,志在四方【西安建筑科技大学吧】_百度贴吧...
  15. 乐刻发布新品牌LITTA 目前已拥有25万+线上付费用户
  16. 果然!这款不到1万的折叠手机同样秒售罄
  17. 删除MyEclipse 6.5.1自带的Maven4MyEclipse
  18. 安卓接收耳机按键控制音频播放
  19. 有人说做运营死路一条,但他没搞清运营是做什么的!
  20. OPPO年薪百万offer经历分享

热门文章

  1. word文档如何画线条流程图_如何将Word文档拆分成多个文件?
  2. 姚殊清华计算机科学与技术,王道顺(清华大学计算机科学与技术系副教授)_百度百科...
  3. git 撤销全部的commit_恢复git撤销commit的代码
  4. python3内置函数详解
  5. 输出nginx执行过程中函数调用关系
  6. 彻底卸载vscode Linux,ubuntu如何卸载vscode
  7. libsvm java api文档_libsvm-javaAPI
  8. java 对象 jvm生命_JVM对象的生命周期
  9. 腐蚀rust电脑分辨率调多少_腐蚀RUST提高FPS教程 腐蚀RUST如何提高FPS
  10. qt跟随鼠标动态绘制_采用Qt快速绘制多条曲线(折线),跟随鼠标动态显示线上点的值(基于Qt的开源绘图控件QCustomPlot进行二次开发)...