前向传播之——得分函数

news2024/10/5 18:28:11

前向传播之-得分函数

1.1 得分函数:

剧透:深度学习必备的两个大知识点分别是前向传播反向传播啦,这里节课我们会先着手把前方传播的所涉及的所有知识点搞定!我相信这部分对于咱们即便没有什么基础的同学来说也是很容易理解的。

得分函数:这个就是咱们这节课最核心的一个问题啦。什么叫得分函数呢?下面这个图就给了我们一个最直接的答案!

img

得分函数的目的:我们要做的就是对于一个给定的输入,比如一张小猫的图片,通过一系列复杂的变换(中间的过程咱们暂且当做一个黑盒子)能得到这个输入对应于每个类别的得分数值。

可能有些同学对于一个输入的图片如何计算出它的得分还有点困惑,这里我简单的来说一下从输入到输出的一个矩阵计算过程。

img

矩阵求解过程理解:首先对于一个32 * 32 * 3的输入,我们把它拉伸成一个列向量,也就是一个3072 * 1的向量,咱们下面用最简单的线性分类来解释整个过程,在线性分类中,我们需要权重参数W偏移量B,那么W是整个线性分类的核心参数,我们要把一个输入分成10个类别并且对于每个类别给定一个得分数值,这样咱们的W参数矩阵就是一个10*3072的矩阵,我们可以通俗的理解成对于每一个类别我们都有3072个小参数去和咱们的输入(3072维的列向量)去计算最终的的分值,那么10就是我们最终要输入多少个类别。参数B就很好理解啦,这里咱们就不说啦。

img

得分函数计算实例:上图就是一个得分函数计算的最简单的一个流程,我们假设图像是有4个像素点组成的,然后咱们把它拉成了一个列向量(Xi),权重参数W是一个3*4的矩阵**(这里3行,是代表三个分类:猫、狗、船)(每行有四个值:分别代表着四个像素点的权重。W越大,说明这个像素点越是区分的依据)**,因为咱们要把输入分成三个类别,最终再加上参数b得到了最终这只小猫属于每个类别的得分数值。最终得出-96.8 、437.9、61.95这三个结果,根据这三个中结果值最大的437.9判定出这个图像是狗(当然这个结果是错的,他的损失函数比较大,不准确)

如何计算出最终的-96.8 、437.9、61.95这几个结果呢。

以437.9为例:

​ (0.2 * 56 )+ (-0.5* 231)+ (0.1 * 24) + (2.0 * 2) + 3.2 = 437.9

1.2 决策边界:

img

理解参数W和b:下面咱们再通过这张图来形象的理解下参数W和b,在真实的情况下对于每一个类别的参数W是一个3072维的,但是咱们为了形象化理解把它画在了2维的空间中,我们可以从图中看到三种颜色的线代表了三个线性分类器,参数W的每一个小权重的改变(共有3072个小权重)意味着这条线在改变的小参数的那个维度发生了偏转,我们可以想象2维空间中对于W的改变意味着什么然后再去想象这个3072维的空间。那么这个b参数是不是就没用呢?(有用你干嘛一直不说?)其实参数b是比不可少的,因为如果没有b那么所有的分类线都会交集与零点,这显然是不可取的嘛。

小总结:咱们这节课很轻松吧,但是如何从一个输入计算出它最终属于每一个类别的得分在一个实际的深度学习网络中可没这么简单就搞定,我这样做只是让大家能更好的理解这个得分函数。

1.3 Softmax分类器:

  • 什么是Softmax分类器?

​ 把得分值转换成一个概率

在这里插入图片描述

  • 蓝色框:

​ 是我们通过“得分函数”计算出来的值

  • 红色框:

    ​ e的x次方(其中x就是蓝色框中我们得出来的值),为什么要这么做呢???e的x函数是爆炸式增长函数,放大差距,使他们的差距看起来更明显。

  • 绿色框:

    ​ 归一化处理,就是 24.5/ (24.5+164+0.8) = 0.13

  • 损失函数L:

    ​ 通过log对数函数来计算, 概率值越x接近1 ==>L越接近0,说明我们做的越好,损失越小

