GPT1解读:Improving Language Understanding by Generative Pre-Training

自然语言处理NLP是当代人工智能的关键领域,包含文本识别、智能问答等多个方向任务,通过监督学习方式一般需要大量带标签数据,而对某些特定任务,获取带标签数据成本非常高。GPT通过大量的未标记文本数据来学习一个通用预训练(generative pre-training)的语言模型,并通过语言模型可以学习到内在语义信息,之后针对特定任务只需要用少量的标签数据进行fine-tuning,而不需要对模型结构进行较大改变。其通过一系列实验表明,通用预训练(generative pre-training)的语言模型确实可以学习到潜在语义信息,并在多个不同NLP任务中都取得非常好的效果。

半监督的学习方法在NLP领域并不少见,早期通过无监督word2vec学习词的embedding向量,然后输入给特定任务的模型进行监督训练,但都必须要求足够的标签数据。GPT想要通过通用预训练(generative pre-training)的语言模型来学习到更为深层次的语义信息,为达成目标,这里包含了两个问题:如何去学习更为深层次的语义信息表达?所学习的语义信息能否有效的帮助目标任务?

GPT采用了两阶段的训练方式:通过大量未标记的文本数据进行非监督学习,再用结合特定任务用少量标记数据进行fine-tuning。

1. 训练目标

A. 非监督的预训练

通用预训练(generative pre-training)语言模型的目标是预测下一文本的概率,假设存在一段训练文本{u1,u2,...,un},其中u表示文本序列中的词元,预训练的损失函数为:

L_1 = \sum_i log(P(u_i|u_{i-1},u_{i-2},...,u_{i-k}; \Theta))

B. 监督

在自然语言处理(NLP)中,从原始文本中有效学习的能力对于减轻对监督学习的依赖至关重要。大多数深度学习方法需要大量手动标记数据,这限制了它们在许多缺乏注释资源领域的适用性。在这种情况下,能够利用未标记数据中语言信息的模型,为收集更多注释提供了有价值的替代方案,因为收集注释既耗时又昂贵。此外,即便有大量监督的情况,以无监督方式学习良好的表示也能显著提高性能,预训练的单词嵌入被广泛使用以提高一系列 NLP 任务的性能就是例证 [^2]。 然而,利用未标记文本中的单词级信息面临挑战。一方面,目前不清楚哪种优化目标在学习对迁移有用的文本表示方面最有效,近期研究涉及语言建模、机器翻译和话语连贯性等多种目标,每种方法在不同任务上表现各异;另一方面,对于将学习到的表征转移到目标任务的最有效方法也未达成共识,现有技术包括对模型架构进行特定任务更改、使用复杂学习方案和添加辅助学习目标的组合。这些不确定性给开发有效的语言处理半监督学习方法带来困难 [^2]。 其他方法使用预训练的语言或机器翻译模型的表征信息作为特定任务有监督学习训练模型的辅助特征,其侧重点仍在特定任务的从 0 开始的有监督式训练,涉及每个单独目标任务大量新参数的处理。而 GPT - 1 只需要对模型体系结构进行最小的更改 [^3]。 ```python # 这里简单示意一个可能与语言理解训练相关的伪代码思路 # 假设我们有一个语言模型类 class LanguageModel: def __init__(self): # 初始化模型参数 self.params = {} def pretrain(self, unlabeled_data): # 进行生成式预训练 # 这里只是简单示意,实际要根据具体算法实现 for data in unlabeled_data: # 进行一些训练操作 pass def finetune(self, labeled_data): # 针对特定任务进行微调 for data in labeled_data: # 进行微调操作 pass # 创建模型实例 model = LanguageModel() # 假设我们有未标记数据和标记数据 unlabeled_data = [] labeled_data = [] # 进行预训练 model.pretrain(unlabeled_data) # 进行微调 model.finetune(labeled_data) ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值