resnet(4)------全连接层与softmax

news2024/9/24 1:19:13

文章目录

  • 1. 全连接层
  • 2. SoftMax算法

1. 全连接层

全连接层,指的是每一个结点都与上一层的所有结点相连,用来把前面几层提取到的特征综合起来。

举个例子,前面通过卷积和池化层提取出来的特征有眼睛鼻子和嘴巴,那我们能单独通过这三个特征来判断出这是一只猫吗?显然不能,因为拥有眼睛鼻子嘴巴这三个特征的动物太多了吧,所以我们需要对这三个特征进行特征融合,从而最终判断出这个东东是一只猫猫而不是修狗。

也因此,全连接层相对于卷积层和池化层,需要的参数多很多。
在这里插入图片描述
那么看到现在,全连接层和卷积层的其实就是局部和整体的关系,我们知道卷积是对图像的局部区域进行连接,通过卷积核完成的是感受野内的长宽方向以及channel 方向的数据连接。

而全连接层呢?它的每次完成的是所有channel方向的连接,它看到的是全局特征

除此之外,卷积和全连接在算法上是可以转换的。通常情况下,在进行全连接的计算时,可以把它等效于卷积核为1x1的卷积运算

2. SoftMax算法

在很多现有的深度学习框架中,SoftMax函数经常被调用初学者大都对它一知半解,只知道SoftMax可以用来做分类,输出属于某个类别的概率。但是,为什么要用SoftMax呢?这个算法又是如何将神经网络推理的数值,转换为一个类别的分类的呢?
首先,我们要明确下面这两个概念:
第一,神经网络最终选择某一分类,依据的不是得分,而是概率
第二,得分是神经网络经过了几十层卷积运算计算出来的

知道了这两个概念以后,正式来介绍SoftMax算法。
先看他这个名字,Soft明显和Hard相对,那HardMax算法就是我们日常理解的Max,比如Max(3,4)就是4。
SoftMax不一样,它是要处理多个类别分类的问题。并且,需要把每个分类的得分值换算成概率,同时解决两个分类得分值接近的问题。

