神经网络整体架构

文章目录

  • 1.输入层Input
  • 2.卷积层Conv
  • 3.激活函数层
    • (一)Sigmoid 函数
    • (二)Tanh 函数
    • (三)修正线性单元ReLU
    • (四)Leaky ReLU函数(带泄露的Relu)
    • (五)参数化ReLU
  • 4.池化层POOL
  • 5.全连接层FC
  • 6.输出层Output

  用全连接神经网络处理大尺寸图像具有三个明显的缺点:
  ①将图像展开为向量会丢失临近像素的空间信息
  ②模型参数过多,因此效率低下,训练困难
  ③大量参数也很块会导致网络过拟合
  针对这些问题,提出了卷积神经网络,很好的解决了这些问题。
  目的:减少网络参数数量,达到更好效果
在这里插入图片描述

1.输入层Input

  图像数据

2.卷积层Conv

  提取特征(将图像分成一个个小区域,利用卷积核生成对应的特征图)
  卷积运算的目的是提取输入的不同特征,某些卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。
在这里插入图片描述
  可以看出卷积是一种局部操作,通过一定大小的卷积核作用于局部图像区域获得图像的局部信息。
在这里插入图片描述
在这里插入图片描述
  5×5的数据经过3×3的卷积核生成3×3的特征图
  卷积核:
在这里插入图片描述

  · 例
  第一个区域特征值:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
  (1)多通道卷积
  当有多个通道channel时,例如图片可以有RGB三个通道,卷积核需要拥有相同的channel数,每个卷积核channel与输入层的对应channel进行卷积,将每个channel的卷积结果相加得到最终的feature map。
  (2)多卷积核
  当有多个卷积核时,可以学习到多种不同的特征,对应产生多个channel的feature map。多个功能的卷积核得计算结果放在一起,能够检测到图片中不同得特征(边缘检测)
  一个卷积层中可以有多个不同的卷积核,而每一个卷积核都对应一个特征图。

在这里插入图片描述

多通道卷积多卷积核
卷积核channel数是确定的前面是3×3×3,则卷积核的channel必须是3,每一个卷积核的通道数量必须要与输入通道数量保持一致卷积核的个数不是确定的
卷积核每个channel生成的不是独立的,需要相加并加上偏置量b,这里卷积输出结果只有1个,因为卷积核只有1个。每个卷积核生成的feature map是独立的,不需要相加,设置几个卷积核就产生几个feature map,这里输出结果有4个feature map,因为传入了3×3×3×4

在这里插入图片描述

在这里插入图片描述

3.激活函数层

  激活函数是用来加入非线性。常见的激活函数有sigmod、tanh、relu,前两者常用在全连接层,relu常见于卷积层。
  问题:为什么要在卷积层后面添加激活函数?
  如果只有线性变换,那无论多少层神经元,都能简化成一层神经元,那神经网络只是简单多元线性回归而已,不能拟合更加复杂的函数。举个例子,如果我们只有线性操作,那么我们的神经网络永远无法拟合圆等复杂的曲线图形,永远只能表示超平面,无法表示曲面等。
因为卷积对输入图像进行的操作是线性的,但输入的图像的信息不都是线性可分的,所以通过激活函数来进行非线性操作,能够更好的映射特征去除数据中的冗余,以增强卷积神经网络的表达能力。
  问题:激活函数为什么要使用非线性的?
  使用线性激活函数和不适用激活函数、直接使用logistic回归没有区别,那么无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层的效果相当,就成了最原始的感知器了。

相当于=

  作用:
  ①将神经网络非线性化,即提升神经网络的拟合能力,能拟合更复杂的函数。
  ②激活函数可以引入非线性因素。如果不使用激活函数,则输出信号仅是一个简单的线性函数。线性函数一个一级多项式,线性方程的复杂度有限,从数据中学习复杂函数映射的能力很小。没有激活函数,神经网络将无法学习和模拟其他复杂类型的数据,例如图像视频、音频、语音等。
  ③激活函数可以把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类。
在这里插入图片描述

  添加激活层:
在这里插入图片描述

(一)Sigmoid 函数

在这里插入图片描述
  sigmoid 函数公式如上式所示,函数图像如图所示。该函数能够把变量映射到[0,1]区间,所以一般是用来处理二分类的问题。

在这里插入图片描述

  观察还能发现在 sigmoid函数两端,对于大于5或小于-5的值无论多大或多小都会压缩到0或1。如此便带来一个严重问题,即梯度的“饱和效应”。
