楊益洲 游文明 周益軍
(揚(yáng)州職業(yè)大學(xué)機(jī)械工程學(xué)院,江蘇揚(yáng)州225000)
人工智能一直是人類的追求之一。人們通過對(duì)生物大腦神經(jīng)元網(wǎng)絡(luò)的研究和仿真,提出了人工神經(jīng)網(wǎng)絡(luò)模型并獲得了巨大發(fā)展。同樣,基于Jerne提出的免疫網(wǎng)絡(luò)理論提出的人工免疫系統(tǒng)(簡稱AIS)也成為了人工智能領(lǐng)域研究的熱點(diǎn)。之后,人工免疫系統(tǒng)日益成熟。主要的有1996年Forrest提出了檢測(cè)計(jì)算機(jī)病毒的反面選擇算法[1],2000年 Timmis提出的RLAIS[2],2002 年 De Castro 提出的克隆選擇算法[3]以及aiNet等[4]。這些算法,充分借鑒了免疫系統(tǒng)中B細(xì)胞與T細(xì)胞等免疫細(xì)胞實(shí)現(xiàn)生物免疫的方式,構(gòu)建了人工免疫系統(tǒng)的基礎(chǔ),尤其是在計(jì)算機(jī)病毒防護(hù)等領(lǐng)域有了眾多應(yīng)用成果。但是對(duì)于機(jī)械設(shè)備的智能診斷而言,研究的對(duì)象更加復(fù)雜,對(duì)于AIS系統(tǒng)的要求也有所不同。目前AIS的研究與應(yīng)用還多集中在數(shù)據(jù)聚類方面,但是AIS尤其是克隆選擇算法具有應(yīng)用靈活,適應(yīng)性強(qiáng)的特點(diǎn),很適合用于全局尋優(yōu)。傳統(tǒng)的智能算法如人工神經(jīng)網(wǎng)絡(luò)的BP算法很容易陷入局部極值,AIS在這一方面正好何其可以相輔相成?;谝陨峡紤],本文對(duì)如何在AIS進(jìn)化過程中保持抗體的多樣性進(jìn)行了研究,并在傳統(tǒng)的克隆選擇算法基礎(chǔ)上,提出了一種通過設(shè)定家族標(biāo)記模擬姓氏繼承提高算法多樣性,有效避免過早收斂以及重復(fù)計(jì)算以提高算法速度的方法。
隨著研究的深入,克隆選擇算法也經(jīng)歷了不斷發(fā)展。De Castro提出的克隆選擇算法流程如下:
①產(chǎn)生候選方案的集合S(P),該集合為記憶細(xì)胞子集(M)和剩余群體(Pr)的總和(P=Pr+M);
②基于親和力度量確定群體P中的n個(gè)最佳個(gè)體Pn;
③對(duì)群體中的這n個(gè)最佳個(gè)體進(jìn)行克隆(復(fù)制),生成臨時(shí)克隆群C;
④對(duì)克隆生成的群體施加變異操作,變異概率反比于抗體親和力,生成一個(gè)成熟的抗體群體C*;
⑤從C*中重新選擇改進(jìn)個(gè)體組成記憶集合,P集合的一些成員可以由C*的其他改進(jìn)成員加以替換;
⑥將群體中的d個(gè)低親和度的抗體予以替換,從而維持抗體的多樣性。
而與Rbdolph證明經(jīng)典遺傳算法[5]類似,可以證明若是讓每一代種群的最優(yōu)個(gè)體不參與雜交與變異過程,則算法是依概率意義收斂的。所以實(shí)際使用的克隆選擇算法通常對(duì)最優(yōu)抗體進(jìn)行保留。此外為了保留抗體的多樣性,除了調(diào)用變異算子對(duì)臨時(shí)克隆群C并施加變異操作外,通常還調(diào)用交叉算子對(duì)臨時(shí)克隆群C內(nèi)的個(gè)體進(jìn)行基因交叉互換??傮w流程圖如圖1。
而本文對(duì)于克隆選擇算法的改進(jìn)主要是通過對(duì)進(jìn)化過程中的臨時(shí)抗體群添加遺傳標(biāo)志位,達(dá)到進(jìn)一步提高抗體多樣性從而提高算法全局搜索提高算法效率的目的。具體方法如下:
①生成初始抗體群時(shí)按照生成次序標(biāo)記家族標(biāo)志;
②調(diào)用變異算子時(shí),新生成的抗體繼承調(diào)用抗體家族標(biāo)志;
③調(diào)用交叉算子時(shí),新生成的抗體繼承主動(dòng)調(diào)用的抗體所有的家族標(biāo)志;
④在對(duì)臨時(shí)抗體群進(jìn)行排序時(shí),首先依據(jù)家族標(biāo)志在各家族內(nèi)按親和力進(jìn)行排序;
⑤將各家族最優(yōu)抗體注入臨時(shí)抗體群(即進(jìn)化池),并按照設(shè)定的最大濃度丟棄多余臨時(shí)抗體;
⑥對(duì)去除后的所有抗體再按親和力進(jìn)行排序,選優(yōu)后注入進(jìn)化池。
該方法主要是通過增設(shè)標(biāo)志位,從而避免了抗體在局部極值點(diǎn)過早收斂集中造成大量無效計(jì)算,來達(dá)到提高遍歷性與算法效率的目的。其中濃度定義為某家族抗體總數(shù)在臨時(shí)抗體群所占的比率。為了對(duì)算法進(jìn)行驗(yàn)證,本文采用CA6140型臥式車床的加工過程振動(dòng)數(shù)據(jù)的訓(xùn)練過程進(jìn)行了分析。
實(shí)驗(yàn)通過AIS系統(tǒng)對(duì)車床加工細(xì)長軸工件時(shí)易發(fā)生的顫振故障進(jìn)行了識(shí)別與預(yù)報(bào)。分別采集車床x、y、z三個(gè)方向振動(dòng)信號(hào),將各頻域段內(nèi)的信號(hào)能量歸一化后作為特征值。下圖是分別增加家族標(biāo)記與未增加家族標(biāo)記時(shí)抗體訓(xùn)練時(shí)依照進(jìn)化代數(shù)的收斂結(jié)果。
如圖可以看出,以進(jìn)化代數(shù)為橫坐標(biāo)時(shí),采用姓氏繼承法會(huì)延緩抗體的收斂速度,這是保持抗體多樣性帶來的代價(jià)。但是由于丟棄了部分過于集中的抗體,算法在速度上有了顯著提高。表1是采用相同樣本與其它參數(shù)條件下,姓氏繼承法不同濃度時(shí)的最大親和力與訓(xùn)練所用時(shí)間(設(shè)定50個(gè)家族)。
表1 采用/不采用姓氏繼承法50代時(shí)訓(xùn)練得到的最大親和力與所用時(shí)間
從表1可看出,采用姓氏繼承法后,雖然從最大親和力來看略有下降,但是降幅基本可以忽略。平均時(shí)間從不采用的6.11 s到最大濃度0.4時(shí)的5.49 s一直到采用最大濃度0.1時(shí)的3.47 s有了顯著提高。而從同樣進(jìn)化50代時(shí),臨時(shí)抗體池內(nèi)抗體的分布也可看出該算法對(duì)抗體多樣性的提高。圖5是識(shí)別結(jié)果圖。
該算法進(jìn)化生成的抗體能夠?qū)C(jī)床故障進(jìn)行正確識(shí)別。
本文在克隆選擇算法的基礎(chǔ)上提出了一種姓氏繼承算法。該算法能夠有效地提高算法的多樣性,避免進(jìn)化過程中抗體過快收斂造成的重復(fù)計(jì)算,從而有效提高了算法效率。該算法作為一種人工免疫系統(tǒng)進(jìn)化時(shí)的輔助算法,在進(jìn)化池大小受限,或者對(duì)最優(yōu)值精度要求不高時(shí)有明顯的效果。
1 S.Forrest,S.A.Hofmeyr,A.Somayaji A.A sense of self for UNIX processes[C].In 1996 IEEE Symposium Security and Privacy,Oakland,California,1996:120-128
2 J.Timmis,M.Neal.A Resource Limited Artificial Immune Systems for Data Analysis[J].Knowledge Based Systems ,2002,14(3/4):121-130
3 D.Castro,F(xiàn).J.V.Zuben.Learning and Optimization Using the Clonal Selection Principle[J].IEEE Transactions on Evolutionary Computation,2002,6(3):239-251
4 D.Castro,J.Timmis.Convergence and Hierarchy of aiNet:Basic Ideas and Preliminary Results[C].in Proc.the 1st International Conference on Artificial Immune Systems,Canterbury,UK,2002:231-240
5 Rudolph G.Convergence properties of canonical genetic algorithms[M].IEEE Trans on Neural Networks,1994.