当前位置: 首页 > news >正文

基础NLP知识了解

基础NLP知识…

线性变换

通过一个线性变换将隐藏状态映射到另一个维度空间,以获得预期维度的向量

$ outputs = hidden_layer * W + b$

这里的W是权重矩阵,b是偏置项,它们是线性变换的参数,通过训练数据学习得到。输出向量的维度由W的形状决定,如果我们想要得到一个维度为dim的多分类向量,那么W的形状应该是(hidden_state_size, dim)

为了引入非线性,可能会在线性变换后应用一个激活函数,如Softmax。对于多分类问题,Softmax激活函数特别有用,因为它可以将输出向量转换为概率分布

$ probabilities = F.softmax(output, dim=-1)$

标准化和归一化(都是为了数据缩放):

标准化:标准化缩放数据集为均值为0,标准化差为1,$x_{new} = \frac{(x_i-\mu)}{\sigma} $, μ \mu μ是均值, σ \sigma σ是标准差

归一化:让每个元素落在0~1之间, x n e w = ( x i − x m i n ) ( x m a x − x m i n ) x_{new}=\frac{(x_i-x_{min})}{(x_{max}-x_{min})} xnew=(xmaxxmin)(xixmin)

BERT

在BERT(Bidirectional Encoder Representations from Transformers)模型中,[CLS]是一个特殊的标记(token),其全称为“classification token”。它主要用于分类任务中,作为整个输入序列的表示。[CLS]标记对应的最终隐藏状态被用作整个输入序列的聚合表示。在进行分类任务时,[CLS]所在位置的输出会被用来做最终的分类决策。

[SEP]用于分割句子

交叉熵(两个概率分布之间的相似性)

公式: H ( P , Q ) = − ∑ x P ( x ) l o g Q ( x ) H(P,Q)=-\sum_x P(x)logQ(x) H(P,Q)=xP(x)logQ(x)​, P ( x ) P(x) P(x)是真实的概率分布, Q ( x ) Q(x) Q(x)​是预测的概率分分布

用途:计算loss,用于表示真实分布和预测分布之间的差异

性质:非负;对称

KL散度(相对熵,用来衡量两个分布之间的差异,当用一个分布Q来拟合真实分布P时所需要的额外信息的平均量。)

公式: D K L ( P , Q ) = ∑ x P ( x ) l o g P ( x ) Q ( x ) D_{KL}(P,Q)=\sum_x P(x)log\frac{P(x)}{Q(x)} DKL(P,Q)=xP(x)logQ(x)P(x) P ( x ) P(x) P(x)是真实的概率分布, Q ( x ) Q(x) Q(x)​是预测的概率分分布

性质:非负;不对称;不满足交换律

用途:一般用于无监督学习

对比学习(需要继续补充)

是一种机器学习技术,用于区分相似和不相似的数据点。训练最大化相似数据点之间的相似度。

batch_size和桶之间的关系:

batch_size指的是每次训练过程中,模型同时处理的数据样本的数量。较小的batch_size可以减少内存消耗并可能提高模型训练的泛化能力,而较大的batch_size可以提高数据处理效率和模型训练速度;桶是按照句子的特征进行分类,例如我们常用的是句子的长度,将句子长度相似的分配到一个桶里,这样可以在填充操作的时候少填充一些,提高计算的效率;在没有桶的时候,batch_size决定每个批次中的样本数,引入了桶之后,将样本分配到桶里,然后再在每个桶里面根据batch_size进行划分。

权重衰减:

在loss里面添加一个惩罚项来限制模型的复杂度,常被称为L2正则化。他本质上就是缩小了参数的取值范围
loss的可视化工具:animator
网络.weight.norm().item()用于计算权重的正则化

GloVe:生成的词向量是静态的,训练基于无监督学习,通过全局共现统计信息来优化词向量。它的模型结构相对简单,主要侧重于词与词之间的共现关系

ELMo:生成的词向量是动态的,根据词出现的具体上下文而变化。这使得ELMo能够更准确地表示语言,尤其是对于多义词和语境依赖的表达。使用深度学习方法,具体是通过双向LSTM来预训练一个语言模型。ELMo的训练复杂度较高,但能够捕捉到更丰富的语言特征。

