自然语言处理 (让机器更懂你)大数据,机器学习,人工智能程序员

循环序列模型

2019-04-12  本文已影响7人  dreampai

数学符号——构建字典

建立字典(对于商业应用来说,或者对于一般规模的商业应用来说 30,000 到 50,000 词大小的词典比较常见,但是 100,000 词的也不是没有,而且有些大型互联网公司会用百万词,甚至更大的词典。)

循环神经网络模型——RNN

标准神经网络的缺点:

image.png
循环神经网络:

神经网络结构的一个限制是它在某一时刻的预测仅使用了从序列之前的输入信息并没有使用序列中后部分的信息。


image.png

在零时刻需要构造一个激活值 𝑎[0],这通常是零向量。有些研究人员会随机用其他方法初始化 𝑎[0],不过使用零向量作为零时刻的伪激活值是最常见的选择,因此我们把它输入神经网络。

不同类型的循环神经网络

image.png

语言模型和序列生成

语言模型:告诉你某个特定的句子它出现的概率是多少。

对新序列采样

怎样知道一个句子结束了呢?

循环神经网络的梯度消失

先从左到右前向传播,然后反向传播。但是反向传播会很困难,因为同样的梯度消失的问题,后面层的输出误差(上图编号 6 所示)很难影响前面层的计算。

GRU

image.png

LSTM

双向循环神经网络

双向 RNN网络模型的缺点就是你需要完整的数据的序列,你才能预测任意位置。比如说你要构建一个语音识别系统,那么双向 RNN 模型需要你考虑整个语音表达,但是如果直接用这个去实现的话,你需要等待这个人说完,然后获取整个语音表达才能处理这段语音,并进一步做语音识别。但是对于很多自然语言处理的应用,如果你总是可以获取整个句子,这个标准的双向 RNN 算法实际上很高效。

image.png

深层循环神经网络

对于RNN 来说,有三层就已经不少了。
在每一个上面堆叠循环层,把这里的输出去掉(上图编号 1 所示),然后换成一些深的层,这些层并不水平连接,只是一个深层的网络,然后用来预测y


image.png
上一篇 下一篇

猜你喜欢

热点阅读