前言

如今,人工智能已经是世界各国高度重视的一个热点领域,相关的研究和应用在学术界、产业界都是如火如荼。一般认为,机器学习是人工智能领域中的热点方向,而深度学习则是机器学习中的热点分支。众所周知,深度学习的前身是人工神经网络,或者更早一些的感知机,其思想来源于人类脑神经细胞构成的神经网络,属于计算智能的一个分支。

在计算智能领域,受人体信息处理机制启发而设计的计算模型主要包括深度学习、进化计算和免疫计算等。目前,深度学习就像正午 12 点的太阳,备受研究和开发人员喜欢,从者甚众。相比之下,进化计算则像是早晨八九点钟的太阳。今年 IEEE 进化计算汇刊的影响因子已达到11.169,从侧面说明其影响力已经不可小觑。至于免疫计算,则是刚刚露出曙光,还有很多不确定性和未知的东西需要探索和研究。

与深度学习和进化计算不同,免疫计算是受生物免疫系统中所蕴含的信息处理机制启发而来的。生物免疫系统是生物体的自我保护系统,具有免疫防御、免疫监视和免疫自稳等功能,是一个复杂自适应系统。因此,生物免疫系统可视为自然界一个典型的安全智能系统,其中蕴含的机制非常值得我们去探索和研究,并设计出新颖高效的免疫计算理论、方法和系统。

在此背景下,特邀了西安电子科技大学焦李成老师、四川大学李涛老师、深圳大学林秋镇老师,以及郑州轻工业学院张伟伟老师各自所领衔的团队,对免疫计算的基本现状,以及克隆选择算法、否定选择算法、免疫优化图像解释、多目标免疫算法进行了综述,希望能对免疫计算这一新的计算智能分支的发展有所推动。

作者:罗文坚

0 引言

免疫计算(Immune Computation)又称为人工免疫系统(Artificial Immune Systems),是计算智能领域中新兴的一个重要研究方向,其基本模型和算法受生物免疫系统启发而来。从信息处理的角度来看,生物免疫系统是一个具有自我学习和自我保护能力的自适应系统,是一个典型的安全智能系统,可为新一代计算智能、人工智能模型和方法提供灵感。国内外研究者将生物免疫系统所隐含的信息处理机制引入计算机科学领域,已提出了多种免疫计算模型和算法,逐渐形成了免疫计算这一研究领域。

免疫计算相关的研究发轫于20世纪80年代中期, 并在 90 年代得到初步发展。1986 年,Farmer 等首次提出了从生物免疫系统的自适应机制启发而来的机器学习模型。1990 年,Bersini和 Varela 提出了将免疫网络理论用于求解自适应问题的一些思路。同年,Ishida 提出了面向分布式故障检测的基于免疫网络原理的并行分布式处理模型。1994 年,Forrest 等基于免疫 T 细胞成熟机制和识别原理提出了负选择模型和算法,这是第一个典型的免疫计算模型和方法,尽管比较简单。随后,从上个世纪90年代末至今,克隆选择算法 (Clonal Selection Algorithms) 、人工免疫网络算法 (Artificial Immune Network) 和树突细胞算法(Dendritic Cell Algorithms) 相继提出,并逐渐形成了免疫计算领域的四个典型研究分支,即信息负表示、克隆选择算法、人工免疫网络算法和树突细胞算法。在应用方面,免疫计算模型和算法已被广泛应用在异常检测、网络安全、隐私保护、复杂优化问题求解、模式分析和机器学习等领域,均取得了不少进展。

伴随着免疫计算研究的发展,一系列相关的学术活动 也 随之诞生和发展起来。IEEE 计算智能协会下的演化计算技术委员会(IEEE CIS ECTC)专门成立了Task Force on Artificial Immune Systems 用于推动免疫计算领域的研究与发展。近年来,在IEEE Symposium Series on Computational Intelligence (IEEE SSCI)系列会议中,都有举行 IEEE Symposium on Immune Computation(IEEEIComputation)免疫计算研讨会。而演化计算领域的重要会议 IEEE Congress on Evolutionary Computation(CEC)已举办过多年的人工免 疫 系 统 主 题 研 讨 会(Special Session)。

IEEE Transactions on Evolutionary Computation、IEEE Transactions on Emerging Topics in Computational Intelligence、Applied Soft Computing、Swarm and Evolutionary Computation、Natural Com-putation、Information Sciences、Engineering Applications of Artificial Intelligence、Neural Computing and Applications、Swarm Intelligence、Genetic Programming and Evolvable Machines 和 Theoretical Computer Sciences 等国际知名学术期刊都曾出版过以免疫计算为主题的 专 刊(Special Issue)。2015 年,免疫计算领域的两位知名学者 Stephanie Forrest 和DipankarDasgupta 当选 IEEE Fellow,其主要贡献均包括免疫计算方面的研究工作。

1 生物免疫系统简述

生物免疫系统是生物体的自我保护系统,它代表着一系列生物学结构和复杂的生物、化学反应。免疫系统承担着检测、清除各类病原体和有害物质,保护生物体生命健康的重大责任。人类对免疫系统的研究有着悠久的历史,直到今天,免疫系统依然是人类医学和生命科学最重要的研究对象之一。在这些研究中,许多免疫学模型和专门学说被提出,比如克隆选择学说、免疫网络模型、免疫危险理论等,这些研究成果为计算机科学与技术研究者提供了灵感,为免疫计算的诞生和发展提供了生物免疫学基础。

从构成上来说,免疫系统由免疫器官、免疫细胞和免疫分子等构成。其中,免疫器官主要负责制造免疫细胞,如脾脏和胸腺等。免疫细胞是与免疫应答过程有关的细胞,如淋巴细胞和吞噬细胞等;而免疫分子则大多是由免疫细胞分泌的物质,如抗体和补体等。

