NLP CH3复习

news2025/1/6 4:43:39

CH3

3.1 几种损失函数

image.png

3.2 激活函数性质

image.png

3.3 哪几种激活函数会发生梯度消失

image.png

3.4 为什么会梯度消失

image.png
image.png

image.png

3.5 如何解决梯度消失和过拟合

image.png

3.6 梯度下降的区别

3.6.1 梯度下降(GD)
  • 全批量:在每次迭代中使用全部数据来计算损失函数的梯度。
  • 计算成本高:对于大数据集来说,每次迭代的计算成本非常高。
  • 稳定收敛:由于每次都利用全部数据,因此梯度的估计非常准确,收敛路径平滑。
3.6.2 随机梯度下降(SGD)
  • 单个样本:在每次迭代中随机选择一个数据样本来计算梯度。
  • 计算成本低:每次只处理一个样本,大大减少了计算量。
  • 收敛波动大:由于每次只用一个样本更新,梯度估计的方差较大,导致收敛过程中有较多波动。
3.6.3 Mini-batch梯度下降
  • 小批量样本:在每次迭代中使用一小部分数据样本(例如32或64个样本)来计算梯度。
  • 计算成本适中:平衡了全批量的计算效率和随机梯度的更新速度。
  • 收敛相对稳定:小批量的使用减少了梯度估计的方差,使得收敛过程比随机梯度下降更稳定,但又比全批量梯度下降更灵活。

3.7 DNN

3.7.1 反向传播算法过程

将输出误差以某种形式反传给各层所有的单元,各层按本层误差修正各单元连接权值。
image.png
image.png

3.7.2 训练步骤

image.png

3.8 CNN

3.8.1 CNN的组成

由卷积层、子采样层、全连接层交叉堆叠而成

3.8.2 对比DNN

3.9 GNN

image.png

3.9.1 基本GNN和GCN的公式对比
3.9.1.1 基本GNN的公式

h v k = σ ( W k ∑ u ∈ N ( v ) h u k − 1 ∣ N ( v ) ∣ + B k h v k − 1 ) h_v^k = \sigma \left( W_k \sum_{u \in \mathcal{N}(v)} \frac{h_u^{k-1}}{|\mathcal{N}(v)|} + B_k h_v^{k-1} \right) hvk=σ WkuN(v)N(v)huk1+Bkhvk1

  • 核心思想
    • 聚合节点 v v v 的邻居节点特征 h u k − 1 h_u^{k-1} huk1 的平均值。
    • 使用两个不同的权重矩阵 W k W_k Wk B k B_k Bk 分别对邻居特征和节点自身特征进行线性变换。
    • 通过激活函数 σ \sigma σ(例如 ReLU 或 tanh)引入非线性。
  • 特点
    • 对所有邻居进行简单的平均(即 1 ∣ N ( v ) ∣ \frac{1}{|\mathcal{N}(v)|} N(v)1),没有对邻居节点的重要性加权。
    • 参数共享较少,特征变换对邻居和节点自身分开处理。

3.9.1.2 GCN的公式

h v k = σ ( W k ∑ u ∈ N ( v ) ∪ { v } h u k − 1 ∣ N ( u ) ∣ ∣ N ( v ) ∣ ) h_v^k = \sigma \left( W_k \sum_{u \in \mathcal{N}(v) \cup \{v\}} \frac{h_u^{k-1}}{\sqrt{|\mathcal{N}(u)||\mathcal{N}(v)|}} \right) hvk=σ WkuN(v){v}N(u)∣∣N(v) huk1

  • 改进点
    1. 归一化
      • 替代简单的平均聚合,GCN引入对称归一化因子 1 ∣ N ( u ) ∣ ∣ N ( v ) ∣ \frac{1}{\sqrt{|\mathcal{N}(u)||\mathcal{N}(v)|}} N(u)∣∣N(v) 1,减小高度节点(高度数节点)对结果的影响。
    2. 参数共享
      • 同一权重矩阵 W k W_k Wk 用于邻居特征和节点自身特征变换,减少参数数量,提高模型泛化能力。
    3. 自环(Self-loop)
      • 邻域中加入节点自身(即 N ( v ) ∪ { v } \mathcal{N}(v) \cup \{v\} N(v){v}),保证每层节点都能保留自身信息。
  • 特点
    • 更好的参数共享,减少了过拟合的风险。
    • 归一化权重避免了高度数节点的特征主导问题。

