chemdraw怎么连接两个结构_利用神经结构搜索构建快速准确轻量级的超分辨率网络...

介绍

我们知道,把神经网络拆解,可以把它归结为几个元素的排列组合而成,例如,以卷积神经网络为例,其主要由卷积层,池化层,残差连接,注意力层,全连接层等组成,如果我们把它们抽象,就可抽象为一个个cell块拼接而成。每个cell块内部可由卷积操作(例如分组卷积,分组数为2或者4),卷积后通道数,卷积核大小,内部残差连接,复制前面模块的数量等参数构成。而cell块之间又可相互连接构成稀疏或者稠密连接构成整体的网络。

神经结构搜索(NAS)能够自动搜索构建神经网络结构,它以上述的cell块组成部分以及cell块之间的关联关系作为搜索空间,自动探测符合任务的神经网络结构。这篇论文就是基于神经结构搜索自动搜索构建出超分辨率网络结构,主要以遗传算法进行建模优化。

模型建立

模型的结构示意图如下:

8bafa655679e0235093df35a6b5f8332.png

输入为低分辨率图像,中间特征抽取由一个个cell模块组成,最后输出利用亚像素上采样获取。亚像素采样可由如下图操作方式处理:

6f825dc332e659a511a3d64549936a4b.png

将最后一层卷积层输出的通道平铺开来,得到最终的高分辨率图像。

神经架构搜索主要是自动搜索出特征抽取层。从宏观上看,搜索空间主要为cell间的连接关系。定义

表示第
个cell(表示为
)与第
个cell(表示为
)间的连接关系,为1表示存在连接,为0表示不存在连接。而
会与它后续的cell间会存在连接或者不连接的关系,以
表示。则从宏观上编码如下:

从微观上看,先从cell内部上看,设计由以下几个部分组成搜索空间:

1.卷积,其中卷积采用分组卷积,分组数可选为[2,4]。输出的形状类似于倒置的瓶状,扩展率为2

2.通道数选择为:[16,32,48,64]

3.卷积核大小选择为:[1,3]

4.是否带有内部的残差连接:[true,false]

5.重复的块数:[1,2,4]

那么,总共会有:

种选择。该选择空间定义为

ps:论文中说有192种,论文中选择的搜索空间组成如下图,没理解出怎么会有192种,而且卷积的选择inverted bottleneck block with an expansion rate of 2也不确定到底怎么处理,具体代码也没放出来。这些不影响我们对整体算法思想的理解,如果有了解的,请评论讲解下。。。

0ef0c01d10bbbed35d87ce09286c1c90.png

总共有

个cell,以
表示
选择的内部组成结构,则微观上的编码为:

故整体网络的编码由

组成。

模型生成

模型生成过程以遗传算法为主,具体为带精英策略的非支配排序的遗传算法(NSGA-II)。具体算法步骤如下:

1.初始化。初始化种群

,种群数量为
。每个个体由
个cell块组成,cell块随机采样从
中采样取得,而cell块之间的连接为:生成[0,1]之间的随机数
,若
,在采用随机连接,若
,则采用密度连接,若
,则不连接。进行非支配排序和选择、交叉、变异后得到第一代种群
。设

2.得到新父种群。对

进行快速非支配排序,计算拥挤度距离,选择出
个个体。

这里介绍下Paerot支配关系

对于最小化多目标问题,对于多目标向量

,任意给定两个向量

若对于

,都有
,则A支配B

若对于

,都有
,且
,有
,则A弱支配B。

若对于

,都有
,且
,有
,则A与B互不支配。

快速支配排序算法步骤如下:

(1)依次遍历每个个体,记录下非支配个体数量

和支配个体集合
。设

(2)取

的个体,设置其排序号为

(3)对序号为

的个体的支配集合中的所有个体做
加1,重复步骤(2),直到排序完毕。

支配排序用到下面这三个量组成的向量

(1)PSNR(峰值信噪比),对于两幅图像,计算方法如下:

其中n为每像素的比特数.

(2)计算的花费

(3)参数的数量

之后计算拥挤度距离,这里的拥挤度距离计算方法如下:

(1):对于排序号为

的个体,初始化

(2):针对目标函数排序,如果排序后个体在边界,则设置拥挤度距离为inf,否则按下式计算:

具体看参见论文Improved Crowding Distance for NSGA-II。

先按

的大小取个体,对于同级,按拥挤度距离的大小取,共取出
个。

3.选择。选择使用二进制锦标赛法,即从种群中随机选择2个个体,更优的留下。

4.交叉。选择得到的个体,随机选择位置交互编码的元素,例如,

