上篇介绍到循环型网络(RNN),下面将进行详细阐述。
循环神经网络:RNN
下面我们介绍一下循环神经网络。
这是一个简单的循环神经网络,也就是一个RNN的结构,输入层、隐藏层、到输出层这些基本的连接,它都具备。但是它引入了一种新的概念,就是上下文相关的这种单元,这个单元它起到什么作用?它是把一个时间节点的隐藏层的状态,返回输入到下一个时间节点的隐藏层,所以它可以解决时间序列这个问题。
这样一个结构图并不太容易理解,因为它包括了相关节点在时序上的输入问题。把它按照时序展开,这是一个概念视图,可以看到,和常规的神经网络相比,除了输入层到隐藏层的全连接,从隐藏层到输出层的全连接以外,它还包括了从上一个时点的隐藏层到当前时点的隐藏层之间的连接,那么这就是RNN的特点。
什么是语言模型?
由于RNN可以处理时间序列上的输入,所以它非常适合用来做自然语言的模型,我们现在看到的就是2003年提出来的用RNN来实现的自然语言模型。
什么是语言模型?在给定了一组自然语言的词序列以后,预测这样一个词出现的概率是什么。举个例子,假如说出“我是在中国长大的,最近几年到了美国,所以我最熟悉的语言是 ”,那么后面要预测我最熟悉的语言是什么?可以是汉语、可以是英语,汉语和英语出现的概率实际上就是这个语言模型要解决的问题,我们看到以前的语言模型通常是按照这个词前面的几个词来预测后面的词,假如刚才我们这个例子里面说,我最近在美国,所以它很有可能预测出来我熟悉的语