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