![在这里插入图片描述](https://img-blog.csdnimg.cn/14420ea3f63d4de580c5979b73f87746.png

SoftMax函数的公式如上图所示,其中

  1. 以e为底数进行了指数运算,算出每个分类的 eZi,作为公式的分子
  2. 分母为各分类得分指数运算的加和
  3. 根据公式很自然可以想到,各个分类的SoftMax值加在一起是1,也就是100%。所以,每个分类的SoftMax的值,就是将得分转化为了概率,所有分类的概率加在一起是100%。

至于为什么选择指数函数,这也是有讲究的。

假设我们要让计算机识别以下照片

在这里插入图片描述

仓鼠的得分是2.1,白面包的得分是1.9,猫的得分是0.1
如果不用指数函数的话,其实仓鼠得分和白面包的得分是差不多的,但指数增长的特性就是,横轴变化很小的量,纵轴就会有很大的变化。所以,从1.9变化到2.1,经过指数的运算,两者的差距立马被的拉大了。从而,我们可以更加明确的知道,图片的分类应该属于最大的那个。
这就是SoftMax的底层原理。

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

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

相关文章

基于tensorflow的深层神经网络(一)为什么神经网络需要解决非线性和异或问题

参考为什么神经网络需要解决多层和非线性问题 - 云社区 - 腾讯云 维基百科对深度学习的精确定义为“一类通过多层非线性变换对高复杂性数据建模算法的合集”。因为深度神经网络是实现“多层非线性变换”最常用的一种方法,所以在实际中基本上可以认为深度学习就是深度…

音频信号特征

1.声音 音信号是由空气压力的变化而产生的,可以测量压力变化的强度,并绘制这些测量值随时间的变化。 声音信号经常在规律的、固定的区间内重复,每个波都具有相同形状,高度表示声音的强度,称之为振幅。 信号完成一个…

论文笔记-时序预测-FEDformer

论文标题:FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting 论文链接: https://arxiv.org/abs/2201.12740 代码链接: https://github.com/DAMO-DI-ML/ICML2022-FEDformer 摘要 尽管基于变压器的方法…

笔记--Ubuntu20.04安装Nvidia驱动、CUDA Toolkit和CUDA CuDNN

目录 1--安装Nvidia驱动 2--安装CUDA 2-1--禁用nouveau 2-2--选择CUDA Toolkit 2-3--下载和安装CUDA Toolkit 2-4--配置环境变量 2-5--测试是否安装成功: 3--安装CUDA CuDNN 4--测试pytorch能否使用Cuda 1--安装Nvidia驱动 ① 查看可安装的Nvidia驱动版本…

Matplotlib学习笔记(第二章 2.13 Matplotlib中的图形(一))

在这里,您将发现大量示例图,其中包含生成它们的代码。 线图(Line Plot) 下面是如何使用plot()创建带有文本标签的线图。 Fig. 1: Simple Plot 多个绘图区域(Multiple subplots in one figure) 多个绘图区域由subplot()函数创建: Fig. 2:…

【小程序】内容滚动方案,视频或者照片上方不随滚动而滚动

💭💭 ✨:内容滚动方案,视频或者照片上方不随滚动而滚动   💟:东非不开森的主页   💜: 优于别人,并不高贵,真正的高贵应该是优于过去的自己。——海明威💜&a…

【图像去噪】基于自适应滤波器消除椒盐噪声图像附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

web前端课程设计(HTML和CSS实现餐饮美食文化网站)静态HTML网页制作

👨‍🎓静态网站的编写主要是用HTML DIVCSS JS等来完成页面的排版设计👩‍🎓,常用的网页设计软件有Dreamweaver、EditPlus、HBuilderX、VScode 、Webstorm、Animate等等,用的最多的还是DW,当然不同软件写出的…

论文笔记-时序预测-Informer

论文标题: Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting 论文链接: https://arxiv.org/abs/2012.07436 源码链接: https://github.com/zhouhaoyi/ETDataset 摘要 许多实际应用都需要对长序列时间序列…

游戏开发55课 性能优化12

4.9 带宽优化 带宽优化的目的是减少CPU与GPU之间的数据传输。 4.9.1 LOD(Level Of Detail) LOD即细节层次,根据物体在画面的大小选用不同级别的资源,以减少渲染和带宽的消耗。LOD在图形渲染中应用广泛,适用的对象有…

au cs6七线阁教程 笔记

01 驱动 asio 02 I 监听 R录音 一般是单声道 03 调整音量声相 04 导出 删除轨道文件 07 删除选区 自定义波形剪辑颜色 录音激活后,监听才能激活 08 自动控制 默认控制音量: 09 效果器: Vst3 dll 插件 独立效果器面板,实时&a…

[附源码]Python计算机毕业设计SSM基于框架预约挂号系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【leetcode】对称二叉树

一、题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false 二、代码思路 详细题解地址 思路有…

初识Dockerfile

初识Dockerfile Dockerfile 就是用来构建 docker 镜像的构建文件,命令脚本! # 创建一个dockerfile文件,建议 Dockerfile # 文件中的内容 指令(大写)FROM centosVOLUME ["volume01","volume02"]CMD echo "-------e…

【总复习】操作系统

操作系统总复习第1章 操作系统引论第2章 进程的描述与控制第3章 处理机调度与死锁第4章 进程同步第5章 存储器管理第6章 虚拟存储器第7章 输入/输出系统第1章 操作系统引论 1、操作系统的概念(定义) 操作系统( Operating System,…

力扣(LeetCode)1691. 堆叠长方体的最大高度(C++)

动态规划 状态计算 : f[i]{cuboids[i][2]if 不存在kmax(f[k])cuboids[i][2]if k∈[1,i−1]f[i] \begin{cases} cuboids[i][2] &\text{if } 不存在k \\ max(f[k])cuboids[i][2] &\text{if } k \in [1,i-1] \end{cases}f[i]{cuboids[i][2]max(f[k])cuboids[i][2]​if 不…

I-02Python自带编辑器IDLE的使用教程

目录 前言 正文 1. 开启行号功能 2. 运行代码,自动保存 3. 放大字体 4. 附常用快捷键 前言 IDLE是在安装python的时候自带的一个编辑器。 拥有基本的python编程的环境, 常用功能点: 代码自动补齐Debug模式python文档 你肯定想说&…

论文笔记-时序预测-Pyraformer

论文标题: Pyraformer: Low-Complexity Pyramidal Attention for Long-Range Time Series Modeling and Forecasting 论文链接: https://openreview.net/pdf?id0EXmFzUn5I 源码链接: https://github.com/alipay/Pyraformer 摘要 根据过去的…

(6)Pytorch常用函数

Pytorch用到的函数 文章目录Pytorch用到的函数1、tensor.eq()和tensor.lt()2、3、torch.pow()4、torch.clamp()5、item()和tolist()说明 1、发现了官方说明文档,使用这一套是最好的! 2、in-place操作说明,这是一个要被抛弃的方法,…

ArcGIS基础:获取栅格数据边界的线要素和独立格网面

本操作是为了提取栅格DEM数据的边界数据: 看一下原始数据:是一个非常普通的DEM栅格数据。 【方法:1】:使用【栅格范围】工具,通过搜索工具进行查找,如下所示: 该工具可以直接提取栅格外边界数…