吴恩达深度学习课程五:自然语言处理 第二周:词嵌入(五)GloVe 算法

此分类用于记录吴恩达深度学习课程的学习笔记。
课程相关信息链接如下:

  1. 原课程视频链接:[双语字幕]吴恩达深度学习deeplearning.ai
  2. github课程资料,含课件与笔记:吴恩达深度学习教学资料
  3. 课程配套练习(中英)与答案:吴恩达深度学习课后习题与答案

本篇为第五课的第二周内容,2.8的内容以及一些相关知识的补充。


本周为第五课的第二周内容,与 CV 相对应的,这一课所有内容的中心只有一个:自然语言处理(Natural Language Processing,NLP)
应用在深度学习里,它是专门用来进行文本与序列信息建模的模型和技术,本质上是在全连接网络与统计语言模型基础上的一次“结构化特化”,也是人工智能中最贴近人类思维表达方式的重要研究方向之一。
这一整节课同样涉及大量需要反复消化的内容,横跨机器学习、概率统计、线性代数以及语言学直觉。
语言不像图像那样“直观可见”,更多是抽象符号与上下文关系的组合,因此理解门槛反而更高
因此,我同样会尽量补足必要的背景知识,尽可能用比喻和实例降低理解难度。
本周的内容关于词嵌入,是一种相对于独热编码,更能保留语义信息的文本编码方式。通过词嵌入,模型不再只是“记住”词本身,而是能够基于语义关系进行泛化,在一定程度上实现类似“举一反三”的效果。词嵌入是 NLP 领域中最重要的基础技术之一。

本篇的内容关于 GloVe 算法,是 Word2Vec 外,另一种以“全局”思想指导的词嵌入算法。

1. GloVe 算法思想

在前面介绍 Word2Vec 时,我们已经看到了一条非常清晰的学习路线:通过预测任务,让模型在训练中“顺便”学到词的向量表示。这种思路高效且直观,但也有一个绕不开的事实——它几乎完全依赖局部上下文
这不难理解,在 Word2Vec 中,我们每次训练,都是使用窗口内的序列信息来学习相应的语义并更新词向量,即使把窗口调大,一次最多也只是使用一句话的信息,我们的词向量是在一次次更新中慢慢“调”出来的。

由此,一个新的想法产生了:如果我们不只看窗口内的几步关系,而是把“整个语料里,词与词出现过多少次”都考虑进来,会发生什么?

GloVe 正是这一想法的产物。
在 2014 年,论文 GloVe: Global Vectors for Word Representation被发表,论文认为词的语义信息,本质上蕴含在词与词的全局共现统计关系中,而词向量的任务,就是用一个低维连续空间去重现这种统计结构。
最终,GloVe 将传统共现统计方法的全局视角,与分布式词向量的表达能力结合起来,形成了一种介于“计数方法”和“预测方法”之间的折中方案。
这里要专门说明的是,相比于传统神经网络,GloVe 没有隐藏层或激活函数,更像是一条通过词向量内积加偏置构成的线性计算流水线,但它仍然使用梯度下降来更新参数,实现对共现统计信息的拟合,我们很难用模型那一套来描述它,因此也相对较难理解。
下面就来分点展开 GloVe 算法的实现逻辑:

2. GloVe 算法的统计部分

GloVe 算法 的起手其实是传统的共现统计方法,这一部分并不涉及模型训练,而是对数据进行统计和处理,得到词汇间的全局关系。
依旧分点来看这部分内容:

2.1 统计词共现矩阵

词共现矩阵 是传统统计方法里的基础概念,顾名思义,它是用来表示词与词之间共现关系的矩阵

规范一下,设词表大小为 \(V\),定义一个矩阵 \(X \in \mathbb{R}^{V \times V}\),其中:

\[X_{ij} = \text{词 } j \text{ 出现在词 } i \text{ 上下文中的次数} \]

简单举个例子,假设语料只有一句话:

I like deep learning

显然,词表为:

\[\{\text{I},\ \text{like},\ \text{deep},\ \text{learning}\} \]

现在,设定上下文窗口大小为 1,即只考虑左右各一个词。
我们统计各词的共性关系如下:

  1. I 为中心:上下文只有 like
  2. like 为中心:上下文是 Ideep
  3. deep 为中心:上下文是 likelearning
  4. learning 为中心:上下文只有 deep

由此,我们可以得到完整的词共现矩阵 \(X\)

