第二章 仿生算法

文章介绍了几种基于自然现象的优化算法,如蚁群算法利用信息素寻找最短路径,具有系统性和容错性;微粒群算法借鉴鸟类觅食行为进行图像匹配和参数优化;蜂巢算法通过蜜蜂的舞蹈通信进行问题解决;Memetic算法模拟文化传承进行模型选择和优化;文化算法则结合知识传播和生物种群互动进行问题求解,强调经验学习和优化过程。
摘要由CSDN通过智能技术生成

1.简介

本章介绍了各种放生算法的基本的知识和理论描述。

2.蚁群算法:

1.蚁群的行为:
蚂蚁有一种习惯,就是当它会顺着之前蚂蚁留下的气味走,如果出现了没有走过的岔路口,它会随机选择一个,并且如果这条路走通以后(到达了食物或者是洞穴),蚂蚁会根据路程的长短来分泌其气味,也就是一种被称为信息素的东西,如果路程短,就在折返回去时多分泌一些信息素,反之如果路程长,它在回去的时候分泌的信息素就少。如果有几百只蚂蚁,在迷宫里面行走,他们很快就可以根据信息素分析出最短的路径。同时,即便突然间出现了原本不存在的障碍物,蚁群也可以在较短的时间内再找出一条新的最短路径。
2.蚁群算法的要点:
(1)每一只蚂蚁(我们可以看作一个神经网络或者是神经网络的一部分),都只会受到它的当前环境影响,并且也只会根据当前的环境改变。比如我们使用一个神经网络,进行果蔬识别,猫狗识别,人脸识别等,我们对这个神经网络分别在三种不同的数据集上进行训练,可以得到不同的功能。
(2)蚂蚁对环境的反应是和其基因有关的。比如我们上面说的识别果蔬识别猫狗等的效率其实之和网络的内部结构有关,和你识别的是什么没有太大关系。
(3)就每个蚂蚁个体而言,它只对它所处的环境有作用(比如进行了果蔬识别训练的神经网络,只对果蔬识别生效,不会对其他的识别生效)。但是如果我们把这三个网络用某种方式组合起来,它就可同时对三种都生效。
综上所述,蚁群算法一共包括了两个部分,一个部分是在局部范围内搜索局部最优,另一个部分是把全部的局部整合为一个整体。它有四大特点:
(1)系统性。它和牛顿法是不一样的,牛顿法的意义是:各部分的功能之和等于总功能之和。但是蚁群算法的思想是,各部分功能之和可以形成一个整体,其性能要优于各部分单独的功能之和。
(2)还有一点,就是该算法容错能力极强,就像蚁群不会死了一只蚂蚁就导致整体崩溃一样(所以我们对上面的例子进行扩充,不只是一种算法在进行识别工作,而是同一时间多种算法同时在进行识别工作,比如我们同时使用fast_rcnn,mobile_net,yolov5等模型识别果蔬,最后选出认可最多的那个作为我们的答案,这样,即便有一个网络识别是有问题的,也不影响我们得出正确的答案)。
(3)自适应性。模型可以进行自我调整和进化,比如一只蚂蚁在得知同伴留下了正确的路,就会跟着走,该算法也是,如果有一个模型得出的答案明显不同于其他的模型,它就会进行自我调整,重新训练,直到输出结果和其他的网络一样,这么一来,该系统的整体精度就可以实现无限的进化,来适应环境。先输入一个值,然后进行训练,训练出正确的结果,这是正反馈,输出出来的结果影响着那些原本的输出错误的网络,作为一个输入标签让输出错误的网络重新训练,这是负反馈,正负反馈结合,使得该算法有着强大的自适应性。

3.微粒群算法:

1.鸟类的觅食行为:
当一群鸟类同时在觅食的时候,若一只鸟提前发现存在食物,它会发出信号来通知他的同伴向他靠拢,最后一群鸟类全部都可以聚集到食物周围。下一次他们出发觅食的时候,他们会先来到原本找到食物的地方看看,如果没有再去别的地方寻找。这个其实和人类是一样的,人类在决策的时候,主要就通过两个因素,自身的经验和他人的经验。
2.具体的算法理解
该算法可以和第一章的遗传算法结合,当一群网络有着类似的结构(比如前三层都是卷积层),当有一个网络得到了不错的效果(误差较小),但是另一个和它有着类似结构的网络并没有得到较好的效果时,可以通过向它学习靠拢的方式进行改进,比如调整自身对应部分的参数和获得不错效果的网络一致,之后再进行自身优化。该算法其实更多的用于图像匹配问题,对两个图像,它们之间将会进行逐像素比对,比如一个灰度图和一个彩图,如果它们的内容是一样的,只是颜色不一样,那么就需要找到一个转移参数来和彩图或者灰度图的色素相乘,让两者的结果相似,这个时候,我们首先采用之前的经验参数,如果无效,那么我们就先漫无目的的大范围尝试,一旦有一个数字被发现和像素乘积以后可以和后面的图片的像素比对上,那么搜索的空间就快速的从漫无目的变成集中在这个数字周围搜索,这样很快就可以找到最好的参数。

