【深度学习】卷积神经网络(CNN)的最佳解释

CNN在图像和视频识别,推荐系统和自然语言处理方面具有广泛的应用。在本文中,我将采用的示例与计算机视觉相关。但是,基本概念保持不变,可以应用于任何其他用例!

有关神经网络的快速回顾,这里有一个非常清楚解释的文章系列。

与神经网络一样,CNN由具有可学习权重和偏差的神经元组成。每个神经元接收几个输入,对它们进行加权求和,将其传递给激活函数并用输出作出响应。整个网络都有丢失功能,我们为神经网络开发的所有提示和技巧仍然适用于CNN。很简单,对吧?

那么,卷积神经网络与神经网络有何不同?

 

CNN在Volumes上运行  !

这是什么意思?

1. RGB图像的示例(我们称之为'输入图像')

 

与输入是矢量的神经网络不同,此处输入是多通道图像(在这种情况下为3)。

我们将在一段时间内讨论其他差异。

在我们深入研究之前,让我们先了解卷积的含义。

 

卷积

2.使用滤镜对图像进行卷积

 

我们使用5 * 5 * 3滤镜并将其滑过整个图像,并沿着输入图像的滤镜和块之间的点积。

这就是它的样子

 

对于每个点积,结果都是标量。

那么,当我们将完整的图像与过滤器卷积时会发生什么?

我留给你看看'28'是怎么来的。(提示:有28 * 28个独特的位置可以将滤镜放在图像上

 

现在,回到CNN

卷积层是卷积神经网络的主要构建块。

5.卷积层

 

卷积层包括一组独立的滤波器(在所示的例子中为6)。每个滤波器独立地与图像卷积,最终得到6个形状为28 * 28 * 1的特征图。

假设我们按顺序有许多卷积层。那么会发生什么?

6.卷积层依次排列

 

所有这些过滤器都是随机初始化的,并成为我们随后将通过网络学习的参数。

我将向您展示一个训练有素的网络示例。

7.在经过培训的网络中过滤

 

看看第一层中的过滤器(这些是我们的5 * 5 * 3过滤器)。通过反向传播,他们调整自己成为彩色碎片和边缘的斑点。随着我们更深入到其他卷积层,滤波器正在对先前卷积层的输入执行点积。因此,他们采用较小的彩色碎片或边缘,并从中制作更大的碎片。

看一下图像4,将28 * 28 * 1网格想象成28 * 28个神经元的网格。对于特定的特征图(在使用特定滤波器对图像进行卷积时接收的输出称为特征图),每个神经元仅连接到输入图像的一小块,并且所有神经元具有相同的连接权重。因此,再次回到CNN和神经网络之间的差异。

 

CNN有一些称为参数共享和本地连接的概念

参数共享是特定特征图中的所有神经元共享权重。

局部连通性是每个神经元的概念,仅与输入图像的子集相连(与所有神经元完全连接的神经网络不同)

这有助于减少整个系统中的参数数量,并使计算更有效。

我不会在这里讨论零填充的概念,因为我们的想法是保持简单。有兴趣的人可以单独阅读!

 

汇集图层

池化层是CNN的另一个构建块。

 

其功能是逐步减小表示的空间大小,以减少网络中的参数和计算量。池化层独立地在每个要素图上运行。

池中使用的最常用方法是最大池化。

最大池

 

CNN的典型架构

CNN的典型架构

 

我们已经讨论了卷积层(用CONV表示)和池化层(用POOL表示)。

RELU只是一种非线性,应用类似于神经网络。

FC是神经元在CNN的端部完全连接层。完全连接层中的神经元与前一层中的所有激活具有完全连接,如常规神经网络中所见并以类似方式工作。

我希望你现在了解CNN的架构。这种架构有很多变化,但正如我之前提到的,基本概念保持不变。如果您有任何疑问/反馈,请发表评论。

 

原文:https://medium.com/technologymadeeasy/the-best-explanation-of-convolutional-neural-networks-on-the-internet-fbb8b1ad5df8

 

 

你可能感兴趣的:(Deep,Learning)