概述
这篇内容有些多,并且可能有些杂,介绍的有word的表示方法,实际就是怎么从one-hot降维,然后介绍N-Gram的Language Modeling,Neural Language Modeling,RNN Language Modeling。转而介绍RNN的定义,相关表示,应用以及BPTT。
共现矩阵
问题是:
词表增大时,矩阵的大小变化大;维度太高;然后矩阵太稀疏(0太多)
解决办法:
将向量进行降维
向量降维
降维的方式:
- 代数方法,SVD(奇异值分解)
- 直接学习训练一波
N-Gram Language Modeling
问题是有很多句子没有出现在训练语料中,会出现分母可能为0的情况;解决办法是做平滑,如下图
依然存在的问题是:平滑的结果可能有问题,训练语句不能包含所有的语料。
直接训练
Neural Language Modeling
式子挺好玩的,后面还加了x;
好处:平滑自动处理了
问题:固定的window size可能会造成未包含有效信息。
RNN Language Modeling
通过前面的hidden_layer来保存所有信息。
RNN表示与定义
就是如下的两个公式:
s
t
=
σ
(
W
s
t
−
1
+
U
x
t
)
o
t
=
s
o
f
t
m
a
x
(
V
s
t
)
begin{aligned} s_t&=sigma(Ws_{t-1}+Ux_t) \ o_t&=softmax(Vs_t) end{aligned}
stot=σ(Wst−1+Uxt)=softmax(Vst)
RNN训练与BPTT
BPTT(Backpropagation through time)后续需要专门重温一遍?
RNN训练的问题
RNN中W,U,V是一样的,当层次比较深的时候,会把
W
l
+
1
W^{l+1}
Wl+1进行多次乘法计算,会造成梯度消失或者梯度爆炸。
梯度爆炸解决办法1
梯度消失解决办法1
Gating?
RNN的扩展
RNN应用
总结
最后
以上就是踏实寒风为你收集整理的应用深度学习(三)的全部内容,希望文章能够帮你解决应用深度学习(三)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复