3.9.2 GNN池化的概念

池化可以理解为图卷积过程中特征和节点的降维操作。以下是两种池化方式的相关描述:

3.9.2.1 全局池化
  • 汇总整个图的节点特征,用于生成固定维度的图表示。
  • 常见方式:
    • 平均池化:取所有节点特征的平均值。
    • 最大池化:取节点特征的最大值。
    • 加权池化:根据任务需求对节点特征加权后聚合。
3.9.2.2 局部池化
  • 在每一层中,通过选择部分重要节点,逐层减少图中节点的数量,同时保留主要的结构信息。
  • 常见方式:
    • Top- k k k池化:根据节点重要性评分选择得分最高的节点。
    • 可微分池化(DiffPool):通过学习分配矩阵动态生成池化结果。

3.9.3 GCN的改进特点
  1. 参数共享(More parameter sharing)

    • GCN使用相同的权重矩阵 W k W_k Wk 对邻居节点和自身节点的特征进行线性变换。
    • 减少参数数量,提升模型训练稳定性。
  2. 削弱高度节点的影响(Down-weights high degree neighbors)

    • 通过对称归一化因子 1 ∣ N ( u ) ∣ ∣ N ( v ) ∣ \frac{1}{\sqrt{|\mathcal{N}(u)||\mathcal{N}(v)|}} N(u)∣∣N(v) 1,减小度数大的节点对目标节点的特征贡献。
    • 防止高度数节点主导聚合特征,造成模型偏差。
3.9.4 总结
  • 基本GNN:通过简单平均的方式聚合邻居特征,参数较多,但未对邻居节点的贡献权重进行优化。
  • GCN:引入对称归一化和参数共享机制,使模型更稳定、高效,同时减少过拟合。
  • GNN池化:可以进一步通过全局或局部池化操作提取图或节点的高层次特征,适应更复杂的任务需求。
3.9.5 邻接节点个数不确定如何解决?
  • 邻居信息聚合
    • 核心思想:将目标节点的特征更新为其自身特征和邻居特征的组合。
  • 参数共享
    • GNN采用共享的权重矩阵(如图中的 W k W_k Wk B k B_k Bk),即在同一层中所有节点使用相同的参数。
  • 邻接节点特征聚合
    • 对每个节点的邻域进行聚合,生成一个固定维度的邻域表示(如 W k h k − 1 W_kh^{k-1} Wkhk1)。

image.png

实心节点(蓝色圆点)代表的是实心结点(实际节点),它们是对应的实心结点的邻接结点聚集。

  • 在原始图结构(左图)中,每个节点都有其自然的邻接关系(通过灰色线连接)
  • 对于层次 h k h^k hk h k − 1 h^{k-1} hk1 之间的信息传递:
    • 设定了锚点(实心节点)
    • 使用注意力机制或聚合函数(图中通过 W k W_k Wk B k B_k Bk 表示)来学习和聚集信息
    • 将相邻节点的信息聚集到这些锚点上
  • 具体的聚集过程:
    • 通过权重矩阵 W k W_k Wk 来计算注意力分数或重要性权重
    • 使用 B k B_k Bk 来转换或投影特征
    • 最终将邻域节点的信息加权聚合到固定数量的锚点上
3.9.6 GNN训练,卷积步骤

在最后一层(K层)得到每个结点的表示后,可以根据任务将其代入任何损失函数,然后用梯度下降法训练参数。
image.png

3.10 RNN

  • DNN、CNN 输入、输出定长;处理输入、输出变长问题效率不高。而自然语言处理中的语句通常其长度不固定。
  • 单一DNN、CNN 无法处理时序相关序列问题

RNN核心思想

  • 将处理问题在时序上分解为一系列相同的“单元”,单元的神经网络可以在时序上展开,且能将上一时刻的结果传递给下一时刻,整个网络按时间轴展开。即可变长。
    image.png
