Week 4
预测下一个单词 Learning to predict the next word
- 使用反向传播算法学习单词含义的特征映射
- 关系学习任务:给定一个很大的来自很多家谱的三元组集合,尝试找出关系
- 比较直接的表达方式是使用符号表示规则
- 但是寻找一个符号法则意味着在一个非常大的离散空间内进行非常困难的查找
- 使用网络学习?
简要介绍认知科学 A brief diversion into cognitive science
- 一个关于”概念“的争论
- 特征学理论:概念是一组语义特征
- 便于比较概念之间的相似性
- 便于用于机器学习:一个概念就是一个特征值的向量
- 结构学理论:概念存在于其与其他概念之间的关系中
- 概念被表示于一张关系图中
- Minksy使用感知器的限制作为证明反对特征向量并支持关系图表示
- 特征学理论:概念是一组语义特征
- 实际上哪一个都不对:神经网络可以使用语义特征向量实现一个关系图
软最大值输出 The softmax output function
- 一种强制让神经网络的所有输出加和为1,使其代表一种概率分布
- 平方误差存在不足
- 当目标为1而输出是一个极小的非零值,那么将不会产生一个梯度以至于无法修复错误???
- 对于互斥类别,相关的互斥只是应当输入到网络中
- 应对逻辑单元的互斥类别损失函数:交叉熵,令 E = − t log ( y ) − ( 1 − t ) log ( 1 − y ) E=-t \log(y)-(1-t) \log (1-y) E=−tlog(y)−(1−t)log(1−y),那么KaTeX parse error: Undefined control sequence: \part at position 7: \frac{\̲p̲a̲r̲t̲ ̲E}{\part z}=y-t
- softmax,软最大值,接受logit z i z_i zi,输出 y i y_i yi,输出由所有的输入决定,即 y i = e z i ∑ j ∈ g r o u p e z j y_i=\frac{e^{z_i}}{\sum\limits_{j \in group}e^{z_j}} yi=j∈group∑ezjezi,同时有KaTeX parse error: Undefined control sequence: \part at position 7: \frac{\̲p̲a̲r̲t̲ ̲y_i}{\part z_i}…
- 对应于softmax的损失函数:正确答案的负对数概率,即
C
=
−
∑
j
t
j
log
y
j
C=-\sum\limits_{j}t_j \log y_j
C=−j∑tjlogyj
- 能够在输出和目标相差极大时有一个非常大的梯度
- KaTeX parse error: Undefined control sequence: \part at position 7: \frac{\̲p̲a̲r̲t̲ ̲C}{\part z_i}=\…
- 二路softmax相当于逻辑回归
- 但是多路softmax与逻辑回归以及线性回归均不等价(前者永远负责是和否,后者无法体现非线性)
神经概率语言模型 Neuro-probabilistic language models
- 语音识别的基本问题:
- 无法在嘈杂的内容中完美地识别语素
- 使用人们对话语意义的理解听出正确的单词
- 这意味着识别器需要知道下一刻可能产生的单词
- 标准三元字组方法
- 接受大量语料,并计算所有三元字组的频率
- 使用这些频率预测在给出前两个词的情况下,第三个词的相对概率: p ( w 3 = c ∣ w 2 = b , w 1 = a ) p ( w 3 = d ∣ w 2 = b , w 1 = a ) = c o u n t ( a b c ) c o u n t ( a b d ) \frac{p(w_3=c|w_2=b,w_1=a)}{p(w_3=d|w_2=b,w_1=a)}=\frac{count(abc)}{count(abd)} p(w3=d∣w2=b,w1=a)p(w3=c∣w2=b,w1=a)=count(abd)count(abc)
- 三元字组未能使用的信息
- 无法理解单词之间的对应关系
- 为了克服这种限制,使用前几个词的语义和句法特征预测下一个词的特征(使用一个包含上下文的特征表示)
处理大量可能输入的方式 Ways to deal with the large number of possible outputs
-
序列架构:一次处理一个,得到一个logit分数,然后所有的分数一起softmax
-
将结果概率和目标概率进行比较得到交叉熵概率梯度
-
我们可以使用一个其他预测器展示出的候选项的子集来节省时间
-
使用树来预测
- 预测机制为一棵二叉树,树的叶子节点为单词
- 将上下文单词的特征向量加和得到预测向量
- 预测向量与各个节点的学到的特征向量点击得到的标量送入逻辑函数,根据结果选择分支
- 最终到达的单词即为预测结果
-
一个方便
- 最大化选择这却目标词的对数概率等价于最大化正确目标词路径上的所有分支的对数概率和
- 对数级别的优化
- 测试的时候还是很慢
- 最大化选择这却目标词的对数概率等价于最大化正确目标词路径上的所有分支的对数概率和
-
学习单词的特征表示 Collobert and Weston model
- 使用一个窗口,在窗口中的一个词,分别使用真实词或者随机词,训练网络在正确词时输出高位,随机词时输出低位(二分类???)
-
t-sne,一种将多维向量映射到二维图像上的方法
- 在映射词特征向量表示时,不仅聚类了单词,还能表示不同聚簇之间的相似程度