在这里插入图片描述

1.4 前向传播:

  • 对“前向传播”的解释:

​ 通过W(权重),Xi 计算出 损失值(LOSS)

在这里插入图片描述

1.5 引出 反向传播:

因为 前向传播计算出Loss损失函数,那么xi是给定的,我们只有通过修改W(权重),来进行梯度下降,一点一点修改我们的函数(修改W,让他变成损失值越来越小的函数)。

那么如何更新模型呢???这个就交给了反向传播(梯度下降)

【注释】:

32 * 32 *3来历:

其实我们计算机上看到的图像是0~255的像素点(0最暗,225最亮),*3是一个三维度GRB图像(分别代表红、绿、蓝),三维图像合并在一起。
在这里插入图片描述

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

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

相关文章

Vue从小白到入门

文章目录 🍋Vue是什么?🍋MVVM思想 🍋vue2快速入门🍋注意事项 🍋数据单向渲染🍋数据双向渲染🍋作业布置 🍋事件绑定🍋事件处理机制🍋注意事项和细节&#x1f…

Android屏幕适配方案

方案一: 安卓app禁止跟随系统字体大小,显示大小而改变。 1、定义工具类 public final class DisplayUtil {/*** 禁用7.0(23)以上显示大小改变和文字大小*/public static Resources disabledDisplayDpiChange(Resources res) {C…

openGauss学习笔记-07 openGauss 语法

文章目录 openGauss学习笔记-07 openGauss 语法7.1 帮助7.2 SQL语句格式7.3 SQL语法ABORTALTER AUDIT POLICYALTER DATA SOURCEALTER DATABASEALTER DEFAULT PRIVILEGESALTER DIRECTORYALTER EXTENSIONALTER FOREIGN TABLEALTER FUNCTIONALTER GROUPALTER INDEXALTER LARGE OBJ…

APB 3

一. APB3概述 APB协议是AMBA总线协议系列的一部分,其接口简单、功耗较低,常用于连接低带宽的高性能外设,每次数据传输至少需要两个时钟周期,且无法同时进行读写操作。 APB作为系统中的从机,可以通过AHB、AHB-Lite、AXI…

RPC分布式网络通信框架(二)—— moduo网络解析

文章目录 一、框架通信原理二、框架初始化框架初始化 三、调用端(客户端)调用端框架调用端主程序 四、提供端(服务器)提供端主程序提供端框架NotifyService方法Run方法muduo库的优点网络代码RpcProvider::OnConnection业务代码Rpc…

go 爬虫速度控制

go 爬虫速度控制 使用go语言用原生net/http写爬虫如何优雅的控制并发和请求速度控制并发限流并发和限流的区别简单说明有了并发控制为什么还要限流 最总代码 使用go语言用原生net/http写爬虫如何优雅的控制并发和请求速度 go程序的执行效率相对python要快的多,且占…

如何在半年内找到理想的数据库内核开发工作?

学习和提升技能:着重学习数据库原理、数据结构、算法和数据库内核开发相关的知识。掌握SQL语言和数据库设计,了解常见的数据库系统和底层技术。参加培训、在线课程或自学,不断提升自己的技术能力。 我这里刚好有嵌入式、单片机、plc的资料需…

三、CAS认证流程

一、相关概念 TGC(Ticket-granting cookie):存放用户身份认证的cookie,在浏览器和CAS server用来明确用户身份的凭证;ST(Service Ticket):CAS服务器通过浏览器分发给客户端服务器的票据,一个特定服务只能有一个唯一的…

微信小程序开发学习之页面导航(声明式导航和编程式导航)

微信小程序之页面导航(声明式导航和编程式导航) 1.0 页面导航1.1. 声明式导航1.1.1. 导航到tabBar页面1.1.2. 导航到非tabBar页面1.1.3. 后退导航 1.2. 编程式导航1.2.1. 导航到tabBar页面1.2.2. 导航到非tabBar页面1.2.3. 后退导航 1.3. 导航传参1.3.1.…

手把手教你用 NebulaGraph AI 全家桶跑图算法

前段时间 NebulaGraph 3.5.0 发布,whitewum 吴老师建议我把前段时间 NebulaGraph 社区里开启的新项目 ng_ai 公开给大家。 所以,就有了这个系列文章,本文是该系列的开篇之作。 ng_ai 是什么 ng_ai 的全名是:Nebulagraph AI Sui…

安装RabbitMQ 详细步骤

我这里是在Linux系统里面安装的按照步骤即可 1. 安装Socat🍉 在线安装依赖环境: yum install gcc yum install socat yum install openssl yum install openssl-devel2. 安装Erlang🍉 去官网下载一下安装包,将安装包拉到Linux系…

苹果APP安装包ipa如何安装在手机上

苹果APP的安装比安卓复杂且困难,很多人不知道如何将ipa文件安装到手机上。以下是几种苹果APP安装在iOS设备的方式,供大家参考。 一、上架App Store 这是最正规的方式。虽然审核过程复杂、时间较长,且审核条件较为苛刻,但借助第三…

【UE C++】蓝图调用C++函数

目录 一、蓝图调用其继承的C类的函数 二、蓝图调用全局C函数 一、蓝图调用其继承的C类的函数 首先新建一个C类 父类选择“Actor” 这里命名为“MyActorFromC”,然后点击创建类,等待编译完成。 在头文件中申明函数 UFUNCTION(BlueprintCallable, Categ…

list分段截取方法

对list 分段截取方法是一个常见的操作,通常用于对list数据批量操作,常见的场景有返回分页展示数据,对大数据进行分批次插入数据库等 package com.hmdp.dto;import org.apache.commons.collections4.ListUtils; import org.springframework.u…

Golang学习——string和slice切片

Golang学习——string和slice切片 string整数存储字符存储Unicode存储变长编码规则字符串类型变量的结构字符串变量的修改方式 slice通过make的方式定义变量new底层数组slice扩容规则1.预估扩容后的容量newCap2.newCap个元素需多大内存3.匹配到合适的内存规格练习 string 整数…

如何进行高效的日程管理?

在日程安排逐渐增多的现代职场中,如果想要高效完成工作事项,就必须做好每天的日常管理。但是有不少上班族表示自己在做日程管理时往往感到力不从心,很难做到真正有效的管理自己的日程安排,那么问如何进行高效的日程管理呢&#xf…

利用Python数据挖掘技术深入理解股票回撤的本质

股票回撤是投资者关注的一个重要指标,也是进行风险评估和投资决策的必要依据。通过利用Python数据挖掘技术深入理解股票回撤的本质,可以更加准确地评估风险和制定投资策略。 一、什么是股票回撤 股票回撤是指股票价格在上涨过程中出现暂时的下跌&#…

2023开放式蓝牙耳机推荐,开放式耳机如何选购?十五款开放式耳机一文看到底!

最近发现网上很多小伙伴在挑选开放式蓝牙耳机,也看到很多开放式耳机的评测文章,五花八门,各式各样,导致很多小伙伴想挑选一款好用的开放式耳机,却又怕踩雷! 那么问题来了!怎样选择一款合适的开…

代码随想录二刷 day48 |动态规划之 198打家劫舍 213打家劫舍II 337打家劫舍III

day48 198.打家劫舍1.确定dp数组(dp table)以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp数组 213.打家劫舍II情况一:考虑不包含首尾元素情况二:考虑包含首元素,不包含尾元素情况三&…

在培训班里学技术,真的有用吗?

在培训班里学技术,真的有用吗? 😇博主简介:我是一名正在攻读研究生学位的人工智能专业学生,我可以为计算机、人工智能相关本科生和研究生提供排忧解惑的服务。如果您有任何问题或困惑,欢迎随时来交流哦&…