王耀棱
摘? 要: 為了提升學(xué)生對(duì)人工智能課程的學(xué)習(xí)興趣、提高人工智能課程教學(xué)質(zhì)量,嘗試將人工智能課程中BP神經(jīng)網(wǎng)絡(luò)的內(nèi)容與Android移動(dòng)應(yīng)用開發(fā)課程的實(shí)訓(xùn)課進(jìn)行融合教學(xué),借助學(xué)生對(duì)Android移動(dòng)應(yīng)用開發(fā)課程的興趣和實(shí)訓(xùn)課的趣味性,來提高其教學(xué)質(zhì)量。教學(xué)效果評(píng)價(jià)顯示,學(xué)生對(duì)兩門課程的學(xué)習(xí)興趣都有提升,教學(xué)質(zhì)量有大幅度提高,說明將計(jì)算機(jī)理論課程和開發(fā)類課程教學(xué)的合理融合,可以取得較好的教學(xué)效果。
關(guān)鍵詞: 人工智能; BP神經(jīng)網(wǎng)絡(luò); Android移動(dòng)應(yīng)用開發(fā); 教學(xué)
中圖分類號(hào):G642? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? 文章編號(hào):1006-8228(2021)05-97-03
Discussion on integration teaching of the "BP Neural Network" and
"Development of Android Mobile Applications" courses
Wang Yaoling
(Enshi Tujia and Miao Autonomous Prefecture University of Radio and Television, Computer Department, Enshi, Hubei 445000, China)
Abstract: In order to enhance students' interest in learning artificial intelligence and improve the teaching quality of the course, this paper attempts to integrate the content of BP neural network in artificial intelligence course with the practical training course of Android mobile application development course, so as to improve the teaching quality with the help of students' interest in learning Android mobile application development course and the interest of practical training course. The evaluation of teaching effect shows that students' interest in learning the two courses has been improved, and the teaching quality has been greatly improved, proving that the reasonable integration of the teaching of computer theory course and development course can achieve better teaching effect.
Key words: artificial intelligence; BP neural network; Android mobile application development; teaching
0 引言
計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)是一級(jí)學(xué)科專業(yè),主要為面向計(jì)算機(jī)行業(yè)培養(yǎng)寬口徑的人才。它的培養(yǎng)計(jì)劃涵蓋了諸如硬件、軟件、網(wǎng)絡(luò)等很多方向的專業(yè)課程,人工智能及應(yīng)用和Android移動(dòng)應(yīng)用開發(fā)兩門課程是它的選修專業(yè)課。
人工智能在計(jì)算機(jī)科學(xué)領(lǐng)域的應(yīng)用非常有前途、很熱門并且廣為人們所關(guān)注。人工智能主要是研究如何開發(fā)出基于智能算法的程序安裝到機(jī)器設(shè)備上來實(shí)現(xiàn)模擬人的智能行為和反應(yīng)[1]。人工智能及應(yīng)用課程主要是學(xué)習(xí)和理解這些智能算法。人工神經(jīng)網(wǎng)絡(luò)是人工智能中聯(lián)結(jié)主義學(xué)派中的一種典型的智能算法,也是目前應(yīng)用的比較好的一種算法[2]。AlphaGo在2016年大戰(zhàn)圍棋冠軍李世石事件上一舉成名,引起人們極大關(guān)注。而AlphaGo的核心算法是基于多層的卷積神經(jīng)網(wǎng)絡(luò)。
在2013年的Google I/O大會(huì)上,Google發(fā)布了Android Studio的第一個(gè)版本,它是Google推薦的移動(dòng)應(yīng)用開發(fā)工具,也是現(xiàn)在比較流行的開發(fā)工具[3]。Android移動(dòng)應(yīng)用開發(fā)占據(jù)了手機(jī)APP的幾乎半壁江山,高等院校計(jì)算機(jī)科學(xué)與技術(shù)本科專業(yè)幾乎都開設(shè)此課程,也深受學(xué)生喜愛。
人工智能及應(yīng)用課程比較枯燥,理論性較強(qiáng),如果教師教學(xué)上駕馭不好,課堂就會(huì)出現(xiàn)“老師口干舌燥,學(xué)生放倒一片”的現(xiàn)象。如何提升學(xué)生對(duì)此類課程的學(xué)習(xí)積極性,進(jìn)而提高課程教學(xué)質(zhì)量,是當(dāng)下計(jì)算機(jī)教師面臨的一大難題。本文試圖采用課程融合的教學(xué)方法去解決。
1 兩門課程的教學(xué)現(xiàn)狀及融合教學(xué)的實(shí)現(xiàn)思路
1.1 兩門課程的教學(xué)現(xiàn)狀
人工智能及應(yīng)用課程主要為學(xué)生進(jìn)入計(jì)算機(jī)科研領(lǐng)域打下基礎(chǔ),課程內(nèi)容是研究包括人工神經(jīng)網(wǎng)絡(luò)在內(nèi)的智能算法。人工神經(jīng)網(wǎng)絡(luò)有很多類型,如上面提到的較為復(fù)雜的卷積人工神經(jīng)網(wǎng)絡(luò),還有進(jìn)化神經(jīng)網(wǎng)絡(luò)等。在實(shí)踐教學(xué)中,基于能讓學(xué)生容易學(xué)習(xí)和理解的考慮,我們多采用經(jīng)典的BP神經(jīng)網(wǎng)絡(luò)作為人工神經(jīng)網(wǎng)絡(luò)這一章的入門模型。
課堂授課在介紹了生物神經(jīng)工作原理之后,就會(huì)構(gòu)建它的數(shù)學(xué)模型,會(huì)有大量數(shù)學(xué)推導(dǎo)和邏輯推理,教學(xué)方式也常常是板書式教學(xué)。課堂學(xué)習(xí)往往很單調(diào)、枯燥,在這門課程中如何去引導(dǎo)學(xué)生產(chǎn)生學(xué)習(xí)興趣,讓其主動(dòng)學(xué)習(xí)和探究是這門課程教學(xué)的關(guān)鍵。
Android移動(dòng)應(yīng)用開發(fā)是職場(chǎng)所需的實(shí)用專業(yè)課,課程對(duì)實(shí)踐要求高,學(xué)生能認(rèn)識(shí)到課程的重要性,學(xué)習(xí)興趣強(qiáng)。在實(shí)訓(xùn)教學(xué)中,部分學(xué)生能夠超前自學(xué)。
1.2 兩門課程融合教學(xué)的實(shí)現(xiàn)思路
奧蘇貝爾的認(rèn)知同化說認(rèn)為,新知識(shí)的學(xué)習(xí)必須以已有的認(rèn)知結(jié)構(gòu)為基礎(chǔ)。人工智能課程的學(xué)習(xí)需要高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計(jì)等課程基礎(chǔ),Android移動(dòng)應(yīng)用開發(fā)需要Java程序設(shè)計(jì)、數(shù)據(jù)結(jié)構(gòu)等課程基礎(chǔ)。普通本科生中除去先修課程基礎(chǔ)差的學(xué)生外,絕大多數(shù)學(xué)生具有學(xué)好兩門課程的基礎(chǔ)條件,關(guān)鍵在于學(xué)生是否愿意去學(xué)習(xí)和鉆研。布盧姆認(rèn)為,學(xué)生最大的學(xué)習(xí)動(dòng)機(jī)莫過于對(duì)所學(xué)知識(shí)有求知的興趣。只有在這種動(dòng)機(jī)下的學(xué)習(xí),才會(huì)提高自身的主動(dòng)性與自覺性,達(dá)到提高教學(xué)質(zhì)量的目的。
高等教育為了方便教學(xué),把專業(yè)學(xué)科知識(shí)體系的教學(xué)內(nèi)容按照其固有的規(guī)律人為的劃分成若干課程。由此可見,這些課程之間是有緊密聯(lián)系的[4]。融合教學(xué)就是選用多種課程的聯(lián)系性內(nèi)容在課堂中開展專題教學(xué),助力學(xué)生對(duì)相關(guān)課程進(jìn)行相互促進(jìn)認(rèn)知。
學(xué)生之所以對(duì)人工智能課程的學(xué)習(xí)興趣下降,主要在于課程理論性強(qiáng)、長(zhǎng)時(shí)間進(jìn)行單調(diào)枯燥的數(shù)學(xué)推導(dǎo),讓學(xué)生精神疲憊,難以產(chǎn)生學(xué)習(xí)興趣。因此,在這兩門課程教學(xué)中,筆者嘗試將兩門課程進(jìn)行融合教學(xué),教學(xué)內(nèi)容是將簡(jiǎn)單的BP人工神經(jīng)網(wǎng)絡(luò)算法置于到一款A(yù)ndroid APP軟件中,APP能夠借助算法對(duì)數(shù)字對(duì)進(jìn)行分類。通過學(xué)生較為喜歡的Android移動(dòng)應(yīng)用開發(fā)實(shí)訓(xùn)教學(xué)帶動(dòng)學(xué)生對(duì)人工智能課程的興趣,以此激發(fā)了學(xué)生的學(xué)習(xí)探索興趣,促進(jìn)學(xué)生對(duì)兩門課程的學(xué)習(xí)與探究。
2 兩門課程融合教學(xué)的實(shí)現(xiàn)
學(xué)生實(shí)訓(xùn)平臺(tái)采用Android Studio2.2.3開發(fā)工具,教師演示智能手機(jī)采用華為AQM-AL00。由于設(shè)備條件限制,要求學(xué)生使用開發(fā)工具配置的模擬器運(yùn)行APP。實(shí)訓(xùn)項(xiàng)目為設(shè)計(jì)開發(fā)一款數(shù)字對(duì)分類器APP,在項(xiàng)目中設(shè)置BP神經(jīng)網(wǎng)絡(luò)類(即:BpNerve.java),在活動(dòng)組件(即MainActivity.java)中調(diào)用BP神經(jīng)網(wǎng)絡(luò)類構(gòu)造對(duì)象,在監(jiān)聽器中調(diào)用對(duì)象完成分類學(xué)習(xí),并對(duì)檢測(cè)數(shù)字對(duì)分類。該APP能將一些數(shù)字對(duì)按照數(shù)字對(duì)中兩個(gè)數(shù)字關(guān)聯(lián)程度進(jìn)行分類。
教師演示開發(fā)APP后,在手機(jī)端裝入該APP,打開APP。鍵入四組數(shù)字對(duì)(1,1)、(2,5)、(5,5)、(6,4),其中(1,1)、(5,5)兩對(duì)數(shù)字因?yàn)槠钚?,我們將它們劃為第?”類,故在對(duì)應(yīng)分類中輸入“1”;而(2,5)、(6,4)兩對(duì)數(shù)字因?yàn)槠畲螅覀儗⑺鼈儎潪榈凇?”類,故在對(duì)應(yīng)分類中輸入“0”。再將需要測(cè)試的兩組數(shù)字對(duì)(2,3)、(2,4)分別進(jìn)行測(cè)試,結(jié)果APP將(2,3)劃為第“1”類,將(4,2)劃為第“0”類。測(cè)試結(jié)果達(dá)到預(yù)期結(jié)果,表示APP學(xué)習(xí)到了分類規(guī)律。教師演示APP運(yùn)行結(jié)果參見圖1。
在剛開始學(xué)習(xí)人工網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)時(shí),一般教材都選用BP神經(jīng)網(wǎng)絡(luò)讓學(xué)生入門,因?yàn)樗哂心P颓逦⒔Y(jié)構(gòu)簡(jiǎn)單、應(yīng)用性強(qiáng)的特點(diǎn)。為讓學(xué)生容易入門,采用了{(lán)2,9,1}的神經(jīng)元結(jié)構(gòu),即輸入層二個(gè)神經(jīng)元,中間層九個(gè)神經(jīng)元,輸出層一個(gè)神經(jīng)元,詳見相關(guān)代碼。
構(gòu)造BP神經(jīng)網(wǎng)絡(luò)模型類代碼:
public class BpNerve {? ?//構(gòu)造BP神經(jīng)網(wǎng)絡(luò)模型類
public double[][] layer; //神經(jīng)網(wǎng)絡(luò)各層節(jié)點(diǎn),存儲(chǔ)輸入值
public double[][] layerErr; //神經(jīng)網(wǎng)絡(luò)各節(jié)點(diǎn)誤差
public double[][][] layer_weight;? ? ? ? //各層節(jié)點(diǎn)權(quán)重
public double[][][] layer_weight_delta; //各層節(jié)點(diǎn)權(quán)重動(dòng)量
public double mobp;? ? ? ? ? ? ? //動(dòng)量系數(shù)
public double rate;? ? ? ? ? ? ? ? //學(xué)習(xí)系數(shù)
//構(gòu)造方法
public BpNerve (int[] layernum, double rate,
double mobp) {
...
在活動(dòng)源代碼中,構(gòu)建并調(diào)用BP神經(jīng)網(wǎng)絡(luò)對(duì)象,完成學(xué)習(xí)任務(wù)并進(jìn)行檢驗(yàn)樣本數(shù)據(jù)。代碼如下:
...
BpNerve bp=new BpNerve (new int[]{2,9,1},
0.12, 0.82); //構(gòu)建BP神經(jīng)網(wǎng)絡(luò)對(duì)象
...
//迭代訓(xùn)練6000次
for(int n=0;n<6000;n++)
for(int i=0;i bp.handle(data[i], target[i]);? //BP神經(jīng)網(wǎng)絡(luò)對(duì)象進(jìn)行學(xué)習(xí) //根據(jù)訓(xùn)練結(jié)果來檢驗(yàn)樣本數(shù)據(jù) for(int j=0;j double[] sample=bp.computeOut(data[j]); ... 學(xué)生上機(jī)進(jìn)行項(xiàng)目實(shí)訓(xùn)屬于驗(yàn)證性實(shí)驗(yàn),其目的在于驗(yàn)證理論,加深對(duì)理論的理解與掌握,并對(duì)學(xué)生進(jìn)行基本實(shí)驗(yàn)技能、方法及能力的訓(xùn)練[5]。通過兩門課程的融合教學(xué),學(xué)生基本上能夠完成項(xiàng)目實(shí)訓(xùn)課程任務(wù)。該款軟件代碼的編寫與調(diào)試讓學(xué)生直觀地感受人工神經(jīng)網(wǎng)絡(luò)算法的魅力,也對(duì)Android移動(dòng)應(yīng)用程序開發(fā)綜合應(yīng)用有了新的感受。學(xué)生的學(xué)習(xí)氛圍變得濃厚,學(xué)生主動(dòng)討論、請(qǐng)教老師解決問題。教師能夠明顯感覺到學(xué)生對(duì)這兩門課程,尤其是人工智能課程興趣的提升,部分學(xué)生愿意用更多課余時(shí)間來學(xué)習(xí)和研究智能算法。 3 結(jié)束語 將人工智能課程中的BP神經(jīng)網(wǎng)絡(luò)內(nèi)容融合到Android移動(dòng)應(yīng)用程序開發(fā)實(shí)訓(xùn)課中。通過教學(xué)實(shí)踐和教學(xué)評(píng)估,證實(shí)了這種融合教學(xué)顯著提升了學(xué)生對(duì)人工智能課程的學(xué)習(xí)興趣、提高了兩門課程的教學(xué)質(zhì)量。 人工智能這類理論課程或多或少都存在著學(xué)生學(xué)習(xí)興趣不高、教學(xué)質(zhì)量差的情況。此類課程來源于實(shí)踐,在教學(xué)中將它回歸、融合于開發(fā)類課程的實(shí)踐中,這樣就會(huì)有較好的教學(xué)效果。以融合教學(xué)的方法來提高人工智能課程的教學(xué)質(zhì)量,還需要高校計(jì)算機(jī)教師將各種智能算法合理的與開發(fā)課程融合,融合的過程要自然,符合學(xué)生認(rèn)知水平,以達(dá)到理想的教學(xué)效果。 參考文獻(xiàn)(References): [1] 王萬森.人工智能原理及其應(yīng)用[M].電子工業(yè)出版社,2012. [2] 呂俊杰,陳麗娜,何月涵.人工神經(jīng)網(wǎng)絡(luò)課程在生物信息學(xué)專業(yè)的教學(xué)實(shí)踐與探討[J].教育教學(xué)論壇,2014.17:208-210 [3] 劉凡馨,夏幫貴.Android移動(dòng)應(yīng)用開發(fā)基礎(chǔ)教程[M].人民郵電出版社,2018. [4] 沈卉卉.大數(shù)據(jù)環(huán)境下人工智能與大學(xué)數(shù)學(xué)教育相融合的創(chuàng)新教學(xué)研究[J].高等數(shù)學(xué)研究,2019.7:113-125 [5] 冷余生,解飛厚.高等教育學(xué)[M].長(zhǎng)江出版社,2017.