【阅读笔记】机器阅读理解(中)——架构篇
文章目录
- 一、MRC模型架构
- 总体架构
- 编码层
- 词表向量
- 字符编码
- 上下文编码
- 交互层
- 互注意力
- 自注意力
- 上下文编码
- 输出层
- 多项式选择答案生成
- 区间式答案
- 自由式答案生成
- 注意力机制的应用
- 拷贝生成机制
- 二、常见MRC模型
- BiDAF
- R-net
- 融合网络
- 单词历史
- 全关注注意力
- 总体架构
- 关键词检索与阅读模型(ET-RR)
- 检索器
- 阅读器
- 三、预训练模型与迁移学习
- 基于翻译的PTM——CoVe
- 基于语言模型的ELMo
- 生成式PTM——GPT
- transformer
- 多头注意力
- 位置编码
- 残差网络
- GPT本身
- 划时代的BERT
- 双向语言模型
- NSP
- 具体任务
- BERT的改进措施【重要】
一、MRC模型架构
总体架构
在交互层,模型需要建立文章和问题之间的联系。比如问题出现“河流”,而文章中出现关键词“长江”,虽然两个词完全不一样,但是其语义编码相近,因此文章中“长江”一词,以及它附近的语句将成为模型回答问题时的重点关注对象。
大部分阅读理解的创新集中在交互层,因为这一层中对文章和问题语义的交叉分析有很多不同的处理方式,而且这也是模型最终能产生正确答案的关键步骤。
编码层
编码层生成单词编码可以包括:词表向量、NE向量、POS向量、字符编码、精确匹配编码和上下文编码。
词表向量
有两种方式获得词表中的单词向量:
- 保持词表向量不变,即采用预训练词表中的向量,在训练过程中不进行改变
- 将词表中的向量视为参数,在训练过程中和其他向量一起求导并优化
第一种选择的优势是模型参数少,训练初期收敛较快;后者可以根据实际数据调整词向量的值,以达到更好的训练效果。
在编码层中,为了准确表示每个单词在语句中的语义,除了词表向量化外,还经常对NE和POS进行向量化处理。如建立命名实体表(其实就是矩阵,N*dN,N是NE种类),词性表(P * dP),两个表中的向量均是可训练的参数。然后用文本分析软件比如Spacy获得文章和问题中的每个词的NE和POS,在将对应向量拼接在词向量之后。由于一个词的POS和NE和所在语句有关,因此用这种方式获得的向量编码可以更好地表达单词的雨衣,在许多模型中对性能都有明显的提升!
另一种在MRC里常见的单词编码是精确匹配编码,对于文章中的单词w,检查w是否出现在问题中,如果是则w精确匹配编码为1,否则为0,然后将这个二进制位拼接在单词向量后。由于单词可能有变体,所以也可以用另一个二进制位表示w的词干是否和问题中某些词的词干一致。精确匹配编码可以使模型快速找到文章中出现了问题单词的部分,而许多问题的答案往往就在这部分内容的附近。
字符编码
在单词理解中,字符和子词具有很强的辅助作用。通过字符组合往往可以识别正确的单词形式(纠错)。为了得到固定长度的字符向量编码,最常用的模型是字符CNN。
设一个单词有K个字符,对应K个字符向量,每个向量维度为c。字符CNN利用一个窗口大小为W且有f个输出通道的CNN,获得(K-W+1)个f维向量。然后利用最大池化,求得这些向量每个维度上的最大值,形成一个f维向量作为结果。
"""
首先需要合并前两个维度batch和seq_len形成三维数据输入标准CNN网络,
然后将输出中第一维展开回两维,得到batch, seq_len, out_channels三个维度,
即每个单词得到个out_channels维字符向量
new_seq_len = word_len - window_size + 1
"""
class Char_CNN_Maxpool(nn.Module):def __init__(self, char_num, char_dim, window_size, out_channels):super(Char_CNN_Maxpool, self).__init__()self.char_embed = nn.Embedding(char_num, char_dim)# 1个输入通道,out_channels个输出通道,过滤器大小self.cnn = nn.Conv2d(1, out_channels, (window_size, char_dim))def forward(self, char_ids):"""输入:为每个单词里的字符编码char_ids,共4维,包括batch,seq_len,单词中字符个数word_len和字符向量长度char_dimchar_ids: (batch, seq_len, word_len),每个词含word_len个字符编号(0~char_num-1)输出:(batch*seq_len * out_channels)"""x = self.char_embed(char_ids)# x: (batch * seq_len * word_len * char_dim )x_unsqueeze = x.view(-1, x.shape[2], x.shape[3]).unsqueeze(1) # x_unsqueeze: ((batch*seq_len) * 1 * word_len * char_dim )x_cnn = self.cnn(x_unsqueeze)# x_cnn:((batch*seq_len) * out_channels * new_seq_len * 1)x_cnn_result = x_cnn.squeeze(3)# x_cnn_result : ((batch*seq_len) * out_channels * new_seq_len),删除最后一维res, _ = x_cnn_result.max(2)# 最大池化,得到:((batch*seq_len) * out_channels)return res.view(x.shape[0], x.shape[1], -1) # (batch*seq_len * out_channels)
上下文编码
编码层需要为每个单词生成上下文编码(contextual embedding),这种编码会随着单词的上下文不同而发生改变,从而反映出单词在当前语句中的含义。
RNN是最常用的上下文编码生成结构。
交互层
交互层可以交替使用互注意力、自注意力、上下文编码。通过这些步骤的反复使用,可以使模型更好理解单词、短语、句子、片段以及文章的语义信息,同时融入对问题的理解,从而提高预测答案的准确度。
随着交互层结构复杂化,容易导致参数过多、模型过深,引起梯度消失、梯度爆炸、难以收敛或过拟合等不利于模型优化的现象。因此,一般建议可以从较少的层数开始,逐渐增加注意力和上下文编码的模块,同时配合采用Dropout、梯度裁减等辅助手段加速优化进程。
互注意力
为了对文章的单词向量、问题的单词向量两部分的语义进行交互处理,一般采用注意力机制。
在MRC中,可以用注意力机制计算从文章到问题的注意力向量:基于对文章第i个词pi的理解、对问题单词向量组(q1,…,qn)的语义总结,得到一个向量piq,是向量组Q的线性组合,即从单词向量pi的角度对单词向量组Q=(q1,…,qn)进行总结,从而得到Q所代表的语句与单词pi相关的部分信息,其中与pi相关的Q中单词获得相对大的权重。
从图可知,交互注意力的结果向量个数是文章单词的个数m,而维度是问题单词的编码长度qi。
用类似的方法也可以得到从问题到文章的注意力向量qip,这可以使模型在理解每个问题单词语义的同时兼顾对文章的理解。上两种方式的注意力机制统称 互注意力。
注意力机制通过注意力函数对向量组Q中的所有向量打分。一般而言,注意力函数需要反映pi和每个向量qj的相似度。常见的注意力函数有:
- 内积函数,应用在pi和qj维度相同时。
- 二次型函数,可以在计算过程中加入参数,便于优化
- 加法形式函数
- 双维度转换函数,此函数将文章和问题单词向量转化到低纬度进行相乘,减少了参数个数。
自注意力
在一些文章中,要获得答案需要理解文章中若干段相隔较远的部分,可以使用自注意力机制。这使得信息可以在相隔任意距离的单词间交互,大大提高信息传递效率。每个单词计算注意力向量的过程都是独立的,可以用并行计算提高运行速度。
下面算法**,使用参数矩阵W将原向量映射到隐藏层**,然后计算内积得到注意力分数。这样做的好处是可以在向量维度较大时通过控制隐藏层大小降低时空复杂度。
class SelfAttention(nn.Module):def __init__(self, dim, hidden_dim):super(SelfAttention, self).__init__()self.W = nn.Linear(dim, hidden_dim)def forward(self, x):hidden = self.W(x) # 计算隐藏层,结果为 batch * n * hidden_dimscores = hidden.bmm(hidden.transpose(1,2)) # batch * n * n alpha = F.softmax(scores, dim=-1) # 对最后一维softmaxattended = alpha.bmm(x) # 注意力向量,结果为batch x dimreturn attended
但是自注意力机制完全舍弃了单词的位置信息(单词的顺序和出现位置也会对语义产生影响),因此,自注意力可以和rnn同时使用。此外,还可以配合 位置编码,为自注意力加入单词的位置信息。
上下文编码
(见书)
输出层
为了从文章中生成答案,通常将问题作为一个整体与文章中的单词进行匹配运算。因此,需要用一个向量q表示整个问题,以方便后续处理。经过交互层的处理,向量q中已包含问题中所有单词的上下文信息,也包括了文章的信息。
多项式选择答案生成
为了预测正确答案,模型需要在输出层对每个选型计算一个分数,最后选取分数最大的选项作为输出。
设一共有K个选项,可以用类似于处理问题的方法分析每个选项的语义:对选项每个单词进行编码,在和问题和文章计算注意力向量,从而得到一个向量ck代表第k个选项的语义。然后,综合文章、问题与选项计算该选项的得分。这里可以灵活设计各选项得分的网络结构,下面给出两种网路结构:
- 得到一个表示文章的单一向量p,选项得分为sk=pTWcck + pTWq q。(也就是分别结合计算选项、问题)
- 对问题向量q和选项向量ck进行拼接,得到tk=[q; ck] ,然后将ti作为RNN的初试状态,计算(p1,p2,…pm)的RNN状态(h1,h2,…hm),利用最后位置的RNN状态hm和参数向量b的内积,得到选项得分sk=hTm b
因为是分类问题,所有使用交叉熵作为损失函数,fcross_entropy=-log(pk*)。
区间式答案
对于一篇长度为m的文章,可能的区间式答案有m(m-1)/2种。在SQuAD这种数据集上,标准答案长度一般不会太长,一般参赛队伍会设置为15个单词左右,但即使限定答案长度为L,可能区间答案扔有L*m种可能。所以模型预测的是始末位置。
可以看出,计算始末位置的过程是独立的。因此也有模型尝试在两个计算过程之间传递信息,比如FusionNet模型就让两个过程之间有了关联。
两者均为多分类任务,因此也可以用交叉熵损失函数:fcross_entropy=-log(p i* S) -log(p j*E) ,即2个多分类问题的交叉熵之和。模型在预测时需要找到概率最大的一组开始位置和结束位置:iR,jR=argmax PS i PE j。
"""
答案区间生成:
输入:prob_s是大小为m的开始位置概率,prob_e是大小为m的结束位置概率,均为一维pytorch张量
设文本共m个词,L为答案区间可以包含的最大单词数
输出:概率最高的区间在文本中的开始位置和结束位置
"""
def get_best_interval(prob_s, prob_e, L):prob = torch.ger(prob_s, prob_e)# 从两个一维输入向量生成矩阵,获得m*m的矩阵,其中prob[i,j]=prob_s[i] x prob_e[j]prob.triu_().tril_(L-1)# 上三角矩阵保证开始位置不晚于结束位置,tril_函数保证候选区间长度不大于L,对这2个操作取一个交集# 即如果i>j 或 j-i+1>L,设置prob[i,j]为0prob = prob.numpy()# 转为numpy数组best_start, best_end = np.unravel_index(np.argmax(prob), prob.shape)# 获得概率最高的答案区间在原数组中的索引,开始位置为第best_start个词,结束位置为第best_end个单词return best_start, best_end
自由式答案生成
模型输出层基本采用encoder-decoder模型。设词表大小为|V|,词表向量维度是d,建立大小为d*|V|的全连接层将h1 dec 转化为一个|V|维向量,表示模型对词表每个单词的打分。这些分数经过softmax可以得到预测概率P1,…Pv。一般来说,编码器的词表、解码器的词表、最终的全连接层共享其中的参数:大小均为d * |V| 或|V| * d,这样做既可以减少参数个数,还能大大提高训练效率和质量。
传入到第二个RNN单元的时候(第一个答案单词向量是文本开始位置标识符),输入单词向量取决于是否使用Teacher forcing
:如果使用,则使用标准答案的第一个单词,否则使用分数最高的单词——即模型预测的第一个词。
对于单词,一个提升准确率的技巧是,在模型最终输出答案时将所有生成答案里的用文章中随机选择的单词替换,这样可以去除的同时保证准确率不会下降。
注意力机制的应用
答案生成的各个位置的单词可能与文章中不同的片段有关,注意力机制也用在解码器中,在生成单词的时候提供文章的信息。
"""
解码器注意力机制
"""
class Seq2SeqOutputLayer(nn.Module):def __init__(self, embed, word_dim, vocab_size):super(Seq2SeqOutputLayer, self).__init__()self.emb = embedself.vocab_size = vocab_sizeself.encoder_rnn = nn.GRU(word_dim, word_dim, batch_first=True)self.decoder_rnncell = nn.GRUCell(word_dim, word_dim)# 将RNN状态和注意力向量的拼接结果降维成word_dim维self.combine_state_attn = nn.Linear(word_dim + word_dim, word_dim)self.linear = nn.Linear(word_dim, vocab_size, bias=False)self.linear.weight =embed.weightdef forward(self, x, q, y_id):"""x:交互层输出的文章单词向量,维度为 batch * seq_len * word_dimq: 交互层输出的问题向量,维度为 batch * word_dimy_id:真值输出文本的单词编号,维度为 batch * seq_len * word_dim输出预测的每个位置每个单词的得分为 word_scores,维度是 batch * y_seq_len * word_dim"""y = self.embed(y_id)# 文章每个位置的状态enc_states,结果维度是 batch * x_seq_len * word_dim# 最后一个位置的状态enc_last_states,维度是 1 * batch* word_dimenc_states, enc_last_state = self.encoder_rnn(x, q.unsqueeze(0)) # 问题q为初始状态# 解码器的初试状态为编码器的最后一个位置的状态,维度是 batch * word_dimprev_dec_state = enc_last_state.squeeze(0)# 最终输出为每个答案所有位置各种单词的得分scores = torch.zeros(y_id.shape[0], y_id.shape[1], self.vocab_size)for t in range(0, y_id.shape[1]):# 前一个状态和真值文本第t个词的向量表示,输入解码器RNN,得到新的状态,维度是 batch * word_dimnew_state = self.decoder_rnncell(y[:,t,:].squeeze(1), prev_dec_state)context = attention(enc_states, new_state.unsqueeze(1)).squeeze(1) # batch * word_dimnew_state = self.combine_state_attn(torch.cat((new_state, context), dim=1))# 生成这个位置每个词表中单词的预测得分scores[:,t,:] = self.linear(new_state) # 此状态传入下一个GRUCellprev_dec_state = new_state return scoresvocab_size = 100
word_dim = 20
embed = nn.Embedding(vocab_size, word_dim)
y_id = torch.longTensor(30, 8).random_(0, vocab_size) # 共30个真值输出文本的词id,每个文本长度为8
# 省略编码层和交互层,交互层最后得到:
# 文章单词向量x,维度为30 * word_dim
# 问题向量q,维度为 30 * word_dim
x = torch.randn(30, 10, word_dim)
q = torch.randn(30, word_dim)net = Seq2SeqOutputLayer(embed, word_dim, vocab_size)
optimizer = optim.SGD(net.parameters(), lr=0.01)
word_scores = net(x, q, y_id)
loss_func = nn.CrossEntropyLoss()
# 将word_scores变为二维数组,y_id变为一维数组,计算损失函数
# word_scores计算出第2、3、4个词的预测,所以要和y_id错开一位比较
loss = loss_func(word_scores[:,:-1, :].contiguous().view(-1, vocab_size), y_id[:,1:].contiguous().view(-1))optimizer.zero_grad()
loss.backward()
optimizer.step()
用Attention计算上下文向量context,并与编码器rnn状态合并为新的状态。同时,解码器使用RNN单元GRUCell,因为每一步只需要预测下一个位置的单词。解码过程使用teacher-forcing,即利用标准答案的单词预测下一个位置的单词。
拷贝生成机制
如果纯用encoder-decoder架构,即完全利用词表生成单词,一旦文章中的重要线索单词,特别是专有名词不在词表中,模型就会产生标识符从而降低准确率。为了解决这一问题,研究者提出了拷贝-生成机制copy-generate mechanism,使得模型也可以生成不在预定词表中的文章单词,从而有效提高生成答案的语言丰富性和准确性。该机制在生成单词的基础上提供了从文章中复制单词的选项。需要生成以下内容:
- 下一个单词是文章中第i个词wi的概率Pc(i)
- 下一个词使用生成而非拷贝方式的概率Pgen
然后将两个分布合成得到最后的单词分布:
Pc(i)本质上是文章中所有位置的一个分布,即文章中每个位置的单词在这一步被拷贝的概率。Pgen是一个实数,代表在这个位置使用生成机制的概率,它可以用上下文向量ci-1、前一个RNN单元输出状态、当前输入词向量hi-1生成Pgen。
二、常见MRC模型
BiDAF
略。
确定了MRC编码层-交互层-输出层的结构。
核心就是,交互层,也就是双向互注意力层,Q2C, C2Q得到的的是两个文章表示,它们都在不同程度上融合包含了问题的信息,从而帮助下一层的预测!
R-net
略,不过BiDAF和R-Net的阅读真的是需要循环渐进。先通过BiDAF来了解Q2C,C2Q的向量表示,从而才能更好的了解R-net,毕竟r-net是在向量表示的基础上,再引入了门控。
创新
-
门机制的应用,比如vt = GRU(vt-1,gate([ut; ct]))。
ct是t时刻的文章单词关于问题的Q2C注意力表示,ut是t时刻的文章单词向量,vt是t时刻的RNN隐层。
这里用门机制把ut和ct结合了起来,相当于用一个门控,R-net可以在每一步动态控制RNN的输入中有多少信息来自当前单词ct(融入了问题的单词向量),有多少信息来自问题ut,
-
结合了门的注意力机制融入进RNN
融合网络
融合网络(FusionNet)是一种改进了阅读理解网络中多层上下文编码和注意力机制的模型,的主要贡献在于提高了深层机器阅读理解网络的效率。全关注注意力机制基于单词历史,使用单词历史计算注意力分数,但是输出是其中某一层或某基层的加权和。
因为由于历史向量随网络深度增加而变长,会导致网络参数过多。维度压缩可以有效地解决这一问题,它既融合了单词的所有历史信息,也大大降低了注意力向量的维度,达到了化繁为简的目的。
推算维度的方式可以见5.3.3 总体架构。
单词历史
为了保留多个层次的信息,FusionNet将每个单词第1至i-1
个网络层的输出向量表示拼接起来作为第i个网络层的输入。这个拼接而成的向量称为单词历史(history of word),因为其代表了之前每个阶段处理这个单词的所有编码,如X=(x1,x2,…xn)。一方面,History of Word方法使得深层网络可以更好理解文章各个层次的语义,但另一方面,随着计算层数的增加,与每个单词相关的向量编码总长度也在增加,会造成网络参数的个数激增,运算效率下降,优化效果也会受到影响。
比如说,每个文章中的单词的向量是900维,然后经过P2Q后,每个文章单词的向量获得了300维的注意力向量,即问题GloVe向量的加权和,经过这一层后,每个文章单词向量的维度为900+300=1200。
然而,如果仅仅为了保证效率而不对每层结果进行拼接,就会损失更低层次的信息。
如下图,每个竖条表示一个单词对应的向量表示。深色块代表网络中更高层的输出及其代表的语义理解。例如,文章中“小明”一词在经过第一层后,模型理解为一个人名;经过第二层后,模型理解为一个球员;经过第三层后,模型理解为一个有号码的球员。
由此可以看出,如果缺少单词历史的话,虽然文章和问题中的号码10与12截然不同,但网络中的较高计算层会认为这两个数字都是球队中的号码可以较好地匹配,从而错误预测答案“小明”。
因此,就要想一个办法,将这些单词历史融合起来!为了同时保留多层次信息且不影响计算效率,FusionNet提出了全关注注意力机制的概念。
全关注注意力
也就是说,这不仅可以融合单词历史信息,还可以实现维度压缩。在实际应用中,全关注注意力机制可以灵活使用。例如,可以多次计算注意力,每次对不同的历史层进行加权和,从而获得更丰富的语义交互信息。
总体架构
谈谈交互层:单词注意力层、阅读层、问题理解层、全关注互注意力层、全关注自注意力层
在交互层中,FusionNet反复使用全关注注意力机制和循环神经网络,并控制生成向量的维度,从而减少了模型参数,提高了计算效率。
全关注互注意力层
FusionNet将全关注注意力机制应用在文章和问题的单词历史上。单词历史是一个300+600+250+250=1400维向量,这是一个非常高维的向量表示。因此,FusionNet对维度进行压缩,融合3个不同层的注意力向量。融合有不同层次的:
- 低层融合
- 高层融合
- 理解层融合
经过融合,都得到一个小维度的向量,远远小于单词历史。
全关注自注意力层
FusionNet再次使用全关注注意力机制计算文章单词的自注意力,并通过维度压缩。
关键词检索与阅读模型(ET-RR)
文本库式阅读理解任务一般包含一个大型语料库,因而此类阅读理解模型必须包含快速而有效的检索模块。
关键词检索与阅读模型(Essential-Term Retriever Reader Model, ET-RR)是2019年提出的一种文本库式阅读理解模型。它专门解决建立在大规模文本库上的多项选择式机器阅读理解任务。ET-RR模型分为**检索器(retriever)和阅读器(reader)**两个模块。检索器利用关键词抽取技术大大提高了检索结果与问题的相关度。而阅读器中根据检索结果、问题和选项建立了网络模型。
ET-RR模型最大的贡献在于使用深度学习网络提取问题中的关键词。使用问题关键词作为查询可以有效提高检索结果与问题和选项的相关性,从而提高回答的准确度,这对于文本库式机器阅读理解任务至关重要。ET-RR针对多项选择式答案,模仿人类阅读解题的方式提出了选项交互的方法,并取得了良好的效果。
检索器
对于给定的问题Q,将Q作为查询输入检索器,得到最相关的N个语料库中的句子,将它们拼接成文章段落P,从而将其转化成一般的阅读理解任务。
如果任务是多项选择形式,除了问题外,还提供N个选项C1, …, CN,一种常用的检索方法是,将问题Q和每个选项Ci拼接起来作为一个查询输入搜索引擎,得到检索结果Pi。然后,阅读器模型计算得出Pi有多大概率证明Ci为Q的正确答案。最后,模型选择概率最大的选项输出。
模型的准确性很大程度上取决于检索器返回的结果的质量,也就是段落与问题及选项的相关度。而搜索引擎对于长查询的检索质量远低于短查询。
ET-RR模型提出了一种解决方案:在问题中选择若干关键词(essential term),然后将关键词与选项拼接起来作为查询。这样可以有效缩短查询的长度,而关键词也保留了问题中的重要相关信息。
模型应该如何在一段文本中选取关键词呢?ET-RR将此任务定义为分类问题:将文本分词成为w1w2…|wn后,对每个单词进行二分类,以预测这个单词是否为关键词。为了提高二分类的准确度,ET-RR设计了分类神经网络ET-Net。
ET-NET
ET-Net的训练基于公开数据Essentiality Dataset,并使用二分类交叉熵损失函数。如果模型预测到问题中第i个词作为关键词的概率Pi大于0.5,则认为它是关键词,否则认为它不是关键词。
ET-Net获得问题Q的关键词之后,将这些关键词与每个选项Ci拼接起来输入搜索引擎Elastic Search,得到文本库中与查询最相关的K个句子。这K个句子就组成了阅读器的输入文章Pi。
阅读器
阅读器输入:这一层的输入包括与问题Q、文章Pi和选项对应的向量Ci,阅读器的作用是,根据查询结果产生选项i是Q的正确答案的可能性。阅读器融合选项之间的语义信息(类似人类做多选阅读理解)来提升模型性能。
-
关系编码
ET-RR利用大规模单词关系图ConceptNet来获得文章中的每个单词与问题及选项中的每个单词间的关系。然后,ET-RR建立关系编码字典,每种关系有一个对应的10维参数向量。
-
特征编码
根据文章P中的单词w是否在问题和选项中出现,ET-RR给w加入了一维0/1精确匹配编码。此外,w在文本中出现的频率的对数也作为一维编码。
-
注意力层
模型计算:①文章到问题的注意力向量;②选项到问题的注意力向量;③选项到文章的注意力向量;
-
序列模型层
-
融合层
在融合层中,问题和选项经过单词向量加权和各自用一个向量q和c来表示,然后,将文章单词向量HP与问题向量q进行融合,得到文章的最终表示p
-
选项交互层
人类在解决多项选择题时,经常会通过选项文本之间的区别得到有用的信息以辅助解决问题。基于这一思路,ET-RR将选项间的语义信息差异加入模型计算。
ci inter 代表选项i与其他选项的差异度。最后,将cifinal =[ ciinter ; ci ]作为选项i的最终表示。
-
输出层
这一层的输入包括与问题、文章和选项对应的向量。输出层计算文章Pn支持第n个选项是问题的正确答案的概率,用分数Sn表示。
三、预训练模型与迁移学习
使用预训练模型的方式与使用预训练词向量(如GloVe、Word2vec等)有本质上的区别,因为预训练词向量是一个向量字典,而预训练模型是一个计算模块,其中既包括网络架构,也包括网络中的参数。
基于翻译的PTM——CoVe
基于语言模型的ELMo
生成式PTM——GPT
transformer
Transformer有个重要的特性——输入和输出维度一致。因此,可以将多个Transformer依次叠加形成更复杂的结构。多层Transformer结构可以分析更深层次的语义信息。
多头注意力
由于多头注意力包括h次含参注意力计算,因此大大增加了模型的灵活度。将多头注意力运用于自注意力机制就可以获得每个单词的上下文编码,且完全不受单词间距离的影响。
位置编码
位置编码有两种形式:函数型和表格型。
-
函数型位置编码以单词位置和维度作为参数。
(就是transformer的位置函数),PEpos,j 代表第pos个位置的单词的位置编码中第j维分量的值
优点:即使测试时出现比训练数据更长的语句,即pos值超出训练范围,依然可以使用函数计算新位置的编码值。
缺点:函数型位置编码中并没有可以训练的参数,因而限制了位置编码的自由度。
-
表格型位置编码根据训练数据中最长语句的长度L建立一个L × dmodel 的编码表,作为参数进行训练
优点:灵活
缺点:测试时无法处理长度大于L的语句
残差网络
residual network,目的是降低计算导数时链式法则路径的平均长度。
GPT本身
GPT模型第一次做到了替代目标任务模型的主体部分。
模型利用字节对编码(BPE)对文本进行分词。然后,GPT使用滑动窗口的概念,即通过文本中第i-1, i-2, …, i-k个词预测第i个词。We为字典单词向量矩阵,在模型利用最后一层的结果预测下一个词ui的时候,用了P(u)=softmax(hi-1 WeT),这里复用了We,这也是 语言模型中的常用技巧。
微调的话,在GPT模型后加入简单的输出层,继续训练3论左右即可。
在微调时加入语言模型损失函数能有效提高模型在目标任务上的准确度,即使用如下的损失函数L3:L3 = L2© + λ*L1©,L1是预训练语言模型损失函数,L2是模型目标损失函数。
划时代的BERT
输入是一段文本中每个单词的词向量(分词由WordPiece生成,类似于BPE),输出是每个单词的BERT编码。BERT模型采用了两个预训练任务:双向语言模型和判断下一段文本。这两个任务均属于无监督学习,即只需要文本语料库,不需要任何人工标注数据。
BERT的创新之处在于:第一,利用掩码设计实现了双向语言模型,这更加符合人类理解文本的原理;第二,通过判断下一段文本增强了BERT分类能力,提高了预训练任务与目标任务的契合度。
双向语言模型
只有单层transformer才能在第i个位置的输出编码不依赖于单词i的信息,因为第二层transformer的时候,zi=f(y1,y2,…,yi-1,yi=1,…,yn),但是这些y向量中已经包含了xi的信息!这样就会导致zi不能用来预测第i个位置的单词!为了解决这个问题,BERT提出了掩码(masking)机制,就是在一段文本中随机挑选15%的单词,以掩码符号[mask]代替。利用多层Transformer机制预测这些位置的单词。由于输入被mask的单词没有任何信息,这些位置上的Transformer输出可以用来预测对应的单词。因此BERT是一个双向语言模型。但是为了预防预训练任务与之后的目标任务产生不一致,所以用80%-10%-10%的概率策略选择单词存留。
NSP
设起始符[CLS]位置的BERT编码为xcls,则模型预测B文本是A文本的下一段文本的概率为σ(W*xcls), W为参数矩阵
具体任务
BERT迁移到文本分类型任务时,需要将所有信息拼接成一段文本,然后在BERT模型上添加一个前向网络,将[CLS]位置对应的BERT编码h0转化成得分。
在序列标志型任务,比如区间答案型阅读理解任务中,定义BERT输入为[CLS] Q [SEP] P。然后分别计算答案在文本每个位置开始概率和结束概率,然后将这些概率与标准答案的位置输入交叉熵损失函数进行训练。
在以上两种任务的微调训练中,BERT自身的参数和添加的前向网络参数均需要训练,但一般只需要在目标任务上训练2~4轮。
# 安装包含在BERT在内的Transformer软件包
$ pip install pytorch-transformersimport torch
from pytorch_transformers import *# 使用bert-base模型,不区分大小写
config = BertConfig.from_pretrained('bert-base-uncased')
# bert使用的分词工具
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
# 载入为区间答案型阅读理解任务预设的模型,包括前向网络输出层
model = BertForQuestionAnswering(config)# 处理训练数据
# 获得文本分词后的单词编号,维度为 batch_size(1) * seg_length(4)
input_ids = torch.tensor(tokenizer.encode('this is an example')).unsqueeze(0)
# 标准答案在文本中的起始位置和终止位置,维度为batch_size
start_positions = torch.tensor([1])
end_positions = torch.tensor([3])
# 获得模型的输出结果
outputs = model(input_ids, start_positions=start_positions, end_positions=end_positions)
# 得到交叉熵损失函数值loss,以及模型预测答案在每个位置开始和结束的打分start_scores与end_scores, 维度均为batch_size(1) * seq_length
loss, start_scores, end_scores = outputs
BERT的改进措施【重要】
在BERT出现之后,对于新的模型架构的研究相对减少,研究者更多关注的是如何在给定BERT模型的情况下,改进训练数据的收集方法、预训练和微调的模式等
-
更多预训练任务
比如改进了掩码的使用方式,利用掩码代替短语或句子,而非单个单词
-
多任务微调
在微调阶段,可以对多个目标任务同时进行训练,即将多种类型任务的数据混合起来进行训练。这些任务共享BERT的基本网络结构,但各自拥有和自身任务相关的前向网络输出层。这些目标任务彼此之间不必相似,可以包括阅读理解、语句相似度判断、语句释义等多种类型。实验表明,多任务微调可以提高模型在每个子任务上的表现。
-
多阶段处理
可以先在和目标任务相关的语料上继续预训练BERT,再针对目标任务(比如医疗、法律)进行微调。
-
将BERT作为编码层
由于BERT模型的规模巨大,在目标任务上微调也需要大量的计算资源。在资源有限的情况下,可以将BERT作为编码层,并固定其中的所有参数。之后,和ELMo模型类似,需要对BERT每一层Transformer的输出计算含参加权和,以便在后续网络层中使用。由于BERT的参数不参与训练,因而大大减少了对计算资源的需求。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 【SpringBoot】SpingBoot整合AOP,手撸一Demo,再也不怕面试官问了
AOP是什么? 要说AOP,就不得不谈OOP(面向对象编程)。 oop——竖向抽取即使不知道aop,那也知道OOP吧,对,就是OOP,Object Oriented Programming,面向对象编程。 在OOP中,我们将两个类中相同的部分抽取出来,形成父类,这两个类再继承这个父类。从而实现了消除冗余代码。…...
2024/4/28 9:55:57 - 程序员如果预防大龄问题
程序员如何预防大龄危机 困境 入行定位 强大自己 不怕苦不怕累 多交流 多学习新技术 精益求精 提高知名度 多写代码 多写组件并开源 积累人脉 开辟副业 接外单: 在线培训 自媒体 直播 困境在中国,程序员到了35岁,基本是一个坎,如果你还是通过常规的招聘网或者猎头去找工作,…...
2024/4/19 21:18:57 - bizcharts图表中每个item的额外处理
一、前言及简介产品就是一次又一次的迭代,不仅仅是功能性的,还有很多样式上的细枝末节。——by 做产品无奈吐槽有时候真的对这个行业有些失望了,很多很多问题导致的很多很多工作其实都是由于产品最开始的考虑不周造成的,说白了,就是无用功。人无完人,我理解这句话,很多…...
2024/4/24 9:03:17 - Embedding从入门必读的十篇论文
第一部分 Word2vec基础1. [Word2Vec] Efficient Estimation of Word Representations in Vector Space (Google 2013)Google的Tomas Mikolov提出word2vec的两篇文章之一,这篇文章更具有综述性质,列举了NNLM、RNNLM等诸多词向量模型,但最重要的还是提出了CBOW和Skip-gram两种…...
2024/4/24 9:03:15 - 19年大学毕业生薪酬排行榜公布,差距一如既往的大
最近几年,人心浮躁,快钱当道。 不少人鼓吹“学习无用论”,例子颇为丰富,比如尔盖茨、乔布斯、高晓松都是名校辍学生,甚至有人说:所以,就算你考上大学也没用,毕业后还会发现,你的老板正是当年没考上大学的高中同学。 之前2019年中国大学毕业生薪酬排行榜公布,无疑是对…...
2024/4/24 9:03:14 - Java选择结构
选择结构 if单选择结构我们很多时候需要去判断一个东西是否可行,然后我们采取执行,这样一个过程在程序中用if语句来表示语法 if(布尔表达式){//如果布尔表达式为true将执行的语句 }package com.hogwarts.struct;import java.util.Scanner;public class IfDemo01 {public stat…...
2024/4/24 9:03:20 - 【软考高项】2020第一篇,万家灯火是一个伤痕累累的词
武汉人,2020疫情封城前一天回武汉过春节,在武汉的家中关着门放了自打幼儿园开始,最长最长的一个寒假,2020/01/22~2020/04/10,80天。万家灯火,是一个伤痕累累的词。昔日最繁华的商业街,它遍体鳞伤。这是最后离家前的印象。我准备考软考高项了,嗯。...
2024/4/24 9:03:12 - netty入门学习总结
1.Netty 是什么?Netty是 一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。Netty是基于nio的,它封装了jdk的nio,让我们使用起来更加方法灵活。Netty和Tomcat有什么区别?Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的…...
2024/4/24 9:03:11 - 1.缓存Redis实战操作记录
文章目录缓存解决并发问题1.如何解决高并发1.1 高并发详情页处理1.2 缓存使用的思路1.3 数据存储策略1.4 思考:缓存问题2.springboot整合redis2.1 数据类型2.2 缓存redis整合2.2.1 加入依赖2.2.2 写一个reids的工具类(用来将redis的池初始化到spring容器中)2.2.3 写一个spring整…...
2024/4/27 0:33:18 - 这7个GitHub高级搜索技巧,你知道吗?
前言 GitHub作为全球最大的同性交友(代码托管)平台,里面藏着巨大的资源宝库,一套Ctrl+C和Ctrl+V组合拳打出来,就没有你实现不了的需求。好了,废话不多说,下面介绍7个GitHub搜索高级技巧,让资源搜索不再困难!关键字:in:name, in:description, in:readme GitHub是支持在…...
2024/5/1 13:21:02 - SpringIOC源码阅读笔记(3)
上篇笔记写到解析element分为解析默认标签以及自定义标签,本文就先从默认标签开始。 public static final String IMPORT_ELEMENT = "import"; public static final String ALIAS_ATTRIBUTE = "alias"; //bean public static final String BEAN_ELEMENT =…...
2024/4/24 9:03:08 - 多媒体应用开发
随着3G时代的到来,多媒体在手机和平板电脑上广泛应用。Android作为手机和平板电脑的一个操作系统,对于多媒体应用也提供了良好的支持。它不仅支持音频和视频的播放,而且还支持 音频录制和摄像头拍照。 播放音频与视频 Android提供了对常用音频和视频格式的支持,它所支持的音…...
2024/4/24 9:03:07 - 深信服星云计划第一阶段—计算机网络
深信服星云计划第一阶段—计算机网络 局域网 LAN,自行建设,使用私有地址组建的网络 城域网 由运营商或大规模企业建设,城市范围网络 广域网 由运营商建设,连接城域网范围的网络 2、OSI模型:Open System Interconnect 开放性系统互连参考模型是一个框架、模型,规范不同系统…...
2024/4/24 9:03:09 - Delphi Project 之工程管理器(Project Manager)
工程(Project)可以说是Delphi的生命。不可能创建一个没有工程的程序。利用工程可以把全部工作组合到一起,从而创建出可以执行的应用程序。一般来说,每个工程都需要管理。也许要增加一个新的单元到工程中,或是从工程中删除一个单元;也许需要增加另一种类型的文件(比如二进…...
2024/4/20 13:16:54 - 搭建爬虫代理池
代理IP从何而来? 刚自学爬虫的时候没有代理IP就去西刺有免费代理的网站去爬,还是有个别代理能用。当然,如果你有更好的代理接口也可以自己接入例如(亿牛云代理) 免费代理的采集也很简单,无非就是:访问页面页面 —> 正则/xpath提取 —> 保存 如何保证代理质量? 可…...
2024/4/16 12:54:31 - pringboot文件上传
用Idea自动生成Maven工程: 1、引入的依赖: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation=&…...
2024/4/16 12:54:31 - 作为设计师的一些工作技巧
其实作为一名设计师来说,每天的工作就是在PS,AI,Sketch,RP等一系列软件中切换,当设计图被一遍一遍的修改之后会发现已经完全不是最开始那般模样。为了防止无数次修改之后被改回原来的版,我们就要学会保存副本,但是保存也是有技巧可言的。注意事项1.保存,保存的话分为PS…...
2024/4/16 12:54:16 - 腾讯云直播一直播连麦实践
直播连麦 连麦(也叫上麦)是比较热门的直播功能。所谓连麦,是指一个直播间中可以不仅只有一个主播,观众(或其它房间的主播)也可以参与进来与主播进行视频互动,从而增加视频直播的趣味性。 单向”到“多向既然要做连麦,那么反向的一条线路就必不可少,我们这里做个假设,…...
2024/4/20 5:30:26 - 使用SpringMVC中的过滤器,实现Restful接口风格模拟增删改查
写在前面:本文使用HiddentHttpMethodFilter过滤器演示Restful的模拟增删改查 作者还在学习阶段,本文内容不深,若写得不好请见谅。 公众号:小白编码本文目录REST 风格 URL介绍传统的url路径Rest风格的url:使用HiddentHttpMethodFilter示例演示Restful风格url:总结:REST 风…...
2024/4/20 10:49:10 - python学习---数据预处理(1)--数据旋转
import os import pandas as pd import numpy as np from pandas import Series from pandas import DataFrame from matplotlib import pyplot###轴向链接 #1 arr = np.arange(12).reshape((...
2024/4/16 12:54:31
最新文章
- 人力资源管理新视野:挖掘员工潜力,共筑卓越未来
在21世纪的商业环境中,企业的成功不再仅仅依赖于资本、技术和市场策略,而更多地依赖于其人力资源的有效管理。人力资源管理的新视野正致力于挖掘员工的潜力,为企业创造持续的价值,共筑卓越的未来。 一、员工潜力的挖掘 员工是企业…...
2024/5/7 4:10:49 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/6 9:38:23 - PostCss:详尽指南之安装和使用
引言 在现代前端开发中,CSS预处理器如Sass、Less等已经成为提升开发效率、增强代码可维护性的重要工具。然而,随着Web技术的发展,CSS的功能也在不断扩展,一些新的CSS语法(如变量、自定义属性、CSS Grid等)以…...
2024/5/5 10:23:36 - c# wpf XmlDataProvider 简单试验
1.概要 2.代码 <Window x:Class"WpfApp2.Window12"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend…...
2024/5/6 2:54:41 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/4 23:54:56 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/4 23:54:56 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/6 9:21:00 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/4 23:55:16 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/4 23:55:06 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/6 21:42:42 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57