这是鄙人的毕设题目,最近由于总是在迷茫与纠结中度过,考虑是深造还是直接工作,焦虑到快自刎了,昨天猛然醒悟:是该做点事情来填补这种没营养的空虚感了。
先把寒假前+寒假中所做的事情总结一下。
首先是RNN与LSTM的区别:
1.我在接触这两种神经网络的时候首先的印象就是,RNN采用传统的backpropagation+梯度下降法对参数进行学习,第t层的误差函数跟ot直接相关,而ot依赖于前面每一层的xi和si,i小于等于t,因此RNN会出现梯度消失的情况。而LSTM也属于一种改良的RNN,但它不是强行把依赖链截断,而是采用了一种更巧妙的设计来绕开了梯度消失或梯度爆炸的问题
2.传统RNN每一步的隐藏单元只是执行一个简单的tanh或ReLU操作。 LSTM每个循环的模块内又有4层结构:3个sigmoid层,1个tanh层。
(我还没搞清楚怎么画图插进来,所以有点干。。。。)
-------------------------------------------------------------------------------华丽的分界线---------------------------------------------------------------------------
接下来上代码:
模型的训练:
def generate_sequences_from_texts(texts, indices_list,
textgenrnn, context_labels,