Highway connection(高速连接)是一种神经网络架构,特别是在深度学习中使用的技术,旨在解决更深网络的训练难题。它由Srivastava等人在2015年提出,其核心思想是允许训练信号不经过整个网络的每一层直接传递,类似于残差网络(ResNet)中的跳跃连接(skip connection),但是在传递方式上有所不同。

Highway网络的主要特点是它引入了门控机制(gating mechanism),这些门控制了信息是直接传递还是经过非线性变换。具体来说,每一层的输出不仅取决于当前层的处理结果,还取决于前一层的输入,这种依赖关系由两个门(transform gate和carry gate)来调控。这使得网络能够自适应地决定在每一层保留多少之前层的信息,以及通过非线性变换传递多少新的信息。

相关文章:

基础NLP知识了解

基础NLP知识… 线性变换 通过一个线性变换将隐藏状态映射到另一个维度空间,以获得预期维度的向量 $ outputs hidden_layer * W b$ 这里的W是权重矩阵,b是偏置项,它们是线性变换的参数,通过训练数据学习得到。输出向量的维度…...

Android 性能优化(六):启动优化的详细流程

书接上文,Android 性能优化(一):闪退、卡顿、耗电、APK 从用户体验角度有四个性能优化方向: 追求稳定,防止崩溃追求流畅,防止卡顿追求续航,防止耗损追求精简,防止臃肿 …...

QT程序打包

将exe文件单独拿出来放入一个单独的文件夹 保存qt安装路径下有如下这个文件 windeployqt.exe 在TCPFile.exe文件夹中使用以下cmd命令运行 即可打包 windeployqt 文件名.exe 成功打包!...

ARMday7作业

实现三个按键的中断,现象和代码 do_ipr.c #include "stm32mp1xx_gic.h" #include "stm32mp1xx_exti.h" extern void printf(const char *fmt, ...); unsigned int i 0; void do_irq(void) {//获取要处理的中断的中断号unsigned int irqnoGI…...

Unity构建详解(4)——SBP的依赖后处理

【AddHashToBundleNameTask】 这个Task的作用很明确,给Bundle的名字附加一个Hash值: 根据bundle所包含的asset计算出来一个hash值添加在原来Bundle的末尾替换了BundleBuildContent.BundleLayout和aa.bundleToAssetGroup中的key 有两个问题&#xff0c…...

使用GO对PostgreSQL进行有意思的多线程压测

前言 针对PostgreSQL进行压缩,有很多相关的工具。有同学又要问了,为何还要再搞一个?比如,pgbench, sysbench之类的,已经很强大了。是的,它们都很强大。但有时候,在一些特殊的场景,可…...

CI/CI实战-jenkis结合gitlab 4

实时触发 安装gitlab插件 配置项目触发器 生成令牌并保存 配置gitlab 测试推送 gitlab的实时触发 添加jenkins节点 在jenkins节点上安装docker-ce 新建节点server3 安装git和jdx 在jenkins配置管理中添加节点并配置从节点 关闭master节点的构建任务数...

修复ubuntu引导

一、制作ubuntu启动U盘 进入启动盘后,点击Try ubuntu,进入U盘的ubuntu系统。 二、配置和添加源 sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update三、运行 Boot Repair重新制作引导 sudo boot-repair注意&#x…...

11.Notepad++

文章目录 一、下载和安装设置练习 以前在记事本上写的代码看上去有点累,因为所有的单词看上去都是黑色的,并且当代码出现问题后,它提示第三行,我们还需要一行一行去数。这些问题都可以由一个高级记事本: Notepad 来解…...

实现阻塞队列

