网络结构

DNN结构构建:NAS网络结构搜索和强化学习、迁移学习

百般思念 提交于 2019-11-28 22:43:05
DNN结构构建:NAS网络结构搜索和强化学习、迁移学习 2018年05月14日 15:23:20 wishchin 阅读数 2537 更多 分类专栏: ANN/DNN/纤维丛 前言 谷歌推出的NASNet架构,用于大规模图像分类和识别。NASNet架构特点是由两个AutoML设计的Layer组成——Normal Layer and Reduction Layer,这样的效果是不再需要相关专家用human knowledge来搭建卷积网络架构,直接用RNN把Hyperparameter计算出来,这样就实现了网络结构自动学习。 论文: Learning Transferable Architectures for Scalable Image Recognition 强化学习 论文:《Neural ,Architecture Search with Reinforcement Learning》。 网站链接(开源代码): https:// github .com / tensorflow /models 论文中的核心是:利用Reinforcement Learning(强化学习)机制训练一个RNN(循环神经网路)controller(控制器)去自动产生一个神经网络,无需人为手动设计网络,设计出的网络在相关有权威的数据集上都取得了很好的成绩

Tensorflow在12306的失败记录

橙三吉。 提交于 2019-11-28 16:20:19
最近想用tensorflow做点实际的东西,最后选取了12306的验证码的识别。网上有很多这种实战,但都是识别26个字母或者10个数字的小项目。当然,在csdn上也有一位博主说他用简单的cnn将12306的验证码识别准确率提升到了95%;相关网络结构和代码没有公布,在他的回答中,都说的是最简单的cnn处理的验证码和汉字。于是,我有了自己实践的念头。 数据: 一开始我是自己做的爬虫,爬取了大约10000张验证码。当时心里美滋滋的,但是随后的标记工作苦不堪言,我标记了大约100张就放弃了这个工作。在网上查的方法有人工打码,当然,这是要钱的,100张1元左右,让我心生退意。我不得已疯狂浏览相关博文,,,,最后终于下载了一万一千多张验证码和相应标签。 处理: 在阅读csdn大神博主的博文后,我想当然的以为最简单的cnn必然有不错的效果,但是我尝试了很多次,修改了很多的网络结构,均以失败告终。正确率都在10%到20%左右。 我开始借鉴一些成熟的网络结构,首先是lenet5,一开始我没有改变图片的大小,自己先用一层卷积将输出大小变为lenet的输入大小,但是没有效果。不得已,我将图片直接转为32*32的大小,最后迭代20多万次,才有50%的正确率(100个分类)。这也是我最后的结果了。 我当然感到不满意,尝试使用alenet的网络结构,但是第一步就把我难住了,alenet的输入是227

Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition

怎甘沉沦 提交于 2019-11-28 07:13:40
Two-Stream Adaptive Graph Convolutional Network for Skeleton-Based Action Recognition 摘要 基于骨架的动作识别因为其以时空结合图(spatiotemporal graph)的形式模拟了人体骨骼而取得了显著的效果。 在现有的基于图的方法中, 图的拓扑结构 是手动设置的,而且在所有层以及输入样本中是固定不变的。这样的方法在用在有层级CNN和不同输入样本的动作识别中不是最佳的。 而且骨架中的具有更多细节和判别式信息二级结构(骨骼长度、方向、骨头等)很少在现有的方法中研究使用 作者提出了自适应的双流图网络结构用来进行基于骨架的动作识别,整个网络的拓扑结构可以端到端地学习出来,这种数据驱动的图模型增加了模型的灵活性,并且并且获得了更普适更一般化的特征来适应不同的样本 另外还采用了双流的结构同时模拟一级结构和二级结构,提高了动作识别的准确率 在NTU-RGBD以及Kinetics-Skeleton两个数据集上取得了非常好的结果 总结 提出了一个自适应的图卷积网络,可以自动学习出针对不同样本的不同的拓扑结构 提出了使用节点信息和骨头信息的双流网络结构 一、引言 目前有3种深度学习方法解决基于骨架的动作识别问题,分别是:将关节点序列表示成关节点向量,然后用RNN进行预测;将关节点信息表示成伪图像

CNN原理

萝らか妹 提交于 2019-11-28 01:07:34
卷积神经网络(Convolutional Neural Network)的结构类似于神经网络,可以看做是对其的改进。它利用 局部连接 、 权值共享 、 多核卷积 、 池化 四个手段大大降低了参数的数目,使得网络的层数可以变得更深,并且能够合理的隐式的提取特征。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于其特征检测层通过训练数据进行学习,隐式地从训练数据中进行学习, 避免了显式的特征抽取 ;再者由于同一特征映射面上的神经元权值相同,所以 网络可以并行学习 ,这也是卷积网络相对于神经元彼此相连网络的一大优势。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络,权值共享降低了网络的复杂性,特别是 多维输入向量的图像 可以直接输入网络 这一特点避免了特征提取和分类过程中数据重建的复杂度它可以直接处理灰度图片,能够直接用于处理基于图像的分类。 卷积神经网络是一种带有卷积结构的深度神经网络,卷积结构可以减少深层网络占用的内存量。卷积神经网络的结构组成如下图: 其中包含有: 输入层、 卷积层 (Convolutional Layer)、 激励层 (ReLU layer) 池化层 (下采样层Pooling Layer)、 全连接层 (Fully Connected Network) 输出层 卷积神经网络层、池化层

