开发者学堂课程【神经网络概览及算法详解:离散Hopfield网络-1】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/40/detail/940
离散Hopfield网络-1
内容介绍:
一. 回忆神经网络的分类
二. 前馈神经网络
三. 反馈神经网络
四. 前馈神经网络和反馈神经网络的区别
五.典型的反馈神经网络 Hopfield 网
一. 回忆神经网络的分类
按照信息流向可分为前馈性网络和反馈型网络:
前馈型网络:网络信息从输入层到各隐藏层再到输出层逐层前进
反馈型网络:反馈网络中所有节点都具有信息处理功能,并且每个节点既可以接收输入同时又可以进行输出。
二. 前馈神经网络
单种感知器,多种感知器,竞争神经网络,属于前馈神经网络。
前馈神经网络( FeedForwardNN ):是一种最简单的神经网络,采用单向多层结构,各神经元分层排列,每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层,各层间没有反馈。
前馈网络包括三类节点:
1.输入节点( Input Nodes ):外界信息输入,不进行任何计算,仅向下一层节点传递信息。
2.隐藏节点( Hidden Nodes ):接收上一层节点的输入(输入可能来源于输入层,也可能来源于上一层隐藏层),进行计算,并将信息传到下一层节点(可能是隐藏层,也可能是输出层)。
3.输出节点( Output Nodes ):接收上一层节点的输入,进行计算,并将结果输出。
输入节点没有任何计算功能,隐藏节点和输出节点都有计算功能。
输入层和输出层必须有,隐藏层可以没有,即为单层感知器,隐藏层也可以不止一层,有隐藏层的前馈网络即多层感知器,通过这个构成复杂的网络结构。
三. 反馈神经网络
反馈神经网络( FeedBack NN ):又称递归网络、回归网络,是一种将输出经过一步时移再接入到输入层的神经网络系统。这类网络中,神经元可以互连,有些神经元的输出会被反馈至同层甚至前层的神经元。常见的有 Hopfield 神经网络、 Elman 神经网络、 Boltzmann 机等。
四.前馈神经网络和反馈神经网络的主要区别:
1.前馈神经网络各层神经元之间无连接(同一个层里的神经元是没有连接的),神经元只接受上层传来的数据,处理后传入下一层,数据正向流动;反馈神经网络层间神经元有连接,数据可以在同层间流动或反馈至前层。
2.前馈神经网络不考虑输出与输入在时间上的滞后效应,只表达输出与输入的映射关系;反馈神经网络考虑输出与输入之间在时间上的延迟(因为这一层的输出可能在下一层是输入),需要用动态方程来描述系统的模型。
3.前馈神经网络的学习主要采用误差修正法(如BP算法),计算过程一般比较慢,收敛速度也比较慢;反馈神经网络主要采用Hebb学习规则,一般情况下计算的收敛速度很快
4.相比前馈神经网络,反馈神经网络更适合应用在联想记忆和优化计算等领域
前馈神经网络和反馈神经网络的示意图:
以 h 为例, h 这个神经元接受 h 层的输入,它的输出可以直接输出比较输出,还可以再返回给自己或者返回给上一层。
下面是一个按照不同时刻它的展开图,比如t+1时刻,t时刻,这个就是一个典型的反馈神经网络的示意图。
五.典型的反馈神经网络 Hopfield 网
Hopfield 网是一种单层对称全反馈网络,1982年由加州理工学院的物理学家 J J.Hopfield 提出,因此被称作 Hopfield 网。他在该反馈网络中引入了“能量函数”(描述衡量网络状态的概念),即认为该网络为一种基于能量的的模型( Energy Based Mode, EBM )。能量函数的提出意义重大,它保证了向局部极小的收敛,使神经网络运行稳定性的判断有了明确的可靠的依据。 Hopfield 网提供了模拟人类记忆的模型。
1985年的时候还和 D.W.Tank 一块用模拟电子线路实现了 Hopfield 网络,并用此解决了旅行商 TSP 问题。(典型的 NPC 问题,非常困难,当时还有彭加拉猜想,黎曼假设等问题)
根据激活函数不同,分为两种:离散 Hopfield 网( Discrete Hopfield Neural Network, DHNM 和连续 Hopfield 网( Continuous Hopfield Neural Network, CHNN ),两者不仅仅是激活函数不一样,输入也不一样,输入输出是离散值和联系值的区别。
DHNN 主要用于联想记忆,输入部分信息即可联想到完整的输出,即具有容错性。
CHNN 主要用于优化计算,如旅行商TSP、调度等。