人工神经网络用于学习一个输入到输出的映射,通常由三层组成,输入层,隐层和输出层。各层之间的每个连接都有一个权值,人工神经网络的训练过程就是学习这个权值。典型的,可以使用随机梯度下降法。递归人工神经网络的关键在于“递归”二字,其表现为各节点可以形成一个有向环。可以看到,递归神经网络和普通的人工神经网络最大不同为各隐层节点之间也可以相互联系了,并组成有向环的形式。递归神经网络的种类有很多,上图所示为simplerecurrentnetworks(SRN)。如图所示为一个玻尔兹曼机,其蓝色节点为隐层,白色节点为输入层。玻尔兹曼机和递归神经网络相比,区别体现在以下几点:1、递归神经网络本质是学习一个函数,因此有输入和输出层的概念,而玻尔兹曼机的用处在于学习一组数据的“内在表示”,因此其没有输出层的概念。2、递归神经网络各节点链接为有向环,而玻尔兹曼机各节点连接成无向完全图Hopfield网络也是一种递归神经网络。限制玻尔兹曼机和玻尔兹曼机相比,主要是加入了“限制”(这不是废话么)。所谓的限制就是,将完全图变成了二分图。如图所示,限制玻尔兹曼机由三个显层节点和四个隐层节点组成。限制玻尔兹曼机可以用于降维(隐层少一点),学习特征(隐层输出就是特征),深度信念网络(多个RBM堆叠而成)等。对于Hopfield神经网络来说,当信号输入后,各神经元的状态会不断变化,最后趋于稳定,或呈现周期性震荡。假设神经元i连接其它神经元j的权重为w(i,j),则在Hopfield中,有W(i,i)=0,即神经元不与自己连接,W(i,j)=W(j,i),即权重矩阵对称。以上图所示,假设输入的变量为(a1,a2,a3,a4),而在每一轮t神经元i的状态用y(i,t)来表示,再假设神经元激发函数为sigmod,其中激发界用t(i)表示,则容易得到以下递推式y(i,0)=sigmod(ai-t(i))则根据公式1可以推导出来,节点j的能量增量是小于0的。(如何证明?考虑y取值只能是0或1,再考虑sigmod函数特性很容易得到)所以我们就能把能量的增量再时间域上进行积分,得到每个节点的能量,再把所有节点的能量加起来,看得到这个神经网络的能量。推导出来的结果是这样子的:可以看到,神经网络的变化过程,实质是一个能量不断减少的过程,最终达到能量的极小值点,也就是稳态。总结一下就是:递归神经网络由于其结构特性,神经元状态可随时间而变化,将此过程可以抽象成能量递减过程,变化最终会导致稳态,此稳态为能量极小值点。