基于神經(jīng)網(wǎng)絡的電子線路故障診斷.doc_第1頁
基于神經(jīng)網(wǎng)絡的電子線路故障診斷.doc_第2頁
基于神經(jīng)網(wǎng)絡的電子線路故障診斷.doc_第3頁
基于神經(jīng)網(wǎng)絡的電子線路故障診斷.doc_第4頁
基于神經(jīng)網(wǎng)絡的電子線路故障診斷.doc_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1 緒論隨著現(xiàn)代化大生產(chǎn)的發(fā)展,電子線路故障診斷技術的研究越來越重要。根據(jù)電子線路的特點可將電子線路故障診斷分為模擬電路的故障診斷和數(shù)字電路的故障診斷。在現(xiàn)代電子設備中,絕大部分電子設備故障是由于模擬電路故障導致的,可以說,模擬電路的可靠性幾乎決定了電子設備的可靠性。1.1 模擬電路故障診斷的背景意義目前,模擬電路在航天、通信、自動控制、家用電器等許多方面得到廣泛地應用。隨著電子技術的發(fā)展,模擬電路的集成程度越來越高,規(guī)模越來越大。因此,對模擬電路的工作的有效性、可靠性、可維修性等提出了更高的要求。在模擬電路故障發(fā)生后,要求能及時將導致故障的原因診斷出來,以便檢修和替換。對模擬電路的生產(chǎn)部門來說,同樣也要求能及時診斷出故障,以便改進工藝,提高產(chǎn)品的合格率。對于某些重要設備中的模擬電路,還要求進行故障的預測,即對正常工作中的模擬電路進行不斷的檢測,在元件發(fā)生故障前就進行替換,以避免故障的發(fā)生。根據(jù)電子技術的發(fā)展狀況,由以下三點說明模擬電路故障診斷技術的緊迫性:第一,微電子學時代的到來,電子線路的復雜性和密集性明顯增加, 成千上萬個電路元器件集成在一個小芯片上,而對這些電路元器件的測試僅限于為數(shù)有限的引出端子之上,如此,通常的測量,微調(diào)的手段將不再實用甚至無濟于事。第二,在無線電電子系統(tǒng)中, 數(shù)字電路不能完全取代模擬電路,數(shù)字電路的故障診斷方法也不能取代模擬電路的故障診斷方法。第三,現(xiàn)代電子系統(tǒng)復雜度的增加,系統(tǒng)的可靠性顯得更為重要,因此,必須提高電子系統(tǒng)的可靠性。綜上所述,工業(yè)生產(chǎn)對模擬電路提出了新的要求,微電子技術的快速發(fā)展對模擬電路的測試和診斷也提出迫切的要求,這就使得科技人員不得不進一步探索模擬電路的測試和診斷上的新理論和新方法,研發(fā)新的測試和診斷設備以適應時代的需求。所以,開展模擬電路故障診斷的研究是一項非常有意義的課題。1.2 模擬電路故障診斷的發(fā)展與現(xiàn)狀相對于數(shù)字電路故障診斷而言,模擬電路故障診斷的發(fā)展較為緩慢,其中主要原因有以下六點:1)故障狀態(tài)的多樣性。模擬電路的輸入、輸出信號和元件參數(shù)都是連續(xù)的,電路中任何一個模擬元件都有可能具有無窮多種故障狀態(tài),因此,很難對模擬電路故障進行模擬和仿真。2)診斷的信息量有限。由于實際條件的限制,模擬電路中的電流通常不容易測量,可測量的電壓節(jié)點也往往是有限的,所以模擬電路供診斷的特征信息是有限的,這就容易造成故障定位的模糊性。3)存在容差。實際應用中的模擬電路元件都會有容差,即電路元件參數(shù)在其容差范圍內(nèi)有隨機的偏移。電路中普遍存在的容差通??傻刃橐粋€或者多個元件的“大故障”,這就容易導致電路故障的可測性變差。4)非線性問題。模擬電路中通常含有非線性元件,因此模擬電路龐大的計算量是不可避免的。此外,模擬電路通常還包含大量的反饋回路,也增加了測試的復雜性。5)抗干擾能力差。模擬電路對環(huán)境變化非常敏感,易受熱效應和外界噪聲等環(huán)境因素的影響。其輸出響應也容易受到因為工藝偏差而引起的電路元件參數(shù)變化的影響。6)故障模型化困難。模擬電路的輸入與輸出之間的關系較為復雜并且模型化困難??梢猿晒迷跀?shù)字電路故障診斷中的模型并不能適用于模擬電路故障診斷,而模擬電路故障診斷至今仍然缺乏有效的通用的故障模型。以上六個方面的問題是模擬電路中普遍存在的問題,也是模擬電路故障診斷的難點。盡管存在這些困難,但仍然有許多研究者們致力于模擬電路故障診斷的研究。1960年,R.S.Berkowitz提出了關于模擬電路故障診斷的可解性分析1,研究出了無源線性集總電路元件可解性的必要條件,從此模擬電路故障診斷的理論研究開始了。20世紀70年代出現(xiàn)了一些新的故障診斷原理和方法,其中最突出的成果是參數(shù)辨識法與故障字典法,1979年國際電氣與電子工程師協(xié)會(IEEE)為這兩項重要成果出版了模擬電路故障診斷的專輯2,使得模擬電路故障診斷領域得到進一步的發(fā)展。但是這些方法不足之處在于要求電路具有較多的測試點,并且計算量大,難以在實際中得到應用。20 世紀80年代提出了一種新的故障診斷方法,即故障驗證法,該方法的出現(xiàn)給故障診斷領域增添了新的活力,故障診斷的研究者們從故障診斷的實際出發(fā),將研究的重點從求解全部元件值轉變到求解一部分的元件值,以此來確定故障元件或者故障區(qū)域,并將之分成故障元件求值與故障定位兩部分,大大減小了計算量,削弱了診斷條件。1985年,J.W.Bandler與A.E.Salama對模擬電路故障診斷的理論做了系統(tǒng)的論述3,模擬電路故障診斷理論從此形成了。20世紀90年代初期,伴隨人工智能技術的發(fā)展,尤其是人工神經(jīng)網(wǎng)絡在不同領域里的廣泛運用,故障診斷技術也向著智能化的方向發(fā)展。利用神經(jīng)網(wǎng)絡來完成故障狀態(tài)的分類和故障字典的查詢,既提高了故障診斷效率,同時利用神經(jīng)網(wǎng)絡所具有的泛化能力,使得實現(xiàn)對電路軟故障的診斷成為可能。在國內(nèi),對模擬電路的測試與故障診斷的研究一直都是被關注的研究方向。自80年代末以來,國內(nèi)相繼出版了楊士元4等人的專著。近年來發(fā)表了一系列關于應用神經(jīng)網(wǎng)絡的模擬故障診斷的學術論文。提出了基于神經(jīng)網(wǎng)絡的五種模擬電路故障診斷的方法:一是提出了采用模糊神經(jīng)網(wǎng)絡對模擬電路進行故障診斷的方法,但隸屬度函數(shù)的選取問題仍然是一個難點;二是采用遺傳算法對BP(Back-Proparga-tion) 網(wǎng)絡進行輔助設計和優(yōu)化之后,再進行模擬電路故障診斷的方法;三是構造了一種新型神經(jīng)網(wǎng)絡電路故障診斷專家系統(tǒng),但僅給出理論框架,離實驗還有一定的距離;四是分別使用小波變換和小波包變換對輸出電壓響應的故障特征進行提取,提出了基于小波變換和神經(jīng)網(wǎng)絡的模擬電路故障診斷方法;五是構造模糊 BP 網(wǎng)絡故障分類器融合被診斷元件的2個物理量(溫度和電壓),以確定故障元件。本文采用兩種方法進行模擬電路故障診斷研究:一種是基于BP神經(jīng)網(wǎng)絡的模擬電路故障診斷方法;另一種是先利用遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡,然后再利用優(yōu)化后的網(wǎng)絡進行模擬電路故障診的方法。1.3 研究內(nèi)容與論文組織本文主要是利用神經(jīng)網(wǎng)絡進行模擬電路故障診斷的研究,采用BP和GA-BP兩種網(wǎng)絡對模擬電路故障進行了診斷,仿真效果表明基于神經(jīng)網(wǎng)絡的模擬電路故障診斷系統(tǒng)不但診斷速度快而且準確度高,具有廣闊的應用前景。本文的各章節(jié)組織安排如下:2 人工神經(jīng)網(wǎng)絡簡介人工神經(jīng)網(wǎng)絡(Art1ficial Neural Network,簡稱ANN)是模仿生物大腦的結構和功能,由大量類似于生物神經(jīng)細胞的非線性處理單元(人工神經(jīng)元)相互聯(lián)接而成的網(wǎng)絡,簡稱神經(jīng)網(wǎng)絡。2.1 神經(jīng)網(wǎng)絡發(fā)展及其特點2.1.1 神經(jīng)網(wǎng)絡發(fā)展過程神經(jīng)網(wǎng)絡的研究至今已有七十多年的歷史,下面分三點進行闡述。(1)發(fā)展初期心理學家W.Mcculloch和數(shù)學家W.Pitts在1943年合作提出了形式神經(jīng)元的數(shù)學模型(MP模型)5,從此開創(chuàng)了神經(jīng)網(wǎng)絡的研究。心理學家D.Hebb在1949年指出6神經(jīng)元之間突觸聯(lián)系強度可變的假設,即改變神經(jīng)元連接強度的Hebb規(guī)則,為神經(jīng)網(wǎng)絡的學習算法奠定了基礎。計算機學家Rosenblatt7 在1957年提出感知器(Perceptron)模型,第一次把神經(jīng)網(wǎng)絡研究從純理論的探討付諸于工程實踐。Widrow在1960年提出了自適應線性元件(Adaline)8,它是連續(xù)取值的線性網(wǎng)絡,主要應用在自適應系統(tǒng)中,這與當時占主導地位的以符號推理為特征的傳統(tǒng)人工智能途徑完全不同,因而形成了神經(jīng)網(wǎng)絡研究的高潮。(2)低潮時期Minsky和Papert在1969年出版了一本關于感知器的書籍9,發(fā)現(xiàn)了感知器存在一些不足,如對于求解異或問題,因而研究工作趨向低潮。不過仍有不少學者繼續(xù)研究神經(jīng)網(wǎng)絡。Grossberg10提出了自適應共振理論;Kohonen提出了自組織映射網(wǎng)絡模型111213;Fukushima提出了神經(jīng)認知機網(wǎng)絡理論等。這些都是在20世紀70年代和20世紀80年代初進行的工作。(3)第二次高潮時期進入世紀80年代,神經(jīng)網(wǎng)絡研究再次高潮。美國物理學家Hopfield在1982年提出了Hopfield神經(jīng)網(wǎng)絡模型 14,有力地推動了神經(jīng)網(wǎng)絡的研究。他引入了“計算能量函數(shù)”的概念,給出了網(wǎng)絡穩(wěn)定性判據(jù)。在1984年他用此模型成功地解決了復雜度為NP的旅行商問題(TSP)。Felemann和Balllard的連接網(wǎng)絡模型指出了傳統(tǒng)的人工智能計算與生物計算的區(qū)別,給出了并行分布的計算規(guī)則。1986年,Rumelhart等人提出并行分布處理(PDP)的理論,同時提出了多層網(wǎng)絡的誤差反向傳播學習算法,簡稱BP算法15。這種算法根據(jù)學習的誤差大仙,把學習的結果反饋到中間層次的隱單元,改變他們的權系數(shù)矩陣,從而達到預期的檢測目的,解決了多層網(wǎng)絡的學習問題。BP算法從實踐上證明了神經(jīng)網(wǎng)絡的運算能力很強,可以完成許多學習任務,解決許多具體問題。BP網(wǎng)絡時迄今為止最常用、最普通的網(wǎng)絡。(4)新的發(fā)展階段上世紀90年代,Narendra和Parthasarthy提出了推廣動態(tài)神經(jīng)網(wǎng)絡系統(tǒng)及其連接權的學習算法16,其具有非線性特性,增強了神經(jīng)網(wǎng)絡的魯棒性。另外,在1995年,Jenkins提出了光學神經(jīng)網(wǎng)絡17,可以發(fā)揮光學的互連能力和并行處理能力,加強了神經(jīng)網(wǎng)絡的自適應能力與學習能力,光學神經(jīng)網(wǎng)絡的神經(jīng)元之間的連接權不但數(shù)量大而且動態(tài)控制結合強度,可以實現(xiàn)高速運算,極大地促進神經(jīng)網(wǎng)絡的發(fā)展。在國內(nèi),對神經(jīng)網(wǎng)絡的研究開始于20世紀80年代末,中科院的汪云九先生起到了先導作用18。1997年,申金媛提出了多目標旋轉不變分類識別的新方法,也就是基于聯(lián)想存儲級聯(lián)WTA模型的旋轉不變識別19。在識別多模式時可以聯(lián)想到一個模式,采用全單極的形式,對互連權值實行二值化截取,同時把聯(lián)想存儲模型和WTA模型級聯(lián)起來,如此,提升了存儲容量和容錯性。1994年,廖曉昕對細胞神經(jīng)網(wǎng)絡提出了新的數(shù)學理論20,推動了該領域的發(fā)展。吳佑壽提出了傳遞函數(shù)可調(diào)的神經(jīng)網(wǎng)絡,這對神經(jīng)網(wǎng)絡理論的發(fā)展具有十分重要的意義。以上研究開拓了神經(jīng)網(wǎng)絡的應用領域。2.1.2 神經(jīng)網(wǎng)絡的特點神經(jīng)網(wǎng)絡模擬了生物神經(jīng)系統(tǒng)的一些特征,從而具有一些與傳統(tǒng)數(shù)字計算機不同的特點,具體有下面幾點:(1)非線性映射從本質上而言,神經(jīng)網(wǎng)絡就是一個非線性系統(tǒng),可以實現(xiàn)從輸入空間到輸出空間的非線性映射,具有較強的非線性信息處理能力。工程界普遍面臨的問題就是尋求輸入空間到輸出空間之間的非線性關系模型,神經(jīng)網(wǎng)絡可以很好地模擬大部分無模型的非線性系統(tǒng)。(2)固有的并行結構神經(jīng)網(wǎng)絡在結構上是并行的,在信息處理順序上也是并行的,神經(jīng)網(wǎng)絡同一層內(nèi)的神經(jīng)元都是同時工作的。因此,利用超大規(guī)模的集成硬件實現(xiàn)的神經(jīng)網(wǎng)絡可以大大提高信息處理速度。(3)泛化能力神經(jīng)網(wǎng)絡的泛化是指對不在訓練樣本集中的數(shù)據(jù),網(wǎng)絡也可以產(chǎn)生合理的輸出。神經(jīng)網(wǎng)絡信息分布存儲的特征,使之對外界輸入信息和輸入模式具有聯(lián)想記憶的能力。(4)容錯性神經(jīng)網(wǎng)絡具有天生容錯的能力(也稱魯棒性),即其性能在不利于運行的條件下是逐漸下降的,如果一個神經(jīng)元或者神經(jīng)元的連接被損壞了,則存儲模式的記憶能力將會降低。由于神經(jīng)網(wǎng)絡信息分布式存儲的特性,在網(wǎng)絡的嚴重惡化之前這種破損是分散的。因此,神經(jīng)網(wǎng)絡的性能是一個緩慢變化的過程而不是災難性的改變。為確保神經(jīng)網(wǎng)絡的容錯性,在設計神經(jīng)網(wǎng)絡的算法時應進行正確的度量。(5)自適應性由于神經(jīng)網(wǎng)絡經(jīng)過學習可以調(diào)整自身的突觸權值和閾值,從而具備適應外界變化的能力。神經(jīng)網(wǎng)絡的自適應性主要體現(xiàn)在學習性、可訓練性、自組織能力以及推理能力這四個方面。2.2 神經(jīng)網(wǎng)絡原理2.2.1 神經(jīng)網(wǎng)絡基本結構單元神經(jīng)元是神經(jīng)網(wǎng)絡的基本單元,它類似于生物體的神經(jīng)系統(tǒng)基本單元,神經(jīng)元是一個多輸入單輸出的結構,其功能是模擬生物神經(jīng)元最基本的特征,圖1為神經(jīng)網(wǎng)絡中的第個神經(jīng)元的結構示意圖。神經(jīng)元是一個多輸入、單輸出的非線性元件,其輸入輸出關系可以描述為 (1)其中,為的輸入信號, 為神經(jīng)元單元閾值, 為神經(jīng)元的連接輸入信號的權值,為輸入信號數(shù)目。為神經(jīng)元輸出, 為激活函數(shù),也稱為傳遞函數(shù)。激活函數(shù)不僅是一個神經(jīng)元的核心也是神經(jīng)網(wǎng)絡的核心,其特性曲線光滑且可導,它是神經(jīng)網(wǎng)絡具有非線性分類能力的根源。通常,稱一個神經(jīng)網(wǎng)絡是線性還是非線性是由神經(jīng)網(wǎng)絡神經(jīng)元所具有的激活函數(shù)的線性或非線性來決定的。在實際應用中,最常用的輸出函數(shù)是Sigmoid函數(shù)函數(shù),常用的有線性型、閾值型和S型(Sigmoid)等。常用激活函數(shù)的表達式為:(1)線性型神經(jīng)元函數(shù)連續(xù)取值,輸入有連接矩陣加權產(chǎn)生輸出,其激活函數(shù)表達式為: (2)線性激活函數(shù)可以獲得較大值域范圍。(2)閾值型這是一種非線性模型,改函數(shù)有兩種不同取值情況:一種是當輸入為,輸出值為+1或-1時,的表達式為 (3)第二種情況是當輸入為,輸出值為1和0時,的表達式為: (4)(3) S型S型函數(shù)是連續(xù)單調(diào)可微的函數(shù),也有兩種表達式:一種是對數(shù)sigmoid函數(shù),即logsig函數(shù),輸出取值范圍為(0,1)。當輸入為, 的表達式為 (5)第二種是正切sigmoid函數(shù),即tansig函數(shù),輸出取值范圍為(-1,1),輸入為, 的表達式為: (6)2.2.2 神經(jīng)網(wǎng)絡的構成神經(jīng)網(wǎng)絡是由許多互相連接的神經(jīng)元構成的網(wǎng)絡。按神經(jīng)元連接方式的特別痛可以把神經(jīng)網(wǎng)絡的拓撲結構分為兩大類,即層狀結構與網(wǎng)狀結構。層狀結構的神經(jīng)網(wǎng)絡是由若干層構成的,其中第一層是網(wǎng)絡的輸入層,最后一層是網(wǎng)絡的輸出層,在輸入層與輸出層之間的是網(wǎng)絡的隱含層。神經(jīng)網(wǎng)絡的每一層都包含了一定量的神經(jīng)元。每一層神經(jīng)元與前一層神經(jīng)元的輸出相連接,而同一層內(nèi)的神經(jīng)元互不連接。按照層與層之間是否存在反饋連接,又可以把層狀結構的神經(jīng)網(wǎng)絡分成兩種,即前饋網(wǎng)絡和反饋網(wǎng)絡。前饋網(wǎng)絡(又稱前向網(wǎng)絡)的特點是相鄰兩層之間的神經(jīng)元互相連接,各神經(jīng)元之間無反饋。網(wǎng)絡中的每個神經(jīng)元可接收來自前一層的多個輸入,并產(chǎn)生一個輸出傳給下一層的神經(jīng)元,輸入信息只能從輸入層開始一層一層向前傳遞。反饋網(wǎng)絡在網(wǎng)絡的輸出層與隱含層之間或在隱含層與隱含層之間存在反饋連接,即網(wǎng)絡中的神經(jīng)元同時接收來自前一層神經(jīng)元的前饋輸入和來自后一層神經(jīng)元的反饋輸入。Hpofield網(wǎng)絡就是一種最典型的反饋神經(jīng)網(wǎng)絡。此外,遞歸神經(jīng)網(wǎng)絡(Recurrent Neural Network,簡稱RNN)也是目前一種常用的反饋網(wǎng)絡。網(wǎng)狀結構的神經(jīng)網(wǎng)絡(又稱互聯(lián)網(wǎng)絡)的特點是在任何兩個神經(jīng)元之間都具有雙向的連接關系,即每個神經(jīng)元既可以是輸入節(jié)點,也可以是輸出節(jié)點。因此,輸入信號在各個神經(jīng)元之間反復傳遞,從初始狀態(tài)開始,直到趨于某一穩(wěn)定狀態(tài)或進入周期振蕩狀態(tài)為止。隨著神經(jīng)元個數(shù)的增加,互聯(lián)網(wǎng)絡的結構會快速復雜化,將會增加網(wǎng)絡的計算量。2.2.3 神經(jīng)網(wǎng)絡的學習機制神經(jīng)網(wǎng)絡的權值和閾值反映了神經(jīng)網(wǎng)絡的存儲信息,在神經(jīng)網(wǎng)絡的結構和激勵函數(shù)確定了以后,必須經(jīng)過學習,使網(wǎng)絡權值和閾值的分布達到某種輸入輸出關系的要求。學習就是應用一系列的輸入矢量樣本,通過預先確定的學習算法來調(diào)整網(wǎng)絡的權值和閾值。神經(jīng)網(wǎng)絡的學習算法可分為有監(jiān)督學習和無監(jiān)督學習兩大類。有監(jiān)督學習中,需要為學習規(guī)則提供一系列正確的網(wǎng)絡輸入/輸出的實例,即訓練樣本。如,其中,分別表示網(wǎng)絡的輸入和相應的期望輸出。當網(wǎng)絡輸入時,將網(wǎng)絡輸出和相應的期望值進行比較,然后應用學習規(guī)則調(diào)整權值和閾值,使網(wǎng)絡的輸出接近于期望值。誤差反向傳播算法,即BP算法是一種有監(jiān)督學習算法。無監(jiān)督學習中,權值和閾值的調(diào)整只與網(wǎng)絡的輸入有關系,沒有有效的期望值。在學習過程中,根據(jù)某種規(guī)則反復調(diào)整網(wǎng)絡權值和閥值,直到趨于某種穩(wěn)定的狀態(tài)。這類算法大多用聚類法,將輸入模式歸類于有限的類別,尤其應用于向量中。Hebb學習規(guī)則是一種典型的無監(jiān)督學習算法。神經(jīng)網(wǎng)絡經(jīng)過學習后,權值和閾值中儲存了學習樣本中信息,就可以根據(jù)新輸入矢量,給出相應的輸出矢量。3 基于BP神經(jīng)網(wǎng)絡的模擬電路故障診斷3.1 BP神經(jīng)網(wǎng)絡BP網(wǎng)絡是一種多層前饋型神經(jīng)網(wǎng)絡,它可以實現(xiàn)從輸入到輸出的任意非線性映射。由于權值的調(diào)整采用誤差反向傳播,因此稱其為BP網(wǎng)絡。目前,在人工神經(jīng)網(wǎng)絡的應用中,絕大部分的神經(jīng)網(wǎng)絡模型都采用BP網(wǎng)絡及其變化形式。它也是前向網(wǎng)絡的核心部分,體現(xiàn)了人工神經(jīng)網(wǎng)絡的精華。BP網(wǎng)絡主要用于以下四方面:函數(shù)逼近:用輸入矢量和相應的輸出矢量訓練一個網(wǎng)絡以逼近一個函數(shù)。模式識別:用一個待定的輸出將它與輸入聯(lián)系起來。分類:把輸入矢量所定義的合適方式進行分類。數(shù)據(jù)壓縮:減少輸出矢量維數(shù)以便于傳輸或存儲。3.1.1 BP神經(jīng)網(wǎng)絡結構BP神經(jīng)網(wǎng)絡通常是由輸入層、隱含層和輸出層組成, 根據(jù)具體問題的需要,網(wǎng)絡可以含有多個隱層。BP網(wǎng)絡的層與層之間互相連接,每層神經(jīng)元之間無連接。網(wǎng)絡輸入層的神經(jīng)元個數(shù)取為輸入向量的維數(shù),網(wǎng)絡輸出層神經(jīng)元的數(shù)目取為輸出向量的維數(shù)。網(wǎng)絡隱層神經(jīng)元個數(shù)的取值目前還沒有一個確定的標準來確定,其值通常是通過反復地試驗試湊之后,將最適合網(wǎng)絡的隱層節(jié)點數(shù)目作為最終選擇。本論文選擇具有雙隱層的BP神經(jīng)網(wǎng)絡進行說明,其拓撲結構如圖2所示。第一層為網(wǎng)絡的輸入層,有R個輸入、s個神經(jīng)元,第二層有s個輸入、h個神經(jīng)元,第三層有h個輸入、k個神經(jīng)元,第四層為網(wǎng)絡的輸出層。3.1.2 BP神經(jīng)網(wǎng)絡的訓練(1)BP 算法基本思想BP神經(jīng)網(wǎng)絡主要由三大部分組成,即網(wǎng)絡的拓撲結構、各層神經(jīng)元的傳遞函數(shù)(也稱激勵函數(shù))和學習規(guī)劃。BP神經(jīng)網(wǎng)絡的學習過程如圖3所示,一般工作順序為:首先接收一組訓練樣本集的輸入,再依次計算網(wǎng)絡各層的輸出,完成前向過程(Forward Pass);然后根據(jù)網(wǎng)絡的實際輸出值與期望輸出值,計算網(wǎng)絡的誤差;最后根據(jù)誤差反向傳播的規(guī)則,依次調(diào)整輸出層和隱層之間、各個隱層之間以及隱層與輸出層之間的權值和閾值,以達到減少誤差的目的,完成誤差反向傳播過程(Error Back Propagation)。由于網(wǎng)絡輸出誤差是由網(wǎng)絡的輸入、輸出以及期望輸出所決定的,而網(wǎng)絡的權值和閾值又是按照誤差來調(diào)整的,所以這三者的所有信息都存儲在網(wǎng)絡的權值和閾值中。隨著網(wǎng)絡學習過程的進行,各層之間的權值不斷地調(diào)整,誤差會不斷地減小,最后網(wǎng)絡的輸出將以設定的精度接近于網(wǎng)絡的期望輸出。網(wǎng)絡學習過程結束以后,已被學習的樣本的有效信息會被存儲到網(wǎng)絡的權值中,當有相似的輸入時,BP神經(jīng)網(wǎng)絡就會有相近的輸出。圖3 BP神經(jīng)網(wǎng)絡學習過程(2) BP 算法BP神經(jīng)網(wǎng)絡學習規(guī)則的基本思想是:對網(wǎng)絡的權值和閾值的調(diào)整是向著函數(shù)下降最快的那個方向,即負梯度方向。 (7)其中,表示為當前網(wǎng)絡的權值和閾值矩陣,表示為當前表現(xiàn)函數(shù)的梯度,表示為網(wǎng)絡學習速度。下面詳細介紹BP算法的推導過程。本文以三層BP網(wǎng)絡為例進行說明,設第個輸入節(jié)點為,第個隱層節(jié)點為,第輸出節(jié)點為。輸入節(jié)點到隱層節(jié)點間的網(wǎng)絡權值為,閾值為;隱層節(jié)點到輸出節(jié)點間的網(wǎng)絡權值為,閾值為。當網(wǎng)絡輸出節(jié)點期望值為,輸出節(jié)點總數(shù)為個,模型的計算公式為: (50)BP網(wǎng)絡學習算法的具體步驟如下:a) 網(wǎng)絡初始化,主要包括確定網(wǎng)絡各層的神經(jīng)元個數(shù),設定目標精度和迭代次數(shù),進行權值和閾值初始化;b) 輸入訓練樣本集供BP網(wǎng)絡學習;c) 計算網(wǎng)絡各層的輸出;d) 將網(wǎng)絡實際輸出值與期望值比較,求各層的輸出誤差;e) 如果實際誤差小于設置的誤差精度或者迭代次數(shù)達到了預設的次數(shù),則停止,否則,則繼續(xù)下一步;f) 將計算誤差進行反向反饋調(diào)整網(wǎng)絡的權值和閾值;g) 重復進行步驟b)e)。BP算法的程序流程如圖4所示。(3)BP算法特點從本質上來說,BP算法就是將樣本的輸入輸出問題轉變成非線性優(yōu)化的問題,其使用了優(yōu)化技術中的梯度下降算法,利用迭代運算來求解權值,就相當于學習記憶。其主要特點是實現(xiàn)起來簡單,學習時間長。BP網(wǎng)絡的學習過程就是求一個非線性函數(shù)的全局最優(yōu)解的過程,倘若陷入局部最優(yōu)值,則達不到學習目的。(4)改進的BP算法BP算法本質上為梯度下降法,其所要求的目標函數(shù)又較為復雜,這必會導致BP算法的效率較低。為加快BP網(wǎng)絡的學習速度,研究者們提出了許多改進算法。BP算法的改進主要包括兩種途徑:一種是使用啟發(fā)式學習算法,即分析表現(xiàn)函數(shù)的梯度,其中含有彈性梯度下降法(trainrp)、自適應學習速率梯度下降法(traingda)、有動量的梯度下降法(traingdm)等。另一種途徑為基于數(shù)值最優(yōu)化理論的學習算法,其中含有高斯-牛頓法、共軛梯度法和Levenberg-Marquardt方法。由于彈性梯度下降法具有簡單易行、收斂速度快等優(yōu)點,本文后面將用這種改進算法作為BP網(wǎng)絡的訓練函數(shù),下面對該方法進行詳細地介紹。將彈性梯度下降法作為BP網(wǎng)絡的訓練函數(shù)時,網(wǎng)絡權值的調(diào)整僅由目標函數(shù)偏導數(shù)的符號決定,而不必考慮函數(shù)偏導數(shù)的幅值。其基本原理是:權值和閾值的變化大小由不同的修正值決定。當前兩次訓練時導數(shù)的正負號沒有改變,權值和閾值的修正值隨著參數(shù)增加;當前兩次訓練時導數(shù)的正負號有改變,權值和閾值的修正隨著減?。蝗绻麑?shù)為零,則修正值不變。這樣調(diào)整的結果是,權值的變化呈震蕩的趨勢,不過權值的變化量逐步減小了。如果權值變化連續(xù)幾次都在同一個方向,則增加權值的變化量級。彈性梯度下降法的迭代公式為: (51)其中,表示前一次的修正值,為目標函數(shù)的梯度。該算法通常比啟發(fā)式學習算法中的其他算法的收斂速度要快,并且此算法簡單易行,占用內(nèi)存也較少。3.1.3 BP網(wǎng)絡應用特點若把BP網(wǎng)絡的功能視為一種從輸入到輸出的高度非線性映射,設輸入節(jié)點數(shù)目為M個,輸出節(jié)點數(shù)目為N個,那么BP網(wǎng)絡就可以實現(xiàn)從M維的歐氏空間到N維的歐氏空間的映射,從原則上來講,對M和N是沒有大小限制的,因此,BP網(wǎng)絡在眾多領域中獲得廣泛的應用。BP網(wǎng)絡的應用特點主要有下面幾點:1)工作速度高。人工神經(jīng)網(wǎng)絡體系在結構上有兩大特性:一是并行性的數(shù)據(jù)處理方式;二是數(shù)據(jù)存儲的分布性可以解決馮諾依曼體系中的“處理器存儲器瓶頸”。因此,BP網(wǎng)絡的工作速度很高,便于使用超大規(guī)模集成電路(VLSI)的技術來實現(xiàn)可以充分利用到硬件的超高速。2)BP算法的采用。BP網(wǎng)絡的拓撲結構是一個多層前饋性網(wǎng)絡,各層神經(jīng)元的傳輸函數(shù)是可導函數(shù)。BP網(wǎng)絡能成為一種十分有效的有監(jiān)督學習網(wǎng)絡的原因是其獲取知識的一種十分有效學習算法。3)泛化能力強。 泛化(又稱推廣)能力是指通過訓練后的神經(jīng)網(wǎng)絡對沒有在訓練樣本集中出現(xiàn)過的樣本可以做出正確反應的一種能力。而BP網(wǎng)絡的泛化能力主要依賴于網(wǎng)絡的設計。例如利用足夠的且具有代表性的樣本訓練出的網(wǎng)絡的泛化能力較強。除此之外,還可通過在訓練樣本的輸入信號中加入噪聲的方法來提高BP網(wǎng)絡的泛化能力。4)適用范圍。BP網(wǎng)絡適用于求解函數(shù)逼近、模式識別、分類、數(shù)據(jù)壓縮等非精確解的問題。對于求解精確解一類的問題,其并不適用。5)對內(nèi)部硬件故障具有良好的容錯性。BP網(wǎng)絡是一個分布式的并行處理系統(tǒng),輸入信息儲存在整個系統(tǒng)中,網(wǎng)絡中的每一個神經(jīng)元以及每一個連接都對網(wǎng)絡的整體性能有貢獻,但是這種貢獻往往又都是比較微小的。所以當出現(xiàn)一定比例的神經(jīng)元或者連接損壞的情況時,僅可能使系統(tǒng)的整體性能有所下降,而很難使整個系統(tǒng)完全失效,因此BP網(wǎng)絡具有較強容錯性。3.2 基于BP神經(jīng)網(wǎng)絡的模擬電路故障診斷實例3.2.1 診斷電路選擇與訓練、測試樣本集的采集(1)診斷電路選擇功率放大器(Power Amplifier)在整個音響系統(tǒng)中起到了組織、協(xié)調(diào)的樞紐作用,在某種程度上主宰著整個系統(tǒng)能否提供良好的音質輸出。設計功放電路的基本要求是在負載一定的情況下,輸出的功率盡可能大,輸出信號的非線性失真盡可能地小,效率盡可能的高。本文以功率放大器電路作為模擬電路故障診斷對象。如圖5是一個功率放大器電路,本章將分別利用BP神經(jīng)網(wǎng)絡和基于遺傳算法優(yōu)化的BP網(wǎng)絡對其進行仿真分析。(2)神經(jīng)網(wǎng)絡的訓練樣本集采集本文利用Multisim仿真軟件對功率放大電路進行仿真,由于電路中的節(jié)點電壓對電路中的故障狀態(tài)較為敏感,因此本文以電路中的各節(jié)點電壓的有效值作為模擬電路故障數(shù)據(jù)的特征參量,即在電路故障時,將電路中各節(jié)點的電壓值作為體現(xiàn)該故障狀態(tài)的參量。在圖5中,功率放大器電路的輸入信號Vi是幅度為200mv,頻率為1Khz的正弦信號。通過分析電路的拓撲結構,根據(jù)電路元件的故障率以及模擬電路故障診斷的經(jīng)驗,了解到功率放大器電路產(chǎn)生多故障(一個或多個元件同一時間出現(xiàn)故障)的概率極少,通常為單故障(一個元件故障),功率放大器電路的所有典型的故障狀態(tài)如表1所示。本文采集訓練樣本的方式為:首先選擇功率放大器電路中標明的116號可測節(jié)點作為電壓測試節(jié)點;然后在每一種故障狀態(tài)下,測量電路中16個可測節(jié)點的電壓值,并將測量數(shù)據(jù)保存在表2、表3中。完成上面兩步即完成了BP網(wǎng)絡訓練樣本的采集工作,表2、表3中的數(shù)據(jù)即為BP神經(jīng)網(wǎng)絡的訓練樣本集。需要說明的有以下三點:1)本文元件故障的設置是利用Multisim軟件人為地設設置開路和短路狀態(tài)。2)電阻R3和電位器Rp1在斷路狀態(tài)下各節(jié)點電壓值相差無幾,所以作為一種故障狀態(tài)處理。電位器Rp2和二極管D1也做一樣處理。3)電阻RL表示揚聲器。功率放大器電路在工作正常和故障時各節(jié)點的電壓數(shù)據(jù)以及各種狀態(tài)下對應的二進制編碼如表2、表3。電壓值都以毫伏(mv)為單位,小數(shù)點后保留三位有效數(shù)字。由于電路的輸入信號電壓V17=141.419mv、直流電源Vcc=12V、直流負電源Vee=-12v在電路工作正常與故障時取值都不變,因此在表中不予給出。(3)測試樣本集模擬電路元件普遍存在容差,因此在故障狀態(tài)所測試的數(shù)據(jù)通常不會為恒定值。由于神經(jīng)網(wǎng)絡的訓練樣本都是理想值,為突出神經(jīng)網(wǎng)絡的泛化能力、魯棒性等優(yōu)點,本文等間隔地從訓練樣本集中選擇幾組訓練樣本,將選擇的樣本中的每一個數(shù)值的容差作為網(wǎng)絡的測試樣本。3.2.2 BP網(wǎng)絡診斷模擬電路故障用BP網(wǎng)絡實現(xiàn)對模擬電路故障診斷相當于在BP網(wǎng)絡中建立故障字典。利用故障字典法進行模擬電路故障診斷的基本原理是:首先,提取模擬電路在各種可能的故障狀態(tài)下的電路特征(如測試點的電壓、電路的幅頻特性等);然后,將電路特征與故障狀態(tài)一一對應的關系制作成一個故障字典。在實際診斷時,只需要獲取模擬電路的實時特征,就可以從所制作的故障字典中查出此時所對應的故障狀態(tài)了。模擬電路的特征向量是一個可以反映電路狀態(tài)(包括正常工作狀態(tài)以及各種故障狀態(tài))特征的向量,一般由測試電路節(jié)點電壓經(jīng)過一定的數(shù)學處理獲得,考慮到電路元件的容差,假設由測試值所獲得的特征向量是維向量,電路的故障狀態(tài)數(shù)目為,那么BP網(wǎng)絡分類器就需要完成從維特征空間的點及其鄰域到維空間的點及其鄰域的映射。因此,可知用BP神經(jīng)網(wǎng)絡來實現(xiàn)模擬電路故障診斷的原理與故障字典法的有很多相似之處。本節(jié)將以一個功率放大器電路為例,對基于BP神經(jīng)網(wǎng)絡的模擬電路故障診斷進行分析。(1)BP網(wǎng)絡的構建根據(jù)映射存在定理可確定BP神經(jīng)網(wǎng)絡的層數(shù),該定理的基本含義是:任意連續(xù)函數(shù)都可由一個三層BP神經(jīng)網(wǎng)絡來逼近,對于一般的故障診斷問題,有一個或者兩個隱含層的BP神經(jīng)網(wǎng)絡就已經(jīng)夠用了,所以確定神經(jīng)網(wǎng)絡結構主要就是確定網(wǎng)絡隱含層的神經(jīng)元數(shù)。根據(jù)以往的經(jīng)驗以及對本例的多次試驗,本例選用雙隱層的BP神經(jīng)網(wǎng)絡,第一層隱層神經(jīng)元數(shù)目選為19,第二層隱層神經(jīng)元數(shù)目選為25。如果待診斷的模擬電路有個可測試節(jié)點,那么BP神經(jīng)網(wǎng)絡的輸入層可以選擇個神經(jīng)元。由于本例中有16個可測節(jié)點,故輸入層的神經(jīng)元數(shù)目為16。由于電路的故障狀態(tài)是采用二進制編碼,因此對于個故障狀態(tài)的模式,需要將滿足不等式的作為BP網(wǎng)絡輸出層的神經(jīng)元個數(shù),所以本例中的輸出層數(shù)目為5。綜上所述,本系統(tǒng)構成了一個16-19-25-5的BP神經(jīng)網(wǎng)絡。(2)網(wǎng)絡訓練樣本集網(wǎng)絡訓練樣本集如表2和表3所示,共有25組樣本,每組有16個不同節(jié)點的電壓值組成。在25組樣本中,第一組為正常狀態(tài),第2組至第25組分別為功放電路的24種單故障狀態(tài)。為加快網(wǎng)絡的收斂速度,訓練樣本在輸入網(wǎng)絡之前進行了歸一化處理。(3)訓練函數(shù)與激活函數(shù)采用不同的訓練函數(shù)對網(wǎng)絡的性能有較大的影響,如收斂速度、存儲占用等。由于多層BP網(wǎng)絡大部分使用的是S型的激勵函數(shù),這類函數(shù)又被稱為“擠壓”函數(shù),它們可以將無限范圍內(nèi)的輸入壓縮至有限范圍的輸出,當輸入值很大或 很小時,輸出 函數(shù)的斜率將會接近于0。因此,當使用梯度下降法來訓練多層神經(jīng)網(wǎng)絡時,它的梯度數(shù)量級將會非常小,從而減小網(wǎng)絡的權值和閾值的調(diào)整范圍,即使沒有達到最優(yōu)解,也會出現(xiàn)訓練 停止的結果。而彈性梯度下降法(trainrp)就能避免這種影響。而且彈性梯度下降法訓練多層的神經(jīng)網(wǎng)絡,收斂速度快,網(wǎng)絡的訓練誤差也比較小。因此,本例采用的訓練算法為彈性梯度下降法。BP網(wǎng)絡的傳遞函數(shù)通常采用log-sigmoid型函數(shù)logsig()、tan-sigmoid型函數(shù)tansig()以及純線性函數(shù)purelin(),本文在隱層中采用的激勵函數(shù)為tansig函數(shù),在輸出層中采用的激勵函數(shù)為logsig函數(shù)。由于本例所構建的BP網(wǎng)絡的期望輸出是一組二進制數(shù),故本文在輸出神經(jīng)元后添加了一個判決函數(shù),公式為 (52)保證BP網(wǎng)絡的輸出為一組二進制數(shù),故障類型如表1所示,其輸出節(jié)點的二進制故障編碼如表2和表3中的故障編碼所示。設置診斷系統(tǒng)的目標精度為0.00001,網(wǎng)絡訓練次數(shù)為5000 次,根據(jù)試驗,BP在5000次內(nèi)可以達到目標精度的要求。在Matlab8.0中,調(diào)用newff函數(shù)創(chuàng)建一個BP神經(jīng)網(wǎng)絡,然后調(diào)用train函數(shù)對所建網(wǎng)絡進行訓練。訓練完成后的調(diào)用sim函數(shù)對網(wǎng)絡進行仿真。源序代碼參看附錄A。(4)網(wǎng)絡的測試階段由于電路元件普遍存在容差,因此本例在構建測試樣本時,隨機選擇幾組故障狀態(tài),然后將這些狀態(tài)人為地加上一定比例的容差,構成測試樣本。將測試樣本輸入到BP 神經(jīng)網(wǎng)絡中,即可得出分類結果。倘若期望的輸出與實際輸出一致,那么表明網(wǎng)絡故障診斷是正確的,反之則不正確。本例隨機從25組訓練樣本中抽取六組樣本,將這六組樣本中的每一個值的容差作為測試樣本集。(5)結果分析1)網(wǎng)絡訓練結果分析本例所設計的BP神經(jīng)網(wǎng)絡的訓練過程如圖6所示,由圖可看出在經(jīng)過的3123迭代訓練后網(wǎng)絡輸出達到了目標精度要求。仿真輸出結果與期望輸出如表4所示,表中的數(shù)據(jù)小數(shù)點后保留四位有效數(shù)字,例如在故障狀態(tài)2情況下,網(wǎng)絡仿真輸出為0.0000,0.0014,0.0000,0.9786,0.0000五位浮點數(shù),與期望輸出0,0,0,1,0五位二進制數(shù)十分接近,即可判定為故障狀態(tài)2故障。從表4中的網(wǎng)絡實際輸出數(shù)據(jù)與期望輸出數(shù)據(jù)對比,即可發(fā)現(xiàn),每一個實際輸出值與其對應的期望輸出值非常接近,網(wǎng)路的均方誤差為,因此本文設計的BP神經(jīng)網(wǎng)絡達到了設計要求。2)測試結果分析本例中選取的是故障狀態(tài)2、5、8、11、14、17的樣本,將這六組樣本中的每一個數(shù)據(jù)的容差構成測試樣本。將測試樣本輸入已經(jīng)訓練好的BP網(wǎng)絡,測試輸出數(shù)據(jù)與期望輸出數(shù)據(jù)存放在表5中,現(xiàn)舉一例進行說明,當將第六組訓練樣本(即故障狀態(tài)5下的16個電壓值)的容差的情況下,網(wǎng)絡輸出為0.0000,0.0001,1.0000,0.0075,1.0000五位浮點數(shù),與期望輸出0,0,1,0,1五位二進制數(shù)十分接近,可判定為故障狀態(tài)5故障。從測試結果可以發(fā)現(xiàn),本設計的BP神經(jīng)網(wǎng)絡能夠準確的診斷出功率放大器電路的故障狀態(tài)。通過多次統(tǒng)計測試的輸出結果,本文設計的BP神經(jīng)網(wǎng)絡故障診斷系統(tǒng)的正確率接近100%。(6)BP網(wǎng)絡故障診斷系統(tǒng)的輔助設計為使本設計的故障診斷系統(tǒng)的更為完善,本文在細節(jié)方面做了進一步的工作,主要有:1)由于網(wǎng)絡期望輸出為一組五位的二進制數(shù),但實際輸出往往是五位浮點數(shù),這使得在讀取故障點時不是很直觀,本文通過判決程序將浮點數(shù)轉化為二進制數(shù),然后將二進制轉化為十進制數(shù),方便測試人員一眼即可讀出故障點。2)讀出故障點之后,并不能立刻知道電路中哪個元件發(fā)生故障,還需要根據(jù)故障狀態(tài)表查詢,這會使得測試效率比較低,所以為方便測試員立刻知道故障點的具體位置,本文添加了語音報錯的功能,即將網(wǎng)絡診斷輸出的二進制數(shù)轉變?yōu)槭M制數(shù)并通過Matlab程序驅動計算機聲卡,當將一組特征向量輸入本文所設計的診斷系統(tǒng)時,如果診斷電路處于正常狀態(tài),則會進行雙語播報(中文和英文),如果存在故障,則會語音報出電路的故障點以及故障元件。4 基于GA-BP算法的模擬電路故障診斷神經(jīng)網(wǎng)絡具有很強的學習能力與適應能力,在實際應用中,大部分神經(jīng)網(wǎng)絡的模型采用的是BP神經(jīng)網(wǎng)絡,BP網(wǎng)絡是前饋網(wǎng)絡的主要部分,是神經(jīng)網(wǎng)絡的精華。但BP神經(jīng)網(wǎng)絡還不是一個十分完善的網(wǎng)絡,具有收斂速度慢、不易收斂到全局最小值等缺陷。遺傳算法的引入為人工神經(jīng)網(wǎng)絡的設計與訓練提供了一條新的途徑。其不受其搜索空間約束條件的限制、不需要導數(shù)等相關輔助信息,可以有效的克服BP網(wǎng)絡存在的缺陷。4.1 遺傳算法的基本原理及其特點遺傳算法(Genetic Algorithm,簡稱GA)的基本原理是以英國博物學家達爾文(Darwin)的進化論與奧地利遺傳學家孟德爾(Mendel)的基因遺傳學原理25為根據(jù)的。進化論認為自然界中的每一種生物都是在不斷發(fā)展的過程中逐漸變得更適應環(huán)境的。物種中的每一個個體的基本特征為后代所繼承,但是后代又不會完全與父代相同,與父代的有差異特征如果能有利于后代適應環(huán)境,就被留存下來。在自然界中,適應環(huán)境能力強的個體存活下來,適應能力弱的將會被淘汰,這就是進化論中適者生存的原理。基因遺傳學認為,基因雜交和基因突變會產(chǎn)生對自然環(huán)境有更強適應性的后代,基因雜交和突變后的個體經(jīng)過優(yōu)勝劣汰的自然選擇后,適應性強的基因就會被保留下來。遺傳算法在優(yōu)化問題中,是將問題的解表示成“染色體”(編碼產(chǎn)生字符串),從一群“染色體”串出發(fā),按照適者生存的法則,將它們置于待解決的問題(環(huán)境)中,選擇出適應性強的“染色體”進行復制,然后通過交叉、變異產(chǎn)生新一代更適應環(huán)境的“染色體”新種群。隨著選擇、交叉、變異的循環(huán)進行,適應性強的染色體會被一代一代選出并加以組合,進而不斷地產(chǎn)生出更好的個體。整個這個過程就如同自然界的生物進化一樣,更能適應環(huán)境的特征被不斷繼承下來,不適應環(huán)境的特征逐漸被淘汰掉。子代往往會包含父代的大量信息,但子代在總體特性上總會勝過父代,從而使整個種群向前進化,就遺傳算法來說,這也就是一個不斷接近最優(yōu)解的過程。為突出遺傳算法的優(yōu)越性,下面先介紹三種傳統(tǒng)的尋優(yōu)算法類型。(1)解析法解析法是三種算法中研究的最多的一種方法,它又可以分為直接法和間接法。其中直接法又被稱為爬山發(fā),該算法的尋優(yōu)方式是讓梯度信息沿著最陡的方向逐次計算,以求得局部極值。間接法是先使目標函數(shù)的梯度為零,然后通過求解一組非線性方程以得到局部極值。以上兩種方法的主要有兩個缺點:一是它們最后求得的是局部極值而非全局極值;二是它們要求目標函數(shù)必須是連續(xù)光滑的,并需要導數(shù)的信息。(2)枚舉法枚舉法能夠克服解析法的兩個主要缺點,可以尋找到全局極值,也不要求目標函數(shù)需是連續(xù)光滑的。但枚舉法最大不足是計算效率過低。在實際的問題中,往往有很大的搜索空間,而枚舉法不可能搜索到所有的情況。即使著名的動態(tài)規(guī)劃方法(其本質上屬于枚舉法)也常遇到指數(shù)爆炸的問題。枚舉法對于中等規(guī)模的問題,往往也無能為力。(3)隨機法因為上述兩種尋優(yōu)方法都有嚴重的不足,人們就更青睞隨機搜索算法。該算法是在搜索空間中進行隨機地取值并記錄所取得的最好結果,考慮到效率問題,搜索到一定程度就終止搜索。所以,隨機法的最終結果往往不是最優(yōu)值。就本質上而言,隨機法還是屬于枚舉法。在遺傳算法中,雖然也用到了隨機思想,但與上述的隨機搜索方式不同。遺傳算法是通過先對參數(shù)空間編碼再用隨機選擇作為工具使得搜索過程沿著更高效的方向變化。所以,隨機搜索并不一定就意味著是無序搜索。而且遺傳算法不需要梯度信息,通過模擬自然的進化過程來搜索 最優(yōu)解。與其它尋優(yōu)算法相比,遺傳算法的主要特點歸納為下面幾點:1)對可行解表 示的廣泛性。遺傳 算法是將參數(shù) 的編碼作為運算對象的,而傳統(tǒng)的優(yōu)化算法一般是 直接用參數(shù)的本身進行優(yōu)化運算。遺傳算法的這種對參數(shù)進行編碼的操作方法,可以借鑒生物的遺傳進化過程,也可以應用遺傳操作算子,這使得遺傳算法可以應用到廣泛的領域中去。2)群體搜索性。許多傳統(tǒng)的搜索方式都是單點搜索,而單點搜索一般提供的信息量不多,搜索效率也不高,對于那些多峰分布的搜索空間,該方法往往會陷入局部的某個極值點,使得搜索過程停滯不前。遺傳算法則與之相反,采用的是同時處理種群中多個個體的方法,也就是對搜索空間的多個解同時進行評估,這使遺傳算法具有良好的全局搜索能力,該方法也是遺傳算法特有的一種隱含的并行性。3) 遺傳算法使用啟發(fā)式 概率 搜索技術。不少傳統(tǒng) 算法采用確定性 的搜索 方法,該方法從一個 搜索點到另 一搜索點轉移都 有確定的轉 移規(guī)則,而這種確定性的規(guī)則有可能使得搜索 永遠達不到所需的最優(yōu)點,很大程度上限制了 算法的 應用。遺傳算法用概率的變遷規(guī)則指導它的搜索方向, 而非采用確定性規(guī)則。概率也只是作為一種工具,用以引導搜索過程向著搜索空間中更優(yōu)解的區(qū)域移動,表面上看起來這是一種盲目的搜索方法,實際上是有明確的搜索方向,而且具有隱含并行的搜索機制。 4) 遺傳算法直接把目標函數(shù)值用作搜索信息。傳統(tǒng)的優(yōu)化算法不但需要借助目標函數(shù)值,而且還要目標函數(shù)的導數(shù)值等其他輔助的信息。遺傳算法評估基因個體僅需要適應度函數(shù)的函數(shù)值就可以了,并且遺傳操作也是在此基礎上完成的。更為重要的是遺傳算法確定進一步的搜索方向和搜索范圍而不需要依靠目標函數(shù)的導數(shù)值和其他輔助信息。遺傳算法對適應度函數(shù)的唯一的要求是編碼必須與可行解的空間對應,而不能出現(xiàn)死碼。由于限制條件較小,遺傳算法的應用范圍非常廣泛。 5) 遺傳算法具備獨特的并行性和并行計算機制。 6) 遺傳算法的可擴展性,使之易于同其他優(yōu)化算法混合使用,從而提高處理問題的能力。4.2 遺傳算法的實現(xiàn)4.2.1 基本遺傳操作遺傳算法的基本遺傳操作主要由參數(shù)的編碼、種群初始化、適應度函數(shù)設計、遺傳算子操作構成,下面將一一詳細地進行介紹。(1)參數(shù)的編碼編碼(Encoding)是對遺傳算法進行應用時需要執(zhí)行的首要問題,也是對遺傳算法設計時的一個十分關鍵步驟。在進行參數(shù)編碼時,應根據(jù)具體問題選擇編碼的方式,因為編碼的好壞會直接影響到選擇、交叉、變異等遺傳操作。在遺傳算法中描述問題的可行解,也就是把問題的可行解空間轉換至遺傳算法可以處理的搜索空間的方法就稱為編碼。反之,從遺傳算法的解空間 向問題的解空間的轉換被稱為解碼(又稱譯碼,Decoding)。遺傳算法的編碼即為 可行解的遺傳表示, 它是使用遺傳算法求 解問題 的第一步 。傳統(tǒng)的二進 制編碼是0、 1字符構成的固定長度串。二進制 編碼的缺點是存在漢明懸崖(Hamming Cliff),即在一些相鄰整數(shù)的二進制代碼之間存在很大的漢明距離,致使遺傳算法的 交叉和變異都難以跨越 。 為解決這個問題而提出的格雷碼(Gray Code),在相鄰整數(shù)之間漢明距離都為1,然而漢明距離在整數(shù)之間的差并 非單調(diào)增加,引入另一層 次 的隱懸崖。對于一個具 體的應用問題,怎樣設 計一種 完美的編碼方案一直都是遺傳 算法的應用難點之一,也是遺 傳 算法的一個重要研究方向。由于遺傳 算法應用的廣泛性 ,迄今 為止人 們已經(jīng)提出了許多 不同的編碼方法,總的來說,可以分為三大類:二進制編碼方法、 浮點數(shù)編碼方法以及 符號編碼方法。下面介紹幾種主要的編碼方法。1)二進制編碼方法二進制編碼方法是遺傳算法中最主要的一種編碼方法,它使用的編碼符號集是由二進制符號0和1所組成的二值符號集0,1,它所構成的個體基因型是一個二進制編碼符號串 。二進制編碼串 的長度與問題 所要求 的求解精 度有關。二進 制編碼的優(yōu)點有四點:一是編 碼、 解碼操作簡單 易行;二是交叉、 變異 等遺傳操作 便于實現(xiàn);三是符合最 小字符集編 碼原則;四是便于利 用模式定 理對算法進行理 論分析,因為模式定 理是以二進 制編碼為寄出的。二進制編碼的缺點是:首先,二進制編碼存在連續(xù)函數(shù)離散化時的映射誤差。個體編碼串的長度較短時,可能達不到精度的要求,而個體編碼串的長度較大時,雖然能提高編碼精度,但卻會 使遺傳 算法的搜 索空間 急劇擴大。其次 是它不能直 接反映出所求問 題的本身結 構特征,這樣也就 不便于開發(fā) 針對問題的 專門知識的 遺傳運算算子。2)格雷 碼編碼二進 制編碼不便于 反映所求問題 的結構特征 ,對于一些 連續(xù)函數(shù) 的優(yōu)化問題 等,也由于遺傳 運算的隨機 特性而使得 其局部搜素 能力較差。 為了改 進這個 特征, 人們提出 用格雷碼來對 個體進行編碼。 格雷碼是這樣 一種編碼方法, 其連續(xù)的兩個整數(shù) 所對應的編碼之間 僅僅只有一個碼位 是不同的,其余 碼位都完全 相同。格雷碼是二進制 編碼方法的一 種變形。格雷 碼編碼的主要 優(yōu)點有四點:一是 便于提高遺傳 算法的局 部搜索能力;二是 交叉、變異等遺傳操作 便于實現(xiàn); 三是符合最小字 符集編碼原則;四是便于利 用模式定理 對算法進 行理論分析。3)浮點數(shù)編碼對于一些多維、高精度的連續(xù)函數(shù)優(yōu)化問題,使用二進制編碼來表示個體時會有一些不利之處。人們在一些經(jīng)典算法的研究中所總結出的一些寶貴經(jīng)驗也就無法在這里加以利用,也不便于處理非平凡約束條件。為了克服二進制編碼方法的缺點,人們提出了個體的浮點數(shù)編碼方法。所謂浮點數(shù)編碼方法,是指個體的每個個體的每個基因值用某一范圍內(nèi)的一個浮點數(shù)來表示,個體的編碼長度等于其決策變量的個數(shù)。因為這種編碼方法使用的是決策變量的真實值,所以浮點數(shù)編碼方法也叫做真值編碼方法。浮點數(shù)編碼方法的優(yōu)點有一下幾點:a) 適合于在遺傳 算法中表示范 圍較大的數(shù)。b) 適合于精度 要求較高的 遺傳算法。c) 便于較大 空間的遺傳搜索。d) 改善了遺傳 算法的計算復 雜性、提高了 運算效率。e) 便于遺傳 算法與經(jīng)典

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論