\[X = \begin{array}{c|cccc}& \text{I} & \text{like} & \text{deep} & \text{learning} \\ \hline \text{I} & 0 & 1 & 0 & 0 \\ \text{like} & 1 & 0 & 1 & 0 \\ \text{deep} & 0 & 1 & 0 & 1 \\ \text{learning} & 0 & 0 & 1 & 0 \\ \end{array} \]

补充几点细节:

  1. 在常见的统计设定中,通常手工设定不将词与自身计入共现关系,因此共现矩阵的对角线往往为 0,但在真实语料中,若相同词在窗口范围内连续出现,则对应的对角元素也可能为非零值。
  2. 词共现矩阵往往是高度稀疏的,大多数词对在语料中根本不会共现。
  3. 词共现矩阵是否对称,取决于设计的统计方式,在对称窗口下,这里的 \(X\) 是对称的,若区分左右上下文,矩阵则不一定对称。

由此,我们就完成了 GloVe 算法在统计部分的第一步。
下一步,我们会把共现次数 \(X_{ij}\) 转化为条件概率 \(P(j|i)\),进一步引入向量训练的目标。

2.2 统计条件概率 \(P(j \mid i)\)

在完成共现矩阵统计后,GloVe 的下一步是把绝对共现次数转化为条件概率,从而刻画词与词之间更直观的关系。
我们定义条件概率为:

\[P(j \mid i) = \frac{X_{ij}}{\sum_k X_{ik}} \]

其中:

  • \(X_{ij}\) 是词 \(j\) 出现在词 \(i\) 上下文中的次数,来自词共现矩阵。
  • \(\sum_k X_{ik}\) 是以词 \(i\) 为中心时,所有上下文词出现次数的总和

最终,\(P(j \mid i)\) 表示在语料库中,已知中心词为 \(i\) 的前提下,上下文词为 \(j\) 的经验概率。

我们继续使用上一节中的例子,根据共现矩阵:

\[X = \begin{array}{c|cccc}& \text{I} & \text{like} & \text{deep} & \text{learning} \\ \hline \text{I} & 0 & 1 & 0 & 0 \\ \text{like} & 1 & 0 & 1 & 0 \\ \text{deep} & 0 & 1 & 0 & 1 \\ \text{learning} & 0 & 0 & 1 & 0 \\ \end{array} \]

我们可以计算条件概率,例如:

  1. like 为中心:

\[\sum_k X_{\text{like},k} = 1 + 0 + 1 + 0 = 2 \]

于是:

\[P(\text{I} \mid \text{like}) = \frac{1}{2} = 0.5, \quad P(\text{deep} \mid \text{like}) = \frac{1}{2} = 0.5 \]

  1. I 为中心:

\[\sum_k X_{\text{I},k} = 0 + 1 + 0 + 0 = 1 \]

所以:

\[P(\text{like} \mid \text{I}) = 1 \]

最终,通过这种方式,我们就得到了语料库中每个词的上下文概率分布。
我们整理例子的概率分布矩阵如下:

\[P = \begin{array}{c|cccc} & \text{I} & \text{like} & \text{deep} & \text{learning} \\ \hline \text{I} & 0 & 1 & 0 & 0 \\ \text{like} & 0.5 & 0 & 0.5 & 0 \\ \text{deep} & 0 & 0.5 & 0 & 0.5 \\ \text{learning} & 0 & 0 & 1 & 0 \\ \end{array} \]

其中:

  • 行表示中心词 \(i\)
  • 列表示上下文词 \(j\)
  • 每个元素 \(P_{ij}\) 即为 \(P(j|i)\)

自此,我们就完成了GloVe 算法在统计部分的全部内容。
下面,就是它的建模部分。

3. GloVe 算法的模型部分

在完成统计阶段后,我们得到了全局的共现信息及概率分布。模型部分的核心任务就是:利用这些统计信息训练出词向量,使得词向量能够反映词与词之间的语义关系

GloVe 的核心思想可以概括为一句话:词向量的内积应该能够拟合词与词之间的共现概率
我们依旧分点来进行这部分内容:

3.1 计算概率比例

首先,GloVe 并不直接去拟合条件概率 \(P(j|i)\),而是利用概率比例刻画语义关系。
设有中心词 \(i\),上下文词 \(j\)\(k\),则概率比例如下:

\[\frac{P(j \mid i)}{P(k \mid i)} \]