对照sigmoid函数的梯度图,大于5或小于-5部分的梯度接近0,这会导致在误差反向传播过程中导数处于该区域的误差将很难甚至根本无法传递至前层, 进而导致整个网络无法训练(导数为0将无法更新网络参数)。
此外,在参数初始化的时候还需特别注意,要避免初始化参数直接将输出值域带入这一区域:一种可能的情形是当初始化参数w过大时,将直接引发梯度饱和效应而无法训练。
在这里插入图片描述
解决办法:初始化参数w设置小点,这样生成的x值就会少,对应的斜率即梯度就会大更新参数就会快。
在这里插入图片描述

(二)Tanh 函数

在这里插入图片描述

tanh 函数公式如上所示,tanh 函数图像如图 2.17 所示,是将变量映射到[-1,1]区间。
在这里插入图片描述
  tanh函数存在和sigmoid函数一样的缺点:当x趋近无穷大或无穷小,导数的梯度(即函数的斜率)就趋近于0,这使得梯度算法的速度会减慢。

(三)修正线性单元ReLU

  因为 sigmoid 和 tanh 函数在反向传播中常常因为值过小而造成梯度消失,ReLU 函数能够避免部分这个问题,ReLU 是修正线性单元(Rectified Linear Unit),ReLU 函数的表达式如下式所示:

在这里插入图片描述
  从图中可以看出 ReLU 函数不是连续的,属于分段函数:当x<0时, f(x)值为0,当x≥0 时, f(x)等于x,x≥0部分完全消除了sigmoid型函数的梯度饱和效应,因此不会出现梯度消失的情况。
在这里插入图片描述

  与sigmoid、tanh 激活函数相比,ReLU 函数当输入小于0时梯度等于0,这时神经元不会被激活,所以在某一段时间里只有部分神经元会被激活,在反向传播过程中收敛速度会更快。
  优点:
  ①ReLU激活函数计算量更小
  ②收敛速度远快于sigmoid和tanh;
  ③解决部分梯度消失问题
  ReLU的梯度大多数情况下是常数,有助于解决深层网络的收敛问题
  ④因为ReLU不会梯度消失只有线性关系,会让网络训练更快;
  缺点:
  ①强制性把负值置为0,可能丢掉一些特征;
  ②当输入为负数时,权重无法更新,导致神经元死亡(学习率不要太大)

(四)Leaky ReLU函数(带泄露的Relu)

  为了缓解“死区”现象,研究者将ReLU函数中x<0的部分调整为,其中为0.01或0.001数量级的较小正数。这种新型的激活函数被称作Leaky ReLU:
在这里插入图片描述

  可以发现,原始ReLU函数实际上是Leaky ReLU函数的一个特例,即.
  不过由于Leaky ReLU函数中为超参数,合适的值较难设定且较为敏感,因此Leaky ReLU函数在实际使用中的性能并不十分稳定。

(五)参数化ReLU

  参数化ReLU的提出很好的解决了Leaky ReLU函数中超参数不易设定的问题:参数ReLU直接将也作为一个网络中可学习的变量融入模型的整体训 练过程。
  注:Leaky ReLU中的α需经人为指定,而参数化ReLU中α则经网络学习得到。
在这里插入图片描述

4.池化层POOL

  池化(特征压缩/下采样)是将输入图像进行缩小,减少像素信息,只保留重要信息,主要是为了减少计算量。主要包括最大池化和均值池化。
  作用:
  ①减少网络中的参数计算量,从而遏制过拟合;
  ②增强网络对输入图像中的小变形、扭曲、平移的鲁棒性(输入里的微小扭曲不会改变池化输出——因为我们在局部邻域已经取了最大值/平均值)。
  ③帮助我们获得不因尺寸而改变的等效图片表征。这非常有用,因为这样我们就可以探测到图片里的物体,不管它在哪个位置。
  特征:
  ①没有要学习的参数
池化层和卷积层不同,没有要学习的参数。池化是从目标区域中取最大值(或平均值),所以不要学习的参数。
  ②通道数不发生变化
  经过池化运算,输入数据和输出数据的通道数不会发生变化。
在这里插入图片描述

  ③对微小的位置变化具有鲁棒性
  输入数据发生微小偏差时,池化仍会返回相同的结果。因此,池化对输入数据的微小偏差具有鲁棒性。比如,3X3的池化的情况下,如下图,池化会吸收输入数据的偏差(根据数据不同,结果可能不一致)。
在这里插入图片描述
在这里插入图片描述

  从上图看,池化只是变长和宽,而特征图的个数其实不会变。
  最大池化MAX POOLING(选取最大的特征值)
  (1)目的:抓住主要矛盾,忽略次要因素。
  (2)意义:降低数据维度,减少训练参数,避免过拟合。
  通用池化层过滤器:f=2×2,s=2

在这里插入图片描述

  注:池化层没有涉及到任何的矩阵计算,只是一个筛选、压缩、过滤的过程。

