CS224N Lecture 7 Machine Translation, Attention, Subword Models
Section 1: Machine Translation机翻是一个把句子x从一种语言(源语言)翻译到另一种语言(目标语言)的句子y的任务。
1990s-2010s: Statistical Machine Translation
核心思想:从数据中学习概率模型
假设我们在翻译法语→英语
我们希望给定法语句子x,找到最好的英语句子y
\text{argmax }_y P(y \vert x) \tag{1}
使用贝叶斯法则将其分解为两个部分分开学习:
= \text{argmax }_y P(x \vert y) P(y)\tag{2}
上图中,x:法语, y:英语, 机器翻译的目标就是寻找y,使得$P(y \vert x)$最大,这就是式1. 接下来,我们利用贝叶斯分解为两个概率的乘积:其中$P(y )$用之前介绍过得语言模型,从英语单语的数据中学习怎么写的通顺。最简单的就用n-gram方法。$P(y \vert x)$,是指由目标语言到源语言的翻译模型,其专注于翻译模型,翻译好局部的单词和短语,这个模型学习来自于平行的数据语料。
Learning alignment ...
CS224N Lecture 6 Vanishing Gradients, Fancy RNNs, Seq2Seq
The Simple RNN Language Model
简单的RNN语言模型。
Training an RNN Language Model
RNN在$t$时刻的输出是预测第$t+1$个词的概率分布$y^(t)$;而对于训练集中给定的文本来说,第$t+1$个词是已知的某个词,所以真实答案$y(t)$其实是一个one-hot向量,在第$x(t+1)$位置为1,其他位置为0。所以如果是交叉熵损失函数的话,表达式如上图中间的等式。RNN整体的损失就是所有时刻的损失均值。
输入序列the students opened their 预测后面的词。
训练RNN语言模型,其实loss是所有时刻t的损失的均值。
然而:计算 整个语料库 的损失和梯度太昂贵了
在实践中,输入序列实际上是一个 句子 或是 文档,这就跟随机梯度下降法中,随机抽小批样本一样。
回忆 :随机梯度下降允许我们计算小块数据的损失和梯度,并进行更新。
计算一个句子的损失(实际上是一批句子),计算梯度和更新权重。重复上述操作。
Training the parameters of RNNs: Backprop ...
CS224N Lecture 5 Recurrent Neural Networks and Language Models
Languages modeling and RNNs
语言模型是一个预测下一个词是什么的任务,
the students opened their ________这个就是预测横线上填什么单词,(完型填空……)
更正式地:给定一个单词序列$\boldsymbol{x}^{(1)}, \boldsymbol{x}^{(2)}, \cdots, \boldsymbol{x}^{(t)}$
P(\boldsymbol{x}^{(t+1)} \vert \boldsymbol{x}^{(t)}, \cdots, \boldsymbol{(x)}^{(1)} )
其中,$\boldsymbol{x}^{(t+1)} $ 是词汇表中的任何一个词。
这样做的系统就是语言模型
你也可以认为语言模型是一个将概率分配给一段文本系统
例如,如果我们有一些文本,那么该文本概率为,如上图。
上面应用中就是输入就会预测提示下一个词。
n-gram Language Models
n-gram 语言模型
定义:n-gram是一段连续词
unigrams: “the”, ...
CS224n Lecture 4 Dependency Parsing
1. Two views of linguistic structure两个语言结构观点: Constituency = 句子结构 = 无上下文语法 context-free grammars (CFG)
context-free grammars句子结构组织单词成嵌套成分
句子及各个组织单词成嵌套成分
能用CFG规则来表示语法
起步单元:单词被赋予一个类别 (part of speech = pos)
单词可以组成不同类别的短语
短语可以递归第组合成更大的短语
其中,
Det 指的是 Determiner,在语言学中的含义为 限定词
NP 指的是 Noun Phrase ,在语言学中的含义为 名词短语
VP 指的是 Verb Phrase ,在语言学中的含义为 动词短语
P 指的是 Preposition ,在语言学中的含义为 介词
PP 指的是 Prepositional Phrase ,在语言学中的含义为 介词短语
NP→Det N
NP→Det (Adj) N
NP→Det (Adj) N PP
PP→P NP
VP→V P
中文中,介词短语会出现在动词之 ...
CS224N Lecture 3 Backprop and Neural Networks
1. 梯度课程计划
Lecture 4: 手推梯度和算法
介绍
矩阵计算
反向传播
如果给定的函数有一个输出和n个输入
梯度是相对于每个输入的偏导向量
Jacobian Matrix: Generalization of the Gradient
给定一个m个输出和n个输入的函数
其Jacobian是偏导的$m \times n $矩阵
Chain rule
Example Jacobian: Elementwise activation Function
因为n个输入n个输出,其Jacobian矩阵应该是$n \times n$
下面是一些公式,利用定义逐个元素求导很容易证明。
2. Back to our Neural Net!模型如下,一个隐层的简单架构。
让我们求分数s对b的梯度
Break up equations into simple pieces注意,变量和保持其维度!
Apply the chain rule左边是关系式,右边是链式法则。
利用方框里的公式,依次对其求导。
Write out the Jacobians
Re-using ...
CS224n Lecture 2 Word Vectors,Word Senses, and Classifier Review
1. Review: Main idea of word2vec如图,中心词预测上下文- Skip-Gram model
随机一个词向量开始
在整个语料库上迭代每个词
试着用中心词预测周围词,如下图
更新向量
该算法学习词向量, 在词向量空间上,获得相似性和有意义的方向。U和V是长度为N的向量,需要学习得到。
Word2vec parameters and computations
注意:
在每个方向上都是一样的预测
期望模型对所有出现在上下文(相当频繁)的词给一个合理的高概率值估计
Word2vec maximizes objective function by putting similar words nearby in space
2. Optimization: Gradient Descent
Gradient Descent
更新公式(矩阵形式)
\theta^{new}= \theta^{old} - \alpha \nabla_{\theta} J(\theta) \tag{1}其中\alpha是步进或学习率
更新公式 (单一参数)
\ ...
CS224N Lecture 1 Introduction and Word Vectors
Word meaningRepresenting words as discrete symbols在传统NLP中, 我们将word视为离散的符号。特别是one-hot encoding, 如:
\text{model} = [0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0]\\
\text{hotel} = [0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 1 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0] \tag{1}其中, 向量维度= 词汇表单词数量(e.g, 500,000)
Problem with words as discrete symbols
式2两个向量正交
对于one-hot 向量没有相似性的自然理解。
Solution:
替代:学习把相似性编码到向量里。
Representing words by their context
语义分布:单词的意思有其频繁出现的近邻词来给定
当一个单词w出现在文本中,其上下文是出现在附近的一系列单词( 在一个固定的窗口内)
用许多w的文本向 ...
9.ELMO 论文笔记
9.ELMO 论文笔记本文是 Deep contextualized word representations笔记.ELMO是Embeddings from Language Models的简称。
Abstract本文作者引入了一种新的深层的上下文词表示,该模型能:
使用词的复杂特征
在不同语境下词的多义性
本文的词向量是学习深层双向语言模型的内部状态的功能得到的。作者发现这些表示能轻松加到已存在的模型上,并且在6大NLP问题上有显著的提升,像QA,文本蕴含,情感分析。还分析了暴露预训练网络的深层内部是至关重要的,这允许下游模型来混合不同类型的半监督信号。
3.1 Bidirectional language models给定N个token的序列,(t_1, t_2, \cdots, t_n),前馈语言模型在给定前(t_1, t_2, \cdots, t_{n-1})的情况下来计算t_k的概率:(LM就是一个预测下一个词的任务)
p(t_1, t_2, \cdots, t_N) = \prod_{k=1}^Np(t_k|t_1, t_2, \cdots, t_{k-1}) \t ...
6. Capsule net 论文笔记
6. Capsule net 论文笔记本文是2017年深度学习奠基人Geoffrey Hintons的 Dynamic Routing Between Capsules笔记。
摘要一个capsule胶囊是一组神经元,其激活向量(就是低层的输入向量)表示的是特定类型的实体(如对象或对象的部分)的实例化参数。本文使用激活向量的长度来表示实体存在的概率和其方向来表示实例化后的参数。活的胶囊通过变换矩阵在低一层做预测,然后作为高层胶囊的实例化参数。当多个预测一致时,高层胶囊激活。本文在求低层到高层胶囊的权重时没有使用反向传播,而使用动态路由来更新:低层胶囊偏好将其输出传送到高层胶囊,使其激活向量和预测值的点积值较大。
胶囊网络计算过程
上图来源于 Understanding Hinton’s Capsule Networks. Part 2. How Capsules Work..
Step1: 预测向量\hat{\mathbf{u}}_{j|i}。
如上图左侧\mathbf{u}_{i} \in \mathbb{R}^{k \times 1}, i=1,2, \ldots, n表示低层胶囊输 ...
5.HAN 论文笔记
5. HAN 论文笔记来自于Hierarchical Attention Networks for Document Classification 论文。
摘要本文提出一种层次attention网络用于文档分类。该模型有两个特别的特点:(i) 其采用层次结构来翻译文档的层次结构。(ii) 在词-句子层次应用两种层次的的注意力机制,当构建文档表示时使其能以不同的注意力来关注越重要或越不重要的的内容。在六个大型文本分类任务进行的实验证明了,提出的架构有大幅度提升,优于之前的方法。可视化注意力层表明模型选择了信息丰富的词和句子。
1.介绍文本分类是NLP中的一个基本任务。目标是给文本分配标签。广泛应用包括主题标记,情感分类,和垃圾邮件检查。文本分类的传统方法用稀疏的词汇特征来表示文档,如n-grams,然后在该表示上用线性模型或核方法来分类。最近的方法多使用深度学习,如CNN和基于LSTM的循环神经网络来学习文本表示。
作者只要贡献是一个新的架构,层次注意力网络Hierarchical Attention Network (HAN),设计用来获取关于文档结构的两个基本的直觉。首先,因为文档有 ...