4.蜂巢算法:

1.蜂群的行为:
研究表明,蜜蜂在找到蜂蜜源以后,会回到蜂巢,以跳舞的形式进行通知,通知内容包括了蜂蜜的量,蜂蜜的距离,以及阳光等其他信息。其他的蜜蜂看到以后,会根据当前情况,选择去或者不去。
2.算法思想:
在算法中,我们设置三个部分:
(1)蜜源:决定了蜂蜜的量的大小,距离,和好坏等信息(具体是什么信息要看求解的问题)。
(2)采蜜蜂:采蜜蜂找到了蜜源,回来通知。
(3)待工蜂:要么跟着采蜜蜂去采蜜,要么自己找。
一开始的蜜蜂全是待工蜂,它们在漫无目的地寻找花蜜,一旦有的找到了不错的蜜源,它就变成采蜜蜂,这时,其他的代工蜂有这么几种选择,要么跟着它去采蜜,要么继续找,直到找到了最好的蜂蜜为止。同一个蜜源的蜂蜜会因为一直开采,而量逐渐减少。
3.应用思路:
该算法完全可以和遗传算法进行结合,一开始初始化种群,比如一开始种群中有10个个体,它们的结构大小都不一样(具体在卷积层,池化层和全连接层的数目上)。我们先预设一个蜜源好的设置,比如训练十轮以后误差小于20%并且层数少于15层的是好的蜜源,同时再设置一个停止标准,比如训练100轮或者是误差小于5%。如果在训练中,有的个体的误差达到了好蜜源的标准,那么我们就可以通知吧其他的个体,每个个体和自己误差进行对比,如果差距很大,那么它就放弃自己的网络,来向这个“好”的网络靠拢(让它们的卷积层,池化层,全连接层层数一样,只不过排序不一样(随机排序,但是池化还是要在卷积后)也就变成了采蜜蜂),之后进行训练,如果不能达到预定的最好效果,那么可以选择留一个较好的下来(因为只是训练了十轮,达不到标准也正常,先留着,最后多训练一下看看),之后重新初始化各个体(让这些待工蜂寻找新的蜜源)。达到目的的训练轮数,还没有到最好标准就全部精心训练一下,选择最好的。若是有小于5%且层数也少的,那么就直接选它。

5.Memetic算法:

1.什么是meme
《自私的基因》这本书里面首次提出了文化也可以像基因一样的传播的概念,文化产品像基因一样在人们脑海中复制,相互映射,存活于人脑,书本和艺术品上。就像基因一样,我们把这些文化的单元称之为meme。meme的存活和传播很受社会环境的影响,比如西汉罢黜百家,独尊儒术,导致儒家文化蓬勃发展,但是其他的比如墨家的文化逐渐消亡。文化的发展往往是爆炸式的,它和生物的基因改变不同,文化可以在一年之中消失不见,也可以快速的朝着人们希望的正确的方向去快速发展,比如文艺复兴。所以,学习meme的发展规律,并且应用于人工智能邻域,有时候可以获得更好的效果。
2.算法具体说明
首先它和遗传算法很像,因为它也涉及遗传(文化传承),交叉(文化融合),选择(主要看大思想是否接受)。和之前的遗传算法不一样的点就在于文化是很严谨的,几乎不会变异,同时选择的时候不像遗传算法那样为了保存多样性而留下一部分,是全部剔除。算法的过程如下:
(1)产生初始种群:产生初始种群的方法和之前遗传算法的产生方式一样,不同点在于产生以后进行一下训练和评定,如果不达标就进行淘汰,然后选择最优的流传下来。
(2)之后对整个优秀种群进行交叉和淘汰,最后找到最好的模型。
(3)我们可以从宏观整体和微观两部分来使用,即我们有了几个优秀的meme,我们就可以对其进行交叉,从微观上最后筛选出的几个优秀模型(误差小,参数少),我们可以共用它们形成文化群(蚁群的思想)。

6.文化算法

1.什么是文化
文化探讨的是人和知识之间的关系,正常情况下,一个人如果不通过学习,那么他面对问题就只能通过试错来获得经验。一般情况下,当大人通过学习或者试错获得经验以后,他就会把这个当作知识传授给他的孩子。这样文化就可以代代相传。
2.文化算法
文化算法完全模拟了人类社会文化传播的基本方法,它设置了两个层,一个层是知识储备层(被称为置信度空间),另一层就是生物种群,这两个层之间相互作用。当一个个体发现好的知识,比如卷积层的参数是xxx可以获得很好的分类效果,它就会把知识放到置信度空间,当它通过交叉配对生成后代以后,这些后代会去置信度空间看看有没有适合自己的优化(比如置信度空间说卷积加池化加卷积的卷积核参数是xxx很好,如果这个个体正好也有这样的结构,它就会根据经验进行自我优化)。这样就等于在遗传算法的基础上,对生成的个体进行了一个根据经验的优化,优化以后的个体可以少走很多弯路。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值