当前位置:首页 > 神经网络 > 正文

深度卷积神经网络原理与实践

I、卷积层在神经网络中如何运算?

卷积神经网络(CN)的核心是进行卷积运算。 在实际应用中,经常使用多层网络结构,因此称为深度卷积神经网络。 本文将从单个卷积的计算开始,教您卷积神经网络中的层如何工作。

2.1单个卷积的计算

要理解神经网络中卷积层过程的计算,我们首先需要了解单个“卷积”是如何工作的。

相信大家在学习CNN的过程中都看过这张图(源码在这里,与里面的有不同的卷积):

input_shape=(5,5)、nucleosize=(3,3)、padding='same'、noise=1、output_shape=(5,5

在此表中:

在此计算器中:

卷积参数:input_shape=(8,8,3)、kernel=(3,3)、padding='same'、pass=i、output_shape=(8,8,2

在这个表中:

在这个卷积表的作中:

首先我们注意一下输入和输出有3个通道。

接下来就是进入尽可能熟悉的核卷积计算,但是首先我们要知道这个作进行了多少次核卷积计算?有的朋友可能会说,卷积的一大特点就是“权重共享”。 但这确实很糟糕!

对于卷积核的数量,必须有“与输出通道数量相同的卷积核,并且每组中的卷积核数量等于输入通道的数量。 ”和我在上表中画的一样:

至此,这个卷积层的作就全部完成了。

2.3“可训练参数”验证

现在对话框是空的,大家都知道卷积层中的“可训练参数”实际上是指卷积核和偏移量的值。 我们可以知道:

我们可以得到:

那么问题是参数的数量必须是可控的:

我们使用kerassummary()来验证:

太棒了!

记住,尺寸参数是一个普通的卷积层参数:

Ps:它也是一个衡量尺寸和复杂度的量。 一个名为“FLOPs”(浮点运算)量的理论计算的模型。 通常只考虑Conv、FC等参数层的乘法和加法运算次数,而“纯加法”运算是也忽略(作为偏差)。 卷积运算层FLOPs的计算公式为:

Ps:这里还需要澄清一下“感受野”的概念,简单来说就是:3、我们可以看到,左上层的像素与左下层的7个像素值相关,这意味着它的感受野为7。 我们可以清楚地得出这两个结论:

这个感受野会在讲解卷积时用到

II、如何更好的理解分析深度卷积神经网络作者:杨燕生
链接:
来源:知乎
版权归作者所有,转载请联系作者许可。
“深度学习”是为了允许包含大量层的多层神经网络进行训练和作而开发的一系列新架构和新方法。
最著名的新型网络架构是CNN,它解决了传统深度网络参数过多、难以训练的问题,大大减少了网络参数的数量。 关键是这种结构实际上对应于觉任务在脑中的工作方式。
新的架构还包括:LSTM、ResNet等。
新方法很多:新的活函数:ReLU、新的权值初始化方法(逐层初始化、XIER等)、新的损失函数、新的防止过拟合的方法(Dropout、PE输入等)。 这些方面主要是为了解决传统多层神经网络的一些弊端:梯度消失、过拟合等。
-------------------------以下是原答-----------------------
从广义上讲,深度学习网络架构也是一种多层神经网络。
传统意义上的多层神经网络仅包含输入层、隐层和输出层。 隐层的数量取决于需要,并且没有明确的理论推导来解释适当的层数。
CNN是深度学习中最流行的卷积神经网络,它在原有的多层神经网络的基础上增加了特征学习部分。 这部分模拟脑对信号处理的分类。 具体过程是在原来的全连接层前面添加一个部分连接的卷积层和一个降维层,并增加一级。
输入层--卷积层--降维层--卷积层--降维层-- --隐输出层
简单来说,原来的多层神经网络是起作用的。 步骤是:将特征分配给值。 特征是手动选择的。
深度学习的步骤是信号->特征->值。 这些特征是由网络本身决定的。