随笔分类 -  机器学习

摘要:准确率(accuracy)是指模型正确预测的样本数与总样本数之比。它衡量了模型对所有样本的分类准确程度。准确率计算公式如下: 准确率 = (真阳性 + 真阴性) / (真阳性 + 假阳性 + 真阴性 + 假阴性) 精确度(precision)是指模型在预测为正例的样本中,真正例的比例。它衡量了模型在 阅读全文
posted @ 2024-01-16 17:12 Yohoc 阅读(1795) 评论(0) 推荐(0) 编辑
摘要:原始的BERT有两个版本,其中基本模型有1.1亿个参数,大模型有3.4亿个参数。 在预训练BERT之后,我们可以用它来表示单个文本、文本对或其中的任何词元。 在实验中,同一个词元在不同的上下文中具有不同的BERT表示。这支持BERT表示是上下文敏感的。 阅读全文
posted @ 2023-11-18 20:45 Yohoc 阅读(20) 评论(0) 推荐(0) 编辑
摘要:为了预训练 14.8节中实现的BERT模型,我们需要以理想的格式生成数据集,以便于两个预训练任务:遮蔽语言模型和下一句预测。一方面,最初的BERT模型是在两个庞大的图书语料库和英语维基百科(参见 14.8.5节)的合集上预训练的,但它很难吸引这本书的大多数读者。另一方面,现成的预训练BERT模型可能 阅读全文
posted @ 2023-11-18 20:44 Yohoc 阅读(71) 评论(0) 推荐(0) 编辑
摘要:我们已经介绍了几种用于自然语言理解的词嵌入模型。在预训练之后,输出可以被认为是一个矩阵,其中每一行都是一个表示预定义词表中词的向量。事实上,这些词嵌入模型都是与上下文无关的。让我们先来说明这个性质。 从上下文无关到上下文敏感 ELMo(Embeddings from Language Models) 阅读全文
posted @ 2023-11-18 20:07 Yohoc 阅读(180) 评论(0) 推荐(0) 编辑
摘要:在 14.4节中,我们在一个小的数据集上训练了一个word2vec模型,并使用它为一个输入词寻找语义相似的词。实际上,在大型语料库上预先训练的词向量可以应用于下游的自然语言处理任务,这将在后面的 15节中讨论。为了直观地演示大型语料库中预训练词向量的语义,让我们将预训练词向量应用到词的相似性和类比任 阅读全文
posted @ 2023-11-18 16:25 Yohoc 阅读(58) 评论(0) 推荐(0) 编辑
摘要:在英语中,“helps”“helped”和“helping”等单词都是同一个词“help”的变形形式。“dog”和“dogs”之间的关系与“cat”和“cats”之间的关系相同,“boy”和“boyfriend”之间的关系与“girl”和“girlfriend”之间的关系相同。在法语和西班牙语等其他 阅读全文
posted @ 2023-11-18 15:49 Yohoc 阅读(58) 评论(0) 推荐(0) 编辑
摘要:带全局语料统计的跳元模型 传统的词嵌入模型(如Word2Vec、GloVe等)通常只考虑了局部上下文窗口内的单词共现信息,而没有充分利用全局语料库的统计特征。带全局预料统计的跳元模型尝试通过结合全局语料库的统计信息来提高词嵌入的表示能力,以更好地捕捉单词之间的语义和语法关系。 GloVe模型 从条件 阅读全文
posted @ 2023-11-17 14:14 Yohoc 阅读(54) 评论(0) 推荐(0) 编辑
摘要:读取数据集 下采样 提取中心词和上下文词 下面的get_centers_and_contexts函数从corpus中提取所有中心词及其上下文词。它随机采样1到max_window_size之间的整数作为上下文窗口。对于任一中心词,与其距离不超过采样上下文窗口大小的词为其上下文词。 #@save de 阅读全文
posted @ 2023-11-17 11:58 Yohoc 阅读(27) 评论(0) 推荐(0) 编辑
摘要:近似训练是一种用于加速训练过程的技术。 负采样 负采样是在训练过程中对目标函数进行简化的一种方法。在传统的训练中,需要计算整个词汇表的概率分布,这在大规模任务中会非常耗时。负采样的思想是通过随机采样一小部分负例来近似计算全局的目标函数。具体来说,对于每个正例(例如一个正确的词对应的上下文),从词汇表 阅读全文
posted @ 2023-11-17 11:28 Yohoc 阅读(35) 评论(0) 推荐(0) 编辑
摘要:自然语言是用来表达人脑思维的复杂系统。 在这个系统中,词是意义的基本单元。顾名思义, 词向量是用于表示单词意义的向量, 并且还可以被认为是单词的特征向量或表示。 将单词映射到实向量的技术称为词嵌入。 近年来,词嵌入逐渐成为自然语言处理的基础知识。 为何独热向量是一个糟糕的选择? 自监督的word2v 阅读全文
posted @ 2023-11-17 10:51 Yohoc 阅读(143) 评论(0) 推荐(0) 编辑
摘要:10.6.2节中比较了卷积神经网络(CNN)、循环神经网络(RNN)和自注意力(self-attention)。值得注意的是,自注意力同时具有并行计算和最短的最大路径长度这两个优势。因此,使用自注意力来设计深度架构是很有吸引力的。对比之前仍然依赖循环神经网络实现输入表示的自注意力模型 (Cheng  阅读全文
posted @ 2023-11-16 18:02 Yohoc 阅读(136) 评论(0) 推荐(0) 编辑
摘要:在深度学习中,经常使用卷积神经网络(CNN)或循环神经网络(RNN)对序列进行编码。 想象一下,有了注意力机制之后,我们将词元序列输入注意力池化中, 以便同一组词元同时充当查询、键和值。 具体来说,每个查询都会关注所有的键-值对并生成一个注意力输出。 由于查询、键和值来自同一组输入,因此被称为 自注 阅读全文
posted @ 2023-11-16 17:06 Yohoc 阅读(175) 评论(0) 推荐(0) 编辑
摘要:在实践中,当给定相同的查询、键和值的集合时, 我们希望模型可以基于相同的注意力机制学习到不同的行为, 然后将不同的行为作为知识组合起来, 捕获序列内各种范围的依赖关系 (例如,短距离依赖和长距离依赖关系)。 因此,允许注意力机制组合使用查询、键和值的不同 子空间表示(representation s 阅读全文
posted @ 2023-11-16 16:11 Yohoc 阅读(44) 评论(0) 推荐(0) 编辑
摘要:9.7节中探讨了机器翻译问题: 通过设计一个基于两个循环神经网络的编码器-解码器架构, 用于序列到序列学习。 具体来说,循环神经网络编码器将长度可变的序列转换为固定形状的上下文变量, 然后循环神经网络解码器根据生成的词元和上下文变量 按词元生成输出(目标)序列词元。 然而,即使并非所有输入(源)词元 阅读全文
posted @ 2023-11-16 13:26 Yohoc 阅读(106) 评论(0) 推荐(0) 编辑
摘要:10.2节使用了高斯核来对查询和键之间的关系建模。 (10.2.6)中的 高斯核指数部分可以视为注意力评分函数(attention scoring function), 简称评分函数(scoring function), 然后把这个函数的输出结果输入到softmax函数中进行运算。 通过上述步骤,将 阅读全文
posted @ 2023-11-16 12:03 Yohoc 阅读(201) 评论(0) 推荐(0) 编辑
摘要:上节介绍了框架下的注意力机制的主要成分 图10.1.3: 查询(自主提示)和键(非自主提示)之间的交互形成了注意力汇聚; 注意力汇聚有选择地聚合了值(感官输入)以生成最终的输出。 本节将介绍注意力汇聚的更多细节, 以便从宏观上了解注意力机制在实践中的运作方式。 具体来说,1964年提出的Nadara 阅读全文
posted @ 2023-11-16 11:39 Yohoc 阅读(225) 评论(0) 推荐(0) 编辑
摘要:查询、键和值 自主性的与非自主性的注意力提示解释了人类的注意力的方式, 下面来看看如何通过这两种注意力提示, 用神经网络来设计注意力机制的框架, 首先,考虑一个相对简单的状况, 即只使用非自主性提示。 要想将选择偏向于感官输入, 则可以简单地使用参数化的全连接层, 甚至是非参数化的最大汇聚层或平均汇 阅读全文
posted @ 2023-11-16 10:17 Yohoc 阅读(51) 评论(0) 推荐(0) 编辑
摘要:束搜索(Beam Search)、贪心搜索(Greedy Search)和穷举搜索(Exhaustive Search)是在搜索领域常用的三种搜索算法,它们在不同的场景下有着不同的特点和应用。 束搜索(Beam Search): 束搜索是一种用于寻找最有可能的输出序列的搜索算法,常用于序列生成任务, 阅读全文
posted @ 2023-11-15 17:29 Yohoc 阅读(634) 评论(0) 推荐(0) 编辑
摘要:我们将使用两个循环神经网络的编码器和解码器, 并将其应用于序列到序列(sequence to sequence,seq2seq)类的学习任务。 编码器 由于这里使用的是门控循环单元, 所以在最后一个时间步的多层隐状态的形状是 (隐藏层的数量,批量大小,隐藏单元的数量)。 如果使用长短期记忆网络,st 阅读全文
posted @ 2023-11-15 16:58 Yohoc 阅读(203) 评论(0) 推荐(0) 编辑
摘要:正如我们在 9.5节中所讨论的, 机器翻译是序列转换模型的一个核心问题, 其输入和输出都是长度可变的序列。 为了处理这种类型的输入和输出, 我们可以设计一个包含两个主要组件的架构: 第一个组件是一个编码器(encoder): 它接受一个长度可变的序列作为输入, 并将其转换为具有固定形状的编码状态。 阅读全文
posted @ 2023-11-15 12:54 Yohoc 阅读(292) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示