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.mzph.cn/news/33974.shtml

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

相关文章

PhotoShop学习笔记

PhotoShop学习笔记 对图像进行缩放拉伸自动选中像素相近的同一个区域分离图层的选中区域分离图层的非选中区域处理不自然的缝合痕迹 记录一些PhotoShop中用到的操作,主要是在处理AI图像时遇到的需求。 对图像进行缩放拉伸 CTRLT 自动选中像素相近的同一个区域 魔…

Easys Excel的表格导入(读)导出(写)-----java

一,EasyExcel官网: 可以学习一些新知识: EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 二,为什么要使用easyexcle excel的一些优点和缺点 java解析excel的框架有很多 : poi jxl,存在问题:非常的消耗内存, easyexcel 我们…

基于扩频的数字视频水印嵌入和检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ................................................................. for j 1:length(attens…

OpenCV实例(八)车牌字符识别技术(三)汉字识别

车牌字符识别技术(三)汉字识别 1.代码实例2.遇到问题3.汉字识别代码实例 相较于数字和英文字符的识别,汽车牌照中的汉字字符识别的难度更大,主要原因有以下4个方面: (1)字符笔画因切分误差导致非笔画或笔画流失。 (2…

安装使用IDEA,修改样式,配置服务,构建Maven项目(超级详细版)

目录 前言: 一,安装 1.1打开官网JetBrains: Essential tools for software developers and teams点击 Developer Tools,再点击 Intellij IDEA 2.点击下载​编辑 3.选择对应的版本,左边的 Ultimate 版本为旗舰版,需要…

阿里云服务器搭建Magento电子商务网站图文教程

本文阿里云百科分享使用阿里云服务器手动搭建Magento电子商务网站全流程,Magento是一款开源电商网站框架,其丰富的模块化架构体系及拓展功能可为大中型站点提供解决方案。Magento使用PHP开发,支持版本范围从PHP 5.6到PHP 7.1,并使…

MySQL数据库表的增删查改 - 进阶

一,数据库约束 1.1 约束对象 not null - 该列不能为空unique - 保证该列的每一行都不一样default - 规定没有给列赋值时的默认值(自定义)primary key - not null 和 unique 的结合,会给该列添加一个索引&#xff0…

中科亿海微浮点数转换定点数

引言 浮点数转换定点数是一种常见的数值转换技术,用于将浮点数表示转换为定点数表示。浮点数表示采用指数和尾数的形式,可以表示较大范围的数值,但存在精度有限的问题。而定点数表示则采用固定小数点位置的形式,具有固定的精度和范…

走进知识图谱(二)【世界知识图谱篇】知识表示的经典模型与平移模型及基于复杂关系建模的知识表示学习

上篇文章提到,该系列文章将主要围绕世界知识图谱和语言知识图谱这两大类知识图谱进行展开,并且提到知识图谱的主要研究包括了知识表示学习、知识自动获取和知识的推理与应用三大部分。今天主要介绍世界知识图谱的知识表示学习,其中包括经典的…

C语言 字符指针

1、介绍 概念: 字符指针,就是字符类型的指针,同整型指针,指针指向的元素表示整型一样,字符指针指向的元素表示的是字符。 假设: char ch a;char * pc &ch; pc 就是字符指针变量,字符指…

python num循环怎么从1开始

如何实现python for循环从1开始? range()函数的作用和用法: 编写一个从数值1开始的循环: 执行后得到的结果 其他注意事项

HCIA---动态路由---RIP协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 前言 一.动态路由 二.动态路由协议分类 IGP:内部网关协议 EGP:外部网关协议 三.RIP协议概述 RIP版本分类: RIP三要素: RIP…

【LeetCode】870 . 优势洗牌

870 . 优势洗牌 方法:贪心 思路 这道题的思想类似于 “田忌赛马” ,把 nums1 当成是田忌的马,nums2 当成是齐威王的马。 讨论田忌的下等马(nums1 的最小值): 如果它能比过齐威王的下等马(nums…

探讨uniapp的navigator 页面跳转问题

navigator 页面跳转。该组件类似HTML中的<a>组件&#xff0c;但只能跳转本地页面。目标页面必须在pages.json中注册。 "tabBar": {"color": "#7A7E83","selectedColor": "#3cc51f","borderStyle": "bl…

分布式学习最佳实践:从分布式系统的特征开始

正文   在延伸feature&#xff08;分布式系统需要考虑的特性&#xff09;的时候&#xff0c;我逐渐明白&#xff0c;这是因为要满足这些feature&#xff0c;才设计了很多协议与算法&#xff0c;也提出了一些理论。比如说&#xff0c;这是因为要解决去中心化副本的一致性问题&…

第三节:在WORD为应用主窗口下关闭EXCEL的操作(1)

【分享成果&#xff0c;随喜正能量】夏日里的遗憾&#xff0c;一定都会被秋风温柔化解。吃素不难&#xff0c;难于不肯捨贪口腹之心。若不贪口腹&#xff0c;有何吃素之不便乎。虽吃华素&#xff0c;不吃素日&#xff0c;亦须少吃。以一切物类&#xff0c;皆是贪生怕死&#xf…

【Linux】以太网协议——数据链路层

链路层解决的问题 IP拥有将数据跨网络从一台主机送到另一台主机的能力&#xff0c;但IP并不能保证每次都能够将数据可靠的送到对端主机&#xff0c;因此IP需要上层TCP为其提供可靠性保证&#xff0c;比如数据丢包后TCP可以让IP重新发送数据&#xff0c;最终在TCP提供的可靠性机…

【LeetCode】102. 二叉树的层序遍历、107. 二叉树的层序遍历 II

作者&#xff1a;小卢 专栏&#xff1a;《Leetcode》 喜欢的话&#xff1a;世间因为少年的挺身而出&#xff0c;而更加瑰丽。 ——《人民日报》 102. 二叉树的层序遍历 102. 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节…

记录一下Java实体转json字段顺序问题

特殊需求&#xff0c;和C交互他们那边要求字段顺序要和他们定义的一致(批框架) 如下&#xff1a; Data public class UserDto {private String name;private Integer age;private String addr; }未转换前打印&#xff1a; 转换后打印&#xff1a; 可以看到转换为json顺序打印…