卷积神经网络

本文介绍了深度学习的基础,包括神经网络的结构对比,如传统神经网络与卷积神经网络的区别,以及卷积的计算过程。此外,还探讨了损失函数和优化器的选择,并简要阐述了二维卷积、池化操作以及典型的卷积神经网络模型,如AlexNet和ResNet等。
摘要由CSDN通过智能技术生成

一,深度学习三部曲

1,搭建神经网络结构。(提取特征)

我们现在来讨论传统神经网络和卷积神经网络。传统神经网络是全连接的,参数过多,会出现过拟合的问题,而卷积神经网络是局部关联的,例一个训练集中的一张图在一个神经元处的卷积核的参数是共享,从而减少了参数的数量,改善了传统神经网络所出现的过拟合的问题。

他们俩个的相同之处是卷积神经网络也是层级结构,用到卷积层、RELU激活层、Pooling池化层等等,而传统神经网络的中间层都是全连接的。

2,找到合适的损失函数。(例如交叉熵损失、均方误差)

3,找到一个合适的优化函数,更新参数。(例如BP、SGD)

二,卷积

一维卷积常用在信号处理中,用于计算信号的延迟累计,在图像处理中,我们所用到的基本都是二维卷积,接下来我们来深入学习一下二维卷积。

什么是卷积?卷积是对两个实变函数的一种数学操作,从定义的角度不易理解,接下来我们给出几个例子来解析一下什么是卷积。

例如,我们输入一张图(input),我们在计算机中使用一个二维的矩阵来存储这张图像。

假设我们存储了这么一张7*7的图(input),然后我们的卷积核(filter)是3*3的:

我们将蓝色部分与卷积核(卷积核的值在一开始有个初始化)进行相乘,然后向右移动步长(stride)个单位(向右移动到尽头后,再从一开始的位置向下移动步长个单位再向右移动),这里假设我们的步长为1,那我们最终会得到一个5*5的特征图(feature map)。

我们上述简单的讲解了一下二维卷积的计算,当选取的卷积核和步长的大小与输入的大小不匹配时,我们也会进行padding操作(零填充),更详细的读者可自行了解,这里不再赘述。

最终,我们给出输出的特征图大小的计算公式(N为input的大小、F为卷积核的大小、stride为步长):

无padding时:(N-F)/stride+1

有padding时:(N+padding*2-F)/stride+1

三,池化

Pooling池化过程其实就是一个缩放的过程,保留了主要特征的同时,减少了参数和计算量。

Max Pooling:假设池化的filter为2*2的,步长为2。

我们选取蓝色区域中,最大的作为池化后的值,然后和卷积核的计算相同,进行移动,最终得到一个2*2的矩阵。

Average Pooling:与上述步骤基本相同,只是求取平均值作为池化后的值。

四,典型结构

AlexNet、ZFnet、VGG16、VGG19、GoogleNet,ResNet都是以往经典的卷积神经网络的模型,深入学习神经网络,还是有必要去了解一下他们的核心思想的,这里就不再详细说明了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值