当前位置: 首页 > 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爬虫之爬取网页图片

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

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

dify打造数据可视化图表

一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难,相信大家会学的很愉快,当然对于有后端基础的朋友来说,本期内容更加容易了解,当然没有基础的也别担心,本期内容会详细解释有关内容 本期用到的软件:yakit(因为经过之前好多期…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...