(蘭州理工大學(xué) 電氣工程與信息工程學(xué)院,蘭州 730050)
在片劑生產(chǎn)行業(yè)流傳著“制粒是龍頭,壓片是核心,包衣是鳳尾”這樣一句話,可見藥物的濕法制粒工段在整個工序中起著舉足輕重的作用。第一道工序的好壞影響著后面其他工序的生產(chǎn)質(zhì)量,其中所得顆粒的的平均粒度是該工段的重要參數(shù)之一,粒度分布越集中,顆粒含量均勻度差異就小,顆粒的休止角小,實際的壓片過程中模圈填料均勻保證較小的片重差異,與此同時顆粒的平均粒徑對片劑的硬度也有較大的影響,粒徑相對小時片劑具有較高的硬度。一般情況下粒徑大小越集中于40~60目亦即 250 μm~420 μm,所得顆粒越合乎生產(chǎn)要求[1]。
本文以浙江某制藥設(shè)備公司的一新型高效濕法制粒機(jī)為研究對象,該設(shè)備一開始試運行階段所得藥物顆粒的粒徑大小始終不能滿足生產(chǎn)要求。通過分析得知影響顆粒平均粒徑大小的主要因素有攪拌槳轉(zhuǎn)速、切割刀轉(zhuǎn)速、攪拌時間、切割時間,而該4個因素與顆粒平均粒徑之間呈非線性函數(shù)關(guān)系,建立數(shù)學(xué)模型十分困難[2]。因此,根據(jù)系統(tǒng)的輸入輸出關(guān)系構(gòu)建一合理的BP神經(jīng)網(wǎng)絡(luò),用來擬合平均粒度大小與攪拌槳轉(zhuǎn)速、切割刀轉(zhuǎn)速、攪拌時間、切割時間非線性函數(shù)關(guān)系。此外,為避免BP神經(jīng)網(wǎng)絡(luò)由于初始權(quán)值、閾值的隨機(jī)選取而導(dǎo)致的易陷入局部極值點而得不到全局最優(yōu)解的缺點,利用遺傳算法優(yōu)化構(gòu)建好的BP神經(jīng)網(wǎng)絡(luò),從而實現(xiàn)對平均粒徑大小與其影響因素關(guān)系的非線性擬合,最終實現(xiàn)對平均粒徑的理想控制。
BP(back propagation)神經(jīng)網(wǎng)絡(luò)是J.LMcClelland和D.E.Rumelhart于1986年提出的一種借用誤差反向傳遞訓(xùn)練算法的有隱含層的多層前饋網(wǎng)絡(luò)[3]。網(wǎng)絡(luò)根據(jù)系統(tǒng)的輸入輸出關(guān)系數(shù)據(jù)經(jīng)過相應(yīng)的網(wǎng)絡(luò)訓(xùn)練可以有效地建立輸入輸出之間的任意非線性映射關(guān)系,實現(xiàn)目標(biāo)值與各個影響因子之間的內(nèi)在聯(lián)系[4]。
BP算法的實現(xiàn)實際上包括2個階段:正向傳播階段和反向傳播階段。在正向傳播過程,輸入信息從輸入層輸入,然后經(jīng)過隱含層處理,最終由輸出層傳出。這個過程中上一層節(jié)點輸出傳送至下一層,并通過調(diào)整連接權(quán)系數(shù)Wij來達(dá)到增強(qiáng)或者消弱上層輸出的作用。輸出層和隱含層每一個節(jié)點的輸入是前一層節(jié)點輸出的加權(quán)和,每個節(jié)點的激活程度由它的輸入信號、節(jié)點閾值、以及激活函數(shù)決定。輸入層節(jié)點的輸出等于其輸入。在反向傳播過程,如果BP神經(jīng)網(wǎng)絡(luò)的輸出層得不到預(yù)期的輸出值則進(jìn)入反向傳播,該過程將網(wǎng)絡(luò)的期望輸出與實際輸出的差值即誤差信號沿原來的連接通道返回,并逐層修改各個神經(jīng)元的權(quán)值和閾值,使得誤差信號最小。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 BP neural network structure diagram
遺傳算法(genetic algorithms)是美國Michigan大學(xué)教授Holland于20世紀(jì)60年代提出的一種模擬自然界的生物進(jìn)化論和遺傳機(jī)制而發(fā)展起來的基于自然選擇和基因遺傳思想的一種高效啟發(fā)、并行計算隨機(jī)搜索最優(yōu)化方法,其來源于達(dá)爾文的進(jìn)化理論以及孟德爾的群體遺傳學(xué)說。該算法的基本思想是將自然界的優(yōu)勝劣汰,適者生存的生物進(jìn)化理論引入優(yōu)化參數(shù)形成的編碼串群體中,種群個體根據(jù)選擇的適應(yīng)度函數(shù)在通過遺傳中的選擇、交叉、變異操作后進(jìn)行逐個篩選,最終淘汰適應(yīng)度值較差的個體,保留適應(yīng)度值較好的個體。這樣所得的新的種群不僅遺傳了上一種群的信息,又優(yōu)于上一種群。反復(fù)進(jìn)行遺傳操作,直至滿足條件要求的新群體產(chǎn)生。遺傳算法從根本上說就是模擬生物界的進(jìn)化機(jī)制與過程求解極值問題的一類自組織自適應(yīng)人工智能技術(shù)[5]。
遺傳算法的基本算法實現(xiàn)是從代表問題潛在的解集的一個種群開始的,將這些解集的每個個體通過實數(shù)編碼或者二進(jìn)制編碼等方法轉(zhuǎn)換成由一定數(shù)目染色體組成的種群。初代種群產(chǎn)生后,在種群內(nèi)部按照適者生存和優(yōu)勝劣汰的原理,逐代演化產(chǎn)生出越來越好的近似解。在每一代,根據(jù)問題域中個體的適應(yīng)度值大小選擇個體,并借助于自然遺傳學(xué)的遺傳算子進(jìn)行遺傳操作。通過選擇操作將種群中優(yōu)良個體即個體適應(yīng)度值符合要求的個體遺傳到下一代的種群中。利用交叉操作,進(jìn)行種群中個體染色體即編碼串的重組來產(chǎn)生新的個體。利用變異操作實現(xiàn)染色體的點上變異得到優(yōu)秀個體從而實現(xiàn)種群向更好的方向進(jìn)化。這個過程將導(dǎo)致“編碼串種群”像自然進(jìn)化一樣,后生代種群比前代更加適應(yīng)于環(huán)境,末代種群中的最優(yōu)個體經(jīng)過解碼(decoding),可以作為問題近似最優(yōu)解。遺傳算法流程如圖2所示。
圖2 遺傳算法流程Fig.2 Genetic algorithm flow chart
基于遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的算法流程如圖3所示。
圖3 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法流程Fig.3 Genetic algorithm optimize BP neural network algorithm flow chart
根據(jù)Kolmogorvo定理,三層BP神經(jīng)網(wǎng)絡(luò)充分學(xué)習(xí)后能逼近任何函數(shù)。因此對于一般問題通常選擇含有一層隱含層的BP神經(jīng)網(wǎng)絡(luò)作為實驗的網(wǎng)絡(luò)結(jié)構(gòu),必要時也可通過增加隱含層的神經(jīng)元個數(shù)來降低誤差。
(1)濕法制粒階段所得顆粒的平均粒徑影響因素包括攪拌槳轉(zhuǎn)速、攪拌時間、切割刀轉(zhuǎn)速、切割時間4個因素。所以確定輸入層神經(jīng)元的個數(shù)為4。輸出層控制變量僅為平均粒徑的大小,所以輸出層神經(jīng)元個數(shù)為1,其傳遞函數(shù)為線性函數(shù)purelin。隱含層神經(jīng)元個數(shù)的選取為首先根據(jù)式(1)確定一數(shù)值,再經(jīng)過多次實驗仿真最終確定隱含層神經(jīng)元個數(shù)為9個。隱含層神經(jīng)元的傳遞函數(shù)為tansig函數(shù)。
(2)數(shù)據(jù)的歸一化處理是把所有輸入層數(shù)據(jù)轉(zhuǎn)化成[0,1]之間的數(shù)。在BP神經(jīng)網(wǎng)絡(luò)中輸入層的每一個維度代表一個特征,當(dāng)輸入層含有多個神經(jīng)元即為多維度輸入時就要取消各個維度數(shù)據(jù)之間的數(shù)量級差別。避免因輸入的數(shù)據(jù)數(shù)量級別差距較大使得某些數(shù)值低的特征被淹沒從而導(dǎo)致網(wǎng)絡(luò)預(yù)測誤差較大的情況發(fā)生。對BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行歸一化處理一般采用最大最小法,其函數(shù)形式為
數(shù)據(jù)的反歸一化處理為歸一化處理的反過程,輸出的數(shù)據(jù)只有經(jīng)過反歸一化處理才能得到所需要的數(shù)據(jù)。
(3)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練就是根據(jù)系統(tǒng)的輸入,輸出數(shù)據(jù)神經(jīng)網(wǎng)絡(luò),使得經(jīng)訓(xùn)練所得的BP網(wǎng)絡(luò)能夠預(yù)測系統(tǒng)的輸入輸出。根據(jù)高效濕法制粒機(jī)的實際生產(chǎn)采樣1000組輸入輸出數(shù)據(jù),選取其中800組作為網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),余下200組作為測試數(shù)據(jù),驗證網(wǎng)絡(luò)的擬合能力。
(4)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測就是用訓(xùn)練好的BP網(wǎng)絡(luò)預(yù)測系統(tǒng)的輸出,對照實際輸出對預(yù)測的結(jié)果進(jìn)行分析,驗證BP網(wǎng)絡(luò)的優(yōu)劣。
進(jìn)行BP神經(jīng)網(wǎng)絡(luò)的Matlab仿真,選擇網(wǎng)絡(luò)的迭代次數(shù)為100,誤差精度為0.01,學(xué)習(xí)速率為0.4。最終所得實驗仿真結(jié)果如圖4所示。
圖4 BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差Fig.4 BP neural network predicted error diagram
BP神經(jīng)網(wǎng)絡(luò)雖然具有較高的擬合能力,但網(wǎng)絡(luò)預(yù)測誤差仍然較大,因為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值的選取過于隨機(jī),導(dǎo)致網(wǎng)絡(luò)容易陷入局部最優(yōu)。因此可以將BP神經(jīng)網(wǎng)絡(luò)和遺傳算法結(jié)合起來,用遺傳算法找出BP網(wǎng)絡(luò)的最優(yōu)初始權(quán)值和閾值,這樣就可以彌補(bǔ)初始權(quán)值和閾值隨機(jī)取值導(dǎo)致的缺陷,從而使得網(wǎng)絡(luò)的預(yù)測精度更高[6-7]。
(1)種群初始化,隨機(jī)生成M個個體,每個個體的長度由BP網(wǎng)絡(luò)的結(jié)構(gòu)確定。其中每個個體包括了BP網(wǎng)絡(luò)所有的權(quán)值和閾值,作為遺傳算法進(jìn)化過程的起點。
選取種群規(guī)模時如果群體的規(guī)模過小,會導(dǎo)致群體中個體的多樣性降低,限制遺傳算法的搜索空間范圍,導(dǎo)致算法陷入局部最優(yōu)解而得不到全局最優(yōu)解。與之相反,群體規(guī)模越大,算法陷入局部解的危險性就會越小。但是規(guī)模過大會增加算法的計算量。最終我們選取遺傳算法的種群規(guī)模為30。
(2)編碼采用實數(shù)編碼方法,編碼順序為從輸入層到輸出層,從權(quán)值到閾值的方法。由上節(jié)仿真得知BP網(wǎng)絡(luò)輸入層、隱含層輸出層的神經(jīng)元個數(shù)分別為4、9和1。編碼串的總長度計算公式為
因此可得編碼串總長度為55。
(3)適應(yīng)度函數(shù)的選取,選取網(wǎng)絡(luò)誤差函數(shù)作為適應(yīng)度函數(shù)。并根據(jù)每個個體的適應(yīng)度進(jìn)行選擇操作、交叉操作和變異操作。
變異概率一般較小,仍必須適當(dāng)選擇,因為如果過大雖然會增加樣本的多樣性,但會引起整個系統(tǒng)的不穩(wěn)定。交叉概率決定了交叉操作的頻率,該數(shù)值越高,算法收斂到最優(yōu)解區(qū)域的速度越快。一般情況下交叉概率的選取范圍為0.4~0.9。通過反復(fù)試驗確定選定交叉概率為0.4,變異概率為0.02。
(4)進(jìn)化若干代數(shù)后,當(dāng)種群的平均適應(yīng)度不再發(fā)生變化后則停止進(jìn)化,否則重復(fù)第二步與第三步操作,最終的仿真結(jié)果如圖5、圖6所示,預(yù)測效果對比如表1所示。
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)最終網(wǎng)絡(luò)預(yù)測誤差更加精確,其預(yù)測成品率和實際成品率之間的最大誤差只有0.03 mm,具有相對良好的擬合性。對實際生產(chǎn)具有一定的指導(dǎo)意義。最終利用遺傳算法尋優(yōu)的濕法制粒所得顆粒平均粒度在40~60目的最佳參數(shù)組合為攪拌機(jī)轉(zhuǎn)速為1400 r/min,攪拌時間為220 s,切割刀轉(zhuǎn)速為3000 r/min,切割時間為240 s。
圖5 遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)誤差Fig.5 Genetic algorithm optimize BP neural network error diagram
圖6 最優(yōu)個體適應(yīng)度Fig.6 Fitness of optimal individual diagram
表1 預(yù)測效果對比Tab.1 Comparison of predicted effects
BP神經(jīng)網(wǎng)絡(luò)雖然具有較高的擬合能力,但網(wǎng)絡(luò)預(yù)測誤差仍然較大的主要原因為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值的選取過于隨機(jī),導(dǎo)致網(wǎng)絡(luò)容易陷入局部最優(yōu)值。因此,可以將BP神經(jīng)網(wǎng)絡(luò)和遺傳算法結(jié)合起來,用遺傳算法找出BP網(wǎng)絡(luò)的最優(yōu)初始權(quán)值和閾值,這樣就可以彌補(bǔ)初始權(quán)值和閾值隨機(jī)取值導(dǎo)致的缺陷,從而使網(wǎng)絡(luò)的預(yù)測精度更高[5]。
擬合濕法制粒機(jī)運行過程中攪拌速率、攪拌時間、切割速率、切割時間與平均粒徑之間的非線性函數(shù)關(guān)系,得到濕法制粒機(jī)運行過程中攪拌速率、攪拌時間、切割速率、切割時間的最佳運行參數(shù)。這些參數(shù)會保證所制顆粒的良好粒徑分布,從而最終提高片劑的生產(chǎn)率以及質(zhì)量,其設(shè)計思路具有一定的借鑒價值。
[1]張毓,鐘曉明.中藥顆粒成型工藝的研究進(jìn)展[J].海峽藥學(xué),2010,22(1):27-30.
[2]李奉勤,史冬霞,馬震嗣,等.正交設(shè)計在中藥制粒工藝研究中的應(yīng)用概況[J].中國藥業(yè),2006,15(3):67-68.
[3]王曉紅.基于遺傳神經(jīng)網(wǎng)絡(luò)中藥片劑生產(chǎn)過程控制研究 [D].江西:南昌航空大學(xué),2012.
[4]劉潔,劉子龍.典型非線性系統(tǒng)的自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)跟蹤控制器設(shè)計[J].自動化與儀表,2004,19(2):12-15.
[5]孫自廣,李春貴,王秦.基于改進(jìn)遺傳算法的機(jī)器人路徑規(guī)劃[J].自動化與儀表,2009,24(6):5-7.
[6]劉占明.基于案例推理和智能算法的石漠化治理模式優(yōu)選研究[D].廣西:廣西師范學(xué)院,2011.
[7]徐齊勝,羅勝琪,陶欣,等.基于神經(jīng)網(wǎng)絡(luò)遺傳算法的鍋爐燃燒優(yōu)化系統(tǒng)[J].自動化與儀表,2014,29(6):30-32.