python学习12-transformer1

Transformers 能做什么

Transformers是一个用于自然语言处理(NLP)、计算机视觉和音频和语音处理任务的预训练模型库。该库不仅包含Transformer模型,还包括用于计算机视觉任务的现代卷积网络等非Transformer模型。如果您看看今天最受欢迎的一些消费产品,比如智能手机、应用程序和电视,很可能背后都有某种深度学习技术的支持。

自然语言处理到Transformer的演变历程

自然语言处理(NLP)的发展经历了多个重要的阶段,直到最终演变成如今广泛使用的Transformer模型。下面是这个演变过程的概述:

  1. 规则基础时代(1950s - 1980s)
  • 早期实验:最初的尝试包括简单的机器翻译和语言模型,这些都基于规则和语法。
  • 主要挑战:早期方法依赖于复杂、难以维护的规则系统,且难以处理自然语言的多样性和复杂性。
  1. 统计方法时代(1980s - 2010s)
  • 统计模型的兴起:随着计算机技术的进步,统计方法开始流行,例如隐马尔可夫模型(HMM)和条件随机场(CRF)。
  • 机器学习的应用:特别是在2000年代,机器学习,特别是基于特征的模型,如支持向量机(SVM),开始用于自然语言处理。
  • 词袋模型:这种模型不考虑词语之间的顺序,将文本视为其词语内容的集合。
  1. 深度学习与词嵌入(2010s)
  • 词嵌入技术:Word2Vec、GloVe等模型的出现使得单词可以转换为有意义的向量表示。
  • 循环神经网络(RNN)和LSTM:用于处理序列数据,如文本,可以捕捉时间序列信息。
  1. 注意力机制与Transformer(2017年以后)
  • 注意力机制:注意力机制的提出,允许模型在处理一个单词时,动态地聚焦于句子中的其他部分。
  • Transformer模型的出现:2017年,Google的“Attention is All You Need”论文提出了Transformer模型,它完全基于注意力机制,不使用传统的RNN结构。
  • 性能突破:Transformer模型在各种NLP任务上显示出卓越的性能,特别是在翻译、文本生成、摘要等方面。
  1. 预训练语言模型(2018年以后)
  • BERT和GPT系列:Transformer的进一步发展产生了BERT、GPT等预训练语言模型,它们在大量文本数据上预训练,然后可以微调以适应特定的NLP任务。
  • 更强大的模型:这些模型通过处理大量数据,学会了丰富的语言特征,能够更好地理解和生成自然语言。

这个过程展示了从基于规则的系统到统计方法,再到深度学习和最终的Transformer模型的逐步演进。Transformer的创新在于其能力处理长距离依赖关系,以及高效地在大规模数据集上进行训练,使其成为当今自然语言处理的核心技术。

transfomer实现分词

#从transfomer导入bert模型的分词器
from transformers import BertTokenizer
#加载预训练好的分词器

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
text = "i love you!"

tokenizer(text)

# {'input_ids': [101, 1045, 2293, 2017, 999, 102], 'token_type_ids': [0, 0, 0, 0, 0, 0], 'attention_mask': [1, 1, 1, 1, 1, 1]}
  • input_ids:每个单词对应BERT词汇表中的token

    • 数字101和102分别代表特殊2个符号【CLS】用于句子的开始,【SEP】用于句子或者段落的结束
  • token_type_ids,默认通常全为0,如果要处理2个句子输入,可能会将第一句的token对应为0,第二句对应为1

  • attention_mask:注意力掩码,用于考虑哪些token应该被注意力机制考虑,哪些不应该。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值