千家信息网

SpringBoot整合MybatisPlus中卷积层+激活函数+池化层+全连接层的示例分析

发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,这篇文章给大家分享的是有关SpringBoot整合MybatisPlus中卷积层+激活函数+池化层+全连接层的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 卷
千家信息网最后更新 2025年02月12日SpringBoot整合MybatisPlus中卷积层+激活函数+池化层+全连接层的示例分析

这篇文章给大家分享的是有关SpringBoot整合MybatisPlus中卷积层+激活函数+池化层+全连接层的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1. 卷积层

卷积是一种有效提取图片特征的方法 。 一般用一个正方形卷积核,遍历图片上的每一个像素点。图片与卷积核重合区域内相对应的每一个像素值,乘卷积核内相对应点的权重,然后求和, 再加上偏置后,最后得到输出图片中的一个像素值。
图片分灰度图和彩色图,卷积核可以是单个也可以是多个,因此卷积操作分以下三种情况:

1.1 单通道输入,单卷积核

这里单通道指的是输入为灰度图,单卷积核值卷积核个数是1个。

上面是 5x5x1 的灰度图片,1 表示单通道,5x5 表示分辨率,共有 5 行 5列个灰度值。若用一个 3x3x1 的卷积核对此 5x5x1 的灰度图片进行卷积,偏置项b=1,则求卷积的计算是:(-1)x1+0x0+1x2+(-1)x5+0x4+1x2+(-1)x3+0x4+1x5+1=1(注意不要忘记加偏置 1)。

1.2 多通道输入,单卷积核

多数情况下,输入的图片是 RGB 三个颜色组成的彩色图,输入的图片包含了红、绿、蓝三层数据,卷积核的深度(通道数)应该等于输入图片的通道数,所以使用 3x3x3的卷积核,最后一个 3 表示匹配输入图像的 3 个通道,这样这个卷积核有三通道,每个通道都会随机生成 9 个待优化的参数,一共有 27 个待优化参数 w 和一个偏置 b。

注:这里还是单个卷积核的情况,但是一个卷积核可以有多个通道。默认情况下,卷积核的通道数等于输入图片的通道数。

1.3 多通道输入,多卷积核

多通道输入、多卷积核是深度神经网络中间最常见的形式。指的是多通道输入,且用多个卷积核的情况。那么卷积过程其实也很简单,以3通道输入,2个卷积核为例
(1)先取出一个卷积核与3通道的输入进行卷积,这个过程就和多通道输入,单卷积核一样,得到一个1通道的输出output1。同样再取出第二个卷积核进行同样的操作,得到第二个输出output2
(2)将相同size的output1与output2进行堆叠,就得到2通道的输出output。
为了更直观地理解,下面给出图示:

图中输入X:[1,h,w,3]指的是:输入1张高h宽w的3通道图片。
卷积核W:[k,k,3,2]指的是:卷积核尺寸为3*3,通道数为3,个数为2。
总结:
(1)卷积操作后,输出的通道数=卷积核的个数
(2)卷积核的个数和卷积核的通道数是不同的概念。每层卷积核的个数在设计网络时会给出,但是卷积核的通道数不一定会给出。默认情况下,卷积核的通道数=输入的通道数,因为这是进行卷积操作的必要条件

1.4 填充padding

为了使卷积操作后能得到满意的输出图片尺寸,经常会使用padding对输入进行填充操作。默认在图片周围填充0。
(1)全零填充padding='same'
使用same时,会自动对原图进行全0填充,当步长为1时,可以保证输出的图片与输入的图片尺寸一致。
输出尺寸计算公式:输入长/步长 (向上取整)
TensorFlow中实现如下:(这里以卷积核个数:48,卷积核尺寸:3,步长:1,全填充为例)

layers.Conv2D(48, kernel_size=3, strides=1, padding='same')

(2)不填充padding='valid'
使用valid时,不进行任何填充,直接进行卷积。
输出尺寸计算公式:(输入长-核长)/步长+1 (向下取整)
TensorFlow中实现如下:

layers.Conv2D(48, kernel_size=3, strides=1, padding='valid')

(3)自定义填充
一般是从上下左右四个方向进行填充,且左、右填充的列数 p w p_w pw一般相同,上、下填充的行数 p h p_h ph也应该相同。如下图所示:

输出尺寸计算公式:


其中,h,w为原图的高和宽,k是卷积核的尺寸,s是步长。
在TensorFlow2.0中,自定义填充过程中,padding参数的设置格式为:
padding=[ [0,0],[上,下],[左,右],[0,0] ]

# 例如要在上下左右各填充一个单位,实现如下:layers.Conv2D(48, kernel_size=3, strides=1, padding=[[0,0], [1,1], [1,1], [0,0]])

2. 池化层

在卷积层中,可以通过调节步长参数 s 实现特征图的高宽成倍缩小,从而降低了网络的参数量。实际上,除了通过设置步长,还有一种专门的网络层可以实现尺寸缩减功能,它就是我们要介绍的池化层(Pooling layer)。
池化层同样基于局部相关性的思想,通过从局部相关的一组元素中进行采样或信息聚合,从而得到新的元素值。通常我们用到两种池化进行下采样:
(1)最大池化(Max Pooling)
从局部相关元素集中选取最大的一个元素值。
(2)平均池化(Average Pooling)
从局部相关元素集中计算平均值并返回。

3. 激活函数

激活函数也是神经网络不可缺少的部分,常用的激活函数有好几种,具体如何选择合适的激活函数可参考我的这篇博文:神经网络搭建:激活函数总结

4. 全连接层

全连接层简称FC。之所以叫全连接,是因为每个神经元与前后相邻层的每一个神经元都有连接关系。如下图所示,是一个简单的两层全连接网络,输入时特征,输出是预测的结果。

全连接层的参数量是可以直接计算的,计算公式如下:

按照上图搭建的两层全连接网络,要训练分辨率仅仅是 28x28=784 的黑白图像,就有近 40 万个待优化的参数。现实生活中高分辨率的彩色图像,像素点更多,且为红绿蓝三通道信息。待优化的参数过多, 容易导致模型过拟合。为避免这种现象,实际应用中一般不会将原始图片直接喂入全连接网络。
在实际应用中,会先对原始图像进行卷积特征提取,把提取到的特征喂给全连接网络,再让全连接网络计算出分类评估值。

更新:
2015 年,Google 研究人员Sergey 等基于参数标准化设计了BN层。BN层提出后,广泛地应用在各种深度网络模型上,使得网络的超参数的设定更加自由,同时网络的收敛速度更快,性能也更好。

感谢各位的阅读!关于"SpringBoot整合MybatisPlus中卷积层+激活函数+池化层+全连接层的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

卷积 通道 输入 图片 网络 全连 输出 参数 尺寸 函数 激活 步长 个数 情况 元素 灰度 特征 神经 像素 公式 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 饥荒联机版服务器所有者更新模组 扬州网络营销软件开发业务流程 阿里云免费服务器怎么看到期时间 网络安全审查的思考 小型互联网企业服务器规模 在哪可以找到迷你世界的服务器 长宁区网络技术转让联系方式 网络安全运营者包括 河间网络技术团队 国泰安数据库查工资总额 湖南单招软件开发 mysql指定数据库 网络安全隐患分类标准 路由器服务器搭建网站 氪细胞网络技术有限公司融资 梦幻服务器状态查询 ios软件开发培训班 网络安全等级保护测评师招聘 sql数据库清理日志 网络安全宣传团课总结 服务器通过管理口拷贝文件 安徽科艾网络技术 网络安全杀毒软件排行 怎样提升网络技术 软件开发实践内容完整最新版 六间房视频软件开发 和平精英海岛服务器刷新时间 车站售票管理数据库系统需求描述 服务器安全狗如何换用户 优讯时代网络技术有限公司
0