这并不难理解:

  • 如果比例大,说明 \(i\) 更倾向于与 \(j\) 一起出现。
  • 如果比例小,说明 \(i\) 更倾向于与 \(k\) 一起出现。

继续使用同样的例子,我们刚刚得到条件概率矩阵如下:

\[P = \begin{array}{c|cccc} & \text{I} & \text{like} & \text{deep} & \text{learning} \\ \hline \text{I} & 0 & 1 & 0 & 0 \\ \text{like} & 0.5 & 0 & 0.5 & 0 \\ \text{deep} & 0 & 0.5 & 0 & 0.5 \\ \text{learning} & 0 & 0 & 1 & 0 \\ \end{array} \]

对于中心词 like,其上下文词分别为 Ideep,则:

\[\frac{P(\text{I} \mid \text{like})}{P(\text{deep} \mid \text{like})} = \frac{0.5}{0.5} = 1 \]

这个比例表示,“like”与“I”和“deep”的关系同样强
换句话说,如果模型想拟合这个关系,词向量在空间中的表现应该让 like-Ilike-deep 的内积接近。

而如果概率比例不是 1,例如假设在更大语料中统计到:

\[P(\text{I} \mid \text{like}) = 0.3, \quad P(\text{deep} \mid \text{like}) = 0.6 \]

则比例为:

\[\frac{P(\text{I} \mid \text{like})}{P(\text{deep} \mid \text{like})} = \frac{0.3}{0.6} = 0.5 \]

这个比例小于 1,说明“like”更倾向于与 deep 一起出现,与 I 的关联较弱。模型训练时,GloVe 就会尝试让词向量 like-deep 的内积大于 like-I 的内积,以反映这种强弱关系。

这一步,我们通过比例概率实现了对语义的量化,而下一步就是 GloVe 的核心内容:

3.2 构建向量关系

在这一步,GloVe 就可以将概率比例量化的语义偏好转化为向量空间中的相对位置,从而实现统计信息到词向量的映射。
换句话说,我们希望通过训练得到的词向量,使得在向量空间中,中心词与上下文词的相对位置能够反映它们在语料中的共现强弱
来看看 GloVe 实现这一步的具体逻辑:

首先,设定:

  1. 中心词 \(i\) 的词向量为 \(w_i \in \mathbb{R}^d\)
  2. 上下文词 \(j,k\) 的词向量为 \(\tilde w_j, \tilde w_k \in \mathbb{R}^d\)

GloVe 通过以下假设将概率比例与向量联系起来:

\[F(w_i, \tilde w_j, \tilde w_k) = \frac{P(j \mid i)}{P(k \mid i)} \]

其中函数 \(F\) 的含义是:用向量操作去表示概率比例,模型的目标就是拟合这个函数 \(F\)

也就是说,我们的目标是:

\[\frac{P(j \mid i)}{P(k \mid i)} \approx {\text{模型预测的某个函数值}}{} \]

但是,直接拟合比例本身有几个问题

  1. 比例范围广:条件概率 \(P(j|i)\) 属于 \([0,1]\),两个概率比值可能非常大或非常小(比如 \(0.001/0.5 = 0.002\)),直接拟合容易数值不稳定。
  2. 向量空间线性映射困难:我们希望用向量内积(\(w_i^\top \tilde w_j\))表示关系,但向量内积是线性且可正可负,而概率比总是正且变化范围大,直接用内积去拟合会很不直观,也容易数值不稳定。

所以我们需要一个桥梁函数,把比例转换成更适合线性建模的形式。

3.3 转换概率比例

在这里,GloVe 选择了 对数函数,把比例变成 内积差

\[\log \frac{P(j \mid i)}{P(k \mid i)} =\log P(j|i) - \log P(k|i) \approx (w_i^\top \tilde w_j + b_i + \tilde b_j) - (w_i^\top \tilde w_k + b_i + \tilde b_k) \]

我们来详细解释一下这步推导的逻辑:

  1. 对数的作用:
    对数函数可以把原本范围很广的正数概率比压缩到数值更稳定的区间,并且把乘法关系转化为加法关系。数值范围收敛,更利于模型学习,同时便于线性处理。
  2. 对映射的影响
    取了对数之后,原本的比例关系就转化为“加减法”的形式,而向量内积本身就是线性可加的操作(\(w_i^\top \tilde w_j\) 是实数线性组合)。对数后的比例差可以直接用 线性模型(内积加偏置)来拟合,保证概率比越大,内积差越大;概率比越小,内积差越小。
  3. 偏置项的作用
    偏置项 \(b_i, \tilde b_j\) 用于捕捉词自身的出现频率差异
    高频词往往在语料中出现次数多,直接用向量内积可能被整体频率影响而偏离比例。
    偏置项可以单独调整每个词的基准水平,让向量内积专注于词与词之间的相对关系,而不受词频本身干扰。