对于模型A,其编码为

对于模型B,其编码为

而生成的模型C,则分别对

进行交叉,得

5.变异

对于个体中的每个需要变异的cell块,随机生成一个随机数

,则采用随机变异的方式,即随机从
$S$中选择一个cell。

,则利用基于FLOPS(每秒浮点运算次数)归一化的赌轮盘方式进行选择变异。

,则利用基于参数数量归一化的赌轮盘方式进行选择变异。

而对于整体的cell组成连接结构,则利用RNN构成的控制器作为强化模型进行选择变异。结构图如下:

2048f9cd0d0e65006a9ae1a2949f54b2.png

最后一层输入由前面所有的嵌入层向量拼接而成,通过一个三层的全连接网络输出,最后输出的全连接神经元数量为

,表示连接的概率关系。

模型由两个参数组成,LSTM参数

和全连接层参数
,最后的梯度函数如下:

其中

表示原始连接状态,
为输出,
为奖励,可为其他变量不变的情况,替换对于的cell或者宏观连接方式的PNSR值。

训练得到的网络分别对宏观结构进行变异。

6.令

,将得到的种群与新父种群合并,得到种群
,重复步骤2

总结

NAS可以帮助我们自动构建神经网络结构,只要数据足够,就能够得到足够优秀的网络。人也不失为经历这一过程,通过数据,自动识别各种物体,然后最后把识别的知识综合起来做推理。

这篇论文提供了NAS的一种设计方式,以cell块为主,从微观和宏观空间上,定义搜索空间,并对其进行编码,以NSGA-II算法作为优化算法,之后组合得到理想的网络结构。

参考文献

Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search

https://www.jianshu.com/p/ae5157c26af9

https://www.cnblogs.com/bnuvincent/p/5268786.html

https://blog.csdn.net/weixin_43202635/article/details/82708916

Improved Crowding Distance for NSGA-II

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

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

相关文章

Unity3D学习笔记之六创建更多的Prefab

在写完第五篇后,因为不知名的原因,我突然不能够上传100KB以上的图片在博客中了。等了几天还是这样,所以我用PS把图片的分辨率一张张调低,让图片的大小都在100左右,将积攒了四篇的学习笔记一起发上来,也算弥…

iOS底层探索(二) - 写给小白看的Clang编译过程原理

iOS底层探索(一) - 从零开始认识Clang与LLVM 写在前面 编译器是属于底层知识,在日常开发中少有涉及,但在我的印象中,越接近底层是越需要编程基本功,也是越复杂的。但要想提升技术却始终绕不开要对底层原理的探究,很多资…

四、构建Node Web程序

---恢复内容开始--- 一、HTTP 服务器的基础知识 1、Node如何向开发者呈现HTTP请求 2、一个用“Hello World”做响应的HTTP服务器 它用了默 认的状态码200(表明成功)和默认的响应头 3、读取请求头及设定响应头 Node提供了几个修改HTTP响应头的方法&#x…

datagrid 什么时候结束编辑_2020年中考结束后,什么时候出分?什么时候报志愿?...

导语7月19日下午16:00,2020年北京中考正式落下帷幕。考试结束后,很多家长和考生都会长舒一口气,但北京中考在线团队提醒你,现在还不是放松的时刻,中考结束后,还有成绩查询和填报志愿等重要事件等着你。那么…

Unity3D学习笔记之七创建自己的游戏场景

到现在为止我们已经拥有了比较完备的Prefab,已经可以创建宏大的游戏场景,并以第一人称视角在场景中漫游了。这里给大家做个小的示范,建一个小场景大家在创建场景的时候需要自由发挥,做个尽量大的场景出来。这一系列教程以及素材均…

excel if in函数_【Excel函数】Small+Index+IF 一对N返回

通常情况下,Vlookup和lookup函数只能返回满足条件的第一个,剩余的都不会返回。 这也是其函数的一个弊端之一。 若是按照条件,返回所有满足条件的数据(1->N)的,可是适用组合函数。 Index返回位置&#xf…

Unity3D学习笔记之八为场景添加细节(一)

这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习笔记中。我花了30分钟做了一个中等大小的迷宫场景,不知道大家自己发挥,做的场景大小如何。在完成场景之后&#xff0c…

mysql数据库表的管理(增删改)

表字段管理1. 添加到末尾alter table 表名 add 字段名 数据类型;2 添加到开头alter table 表名 add 数据类型 first;3. 添加到指定位置alter table 表名 add 新字段名 数据类型 after 原有字段名;4. 删除字段alter table 表名 drop 字段名;5. 修改数据类型alter ta…

