DIP: NAS(Neural Architecture Search)论文阅读与总结(双份快乐)

文章地址:

  • NAS-DIP: Learning Deep Image Prior with Neural Architecture Search
  • Neural Architecture Search for Deep Image Prior

参考博客:https://zhuanlan.zhihu.com/p/599390720

文章目录

  • NAS-DIP: Learning Deep Image Prior with Neural Architecture Search
    • 1. 方法原理
      • 1.1 动机
      • 1.2 相关工作
      • 1.3 方法简介
    • 2. 实验结果
    • 3. 总结
  • Neural Architecture Search for Deep Image Prior
    • 1. 方法原理
      • 1.1 动机
      • 1.2 相关工作
      • 1.3 方法细节
    • 2. 实验结果
    • 3. 总结

NAS-DIP: Learning Deep Image Prior with Neural Architecture Search

1. 方法原理

1.1 动机

动机

  • 基于Deep Image Prior的各种应用都有了很好的效果,但是在当时对于DIP的原理、调优都没有非常好的解释
  • 不同的网络结构对于DIP收敛效率和恢复效果有一定的影响,选择合适的网络结构可能会对DIP的发展有参考意义

贡献

  • 基于几种常用的上采样算子提出了一种分解方法,使能够为每项任务搜索合适的上采样单元。
  • 提出了一种Skip connection构建的搜索方法

1.2 相关工作

上采样:将提取到的高层特征进行放大,此时就需要对feature map进行上采样

常见的方法有:

  • 近邻插值(nearest interpolation)
  • 双线性插值(bilinear interpolation)
  • 双三次插值(Bicubic interpolation)
  • 反卷积(Transposed Convolution)
  • 反池化(Unpooling)。

每种方法具体的操作参考 https://zhuanlan.zhihu.com/p/337745762, 转置卷积很有意思,后续的工作也会用到(其可以自定义卷积核)

由于不同的任务需要的网络结构不同,所以本文的一个核心点就是利用强化学习循环神经网络提供了一种搜索最优网络结构的方法。


NAS: network architecture search

给定想要搜索的网络结构:这里是upsamping和skip connection的可能结构空间,然后使用强化学习等搜索方法获取一个合适的网络结构。这样设计的最大的一个目的是为了自适应DIP各种不同的任务,因为作者认为DIP用于去噪、超分、去雾等工作需要的网络结构是不同的。换一句话说当时的工作认为网络结构对DIP的影响很大


1.3 方法简介

NAS-DIP就是用了一个RNN controller 强化学习模块搜索最合适的DIP网络架构:

提供的两个网络模块搜索空间是

  • Upsampling方法和大小

    • 在这里插入图片描述
  • Upsampling 分解和权重共享

    • 在这里插入图片描述
  • Skip connnection

    • 在这里插入图片描述

2. 实验结果

消融实验

  • 网络结构确实是对DIP有影响,且使用NAS-DIP能够提升效果:
    • 在这里插入图片描述

各种应用

  • 超分辨率

    • 在这里插入图片描述
  • 去噪:感觉有些问题,过拟合了,拟合了一些噪声

    • 在这里插入图片描述
  • 去雾:

    • 在这里插入图片描述

3. 总结

总结

  • 网络结构对传统DIP的效果有影响,搜索一个合适的网络结构可能对网络效果有很大的影响
  • 定性分析 上采样结构、skip connection结构对DIP的影响很大,设置了搜索空间(包括upsampling方法、结构和skip connection结构等)
  • 提出了一种基于强化学习的网络结构搜索方法

问题

  • 搜索合适网络结构的时间消耗实在是离谱:NVIDIA V100 GPU with 12GB memory
    • super-resolution task takes about 3 days
    • denoising about 3 days
    • inpainting about 5 days.
  • 个人感觉效果的提升没有可以消除这么长时间和资源消耗的问题。(trade off)
  • 除了upsampling 和 skip connection是否还有其他结构影响更大,很难进行一个全面的分析,也没有提出一个非常优秀的结构出来。

Neural Architecture Search for Deep Image Prior

1. 方法原理

1.1 动机

动机

  • DIP的效果依赖于CNN的网络结构(前期定性分析得到的实验结论,后续分析有其他结论)
  • 不同的CNN网络结构参数不同,效果不同,如何选择最佳的DIP网络结构
  • GANs领域中的见解是:网络结构的Decoder对生成模型的影响非常大

贡献

  • 使用遗传算法搜索最佳的网络结构

1.2 相关工作

前一节中叙述,主要是一些关于NAS的发展:强化学习、全局搜索方法

1.3 方法细节

也咩什么细节,就是使用遗传算法搜索最合适的网络结构,需要搜索的包括:

  • Encoder的某一层是否用到
  • Encoder卷积核大小
  • Encoder卷积核数量
  • Decoder的某一层是否用到
  • Decoder卷积核大小
  • Decoder卷积核数量
  • skip connection是否打开

在这里插入图片描述

在这里插入图片描述

2. 实验结果

应用场景

  • 破损修复,因为这里搜索了很多不同的网络结构,所以有很多输出结果

    • 在这里插入图片描述
  • 各种场景:在各种场景中都有一定的提升,也说明了搜索合适的网络结构可能可以提升DIP的效果

    • 在这里插入图片描述

3. 总结

