GRU
知识点
- RNN处理不了太长的序列;(其把所有的序列信息都放到隐藏状态里面,当事件长了以后,隐藏状态累计太多东西,对于前面很久前的信息可能不那么好抽取出来)
- 观察值不是同等重要(现实生活中)- 同样的序列中;重要的几个点
关注一个序列
- 之前的RNN机制没有说特别关心某个地方,特别不关心;之前都是直接一个序列进去
- 不是每个观察值都是同等重要的
- 对于GRU其是使用门控制来看看哪一块比较重要,哪一块没那么重要
- 门:更新门(这个信息比较重要;能关注的机制);重置门(信息不重要,能遗忘的机制)
为什么是Xt而不是Xt-1:因为是当前时间输入的字,与前一时间的隐状态结合
**候选隐藏状态:**就是用它来生成我们真正想要的隐藏状态
隐状态(真正的)
总结:(引入了两个门;多了可学习权重)
实现(基本同RNN)
- def three(): 函数
LSTM
- 忘记门:将值朝0减少
- 输入门:决定要不要忽略掉输入数据
- 输出门:决定是不是使用隐状态
效果其实和GRU差不多:都是要不要忘掉过去的状态,尽量看现在的输入数据,要不要不看此刻的输入数据,尽可能看前一时刻的输入数据
三个门
- 每次计算,搞出两个w和一个b出来;
候选记忆单元
记忆单元
- 上一个时刻的记忆单元会作为状态放进来;与RNN不同的是,在LSTM中的状态有两个;一个是C一个是H
隐状态
总结
神经网络中困惑度的理解 - 在神经网络中,困惑度是一种用来衡量语言模型预测性能的指标。它可以理解为给定一个语言模型和一个测试集,计算模型在该测试集上预测的困难程度
- 具体地说,困惑度是对测试集上所有可能序列的概率的几何平均数的倒数,即 perplexity = exp(cross entropy),其中cross entropy代表模型预测和实际输出之间的差异。困惑度越低,表示模型的预测性能越好(困惑度越低,表示模型的预测性能越好)