哪个app最费电_微波炉和烤箱,买哪个划算?

微波炉和烤箱不能说买哪个划算,而是看哪个更适合?我家微波炉和烤箱两个都有,所以这个问题我来回答一下。虽然外形上看起来,微波炉和烤箱似乎没有多大的区别,从功能上看,它们也都是加热,但它们侧…

MATLAB数值计算与符号运算

符号计算 存放的是精确数据,耗存储空间 ,运行速度慢,但结果精度高; 数值计算则是以一定精度来计算的,计算结果有误差,但是运行速度快。转载于:https://www.cnblogs.com/shawnchou/p/10927680.html

Unity3D学习笔记之九为场景添加细节(二)

上节为场景中添加了第一块带有碰撞器的石头,本节我们来利用Prefab,将场景细节都添加进去,并且做的更完善。这一系列教程以及素材均参考自人人素材翻译组出品的翻译教程《Unity游戏引擎的基础入门视频教程》,下载链接附在第二篇学习…

vux Cell组件

Cell 组件一 <style lang"scss">.cell {padding-top: 15px;padding-bottom: 15px;color: #333;img {display: block;margin-right: 15px;}} </style><template><Group><cell class"cell" title"钱包" :border-intent…

wifi名称可以有空格吗_收购公司后可以变更公司名称吗,变更公司名称和股权如何处理?...

【点击文末小程序&#xff0c;免费咨询法律问题】公司收购是指二手设备收购&#xff0c;指向目标公司的二手设备&#xff0c;废旧物资&#xff0c;进而获取目标公司的全部或部分业务&#xff0c;取得对拆除的控制权。那么&#xff0c;收购公司后可以变更公司名称吗&#xff0c;…

震惊的网站,都是干货

分享15个鲜为人知的的小众网站&#xff0c;每一个可以让你打开新世界的大门&#xff0c;让你震惊。 1&#xff1a;仿知网 https://www.cn-ki.net/ 仿知网是一个完全可以代替知网的精品网站&#xff1b;是一个非常强大的论文搜索网站。 首先这个网站的论文检索结果和知网的搜索结…

Kinect开发笔记之二Kinect for Windows 2.0新特性

这是本博客的第一篇翻译文档&#xff0c;笔者已经苦逼的竭尽全力的在翻译了&#xff0c;但无奈英语水平也是很有限&#xff0c;不对或者不妥当不准确的地方必然会有&#xff0c;还恳请大家留言或者邮件我以批评指正&#xff0c;我会虚心接受。谢谢大家。 原文网址&#xff1a;h…

持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型

持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献Tensorflow实战Google深度学习框架 实验平台: Tensorflow1.4.0 python3.5.0MNIST数据集将四个文件下载后放到当前目录下的MNIST_data文件夹下 定义模型框架与…

怎样制作滴滴截图_滴滴老了吗?

作者 / 薛静 来源 / 盒饭财经(ID&#xff1a;daxiongfan)滴滴最近有点忙。6月11日&#xff0c;滴滴地图与公交事业部负责人柴华还在忙于解答消费者对于滴滴司机绕路的质疑&#xff0c;网上就流传出了滴滴司机直播性侵的消息。当晚&#xff0c;滴滴急忙在官方微博中做出回应称已…

mysql Backup recovery

如果您要在MySQL数据库中存储任何您不想丢失的内容&#xff0c;那么定期备份数据以保护数据免受损失非常重要。本教程将向您展示两种简单的方法来备份和恢复MySQL数据库中的数据。您还可以使用此过程将数据移动到新的Web服务器。 从命令行备份&#xff08;使用mysqldump&#x…

Kinect开发笔记之三Kinect开发环境配置详解

0、前言&#xff1a;首先说一下我的开发环境&#xff0c;Visual Studio是2013的&#xff0c;系统是win8的64位版本&#xff0c;SDK是Kinect for windows SDK 1.8版本。虽然前一篇博文费了半天劲&#xff0c;翻译了2.0SDK的新特性&#xff0c;但我还是决定要回退一个版本。其实我…

opencv python 图像缩放/图像平移/图像旋转/仿射变换/透视变换

Geometric Transformations of Images 1图像转换 OpenCV提供了两个转换函数cv2.warpAffine和cv2.warpPerspective&#xff0c;可以使用它们进行各种转换。 cv2.warpAffine采用2x3变换矩阵&#xff0c;而cv2.warpPerspective采用3x3变换矩阵作为输入。 2图像缩放 缩放只是调整图…