卷积神经网络(CNN)学习

本文深入探讨卷积神经网络(CNN)的基础概念,包括参数降级、卷积运算、池化和全连接层。接着,介绍了LeNet、AlexNet以及Residual Network的结构特点和工作原理,展示了CNN如何通过层次化的特征提取实现图像分类。最后提到了VGG网络,强调了小卷积核在提升识别效果中的作用。
摘要由CSDN通过智能技术生成

1. 基础概念

   卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。

    卷积神经网络是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题。CNN最早由Yann LeCun提出并应用在手写字体识别上(MINST)。LeCun提出的网络称为LeNet。这是一个最典型的卷积网络,由卷积层、池化层、全连接层组成。其中卷积层与池化层配合,组成多个卷积组,逐层提取特征,最终通过若干个全连接层完成分类。

    CNN通过卷积来模拟特征区分,并且通过卷积的权值共享及池化,来降低网络参数的数量级,最后通过传统神经网络完成分类等任务。

1. 参数降级

       如果我们使用传统神经网络方式,对一张图片进行分类,把图片的每个像素作为一个输入单元,连接到隐藏层节点上,假设隐藏层有1000个节点,那么对于一张1000 * 1000像素的图片,一共有个参数,这显然是不能接受的。

 

但是我们在CNN里,可以大大减少参数个数,我们基于以下两个假设:

       1)最底层特征都是局部性的,也就是说,我们用10x10这样大小的过滤器就能表示边缘等底层特征

       2)图像上不同小片段,以及不同图像上的小片段的特征是类似的,也就是说,我们能用同样的一组分类器来描述各种各样不同的图像

       基于以上两个假设,我们可以使用卷积神经网络来减少参数个数。

2. 卷积

   

    如上图所示I是输入图片像素,K是Filter,以上运算称为卷积运算。卷积运算从图片左上角开始,选取f*f大小的区域,与filter进行如下运算:

并将计算结果放置到对应的位置上。依次从左向右、从上到下移动stride步长。最终输出结果的维度为:

上述公式中,m、f、s分别是输入、filter和步长,p标识padding,为了避免每次卷积运算后,图片大小缩小,可以往图片上追加padding。

3. 池化

       常用的池化(Pooling)方法有最大化(Max)和平均(Average),如下如所示:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值