2026/3/27 12:17:43
网站建设
项目流程
做和别人类似的网站侵权吗,那种漂亮的网站怎么做的,深圳企业建站公司,代理记账公司排名前十强此分类用于记录吴恩达深度学习课程的学习笔记。
课程相关信息链接如下#xff1a;
原课程视频链接#xff1a;[双语字幕]吴恩达深度学习deeplearning.aigithub课程资料#xff0c;含课件与笔记:吴恩达深度学习教学资料课程配套练习#xff08;中英#xff09;与答案#…此分类用于记录吴恩达深度学习课程的学习笔记。课程相关信息链接如下原课程视频链接[双语字幕]吴恩达深度学习deeplearning.aigithub课程资料含课件与笔记:吴恩达深度学习教学资料课程配套练习中英与答案吴恩达深度学习课后习题与答案本篇为第五课的第二周内容2.6的内容以及一些相关知识的补充。本周为第五课的第二周内容与 CV 相对应的这一课所有内容的中心只有一个自然语言处理Natural Language ProcessingNLP。应用在深度学习里它是专门用来进行文本与序列信息建模的模型和技术本质上是在全连接网络与统计语言模型基础上的一次“结构化特化”也是人工智能中最贴近人类思维表达方式的重要研究方向之一。这一整节课同样涉及大量需要反复消化的内容横跨机器学习、概率统计、线性代数以及语言学直觉。语言不像图像那样“直观可见”更多是抽象符号与上下文关系的组合因此理解门槛反而更高。因此我同样会尽量补足必要的背景知识尽可能用比喻和实例降低理解难度。本周的内容关于词嵌入是一种相对于独热编码更能保留语义信息的文本编码方式。通过词嵌入模型不再只是“记住”词本身而是能够基于语义关系进行泛化在一定程度上实现类似“举一反三”的效果。词嵌入是 NLP 领域中最重要的基础技术之一。本篇的内容关于Word2Vec这是词嵌入领域中里程碑式的内容。1. Word2Vec在上一篇里我们提到了早期的词嵌入模型虽然实现了通过神经网络学习词向量但在计算成本与实际性能上仍然存在明显的优化空间。因此正如 CNN 是在传统卷积操作基础上的系统化建模RNN 是对一般循环结构的模型化抽象 一样在词嵌入这一思想被提出之后围绕其训练效率、表示质量与可扩展性的一系列新模型与新技术便不断出现。而这些改进在解决旧问题的同时又会引入新的结构性挑战推动研究不断向前演进。正是在这种“问题—改进—新问题”的循环中计算机科学得以持续发展。在词嵌入领域同样如此当使用神经网络学习连续词向量被证明可行之后新的问题就是如何在保证表示质量的同时提高实际部署价值让词向量能够更高效、稳定地训练出来正是在这样的背景下Mikolov 等人于 2013 年在论文Efficient Estimation of Word Representations in Vector Space中提出了Word2Vec。简单说明一下Word2Vec 的命名来源于“Word to Vec”其中的“2”是工程写法相当于to直观表达了“从词汇到向量”的映射思想。在论文中作者并未引入复杂的深层网络结构而是通过极其简洁的模型设计与目标函数重构大幅提升了词向量学习的效率使其首次具备在超大规模语料上训练的可行性。同年在论文 Distributed Representations of Words and Phrases and their Compositionality 中作者进一步引入了负采样Negative Sampling等近似训练策略在不显著牺牲表示质量的前提下将训练复杂度从依赖词表规模的 Softmax 形式降为常数级从而使词嵌入模型真正成为 NLP 系统中的基础组件。尽管如今有更先进的上下文相关嵌入模型Word2Vec 的思想仍然具有重要价值它奠定了现代词嵌入方法的理论基础并在轻量级、资源受限的场景中仍可提供高效、可解释的词向量。需要强调的是Word2Vec 并不是某一个具体的神经网络结构名称而是对一类词向量学习方法的统称主要包括两种基本模型CBOWContinuous Bag-of-Words根据上下文词预测中心词。Skip-gram根据中心词预测上下文词。还是简单过了过历史下面就来详细展开这部分内容。1.1 连续词袋模型 (Continuous Bag-of-WordsCBOW)CBOW 的思想并不复杂相对于上一篇中早期词嵌入模型的模型设计CBOW 最大的改变其实是对上下文信息的选择和词向量处理部分。我们分点来进行展开1数据准备首先一句话概括一下 CBOW 的核心思想 用上下文词来预测中心词。所谓“上下文词”就是目标词前后一定范围内的词这个范围同样还是由窗口大小\(t\)决定。只是不同于之前的只使用目标词前\(t\)个词CBOW 中的窗口大小表示中心词左右各最多\(t\)个词。这里可能混淆我们展开一下对于中心词模型会把左右\(1\sim t\)个词作为上下文集合如果左右不足所选窗口大小个词如在句首或句尾就取实际存在的词。举个例子对于句子/* by 01130.hk - online tools website : 01130.hk/zh/htmlescapechar.html */ I want to go to the ____ to get a few potato chips假如窗口大小为 2训练时可能存在以下两种选择左右各选 1 个词左边 1 个词/* by 01130.hk - online tools website : 01130.hk/zh/htmlescapechar.html */ the右边 1 个词to上下文集合\(\{\text{the}, \text{to}\}\)左右各选 2 个词左边 2 个词to,the右边 2 个词to,get上下文集合\(\{\text{to}, \text{the}, \text{to}, \text{get}\}\)你会发现在 CBOW 训练时窗口大小\(t\)只规定了一个最大值左右各选 1~t 个上下文词是随机的这样模型可以在不同组合下学习更鲁棒的词向量。但同时你可能也会发现一个问题如果还按照之前拼接词向量的逻辑那么这种不固定长度的选词模式就会带来模型输入维度的不统一。这个问题在 CBOW 中是怎么解决的我们继续2模型传播实际上在模型结构方面CBOW 进行的改动不多但为了处理可变长度上下文和提升训练效率它做了几个关键优化。我们先整体看一看它的传播过程这里展开几个更改的内容对词向量的处理从拼接改为取平均或求和这一步极大缩小了模型输入的维度从而减少了计算成本。但这不是没有代价这样的操作忽略了信息的顺序 没有顺序的信息就像被一股脑地装进了一个袋子里交给模型这也是 CBOW 命名的由来。隐藏层没有使用激活函数引入非线性这一步通过简化模型结构来提高训练效率但同样这也让模型失去了非线性能力。看到这里你会发现这些优化好像有利有弊并没有我们想象的那么“完美”。实际上CBOW 的优化体现了一个权衡通过求平均和去掉非线性它在训练效率和可扩展性上获得了显著优势但同时牺牲了顺序信息和非线性表达能力顺序信息完全丢失模型无法区分左右词序。最终CBOW 更像是在训练词汇的统计共现规律适合在大规模语料上快速学习基础词向量但对复杂上下文或语义关系的建模能力有限。相应地它在速度、资源消耗和向量可解释性方面具有明显优势。而Word2Vec中的另一类模型Skip-gram 便与之不同我们继续1.2 Skip-gramSkip-gram 的核心思想与 CBOW 相反用中心词去预测它的上下文词也就是说CBOW 是“上下文 → 中心词”而 Skip-gram 是“中心词 → 上下文词”。这种方向的转换使 Skip-gram 在捕捉稀有词语义时表现更优我们按同样的格式来展开1数据准备Skip-gram 也依赖窗口大小\(t\)来确定上下文范围对于句子I want to go to the pier to get a few potato chips假如中心词选择pier窗口大小\(t2\)它的上下文集合就是中心词左右各最多2 个词左侧上下文to,the右侧上下文to,get到这部分的逻辑它和 CBOW 是相同的而不同之处在这里Skip-gram 会将每一个上下文词与中心词组成一个训练样本生成多条训练对就像这样中心词上下文词pierthepiertopiertopierget而 Skip-gram 的传播过程也和 CBOW 有所不同我们在下面来详细展开2模型传播首先要明确的核心点是在 Skip-gram 中只有中心词的词向量被输入模型。它的具体传播过程如下同样强调一些细节同一中心词形成的多个训练对每个都作为独立样本输入模型重复的训练对不会去重。上下文词即为该样本的标签模型以此计算损失并训练中心词的词向量。同时你会发现Skip-gram 同样忽略了上下文词的顺序以换取在大规模语料上的训练效率。它的本质也是在捕捉词汇的统计共现规律但相比 CBOW每个上下文词都单独训练因此不容易被高频词“淹没”能学习更细粒度的词向量。在实践中多个训练对通常组成 batch一次性向量化计算来提高训练效率。1.3 对比和小结Word2Vec 的两类基本模型 CBOW 和 Skip-gram 在训练目标、数据处理和适用场景上各有特点但都体现了 Word2Vec 的核心价值通过简单、高效的神经网络结构将词汇映射为向量从而捕捉词汇的统计共现规律和语义特征。我们简单对比总结如下特性CBOWSkip-gram训练目标上下文 → 中心词中心词 → 上下文输入上下文词向量求平均或求和中心词向量输出中心词预测上下文词预测样本生成每个中心词 1 个训练样本每个中心词 × 上下文词数 个训练样本稀有词建模不擅长更稳健顺序信息丢失丢失计算效率高相对低可用负采样优化适用场景高频词快速学习、大规模语料低频词学习、捕捉长尾语义向量质量平滑、基础语义关系更细粒度、长尾词语义表现好最后Word2Vec 提供了效率、可扩展性与语义捕捉能力的平衡方案CBOW 注重训练速度和高频词表示Skip-gram 注重低频词和长尾词的语义细节。但二者同样具有局限性主要在于在于顺序信息丢失和标准 Softmax 在大词表下计算开销高这也为我们之后要介绍的负采样和分层 Softmax等优化策略提供了研究和应用空间。2.总结概念原理比喻Word2Vec通过浅层神经网络将词汇映射为稠密向量学习词汇的统计共现规律就像给每个词配一个“身份卡片”卡片上的信息可以反映它与其他词的关系CBOW以上下文词预测中心词输入为上下文向量的平均或求和输出为中心词概率像根据周围邻居的描述来猜某个人是谁信息平均处理顺序不重要Skip-gram以中心词预测每个上下文词输入为中心词向量输出为上下文词概率像一个人介绍自己时把自己的特征逐一告诉周围人每条信息单独训练训练样本生成CBOW每个中心词生成 1 个训练样本Skip-gram每个中心词 × 上下文词数生成多条样本CBOW 是一次性“汇总邻居描述”Skip-gram 是逐条“对每个邻居单独说明”局限性顺序信息丢失标准 Softmax 在大词表下计算开销高就像在聚餐中只知道菜里有哪些食材但不清楚顺序如果菜太多要统计全部组合很费力