CNN卷积神经网络学习笔记(特征提取)

CNN 特征提取 CNN进行特征提取相关问题 阅读详情
AI摘要

本文介绍了CNN卷积神经网络的主要应用,如图像检测、分类和超分辨率重构等。详细阐述了CNN的架构,包括输入层、卷积层、ReLU激活函数、池化层和全连接层的功能。特别讨论了ReLU的优点以及VGG-16和Resnet等经典模型。此外,还提到了PyTorch的安装和配置流程。

一、CNN卷积神经网络可以干的事情:

检测任务

分类和检索:

 

 超分辨率重构:

字体识别、人脸识别、医学任务、自动驾驶任务等

总结:特征提取相关 

二、卷积神经网络的整体架构:

(1)输入层

H*W*C的三维数据

(2)卷积层(提取特征)

权重参数矩阵 filterW

当前区域数据 :将输入数据划分成小区域,对每个区域进行特征提取

滑动窗口步长:

卷积核尺寸:

H*W,一般是3*3

边缘填充:

边缘的点被提取次数少,所以给边界padding一圈之后,让边缘点提取次数增多,一定程度上弥补了边界特征缺失的问题。一般都padding0,让增加值对结果不产生影响。 

偏置项

在权重矩阵和区域计算内积之后,加上偏置项才是最后的特征图数据

卷积核个数:

有几个卷积核,就得到几个特征图

 

 

 

 用同样一组卷积核对每个区域进行特征提取

对每个通道进行卷积,最后结果加和

(3)Relu:

relu函数是常见的激活函数中的一种,表达形式如下:

Relu其实就是个取最大值的函数。 

 

如果不用激活函数,在这种情况下每一层输出都是上层输入的线性函数。容易验证,无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。因此引入非线性函数作为激活函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是sigmoid函数或者tanh函数,输出有界,很容易充当下一层输入。

引入ReLu的原因

第一,采用sigmoid等函数,算激活函数时(指数运算),计算量大,反向传播求误差梯度时,求导涉及除法,计算量相对大,而采用Relu激活函数,整个过程的计算量节省很多。

第二,对于深层网络,sigmoid函数反向传播时,很容易就会出现 梯度消失 的情况(在sigmoid接近饱和区时,变换太缓慢,导数趋于0,这种情况会造成信息丢失),从而无法完成深层网络的训练。

第三,ReLu会使一部分神经元的输出为0,这样就造成了 网络的稀疏性,并且减少了参数的相互依存关系,缓解了过拟合问题的发生。

Relu函数的优势

1、没有饱和区,不存在梯度消失问题,防止梯度弥散;

2、稀疏性;

3、没有复杂的指数运算,计算简单、效率提高;

4、实际收敛速度较快,比 Sigmoid/tanh 快很多;

5、比 Sigmoid 更符合生物学神经激活机制。

(4)池化层(压缩,下采样)

最大池化的效果一般都比平均池化的效果好,所以现在一般都使用最大池化 

(5)全连接层

全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”(下面会讲到这个分布式特征)映射到样本标记空间的作用。在实际使用中,全连接层可由卷积操作实现:

对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前层是卷积层的全连接层可以转化为卷积核为hw的全局卷积,hw分别为前层卷积结果的高和宽。

全连接的核心操作就是矩阵向量乘积 y = Wx

(6)感受野

 

 

三、几个经典的卷积神经网络:

(1)VGG-16

vgg16总共有16层,13个卷积层和3个全连接层,第一次经过64个卷积核的两次卷积后,采用一次pooling,第二次经过两次128个卷积核卷积后,再采用pooling,再重复两次三个512个卷积核卷积后,再pooling,最后经过三次全连接。

VGG16的卷积核
conv3-xxx:卷积层全部都是3*3的卷积核,用上图中conv3-xxx表示,xxx表示通道数。其步长为1,用padding=same填充。池化层的池化核为2*2

设置padding的属性值是 SAME ,则表示【输出层尺寸 = 输入层尺寸】
input(224x224 RGB image) :指的是输入图片大小为224*244的彩色图像,通道为3,即224*224*3;
maxpool :是指最大池化,在vgg16中,pooling采用的是2*2的最大池化方法;
FC-4096 :指的是全连接层中有4096个节点,同样地,FC-1000为该层全连接层有1000个节点;
padding:指的是对矩阵在外边填充n圈,padding=1即填充1圈,5X5大小的矩阵,填充一圈后变成7X7大小;
最后补充,vgg16每层卷积的滑动步长stride=1,padding=1,卷积核大小为333;