import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; import java.util.concurrent.LinkedBlockingQueue; public class Main  { public static void main(String[] args) throws InterruptedException { BlockingQue…...

MySQL8.X驱动datetime映射问题

MySQL8.X驱动datetime映射问题 背景:项目由SSM项目迁移至SpringBoot,对mysql数据库驱动进行了升级导致出现问题。 原因:mysql驱动的8.X版本对数据库类型datetime映射为LocalDateTime。 解决:暂时不升级mysql驱动,mys…...

【Selenium】隐藏元素的定位和操作|隐藏与isDisplay方法

一、selenium 中隐藏元素如何定位? 如果单纯的定位的话,隐藏元素和普通不隐藏元素定位没啥区别,用正常定位方法就行了 但是吧~~~能定位到并不意味着能操作元素(如click,clear,send_keys) 二、隐藏元素 如下图有个输入框…...

视图的作用

目录 视图的作用 创建视图 为 scott 分配创建视图的权限 查询视图 复杂视图的创建 视图更新的限制问题 更新视图中数据的部门编号(视图的存在条件) 限制通过视图修改数据表内容 创建只读的视图 复杂视图创建 oracle从入门到总裁:​​​​​​h…...

动态ip白名单频繁更改问题解决方案

1. 使用静态IP地址:可以通过向ISP申请静态IP地址来解决动态IP地址的变化问题,但是这种方法会比较贵。 2. 使用动态DNS:可以使用动态DNS服务,它可以将动态IP地址映射到一个固定的域名,从而使得动态IP地址处理为域名一直…...

什么是物联网监控平台?部署物联网平台有什么作用?

随着物联网技术的飞速发展,越来越多的企业开始关注并投入到这一领域。物联网监控平台作为连接物理世界与数字世界的桥梁,正逐渐成为企业数字化转型的关键组件。今天,我们将深入探讨物联网监控平台的定义、部署物联网平台的作用,以…...

netty构建udp服务器以及发送报文到客户端客户端详细案例

目录 一、基于netty创建udp服务端以及对应通道设置关键 二、发送数据 三、netty中的ChannelOption常用参数说明 1、ChannelOption.SO_BACKLOG 2、ChannelOption.SO_REUSEADDR 3、ChannelOption.SO_KEEPALIVE 4、ChannelOption.SO_SNDBUF和ChannelOption.SO_RCVBUF 5、Ch…...

Selenium 学习(0.22)——软件测试之小结

Junit 等一系列自动化工具不用啰嗦了,自己就是小白再搞科普就装了。 把后面相关内容看了一下,使用这些测试工具一样编写代码(驱动模块【调用接口的代码片段】,桩模块【响应输出结果的代码片段,也就是被测模块调用的模块…...

贪心算法问题

分发饼干-455 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有…...

深入理解 @Transactional 注解在 Spring 中的应用

前言:在 Java 开发中,事务管理是非常重要的一环。Spring 框架提供了Transactional注解来简化事务管理的操作,本文将深入介绍Transactional注解的用法,并结合代码示例进行详细讨论。 1.Transactional 注解简介 Transactional注解是…...

Python爬虫之爬取网页图片

当我们想要下载网页的图片时,发现网页的图片太多了,无从下手,那我们写一个脚本来爬取呗。 这次的脚本是专门针对某个外国网站使用的,因此仅供参考思路。 在测试的过程中,我发现网站使用了发爬虫机制,具体就…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

HBuilderX安装(uni-app和小程序开发)

下载HBuilderX 访问官方网站&#xff1a;https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本&#xff1a; Windows版&#xff08;推荐下载标准版&#xff09; Windows系统安装步骤 运行安装程序&#xff1a; 双击下载的.exe安装文件 如果出现安全提示&…...

C++.OpenGL (10/64)基础光照(Basic Lighting)

基础光照(Basic Lighting) 冯氏光照模型(Phong Lighting Model) #mermaid-svg-GLdskXwWINxNGHso {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-GLdskXwWINxNGHso .error-icon{fill:#552222;}#mermaid-svg-GLd…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

前端开发面试题总结-JavaScript篇(一)

文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包&#xff08;Closure&#xff09;&#xff1f;闭包有什么应用场景和潜在问题&#xff1f;2.解释 JavaScript 的作用域链&#xff08;Scope Chain&#xff09; 二、原型与继承3.原型链是什么&#xff1f;如何实现继承&a…...