小结

  • 使用遗传算法搜索最佳的网络结构

问题

  • 可以给出可视化的网络结构,但是没有说明到底什么样的结构对DIP有很大的影响只是对比说了对称网络效果比非对称网络结构好
  • 时间消耗
    • 每个结构搜索20-30次迭代需要 2-3分钟
    • 16 Nvidia Titan-X GPUs搜索一次结构需要3-6小时
  • 是否真的是最优秀的结构?
    • 每个结构只搜索了20-30次迭代,对于DIP而言往往是不够的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/69335.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开发笔记】在Python中调用Docker,并运行SDK任务

目录 1 背景2 环境准备3 实现流程3.1 连接远程Docker3.1 创建容器3.2 解压SDK3.3 挂载容器卷3.4 运行任务3.5 判断任务状态3.6 容器的停止与销毁 4 可能遇到的问题 1 背景 使用Python,在远程Docker中创建一个容器,并在该容器中运行SDK任务 2 环境准备 …

Python中使用隧道爬虫ip提升数据爬取效率

作为专业爬虫程序员,我们经常面临需要爬取大量数据的任务。然而,有些网站可能会对频繁的请求进行限制,这就需要我们使用隧道爬虫ip来绕过这些限制,提高数据爬取效率。本文将分享如何在Python中使用隧道爬虫ip实现API请求与响应的技…

Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL

导航: 【Java笔记踩坑汇总】Java基础进阶JavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线MySQL高级篇设计模式面试题汇总源码_vincewm的博客-CSDN博客 目录 一、基本区别 1.1 基本特性 1.2 Oracle和MySQL如何做技术选型? 1.3 RDBM…

MQTT协议--技术文档--搭建mqtt服务器--《EMQX单体服务器部署》

产品概览 | EMQX 5.1 文档 什么是EMQX? EMQX 是一款开源 (opens new window)的大规模分布式 MQTT 消息服务器,功能丰富,专为物联网和实时通信应用而设计。EMQX 5.0 单集群支持 MQTT 并发连接数高达 1 亿条,单服务器的传输与处理…

读书笔记 |【项目思维与管理】➾ 顺势而动

读书笔记 |【项目思维与管理】➾ 顺势而动 一、企业步入“终结者时代”二、过去成功的经验也许是最可怕的三、做好非重复性的事四、适应客户是出发点五、向知识型企业转变六、速度是决胜条件 💖The Begin💖点点关注,收藏不迷路💖 …

React 之 Suspense和lazy

一. Suspense 参考链接&#xff1a;https://react.docschina.org/reference/react/Suspense suspense&#xff1a;n. 焦虑、悬念 <Suspense> 允许你显示一个退路方案&#xff08;fallback&#xff09;直到它的所有子组件完成加载。 <Suspense fallback{<Loadin…

在Centos环境中搭建Nginx环境

一、Nginx概念简介 Nginx是一个轻量级的高性能HTTP反向代理服务器&#xff0c;同时它也是一个通用类型的代理服务器&#xff0c;支持绝大部分协议&#xff0c;如TCP、UDP、SMTP、HTTPS等。 Nginx与redis相同&#xff0c;都是基于多路复用模型构建出的产物&#xff0c;因此它与R…

【linux】2 软件管理器yum和编辑器vim

目录 1. linux软件包管理器yum 1.1 什么是软件包 1.2 关于rzsz 1.3 注意事项 1.4 查看软件包 1.5 如何安装、卸载软件 1.6 centos 7设置成国内yum源 2. linux开发工具-Linux编辑器-vim使用 2.1 vim的基本概念 2.2 vim的基本操作 2.3 vim正常模式命令集 2.4 vim末行…

Vue-8.集成(.editorconfig、.eslintrc.js、.prettierrc)

介绍 同时使用 .editorconfig、.prettierrc 和 .eslintrc.js 是很常见的做法&#xff0c;因为它们可以在不同层面上帮助确保代码的格式一致性和质量。这种组合可以在开发过程中提供全面的代码维护和质量保证。然而&#xff0c;这也可能增加一些复杂性&#xff0c;需要谨慎配置…

【算法题】螺旋矩阵II (求解n阶Z形矩阵)

一、问题的提出 n阶Z形矩阵的特点是按照之(Z)字形的方式排列元素。n阶Z形矩阵是指矩阵的大小为nn&#xff0c;其中n为正整数。 题目描述 一个 n 行 n 列的螺旋(Z形)矩阵如图1所示&#xff0c;观察并找出填数规律。 图1 7行7列和8行8列的螺旋(Z形)矩阵 现在给出矩阵大小 n&…

VUE+ElementUI的表单验证二选一必填项,并且满足条件后清除表单验证提示

上代码 <el-form-item label"出库单号" prop"ecode" ref"ecode" :rules"rules.ecode"><el-input v-model"queryParams.ecode" placeholder"出库单号和出库箱号至少填写一项" clearable style"width…

学习ts(二)数据类型(接口和对象类型、数组类型)

interface 重名会重合到一起 如果两个interface名称相同&#xff0c;会把两个合到一起 重复定义同一个需要类型相同 不能多或者减少属性 设置任意key 当定义接口返回数据时&#xff0c;我们不确定接口会返回多少&#xff0c;知道所需要的固定属性&#xff0c;其余属性可以…