3.10.1 训练中的问题以及解决方式

image.png

会出现和深度前馈神经网络类似的梯度消失问题。在训练循环神经网络时,更经常出现的是梯度消失问题,训练较难
image.png

距当前节点越远的节点对当前节点处理影响越小,无法建模长时间的依赖

3.10.2 BPTT和BP的区别

参考链接

3.10.3 LSTM, GRU

image.png

image.png

image.png
image.png

3.10.4 设计题参考结构

image.png

image.png

image.png

image.png

补充

反向传播算法中第 L-1 层的误差项表达式:

δ ( L − 1 ) = σ ′ ( Z ( L − 1 ) ) ⋅ ( W ( L ) ) ⊤ δ ( L ) \delta^{(L-1)} = \sigma'(Z^{(L-1)}) \cdot (W^{(L)})^{\top} \delta^{(L)} δ(L1)=σ(Z(L1))(W(L))δ(L)

其中:

  • σ ′ \sigma' σ 表示激活函数的导数
  • Z ( l ) Z^{(l)} Z(l) 是第 l 层的加权输入
  • W ( l ) W^{(l)} W(l) 是第 l 层的权重矩阵
  • δ ( l ) \delta^{(l)} δ(l) 是第 l 层的误差项

推导步骤:

  1. 前向传播定义
    第 l 层的输出 A ( l ) A^{(l)} A(l) 表示为:
    A ( l ) = σ ( Z ( l ) ) = σ ( W ( l ) A ( l − 1 ) + b ( l ) ) A^{(l)} = \sigma(Z^{(l)}) = \sigma(W^{(l)}A^{(l-1)} + b^{(l)}) A(l)=σ(Z(l))=σ(W(l)A(l1)+b(l))

  2. 损失函数定义
    使用均方误差(MSE)作为损失函数 J:
    J = 1 2 ∥ A ( L ) − Y ∥ 2 J = \frac{1}{2} \|A^{(L)} - Y\|^2 J=21A(L)Y2

  3. 计算输出层误差项 δ ( L ) \delta^{(L)} δ(L)
    δ ( L ) = ∂ J ∂ Z ( L ) = ( A ( L ) − Y ) ⋅ σ ′ ( Z ( L ) ) \delta^{(L)} = \frac{\partial J}{\partial Z^{(L)}} = (A^{(L)} - Y) \cdot \sigma'(Z^{(L)}) δ(L)=Z(L)J=(A(L)Y)σ(Z(L))

  4. 递推计算隐藏层误差项
    对于第 l 层 (l = L-1, L-2, …, 1):
    δ ( l ) = ∂ J ∂ Z ( l ) = ( W ( l + 1 ) ) ⊤ δ ( l + 1 ) ⋅ σ ′ ( Z ( l ) ) \delta^{(l)} = \frac{\partial J}{\partial Z^{(l)}} = (W^{(l+1)})^{\top} \delta^{(l+1)} \cdot \sigma'(Z^{(l)}) δ(l)=Z(l)J=(W(l+1))δ(l+1)σ(Z(l))

具体到 l = L-1:
δ ( L − 1 ) = ( W ( L ) ) ⊤ δ ( L ) ⋅ σ ′ ( Z ( L − 1 ) ) \delta^{(L-1)} = (W^{(L)})^{\top} \delta^{(L)} \cdot \sigma'(Z^{(L-1)}) δ(L1)=(W(L))δ(L)σ(Z(L1))