卷积计算 
1)输入图像尺寸为224x224x3,经64个通道为3的3x3的卷积核,步长为1,padding=same填充,卷积两次,再经ReLU激活,输出的尺寸大小为224x224x64 
2)经max pooling(最大化池化),滤波器为2x2,步长为2,图像尺寸减半,池化后的尺寸变为112x112x64 
3)经128个3x3的卷积核,两次卷积,ReLU激活,尺寸变为112x112x128 
4)max pooling池化,尺寸变为56x56x128 
5)经256个3x3的卷积核,三次卷积,ReLU激活,尺寸变为56x56x256 
6)max pooling池化,尺寸变为28x28x256 
7)经512个3x3的卷积核,三次卷积,ReLU激活,尺寸变为28x28x512 
8)max pooling池化,尺寸变为14x14x512 
9)经512个3x3的卷积核,三次卷积,ReLU,尺寸变为14x14x512 
10)max pooling池化,尺寸变为7x7x512 
11)然后Flatten(),将数据拉平成向量,变成一维51277=25088。 
11)再经过两层1x1x4096,一层1x1x1000的全连接层(共三层),经ReLU激活 
12)最后通过softmax输出1000个预测结果


(2)Resnet:

四、安装pytorch:

安装PyTorch详细过程_pytorch安装_MC云鸷骚峰的博客-优快云博客

按照上述过程安装pytorch

Pytorch安装完成后Pycharm如何配置环境并测试Pytorch_supreluc的博客-优快云博客

之后在按照上述过程配置好pycharm的环境

bp神经网络图像特征提取,神经网络如何提取特征 3、基于MATLAB语言的网络训练与仿真建立并初始化网络% ================S1 = 24;在学习阶段应该用大量的样本进行训练学习,通过样本的大量学习对神经网络的各层网络的连接权值进行修正,使其对样本有正确的识别结果,这就像人记数字一样,网络中的神经元就像是人脑细胞,权值的改变就像是人脑细胞的相互作用的改变,神经网络在样本学习中就像人记数字一样,学习样本时的网络权值调整就相当于人记住各个数字的形象,网络权值就是网络记住的内容,网络学习阶段就像人由不认识数字到认识数字反复学习过程是一样的。.. 阅读详情

相关推荐

用卷积神经网络(CNN)中的卷积核(过滤器)提取图像特征

这两天在听吴恩达讲解卷积神经网络的视频,对利用卷积层检测边缘特征也就是提取图像的特征有了一定的理解,并且通过查阅资料,用python实现了提取图像特征的过程,然后趁热打铁总结一下,话不多说,直接步入正题。 一、卷积层的原理以及概述 在卷积神经网络中,卷积运算是对两个矩阵进行的。CNN主要是通过卷积运算来完成特征提取的。图像卷积运算,主要是通过设定各种特征提取滤波器矩阵(卷积核,通常设定大小为3x3,或者5x5的矩阵),然后使用该卷积核在原图像矩阵(图像实际是像素值构成的矩阵)‘滑动’,实...

NSSWTT的博客 1万+

深度学习-CNN提取图像特征

一、卷积层 1.卷积操作 2.特征提取—"X" or "O"? 二、池化(Pooling) 三、Relu 层 四、全连接层(Fully connected layers) 五、反向传播算法BP 六、总结 作为机器学习的一个分支,深度学习同样需要计算机获得强大的学习能力,那么问题来了,我们究竟要计算机学习什么东西?答案当然是图像特征了。将一张图像看做是一个个像素值组成的...

知识搬运工的博客 10万+

[2] 卷积神经网络CNN 图解

背景之前在网上搜索了好多好多关于CNN的文章,由于网络上的文章很多断章取义或者描述不清晰,看了很多youtobe上面的教学视频还是没有弄懂,最后经过痛苦漫长的煎熬之后对于神经网络和卷积有了粗浅的了解。于是在这里记录下所学到的知识,关于CNN 卷积神经网络,需要总结深入的知识有很多: 人工神经网络 ANN 卷积神经网络 CNN 卷积神经网络 CNN - BP算法 卷积神经网络 CNN - LetNet

3423

【特征提取网络】|SENet

2017卷积神经网络在很多领域上都取得了巨大的突破。卷积核作为卷积神经网络的核心,它使网络能够通过融合每一层的局部感受野内的空间(spatial)和通道信息(channel-wise)来构建信息特征。卷积神经网络由一系列卷积层、非线性层和下采样层构成,这样它们能够从理论全局感受野上去捕获图像的特征来进行图像的描述。计算机视觉研究的一个中心主题是寻找更强大的表示,捕捉图像中对给定任务最显著的属性,从而提高性能。最近的研究表明,CNN产生的特征表示可以通过将学习机制集成到网络中来加强,这有助于捕捉特征之间的空间

