摘要:感知器是最簡單的人工神經(jīng)網(wǎng)絡,也是學習掌握人工神經(jīng)網(wǎng)絡的重要基礎。在“智能控制”課程感知器教案設計中,融入了人工神經(jīng)網(wǎng)絡的發(fā)展歷史,結合了采用感知器實現(xiàn)各種基本邏輯功能的內(nèi)容,并在第二課堂設計方面進行了積極探索和大膽實踐。教學實踐表明所設計的教案激發(fā)了學生的學習興趣,提高了學生分析、解決問題的能力,培養(yǎng)了學生主動學習的習慣,啟迪了學生創(chuàng)造性思維能力,取得了較好的教學效果。
關鍵詞:智能控制;感知器;教案設計;教學實踐
作者簡介:黃從智(1982-),男,湖北浠水人,華北電力大學控制與計算機工程學院,副教授;白焰(1954-),男,遼寧沈陽人,華北電力大學控制與計算機工程學院,教授。(北京#8194;102206)
基金項目:本文系北京高等學校青年英才計劃項目(項目編號:YETP0703)、北京市共建項目專項資助的研究成果。
中圖分類號:G642.0#8195;#8195;#8195;#8195;#8195;文獻標識碼:A#8195;#8195;#8195;#8195;#8195;文章編號:1007-0079(2014)14-0095-02
智能控制是自動化專業(yè)本科高年級必修課程,智能控制課程涵蓋專家系統(tǒng)、模糊控制、神經(jīng)網(wǎng)絡、進化計算等四大主要模塊,是一門跨學科課程,基本概念和教學內(nèi)容極其豐富,應用范圍十分廣泛。[1]該課程一般以“自動控制理論”、“現(xiàn)代控制理論”、“線性代數(shù)”為先修課程,作為研究生課程的學科前沿類概論課程,其主要目的是引導學生掌握智能控制理論的基本概念、思想方法,了解其能解決的實際問題,培養(yǎng)學生實際動手能力,提高分析、解決實際問題的能力。[2-5]為使學生在有限課堂時間內(nèi)在理論學習和仿真實現(xiàn)兩個方面都有所收獲,筆者結合近幾年的教學實際,從學生實際出發(fā),貼近工業(yè)過程控制實際,不斷優(yōu)化課堂教學內(nèi)容和教學方式,在理論教學內(nèi)容和教學方式等方面進行了一系列持續(xù)的探索和研究,在教學實踐中不斷反復總結教學經(jīng)驗優(yōu)化教案,根據(jù)學生實際情況不斷改進教學方式,取得了較好的教學效果。
感知器是最簡單也最基本的人工網(wǎng)絡模型,掌握好感知器的基本數(shù)學模型對于學習掌握人工神經(jīng)網(wǎng)絡具有非常重要的意義。[6]本文以“感知器”這堂課的教案設計優(yōu)化與教學實踐為例,力圖在智能控制教學方面做出一些有益的探索,為培養(yǎng)工程化創(chuàng)新實踐型人才做出應有貢獻。
一、感知器的模型
首先通過人工神經(jīng)網(wǎng)絡早期的發(fā)展歷史引入感知器的模型。早在1943年,美國神經(jīng)生理學家麥卡洛克(McCulloch)和皮茲(Pitts)就提出了第一個人工神經(jīng)元模型——MP模型。MP模型的提出,標志著人工神經(jīng)網(wǎng)絡研究的開始。但是,在MP模型里,它的模型參數(shù)必須事先人為設定不能調(diào)整,因而缺乏與生物神經(jīng)元類似的學習能力。
在MP模型的基礎上,引入了學習能力就是本節(jié)課要學習的感知器,這是美國學者羅森布拉特在1958年提出的第一個人工神經(jīng)網(wǎng)絡模型。感知器的提出是人工神經(jīng)網(wǎng)絡發(fā)展史上的重要轉(zhuǎn)折點,它標志著人工神經(jīng)網(wǎng)絡從此有了智能的特性,此后進入了第一個發(fā)展高潮?;谶@段發(fā)展歷史,開始介紹感知器的數(shù)學模型。
單層單神經(jīng)元感知器的基本模型如圖1所示。
由圖1可知,單層單神經(jīng)元感知器是一個閾值加權和模型,有n個輸入變量x1,x2,…,xn,它們對應的權值分別是w1,w2,…,wn,加權求和后與閾值θ相比較,得到u,即。
如果把閾值并入權值的話,那么把它看作是第0個輸入,x0=1,權值為w0=-θ。這樣就可以把它改寫為加權求和的形式,。輸入特征向量就是[x0,x1,x2,…,xn],對應的權值為[w0,w1,w2,…,wn],然后u經(jīng)過激勵函數(shù)f變換為輸出y。一句話,感知器的運算法則就是:加權、求和、取函數(shù)。這個函數(shù)稱為激勵函數(shù)(Activation Function)。早期的激勵函數(shù)采用硬限幅函數(shù)Hard-limiting,當輸入u大于或等于0時,輸出y為1;否則y為0。由于其輸出只能是0或1,它主要用于兩個模式的分類問題。有時可能要求輸出能在0到1之間連續(xù)取值,比如模糊控制中模糊隸屬度的輸出是個概率估計值,這時可采用Sigmoid函數(shù),當輸入u在(-∞,+∞)之間變化時,輸出y在[0,1]之間連續(xù)取值。
單層單個神經(jīng)元的感知器主要用于兩類模式的分類問題,比如說要區(qū)分一個水果到底是蘋果還是桔子?可根據(jù)水果的一些特征來進行判斷,一看外形,圓形的定義輸入為0,橢圓形的就為1;二看顏色,黃色為0,紅色為1;三看質(zhì)地,光滑為0,粗糙為1。這樣就得到三個不同的輸入,其值可能為0或1。蘋果一般認為是圓形、紅色、光滑的,就定義其輸入為[0,1,0],而桔子一般認為是橢圓形、黃色、粗糙的,就定義其輸入為[1,0,1]。按照這三個不同的特征將水果分為蘋果和桔子兩種不同的類別,可定義輸出0為蘋果,輸出1為桔子。因此可采用一個三輸入一輸出的單層單個感知器網(wǎng)絡,只要選擇合適的權值和閾值,就能實現(xiàn)從[0,1,0]到0、從[1,0,1]到1的一一映射,解決這樣最簡單的兩個模式分類問題。實際生活中常見的人臉識別、虹膜識別都是模式識別的范疇,都可采用類似方法解決,有興趣的同學將來可在模式識別與智能系統(tǒng)碩士專業(yè)繼續(xù)深造。
進一步地,如還要區(qū)分桃子、梨子、西瓜、葡萄等多種水果,則需用感知器分類多個模式,要求感知器有多個輸出,就需要用到更復雜的多層多神經(jīng)元感知器。
二、感知器的應用——邏輯函數(shù)實現(xiàn)
除模式分類外,感知器還可用于邏輯函數(shù)實現(xiàn),以下結合兩個實例說明。
1.實例分析1:如何用感知器實現(xiàn)邏輯運算“與”、“或”、“非”
從邏輯“與”真值表可知,只有當兩個輸入同為1時,輸出才為1,否則輸出為0??梢杂?輸入1輸出的單層單神經(jīng)元感知器,激勵函數(shù)采用硬限幅函數(shù)。以兩個輸入x1和x2為坐標軸畫出分類示意圖,(0,0)、(0,1)、(1,0)、(1,1)分別表示四種可能的輸入模式,那怎么將它們區(qū)分開呢?如采用直線x1+x2-1.5=0就容易將其輸出分為兩類即0和1。直線上方對應的u大于0,輸出y為1;直線下方對應的u小于0,輸出y為0。對比下,就能確定感知器的權值均為1,閾值為1.5,這樣就實現(xiàn)了邏輯“與”功能。
類似地,也可用一個這樣的感知器來實現(xiàn)邏輯“或”,這很容易通過類比方法解決,留給學生課后思考。而邏輯“非”呢,更簡單了,它只有一個輸入一個輸出,采用單輸入單神經(jīng)元感知器就可實現(xiàn)了。它的分界線就是直線-x1+0.5=0,正好把0和1這兩類區(qū)分開來。
既然感知器能實現(xiàn)邏輯“與”、“或”、“非”功能,那它能不能實現(xiàn)邏輯“異或”呢?這也是本節(jié)課要介紹的第二個實例。
2.實例分析2:如何用感知器實現(xiàn)邏輯運算“異或”
由真值表可知,邏輯運算“異或”定義為:兩個輸入x1和x2同為0或1時,輸出y為0,否則y為1。根據(jù)邏輯運算“與”的實現(xiàn)經(jīng)驗知,要實現(xiàn)邏輯運算“異或”,只需一個2輸入1輸出的感知器。在二維平面上對應的四個點(0,0)、(0,1)、(1,0)和(1,1),其中(0,0)、(1,1)這兩個點對應的輸出為0,(0,1)、(1,0)這兩個點對應的輸出為1。關鍵問題在于:這個平面上能否找到一條分界線將(0,0)、(1,1)這兩個點和(0,1)、(1,0)這兩個點區(qū)分開來?無論怎么找都找不到,實際上這樣的直線是不存在的。
美國麻省理工大學(MIT)的Minsky教授在1969年出版的《感知器》一書中發(fā)出感慨:感知器連最簡單的異或都實現(xiàn)不了,研究人工神經(jīng)網(wǎng)絡還有什么前途?Minsky是1969年圖靈獎獲得者,而圖靈獎是計算機領域的諾貝爾獎,由于他在人工智能領域當時是絕對的學術權威,這個悲觀的論調(diào)無疑給當時的神經(jīng)網(wǎng)絡研究潑了一盆冷水,直接導致美國和前蘇聯(lián)幾乎中止了這方面的研究。那么,感知器到底能不能實現(xiàn)“異或”呢?它有四個可能的輸入,兩類可能的輸出,采用什么分界線可以區(qū)分這兩類不同模式的輸出呢?用直線不能區(qū)分,那么用其他圖形呢?此時啟發(fā)學生積極思考,主動采用發(fā)散性思維方式創(chuàng)造性解決問題。以(0,0)和(1,1)為焦點畫個橢圓,就可以區(qū)分它們了,如圖2所示。
如圖2(a)所示,橢圓方程為:,對應的單層非線性感知器如圖2(b)所示,其輸入是x1和x2,經(jīng)過非線性處理再加權求和后得到u,再經(jīng)過硬限幅激勵函數(shù)f運算得到輸出y。顯然,當x1和x2同為0或為1時,u為-1,再經(jīng)f運算得y為0;當x1和x2不同時,u為15,再經(jīng)f運算得輸出y為1,正好實現(xiàn)了邏輯運算“異或”功能。
如圖2所示的橢圓可將這四個點對應的兩類輸出區(qū)分出來,那么是不是還有其他方法呢?此時啟發(fā)學生再提出其他所有可能的解決方案。其中一種可行的解決思路如下:考慮用兩條直線圍成的帶狀區(qū)域作為分界線,如圖3所示。
如圖3(a)所示,如分界線采用這個帶狀區(qū)域,也可以將它們對應的輸出劃分為兩類。其對應的是如圖3(b)所示的多層線性感知器,這里采用了兩層:1個隱含層有2個神經(jīng)元,1個輸出層有1個神經(jīng)元。具體論證過程讓學生課后自己驗證。
通過以上分析,讓學生獨立自主發(fā)現(xiàn)問題、分析問題、解決問題,得出結論:單層線性感知器的確無法實現(xiàn)邏輯運算“異或”功能,但是換個角度,采用一個單層非線性感知器或多層線性感知器就能實現(xiàn)邏輯運算“異或”功能。通過介紹這段歷史,啟迪學生一個道理:同學們在學習的時候,不要盲目地迷信一些學術權威或書本,要學會獨立思考、大膽懷疑,要有發(fā)散思維,要用發(fā)展變化的觀點去分析問題和解決問題,換個角度思考很可能就會柳暗花明又一村。
三、課堂內(nèi)容總結及第二課堂設計
總結一下本堂課的講課內(nèi)容,主要介紹了感知器的數(shù)學模型,并結合實例分析了它在模式識別和邏輯函數(shù)功能實現(xiàn)中的實際應用。作為下次課程的引子,可以將“關于感知器如何學習,它的權值和閾值如何調(diào)整”這一問題拋給學生在后續(xù)課程中繼續(xù)學習。
課程雖然結束了,但有很多后續(xù)問題可留給學生課后思考,所以在第二課堂設計中增加了如下問題讓學生積極思考,主動去尋找這些問題的答案:
問題一:除課堂中介紹的兩種方法之外,還有沒有其他方法也可以設計一個感知器實現(xiàn)邏輯運算“異或”功能呢?
問題二:既然感知器可以解決邏輯運算“異或”功能,那么如何用感知器實現(xiàn)邏輯運算“同或”功能呢?
問題三:根據(jù)課程內(nèi)容,如何利用MATLAB或C語言編寫程序設計感知器,研究分別實現(xiàn)邏輯運算“與”、“或”、“非”、“異或”、“同或”功能?[7]
問題四:進一步地,如何利用MATLAB或C語言編寫程序設計BP神經(jīng)網(wǎng)絡,研究分別實現(xiàn)邏輯運算“與”、“或”、“非”、“異或”、“同或”功能?
四、教學效果
通過在本科智能控制課程四大模塊之一的人工神經(jīng)網(wǎng)絡“感知器”部分課堂教學實踐中實際應用上述優(yōu)化后的教案,極大地激發(fā)了學生濃厚的學習興趣。教學實踐表明,學生普遍由此對人工神經(jīng)網(wǎng)絡的課程內(nèi)容產(chǎn)生了較大的學習興趣,部分同學針對所學內(nèi)容提出了一些很有新意的解決思路,并通過自行編程實現(xiàn)了所提出的解決方案。學生在學習過程中充分發(fā)揮了主體作用,充分利用發(fā)散性思維能力,提高了綜合分析問題、解決問題的能力和創(chuàng)新能力。
參考文獻:
[1]劉金錕.智能控制[M].第2版.北京:電子工業(yè)出版社,2009.
[2]蔡自興.智能控制導論[M].北京:中國水利水電出版社,2007.
[3]蔡自興.智能控制原理與應用[M].北京:清華大學出版社,2007.
[4]韋巍,何衍.智能控制基礎[M].北京:清華大學出版社,2008.
[5]李少遠,王景成.智能控制[M].北京:機械工業(yè)出版社,2009.
[6]高雋.人工神經(jīng)網(wǎng)絡原理及仿真實例[M].第2版.北京:機械工業(yè)出版社,2010.
[7]薛定宇.控制系統(tǒng)計算機輔助設計——MATLAB語言與應用[M].第2版.北京:清華大學出版社,2008.
(責任編輯:王意琴)