卷积

CNN

柔情痞子 提交于 2020-02-29 13:47:21
文章目录 1.全连接神经网络的局限性: 2 2.1 CNN结构: 2.2 卷积 2.3 pooling池化 2.4 卷积函数 2.5池化函数 1.全连接神经网络的局限性: 当图片分辨率进一步增加时,当隐层数量增加时,参数会过多,参数增多导致计算速度缓慢,过拟合问题,需要合理的结构来有效减少参数个数.CNN可看做神经认知机的推广形式,CNN是一个多层的神经网络,每层由多个二维平面组成,其中每个平面由多个独立神经元组成. 2 2.1 CNN结构: 输入层:将每个像素代表一个特征点输入到网络中 卷积层:卷积运算的主要目的是使原信号特征增强,并降低噪音 降采样层:通过减少矩阵的长和宽,降低网络训练参数及模型的过拟合程度 全连接层:对生成的特征进行加权 softmax层:获得当前样例属于不同类别的概率 2.2 卷积 权值矩阵称为卷积核 卷积核在2维输入数据上滑动,对当前输入部分的元素进行矩阵乘法,然后将结果汇为单个输出像素值,重复直到 遍历整个图像,这个过程称为卷积 卷积操作之后的图像称为特征图feature map 局部连接:每个输入特性不用查看每个输入特征,只需查看部分输入特征 权值共享:卷积核在图像上滑动过程保持不变 多通道卷积:每个通道使用一个卷积核进行卷积操作,然后将这些特征图相同位置上的值相加,生成一个特征图 [m,m]->[n,n] ->[n,n] ->[n,n] [m,m

你的颜值能打多少分?让飞桨来告诉你

穿精又带淫゛_ 提交于 2020-02-28 19:32:02
【飞桨开发者说】钟山,中科院信工所工程师,主要研究计算机视觉、深度学习。 想必很多人都对自己的颜值到底怎样充满好奇,也有很多软件为大家提供了颜值打分的趣味功能。其实,颜值打分也可以视为一个图像分类问题,今天就向大家介绍如何利用飞桨搭建一个VGG网络,实现一个简单的颜值打分demo。 ​ 01 VGGNet介绍 VGGNet 由牛津大学的视觉几何组(Visual Geometry Group)和 Google DeepMind 公司提出,是 ILSVRC-2014 中定位任务第一名和分类任务第二名。提出 VGGNet 的主要目的是为了探究在大规模图像识别任务中,卷积网络深度对模型精确度的影响。通过VGGNet,研究人员证明了基于尺寸较小的的卷积核,增加网络深度可以有效提升模型的效果。VGGNet结构简单,模型的泛化能力好,因此受到研究人员青睐而广泛使用,到现在依然经常被用作图像特征提取。 VGGNet引入“模块化”的设计思想,将不同的层进行简单的组合构成网络模块,再用模块来组装完整网络,而不再是以“层”为单元组装网络。VGGNet有5种不同的VGGNet 配置,如上表所示。其中每一列代表一种网络配置,分别用 A~E 来表示。从表格中可以看出所有VGG配置都有五个卷积模块,模块中所有卷积都是3×3卷积核(conv3),因此特征图的尺寸在模块内不是变的,每个模块卷积之后紧接着最大池化层

tensorflow2.0关于卷积运算错误

旧时模样 提交于 2020-02-28 18:59:57
UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. [Op:Conv2D] 解决办法:代码前添加下面两行 import os os.environ[‘CUDA_VISIBLE_DEVICES’] = ‘/gpu:0’ 具体为什么完全搞不懂 来源:简书 作者:白小白db 链接:https://www.jianshu.com/p/e13aa15f35da 来源: CSDN 作者: 烤羊排 链接: https://blog.csdn.net/jinziqi0330/article/details/104555619

计算机视觉入门——01 CNN网络(卷积神经网络的结构)

徘徊边缘 提交于 2020-02-28 18:14:39
卷积的计算: https://blog.csdn.net/qq_32846595/article/details/79053277 入门资料: https://zhuanlan.zhihu.com/p/31249821 采样层实际上只是特征提取的过程,并不是一个实际的模块!!! 卷积实际上可以充当一个对原图像进行二次转化,提取feature 的作用。 全连接层:将pixels放入神经网络输出结果。 采样层:相当于信息预处理,只保留有用的信息。 加入卷积层,进一步减少数据 一个3x3 source pixels 经过一个3x3的卷积核后,source pixels 的特征映射成一个1x1 destination pixel。 级联分类器:大概意思就是我从一堆弱分类器里面,挑出一个最符合要求的弱分类器,用着这个弱分类器把不想要的数据剔除,保留想要的数据然后再从剩下的弱分类器里,再挑出一个最符合要求的弱分类器,对上一级保留的数据,把不想要的数据剔除,保留想要的数据。最后,通过不断串联几个弱分类器,进过数据层层筛选,最后得到我们想要的数据。 CNN主要由3钟模块构成: 卷积层 采样层 全连接层 整个过程相当于: 1、通过第一个卷积层提取最初特征,输出特征图(feature map) 2、通过第一个采样层对最初的特征图(feature map )进行特征选择,去除多余特征,重构新的特征图 3

关于torchvision.models中VGG的笔记

寵の児 提交于 2020-02-28 14:36:29
VGG 主要有两种结构,分别是 VGG16 和 VGG19,两者并没有本质上的区别,只是网络深度不一样。 对于给定的感受野,采用堆积的小卷积核是优于采用大的卷积核的,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。 比如,三个步长为 $1$ 的 $3 \times 3$ 卷积核的叠加,即对应 $7 \times 7$ 的感受野(即三个 $3 \times 3$ 连续卷积相当于一个 $7 \times 7$ 卷积),如果我们假设卷积输入输出的 channel 数均为 $C$,那么三个 $3 \times 3$ 连续卷积的参数总量为 $3 \times (9 C^2)$(一个卷积核的大小 $3 \times 3 \times C$,一层有 $C$ 个卷积核,总共有三层),而如果直接使用 $7 \times 7$ 卷积核,其参数总量为 $49 C^2$。很明显 $27C^2 < 49C^2$,即减少了参数。 VGG的网络结构非常简单,全部都是 $(3,3)$ 的卷积核,步长为 $1$,四周补 $1$ 圈 $0$(使得输入输出的 $(H,W)$ 不变): 我们可以参考 torchvision.models 中的源码: class VGG(nn.Module): def __init__(self, features, num_classes=1000,

对于SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS的理解

情到浓时终转凉″ 提交于 2020-02-28 13:42:19
SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS的理解笔记总结 文章目录 SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS的理解笔记总结 前言 必备知识: GCN(Graph Convolutional network) 对于卷积核gθ​的定义 关于论文的2 (FAST APPROXIMATE CONVOLUTIONAS ON GRAPHS) 关于论文的2.1(SPECTRAL GRAPH CONVOLUTIONS) 关于论文2.2(lAYER-WISE LINEAR MODEL) 关于论文3.1(EXAMPLE) 部分代码 Reference 前言 在学习semi-supervised classification with graph convolutional networks之前,我认真的查阅了关于GCN(Graph Convolutional Networks)的知识,并且认为很有必要(对于像我这种小白, 去先了解清楚关于GCN的知识 ),这篇论文是基于前人的研究结果提出的新的方法。 因为是从零开始学,对于理解有误的地方欢迎大家指正! 必备知识: GCN(Graph Convolutional network)

ECCV2018|【论文笔记】CornerNet: detecting objects as paired keypoints

佐手、 提交于 2020-02-28 10:55:28
论文地址: https://arxiv.org/abs/1808.01244v1 代码地址: https://github.com/princeton-vl/CornerNet 摘要: 本文提出了一个新的目标检测方法CornerNet,用一对关键点来检测目标。即object box的左上和右下点,并使用单一卷积神经网络。同时本文还提出了一种新的池化层,Corner polling,可以更好的定位corner。 引言: 之前的目标检测anchor机制,需要产生大量的anchor,比如DSSD需要40000个,RetinaNet产生100000个,但是实际只有少量的正确的anchor与真实值重叠率高,这造成正负样本极度不平衡(lin etal 2017) Anchor boxes需要复杂的设计,数量,尺寸,比例。 文章使用boxes左上和右下的关键点来预测。使用单一神经网络预测左上角和右下角关键点的heatmap。 正在上传… 重新上传 取消 文章回忆了相关的目标检测检测器,包括two-stage 和one-stage。同时对比了anchor改进的相关检测器。DeNet(2017)是一个没有用anchor产生ROI的二阶段检测器。它首先判定每一个位置是属于bounding box四角的哪一个,然后通过列举所有可能的cornor 组合产生ROI。不同的是

CNN感受野计算

落爺英雄遲暮 提交于 2020-02-28 10:44:28
无痛理解CNN中的感受野receptive field CNN中感受野的计算 从直观上讲,感受野就是视觉感受区域的大小。在卷积神经网络中,感受野的定义是 决定某一层输出结果中一个元素所对应的输入层的区域大小 感受野计算时有下面的几个情况需要说明: a)第一层卷积层的输出特征图像素的感受野的大小等于滤波器的大小; b)深层卷积层的感受野大小和它之前所有层的滤波器大小和步长有关系; c)计算感受野大小时,忽略了图像边缘的影响,即 不考虑padding的大小 。 至于如何计算感受野,我的建议是top to down的方式,即从网络的最后向前推 感受野的大小是由kernel size(filter)和stride size(步长)一起决定的,公式: rfsize = f(out, stride, ksize) = (out - 1) * stride + ksize,其中out是指上一层感受野的大小,stride是当前层stride 最后一层不带入公式,它的ksize是前一层的out 理解: Feature Map的尺寸=(input_size + 2 * padding_size − ksize)/stride+1 根据定义 感受野是决定某一层输出结果中一个元素所对应的输入层的区域大小 这里指的是要求解的那层的一个元素也就是最初输入的out=1: rfsize = f(out,

马里奥AI实现方式探索 ——神经网络+增强学习

元气小坏坏 提交于 2020-02-28 08:44:28
目录 马里奥AI实现方式探索 ——神经网络+增强学习 神经网络 M-P模型 早期神经网络 深度神经网络 总结 增强学习 马尔可夫决策过程(MDP) 基于NEAT算法的马里奥AI实现 基于Deep Reinforcement Learning的马里奥AI实现 总结 马里奥AI实现方式探索 ——神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典的马里奥形象出现。平时我们都是人来玩马里奥游戏,能否可以让马里奥智能的自己闯关个呢?OK,利用人工智能的相关算法来进行自动化通关一直是一个热门的话题,最近最火的相关东东就是传说中的alphaGo啦。而在游戏的自动化测试当中,这种算法也是非常实用的,可以大量的减少测试人力成本。 首先,对于实现马里奥AI当中涉及到的神经网络和增强学习的相关概念进行整理,之后对智能通关的两种方式进行阐述。(本人才疏学浅,在神经网络和增强学习方面基本门外汉,如有任何纰漏,还请大神指出,我会第一时间改正。) 神经网络 像飞机的灵感来源于鸟类,雷达的灵感来源于蝙蝠,红外线的灵盖来源于蛇,而本文要讨论的神经网络灵感来源于我们自己,人类大脑的神经元结构。从神经元结构被提出,到时下火热的无以复加的深度神经网络,发展过程也可为一波三折。我们按照时间的顺序

深度学习总结3——VGG

拜拜、爱过 提交于 2020-02-28 04:44:36
鼠年一到,大家都在家猫着吧。几个吃野味的害的全国人民一起关禁闭。md,实在是应该qb。 卷积模型从LeNet->AlexNet-VGG->NiN->GoogleNet->ResNet->InceptionV3、V4,最终比较实用的可能还是后面的这些。AlxeNet、VGG更多作为研究的启动,被比较的对象。比较实用的还是后面这些网络结构。 VGG:结构有VGG-11、VGG-16、VGG-19,常用VGG-16,组成结构:13个卷积层和3个FC全连接层组成: 输入图像尺寸:224*224*3 每个VGG Block组成(number,number_channel): 卷积{卷积核尺寸:3*3,卷积核数量:number_channel,stride:1,pad:1,active='relu'}*number; 池化{2*2,步长2,pad=0,'max'} VGG-16组成:VGGblock(2,64)、VGGblock(2,128)、VGGblock(3,256)、VGGblock(3,512)、VGGblock(3,512)、FC(1,4096)、FC(1,4096)、FC(1,1000) 每层之间可以用batch_norm和Dropout增加鲁棒性和提高速度 参数资源:138M 来源: CSDN 作者: 疯狂的yaphy 链接: https://blog.csdn.net