最终,我们通过公式实现了这样的作用:

\[\text{概率比例(统计信息)} \xrightarrow{\log} \text{线性可加的形式} \xrightarrow{\text{内积+偏置}} \text{向量表示拟合目标} \]

回到例子,假设在某大语料中统计到:

\[P(\text{I} \mid \text{like}) = 0.3, \quad P(\text{deep} \mid \text{like}) = 0.6 \]

则:

\[\log \frac{P(\text{I} \mid \text{like})}{P(\text{deep} \mid \text{like})} = \log 0.5 \approx -0.693 \]

因此,模型希望通过训练得到的向量,使得:

\[(w_\text{like}^\top \tilde w_\text{I} + b_\text{like} + \tilde b_\text{I}) - (w_\text{like}^\top \tilde w_\text{deep} + b_\text{like} + \tilde b_\text{deep}) \approx -0.693 \]

这样,训练后,词向量在空间中,“like” 会更靠近 “deep”,远离 “I”,以反映概率比例。

下面就是最后一步了:

3.4 构建损失函数并训练

在完成概率比例到向量内积映射后,GloVe 还需要一个可优化的损失函数来让训练可执行。
这一步的思想是:让向量内积(加偏置)尽量逼近对数共现概率,同时对高频和低频词对做合理的权衡。

GloVe 的损失函数定义为:

\[J = \sum_{i,j=1}^{V} f(X_{ij}) \left( w_i^\top \tilde w_j + b_i + \tilde b_j - \log X_{ij} \right)^2 \]

看起来很复杂,实际上也不简单,我们详细解释一下各部分含义:

  1. 权重函数 \(f(X_{ij})\)
    为了平衡高频和低频词对的影响,GloVe 引入了一个加权函数:

    \[ f(x) =\begin{cases} \left(\dfrac{x}{x_\text{max}}\right)^\alpha, & x < x_\text{max} \\1, & x \ge x_\text{max}\end{cases} \]

    这里 \(x_\text{max}\) 是阈值,\(\alpha\) 通常取 \(0.75\)
    这是为了让高频词对不会主导训练,低频词对仍有一定权重。

  2. \(w_i^\top \tilde w_j + b_i + \tilde b_j\) :模型预测的对数共现次数,即词向量加偏置的线性组合。

  3. \(\log X_{ij}\) :对应统计信息的对数共现次数,是我们希望模型逼近的目标。

  4. 平方误差 \((\cdot)^2\) :衡量预测值与目标值之间的差距,使模型通过梯度下降最小化误差。

这里就可以解释我们在本周第一篇中留下的问题:词向量的长度受什么影响?
因为高频词在语料中出现次数多,因此它的共现矩阵行/列上的元素整体偏大,经过训练后,模型为了尽量逼近 \(\log X_{ij}\),会使得这些高频词的向量内积整体偏大,从而对应的向量长度也相对较长。
也就是说,词向量的长度与词频正相关,但本身没有其他明确的语义解释,只是统计特性导致的结果。

同时,在这里你可能会有一个问题:我们刚刚引入了概率比例和内积差的关系,为什么损失函数里都没有用到?
实际上,对某个中心词 \(i\),任意两个上下文词 \(j,k\),若你看损失梯度,会发现:
在优化过程中,梯度会自然调整 \(w_i\),让 共现次数更多、概率大的词对应内积更大,共现次数更少、概率小的词对应内积更小
换句话说,比例关系会通过梯度自动体现出来,不需要显式算比值,并且这样还避免了显式计算所有词对之间的概率比造成的计算开销。

还是用我们的例子,假设在大语料中:

中心词 上下文词 共现次数 \(X_{ij}\)
like I 3
like deep 6

则训练目标:

  1. like-I
    • 目标 \(\log X_{\text{like,I}} = \log 3 \approx 1.099\)
    • 模型希望 \(w_\text{like}^\top \tilde w_\text{I} + b_\text{like} + \tilde b_\text{I} \approx 1.099\)
  2. like-deep
    • 目标 \(\log X_{\text{like,deep}} = \log 6 \approx 1.792\)
    • 模型希望 \(w_\text{like}^\top \tilde w_\text{deep} + b_\text{like} + \tilde b_\text{deep} \approx 1.792\)
  3. 权重函数 \(f(X_{ij})\) 可以调节两者在训练中的影响,使模型更稳健。

