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

简介:

这是作者在 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 与神经元层完全相连在卷积神经网络的末端。完全连接层中的神经元连接着之前层中的所有激活,这在常规的神经网络中能看到,并以相似的方式运行。


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


相关文章
|
2月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
500 52
|
1月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
16天前
|
运维 监控 数据可视化
Python 网络请求架构——统一 SOCKS5 接入与配置管理
通过统一接入端点与标准化认证,集中管理配置、连接策略及监控,实现跨技术栈的一致性网络出口,提升系统稳定性、可维护性与可观测性。
|
2月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
320 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
2月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
319 11
|
2月前
|
机器学习/深度学习 传感器 数据采集
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
基于贝叶斯优化CNN-LSTM混合神经网络预测(Matlab代码实现)
337 0
|
2月前
|
机器学习/深度学习 传感器 数据采集
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
【故障识别】基于CNN-SVM卷积神经网络结合支持向量机的数据分类预测研究(Matlab代码实现)
169 0
|
3月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
|
4月前
|
机器学习/深度学习 人工智能 PyTorch
零基础入门CNN:聚AI卷积神经网络核心原理与工业级实战指南
卷积神经网络(CNN)通过局部感知和权值共享两大特性,成为计算机视觉的核心技术。本文详解CNN的卷积操作、架构设计、超参数调优及感受野计算,结合代码示例展示其在图像分类、目标检测等领域的应用价值。
221 7
|
5月前
|
机器学习/深度学习 数据采集 监控
基于CNN卷积神经网络和GEI步态能量提取的步态识别算法matlab仿真,对比不同角度下的步态识别性能
本项目基于CNN卷积神经网络与GEI步态能量提取技术,实现高效步态识别。算法使用不同角度(0°、45°、90°)的步态数据库进行训练与测试,评估模型在多角度下的识别性能。核心流程包括步态图像采集、GEI特征提取、数据预处理及CNN模型训练与评估。通过ReLU等激活函数引入非线性,提升模型表达能力。项目代码兼容Matlab2022a/2024b,提供完整中文注释与操作视频,助力研究与应用开发。

热门文章

最新文章