卷积神经网络学习笔记

CNN卷积神经网络学习笔记1:背景介绍 Convolutional Neural Network 卷积神经网络是基于人工神经网络提出的。人工神经网络模拟人的神经系统,由一定数量的神经元构成。在一个监督学习问题中,有一组训练数据(xi,yi)(x_i,y_i),x是样本,y是label,把它们输入人工神经网络,会得到一个非线性的分类超平面hw,b(x)h_{w,b}(x),在这篇笔记中先梳理一下传统人工神经网络的基本概念,再基于传统人工神经 阅读详情

Deep Learning是全部深度学习算法的总称,CNN是深度学习算法在图像处理领域的一个应用。

卷积神经网络简介(Convolutional Neural Networks,简称CNN)

1.  首先介绍卷积神经网络相关的几个名词。

在图像处理中,往往把图像表示为像素的向量,比如一个1000×1000的图像,可以表示为一个1000000的向量。在上一节中提到的神经网络中,如果隐含层数目与输入层一样,即也是1000000时,那么输入层到隐含层的参数数据为1000000×1000000=10^12,这样就太多了,基本没法训练。所以必须减少参数以加快速度。卷积神经网络有两种神器可以降低参数数目,一个是局部感知野,另一个是权值共享(参数共享)。

 

(1)局部感知野——每个神经元只需对局部进行感知,然后在更高层将局部的信息综合起来。

一般认为人对外界的认知是从局部到全局的,而图像的空间联系也是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息。如下图所示:左图为全连接,右图为局部连接。


在上右图中,假如每个神经元只和10×10个像素值相连,那么权值数据为1000000×100个参数,减少为原来的千分之一。而那10×10个像素值对应的10×10个参数,其实就相当于卷积操作。

 

(2)权值共享—— 在一个部分学习的特征也能用在另一部分上。

从一个大尺寸图像中随机选取一小块,比如8×8,学习到特征,可以用该特征跟原图作卷积。

在上面的局部连接中,每个神经元都对应100个参数,一共1000000个神经元,如果这1000000个神经元的100个参数都是相等的,那么参数数目就变为100了。这其中隐含的原理则是:图像的一部分的统计特性与其他部分是一样的。这也意味着我们在这一部分学习的特征也能用在另一部分上,所以对于这个图像上的所有位置,我们都能使用同样的学习特征。

更直观一些,当从一个大尺寸图像中随机选取一小块,比如说 8×8 作为样本,并且从这个小块样本中学习到了一些特征,这时我们可以把从这个 8×8 样本中学习到的特征作为探测器,应用到这个图像的任意地方中去。特别是,我们可以用从 8×8 样本中所学习到的特征跟原本的大尺寸图像作卷积,从而对这个大尺寸图像上的任一位置获得一个不同特征的激活值。

 

(3)多卷积核—— n个卷积核,可以学习n种特征,生成n幅图像。

上面所述只有100个参数时,表明只有1个100*100的卷积核,显然,特征提取是不充分的,我们可以添加多个卷积核,比如32个卷积核,可以学习32种特征。每个卷积核都会将图像生成为另一幅图像。

 

(4)池化(下采样)—— 对不同位置的特征进行聚合统计(平均值、最大值),降低特征维度,不易过拟合。

例如,人们可以计算图像一个区域上的某个特定特征的平均值 (或最大值)。这些概要统计特征不仅具有低得多的维度 (相比使用所有提取得到的特征),同时还会改善结果(不容易过拟合)。


2.  卷积神经网络的基本结构。

(1)特征提取层:每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征。

(2)特征映射层:求局部平均、二次提取

或者,

(1)卷积层:采用各种卷积核对输入图片进行卷积处理。(平移不变性)

(2)池化层:降采样。(空间不变性)

 

全连接层:一个神经元作用于整个slice,即filter的尺寸恰好为一个slice的尺寸。

 

一般地,CNN的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。


上图展示的是一个典型的卷积神经网络结构。这个网络包含两个卷积层(convolutionlayer),两个池化层(pooling layer)和一个全连接层(fully connected layer)。

3.

激励函数:根据一系列的输入值,神经元之间连接的权值以及激励规则,刺激神经元。

