
NLP/词向量_预训练模型
文章平均质量分 74
AI/算法
u013250861
这个作者很懒,什么都没留下…
展开
-
NLU-预训练模型-2018:Bert(一)【“Masked LM”缺点:①预训练与微调不一致;②忽略了掩码位置间的依赖关系】【复杂度:O(n^2·d);n:输入序列长度(规定最长512)】
BERT是2018年10月由Google AI研究院提出的一种预训练模型.- BERT的全称是:**B**idirectional **E**ncoder **R**epresentations from **T**ransformers;- BERT在机器阅读理解顶级水平测试SQuAD1.1中表现出惊人的成绩: 全部两个衡量指标上全面超越人类, 并且在11种不同NLP测试中创出SOTA表现. 包括将GLUE基准推高至80.4% (绝对改进7.6%), MultiNLI准确度达到86.7% (绝对改进5原创 2021-02-27 22:13:21 · 1899 阅读 · 0 评论 -
NLU-预训练模型-2018:Bert(二)【“Masked LM”缺点:①预训练与微调不一致;②忽略了掩码位置间的依赖关系】【复杂度:O(n^2·d);n:输入序列长度(规定最长512)】
使用BERT从文本数据中提取特征,即单词和句子的嵌入向量。我们可以用这些词和句子的嵌入向量做什么?原创 2023-10-27 23:24:32 · 1670 阅读 · 0 评论 -
NLP-预训练模型-2020
Transformer 是目前 NLP 研究领域中特别重要的模型,也衍生出了很多基于 Transformer 的方法,例如 BERT、GPT,在很多 NLP 任务中有很好的效果。但是这些模型也存在一些局限,其中包括 Self-Attention 的复杂度问题 (其复杂度是输入序列长度的平方)。Google 的研究人员提出了 Big Bird 模型,使用了稀疏注意力机制,将复杂度降到线性。一、前言Transformer 模型克服了 RNN 的限制,采用全局的 Attention,可以捕获序列所有 toke原创 2022-03-01 11:11:51 · 318 阅读 · 0 评论 -
预训练模型-词汇表:bert-base-uncased【vocab.txt;共30522个subword】
预训练模型-词汇表:bert-base-uncased【vocab.txt;共30522个subword】原创 2021-09-29 17:35:29 · 5915 阅读 · 3 评论 -
NLP-预训练模型:迁移学习(拿已经训练好的模型来使用)【预训练模型:BERT、GPT、Transformer-XL、XLNet、RoBerta、XLM、T5】、微调、微调脚本、【GLUE数据集】
人工智能-自然语言处理(NLP):迁移学习(拿已经训练好的模型来使用)【预训练模型(BERT、GPT、roBERTa、transformer-XL)、微调、微调脚本】预训练模型(Pretrained model)- 一般情况下预训练模型都是大型模型,具备复杂的网络结构,众多的参数量,以及在足够大的数据集下进行训练而产生的模型。在NLP领域,预训练模型往往是语言模型,因为语言模型的训练是无监督的,可以获得大规模语料,同时语言模型又是许多典型NLP任务的基础,如机器翻译,文本生成,阅读理解等,常见的预训练模型原创 2021-03-02 23:17:54 · 3087 阅读 · 0 评论 -
NLP-预训练模型-201806-NLG:GPT-1【参数量:117M;训练数据量:1GB】【预训练:GPT使用单向语言模型;Fine-tuning:GPT、Task的参数一起训练】
预训练模型(Pretrained model):一般情况下预训练模型都是大型模型,具备复杂的网络结构,众多的参数量,以及在足够大的数据集下进行训练而产生的模型. 在NLP领域,预训练模型往往是语言模型,因为语言模型的训练是无监督的,可以获得大规模语料,同时语言模型又是许多典型NLP任务的基础,如机器翻译,文本生成,阅读理解等,常见的预训练模型有BERT, GPT, roBERTa, transformer-XL等.OpenAI GPT 是在 Google BERT 算法之前提出的,与 BERT 最大原创 2021-08-03 22:43:09 · 1756 阅读 · 0 评论 -
NLP-预训练模型-2018-NLU:ELMo【2个单向LSTM的所有中间层向量的动态组合】【预训练后中间层向量不再变】【动态(组合各中间层向量的权重随任务变化)获取基于上下文的词向量;解决一词多义】
自然语言处理(NLP)-生成模型:ELMO【Deep contextualized word representations】2018原创 2021-08-03 22:42:20 · 1400 阅读 · 0 评论 -
NLP-预训练模型-2017:ULMFiT(Universal LM Fine-tuning for Text Classification)【使用AWD-LSTM;模型没有创新;使用多个训练小技巧】
NLP-分类模型-2017-文本分类:ULMFiT原创 2021-07-05 17:27:23 · 478 阅读 · 0 评论 -
NLP-预训练模型:综述【基础:BERT】【预训练任务优化:ERNIE、SpanBERT】【训练方法优化:RoBERTa、T5】【模型结构优化:XLNet、ALBERT、ELECTRA】【模型轻量化】
一、为什么需要预训练模型复旦大学邱锡鹏教授发表了一篇NLP预训练模型综述,“Pre-trained Models for Natural Language Processing: A Survey”,从多个角度分析了当前预训练语言模型。本文基于这篇文章来分析。邱老师认为预训练模型有三大优势:预训练模型从大规模语料中学习知识,对下游任务帮助很大预训练提供了一种更好的参数初始化方式,使得在目标任务上泛化能力更好,收敛速度更快预训练可以认为是一种正则化手段,可以防止模型在小数据集上过拟合。二、预训练原创 2021-12-29 23:15:00 · 1772 阅读 · 0 评论 -
NLP-分类模型-2016-文本分类:FastText【使用CBOW的模型结构;作用:①文本分类、②训练词向量、③词向量模型迁移(直接拿FastText官方已训练好的词向量来使用)】【基于子词训练】
作为NLP工程领域常用的工具包, fasttext有两大作用:- 进行文本分类- 训练词向量fasttext工具包的优势:正如它的名字, 在保持较高精度的情况下, 快速的进行训练和预测是fasttext的最大优势.fasttext优势的原因:- fasttext工具包中内含的fasttext模型具有十分简单的网络结构.- 使用fasttext模型训练词向量时使用层次softmax结构, 来提升超多类别下的模型性能.- 由于fasttext模型过于简单无法捕捉词序特征, 因此会进行n-gra原创 2021-02-28 22:18:53 · 2448 阅读 · 0 评论 -
NLP-生成模型-2014:Seq2Seq+Attention(首次:利用QKV从大量信息中抽取对任务重要的信息;抽取文档中重要的句子;抽取句子中重要的单词)【案例:AttentionNMT用于翻译】
《原始论文:Neural Machine Translation by Jointly Learning to Align and Translate》:第一篇将Attention用于Seq2Seq模型的文献。Attention机制:从Encoder的输入序列的很多信息中根据当前时间步Decoder的状态选出“解码任务所需要的信息”。在普通的RNN结构中,Encoder需要把一个句子转化为一个向量,然后在Decoder中使用,这就要求Encoder把源句子中所有的信息都包含进去,但是当句子长度过长的时候,这原创 2021-04-08 12:39:20 · 1063 阅读 · 1 评论 -
NLP-生成模型-2014:Seq2Seq【缺点:①解码器无法对齐编码器(Attention机制);②编码器端信息过使用或欠使用(Coverage机制);③解码器无法解决OOV(Pointer机制)】
我们之前遇到的较为熟悉的序列问题,主要是利用一系列输入序列构建模型,预测某一种情况下的对应取值或者标签,在数学上的表述也就是通过一系列形如 Xi=(x1,x2,...,xn)\textbf{X}_i=(x_1,x_2,...,x_n)Xi=(x1,x2,...,xn) 的向量序列来预测 YYY 值,这类的问题的共同特点是,输入可以是一个定长或者不定长的序列,但输出一般要求是一个固定长度的序列(单个标签较为常见,即长度为1的序列)。例如利用RNN网络的文本情感分类,输入的文本长度不固定,但输出是某一原创 2020-12-22 23:29:24 · 2082 阅读 · 1 评论 -
NLP-词向量(Word Embedding)-2015:C2W模型(Character to Word Embedding)【CharacterEmbedding(字符嵌入)】
自然语言处理(NLP)-文本处理-文本向量化-Character Embedding:C2W原创 2021-07-20 22:21:04 · 1378 阅读 · 1 评论 -
NLP-词向量(Word Embedding)-2014:Glove【基于“词共现矩阵”的非0元素上的训练得到词向量】【Glove官网提供预训练词向量】【无法解决一词多义】
自然语言处理(NLP):word2vec负采样参考资料:深度学习语言模型(3)-word2vec负采样(Negative Sampling) 模型(keras版本)原创 2021-04-03 21:09:54 · 783 阅读 · 0 评论 -
NLP-词向量(Word Embedding)-2013:Word2vec模型(CBOW、Skip-Gram)【对NNLM的简化】【层次Softmax、负采样、重采样】【静态表示;无法解决一词多义】
一、什么是word embeddingword embedding是指把一个词映射到成一个实值向量空间的过程。二、word embedding的分类基于频率的word embedding(Frequency-based word embedding)基于预测的word embedding(predict-based word embedding)2.1 基于频率的wordembedding2.1.1 count vector假设语料库中一共有D个文档,单词库为V dim(V) = N 表示原创 2020-12-21 22:28:04 · 2117 阅读 · 1 评论 -
NLP-词向量(Word Embedding)-2001:NNLM模型【前馈神经网络语言模型】【使用马尔科夫假设:使用前 n-1 个词预测第 n 个词】
《原始论文第一版(2001):A Neural Probabilistic Language Model》《原始论文第二版(2003):A Neural Probabilistic Language Model》网络结构,从下往上依次是:输入层:window窗口中上下文的每个词one-hot向量投影矩阵: 紫色虚线表示词语通过投影矩阵Matrix C对词进行映射。投影矩阵也是稠密词向量, 词典维数V,稠密词向量表示维数D【[N×V]·[V×D]==>[N×D]】神经网络输入层: 为经过原创 2021-12-30 12:47:31 · 1122 阅读 · 0 评论 -
NLP-文本向量化:Word Embedding 一般步骤【字符串->分词->词汇序列化->词汇向量化】
自然语言处理-文本处理-文本向量化:Word Embedding【字符串->分词->词汇序列化->词汇向量化】原创 2021-07-18 17:22:34 · 5556 阅读 · 0 评论 -
NLP-词向量(Word Embedding):Embedding(Tranform Object To Vector)【对象向量化;Embedding的本质是以one-hot为输入的单层全连接层】
- 近年来,NLP自然语言处理、推荐系统,以及计算机视觉已成为目前工业界算法岗的主流方向,无论在哪个领域,对“Embedding”这个词概念的理解都是每个庞大知识体系的基石。- “Embedding”直译是嵌入式、嵌入层。它能把万物嵌入万物,是沟通两个世界的桥梁!- 用数学的话来说:“它是单射且同构的”- 地图就是对于现实地理的Embedding,现实的地理地形的信息其实远远超过三维,但是地图通过颜色和等高线等来最大化表现现实的地理信息。- 通过Embedding,我们在现实世界里的文字、图片、语言原创 2020-12-22 22:03:12 · 2851 阅读 · 1 评论 -
NLP-词向量(Word Embedding):模型发展【NNLM->Word2vec->Glove->FastText->ELMo->GPT->BERT->XLNet】
自然语言处理(NLP)-文本处理-文本向量化:Word Embedding经典模型发展【Word2vec(CBOW、Skip-Gram)--> Glove --> ELMo --> BERT】原创 2021-04-11 20:59:58 · 420 阅读 · 0 评论 -
NLP-词向量-发展:词袋模型【onehot、tf-idf】 -> 主题模型【LSA、LDA】 -> 词向量静态表征【Word2vec、GloVe、FastText】 -> 词向量动态表征【Bert】
一、词袋模型(Bag-Of-Words)1、One-Hot2、tf-idf二、主题模型1、LSA(SVD)2、pLSA3、LDA三、基于词向量的固定表征1、word2vec2、fastText3、glove官方glove: https://github.com/stanfordnlp/GloVe,C实现Python 实现: https://github.com/maciejkula/glove-python安装pip install glove_python四、基于词向量原创 2021-07-08 22:38:09 · 1406 阅读 · 2 评论 -
迁移学习(Transfer Learning)、微调(Fine Tuning)
参考资料:模型微调(Finetune)原创 2022-02-11 22:13:10 · 721 阅读 · 0 评论 -
使用预训练语言模型预测阶段:GPU、CPU性能差别【Pegasus】
一、Pegasus1、使用CPU(用时: 17.92682433128357 秒)# https://github.com/huggingface/transformers/blob/master/src/transformers/models/pegasus/modeling_pegasus.pyimport timeimport torchfrom transformers import AutoTokenizer, AutoModelForSeq2SeqLMdevice = torc原创 2022-02-21 22:45:00 · 1658 阅读 · 0 评论 -
用自己的数据集训练自己的预训练模型(How to train a new language model from scratch using Transformers and Tokenizers)
Over the past few months, we made several improvements to our transformers and tokenizers libraries, with the goal of making it easier than ever to train a new language model from scratch.In this post we’ll demo how to train a “small” model (84 M paramete原创 2022-03-22 23:36:49 · 1483 阅读 · 0 评论 -
中文预训练词向量(静态):Word2vec、GloVe、FastText
外网地址: [Word2Vec] [DownloadLink]外网地址: [FastText]300维英语词向量:[百度云]外网地址: [Glove]国内地址:[百度云]国内地址:[百度云]原创 2022-09-26 19:50:19 · 1124 阅读 · 0 评论 -
使用Bert对含有数组、字母的中文文本分词(每个字母、数字都分词)【最细力度】
序列标注任务 BERT 分词器可能会导致标注偏移, 用 char-level 来 tokenize。原创 2022-09-26 19:54:51 · 1137 阅读 · 1 评论 -
NLP-预训练模型-2019-NLG:GPT-2【参数量:1542M;训练数据量:40GB】
其实GPT 2.0在做下游无监督任务的时候,给定输入(对于不同类型的输入,加入一些引导字符,引导GPT正确地预测目标,比如如果做摘要,在输入时候加入“TL:DR”引导字符串),它的输出跟语言模型的输出是一样的,就是蹦出一个单词。1.把多个任务放在一起学习,有相关的部分,也有不相关的部分,当学习一个任务的时候,和这个任务不想关的信息就是噪声,引入噪声就可以调高泛化效果。当不同任务有各自的训练数据时(选择此方法),就可以对不同的任务输入各自的数据,而无需去构造一份专门的数据。GPT-2的学习目标是使用。原创 2023-02-25 09:28:42 · 1027 阅读 · 0 评论 -
NLP-预训练模型-2020-NLG:GPT-3【参数量:1750亿(175B);训练数据量:570GB】
显然,GPT-3的模型参数、训练数据和工作量都是惊人的,论文署名多达31个作者,所有实验做下来肯定也耗费了不少时间。虽然一直都存在对于大模型的质疑声音,但我们确确实实从T5、GPT-3这样的模型上看到了NLP领域的进步,众多业务也开始受益于离线或者线上的BERT。该论文长达72页(Google T5是53页),第10页之后都是长长的实验结果与分析。都是完全不需要精调的,因为GPT-3是单向transformer,在预测新的。GPT-3依旧延续自己的单向。因此GPT-3的主要目标是。原创 2023-02-25 09:35:25 · 2491 阅读 · 0 评论