tokenize
一、 背景与基础在使用GPT BERT模型输入词语常常会先进行tokenize ,tokenize具体目标与粒度是什么呢?tokenize也有许多类别及优缺点,这篇文章总结一下各个方法及实际案例。tokenize的目标是把输入的文本流,切分成一个个子串,每个子串相对有完整的语义,便于学习embedding表达和后续模型的使用。二、切分粒度tokenize有三种粒度:word/subword/char1.词粒度-word词粒度的切分就跟人类平时理解文本原理一样,常常用一些工具来完成,例如英文的NLTK、SpaCy,中文的jieba、LTP等。举个栗子:英文live in Ne- 阅读剩余部分 -
机器学习中的正则化,L1 L2正则
一、重点:L1 正则化会得到稀疏解(有的参数为0,有的参数值比较大),可用作特征选择。L2 正则化会得到趋于0的解(参数值都趋向比较小的值),起到防止过拟合的作用。二、正则化为什么能防止过拟合数据集中的噪声点往往需要比较大的w值来拟合,也就是说w越大,模型的曲线越“陡峭”,因而网络模型能够更好得拟合噪声点,但也引起了过拟合。在l1正则化中,某些权值刚好为0,说明某些特征被模型完全忽略。这可以看作是一种自动的特征选择。某些权值刚好为0,这样模型更容易解释,也可以呈现模型最重要的特征。在l2正则化中,权值w会随着迭代衰减,当w很小时意味着该神经网络模型中的某些神经元实际的作用很- 阅读剩余部分 -
Ernie-1.0算法
一、 ERNIE-B的掩码机制ERNIE-B的掩码机制如图1所示,它由BERT的随机掩码再加前面我们介绍的短语级别掩码和实体级别掩码。图1:ERNIE-B的三种掩码基本级别掩码(Basic-Level Masking):这里采用了和BERT完全相同的掩码机制,在进行中文语料时,这里使用的是字符级别的掩码。在这个阶段并没有加入更高级别的语义知识。短语级别掩码(Phrase-Level Masking):在这个阶段,首先使用语法分析工具得到一个句子中的短语,例如图1中的“a serious of”,然后随机掩码掉一部分,并使用剩下的对这些短语进行预测。在这个阶段,词嵌入中加入了- 阅读剩余部分 -
hard-mining和magnet
一、hard-mining二、magnet
各向异性
一、定义各向异性(Anisotropic) 的概念在BERT-flow的文章中有明确的定义:(1)“Anisotropic” means word embeddings occupy a narrow cone in the vector space.翻译过来就是:“各向异性”表示词嵌入在向量空间中占据了一个狭窄的圆锥形体。但这个定义有点过于场景化,实际上各向异性的表现形式并不一定是锥形。
SBert算法
一、背景这种结构使得 BERT 不适合语义相似度搜索,同样也不适合无监督任务,例如聚类解决聚类和语义搜索的一种常见方法是将每个句子映射到一个向量空间,使得语义相似的句子很接近
SimCse论文详解
背景句向量表征技术」一直都是NLP领域的热门话题,粗略来看分了几个时代:
xgboost算法
一、定义xgboost是华盛顿大学博士陈天奇创造的一个梯度提升(Gradient Boosting)的开源框架。至今可以算是各种数据比赛中的大杀器,被大家广泛地运用。
gbdt算法总结
一、定义GBDT(Gradient Boosting Decision Tree)(梯度提升决策树)定义:是为了解决一般损失函数的优化问题,
CART算法
一、定义CART全称为classification and regression tree,即分类与回归树。CART特征选择算法既可以用于分类树也可以用于回归树。CART是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。CART假设决策树是二叉树,内部节点特征的取值为“是”和“否”。这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输入给定的条件下输出的条件概率分布。
决策树
决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得对各个子数据集有一个最好的分类的过程。一、决策树单树作为所有集成树的基数,主要有三种:1.ID3 (分类树)2.C4.5(分类树)3.CART(回归树)
交叉熵损失(Cross-entropy)和平方损失(MSE)究竟有何区别
一、概念区别1. 均方差损失函数(MSE)简单来说,均方误差(MSE)的含义是求一个batch中n个样本的n个输出与期望输出的差的平方的平均值2. Cross-entropy(交叉熵损失函数)交叉熵是用来评估当前训练得到的概率分布与真实分布的差异情况。它刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近。为什么分类用交叉熵损失不用平分损失1.交叉熵loss权重更新更快 mse:梯度更新表达式包含激活函数的导数
交叉熵:交叉熵损失函数关于输入权重的梯度表达式与预测值与真实值的误差成正比且不含激活函数的梯度2.MSE是非凸- 阅读剩余部分 -
数据结构与算法相关连接
一、代码随想录https://github.com/youngyangyang04/leetcode-master
ner目前sota方法
https://blog.csdn.net/u014577702/article/details/121373289https://zhuanlan.zhihu.com/p/479707153test
点乘、矩阵相乘-torch.mul() 、 torch.mm() 及torch.matmul()的区别
torch的乘积分两种一、点乘点乘都是broadcast的,可以用torch.mul(a, b)实现,也可以直接用*实现。要求a,b有相同的维度二、矩阵相乘矩阵相乘有torch.mm和torch.matmul两个函数。其中前一个是针对二维矩阵,后一个是高维。当torch.mm用于大于二维时将报错。a = [B,E] b = [E,B]c = torch.mm(a,b)C 维度是[B,B]
向量的余弦距离、欧式距离
一、余弦距离二、欧式距离
数组-动态规划
一、题目列表题目1、连续子数组和最大题目2、滑动窗口的最大值题目3、题目4、丑数
torch.norm
一、定义1.返回所给tensor的矩阵范数或向量范数2.范数本质上是一种距离二、常用1.最常用的就是做求2范数2.可以用来对向量做归一化三、代码def normalize(x, axis=-1):
"""Normalizing to unit length along the specified dimension.
Args:
x: pytorch Variable
Returns:
x: pytorch Variable, same shape as input
""- 阅读剩余部分 -
范数
一、定义我们知道距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。二、常用范数L-P范数与闵可夫斯基距离的定义一样,L-P范数不是一个范数,而是一组范数,其定义如下:常见范数有:L1-P范数1-范数:L2-P范数2-范数:在深度学习中,我们常用l2范数做特征归一化:def normalize(x, axis=-1):
"""Normalizing to unit length along the- 阅读剩余部分 -