损失函数:在训练阶段,用于评估网络输出结果与实际值的差异。然后用损失函数的值更新每个神经元之间的权重值。卷积神经网络的训练目的就是最小化损失函数值。

4.

(1)假设输入图像尺寸为W,卷积核尺寸为F,步幅(stride)为S(卷积核移动的步幅),Padding使用P(用于填充输入图像的边界,一般填充0),那么经过该卷积层后输出的图像尺寸为(W-F+2P)/S+1。

(2)池化层通过减小中间过程产生的特征图的尺寸(下采样,图像深度不变),从而减小参数规模,降低计算复杂度,也可以防止过拟合。池化是分别独立作用于图像深度方向上的每个slice,一般使用Max操作(在一个局部区域内取最大值代表该区域),即最大池。通常池化层的空间尺寸(spatial extent)不应过大,过大会丢失太多结构信息,一般取F=3,S=2或者F=2,S=2。也有人不建议使用池化,而是在卷积层增大stride来降低图像尺寸。

(3)全连接层中一个神经元作用于整个slice,即filter的尺寸恰好为一个slice的尺寸,这样输出一个值,如果有n个filter,则输出长度为n的向量,一般全连接层的输出为类别/分数向量(class scores )。

 

5.注意:

(1)尽量使用多层fliter尺寸小的卷积层代替一层filter较大的卷积层。

(2)一般stride设为1,实际表现效果更好,将下采样的工作全部交给池化层。

(3)一般padding的大小为P=(F-1)/2,其中F为filter的尺寸。好处是使得卷积前后的图像尺寸保持相同,可以保持边界的信息。

(4)输入层(input layer)尺寸一般应该能被2整除很多次,比如32(CIFAR-10),64,96(STL-10),224(commonImageNet ConvNets),384和512。

(5)有时候由于参数太多,内存限制,会在第一个卷积层使用较大filter(7x7)和stride(2)(参考 ZF Net),或者filter(11x11),stride(4)。

 

6.卷积神经网络的优点

(1)主要用来识别位移、缩放及其他形式扭曲不变性的二维图形;

(2)避免了显示的特征抽取,而隐式地从训练数据中进行学习;

(3)由于同一特征映射面上的神经元权值相同,所以网络可以并行学习;

(4)权值共享降低了网络的复杂性;

(5)以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性。

 

7.总结:

(1)CNN和其他机器学习算法一样,可以当成是一个分类器,像黑盒子一样使用它。

(2)Deep Learning强大的地方就是可以利用网络中间某一层的输出当作是数据的另一种表达,从而可以将其认为是经过网络学习到的特征。基于该特征,可以进行进一步的相似度比较等。

(3)Deep Learning算法能够有效的关键其实是大规模的数据,这一点原因在于每个DL都有众多的参数,少量数据无法将参数训练充分。



