張清泉
教育部在《2020年教育信息化和網(wǎng)絡(luò)安全工作要點(diǎn)》中指出,要繼續(xù)推進(jìn)中小學(xué)人工智能教育課程建設(shè)、應(yīng)用與推廣工作。近幾年,如何將人工智能教育融入初中階段教學(xué),一直是我們的研究熱點(diǎn)。初中生在人工智能認(rèn)知水平和知識(shí)儲(chǔ)備上都相對(duì)缺乏,且個(gè)體之間的能力差異也明顯。而人工智能知識(shí),如機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)等這些都涉及高等數(shù)學(xué)背景知識(shí),比較深?yuàn)W和抽象,剛開始接觸這些概念時(shí)學(xué)生就已心生畏懼。
本文以《探秘機(jī)器學(xué)習(xí)中神經(jīng)網(wǎng)絡(luò)的游戲設(shè)計(jì)》一課為例,依托圖形化編程平臺(tái),利用平臺(tái)中最新的人工智能模塊,探秘機(jī)器學(xué)習(xí)中神經(jīng)網(wǎng)絡(luò)的應(yīng)用,讓學(xué)生體驗(yàn)相關(guān)人工智能的技術(shù),理解其中的原理,并依此創(chuàng)新設(shè)計(jì)出新的作品應(yīng)用,從而達(dá)到有效學(xué)習(xí)的目的。
一、創(chuàng)設(shè)游戲項(xiàng)目情境,進(jìn)行頭腦風(fēng)暴并發(fā)現(xiàn)問題
首先用游戲來引入,游戲是模仿Flappy Bird的一款經(jīng)典游戲,利用鼠標(biāo)控制小鳥角色的跳躍,從兩根上下對(duì)齊的柱子角色中間穿過就獎(jiǎng)勵(lì)分?jǐn)?shù),繼續(xù)游戲,迎接新的兩根對(duì)齊柱子角色的到來,如果撞到兩根柱子或上下邊緣就結(jié)束游戲。相對(duì)于天空和草地等背景的向后移動(dòng)和相對(duì)于兩條上下對(duì)齊的向后移動(dòng)的兩根柱子,飛鳥角色的跳躍可以看作是向前飛翔。讓學(xué)生在體驗(yàn)完游戲后,分小組進(jìn)行頭腦風(fēng)暴,飛鳥角色不撞向柱子,該具備哪些條件。不難得出當(dāng)飛鳥角色的Y坐標(biāo)碰上柱子或上下邊緣所對(duì)應(yīng)的Y坐標(biāo),則游戲結(jié)束。
教師借助數(shù)字化學(xué)習(xí)平臺(tái),讓學(xué)生觀看神經(jīng)網(wǎng)絡(luò)、有監(jiān)督學(xué)習(xí)知識(shí)講解的微課。學(xué)生了解到神經(jīng)網(wǎng)絡(luò)是一種模擬生物神經(jīng)系統(tǒng)的人工智能算法,有監(jiān)督學(xué)習(xí)是一種機(jī)器學(xué)習(xí)的方法,它利用帶有標(biāo)簽的數(shù)據(jù)來訓(xùn)練模型,以便對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)。神經(jīng)網(wǎng)絡(luò)則是一種用于實(shí)現(xiàn)有監(jiān)督學(xué)習(xí)的算法,其通過構(gòu)建多層的神經(jīng)元網(wǎng)絡(luò)來學(xué)習(xí)輸入數(shù)據(jù)的特征,以便能夠?qū)ξ粗獢?shù)據(jù)進(jìn)行預(yù)測(cè)。于是結(jié)合游戲,教師引導(dǎo)學(xué)生進(jìn)行頭腦風(fēng)暴:根據(jù)神經(jīng)網(wǎng)絡(luò),游戲中哪些數(shù)據(jù)是作為輸入層的,哪些數(shù)據(jù)作為輸出層?
通過討論匯報(bào),在游戲中,輸入層負(fù)責(zé)收集信息,是游戲中實(shí)時(shí)變化的數(shù)據(jù),可以包括角色的坐標(biāo)、游戲角色的血量、敵人的坐標(biāo)、敵人的數(shù)量等等。輸出層用來輸出分類結(jié)果,相當(dāng)于我們玩游戲時(shí)做出的決策,比如控制角色移動(dòng)、控制角色發(fā)射子彈、取得的分?jǐn)?shù)獎(jiǎng)勵(lì)等等。
通過觀看微課并進(jìn)行討論,學(xué)生了解到人工智能算法可以用來訓(xùn)練游戲中的小鳥角色的自動(dòng)跳躍,從而盡可能避開障礙物,取得更高的分?jǐn)?shù)。教師接著講解,以常用的人工智能算法來解釋小鳥自動(dòng)跳躍的訓(xùn)練方法,從而加深對(duì)神經(jīng)網(wǎng)絡(luò)概念的理解。
二、在體驗(yàn)和探究中解決問題,加深對(duì)有監(jiān)督學(xué)習(xí)的理解
首先了解和體驗(yàn)有監(jiān)督學(xué)習(xí),從上面的討論中,了解到了輸入層和輸出層分別對(duì)應(yīng)的是什么,然后通過圖像化軟件平臺(tái)中封裝的“黑箱”學(xué)習(xí)模塊,講解什么是有監(jiān)督學(xué)習(xí),就是我們教機(jī)器中的AI角色怎么飛,該什么時(shí)候飛,在平臺(tái)中我們先設(shè)置好“飛不飛”的訓(xùn)練模塊,分為“飛”和“不飛”兩個(gè)類別,對(duì)應(yīng)的特征就是飛鳥角色的Y坐標(biāo)和柱子的Y坐標(biāo),也對(duì)應(yīng)著神經(jīng)網(wǎng)絡(luò)的輸入層。教師設(shè)計(jì)出不完整的程序,讓學(xué)生補(bǔ)充對(duì)應(yīng)的程序塊,拖拉入主程序中,調(diào)試程序。接著就是如何采集數(shù)據(jù),在我們?nèi)ァ敖獭憋w鳥角色怎么飛的時(shí)候,鼠標(biāo)每次點(diǎn)擊讓角色飛的時(shí)候,就會(huì)采集并記錄下飛鳥角色的Y坐標(biāo)和柱子的Y坐標(biāo)。當(dāng)不碰鼠標(biāo)時(shí),意味著就會(huì)出現(xiàn)很多撞到柱子的數(shù)據(jù)。這影響了訓(xùn)練結(jié)果的數(shù)據(jù),所以還需要對(duì)數(shù)據(jù)進(jìn)行清洗,刪除無用數(shù)據(jù),以免影響訓(xùn)練的正確率,系統(tǒng)提供編輯數(shù)據(jù)的可視化界面,可以把“教”飛鳥角色撞到柱子的數(shù)據(jù)刪除。
采集到足夠的數(shù)據(jù)后,我們可以利用數(shù)字平臺(tái)中的模型訓(xùn)練工具進(jìn)行訓(xùn)練。在訓(xùn)練過程中可以手動(dòng)調(diào)參,學(xué)生了解模型訓(xùn)練中的學(xué)習(xí)率、正確率和損失率,還可以做預(yù)測(cè)。學(xué)生在體驗(yàn)數(shù)據(jù)訓(xùn)練的過程中會(huì)了解到采集到的數(shù)據(jù)越多,訓(xùn)練次數(shù)越多,清洗掉錯(cuò)誤數(shù)據(jù)越多,則得到的正確率就高,訓(xùn)練的模型就越好。
訓(xùn)練完成后就是應(yīng)用模型,讓飛鳥角色自己“飛”。小組成員之間合作交流,討論在應(yīng)用模型中飛鳥角色的撞擊情況,分析正確率和采集到的數(shù)據(jù)及參數(shù)設(shè)置。教師可以隨機(jī)抽取兩組演示并講演數(shù)據(jù)采集、數(shù)據(jù)訓(xùn)練和模型使用的過程。這個(gè)環(huán)節(jié)為學(xué)生提供了更加深刻理解、運(yùn)用知識(shí)和動(dòng)手創(chuàng)作的機(jī)會(huì),使其成為主動(dòng)的學(xué)習(xí)者。非常不錯(cuò)的是,幾組學(xué)生把飛鳥角色越過障礙物的得分也采集下來作為輸入層的第三個(gè)特征,提高了訓(xùn)練的正確率。整個(gè)體驗(yàn)實(shí)踐過程,學(xué)生了解到有監(jiān)督學(xué)習(xí)的詳細(xì)過程,包括采集數(shù)據(jù)、訓(xùn)練模型、驗(yàn)證和運(yùn)用模型三個(gè)核心環(huán)節(jié),突破教學(xué)中神經(jīng)網(wǎng)絡(luò)技術(shù)面臨的技術(shù)難點(diǎn),培養(yǎng)了學(xué)生小組協(xié)作、交流表達(dá)等能力,實(shí)現(xiàn)了人工智能“思維、方法”的素養(yǎng)培育。
學(xué)生在學(xué)習(xí)完有數(shù)據(jù)訓(xùn)練的游戲后,圖形化數(shù)字平臺(tái)中還提供了一個(gè)非常好用的AI模塊,可以初始化模型的結(jié)構(gòu),里面可以填入輸入層層數(shù)和輸出層層數(shù)。學(xué)生在“教”飛鳥如何飛的過程,其實(shí)就是一直在記錄數(shù)據(jù)的過程,直到停止。平臺(tái)給了一個(gè)向后傳播算法模塊,可以快速優(yōu)化模型,學(xué)生在游戲中“教”得越好,其實(shí)就是數(shù)據(jù)訓(xùn)練得越好,模型也優(yōu)化得越好。在圖形化編程的基礎(chǔ)上,加上前一個(gè)環(huán)節(jié)的學(xué)習(xí),學(xué)生就可以在游戲體驗(yàn)中快速完成任務(wù)。
三、任務(wù)進(jìn)階,實(shí)現(xiàn)無監(jiān)督學(xué)習(xí)
掌握了以上兩種有監(jiān)督學(xué)習(xí)的過程后,教師提出問題“有沒有辦法讓飛鳥角色自己來學(xué)會(huì)‘飛”引出無監(jiān)督學(xué)習(xí)。通過微課視頻介紹,在軟件平臺(tái)中,通過生成隨機(jī)的100次模型,讓AI角色在游戲中不斷地重復(fù)嘗試,大部分模型很快碰到柱子或柱子邊緣被淘汰,有的卻可以得到很高的分?jǐn)?shù)。然后使用封裝好的遺傳算法模型,將得分高的模型保留下來。遺傳算法是受達(dá)爾文進(jìn)化論的啟發(fā),借鑒生物進(jìn)化過程而提出的一種啟發(fā)式搜索算法,將要解決的問題模擬成一個(gè)生物進(jìn)化的過程,通過復(fù)制、交叉、突變等操作產(chǎn)生下一代的解,并逐步淘汰適應(yīng)度函數(shù)值低的解,增加適應(yīng)度函數(shù)值高的解。這樣進(jìn)化N代后就很有可能進(jìn)化出適應(yīng)度函數(shù)值很高的個(gè)體。它們相互之間進(jìn)化,最終訓(xùn)練出能夠獲得更高分,表現(xiàn)得更好,一代比一代強(qiáng)的模型。
學(xué)生在調(diào)試過程中,可以非常直觀地看到大量飛鳥角色自動(dòng)“飛”的過程,大部分會(huì)撞擊消失,最后只剩下一個(gè)“飛”得很好的,很直觀地看到了整個(gè)“進(jìn)化”過程。這種基于游戲化的圖形化模塊編程設(shè)計(jì),能很好地培養(yǎng)學(xué)生的計(jì)算思維能力,快速掌握無監(jiān)督學(xué)習(xí)的含義,有利于學(xué)生建構(gòu)學(xué)科知識(shí),培養(yǎng)邏輯思維能力。這同樣實(shí)現(xiàn)了人工智能“思維、方法”的素養(yǎng)培育。
四、萌發(fā)創(chuàng)意,創(chuàng)新設(shè)計(jì)新項(xiàng)目,遷移新應(yīng)用
課程幫助我們了解了有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí),因?yàn)樵谶@個(gè)數(shù)字化學(xué)習(xí)平臺(tái),使用圖形化和模塊化,提高了掌握人工智能技術(shù)的效率。因?yàn)槭怯螒蚧?,學(xué)生也非常樂意去實(shí)踐,在玩中學(xué),在體驗(yàn)中學(xué),在體驗(yàn)中思考。學(xué)生在完成體驗(yàn)后,在思維碰撞中,創(chuàng)新設(shè)計(jì)游戲,萌發(fā)新的創(chuàng)意,并嘗試去實(shí)現(xiàn)。教師如何引導(dǎo)學(xué)生重新設(shè)計(jì)游戲,引導(dǎo)他們?nèi)绾稳?chuàng)新,引導(dǎo)他們做什么樣的項(xiàng)目就顯得很關(guān)鍵。有學(xué)生就用這個(gè)平臺(tái)改寫了人機(jī)互飛競(jìng)賽,看誰(shuí)能挺到最后的競(jìng)賽;有學(xué)生改寫了射擊游戲的人機(jī)對(duì)
戰(zhàn);有學(xué)生想改寫迷宮游戲;有學(xué)生還想用這個(gè)平臺(tái)來制作五子棋游戲的人機(jī)對(duì)戰(zhàn)。還有學(xué)生對(duì)遺傳算法很有興趣,去找生物老師了解遺傳算法的具體原理,了解人工智能算法的跨學(xué)科意義;也有學(xué)生找信息老師了解遺傳算法和反向傳播算法的純字符代碼,了解其中的工作原理。對(duì)于水平高的學(xué)生,教師要引導(dǎo)他們做人工智能項(xiàng)目,從選題、設(shè)計(jì)、創(chuàng)作和迭代中完成項(xiàng)目的創(chuàng)新實(shí)踐,引導(dǎo)他們遷移學(xué)習(xí),把人工智能課程學(xué)習(xí)中獲得的經(jīng)驗(yàn),通過某種形式變換,遷移到另外一個(gè)學(xué)科或者另外一個(gè)領(lǐng)域,也就是新課標(biāo)提倡的跨學(xué)科項(xiàng)目應(yīng)用。
本課主要采用了游戲化體驗(yàn)式教學(xué)方式,通過有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)兩類游戲活動(dòng)引導(dǎo)學(xué)生逐步實(shí)現(xiàn)教學(xué)目標(biāo),有些學(xué)習(xí)小組還努力利用這些技術(shù)開展跨學(xué)科項(xiàng)目的探究。這樣的方式讓枯燥的理論知識(shí)更加生動(dòng),提高了學(xué)生的學(xué)習(xí)興趣,同時(shí)也降低了學(xué)生學(xué)習(xí)的難度。學(xué)生加深了對(duì)機(jī)器學(xué)習(xí)相關(guān)概念的理解,避免了機(jī)械地學(xué)習(xí)抽象復(fù)雜的理論。學(xué)生在體驗(yàn)和創(chuàng)作中,完成對(duì)知識(shí)的識(shí)記和理解。這節(jié)課的應(yīng)用創(chuàng)新之處有:教學(xué)環(huán)節(jié)中突出體驗(yàn)式學(xué)習(xí)和創(chuàng)新實(shí)踐,以學(xué)習(xí)者為中心,小組合作探究神經(jīng)網(wǎng)絡(luò)的工作原理,創(chuàng)新人工智能游戲應(yīng)用設(shè)計(jì),從意識(shí)、思維、創(chuàng)新應(yīng)用等方面培養(yǎng)了學(xué)生的人工智能素養(yǎng)。
責(zé)任編輯 羅 峰