![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NLP
文章平均质量分 78
介绍NLP相关的模型及优化方法
Bingoyear
自信人生二百年,会当击水三千里。
展开
-
chain的不同调用方法
chain.invoke(context)只可传入一个参数,若传入多个参数,利用chain.invoke({‘context’: context, ‘num’:num})返回dict形式,通过添加, return_only_outputs=True,可以只返回text键。chain.run(context)这种形式只用于传入一个参数,若传入多个参数,调用形式如下。chain(context)只可传入一个参数,若传入多个参数,调用形式如下。单个或者多个输出参数,调用方式都如下,其他方式出错。原创 2024-06-19 14:28:38 · 254 阅读 · 0 评论 -
PaLM中ROPE位置编码实现源码解析
可于下面链接中LLaMA中ROPE实现做对比。,拆解后可以得到下式。原创 2023-08-25 10:31:26 · 848 阅读 · 0 评论 -
LLaMA中ROPE位置编码实现源码解析
1、Attention中q,经下式,生成新的q。m为句长length,d为embedding_dim/head。2、LLaMA中RoPE源码。原创 2023-08-24 16:26:51 · 1954 阅读 · 0 评论 -
ChatGLM的模型架构
ChatGLM的部署微调等,很多资料,不再赘述。原创 2023-06-08 11:05:57 · 4365 阅读 · 2 评论 -
交叉熵损失公式与手动计算
1、交叉熵损失函数交叉熵的公式有多种形式,一般写作loss=−1n∑j=1nyjlnaj(∗∗)loss=-\frac{1}{n}\sum_{j=1}^{n}y_jlna_j (**)loss=−n1j=1∑nyjlnaj(∗∗)lossj=−yjlnaj(1)loss_j=-y_jlna_j (1)lossj=−yjlnaj(1)lossjloss_jlossj表示第j个样本的损失。aja_jaj表示softmax函数输出。yjy_jyj表示第j个样本的真实标签,为o原创 2020-07-30 10:39:07 · 3848 阅读 · 0 评论 -
NLP中的基本网络
nlp中的文本,基本都可以表示为[ batch, seq, embed_dim] 的形式CNN一般使用一维卷积,因为一维卷积变换的是最后一个维度,所以变换文本形状为 [batch, embed_dim, seq]。# 一维卷积是在最后一个维度进行m = nn.Conv1d(in_channels=16, out_channels=33, kernel_size=3, stride=2)...原创 2020-03-11 14:53:24 · 1433 阅读 · 0 评论 -
论文笔记: Medical Exam Question Answering with Large-scale Reading Comprehension
S为[question, 候选answer]拼接的集合,D={D_1, D_2, … , D_N}为文档集合。L_Q:question与候选answer中的最大长度L_D: 为文档D中的最大长度Dual-path attention layerContex layer层的输出为S:[L_Q, d]、D_i:[L_D, d]Dn(j)D_n(j)Dn(j)表示与候选S相关的第n篇文档中的...原创 2020-03-10 10:25:58 · 292 阅读 · 0 评论 -
Attention中softmax的梯度消失及scaled原因
在bert模型中的attention构造中Q:[batch, 12, seq, dk]K:[batch, 12, seq, dk]softmax中的梯度消失 x=(a,a,2a,4a)x=(a, a, 2a, 4a)x=(a,a,2a,4a), a>0a>0a>0,...原创 2020-03-09 20:15:36 · 4264 阅读 · 1 评论 -
dropout实现过程
1、dropout可以用来防止过拟合pytorch中实现如下:m = nn.Dropout(p=0.2)input = torch.randn(2, 5)print()output = m(input)print(input)print(output)输出如下实际上,dropout不只mask掉某个位置的数,而且还将保留的数进行缩放,缩放比例为p1−p{\frac{p}{1...原创 2020-03-25 18:15:40 · 957 阅读 · 0 评论 -
NLP中激活函数的理解
1、激活函数将线性变换转变成非线性。Y=σ(XW+b)Y=\sigma(XW+b)Y=σ(XW+b)XW+bXW+bXW+b是在X基础上做的线性变换,总体来说做的平移、旋转和缩放,加入激活函数后,变换是非线性的。2、以ReLU函数为例ReLU(x)={0,x<0x,x≥0ReLU(x)=\left\{ \begin{aligned} 0&, x < 0 \\ ...原创 2020-07-31 21:12:45 · 255 阅读 · 0 评论 -
NLP中MLP线性层的理解
1、给定某变量X([batch_size, seq_len, input_dim]),经过线性层Y=XW+b{Y=XW+b }Y=XW+b W维度[input_dim, out_dim],b维度[out_dim],Y维度为[batch_size, seq_len, out_dim]。 假定input_dim=...原创 2020-07-31 21:12:06 · 2286 阅读 · 0 评论 -
指标解读:precision和recall
二分类时,两指标比较常用正样本(l=1)的指标如下precision=(l=1,p=1)/(p=1)recall=(l=1,p=1)/(l=1)其中precision表示label=1且pre=1的样本/pre=1的样本,precision越高,代表训练越关注负样本。recall表示label=1且pre=1的样本/label=1的样本,recall越高,代表训练时越关注正样本。pre...原创 2019-12-03 17:22:46 · 1657 阅读 · 0 评论