qq_35608277的博客 5945

卷积神经网络(CNN)学习笔记

卷积神经网络(CNN)卷积神经网络(Convolutional Neural Network )是一种深度前馈神经网络,广泛应用于图像识别和自然语言处理等方向,本文基于初学者的视角简单描述卷积神经网络的概念和原理,包含个人主观理解,如有错误恳请指正。为何选用CNN来处理图像传统的全连接(fully connected)网络结构在处理图像时,由于图片的二维结构,导致神经元数量大大增加,即使是100X1

GYBinLero的博客 2624

一文掌握CNN卷积神经网络

戳上方蓝字【阿力阿哩哩的炼丹日常】关注我~4.3CNN卷积神经网络我们在4.2节讲到了神经网络已经逐步成为人类智能生活的璀璨明珠,并介绍了全连接神经网络的整个训练过程(深度学习开端-全连...

Chile_Wang的博客 1344

[深度学习笔记][CNN/GCN]卷积神经网络基础

注:这是写给自己看的学习笔记,如有错误敬请指出。 1.卷积神经网络的结构 由四层构成,分别为:输入、卷积、池化、输出层。 2.卷积神经网络的形象理解 2.1卷积层的形象理解 卷积层的目的实际上是进行特征的提取。 在卷积层(convention layer)中,使用一个过滤器(kernel)去扫描一个图像,这个过滤器的参数是需要学习的。过滤器与图像进行卷积并滑动,会生成这个图像的特征映射(feature map)。 此处可以深究的问题是:如何选取合适的过滤器、如何确定过滤器的大小等。(书中.

猎人伯爵 877

Intouch间接变量(扩展)

间接变量只是Intouch提供给开发者的便捷方式之一,并不是所有情况都一定要使用间接变量,有时候用条件语句或者内存变量的方式也能起到类似的作用。

weixin_41571357的博客 2167

CNN卷积神经网络(图解CNN)

超详细的CNN卷积网络讲解,及经典网络LeNet复现

WGS. 7万+

从零搭建ROS1导航小车(一):松灵SCOUT Mini底盘通讯配置与ROS包编译避坑指南

本文详细介绍了从零开始搭建ROS1导航小车的初始步骤,重点讲解松灵SCOUT Mini底盘的通讯配置与ROS包编译避坑指南。内容包括硬件连接、CAN通讯配置、ROS工作空间构建及编译优化等实用技巧,帮助开发者快速实现自主导航小车的通讯功能。

weixin_27014595的博客 188

「Debug R」在从名字空间‘XVector’中出口方法时发现了不是S4通用的函数‘parallelSlotNames’...

每当R语言版本更新,Bioconductor的版本随之更替的时候,总会有一些神奇的报错会出现,比如说下面这种。 Error: package or namespace load failed for ‘GenomicRanges’: 在从名字空间‘XVector’中出口方法时发现了不是S4通用的函数‘parallelSlotNames’ 如果读中文读不懂,我们可以把它翻译成英文。 packa...

xuzhougeng blog 1999

卷积神经网络(CNN)原理详解

这几年深度学习快速发展,在图像识别、语音识别、物体识别等各种场景上取得了巨大的成功,例如AlphaGo击败世界围棋冠军,iPhone X内置了人脸识别解锁功能等等,很多AI产品在世界上引起了很大的轰动。在这场深度学习革命中,卷积神经网络(Convolutional Neural Networks,简称CNN)是推动这一切爆发的主力,在目前人工智能的发展中有着非常重要的地位。 【问题来了】那什么是卷积神经网络(CNN)呢? 1、什么是神经网络? 这里的神经网络,也指人工神经网络(Artificial..

qq_40716944的博客 6万+

非凸问题的求解方法以及连续凸逼近SCA(Successive Convex Approximation)方法

非凸问题的求解方法 针对形如下式的函数: min⁡x∈XV(x)=F(x)+G(x)\min\limits_{{\bf{x}}\in X} V(x)=F(x)+G(x)x∈Xmin​V(x)=F(x)+G(x); 其中F为光滑的(不一定convex),G是convex的但是可能不可微,且存在:对于n维实矢量空间,有X=X1×...×XNX=X_1 \times...\times X_NX=X1​×...×XN​; x=(x1,...,xN)\bf{x} =(x_1,...,x_N)x=(x1​,...,xN

weixin_44535200的博客 2万+

CNN卷积神经网络

卷积神经网络(CNN)的基本原理和实现

2401_88885149的博客 3486

python:numpy分享(保姆级教程)

创建数组:array和ndarray、rand()、randn()、arange()、randint()、uniform()astype()基础函数:ceil()、floor()、rint()、argmax()、argmin()、cumsum()、cumprod()numpy 是数据分析必不可少的第三方库,具有高性能的特点,多用于做数组分析。内置函数:ceil()、floor()、rint()主要用于数组计算,支持多维数组。array和ndarray。比较函数:all、any。去重函数:unique。

sulin123123的博客 1728

55、宇宙微波背景辐射望远镜及其光学系统解析

本文详细解析了宇宙微波背景辐射(CMB)望远镜及其光学系统的设计与优化。内容涵盖折射与反射光学系统的特性、旁瓣控制技术、气球与地面观测系统的对比、探测器阵列的发展、光学系统设计流程以及不同观测场景下的光学系统选择。同时,文章展望了CMB望远镜光学系统的未来发展趋势,包括技术创新、多频段观测、国际合作与大型项目等。通过系统性的分析与对比,为CMB研究提供了全面的技术支持与理论基础。

f9g0h的博客 142

CNN卷积神经网络介绍

1简介 1.1离散卷积 1.2池化 2卷积算法 2.1没有零填充,单位跨度 2.2零填充,跨步 2.2.1一半(相同)的填充 2.2.2全填充 2.3无零填充,非跨步 2.4零填充,非跨步 3池算术18 4转置卷积算法19 4.1卷积作为矩阵运算 4.2转置卷积 4.3无零填充,跨步,转置 4.4零填充,跨步,转置 4.4.1一半(相同)填充,转置 4.4.2全填充,转置 4.5无零填充,非跨步,...

GIS哼哈哈的博客 7751

基于STM32设计的智能防盗单车锁_349

本设计基于STM32F103RCT6单片机,研制了一种适用于户外环境的智能防盗单车锁系统。系统集成了GPS定位模块、ADXL345加速度传感器、4G通信模块(Air780E)、OLED显示屏、继电器模拟锁控模块等硬件,通过姿态感知实现车辆异常移动检测,在锁车状态下自动触发蜂鸣器报警并通过短信与APP通知用户。

864

Python卷积神经网络CNN

Python卷积神经网络CNN

weixin_39559994的博客 3126

「深度学习之优化算法」笔记(二)优化算法的分类

但是由于生物的局限性,人们所创造出的算法也会有局限性:我们所熟知的生物都生存在三维空间,在这些环境中,影响生物生存的条件比较有限,反应到算法中就是这些算法在解决较低维度的问题时效果很好,当遇到超高维(维度>500)问题时,结果可能不容乐观,没做过实验,我也不敢乱说。当然,他们的目的不是在最佳狩猎位置集合,他们的目的是在过去的途中看是否能发现更加好的狩猎位置,去往已经到过的狩猎地点再次狩猎是没有意义的,因为每个位置获取食物的难易程度是固定的。如果他们的策略是“不跟随最优解”,那么他们的策略是什么呢?

quanzhan_King的博客 1370

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

卷积神经网络CNN

卷积神经网络(convolutional neural network, CNN),是一类包含卷积计算且具有深度结构的前馈神经网络。卷积神经网络是受生物学上感受野(Receptive Field)的机制而提出的。卷积神经网络专门用来处理具有类似网格结构的数据的神经网络。例如,时间序列数据(可以认为是在时间轴上有规律地采样形成的一维网格)和图像数据(可以看作是二维的像素网格)。

crossoverpptx的博客 5697

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

卷积神经网络(CNN)基础介绍

卷积神经网络(CNN)基础介绍

网络资源是无限的 37万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【卷积神经网络详解与实例】5——入门CNN

卷积神经网络(CNN)是一种专为处理网格结构数据(如图像)设计的深度学习模型,其核心优势在于局部连接、权值共享和池化操作。相比全连接网络,CNN通过局部感受野提取层次化特征,显著减少参数数量并保持空间信息。关键组件包括卷积层(特征提取)、ReLU激活函数(引入非线性)、池化层(信息压缩)和全连接层(分类)。CNN的发展始于1998年LeNet-5的提出,2012年AlexNet在ImageNet竞赛中取得突破性成果。该模型有效解决了图像平移、缩放等变形问题,成为计算机视觉领域的重要基础架构。

colus_SEU的博客 1475
上一篇: pycharm调试时高亮的行与实际运行的行不一致解决方案
下一篇: 数据结构算法刷题(15)高效、等概率地随机获取元素,数据流的中位数
sinounuo
博客等级 码龄10年 42粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值