概述:
transformer 发展时间线
编码器encoder的作用是从输入序列中编码信息将其表示为一个数值化表达(通常被称为最后的隐藏状态)。这种状态然后被传递给解码器,生成输出序列。
RNN 的缺点在于输入太长的时候一开头的信息可能丢失
Attention 机制可以让解码器学到所有的隐藏层状态
在NLP 中labeled data 数目并不多,此时引入迁移学习
将一个模型分成一个body 和一个head,其中head 是一个基于任务的网络。在训练过程中,body 的权重学习广阔的特征,然后这些权重被用来初始化一个新任务的网络
迁移学习(比如ULMFiT) 的三个步骤:
目标是基于之前的单词预测下一个单词,可以利用海量的wiki 数据,仅仅需要无标签的数据
模型由大规模的数据集迁移到比如IMDb 的电影评论。
模型在分类层上微调。
GPT 用的transformer 中的decoder,GPT 在bookcorpus 上预训练,包括7000个未出版的图书
BERT用的transformer 中的encoder, 在bookcorpus 和wiki 上训练。 masked language modeling :预测一段文字中随机被隐藏的单词是什么
文本定义:
from transformer import pipeline
classifier = pipeline("text classification")
import pandas as pd
outputs = classifier(text)
pd.DataFrame(outputs)
命名实体识别:
ner_tagger = pipeline("ner", aggregation_strategy="simple")
outputs = ner_tagger(text)
pd.DataFrame(outputs)
ORG(organization), LOC(location), PER(person)
现实生活中的产品,地点和人叫命名实体,从文本中抽取叫命名实体识别(NER)-named entity recognition
"###" 单词中的这些符号 是由模型的标记器产生的,标记器将单词分成原子单元(标记tokenization)
问答系统:
输入是一个文本内容叫context,和一个问题(需要提取的);模型返回一个文本表示回答
文本总结:
文本总结将一个长文本作为输入并生成一个相关文本的短内容。
翻译:
......
hugging face 标记器:
原始文本呗分成更小的部分叫做tokens。tokens 可以是word , word 的一部分, 或者标点符号。 transformer 用 这些token 的数值化表示