王飛 郭君紅
“簡單人工智能應(yīng)用模塊開發(fā)”是選擇性必修模塊4“人工智能初步”中的一個(gè)重要組成部分。課標(biāo)在這一部分強(qiáng)調(diào)學(xué)習(xí)者對(duì)開發(fā)工具和平臺(tái)的認(rèn)知和理解,能夠利用相關(guān)框架,搭建簡單應(yīng)用模塊,能夠合理配置系統(tǒng)的應(yīng)用環(huán)境、參數(shù)以及自然交互方式。
● 教學(xué)中存在的問題
第一,多數(shù)教師的人工智能專業(yè)知識(shí)相對(duì)欠缺,缺乏對(duì)核心問題的整體把握;實(shí)踐層面缺乏相關(guān)技術(shù)路徑的整理與提煉,對(duì)實(shí)踐工具的認(rèn)知不足,對(duì)具體技術(shù)使用生澀。
第二,教學(xué)聚焦方向不清,在解決問題層面缺乏學(xué)科方法的引領(lǐng),任務(wù)設(shè)計(jì)和教學(xué)環(huán)節(jié)中過分追求內(nèi)容的“高大上”和趣味性,忽視了學(xué)科思想、方法和本質(zhì)內(nèi)容的落地。
第三,在教學(xué)過程中,知識(shí)、方法、實(shí)踐三條線索沒有形成統(tǒng)一的認(rèn)識(shí),三者處于割裂的狀態(tài),很難幫助學(xué)生深度挖掘。
● 整體把握學(xué)科知識(shí)與技術(shù)路徑的建議
1.關(guān)注核心問題
在面對(duì)各種應(yīng)用場(chǎng)景和項(xiàng)目時(shí),需要把握共同的問題:人工智能(AI)是如何對(duì)客觀世界做出反應(yīng)的?教師要引導(dǎo)學(xué)生關(guān)注AI對(duì)客觀世界的現(xiàn)象進(jìn)行數(shù)據(jù)化處理的過程、模型訓(xùn)練的方法以及在模型構(gòu)建基礎(chǔ)之上的判斷與預(yù)測(cè),并對(duì)這一過程進(jìn)行進(jìn)一步分析和抽象。學(xué)生在學(xué)習(xí)相關(guān)內(nèi)容時(shí),可以從數(shù)據(jù)的采集、存儲(chǔ)、傳遞、處理、訓(xùn)練和應(yīng)用等層面著手探究。
2.理清程序思路
人工智能應(yīng)用模塊的開發(fā)對(duì)使用者的編程能力具有一定要求。目前使用的教材主要以項(xiàng)目式教學(xué)為主,將學(xué)習(xí)者的學(xué)習(xí)程度界定為“非零起點(diǎn)”,應(yīng)用實(shí)踐內(nèi)容只提供程序代碼片段,并沒有對(duì)技術(shù)實(shí)施過程進(jìn)行詳細(xì)梳理,而相關(guān)程序中的技術(shù)細(xì)節(jié)往往紛繁復(fù)雜,學(xué)生極易陷入各種枝節(jié)性問題中不能自拔。因此,教師應(yīng)將技術(shù)脈絡(luò)的分析作為教學(xué)中的重點(diǎn)環(huán)節(jié)。筆者以人教—中圖版信息技術(shù)教材(人工智能初步)為例,對(duì)案例及設(shè)計(jì)的技術(shù)點(diǎn)進(jìn)行了簡單整理,具體如表1所示。
表1中案例涉及工具種類繁多,沒有明確線索和順序、因果關(guān)系,教材也難以給出詳細(xì)的問題解決方案、數(shù)據(jù)來源和工具使用方法,因此還需要教材對(duì)技術(shù)點(diǎn)進(jìn)行分類和整理,把握操作中的共性內(nèi)容和方法。
(1)面向?qū)ο蟮囊话惴椒ǎ簩?duì)象名.屬性(方法)
通常來說,人工智能應(yīng)用模塊的開發(fā)主要是在第三方擴(kuò)展庫基礎(chǔ)上進(jìn)行搭建,第三方庫的調(diào)用沿用了Python語言中面向?qū)ο蟮奶卣骱头椒?,遵循?chuàng)建對(duì)象、利用對(duì)象的屬性獲取數(shù)據(jù)、利用對(duì)象的方法處理數(shù)據(jù)操作的基本思路。在沿用此思路基礎(chǔ)上,通過閱讀第三方庫的說明文檔可以迅速上手操作。
(2)Python語言中批量數(shù)據(jù)的處理
在高中階段,人工智能應(yīng)用模塊的開發(fā)更多聚焦在數(shù)據(jù)層面,包括數(shù)據(jù)的處理、應(yīng)用和可視化操作。在Python環(huán)境下,列表是數(shù)據(jù)存儲(chǔ)和處理的基礎(chǔ),numpy為數(shù)據(jù)更多的數(shù)學(xué)化運(yùn)算提供了遍歷條件,字典的引用是對(duì)封裝數(shù)據(jù)進(jìn)行解析的基礎(chǔ),Python語言中基本數(shù)據(jù)類型的處理依然是完成開發(fā)任務(wù)的關(guān)鍵。
(3)三大結(jié)構(gòu)的進(jìn)一步理解
對(duì)任何項(xiàng)目開發(fā)而言,三大控制結(jié)構(gòu)依然是基礎(chǔ)。在了解第三方擴(kuò)展庫的功能上,如何調(diào)用相關(guān)功能、調(diào)用條件和順序等相關(guān)問題離不開應(yīng)用結(jié)構(gòu)的設(shè)計(jì)與支持。因此,在整個(gè)開發(fā)過程中,程序結(jié)構(gòu)的分析始終是教學(xué)的重點(diǎn)問題。
3.選擇適當(dāng)工具
(1)常見的編程工具與應(yīng)用場(chǎng)景
高中人工智能應(yīng)用開發(fā)主要利用Python環(huán)境。教師可以根據(jù)不同編程工具的特點(diǎn)和任務(wù)需要,自主選擇適當(dāng)?shù)木幊坦ぞ摺.?dāng)前常用的編程工具和具體應(yīng)用場(chǎng)景如下頁表2所示。
(2)常見的第三方擴(kuò)展庫
人工智能相關(guān)知識(shí)過于復(fù)雜,多數(shù)應(yīng)用的開發(fā)都是站在巨人的肩膀上,利用第三方擴(kuò)展庫構(gòu)建支架,實(shí)現(xiàn)功能上的創(chuàng)新。下頁表3總結(jié)了幾種常見通用且開源免費(fèi)的擴(kuò)展庫。
基于第三方擴(kuò)展庫構(gòu)建模型遵循數(shù)據(jù)采集、存儲(chǔ)、處理、運(yùn)算、應(yīng)用等實(shí)踐路徑進(jìn)行操作。實(shí)踐過程包括利用第三方擴(kuò)展庫采集數(shù)據(jù)(如視頻、圖像、音頻等)和創(chuàng)建數(shù)據(jù)對(duì)象;借助列表、字典以及numpy數(shù)組等數(shù)據(jù)結(jié)構(gòu)將核心數(shù)據(jù)進(jìn)行提取和存儲(chǔ);使用第三方擴(kuò)展庫進(jìn)行數(shù)據(jù)訓(xùn)練和可視化操作以及模型的調(diào)用和再利用。整個(gè)開發(fā)過程具有一定的通用性,可以應(yīng)用于解決各類問題,但對(duì)師生的編程和數(shù)學(xué)知識(shí)要求較高,應(yīng)用層面難度較大。
(3)常見的數(shù)據(jù)集和訓(xùn)練集的使用
在應(yīng)用開發(fā)的過程中,筆者更希望學(xué)生能夠?qū)θ斯ぶ悄艿脑硪约伴_發(fā)過程各步驟的作用、意義有更深入的理解,而不是停留在囫圇吞棗、照貓畫虎、走馬觀花的程度上。開源訓(xùn)練集的應(yīng)用,在一定程度上解決了這個(gè)問題。
開源數(shù)據(jù)集的使用降低了樣本選擇以及學(xué)習(xí)過程中數(shù)據(jù)統(tǒng)計(jì)分析與處理技術(shù)上的難度,使得模型的應(yīng)用更加準(zhǔn)確,取得的結(jié)果更加合理科學(xué)。教師可以將主要精力放在引導(dǎo)學(xué)生聚焦AI利用數(shù)據(jù)的學(xué)習(xí)過程,嘗試可視化探索等層面,進(jìn)一步對(duì)原理進(jìn)行探索。
(4)人工智能服務(wù)平臺(tái)
當(dāng)前,大量的AI應(yīng)用設(shè)計(jì)都是借助人工智能服務(wù)平臺(tái)的支持實(shí)現(xiàn)的。AI產(chǎn)品通常作為終端,向平臺(tái)發(fā)送申請(qǐng),平臺(tái)在處理完成后返回終端進(jìn)行響應(yīng),這種方式極大降低了人工智能模塊應(yīng)用的難度,逐步被廣大教師采用。
利用接口API指令向平臺(tái)發(fā)送申請(qǐng),從而得到封裝好的數(shù)據(jù)對(duì)象,再通過解析json數(shù)據(jù)格式對(duì)象獲取需要的數(shù)據(jù)為程序提供各種服務(wù)。利用人工智能服務(wù)平臺(tái)搭建應(yīng)用框架,極大地降低了技術(shù)操作門檻,通過API提供的學(xué)習(xí)文檔,師生可以很快上手進(jìn)行操作。但大部分平臺(tái)受到調(diào)用次數(shù)、每秒查詢率、用戶連接數(shù)等限制,在賬號(hào)管理上也存在較大困難。同時(shí),在平臺(tái)調(diào)用過程中產(chǎn)生的數(shù)據(jù)安全和倫理道德問題也成為教師授課過程中的主要困惑。
● 對(duì)教學(xué)模式選用的建議
1.以功能復(fù)現(xiàn)為主要學(xué)習(xí)路徑的實(shí)踐探索
功能復(fù)現(xiàn)是指借助于人工智能服務(wù)平臺(tái)或第三方模塊,在教師的引導(dǎo)下,學(xué)生從應(yīng)用功能實(shí)現(xiàn)入手,探索實(shí)踐過程及其背后的原理。
功能復(fù)現(xiàn)在教學(xué)過程中著重強(qiáng)調(diào)構(gòu)建用戶與人工智能服務(wù)平臺(tái)間數(shù)據(jù)通信與解析的橋梁,以功能接口為依托,完成項(xiàng)目任務(wù)。平臺(tái)的封裝性使得原理探究層面略顯單薄,在原理分析過程中,可以進(jìn)一步挖掘其現(xiàn)象背后的數(shù)據(jù)問題,尤其關(guān)注平臺(tái)對(duì)數(shù)據(jù)的處理以及對(duì)象的最終呈現(xiàn)。
2.以創(chuàng)意產(chǎn)品開發(fā)為主的項(xiàng)目式探究
采用創(chuàng)意產(chǎn)品開發(fā)為主要教學(xué)情境的內(nèi)容,更多從開發(fā)者角度進(jìn)行作品的設(shè)計(jì)、功能實(shí)現(xiàn)創(chuàng)新與完善,最終更多關(guān)注項(xiàng)目的實(shí)現(xiàn)程度。
創(chuàng)意產(chǎn)品開發(fā)弱化了原理層面,更加重視研發(fā)過程、編程方法和工具應(yīng)用。在教學(xué)中,盡可能考慮開源工具的整合,綜合運(yùn)用多種工具和方法創(chuàng)造性解決相關(guān)場(chǎng)景的問題。
3.以原理探究為核心的任務(wù)體驗(yàn)與開發(fā)
該教學(xué)模式更多聚焦功能實(shí)現(xiàn)背后的基本原理和方法,相比而言,教學(xué)中的功能實(shí)現(xiàn)和效果呈現(xiàn)處于相對(duì)次要的位置,在教學(xué)中更多關(guān)注數(shù)據(jù)的擬合、模型和應(yīng)用的過程。在整體教學(xué)中,教師要鼓勵(lì)學(xué)生進(jìn)一步走進(jìn)人工智能的黑箱,探索數(shù)據(jù)是如何進(jìn)一步學(xué)習(xí)、訓(xùn)練和生成模型的。