训练时,GloVe 会遍历所有有共现的词对,计算加权平方误差,利用梯度下降优化 \(w_i, \tilde w_j, b_i, \tilde b_j\),直到误差收敛。
最后,你会发现,GloVe 的整个传播过程同时在维护两个词向量矩阵:

  1. 中心词向量 \(w_i\)
  2. 上下文词向量 \(\tilde w_j\)
    而通常,我们将两者相加或平均作为最终词向量:

\[v_i = w_i + \tilde w_i \]

这样得到的 \(v_i\) 便同时存在作为中心词和上下文词的语义距离,刻画了词与词之间的全局共现关系。

4. 总结

因为 GloVe 相比起来较为复杂,这里我们不再表格整理概念了,而是整体梳理一遍其传播过程
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1206954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

半导体 IT 基础设施转型实践合集|以自建云平台支持研发与核心生产,实现 VMware 替代

在飞速发展的科技时代&#xff0c;半导体日益成为全球经济发展的关键驱动力。半导体设计、制造、封测与材料/设备等细分领域采用的 IT 系统有所区别&#xff0c;对 IT 基础架构的需求也不尽相同&#xff1a; 半导体设计领域需要可灵活扩容、支持容器环境的 IT 基础设施&#x…

怪奇物语第五季, 附 win11如何禁止系统自动更新教程步骤

怪奇物语第5季百度网盘4K 链接: https://pan.baidu.com/s/1R7I3VkG6RQRd6-Srq1em4Q?pwd38pg 提取码: 38pg win11如何禁止系统自动更新 关闭Windows系统的自动更新可以通过多种方法实现&#xff0c;以下将详细介绍六种不同的方法。请注意&#xff0c;关闭自动更新可能会使您的…

AI驱动验收测试:重塑软件交付流程的智能引擎

测试工程师的困境与AI破局 在敏捷开发成为主流的今天&#xff0c;测试团队面临两大核心矛盾&#xff1a; 需求爆炸&#xff1a;每周迭代数百需求&#xff0c;人工编写验收用例耗时占比超40% 场景黑洞&#xff1a;金融/医疗等领域复杂业务流&#xff0c;传统脚本覆盖不足30%关…

灵活的自定义 WebView 组件(新版本)

效果图: 1.1 什么是 MyWebViewNew MyWebViewNew 是一个功能强大的自定义 WebView 组件,专为 Android 平台设计。它继承自原生 WebView,同时采用组合模式,提供了高度的灵活性和可扩展性。 1.2 设计理念 继承与组合并存:继承 WebView 保持 API 兼容性,同时使用组合模式实…

‌实战分享:AI在Web应用测试中的高效方案‌

测试行业的智能化拐点 2025年全球测试自动化渗透率突破65%&#xff08;Gartner&#xff09;&#xff0c;但传统脚本维护成本仍占据测试总时长40%。本文基于金融、电商领域实战案例&#xff0c;解析如何通过AI技术实现测试效率的指数级提升。 一、AI重构测试核心环节 1.1 智能…

AI驱动、0代码,设计并构建属于你的多平台原生 APP?

想必做移动端的朋友们肯定或多或少听说过 Kotlin 和 Compose Multiplatform, 前者是 JetBrains 开源、Google 首推用于 Android 开发(自2019 年 Google I/O 大会起)的现代开发语言, 后者是使用 Compose API 开发多端(Android、iOS、桌面端、Web端等)应用的UI框架。 但是…

‌软件开发前沿:生成式AI的实战挑战——给软件测试从业者的深度实战指南

一、生成式AI正在重塑测试工作流&#xff1a;从“手工编写”到“智能协同”‌ 生成式AI已不再是测试领域的实验性工具&#xff0c;而是成为‌日常质量保障流水线的核心引擎‌。根据2025年行业调研&#xff0c;‌75%的软件企业已将生成式AI纳入测试流程‌&#xff0c;其渗透率远…

ARM Q 饱和运算快速入门指南

