随笔分类 - 自然语言处理(NLP)
摘要:一、什么是attention机制 Attention机制:又称为注意力机制,顾名思义,是一种能让模型对重要信息重点关注并充分学习吸收的技术.通俗的讲就是把注意力集中放在重要的点上,而忽略其他不重要的因素。其中重要程度的判断取决于应用场景,拿个现实生活中的例子,比如1000个人眼中有1000个哈姆雷特
阅读全文
摘要:一、概述: GRU(Gate Recurrent Unit)是LSTM网络的一种效果很好的变体,它较LSTM网络的结构更加简单,而且效果也很好,因此也是当前非常流形的一种网络。GRU既然是LSTM的变体,因此也是可以解决RNN网络中的长依赖问题。 在LSTM中引入了三个门函数:输入门、遗忘门和输出门
阅读全文
摘要:一、背景介绍 BERT和RoBERTa在文本语义相似度等句子对的回归任务上,已经达到了SOTA的结果。但是,它们都需要把两个句子同时喂到网络中,这样会导致巨大的计算开销:从10000个句子中找出最相似的句子对,大概需要5000万(C100002=49,995,000)个推理计算,在V100GPU上耗
阅读全文
摘要:参考:https://mp.weixin.qq.com/s/Tk7wc5aq8qaaeBz6cXRd_Q 一、概述 NLP 领域中只有小部分标注过的数据,而有大量的数据是未标注,如何只使用标注数据将会大大影响深度学习的性能,所以为了充分利用大量未标注的原始文本数据,需要利用无监督学习来从文本中提取特
阅读全文
摘要:一、概述 Albert是谷歌在Bert基础上设计的一个精简模型,主要为了解决Bert参数过大、训练过慢的问题。Albert主要通过两个参数削减技术克服预训练模型扩展的障碍: 1、Factorized embedding parameterization(embedding参数因式分解),将大的词嵌入
阅读全文
摘要:一、Layer Normalization公式 1)计算各层的期望μ和标注差σ l表示第l个隐藏层,H表示该层的节点数,a表示某一个节点在激活前的值,即a=w*x。 2)标准化 g和b分别表示增益和偏置参数,可以纳入训练随样本一群训练。 3)加入激活函数输出 二、Conditional Layer
阅读全文
摘要:一、图示两种方式的不同 LN:Layer Normalization,LN是“横”着来的,对一个样本,不同的神经元neuron间做归一化。 BN:Batch Normalization,BN是“竖”着来的,各个维度做归一化,所以与batch size有关系。 二者提出的目的都是为了加快模型收敛,减少
阅读全文
摘要:一、任务背景介绍 本次训练实战参照的是该篇博客文章:https://kexue.fm/archives/6933 本次训练任务采用的是THUCNews的数据集,THUCNews是根据新浪新闻RSS订阅频道2005~2011年间的历史数据筛选过滤生成,包含74万篇新闻文档,由多个类别的新闻标题和内容组
阅读全文
摘要:一、Bert Model流程图 二、Bert所用Transformer内部结构图 三、Masked LM预训练示意图 四、Next Sentence Prediction预训练示意图 可视化一步步讲用bert进行情感分析:https://blog.csdn.net/jclian91/article/
阅读全文
摘要:一、Masked LM get_masked_lm_output函数用于计算「任务#1」的训练 loss。输入为 BertModel 的最后一层 sequence_output 输出([batch_size, seq_length, hidden_size]),先找出输出结果中masked掉的词,然
阅读全文
摘要:一、注意力层(attention layer) 重要:本层主要就是根据论文公式计算token之间的attention_scores(QKT),并且做softmax之后变成attention_probs,最后再与V相乘。值得注意的是,中间利用了attention_mask的技巧,返回多头注意力值。 d
阅读全文
摘要:一、BertModel主入口 class BertModel(object): """BERT model ("Bidirectional Encoder Representations from Transformers"). Example usage: ```python # Already
阅读全文
摘要:一、背景与算法介绍 Transformer结构被广泛应用与自然语言处理中,并且在许多任务上都产生了当前最好的效果。为了达到进一步的效果,研究人员已经开始训练更大的Transformer模型。在某些报告的最大配置中,每层参数的数量超过了5亿(0.5B),而层的数量增加到了64层。Transformer
阅读全文
摘要:一、概述 近邻搜索在计算机科学中是一个非常基础的问题,在信息检索、模式识别、机器学习、聚类等领域有着广泛的应用。如果在d维空间中,我们有n个数据点,采用暴力搜索寻找最近邻的时间复杂度为O(dn)。当前我们的数据量越来越大,因此我们需要一些新的数据结构来查找最近邻,使得任意给定一个数据就能快速找到近邻
阅读全文
摘要:前序: Google AI最新出品的论文Reformer 在ICLR 2020会议上获得高分,论文中对当前暴热的Transformer做两点革新:一个是局部敏感哈希(LSH);一个是可逆残差网络代替标准残差网络。本文主要介绍变革的第二部分,可逆残差网络。先从神经网络的反向传播讲起,然后是标准残差网络
阅读全文
paper阅读:UniLM(Unified Language Model Pre-training for Natural Language Understanding and Generation)
摘要:概述: UniLM是微软研究院在Bert的基础上,最新产出的预训练语言模型,被称为统一预训练语言模型。它可以完成单向、序列到序列和双向预测任务,可以说是结合了AR和AE两种语言模型的优点,Unilm在抽象摘要、生成式问题回答和语言生成数据集的抽样领域取得了最优秀的成绩。 一、AR与AE语言模型 AR
阅读全文
摘要:一、模型框架图 二、分层介绍 1)ALBERT层 albert是以单个汉字作为输入的(本次配置最大为128个,短句做padding),两边分别加上开始标识CLS和结束标识SEP,输出的是每个输入word的embedding。在该框架中其实主要就是利用了预训练模型albert的词嵌入功能,在此基础上f
阅读全文
摘要:除了之前较为流行的RELU激活函数,最近又新出了几个效果较好的激活函数 一、BERT激活函数 - GELU(gaussian error linear units)高斯误差线性单元 数学公式如下: X是服从标准正态分布的变量。 近似的数学计算公式如下: 函数图如下: 橙色曲线为:GELU 蓝色曲线为
阅读全文
摘要:一、BERT整体结构 BERT主要用了Transformer的Encoder,而没有用其Decoder,我想是因为BERT是一个预训练模型,只要学到其中语义关系即可,不需要去解码完成具体的任务。整体架构如下图: 多个Transformer Encoder一层一层地堆叠起来,就组装成了BERT了,在论
阅读全文
摘要:一、n-gram-model 谈到词向量则必须要从语言模型讲起,传统的统计语言模型是对于给定长度为m的句子,计算其概率分布P(w1, w2, ..., wm),以表示该句子存在的可能性。该概率可由下列公式计算得到: 但实际过程中句子的长度稍长便会为估计带来很大难度,因此n-gram 模型对上述计算进
阅读全文