热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

卷积神经网络基础知识

1.卷积神经网络与全连接网络的异同两种神经网络的的区别在于相邻两层的不同节点之间的连接方式不同,全连接网络(FC),位于相邻两层上的任意两个节点都是全部连接的,而卷积神经网络(CN

1.卷积神经网络与全连接网络的异同
卷积神经网络基础知识两种神经网络的的区别在于相邻两层的不同节点之间的连接方式不同,全连接网络(FC),位于相邻两层上的任意两个节点都是全部连接的,而卷积神经网络(CNN)的相邻两层之间,只有部分节点相连。

2.卷积核

对于输入图像中的一部分区域,进行加权求和的处理,其中这个过程的权重,由一个函数定义,这个函数就是卷积核。

3.卷积的计算方法
如下图,原图是一个553的矩阵,由于padding=1,所以图像变成了773,这里使用333的卷积核W0为例,步长为2,所以这个卷积运算的输出将会是一个 3×3的矩阵,下面来说明是如何计算得到这个 3×3矩阵的,为了计算卷积结果的第一个元素,在左上角的那个元素,使用 3×3 的过滤器,将其覆盖在输入图像,然后进行点乘运算(即对应数字相乘然后相加),所以卷积运算的第1维结果为0*(-1)+01+00+00+01+10+00+21+21=4,同理,第二维为0,第三维为1,然后将该三个维度的计算结果相加,再加上偏置值b0,所以第一个卷积的计算结果为4+0+1+1=6。
卷积神经网络基础知识下面是两个动图可以帮助大家理解卷积的工作原理:
卷积神经网络基础知识
卷积神经网络基础知识
4.卷积输出结果的计算
卷积神将网络的计算公式为:
output=(N+2P-F)/S+1
其中N:输出大小
N:输入大小
F:卷积核大小
P:填充值的大小
S:步长大小

我们以前面的例子为例计算一下,原图的图片为55,即输入大小W=5,卷积核的大小为33,即F=3,填充值的大小P=1,步长大小S=2,所以输出结果为(5-3+2*1)/2+1=3,与我们之前得到的结果相同。

5.池化层
除了卷积层,卷积网络也经常使用池化层来缩减模型的大小,提高计算速度,同时提高所提取特征的鲁棒性,对输入的特征图进行压缩,一方面使特征图变小,简化网络计算复杂度;一方面进行特征压缩,提取主要特征。

先举一个池化层的例子。假如输入是一个 4×4 矩阵, 用到的池化类型是最大池化(max pooling)。执行最大池化的树池是一个 2×2 矩阵。执行过程非常简单,把 4×4 的输入拆分成不同的区域,我把这个区域用不同颜色来标记。
因为我们使用的过滤器为 2×2,最后输出是 9。然后向右移动 2 个步幅,计算出最大值
2。然后是第二行,向下移动 2 步得到最大值 6。最后向右移动 3 步,得到最大值 3。这是一个 2×2 矩阵,即???? = 2,步幅是 2,即???? = 2。

卷积神经网络基础知识最大化操作的功能就是只要在任何一个象限内提取到某个特征,它都会保留在最大化的池化输出里。所以最大化运算的实际作用就是,如果在过滤器中提取到某个特征,那么保留其最大值。如果没有提取到这个特征, 可能在右上象限中不存在这个特征,那么其中的最大值也还是很小,这就是最大池化的直观理解。

6.池化层的输出结果
来看一个有若干个超级参数的示例,输入是一个 5×5 的矩阵。我们采用最大池化
法,它的过滤器参数为 3×3,即???? = 3,步幅为 1,???? = 1,输出矩阵是 3×3。之前讲的计算卷积层输出大小的公式同样适用于最大池化,即(????+2????−????)/s + 1,这个公式也可以计算最大池化的。


推荐阅读
  • 卷积神经网络(CNN)基础理论与架构解析
    本文介绍了卷积神经网络(CNN)的基本概念、常见结构及其各层的功能。重点讨论了LeNet-5、AlexNet、ZFNet、VGGNet和ResNet等经典模型,并详细解释了输入层、卷积层、激活层、池化层和全连接层的工作原理及优化方法。 ... [详细]
  • Win11扩展卷无法使用?解决扩展卷灰色问题的指南
    本文详细介绍了在Windows 11中遇到扩展卷灰色无法使用时的解决方案,帮助用户快速恢复磁盘扩展功能。 ... [详细]
  • 探索12个能显著提升iPhone使用体验的隐藏技巧,掌握这些功能后,你会发现生活更加便捷高效。 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • 本文详细介绍了在企业级项目中如何优化 Webpack 配置,特别是在 React 移动端项目中的最佳实践。涵盖资源压缩、代码分割、构建范围缩小、缓存机制以及性能优化等多个方面。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 深入解析Redis内存对象模型
    本文详细介绍了Redis内存对象模型的关键知识点,包括内存统计、内存分配、数据存储细节及优化策略。通过实际案例和专业分析,帮助读者全面理解Redis内存管理机制。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 雨林木风 GHOST XP SP3 经典珍藏版 V2017.11
    雨林木风 GHOST XP SP3 经典珍藏版 V2017.11 ... [详细]
  • 本文详细介绍了福昕软件公司开发的Foxit PDF SDK ActiveX控件(版本5.20),并提供了关于其在64位Windows 7系统和Visual Studio 2013环境下的使用方法。该控件文件名为FoxitPDFSDKActiveX520_Std_x64.ocx,适用于集成PDF功能到应用程序中。 ... [详细]
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 如何在Excel中批量生成条形码
    本文将详细介绍如何利用Excel快速批量生成条形码,适用于需要为大量产品编码创建条形码的企业和用户。我们将逐步讲解从准备数据到最终生成条形码的完整过程,并提供实用的操作技巧。 ... [详细]
  • 解决U盘安装系统后无法重启的问题
    本文详细探讨了运维新手常遇到的U盘安装系统后无法正常重启的问题,提供了从问题分析到具体解决方案的完整步骤。通过理解Boot Loader的工作原理和正确配置启动项,帮助用户顺利解决问题。 ... [详细]
  • 使用 GitHub、JSDelivr、PicGo 和 Typora 构建高效的图床解决方案
    本文详细介绍了如何利用 GitHub 仓库、JSDelivr CDN、PicGo 图床工具和 Typora 编辑器,搭建一个高效且免费的图床系统。通过此方案,用户可以轻松管理和上传图片,并在 Markdown 文档中快速插入高质量的图片链接。 ... [详细]
  • 命名实体识别中的常见问题及解决方案
    本文探讨了在使用LTP进行命名实体识别时遇到的两个主要问题:句号未被正确标记为O,以及每段文字开始前总是出现O标签。文章通过具体示例和专业分析,提供了详细的解释和解决方案。 ... [详细]
author-avatar
情都欧阳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有