TSP问题—Hopfield神经网络算法

本章涉及知识点

1、生物神经元的结构

2、Hopfield神经网络结构

3、神经动力学

4、CHNN的网络结构

5、一般性CHNN模型的状态方程推导

6、一般性CHNN模型的能量方程定义

7、CHNN模型下TSP的置换矩阵设计

8、CHNN模型下TSP的能量方程定义

9、CHNN模型下TSP的能量方程和状态方程的优化

10、CHNN模型下TSP输入状态和输出状态的更新方法

11、Hopfield求解TSP问题的步骤

12、python编程实现Hopfield

13、结果分析

一、生物神经元的结构

生物神经元

人类的大脑,有着大约860亿个神经元,而神经元,是构成神经网络系统结构和功能的基本单位,其主要构成成分包括树突、胞体、轴突和细胞膜

神经元的主要功能是接受外界或不同神经元的信号刺激,产生兴奋或者抑制的神经冲动,并通过突触传递到下一个神经元进行信息交互

我们需要知道以下几个生物神经元的名词概念

(1)树突:从胞体发出的一个至多个突起,呈放射状,用来接受外界的刺激

(2)轴突:每个神经元有且只有一个轴突,用来向外界输出神经冲动

(3)突触:将一个神经元的神经冲动,传递到另一个神经元的相互接触的结构

从上述的概念可以看出:一个生物神经元可以接受多组输入,产生单组输出,且输入输出呈非线性关系

我们通过对神经元和神经网络进行数学建模,用计算机来尽量模拟生物神经网络的学习和思考过程,这样的网络叫做人工神经网络(ANN),ANN按照信息流可以分为前馈式和后馈式

这章研究的Hopfield神经网络就属于反馈式神经网络

二、Hopfield神经网络结构

Hopfield神经网络有如下特点

(1)每个神经元既是输入也是输出,构成单层全连接递归网络

(2)网络的突触权值不同于其他的神经网络是通过有监督或无监督反复学习来获得,而是在搭建网络时就按照一定的规则计算出来,且网络的权值在整个网络迭代过程中不再改变

(3)网络的状态是随时间的变化而变化的,每个神经元在t时刻的输出状态和自己t-1时刻有关

(4)引入能量函数的概念,用来判断网络迭代的稳定性,即网络的收敛,就是指能量函数达到极小值

(5)网络的解,即是网络运行到稳定时,各个神经元的状态集合

反馈式神经网络的结构图

Hopfield神经网络也是递归神经网络(RNN)的前身,Hopfield模型分为:

离散型(DHNN):适用于处理联想记忆问题

连续性(CHNN):适用于处理组合优化问题

三、神经动力学

神经动力学的定义:将神经网络看做是一种非线性动力学系统,系统的状态集合随时间的变化而变化

令系统的输出状态变量集合为

状态变量集合

其中t是连续时间变量,则系统的输出状态和输出状态的增量可以用下面的微分方程表示

动力系统的微分方程

其中F函数是S型非线性函数映射,一般F取对称sigmoid双曲正切函数来完成输出状态的非线性映射

双曲正切函数

四、CHNN的网络结构

TSP问题是组合优化,使用Hopfield神经网络的CHNN模型,将网络抽象为

(1)Hopfield神经网络等效为放大电子电路

(2)Hopfield每一个神经元等效为一个电子放大器元件

(3)Hopfield每一个神经元的输入和输出,等效为电子元件的输入电压和输出电压

(4)每一个电子元件(神经元)输出的电信号有正负值,正值代表兴奋,负值代表抑制

(5)每一个电子元件(神经元)的输入信息,包含恒定的外部电流输入,和其它电子元件的反馈连接

根据以上等效抽象,CHNN的电路拓扑图结构为

CHNN的等效电路图

其中,Ui表示放大电子元件的输入电压,Vi表示输出电压,运算放大器i表示第i个神经元

五、一般性CHNN模型的状态方程推导

设电容C两端的电压为Uc,存储的电荷量为Q,则

电容量

则经过电容C的电流为

电容C的电流

根据基尔霍夫电流定律,CHNN等效电路的电流关系为

基尔霍夫电流定律

令Tij表示神经元之间连接的权值

神经元之间连接的权值

则电流关系化简为

CHNN模型的状态方程

上式就是关于CHNN模型中输入电压ui和ui增量的微分方程关系,也就是CHNN模型的状态方程,其中输入电压vi满足非线性映射规则f

输出电压的非线性映射

六、一般性CHNN模型的能量方程定义

在神经网络的优化过程中,目标函数是用来判断当前网络是否达到稳定,即网络的优化,就是目标函数逼近达到最小值的过程,一般的优化算法有:梯度下降法、牛顿法、启发式优化等

但是在Hopfield网络中,由于网络的权重全程保持不变,神经元当前时刻状态和上一个时刻相关,为此我们采用能量函数来衡量Hopfield网络的稳定性

由于CHNN的能量函数定义为

CHNN的能量函数

能量函数E是单调下降,故Hopfield网络是稳定的

至此,有了Hopfield网络的CHNN模型的状态方程和能量函数,我们就可以来尝试抽象和转化TSP问题

七、CHNN模型下TSP的置换矩阵设计

我们的案例里有8个城市,通过构造NN模型,将每一个城市对应于神经网络的每一个神经元,即案例的TSP问题可以用8x8=64个神经元组成的Hopfield网络来求解

为了满足TSP的规则,我们设计置换矩阵的形式如下

TSP的置换矩阵

置换矩阵负责翻译并遵从TSP的规则:

(1)一个城市只能被访问一次,翻译为:矩阵每行有且只有一个1,其余元素均为0

(2)一次只能访问一个城市,翻译为:矩阵每列有且只有一个1,其余元素均为0

