GloVe 模型笔记
1. 模型简介
GloVe(Global Vectors for Word Representation)是一种结合全局统计信息和局部上下文窗口的词向量学习方法。其核心思想是通过对词共现矩阵进行分解,捕捉词语之间的语义关系。
2. 网络结构与关键公式
2.1 共现矩阵构建
- 定义词对 在语料库中的共现次数为
- 使用滑动窗口(通常为5-10词)统计共现频率
- 引入距离衰减函数:,其中 是窗口内词对距离
2.2 模型参数
- 输入词向量:(对应中心词)
- 输出词向量:(对应上下文词)
- 双偏置项:(中心词偏置),(上下文词偏置)
2.3 网络层级结构
- 输入层:词索引 和 的 one-hot 表示
- 嵌入层:将索引映射为稠密向量 和
- 交互计算层:计算向量内积
- 偏置叠加层:添加双偏置项
- 对数变换层:预测目标
- 损失计算层:加权平方误差评估
2.4 损失函数
目标函数最小化加权平方误差:
其中:
- 是词汇表大小
- 权重函数 形式为:
(典型参数:)
3. 关键组件说明
3.1 权重函数设计
- 高频词抑制:通过 截断过高的共现计数
- 低频词保护: 控制衰减曲线斜率(0.75 时低频词权重更高)
- 稀疏性处理: 自动忽略零共现对
3.2 参数更新
- 使用AdaGrad优化器进行随机梯度下降
- 最终词向量采用对称处理:
- 学习率典型值:0.05-0.1
4. 结构特性分析
| 结构特征 | 技术细节 | ||||
|---|---|---|---|---|---|
| 参数规模 | 个参数(含双向量和双偏置) | ||||
| 计算复杂度 | 每次更新(优于SVD的) | ||||
| 稀疏性处理 | 仅处理非零共现对,实际计算复杂度$O( | X | ) | X | $为非零共现数 |
| 并行化能力 | 可分布式计算不同词对的损失项 |
5. 数学推导核心
基于共现概率比的词向量空间约束:
通过取对数并引入偏置项,推导得到:
最终转化为加权最小二乘问题。
6. 与Word2Vec对比
| 维度 | GloVe | Word2Vec |
|---|---|---|
| 统计信息利用 | 显式全局共现矩阵 | 隐式局部采样 |
| 训练稳定性 | 矩阵分解更稳定 | 依赖负采样策略 |
| 低频词处理 | 权重函数保护低频词 | 易受采样不足影响 |
| 可解释性 | 直接优化共现关系 | 概率预测的间接优化 |