5.全连接层FC

在这里插入图片描述

  全连接层在整个卷积神经网络中起分类器的作用,在全连接层之前需要将之前的输出feature map展平;再接一个或多个全连接层,进行模型学习。
  全连接层相当于一个普通神经网络。
  如果说卷积层、汇合层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的特征表示映射到样本的标记空间的作用。
  在实际使用中,全连接层可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1×1的卷积;而前层是卷积层的全连接层可以转化为卷积核为h×w的全局卷积,h和w分别为前层卷积输出结果的高和宽。
  · 例1
  以经典的VGG-16网络模型为例,对于224×224×3的图像输入,最后一层卷积层(指VGG-16的Pool5)可得输出为7×7×512的特征张量,若后层是一层含4096个神经元的全连接层时,则可用卷积核为7×7×512×4096的全局卷积来实现这一全连接运算过程。
在这里插入图片描述

  其中该卷积核具体参数如下,经过此卷积操作后可得1×1×4096的输出。
在这里插入图片描述
  如需再次叠加一个含2048个神经元的全连接层,可设定以下参数的卷积层操作:

在这里插入图片描述
  · 例2
  全连接层FC前面一层结果是32×32×10,那么全连接层的矩阵第一个参数是32×32×10=10240,第二个参数取决于最终要分成几类,上图分成5类即第二个参数是5,那么矩阵是[10240,5]。

6.输出层Output

分类回归
采用Softmax函数采用线性函数
分类
回归

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/881716.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gitlab-ci 集成 k3s 部署spring boot 应用

环境 一台ECS gitlab 16.10 一台ECS gitlab-runner docker方式 一台腾讯云服务器 k3s k3s version v1.30.5k3s1 (9b586704) go version go1.22.6 本地: idea 2024 准备开始 gitlab上创建"api"仓库,本地IDEA 创建spring boot web demo项目k8s-gitlab-demo. 确保能…

【计算机网络】计算机网络相关术语

文章目录 NAT概述NAT的基本概念NAT的工作原理1. **基本NAT&#xff08;静态NAT&#xff09;**2. **动态NAT**3. **NAPT&#xff08;网络地址端口转换&#xff0c;也称为PAT&#xff09;** 底层实现原理1. **数据包处理**2. **转换表**3. **超时机制** NAT的优点NAT的缺点总结 P…

跟踪用户状态,http协议无状态 Cookie HttpSession,Session和Cookie的关系

1.概念分析 跟踪用户状态指的是web应用能够分辨请求属于哪个用户&#xff0c;进而记录用户的状态&#xff0c;从而为用户提供连续的针对性的服务。比如有多个客户在同一个购物网站上购物&#xff0c;每一个用户都会有一个虚拟的购物车。当某个客户发送请求将商品添加到购物车时…

初学Qt之环境安装与 hello word

环境&#xff1a; Qt Creator 4.11.0 (Community) Qt 5.14.0 目录 1.Qt环境配置 1.1 下载Qt 5.14.0 1.2 注册Qt账号 1.3 安装Qt 1.4 配置环境变量 2.创建项目 2.1 创建一个项目 2.2 初始代码解析 2.3 可视化GUI ​编辑 2.4 hello word 2.4.1 可视化hello word …

Spring Boot知识管理系统:创新与实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常适…

公开课学习:软件测试面试3大难题

1.验证码机制的处理&#xff1a;自动化遇到验证码怎么办?怎么测试? 流程&#xff1a;先识别元素&#xff0c;再对元素进行操作。实际上&#xff0c;验证码无法用自动化技术操作解决&#xff0c;都是由开发给万能码&#xff0c;或者屏蔽验证码去解决&#xff01;那如果不能屏…

数据结构——优先级队列(堆)

概念&#xff1a; 在操作数据的时候&#xff0c;操作的数据具有优先级&#xff0c;需要返回最高级别的优先级数据或者添加新对象时就需要用到优先级队列。 jdk1.8中的PrioriytQueue底层实现了堆这种数据结构实际上&#xff0c;堆其实就是在完全二叉树进行调整而来。 堆&#x…

C++STL--------vector

文章目录 一、vector常用接口介绍1、initializer_list2、接口有很多类似3、typeid(类型).name()4、find() 函数5、内置类型构造 二、vector()常用接口模拟实现 截图来源网站&#xff1a;https://legacy.cplusplus.com/reference/vector/vector/ 一、vector常用接口介绍 是一个…

哪种护眼大路灯孩子用着最好?公认最好的护眼大路灯