在 ARM 嵌入式开发(尤其是信号处理、音视频编解码、传感器数据处理)中,普通算术运算的 “数值回绕” 问题极易导致数据错误,而**Q 饱和运算**是解决该问题的核心方案。在 ARM 嵌入式开发(尤其是信号处理、音视频编…

‌测试从业者调研:AI工具痛点与解决方案‌

AI测试工具的崛起与挑战 随着人工智能技术深入软件测试领域&#xff0c;AI工具如生成式对抗网络&#xff08;GAN&#xff09;、强化学习&#xff08;RL&#xff09;和自然语言处理&#xff08;NLP&#xff09;正重塑测试流程&#xff0c;提升效率与覆盖率。然而&#xff0c;测…

深入浅出 Julia:从零基础到科学机器学习

1. 引言&#xff1a;打破“双语言问题”的科学计算新范式 在很长一段时间里&#xff0c;科学计算和高性能工程领域被一种被称为“双语言问题”&#xff08;Two-Language Problem&#xff09;的现象所困扰。科学家和工程师们通常使用 Python 或 MATLAB 这样的高级动态语言进行算…

SCIR框架:基于自校正迭代精炼的增强型信息提取范式

1. 论文核心概要 (Executive Summary) 本论文提出了一种名为SCIR&#xff08;Self-Correcting Iterative Refinement&#xff09;的全新信息提取范式&#xff0c;旨在解决传统大语言模型微调范式中存在的高训练成本及偏好对齐困难等核心痛点&#xff0c;通过引入“即插即用”的…

为什么你的大模型微调项目像个“无底洞”?

—— 揭秘 LLM 落地中的高昂成本与“版本陷阱”在 AI 浪潮下&#xff0c;很多企业和开发者都有一个共识&#xff1a;“想让大模型在我的垂直领域&#xff08;如医疗、金融、法律&#xff09;表现好&#xff0c;必须进行微调&#xff08;Fine-tuning&#xff09;。”这听起来很美…

揭秘大模型微调中的【偏好对齐】陷阱

在 AI 落地应用中&#xff0c;我们经常遇到一种令人抓狂的现象&#xff1a; 你花大价钱微调了一个行业大模型&#xff0c;让它处理信息提取&#xff08;Information Extraction, IE&#xff09;任务&#xff0c;比如从合同中提取条款或从病历中提取诊断结果。 然而&#xff0c;…

详解无线网络的“防撞”智慧

无线网络&#xff08;Wi-Fi&#xff09;和蓝牙是我们每天都在用的技术&#xff0c;但你有没有想过&#xff1a;当几十台手机同时在一个房间里抢网速时&#xff0c;为什么信号没有在空气中撞成一锅粥&#xff1f; 答案在于一套精心设计的“交通规则”。今天我们结合6张核心技术…

数据仓库生命周期管理:从建模到退役全流程

数据仓库生命周期管理&#xff1a;从建模到退役全流程 关键词&#xff1a;数据仓库、生命周期管理、维度建模、ETL、数据退役、数据归档、数据质量监控 摘要&#xff1a;数据仓库就像企业的“数字大脑”&#xff0c;存储着海量业务数据&#xff0c;支撑着决策分析。但你知道吗&…

学习进度 7

今天接着琢磨昨天的过拟合和参数选择问题。先查了资料,知道过拟合就是模型把训练数据学太死,记了很多没用的细节,导致测试数据不准。然后跟着教程加了个Dropout层,就是训练的时候随机让一部分神经元不工作,防止模…

LVS的DR模式部署

目录 一、部署前提 二、所有节点基础配置 1.关闭防火墙和 SELinux 2.安装 ipvsadm 工具&#xff08;LVS 管理工具&#xff09; 三、 Director 节点配置 1.配置 VIP 2.配置 LVS 规则 3.开启 IP 转发&#xff08;可选&#xff09; 四、 Real Server 节点配置&#xff08…

MySQL 内置函数入门:基于 JAVA 基础的学习思考

作为一名刚接触 MySQL 仅 10 天的零基础新手&#xff0c;最初面对一堆陌生的内置函数时&#xff0c;总觉得记不住、用不好。但好在有一点 JAVA 基础&#xff0c;试着把 MySQL 函数和熟悉的 JAVA 方法做类比后&#xff0c;突然发现原本抽象的函数语法&#xff0c;一下子变得好理…

51c视觉~OCR~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft143/14456574 一、xxx .... 二、xxx .... 三、LightOnOCR OCR迎来“闪电时刻”&#xff1a;LightOnOCR-2以1B模型击败9B竞品&#xff0c;开源即达SOTA&#xff01; 最近&#xff0c;Light…