卷积神经网络(CNN)学习笔记3:Matlab代码理解 近期正在学习卷积神经网络,大致的原理在之前参考前辈们经验,转载的两个笔记中已经做了简要梳理,下边就Github中的DeepLearnToolbox中的CNN的代码进行理解和实现讲解 参考代码来源:[CNN卷积神经网络的Matlab实现](https://github.com/rasmusbergpalm/DeepLearnToolbox) 网络结构图: 打开路径\tests\test_exampl 阅读详情

相关推荐

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

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

GYBinLero的博客 2625

人工智能详细笔记(第一节课) :卷积神经网络(CNN)

卷积是数学上一种重要的运算,具有丰富的物理、生物和生态意义。

hanmo22357的博客 5988

Uibot RPA中级认证实战:手把手教你用流程创造者搞定客户数据迁移(附验证码容错技巧)

本文详细介绍了Uibot RPA中级认证实战中的客户数据迁移工程化解决方案,特别针对验证码容错技巧和动态表格处理等核心挑战。通过环境准备、登录模块设计、数据提取技术及容错体系的系统讲解,帮助RPA实施工程师掌握高效稳定的自动化流程开发方法,提升企业数据迁移效率。

weixin_30505225的博客 228

卷积神经网络之padding操作

文章目录(一) 卷积神经网络之padding操作(1) 卷积的缺点1.1 第一个缺点:图象缩小(输出缩小)1.2 第二个缺点:图像边缘信息发挥的作用小(2) Padding2.1 padding的取值2.1.1 **Valid**卷积2.1.1 **Same**卷积(3) 总结 (一) 卷积神经网络之padding操作 为了构建深度神经网络,你需要学会使用的一个基本的卷积操作就是padding ...

谦小白 2万+

软件测试方法——等价类划分法详解

!如果下面这些资料用得到的话可以直接拿走:1、自学开发或者测试必备的完整项目源码与环境2、测试工作中所有模板(测试计划、测试用例、测试报告等)3、软件测试经典面试题4、Python/Java自动化测试实战.pdf5、Jmeter/postman接口测试全套视频获取6、Python学习路线图。

MXB1220的博客 1万+

单目标跟踪算法及其复现过程---SiamFC(一)

在test.py文件中,就是利用训练出来的模型进行测试,需要更改预训练模型的路径,测试集的路径,以OTB100为例,最后输出的是对每一帧目标位置的坐标点。代码如下:首先需要下载got10k官方库,只需要在终端输入(注意:在终端安装各种库的时候不能使用网络代理),在环境已经配置到的情况下,只需要该其中的路径和就可以运行。这个系列博客仅为了记录各目标跟踪算法的复现(大多为跑通大佬们实现的代码),包括其中出现的很多问题和错误,学到的新知识等等。解决,而且只使用在线的方法,限制了他们可以学习的模型的丰富性。

weixin_58244117的博客 4761

卷积神经网络(CNN)入门笔记

卷积神经网络入门笔记

weixin_44005728的博客 695

SSCardDriver.dll社会保障卡读写终端接口规范38号文接口

********************获取设备及PSAM卡信息********************//********************获取银行账户信息 ********************//********************获取设备信息********************//********************PIN校验********************//********************通用写卡********************/

广东东信智能科技有限公司的专栏 1741

CNN基础知识笔记

1. 卷积神经网络的概念 上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理,它试图将视觉系统模型化,使其能够在即使物体有位移或轻微变形的时候,也能完成识别。 卷积神经网络是多层感知机(MLP)的变种,由生物学家休博尔和维瑟尔在早期关于猫视觉皮层的研究发展而来,视觉皮层的

zxmyoung的博客 1万+

IntelliJ IDEA 2025.1 + Gradle 镜像配置避坑指南:解决依赖下载慢的终极方案

本文针对IntelliJ IDEA 2025.1开发环境中Gradle依赖下载缓慢的问题,提供了详细的镜像配置避坑指南。通过解析Gradle依赖解析机制,重点指导如何正确配置阿里云等国内镜像仓库,并分享验证配置生效、排查常见错误及高级优化技巧,旨在彻底解决依赖下载难题,提升开发效率。

weixin_28835551的博客 532

【MDC开发者课程】MDC功能软件-归控算法介绍

规控算法

博客标题不能为空我也没办法 1844

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

去均值操作是将图像中每个像素点的 RGB 值减去数据集的均值,这样可以使数据的中心分布在原点附近,有助于模型的收敛。卷积神经网络模型有小到几层的浅层网络结构也有大道数百层的超深层网络(如ResNet 的变体),网络的层数并非越深越好,ResNet 论文指出,超过一定深度后(如 152 层 vs 1000 层),精度提升趋于饱和,甚至因过拟合而下降。对于图像数据而言,通常以多维数组的形式输入,比如常见的 RGB 彩色图像,其维度为 (高度,宽度,通道数),其中通道数为 3,分别对应红、绿、蓝三个颜色通道;

x_efwf的博客 473

NSGA(非支配排序遗传算法)

在多目标优化问题中,往往存在多个相互冲突的目标需要同时优化。传统的单目标优化算法无法直接应用于这类问题,因此需要专门的多目标优化算法。非支配排序遗传算法(Non-dominated Sorting Genetic Algorithm,NSGA)是一种经典的多目标优化算法,由印度科学家 Kalyanmoy Deb 等人于 1995 年提出。NSGA 通过非支配排序和拥挤度距离来引导种群向 Pareto 最优前沿进化,从而得到一组具有良好分布性和收敛性的 Pareto 最优解。

2970

[神经网络学习笔记]卷积神经网络CNN(Convolutional Neural Networks, CNN) 综述

本人刚入门神经网络,边学习边总结,参考了很多大佬的博客和论文,整理出的自己思路的笔记,供入门的同学一起参考。其中可能有理解错误的地方,望指出 参考主要文献和博客 通俗讲解什么叫卷积、池化 参考资料 -卷积神经网络研究综述-周飞燕 一、常用的深度学习模型有 深度置信网络(Deep Belief Network DBN) 层叠自动去噪编码机(Stacked Deoising Autoencodes,SDA) 卷积神经网络(Convolutional Neural Network,CNN) 二、神经元

BetterBench的博客 6524

从底层结构开始学习FPGA(8)----Block RAM(BRAM,块RAM)

BRAM作为FPGA底层的存储资源,作用很大,比如可以RAM/ROM/FIFO。

孤独的单刀 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

CNN卷积神经网络学习笔记

最近开始从事视觉领域的研究工作,CNN(卷积神经网络)是图像处理最常用的深度学习算法,听起来比较高深的样子,但是有了之前无线通信算法的经验,理解起来也非常容易。虽然网上介绍CNN的文章很多,还是自己写一下,理解更为深刻,其中很多图用了网络上,一并表示感谢。

Tony's Blog 1219

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

CNN学习笔记

学习CNN的一些总结

u010067397的专栏 362

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

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

CNN,全称,是一种专门用来处理图片、语音、文本等结构化数据的神经网络。,一步步提取特征,最后做出判断。

dark 1675

卷积神经网络CNN学习笔记

主要操作 卷积、非线性变换(ReLU)、池化或子采样、分类(完全连接层) 卷积 卷积的主要目的是从输入图像中提取特征。 卷积的解释:将橙色矩阵在原始图像(绿色)上以每次1个像素的速率(也称为“步幅”)移动,对于每个位置,计算两个矩阵相对元素的乘积并相加,输出一个整数并作为最终输出矩阵(粉色)的一个元素。 在卷积神经网路的术语中,这个3 × 3矩阵被称为“过滤器”或“核”或“特征探测器”,通过在图...

qq_33793792的博客 926

5月27日学习笔记——卷积神经网络(CNN)

作为初学者可定有不足的地方,希望大家能给予指正了!

2403_87569770的博客 1240

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

文章目录前言计算机视觉边缘检测示例:更多边缘检测内容:Padding卷积步长卷积为何有效单层卷积网络简单卷积网络示例池化层卷积神经网络示例为什么使用卷积 前言 本篇文章是吴恩达《深度学习》课程《卷积神经网络——第一周》的学习笔记。 计算机视觉 计算机视觉面临的一个挑战是图像的数据量巨大。 上述图片是计算机视觉领域的典型应用:图像分类、风格转换、目标检测。 如上图所示,神经网络第一层参数矩阵巨大...

MrLittleDog的博客 1420

神经网络学习笔记——利用pytorch搭建卷积神经网络(CNN)

神经网络学习笔记——利用pytorch搭建卷积神经网络(CNN)

delaune的博客 942

卷积神经网络CNN学习笔记(一文搞定CNN)

卷积神经网络CNN学习笔记 文章目录卷积神经网络CNN学习笔记说在前面1. 什么是卷积?2. 非线性激活Relu3. Pooling 池化层4. 全连接层5. 对比卷积层核全连接层6. CNN的反向传播7. CNN的训练8. 总结CNN整个训练过程结尾 说在前面 首先给大家推荐一个可视化CNN整个过程的网站,https://poloclub.github.io/cnn-explainer/,这个是2021年IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GR

WD 2245

小易的卷积神经网络学习笔记1

卷积神经网络(Convolutional Neural Network,CNN)是一类专门用于处理具有类似网格结构数据(如图像)的深度学习模型。它的灵感来源于生物学中的感受野机制,能够自动提取数据中的空间特征。(有时候也成为汇聚)。这些特性使得卷积神经网络具有一定程度上的平移、缩放和旋转不变性。和前馈神经网络相比,卷积神经网络的参数也更少。因此,通常会使用卷积神经网络来处理图像信息。:每个神经元只关注输入数据的一个小区域(如图像的一小块),而不是全部。

小易的博客 762
上一篇: 3. Longest Substring Without Repeating Characters
下一篇: 编程之美:常见面试题思想方法整理
cyndi2011
博客等级 码龄13年 38粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值