机器学习十:Recurrent Neural Network (RNN)递归神经网络

什么是递归神经网络

他们都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。

比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列; 当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。
以nlp的一个最简单词性标注任务来说,将我 吃 苹果 三个单词标注词性为 我/nn 吃/v 苹果/nn。

那么这个任务的输入就是:

我 吃 苹果 (已经分词好的句子)

这个任务的输出是:

我/nn 吃/v 苹果/nn(词性标注好的句子)

对于这个任务来说,我们当然可以直接用普通的神经网络来做,给网络的训练数据格式了就是我-> 我/nn 这样的多个单独的单词->词性标注好的单词。

但是很明显,一个句子中,前一个单词其实对于当前单词的词性预测是有很大影响的,比如预测苹果的时候,由于前面的吃是一个动词,那么很显然苹果作为名词的概率就会远大于动词的概率,因为动词后面接名词很常见,而动词后面接动词很少见。

所以为了解决一些这样类似的问题,能够更好的处理序列的信息,RNN就诞生了。
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第1张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第2张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第3张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第4张图片

Long Short-term Memory (LSTM)

之前的模型,下次输入后,上次的会被抹掉,这个模型的好处是,可以控制存放
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第5张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第6张图片
举例:
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第7张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第8张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第9张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第10张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第11张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第12张图片
复杂的LSTM
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第13张图片

RNN的缺点

机器学习十:Recurrent Neural Network (RNN)递归神经网络_第14张图片
机器学习十:Recurrent Neural Network (RNN)递归神经网络_第15张图片

why??

机器学习十:Recurrent Neural Network (RNN)递归神经网络_第16张图片

有用的技术

LSTM,可以解决梯度消失,但是不会解决梯度爆炸

机器学习十:Recurrent Neural Network (RNN)递归神经网络_第17张图片

你可能感兴趣的:(神经网络,机器学习,自然语言处理,深度学习,算法)