鐘柏昌 顧榮楨



如今,以自然語言處理為代表的人工智能技術在改善人們生產生活的同時,也帶來了信息繭房、算法陷阱、欺詐舞弊等挑戰。在此背景下,開展扎實有效的中小學人工智能教育顯得極為重要。當前,國內外學者對中小學人工智能教育的目標定位頗具共識,即它并非人工智能專業人才的培養,也并非少數人的教育,而是提升未來公民均需掌握的基本生存能力——人工智能素養[1-2]。人工智能素養的培養離不開高質量的人工智能教育資源。雖然目前相關課程資源的開發并不鮮見,但絕大部分來自高等教育領域,需要學習者具備較高的理工科專業基礎,并不適用于中小學師生。毋庸置疑,人工智能的跨學科性和前沿性決定了其具有較高的技術門檻,這顯然與人工智能素養的普及培養存在矛盾。能否有效解決這個矛盾,決定了人工智能教育普及開展的成敗。為此,本文構建了中小學人工智能教育的五級進階框架,通過降低門檻、逐層遞進的方式提升學生的人工智能素養。為幫助讀者理解,本文以“停車場自動抬桿系統的優化”為例,設計并詳述了基于五層進階框架的項目式教學案例作為參考。
拾級而上:中小學人工智能教育的五個層級
對人工智能教育進行分層的做法并非鮮見,國內外已有一些研究做出了積極的探索。例如,《美國K—12 人工智能教育行動計劃指南》將人工智能教育分為K—2 年級、3—5 年級、6—8 年級、9—12 年級4 個階段[3]。又如,國內《中小學人工智能課程指南》根據小學、初中、高中3 個階段分別對人工智能課程內容提出不同要求[4]。然而,這些研究主要是從學段角度進行教育目標和教育內容的分層,缺乏學理依據的說明。同時,學段分層對大部分成熟學科而言可能是合理的,但對于人工智能這種新興學科而言則力有不逮:一方面是人工智能處在快速發展階段且學科體系尚不成熟,簡單作學段內容切分難以周全;另一方面是人工智能技術存在門檻過高的問題,對人工智能技術作簡單條塊切分無法有效降低中小學生的進入門檻。相比之下,較為科學合理的方案是對人工智能技術做降維處理后再遷移至中小學人工智能教育。需注意的是,中小學生覆蓋不同年齡階段,在認知水平和能力上具有動態發展性,因此,人工智能技術的降維處理應當具有不同的樣態,以適應不同認知發展階段的學生;教師也需要借此設計不同抽象層次的學習項目,引導學生循序漸進、層層深入地把握人工智能的本質。換言之,以不同降維處理的人工智能創作工具(平臺)作為腳手架,對人工智能教育進行合理分層,引導學生由外向內逐層探索人工智能技術,像剝洋蔥一樣打開人工智能的黑箱,才有可能有效提升中小學生的人工智能素養。
為便于分層,首先要按照不同降維程度對人工智能創作工具進行分類。最基礎的人工智能創作工具是深度學習框架,例如PyTorch、TensorFlow 等,它們是深度學習算法經模塊化封裝形成的人工智能學習庫,可以滿足用戶模型訓練、測試等需求[5],我們將此類工具稱為“人工智能框架工具”。此類工具的使用要求用戶熟諳神經網絡的各層結構,即具備較高的人工智能開發水平。在此基礎上經第一次降維處理后的工具便是各類已有算法的開源文件, 如YOLO(You Only Look Once:Unified, Real-Time Object Detection)算法、SSD(Single Shot MultiBox Detector)算法等,我們將此類工具稱為“算法代碼工具”。用戶無須考慮網絡結構,依據實際需要下載開源文件并作一定調整后即可使用此類工具。將算法代碼封裝,以圖形交互界面呈現的程序或網頁,可以視作人工智能創作工具的第二次降維處理,我們將此類工具稱為“程序交互工具”。例如飛槳(PaddlePaddle)、浦育(OpenInnoLab)等平臺中提供的人工智能體驗功能,用戶只需上傳數據集至平臺并點擊“訓練”按鈕即可訓練模型。除以上3 類創作工具外,還有一類更直觀的工具,它不涉及模型訓練,主要為各式人工智能應用程序編程接口(API)和智能傳感器設備,如各類智能云API 和智能攝像頭,我們將此類工具稱為“編程體驗工具”。針對此類工具,用戶只需將現成的模型進行部署即可制作智能交互系統。綜上,根據抽象維度,可以將人工智能創作工具由高到低劃分為人工智能框架工具、算法代碼工具、程序交互工具和編程體驗工具4 個類別。
其次,由于任何工具都離不開用戶主體,人工智能教育的分層還需特別關注學習者的認知水平。依據修訂版的布盧姆認知目標分類框架,學生的認知水平可以分為記憶、理解、應用、分析、評價和創造6 個層次[6]。本文認為這一分類非常契合中小學人工智能教育,不僅因為人工智能教育屬于素養教育,體現了認知目標與情感目標的交疊關系[7],還因為上述人工智能創作工具在抽象維度的降維處理與認知水平具有內在一致性。
為此,可以將4 種人工智能創作工具與6個認知層次進行關聯:編程體驗工具的使用門檻最低,學生只需記住模型接口、模型名稱及其功能,進而在圖形化編程環境中直接調用預訓練模型即可,因而可與記憶層次的認知水平對應;盡管程序交互工具需要準備數據集和訓練模型,但其采用的是可視化的按鈕操作環境,操作簡單,有利于用戶理解模型的訓練過程,故與理解層面的認知水平相當;不同算法代碼工具所需修改應用的難度差異較大,根據不同使用方法可覆蓋應用和分析2 個認知層次,例如直接調用已有算法進行模型訓練屬于應用水平,而結合實際需求綜合運用多個算法模型則需要分析綜合的能力;人工智能框架工具的抽象水平最高,要求學生不僅要深入了解不同框架、模型、算法的技術思想和功能差異,還要在評估實際問題需求的基礎上創新運用工具,因此可與評價和創造水平相對應。綜上,基于4 種工具和6 個認知水平之間的5 種對應關系,可以形成人工智能教育的五級水平,我們將其稱之為體驗級、理解級、應用級、綜合級和優化級(見表1)。結合前述人工智能創作工具特點和項目實踐需求,可進一步細化每一級的目標要求(見表2)。
迭代實踐:停車場自動抬桿系統的五級項目案例
停車場自動抬桿系統是以圖像識別為核心技術的人工智能交互系統,能滿足從體驗級到優化級各級項目式教學的需要。首先,該系統在生活中較為常見,符合注重解決實際問題的項目式教學要求;其次,相較于數據分析等其他人工智能領域,圖像識別具有可視化特點,識別結果簡單易懂,便于學生理解。此外,與圖像識別相關的人工智能創作工具更為多樣,便于開展分級教學。下面以此為例介紹不同層級的項目式學習內容。
體驗級
體驗級需要學生借助編程體驗工具認識人工智能,該層級不要求學生訓練模型,因此設計學習活動時只需考慮所用工具的模型功能能否滿足項目需求即可。停車場自動抬桿系統的基本功能是攝像頭識別汽車后自動抬桿放行,其核心在于車輛的自動識別。就本層級而言,可以調用API 函數或智能攝像頭實現車輛自動識別,本案例以后者為例,采用二哈識圖(HUSKYLENS)智能攝像頭開展實踐。該攝像頭包含多個預訓練模型,包括用VOC 2007數據集訓練而成的20 類物品識別模型,能夠對鳥、汽車、人、沙發等20 種物體進行圖像識別。智能攝像頭物體識別功能的圖形化(模塊化)編程指令如圖1 所示。
作為人工智能教育的第一層級,體驗級的教學內容仍以創客教育為主。創客教育是人工智能教育實施的主要路徑,是人工智能教育不可替代的有機組成部分[8],良好的創客教育基礎是后續各層級開展的前提。當然,體驗級并未真正涉及人工智能的核心算法與模型,適合作為從傳統創客教育到人工智能教育的過渡階段。以本項目為例,可以先讓學生基于紅外傳感器或按鈕開關等硬件制作簡易抬桿控制系統,再讓學生嘗試使用智能攝像頭將其改造為智能抬桿系統,以供學生比較智能系統之于普通控制系統的優勢,體悟智能傳感器與普通傳感器的區別。
理解級
理解級需要學生經歷人工智能模型的開發過程,包括生成數據集、模型訓練和模型部署3 個部分。為實現汽車的自動識別,本案例采用OpenInnoLab 平臺“AI 體驗”模塊中的圖像分類工具(如圖2),對生成數據集和模型訓練兩部分進行簡化操作,以支持學生快速完成項目任務。為提高項目難度,可進一步細化項目任務要求,要求學生在智能抬桿的基礎上實現按類型統計車輛等功能,例如制作可區分轎車、貨車等不同車輛類型的圖像識別模型。
相較于體驗級,理解級項目的重難點在于調整數據集以訓練出更有效的模型。數據在人工智能系統中處于核心地位[9],也是人工智能學習的重要知識點。在制作作品前,可讓學生反復嘗試修改數據集,體驗數據對人工智能模型訓練效果的影響。例如,在制作識別車輛種類的模型時,讓學生嘗試轎車數據集均采用黑色轎車圖片,貨車數據集均采用白色貨車圖片,再用黑色貨車圖片評估模型訓練后的識別效果,則可以理解過擬合概念。除此之外,欠擬合、訓練數據集、測試數據集等概念也可通過體驗不同數據集的方式學習。
此外,模型部署還涉及不同的模型文件格式。OpenInnoLab 平臺訓練模型后所獲得的模型文件為TensorFlow.js 模型文件, 需要將其轉為ONNX(Open Neural NetworkExchange)模型文件以便部署模型,因為大部分智能硬件都兼容該類文件格式。ONNX 模型可用Netron 等工具實現模型結構的可視化,以幫助學生直觀理解圖像識別的工作原理。舉例說明,圖3 為本案例模型可視化后的部分結構,包括轉置層、卷積層等信息,學生由此可初步理解圖像識別是圖像數據輸入模型后經過逐層計算得出結果的過程。
應用級
應用級要求學生使用算法代碼工具(如開源的人工智能算法訓練模型)制作智能交互系統。根據本層級要求,可以將項目任務確定為目標檢測,即在圖像中找到并框出車輛位置,所采用的算法工具為YOLOv5。YOLO 系列是目標檢測領域中速度- 精度均衡的佼佼者[10],且YOLOv5 提供了yolov5s.pt 等模型作為預訓練模型,效果較好且對算力需求相對較低,適用于中小學生使用。
本層級項目需要生成的數據集相比理解級更為復雜。首先,相比圖像分類,目標檢測在生成數據集部分需要學生對圖像進行標注。常用的標注工具有LabelImg、LabelMe 等,如圖4 為LabelImg 的標注界面,標注信息以xml格式保存。此外,還需要學生正確整理數據集的格式。以YOLOv5 為例,使用該算法讀取數據時,需要先將xml 文件轉換為txt 文件,文件名需與圖片名對應,并將文件保存在命名為“labels”的文件夾中。具體格式要求可參考所用開源算法的說明文件。
應用級學習的重點在于模型訓練,學生使用算法代碼工具訓練模型時,需要調整超參數。在卷積神經網絡中,主要的超參數包括學習率(learning rate)、訓練次數(epochs)、批次大小(batch_size)等。這些超參數的使用,需要學生了解前向傳播和反向傳播等基本概念。掌握基本概念后,可讓學生在較低訓練次數下嘗試修改學習率和批次大小,通過比較模型訓練效果加深對各個參數的理解。此外,模型訓練的耗時、批次大小的上限也與硬件條件有關,有利于加深學生對算力、處理器運算能力單位、GPU 等概念的認識。
綜合級
相較于應用級,綜合級需要學生分解實際項目問題并形成問題鏈,再靈活運用不同的模型解決這些問題。例如一些新聞報道提及某些小汽車采用作弊行為逃繳停車費,包括利用同伴車輛刷卡掩護出閘、使用打印或手機拍攝的虛假車牌號等現象。為解決此類問題,需要改進現有的停車場自動抬杠系統。本層級項目將以防止車輛掩護出閘為例對原有系統進行改進,需要實現的主要功能包括:①檢測攝像頭前是否出現車輛,如出現則抬桿放行;②跟蹤車輛運動方向,如有倒車等掩護出閘情形則適時降桿止行;③檢測車輛的車牌位置,并識別和記錄車牌號。在厘清系統功能后,需要學生通過分析形成問題鏈,并選用合適的模型進行訓練和整合。整個系統需要解決3 個問題和使用3 類人工智能模型,一是如何提取圖像中車輛位置和車牌位置,需要用到目標檢測模型;二是如何跟蹤前一個模型中檢測到的車輛,需要用到目標跟蹤模型;三是如何將提取的車牌圖片轉換為文字,需要用到字符識別模型。將3 類模型串聯使用,即可實現系統的主要功能(如圖5)。
在模型訓練方面,目標檢測模型的訓練流程基本與應用級一致,只需增加對車牌的目標檢測即可。目標跟蹤功能可以直接調用OpenCV 庫中的CSRT 或其他類似算法命令實現,但需要將之前目標檢測的結果提供給目標跟蹤模型。以YOLOv5 實現目標檢測功能的detect 文件為例,以下是其中負責輸出的部分代碼:
label = names[c] if hide_conf else f'{names[c]}'
confidence = float(conf)
……
label=Noneifhide_labelselse(names[c] if hide_conf else f'{names[c]}{conf:.2f}')
annotator.box_label(xyxy,label ,color=colors(c, True))
save_one_box(xyxy, imc, file=save_dir/ 'crops' / names[c] / f'{p.stem}.jpg',BGR=True)
代碼中的label 和confidence 分別包含識別到對象的標簽和置信度,是判斷是否將圖像傳輸給下一個推理文件的依據;xyxy 變量則包含對象在圖像中的位置信息,借助xyxy 變量可以匹配特定區域的圖像,圖像信息存儲于變量imc 中。為了在目標跟蹤模型中跟蹤該目標圖像,需要在推理文件中合適位置調整xyxy 和imc 參數格式并調用其實現目標跟蹤。為此,需要學生能夠讀懂代碼并正確轉換各個參數的格式。
記錄車牌號需要采用光學字符識別(OCR)算法,相應模型的使用需要學生具備圖像預處理能力。預處理的作用主要為調整數據尺寸以契合模型的輸入格式,并使圖像特征更明顯以便模型推理。本案例中所采用的OCR 算法為LPRNet,使用該算法涉及到的預處理包括圖像尺寸調整、數值歸一化、矩陣轉置等操作。相應代碼如下所示:
img =cv2.resize(img,(168,48))
img = img.astype(np.float32)
img = (img/255-mean_value)/std_value
img = img.transpose(2,0,1)
img = img.reshape(1,*img.shape)
除人工智能部分外,完整的系統制作還包括圖形化界面設計、物聯網連接等。
優化級
有別于前4 個層級,優化級需要學生嘗試使用PyTorch 等人工智能框架嘗試修改或制作簡易的網絡模型。盡管上一層級的項目任務較為完善,但尚未解決如何區分含有車牌號的真實車輛與打印或手機拍攝的車輛圖片的問題[11]。解決該問題沒有現成模型可以直接利用,需要學生在理解卷積層、匯合層、激活函數等網絡結構作用,以及深度學習工作方式的基礎上,構建簡單的人工智能網絡模型。
在本案例的情境中,車輛圖片與真實車輛的不同之處在于圖片存在明顯的矩形邊界,若能在攝像頭捕捉畫面中提取出矩形邊界則說明識別對象為車輛圖片。提取邊界可通過使用邊緣濾波器作為卷積核的方式實現。如可采用整體邊緣濾波器為卷積核,設置卷積步長為1,構建特定卷積層,并設置其他卷積層及全連接層、批歸一化層、隨機丟棄層等結構以制作一個簡易的圖像識別網絡模型。
還有另外一種解決問題的思路,即駛入的真實車輛與放入的車輛圖片在攝像頭捕捉畫面上存在數據差異:真實車輛駛入鏡頭前的過程中,存在從外面駛入的過程,變化較為平穩,且車輛停止時,畫面基本保持不變;而將車輛圖片放到攝像頭前時,畫面呈快速變化,且因手持圖片的原因,畫面始終會存在一定抖動。為此,學生可以嘗試提取畫面前后2 幀的差異信息作為數據集,并以此構建人工智能模型區分真實和虛假的車輛。初步的數據獲取代碼如下:
gray_frame = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
frame_diff = cv2.absdiff(gray_frame_before, gray_frame)
_, thresh = cv2.threshold(frame_diff,30, 255, cv2.THRESH_BINARY)
contours,_=cv2.find Contours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)
借助OpenCV 庫的指令可獲取前后2 幀畫面的差異圖像frame_diff,并提取差異區域的端點坐標信息contours。通過這些數據信息可以計算出2 幀畫面差異區域面積、差異區域質心等信息,將一段時間畫面變化信息進行記錄即構成一個數據項。若每2 幀之間獲取5 個數據信息,連續記錄90 幀,則每個數據項都是形狀為(90,5)的數組,數據量相對較小,使用少量全連接層、批歸一化層即可完成數據處理。
本層級項目不僅對深度學習和網絡結構等理論概念的理解有明顯提升,而且使用的工具也為抽象程度較高的人工智能框架工具,需要特別做好相關理論知識的學習和準確把握。
總結
本文結合現有各類人工智能創作工具和實踐平臺,結合認知目標分類理論,構建了中小學人工智能教育的五級進階框架,并以“停車場自動抬桿系統的優化”為例,對各級項目任務樣例進行了描述。在使用該框架時,仍需注意以下幾個方面的問題。
一是如何通過進階項目促進學生人工智能素養的全面提升 中小學人工智能教育應兼顧知識、能力和情感的全面發展,以提高學生的人工智能素養[12]。通過項目實踐,學生應用人工智能解決問題的能力固然會得到一定提升,但要讓學生的人工智能知識和情感也獲得同步提升,離不開恰當的過程性評價和良好的情境創設。使用過程性評價,可以檢驗學生能否在實踐過程中合理應用人工智能知識;而良好的情境創設可以讓學生代入個人情感,在真實情境中增強對人工智能應用價值和人機關系的理解。
二是如何在有限條件下推進人工智能教育的普及 在經濟欠發達地區,教育經費往往不足以支撐人工智能設備所需[13]。智能硬件的使用會顯著提高學校計算機實驗室的建設成本,如體驗級所提到的智能攝像頭。此外,從應用級開始,中大型深度學習模型的本地訓練對計算機的處理能力提出了較高要求,一個模型即便是幾十輪次的訓練也可能一節課也“跑”不完。一種解決困境的思路是大幅提升智能硬件的計算性能,通過邊緣計算減少對計算機和云服務器算力的依賴。遺憾的是,目前市場上大部分智能硬件的算力資源有限,未來要開展大規模常態化人工智能教育,離不開學校本地服務器的算力資源。在不過分增加學校經費投入的前提下,這種算力資源要同時滿足幾十上百個模型的同步訓練,就離不開算力資源的合理分割。從這個意義上說,如同創客教育離不開可切割結構件的激光切割機一樣,人工智能教育也離不開可以切分算力(算力虛擬化)的服務器,相關技術方案的成熟發展同樣需要業界作出不懈努力[14]。
雖然本文五級進階框架的構建強調了人工智能創作工具的使用,但構建分層進階框架的目的并非讓學生停留于學會不同工具的使用方法,而是引導學生逐層探索人工智能的技術思想并理解利用人工智能解決問題的過程與方法,幫助學生實現對人工智能由外到內的認知發展過程,即獲得人工智能素養。整體而言,該框架是一個開創性的人工智能教育方案,已在廣東省教育廳主辦的2024 年廣東省學生信息科技創新大賽方案中有初步體現,期待未來有更多的同行跟進討論和批評指正。
參考文獻
[1] 鐘柏昌,詹澤慧.人工智能教育的頂層設計:共識、差異與問題——基于4 套標準文件的內容分析[J].現代遠程教育研究,2022,34(04):29-40.
[2][7] 鐘柏昌,劉曉凡,楊明歡.何謂人工智能素養:本質、構成與評價體系.華東師范大學學報(教育科學版)[J].2024(01):71-84.
[3] Touretzky, D., Gardner-McCune, C., Martin, F.,& Seehorn, D. Envisioning AI for K-12: What ShouldEvery Child Know about AI?[J]. Proceedings of the AAAIConference on Artificial Intelligence, 2019, 33(01),9795-9799.
[4] 江波.中小學人工智能課程指南[J].華東師范大學學報(教育科學版),2023,41(03):121-134.
[5] 黃玉萍,梁煒萱,肖祖環.基于TensorFlow 和PyTorch 的深度學習框架對比分析[J].現代信息科技,2020,4(04):80-82+87.
[6] 洛林·安德森,等.(2009).布盧姆教育目標分類學(修訂版).北京:外語教學與研究出版社,2009.
[8] 鐘柏昌,劉曉凡.人工智能教育教什么和如何教——兼論相關概念的關系與區別[J].中國教育科學(中英文),2022,5(03):22-40.
[9] 崔鐵軍,李莎莎.人工系統中數據– 因素– 算力– 算法作用及相互關系研究[J].智能系統學報,2022,17(04):772-779.
[10] 邵延華,張鐸,楚紅雨,等.基于深度學習的YOLO 目標檢測綜述[J].電子與信息學報,2022,44(10):3697-3708.
[11] 鐘柏昌,顧榮楨.一種防偽車牌識別方法、系統及終端:CN202311777953.4[P],2023-12-22.
[12] 鐘柏昌,余峻展.新時代我國中小學人工智能教育的體系化建設[J].嶺南師范學院學報,2022,43(06):1-6+22.
[13] 顧小清,李睿,李世瑾.人工智能教育現狀如何?——中小學人工智能教育競賽結果的證據回應[J].開放教育研究,2023,29(06):82-91.
[14] 鐘柏昌,余峻展,謝作如.中小學人工智能課程需要何種智能硬件——現狀分析與發展方向[J].遠程教育雜志,2024(1):74-83.