通过链式法则详细推导:

  1. 误差项 δ ( l ) \delta^{(l)} δ(l) 可表示为:
    δ ( l ) = ∂ J ∂ Z ( l ) = ∂ J ∂ A ( l ) ⋅ ∂ A ( l ) ∂ Z ( l ) \delta^{(l)} = \frac{\partial J}{\partial Z^{(l)}} = \frac{\partial J}{\partial A^{(l)}} \cdot \frac{\partial A^{(l)}}{\partial Z^{(l)}} δ(l)=Z(l)J=A(l)JZ(l)A(l)

  2. 其中:

    • ∂ A ( l ) ∂ Z ( l ) = σ ′ ( Z ( l ) ) \frac{\partial A^{(l)}}{\partial Z^{(l)}} = \sigma'(Z^{(l)}) Z(l)A(l)=σ(Z(l))
    • ∂ J ∂ A ( l ) = ( W ( l + 1 ) ) ⊤ δ ( l + 1 ) \frac{\partial J}{\partial A^{(l)}} = (W^{(l+1)})^{\top} \delta^{(l+1)} A(l)J=(W(l+1))δ(l+1)
  3. 最终得到第 L-1 层的误差项:
    δ ( L − 1 ) = σ ′ ( Z ( L − 1 ) ) ⋅ ( W ( L ) ) ⊤ δ ( L ) \delta^{(L-1)} = \sigma'(Z^{(L-1)}) \cdot (W^{(L)})^{\top} \delta^{(L)} δ(L1)=σ(Z(L1))(W(L))δ(L)

第 L-1 层的误差是由第 L 层的权重矩阵和误差项传递,并与第 L-1 层激活函数的导数相乘得到的。

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

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

相关文章

计算机网络 (19)扩展的以太网

前言 以太网(Ethernet)是一种局域网(LAN)技术,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网技术不断演进,从最初的10Mbps到如今的10Gbps、25Gbps、40Gbps、100Gbps等,已成…

JavaVue-Get请求 数组参数(qs格式化前端数据)

前言 现在管理系统,像若依,表格查询一般会用Get请求,把页面的查询条件传递给后台。其中大部分页面会有日期时间范围查询这时候,为了解决请求参数中的数组文件,前台就会在请求前拦截参数中的日期数组数据,然…

.e01, ..., .e0n的分卷压缩包怎么解压

用BandiZip,这些分卷压缩中还有一个.exe的文件,这个不是可执行文件,是一个解压缩的开头。 安装好bandiZip后,右键这个.exe文件 点击打开就是开始解压了: 最后解压后是这些。然后一个个再次解压.

库伦值自动化功耗测试工具

1. 功能介绍 PlatformPower工具可以自动化测试不同场景的功耗电流,并可导出为excel文件便于测试结果分析查看。测试同时便于后续根据需求拓展其他自动化测试用例。 主要原理:基于文件节点 coulomb_count 实现,计算公式:电流&…

大模型 LangChain 开发框架:Runable 与 LCEL 初探

大模型 LangChain 开发框架:Runable 与 LCEL 初探 一、引言 在大模型开发领域,LangChain 作为一款强大的开发框架,为开发者提供了丰富的工具和功能。其中,Runnable 接口和 LangChain 表达式语言(LCEL)是构…

【Jboss/Windows】Tomcat 8 + JDK 8 升级为 Jboss eap 7 + JDK8

文章目录 下载Jboss eap 7安装包执行standalone.bat修改jdk8不兼容的一些内存空间参数查看端口是否被占用解决端口占用环境变量配置修改项目中的pom文件配置Jboos启动项本地localhost启动测试 更多相关内容可查看 下载Jboss eap 7安装包 Jboss EAP:JBoss Enterpris…

aardio —— 改变按钮文本颜色

