循环神经网络——初识
一、概念
循环神经网络主要用于处理序列类型的数据,其结构如下图所示。其实,一个简单的循环神经网络只有一个神经元,在处理序列类型的数据,如文本信息时,每次可以输入一个字(可以用one-hot形式表示),然后输出一个结果,当输入下一个字的时候,神经元里的参数是训练上一个字留下来的,为了形象的画图就把一个神经元展开成多个了。
二、具体结构
它的内部结构,其实是,首先当前输入状态的向量加上当前状态向量形成一个新的向量,然后经过一层全连接(full1)并激活后产生了一个新的向量,这个向量的长度要和状态向量的长度一致;所得到的新的向量将作为下一次选练的状态,同时,输出层要利用这个新向量做一个全连接(full2)产生输出结果。所以,整体而言,一个rnn_cell 里面的参数包括,状态向量,内部全连接full1的权重和偏置,输出层全连接full2 的权重和偏置 。下图是一个样例