
nlp学习笔记
will-wil
这个作者很懒,什么都没留下…
展开
-
理解Attention,MHA、MQA、GQA理论知识和代码实现
【代码】理解Attention,MHA、MQA、GQA理论知识和代码实现。原创 2024-07-03 17:49:41 · 889 阅读 · 0 评论 -
transformers.generator_utils函数源码解析之RepetitionPenaltyLogitsProcessor
主要记录源码中解决文本生成中词组重复出现的问题,代码中有具体操作解析。class RepetitionPenaltyLogitsProcessor(LogitsProcessor): r""" :class:`transformers.LogitsProcessor` enforcing an exponential penalty on repeated sequences. Args: repetition_penalty (:obj:`float`):原创 2021-12-01 11:09:53 · 2483 阅读 · 0 评论 -
transformers.generator_utils函数源码解析之beam_search
#beam_search主体函数while True: model_inputs = self.prepare_inputs_for_generation(input_ids, **model_kwargs) #整理下一步decoder所需数据 outputs = self( **model_inputs, return_dict=True, output_attentions=output_attentions, o.原创 2021-11-18 17:41:04 · 2000 阅读 · 0 评论 -
transformers.generator_utils函数源码解析之sample生成(包括temperature、TopK、TopP函数解析)
sample函数相较于beam_search函数要简单的多,但是需要注意的一点是,sample需要搭配logits_warper处理器列表使用,相应的处理器函数在下面。sample函数的源码解释如下,比较浅显易懂。# auto-regressive generationwhile True: # prepare model inputs model_inputs = self.prepare_inputs_for_generation(input_ids, **mod...原创 2021-11-22 20:04:19 · 5214 阅读 · 1 评论 -
T5模型总结
T5(Transfer Text-to-Text Transformer)模型:一个统一框架,靠着大力出奇迹,将所有 NLP 任务都转化成 Text-to-Text (文本到文本)任务。 比如英德翻译,只需将训练数据集的输入部分前加上“translate English to German(给我从英语翻译成德语)” 就行。假设需要翻译"That is good",那么先转换成 "translate English to German:That is good." 输入模型,之...原创 2021-11-03 22:08:41 · 14423 阅读 · 2 评论 -
Highway Networks网络详解
神经网络的深度对模型效果有很大的作用,可是传统的神经网络随着深度的增加,训练越来越困难,这篇paper基于门机制提出了Highway Network,使用简单的SGD就可以训练很深的网络,而且optimization更简单,甚至收敛更快。1.传统的神经网络传统的神经网络对输入使用一个非线性变换 H来得到输出output,公式如下: 其中x表示网络输入,WH表示网络权重。 2.Highway Network...原创 2021-11-03 14:18:01 · 6524 阅读 · 2 评论 -
SoftMasked-bert文本纠错论文笔记以及代码实现
本文是Spelling Error Correction with Soft-Masked BERT论文的学习笔记,并且根据论文实现了相应的源码。改进BERT纠错模型的motivation:BERT预训练模型只对于句子进行15%的mask字符进行预测,使得模型没有检测error的能力,从而更趋向于不纠错,即只复制原始字符论文模型主体思想: 句子预处理,得到相应的字符的input embedding input embedding 经过detection 网络,输出得到句子序列每个位置原创 2021-05-19 17:58:39 · 1669 阅读 · 0 评论 -
bert源码中input_mask参数的解释
to_mask(intput_mask)形状为[batch, seq_length],其中attended部分为1, no attended部分为0,经过下列函数转换得到[batch, seq_length, seq_length],实际上在维度为1的位置上复制了seq_length份def create_attention_mask_from_input_mask(from_tensor, to_mask): """Create 3D attention mask from a 2D tensor.原创 2021-05-14 16:24:53 · 2640 阅读 · 0 评论