深度 | 卷积神经网络架构详解:它与神经网络有何不同?

简介:

这是作者在 Medium 上介绍神经网络系列文章中的一篇,他在这里详细介绍了卷积神经网络。卷积神经网络在图像识别、视频识别、推荐系统以及自然语言处理中都有很广的应用。如果想浏览该系列文章,可点击阅读原文查看原文网址。


跟神经网络一样,卷积神经网络由神经元构成,这些神经元带有可学习的权重和偏差(bias)。每个神经元接收若干输入,并对输入进行加权求和,然后通过一个激活功能将它们传递出去,再用一个输出作为反应。整个神经网络有一个损失函数,我们为神经网络开发的所有贴士和技巧,仍然适用于卷积神经网络。


那么,卷积神经网络是怎么不同于神经网络的呢?


卷积神经网络运行过量


这是什么意思?


3404d95df138eedc419b3275a40d076783286234

1.一个 RGB 图像的例子(称它为『输入图像』)


在神经网络中,输入是一个向量,但是在卷积神经网络中,输入是一个多通道图像(这个例子中的图像有 3 个通道)。


卷积


344b37a07d0bc57c86e29901cbe1ed481ff403d0

2.用滤波器来卷积图像


我们用了一个 5×3×5 的滤波器在整个图像上滑动,在滑动过程中,采集在滤波器与输入图像的块之间的点积。


9a95719447d3406e4b3f86c7a85ab13343adf880

3.看上去就是这样子


对于采集到的每个点积来说,其结果都是一个标量。


所以当我们用这个滤波器卷积一个完整的图像时会发生什么呢?


2bdc325e91d039f2f374a8de1c8ff10d7480a396
4.就是这个!


你可以自己想想这个『 28 』是怎么来的。(提示:有 28×28 个独特的位置,在这些位置上,滤波器可以被放在这个图像上)


现在,回到卷积神经网络


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


858a1a0656d5781d57c48a0e92796409943535cf
5.卷积层


卷积层包括一组独立的滤波器(该例子中有 6 个)。每个滤波器都独立地与图像卷积,我们以 6 个形状为 28×1×28 的特征图结束。


假设我们有一个序列卷积层。那么会发生什么呢?


9eadc3b258323b5cf37a18755632f3dc64d2a06c
6.序列卷基层


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


下面是一个训练过的网络的例子:


51141a381fc3e27ef3d4b05e99c3a5e5097ee969

7.一个训练过的网络中的滤波器


看下最表层的滤波器(这些都是我们的5×3×5 的滤波器。)通过反向传播,他们将自己调整为彩色片和边缘的斑点。在我们深入到其他卷积层时,这些滤波器在做之前的卷积层的输入的点积。所以,它们正在采集这些较小的彩色片或边缘,并通过这些小的彩色片和边缘做出较大的彩色片。


看看图 4 ,并将这个 28×1×28 的网格想象成 28×28 个神经元。对于一个特定的特征图来说(在卷积带有一个滤波器的图像上接受的输出被称为一个特征图),每个神经元只连接这个输入图像的一小块,而且所有的神经元都具有相同的连接权重。因此,再次回到卷积神经网络和神经网络之间的差异。


卷积神经网络的一对概念:参数共享和局部连通性


参数共享,通过一张特定的特征图中所有神经元来共享权重。


局部连通性的概念是每个神经只连接一个输入图像的子集(不像神经网络中的所有神经元都完全连接在一起)。


这帮助减少了整个系统中的参数数量,让计算变得更有效。


为了简单一些,这里不讨论零填充(zero padding)的概念。有兴趣的可以自己去阅读相关资料。


池化层


一个池化层是卷积神经网络的另一个构建块


edfb1e8d34d65ad8ecfc5075182c4d937fab3261
池化


它的功能是通过逐步减小表征的空间尺寸来减小参数量和网络中的计算。池化层在每一个特征图上独立操作。


1866f520153e3a4ce3f41d7dce0f574658e3f17f
最大池化


一个卷积神经网络的典型架构


684ee0d59e8c26fb518895d4d7a6e07cbe105f2b
卷积神经网络的典型架构


我们已经讨论过卷积层(用 CONY 表示)和池化层(用 POOL 表示)


RELU 只是一个被应用的非线性特征,类似于神经网络。


这个 FC 与神经元层完全相连在卷积神经网络的末端。完全连接层中的神经元连接着之前层中的所有激活,这在常规的神经网络中能看到,并以相似的方式运行。


希望你现在能理解一个卷积神经网络的这种架构了。这种架构还要很多变体,但是之前提到过,基本的概念都是相同。


相关文章
|
18天前
|
机器学习/深度学习 人工智能 自动驾驶
什么是人工智能领域的卷积神经网络
什么是人工智能领域的卷积神经网络
20 0
|
18天前
|
机器学习/深度学习 算法 计算机视觉
卷积神经网络中的卷积层,如何提取图片的特征?
卷积神经网络中的卷积层,如何提取图片的特征?
28 0
|
1天前
|
人工智能 安全 大数据
SDN(软件定义网络)——重塑网络架构的新视角
SDN(软件定义网络)是网络架构革新的关键,通过分离控制与数据平面,实现网络的灵活、高效管理。未来,SDN将更广泛应用于各行业,与云计算、大数据、AI融合,推动数字化转型。开放与标准化的趋势将促进SDN生态发展,提供以业务需求为导向、智能化自动化管理及增强网络安全的新视角。SDN将在更多领域扮演重要角色,支持网络技术的创新与进步。
|
3天前
|
网络架构
经典神经网络架构参考 v1.0(2)
经典神经网络架构参考 v1.0
11 0
|
8天前
|
机器学习/深度学习 数据采集 TensorFlow
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
27 0
|
14天前
|
机器学习/深度学习 自然语言处理 算法
|
1月前
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
【PyTorch实战演练】深入剖析MTCNN(多任务级联卷积神经网络)并使用30行代码实现人脸识别
55 2
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
卷积神经元网络中常用卷积核理解及基于Pytorch的实例应用(附完整代码)
卷积神经元网络中常用卷积核理解及基于Pytorch的实例应用(附完整代码)
20 0
|
1月前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
41 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真

热门文章

最新文章