import win.ui; /*DSG{{*/ var winform win.form(text"改变按钮颜色示例";right279;bottom239;composited1) winform.add( button{cls"button";text"点这里1";left16;top104;right261;bottom159;fontLOGFONT(h-14);z1}; button2{cls"butto…

Elasticsearch操作笔记版

文章目录 1.ES索引库操作(CRUD)1.mapping常见属性(前提)2.创建索引库3.查询,删除索引库4.修改索引库 2.ES文档操作(CRUD)1.新增文档2.查询、删除文档查询返回的数据解读: 3.修改文档 3.RestClient操作(索引库/文档)(CRUD)1.什么是RestClient2.需要考虑前…

【狂热算法篇】解锁数据潜能:探秘前沿 LIS 算法

嘿,各位编程爱好者们!今天带来的 LIS 算法简直太赞啦 无论你是刚入门的小白,还是经验丰富的大神,都能从这里找到算法的奇妙之处哦!这里不仅有清晰易懂的 C 代码实现,还有超详细的算法讲解,让你轻…

【漫话机器学习系列】033.决策树回归(Decision Tree Regression)

决策树回归(Decision Tree Regression) 决策树回归是一种基于树状结构进行回归分析的监督学习方法。它将输入空间递归地划分为多个区域,并在每个区域内拟合一个简单的常数值,从而对目标变量进行预测。 决策树回归的原理 树的构建…

Vue3中使用 Vue Flow 流程图方法

效果图: 最近项目开发时有一个流程图的功能,需要做流程节点的展示,就搜到了 Vue Flow 这个插件,这个插件总得来说还可以,简单已使用,下边就总结一下使用的方法: Vue Flow官网:https…

ArcGIS JSAPI 高级教程 - 通过RenderNode实现视频融合效果(不借助三方工具)

ArcGIS JSAPI 高级教程 - 通过RenderNode实现视频融合效果(不借助三方工具) 核心代码完整代码在线示例地球中展示视频可以通过替换纹理的方式实现,但是随着摄像头和无人机的流行,需要视频和场景深度融合,简单的实现方式则不能满足需求。 三维视频融合技术将视频资源与三维…

Appllo学习

补充学习: Apollo管理多环境下的配置和踩坑实践 - 简书 Apollo-阿波罗配置中心超详细教程_apllo-CSDN博客 springboot本地local配置覆盖远程Apollo配置(含Apollo配置加载顺序说明)_本地覆盖apollo配置-CSDN博客 Apollo 配置中心详细教程 - 简书 (包含…

React18路由和Vue3路由进行对比

本文将深入比较 React 18 和 Vue 3 路由的不同之处,帮助你更好地理解如何在这两个框架中进行路由管理。希望能对于从 Vue 3 迁移到 React 的开发者,理解这些差异,帮助你更高效地切换框架和构建应用。 1. 路由配置 React 18 的路由配置 Rea…

Windows系统下载、部署Node.js与npm环境的方法

本文介绍在Windows电脑中,下载、安装并配置Node.js环境与npm包管理工具的方法。 Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,其允许开发者使用JavaScript编写命令行工具和服务器端脚本。而npm(Node Package Manager)则…

浏览器选中文字样式

效果 学习 Chrome: 支持 ::selection。Firefox: 支持 :-moz-selection 和 ::selection。Safari: 支持 ::selection。Internet Explorer: 支持 :-ms-selection。Microsoft Edge: 支持 ::-ms-selection 和 ::selection。 代码 <!DOCTYPE html> <html lang"en&qu…

指代消解:自然语言处理中的核心任务与技术进展

目录 前言1. 指代消解的基本概念与分类1.1 回指与共指 2. 指代消解的技术方法2.1 端到端指代消解2.2 高阶推理模型2.3 基于BERT的模型 3. 事件共指消解&#xff1a;跨文档的挑战与进展3.1 联合模型3.2 语义嵌入模型&#xff08;EPASE&#xff09; 4. 应用场景与前景展望4.1 关键…

CDPHudi实战-集成spark

[一]使用Spark-shell 1-配置hudi Jar包 [rootcdp73-1 ~]# for i in $(seq 1 6); do scp /opt/software/hudi-1.0.0/packaging/hudi-spark-bundle/target/hudi-spark3.4-bundle_2.12-1.0.0.jar cdp73-$i:/opt/cloudera/parcels/CDH/lib/spark3/jars/; done hudi-spark3.4-bu…

leetcode:面试题 17.01. 不用加号的加法(python3解法)

难度&#xff1a;简单 设计一个函数把两个数字相加。不得使用 或者其他算术运算符。 示例: 输入: a 1, b 1 输出: 2 提示&#xff1a; a, b 均可能是负数或 0结果不会溢出 32 位整数 题解&#xff1a; class Solution:def add(self, a: int, b: int) -> int:sum_list [a…

设计模式 结构型 适配器模式(Adapter Pattern)与 常见技术框架应用 解析

适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将一个类的接口转换成客户端所期望的另一个接口&#xff0c;从而使原本因接口不兼容而无法一起工作的类能够协同工作。这种设计模式在软件开发中非常有用&#xff0c;尤其是在需要集成…