与许多系统类似,生物免疫系统也是一个分层系统,且一般分为三层。第一层由皮肤和粘膜等构成的物理屏障;第二层主要依靠杀菌物质和吞噬细胞等的防御功能,第一层和第二层是天生的非特异性免疫机制。第三层则是特异性免疫机制,也称为获得性免疫,免疫系统通过各种反应识别入侵的病原体,并产生特异性的免疫反应;病原体清除之后,部分免疫细胞可能成为记忆细胞并长期存在于体内。当相同病原体再次入侵时,特异性免疫系统会快速产生强有力的特异性免疫效果。值得一提的是,在免疫计算中,主要依靠的免疫学理论基础就是第三层特异性免疫相关的理论和实验研究成果。

2 代表性模型和算法

2.1 信息负表示

信息负表示(Negative Representation of Information)是免疫计算领域中的一个重要分支。这是一种新颖的数据表示方法,它由免疫T 细胞的“自我 - 非我”识别机制启发而来:生物免疫系统中,能识别“自我”的免疫 T 细胞会被消灭,而不能识别“自我”的免疫 T 细胞则会成熟,并被用来识别“非我”。受到这一机制的启发,信息负表示模型存储和操作的一般是原始信息的补集(或其子集)。信息负表示有负选择(Negative Selection)算法、负数据库(Negative Databases)和负调查(Negative Surveys)三个主要研究方向。

负选择算法(又称为阴性选择算法)最早由 Forrest 等于 1994 年提出,并在过去的 20 多年间得到了广泛的研究。一个典型的负选择算法可以概括为三步。首先,根据实际环境构造自我样本集合 S。接着,生成一个检测器集合 D。特别地,D 中的每个检测器都不能与 S 中的任何一个样本匹配。最后,用检测器集合 D 来监测异常数据。只要被监测数据能与 D 中任一检测器匹配,那么它就被认为是异常数据。

负选择算法已经被应用于如异常检测、错误检测、网络与计算机安全等多个领域。例如,Dasgupta 等利用负选择算法进行时序反常数据的监控;Moncayo 等将负选择算法用于检测飞行器故障;Wang 等使用负选择算法识别病毒和恶意代码。

负数据库是信息负表示的主要模型和重要研究方向之一, 这一概念最早由Esponda 及其同事在 2004 年前后提出。在负数据库中,存储和操作的是原始数据的补集。根据数据存储的形式,负数据库可以分为二进制负数据库和实值负数据库。当前的研究以二进制负数据库为主,因此这里仅扼要介绍二进制负数据库。记全集为 U = {0, 1}n,DB = {x1, x2, ..., xm} 为包含m 个二进制串的正数据库(即原始数据),那么 U−DB 为正数据库的补集。为了压缩存储空间,引入符号 *,用来表示 0 和 1 中的任意一个。由此,U− DB 的压缩表示形式就称为 DB 的负数据库(NDB)。NDB 中的每条记录均可能包含三个符号 0、1、*。其中,值为 0 和 1 的位置称为确定位,而值为 * 的位置称为不确定位。举例来说,如果 DB={000},那么,一个可能的 NDB 则为 {1**, *1*, **1}。值得一提的是,二进制负数据库能与 SAT 公式一一对应,逆转负数据库则与求解对应的 SAT 公式等价。因此,对负数据库的研究而言,许多针对 SAT 问题的研究成果都是可以直接利用的。事实上,许多负数据库生成算法就是由 SAT 公式生成算法转化而来。

负数据库已用于隐私保护、安全认证等多个领域。例如,Dasgupta 等使用负数据库避免了认证过程中在前端直接暴露认证服务器数据;Luo 等则使用负数据库提高了哈希口令认证的安全性。

负调查最早于 2006 年由 Esponda 等提出,是一种在保护受访者隐私的前提下收集敏感信息的方法。在涉及到一些敏感或隐私信息的时候,若采用传统的问卷调查手段,受访者往往不愿意提供真实的信息。在负调查中,只要求被调查用户选取一个(或一部分)与实际情况不相符合的类别(称为负类别),并返回给数据收集者。而收集者,在收集完所用户返回的负类别之后,便可以通过统计学的方法,估算出真实类别的分布。根据受访者返回的负类别数量,负调查可以分为单选负调查和多选负调查两类。而根据受访者选择不同选项的概率,负调查则可以分为均匀负调查和非均匀负调查,这里的“是否均匀”指的是受访者是否以相同的概率选择不同选项。

负调查既可用于收集敏感信息,还可用于隐私保护的数据发布等领域。例如,Horey 等就利用负调查技术收集传感器网络中的敏感信息;Luo 等使用负调查收集网络购物的商品评价信息;Du 等在 2014 年提出了负发布概念和对应的两个数据负发布方法。

2.2 克隆选择算法

克隆选择算法由生物免疫学中的克隆选择学说启发而来。克隆选择算法的基本免疫学原理是,识别出入侵病原体的免疫细胞会进行快速的增殖,而在增殖过程中免疫细胞会发生变异,克隆变异的结果是产生更高亲和度的免疫细胞,从而使得免疫系统能够更高效地识别和清除病原体,这是生物免疫系统自学习和自适应特性的体现。

典型的克隆选择算法由选择、增殖、突变等基本策略组合而成,大致可分为五个步骤。

(1)初始化:随机生成含有 N 个抗体的种群。

(2)亲和度评估:逐个计算种群中每一个抗体与抗原的亲和度。

(3)抗体再生:将种群中的抗体按照亲和度降序排序,选择前 n(

来源: CAAI会员中心