计算机网络组网与配置技术—— 读书笔记6、路由器、交换机的配置

微笑、不失礼 提交于 2019-11-27 21:24:48
第十三、十四章:路由器、交换机的配置 路由器配置基础: 功能: 1、把网络分割成多个子网 2、隔离广播风暴 3、子网间信息包的传输 4、连接不同类型网络 5、提供安全访问的机制 6、提供第三层的网络服务 分类: 功能上分:高端路由器和中高端路由器 结构上分:模块化结构和非模块化结构(固定) 根据路由器技术特点和应用特点分:骨干级(核心)路由器、企业级路由器和接入路由器 从性能上分:线速路由器以及非线速路由器 重要性能指标: 1、背板能力 2、吞吐量 3、丢包率 4、转发时延 5、路由表容量 6、可靠性 路由器常用配置: IP协议的配置、IP路由配置、路由协议配置、广域网协议配置、NAT及配置 交换机配置 交换机的命名和标识 Cisco 的交换机产品以“Catalyst”为商标包含1900、2800、2900、3500、4000、5000、5500、6000、8500等 来源: CSDN 作者: Cawen_Cao 链接: https://blog.csdn.net/Cowena/article/details/47980007

CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等

回眸只為那壹抹淺笑 提交于 2019-11-27 03:52:56
CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量。我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中探讨日后的CNN变革方向。 注:水平所限,下面的见解或许有偏差,望大牛指正。另外只介绍其中具有代表性的模型,一些著名的模型由于原理相同将不作介绍,若有遗漏也欢迎指出。 一、卷积只能在同一组进行吗?-- Group convolution Group convolution 分组卷积,最早在AlexNet中出现,由于当时的硬件资源有限,训练AlexNet时卷积操作不能全部放在同一个GPU处理,因此作者把feature maps分给多个GPU分别进行处理,最后把多个GPU的结果进行融合。 alexnet 分组卷积的思想影响比较深远,当前一些轻量级的SOTA(State Of The Art)网络,都用到了分组卷积的操作,以节省计算量。但题主有个疑问是,如果分组卷积是分在不同GPU上的话,每个GPU的计算量就降低到 1/groups,但如果依然在同一个GPU上计算,最终整体的计算量是否不变?找了pytorch上有关组卷积操作的介绍,望读者解答我的疑问。 pytroch github EDIT: 关于这个问题,知乎用户朋友 @蔡冠羽 提出了他的见解: 我感觉group

refinedet网络结构

痴心易碎 提交于 2019-11-27 01:42:47
refinedet只预测4个层,并且只有conv6_1、conv6_2,没有ssd中的conv7、8、9 refinedet的4个层都只有1个aspect ratio和1个min_size,所以每层每个点只有3个anchor,arm中做location的conv4_3_norm_mbox_loc等层都是3*4个channel,做confidence的conv4_3_norm_mbox_conf都是6个channel,因为这里变成了2分类,每个anchor必须要有negative和positive的概率 refinedet是两步都要回归bounding box的框,refinedet中的odm_loss就相当于ssd中的mbox_loss,mbox_loss获得了anchor的坐标后会加上回归再进行训练,odm_loss获得anchor的坐标后先要加上arm_loc的回归,再加odm_loc的回归,这样再去进行loss计算. name: "vgg_1/8" layer { name: "data" type: "AnnotatedData" top: "data" top: "label" include { phase: TRAIN } transform_param { mirror: true mean_value: 104.0 mean_value: 117.0 mean

网络协议总结一

北城余情 提交于 2019-11-26 16:03:26
网络协议 OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型是一个逻辑上的定义和规范; 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备, 比如路由器,交换机 OSI 七层模型是一种框架性的设计方法,其最主要的功能就是帮助不同类型的主机实现数据传输; 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯 来源: https://www.cnblogs.com/a19960101/p/11325428.html

6、循环神经网络(RNN)

北城以北 提交于 2019-11-26 14:04:59
6.1 为什么需要RNN? ​时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。一般的神经网络,在训练数据足够、算法模型优越的情况下,给定特定的x,就能得到期望y。其一般处理单个的输入,前一个输入和后一个输入完全无关,但实际应用中,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。比如: ​当我们在理解一句话意思时,孤立的理解这句话的每个词不足以理解整体意思,我们通常需要处理这些词连接起来的整个序列; 当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。为了解决一些这样类似的问题,能够更好的处理序列的信息,RNN就由此诞生了。 6.2 图解RNN基本结构 6.2.1 基本的单层网络结构 ​在进一步了解RNN之前,先给出最基本的单层网络结构,输入是 $x$ ,经过变换 Wx+b 和激活函数 f 得到输出 y : 6.2.2 图解经典RNN结构 ​在实际应用中,我们还会遇到很多序列形的数据,如: 自然语言处理问题。x1可以看做是第一个单词,x2可以看做是第二个单词,依次类推。 语音处理。此时,x1、x2、x3……是每帧的声音信号。 时间序列问题。例如每天的股票价格等等。 其单个序列如下图所示: 前面介绍了诸如此类的序列数据用原始的神经网络难以建模,基于此,RNN引入了隐状态$h$