(3)共访问过n个城市,翻译为:矩阵的全部元素中1的数量为n

在神经网络迭代优化过程中,每次神经元输出的状态集合只要满足上述置换矩阵的规则,则证明该组输出状态就是一个TSP问题的解,我们只要在这些解中找到最小代价的解即可

八、CHNN模型下TSP的能量方程定义

对于TSP问题,我们在一般性CHNN能量函数的基础上,需要考虑以下两点问题来设计出TSP的能量函数

(1)TSP的能量函数需要量化的翻译置换矩阵的规则

(2)在TSP问题中的n!个合法路线中,能量函数要有利于量化表示最短路线的解

为此,我们设计TSP能量函数的第一项为

TSP能量函数的第一项

上式翻译为:每一行中的每一个城市x,必须有且只有一个1,符合置换矩阵的第一条规则

设计TSP能量函数的第二项为

TSP能量函数的第二项

上式翻译为:每一列中的每一个城市x,必须有且只有一个1,符合置换矩阵的第二条规则

设计TSP能量函数的第三项为

TSP能量函数的第三项

上式翻译为:整个矩阵有n个1,符合置换矩阵的第三条规则

设计TSP能量函数的第四项为

TSP能量函数的第四项

上式包含神经网络输出中有效解的路径长度信息,dxy表示城市x到城市y的距离

为此,TSP的能量函数E整合为

TSP的能量函数E

其中参数ABCD称为权值,前三项是满足TSP置换矩阵的约束条件,最后一项包含优化目标函数项

九、CHNN模型下TSP的能量方程和状态方程的优化

由于上式定义的能量函数过于复杂,数学家们对能量函数进行了优化,将TSP问题的能量函数改进为

TSP的能量函数E的改进

优化后的能量函数减少了权值参数的个数,且根据能量函数E,将CHNN的动态方程优化为

CHNN的动态方程的优化

在实际编程中,我们可以用这两个函数优化迭代和判定当前Hopfield神经网络的输出状态

十、CHNN模型下TSP输入状态和输出状态的更新方法

我们根据优化后CHNN的动态方程,可以写出Hopfield递归神经网络的输入状态的更新表达式为

输入状态的更新表达式

上式中可以看到Hopfield递归神经网络当前时刻的输入与其上一个时刻关联

由非线性映射,我们写出Hopfield递归神经网络的输出状态的更新表达式为

输出状态的更新表达式

其中输出状态的非线性映射是双曲正切函数

十一、Hopfield求解TSP问题的步骤

至此,我们总结出利用Hopfield神经网络来求解TSP问题的步骤

(1)初始化Hopfield神经网络的初值(如输入电压U0、迭代次数)和权值(A、D)

(2)计算n个城市之间的距离矩阵Dxy

(3)初始化神经网络的输入状态

初始化神经网络的输入状态

其中加入的随机项为

随机项

(4)利用CHNN动态方程计算输入状态的增量

输入状态的增量

(5)由一阶欧拉方法更新神经网络下一个时刻的输入状态

更新下一个时刻的输入状态

(6)由sigmoid函数更新神经网络下个时刻的输出状态

更新下一个时刻的输出状态 

7)计算当前的能量函数E

计算能量函数E

(8)检查当前神经网络的输出状态集合,是否满足TSP置换矩阵的规则

十二、python编程实现Hopfield

我们用python编程实现出Hopfield神经网络的优化步骤

动态方程计算微分方程du

动态方程计算微分方程du

更新神经网络的输入电压U

更新神经网络的输入电压U

更新神经网络的输出电压V

更新神经网络的输出电压V

计算当前网络的能量

计算当前网络的能量

检查路径的正确性

检查路径的正确性

迭代优化Hopfield神经网络

迭代优化Hopfield神经网络

十三、结果分析

我们设置以下参数来求解TSP案例

初值设置

根据这些初值,Hopfield神经网络在经过10000次迭代优化后,找到的TSP的最优路线解为

Hopfield网络找到的TSP路线

最终Hopfield神经网络找到的最优哈密顿回路为

Hopfield神经网络找到的最优哈密顿回路

可以看到初值设置得当,Hopfield神经网络找到的最优解已经和真实最优解一致

在神经网络优化过程中,能量函数的波动为

能量函数的波动

用Hopfield神经网络求解TSP问题,我们可以总结出以下几点

(1)Hopfield神经网络是求解TSP的一种优化网络算法

(2)Hopfield神经网络通过神经动力学来映射生物神经网络,在参数设置合理的情况下,有可能找到真实最优解,比近似算法计算的效果要好

(3)Hopfield神经网络比较依赖初始权值的设置,会受到初始输入状态和输出状态的随机性影响,不一定每一次都可以找到最优解,有可能找到的是不同的次优解

案例代码见:Hopfield神经网络求解TSP问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容

  • 文章主要分为:一、人工神经网络的概念;二、人工神经网络的发展历史;三、人工神经网络的特点;四、人工神经网络的结构。...
    艾剪疏阅读 16,280评论 0 7
  • 原文地址:http://www.cnblogs.com/subconscious/p/5058741.html 神...
    Albert陈凯阅读 5,418评论 0 48
  • 文/静雅默 或许只有书、咖啡、孤灯还有那极其昏暗的房间,是我最爱的东西。我的世界里似乎也只有两种颜色。我不知道怎样...
    书倩阅读 226评论 2 2
  • satndard 默认模式,可以不用写配置。在这个模式下,会创建一个新的实例。因此,在这种模式下,允许有多个相同的...
    博为峰51Code教研组阅读 168评论 0 0
  • 下载简书很久了,大概是这个学期初的时候。 是朋友推荐给我的,当时两个人漫步在她的学校,应该当时是说我想写...
    唯不绝音书阅读 262评论 1 2