一、回顾
1.1 模型思想
上次对word2vec开了个头,也说了为了优化训练速度,可以用SGD,即Stochastic gradient descent 随机梯度下降。迭代地在每个滑动窗口为SGD取梯度;由于每个窗口只有 2m+1 个单词,所以该向量会很稀疏:
关于word2vec有两种模型:skip-gram和CBOW。
二、梯度下降进行优化
Stochastic gradients with word vectors!
1.2 负采样(skip-gram)
在CBOW模型中,通过对w t w_tw
t
进行负采样,同样能获得对应于正样本( C t , w t ) (C_t,w_t)(C
t
,w
t
)的负样本集合,下面则是基于Skip-gram讲解负样本。
归一化的训练计算代价很高,所以可以使用负采样(HW2有这个任务)。
主要思想:基于一个true pair(中心词和上下文词)和几个noise pair(中心词和随机单词),训练一个二元逻辑回归模型。
提出负采样的论文:“Distributed Representations of Words and Phrases and their
Compositionality” (Mikolov et al. 2013)
最大化目标函数:
三、共现矩阵
3.1 一个栗子
这里有两种option:
window:类似word2vec,使用滑动窗口,捕获语法和语义信息。
word-document:会给出一般形式的主题,导致LSH(Latent Semantic Analysis,潜在语义分析)。
【栗子】
一个三句话的语料库:
• I like deep learning
• I like NLP
• I enjoy flying
上面矩阵的含义,比如I 和 like在第一二句话中都有出现,所以在共现矩阵的元素值为2。
3.2 降维操作
为了将高维向量转为低维的稠密向量。需要进行降维。
经典的方法:
(1)SVD方法
对共现矩阵,进行SVD分解,Singular Value Decomposition后的U和V矩阵都是正交矩阵(orthonormal)。
(2)改进SVD
论文:Hacks to X (several used in Rohde et al. 2005 in COALS)
使用倾斜的窗口能够计数靠近的单词,而非更远的单词。
使用pearson相关系数计数。
论文:COALS model from
Rohde et al. ms., 2005. An Improved Model of Semantic Similarity Based on Lexical Co-Occurrence
四、Glove
官方github:https://github.com/stanfordnlp/GloVe
Count based vs. direct prediction:
4.1 Encoding meaning components in vector differences
Glove模型目标:词的向量化表示,使得向量之间尽可能多蕴含语义和语法信息。
方法概述:首先基于语料库构建词的共现矩阵,然后基于共现矩阵和GloVe模型学习词向量。
开始 -> 统计共现矩阵 -> 训练词向量 -> 结束
栗子:比如有一个语料库:
i love you but you love him i am sad
现在窗口为5,即中心词左右两边有2个单词组成的统计窗口,窗口0、1长度小于5是因为中心词左侧内容少于2个,同理窗口8、9长度也小于5。窗口内容如下:
论文:Encoding meaning components in vector differences
[Pennington, Socher, and Manning, EMNLP 2014]
Encoding meaning in vector differences
[Pennington, Socher, and Manning, EMNLP 2014]
算出对应的比例数值:
一个问题:
4.2 预训练任务
4.3 参数估计
Glove通过优化以下加权损失函数进行学习:
五、 词向量的评估
(1)Intrinsic Evaluation内部任务评价方法:对词义相关性或类比推理性的表达能力进行评价。
(2)Extrinsic Evaluation外部任务评价方法:在实际任务中,根据下游任务的性能指标进行判断。
5.1 词义相关性
5.2 Glove可视化
比如比较级和最高级:
5.3 和其他算法的比较
六、解决一词多义问题
论文1:Improving Word Representations Via Global Context And
Multiple Word Prototypes (Huang et al. 2012)
论文2:Linear Algebraic Structure of Word Senses, with
Applications to Polysemy (Arora, …, Ma, …, TACL 2018)
七、分类模型复习
7.1 Classification intuition
最简单的方法用线性decision boundary进行分类,如下图:
7.2 Softmax分类器
7.4 传统的ML优化过程
八、Neural Network Classifiers
用的是非线性的decision boundaries,所以能够更好的拟合数据。
8.1 不同点1:
8.2 不同点2:一个神经网络=同时进行多个LR
九、Named Entity Recognition (NER)
命名实体识别。
十、Lesson3:Neural net learning
10.1 正向传递
Forward pass: compute results of operations and save intermediate values,即计算结果并保存中间值。
10.2 反向传播
Backward pass: apply chain rule to compute gradients,即反向传播利用链式求导法则求梯度。
10.3 举栗子
现在以 f = x ⋅ ω f=x \cdot \omegaf=x⋅ω 为例:
(1)正向传递
(2)反向传播
注意虽然这里的