基础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=(xmax−xmin)(xi−xmin)
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 有两个问题,…...
使用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爬虫之爬取网页图片
当我们想要下载网页的图片时,发现网页的图片太多了,无从下手,那我们写一个脚本来爬取呗。 这次的脚本是专门针对某个外国网站使用的,因此仅供参考思路。 在测试的过程中,我发现网站使用了发爬虫机制,具体就…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
可靠性+灵活性:电力载波技术在楼宇自控中的核心价值
可靠性灵活性:电力载波技术在楼宇自控中的核心价值 在智能楼宇的自动化控制中,电力载波技术(PLC)凭借其独特的优势,正成为构建高效、稳定、灵活系统的核心解决方案。它利用现有电力线路传输数据,无需额外布…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
PHP 8.5 即将发布:管道操作符、强力调试
前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