哪种护眼大路灯孩子用着最好&#xff1f;最近也有不少家长关注到了孩子视力健康的这个情况&#xff0c;很着急开始寻找各种能够减少孩子因为不良光线影响视力健康的方法&#xff0c;其中大路灯以良好的表现成为家长们的首选&#xff0c;但快速发展的市场中&#xff0c;却涌入了…

【C】C语言常见概念~

C语言常见概念 转义字符 转义字符&#xff0c;顾名思义&#xff0c;转变原来意思的字符 比如 #include <stdio.h> int main() {printf("abcndef");return 0; }输出的结果为&#xff1a; 将代码修改一下&#xff1a; #include <stdio.h> int main(…

双目视觉搭配YOLO实现3D测量

一、简介 双目&#xff08;Stereo Vision&#xff09;技术是一种利用两个相机来模拟人眼视觉的技术。通过对两个相机获取到的图像进行分析和匹配&#xff0c;可以计算出物体的深度信息。双目技术可以实现物体的三维重建、距离测量、运动分析等应用。 双目技术的原理是通过两…

SpringBoot基础(五):集成JUnit5

SpringBoot基础系列文章 SpringBoot基础(一)&#xff1a;快速入门 SpringBoot基础(二)&#xff1a;配置文件详解 SpringBoot基础(三)&#xff1a;Logback日志 SpringBoot基础(四)&#xff1a;bean的多种加载方式 SpringBoot基础(五)&#xff1a;集成JUnit5 目录 一、JUnit…

AIGC毕设项目分享:基于RAG的数字人对话系统及其应用

本研究的主要目标是设计并实现一个基于检索增强生成&#xff08;RAG&#xff09;技术的数字人对话系统&#xff0c;旨在提升数字人系统在多轮对话中的上下文管理、情境感知能力以及动态内容生成效果。系统结合了深度学习中的最新大语言模型技术&#xff0c;通过引入RAG框架来增…

K8S配置MySQL主从自动水平扩展

前提环境 操作系统Ubuntu 22.04 K8S 1.28.2集群&#xff08;1个master2个node&#xff09; MySQL 5.7.44部署在K8S的主从集群 metrics-server v0.6.4 概念简介 在K8s中扩缩容分为两种 ●Node层面&#xff1a;对K8s物理节点扩容和缩容&#xff0c;根据业务规模实现物理节点自动扩…

爬虫案例——网易新闻数据的爬取

案例需求&#xff1a; 1.爬取该新闻网站——&#xff08;网易新闻&#xff09;的数据&#xff0c;包括标题和链接 2.爬取所有数据&#xff08;翻页参数&#xff09; 3.利用jsonpath解析数据 分析&#xff1a; 该网站属于异步加载网站——直接网页中拿不到&#xff0c;需要…

MySQL-08.DDL-表结构操作-创建-案例

一.MySQL创建表的方式 1.首先根据需求文档定义出原型字段&#xff0c;即从需求文档中可以直接设计出来的字段 2.再在原型字段的基础上加上一些基础字段&#xff0c;构成整个表结构的设计 我们采用基于图形化界面的方式来创建表结构 二.案例 原型字段 各字段设计如下&…

深入理解线性表--顺序表

目录 顺序表- Seqlist -> sequence 顺序 list 表 顺序表的概念 问题与解答 顺序表的分类 静态顺序表 动态顺序表 问题与解答(递进式) 动态顺序表的实现 尾插 头插 尾删 头删 指定位置插入 指定位置删除 销毁 总结 前言&#xff1a;线性表是具有相同特性的一类数据结构…

2024 年 04 月编程语言排行榜,PHP 排名创新低?

编程语言的流行度总是变化莫测&#xff0c;每个月的排行榜都揭示着新的趋势。2024年4月的编程语言排行榜揭示了一个引人关注的现象&#xff1a;PHP的排名再次下滑&#xff0c;创下了历史新低。这种变化对于PHP开发者和整个技术社区来说&#xff0c;意味着什么呢&#xff1f; P…

现代数字信号处理I-P3 MVUE学习笔记

目录 1. 参数估计问题的提出与本质 2. 估计的性质 2.1 Ancillary&#xff08;多余估计&#xff09; 例1&#xff0c;Ancillary估计量 2. Uniformly Optimal 3. Sufficiency充分性 3.1 统计量充分性定义 例2&#xff1a;利用充分统计量定义获取伯努利分布的充分统计量 …

Anaroute - 理论学习(一)

一、贡献&#xff1a; 框架能够在考虑特定约束的同时&#xff0c;高效地完成复杂AMS设计的布线&#xff0c;并实现签署质量的性能。 提出了一种对称性约束的分配算法&#xff0c;根据引脚位置分配合适的网络匹配要求新的引脚聚类策略&#xff0c;以实现规律性的布线模式&…