陸雅楠 謝作如 叢培珊 上海人工智能實驗室
國務院《新一代人工智能發(fā)展規(guī)劃》的印發(fā),促使面向中小學生的人工智能教育活動應運而生,但這些活動幾乎都沒有涉及新一代人工智能技術的核心——深度學習。幾年前,筆者曾與多位擔任過國家級大賽評委和組織者的專家就這個問題進行交流,得到的反饋是深度學習太難了,中學生不具備相關知識水平和能力,而且已經開展“深度學習”教學的中學也不多,再加上這類活動會涉及數據、算力和算法三大要素,規(guī)則設計比較困難。
《義務教育信息科技課程標準(2022年版)》的發(fā)布,標志著人工智能開始成為國家課程的一部分。那么,能否在中學組織一個以深度學習為內容的AI活動呢?筆者非常熟悉并喜歡面向成人的AI競賽——Kaggle,因而希望參考Kaggle的規(guī)則,設計一個吸引廣大中學生參加的深度學習活動,探索青少年AI科創(chuàng)活動的新形式。
Kaggle的比賽形式是參賽選手通過組委會給定的訓練集,設計算法并訓練模型,再利用測試集算出結果來比較算法的性能。要想在比賽中獲獎,選手需要有較強的數據分析和編程能力,并深刻理解深度學習的原理。那么,組織面向中學生的Kaggle比賽是否可行?下面從三個方面進行分析。
這一輪人工智能的興起,就在于深度學習的成功,因而深度學習的重要性不言而喻。但深度學習的網絡模型非常復雜,在中小學開展深度學習技術教學頗具挑戰(zhàn)性。因此,面向中學生的人工智能課程定位應和高校有所不同,關注的重點不是理解深度學習背后的數學原理,而是引導學生以深度學習為工具解決真實問題。隨著AI技術的普及,越來越多的“低技術門檻”的AI開發(fā)工具相繼出現,學生只要具備Python語法基礎,就能熟練使用這些AI開發(fā)工具。
“低技術門檻”AI開發(fā)工具的出現,又帶來了新的問題。例如,MMEdu工具內置很多SOTA模型,如果學生都使用MMEdu來參加,是不是就無法區(qū)分學生的水平了?
實際上,使用MMEdu的SOTA模型來訓練,也需要做好三個重要的環(huán)節(jié)。首先是數據預處理,學生需要對數據集進行預處理,如缺失值處理等。數據特征會直接影響模型的預測性能,因此這個步驟對結果非常重要,可以作為衡量學生水平的要素。其次是模型的選擇和參數調整,學生需對不同模型進行比較,通過調整超參數優(yōu)化改進模型,如學習率、優(yōu)化器等。最后,Kaggle比賽一般還會涉及一個后處理步驟,就是對模型預測的結果做進一步處理,如分類問題中調節(jié)分類決策界限,達到讓預測結果擬合實際數據的目的,或者是檢測任務中nms策略的選擇,因此后處理環(huán)節(jié)也可作為選拔高水平學生的一個加分項。
不同的框架可以實現相同的算法,但是復雜程度不同,上手難度也有較大差異。從趨勢上看,AI開發(fā)框架的使用門檻終將越來越低,方便中學生上手的工具也會越來越多。AI活動應該崇尚開放,不限制學生使用的開發(fā)框架,做到“八仙過海各顯神通”,結果一般和開發(fā)框架無關,取決于學生對數據集的整理、算法模型的選擇、參數的微調等。因此即使使用不同的AI開發(fā)框架,依然能區(qū)分水平。
活動流程主要包括試題理解、數據預處理、模型的選擇、參數調整、訓練模型、改進模型、預測結果、導出結果等步驟。每組學生(2~4人一組)根據任務描述,通過建立模型對試題發(fā)布的數據集進行分析,數據集分訓練集、驗證集和測試集三個部分,其中訓練集用于訓練,驗證集供學生進行驗證和模型調整,測試集僅提供圖片,不提供標注,需要學生通過訓練好的模型為測試集標注,并提交結果,結果的準確率將作為評分的一部分。每組最終提交的作品需包括導出的數據預測結果、報告、源代碼和運行方式。
每份作品將根據評估指標進行評分和排名。準確率的評價指標為預測正確的準確率(準確率=正確的分類個數/測試集圖片個數),再對準確率排名進行分數轉化,第一名獲得100分,第二名98分,以此類推2分遞減。如果出現平局,優(yōu)先提交的作品將獲得更高的排名。
提交的報告由專業(yè)評委進行評分。最后綜合準確率排名得分、提交的報告、現場答辯評分以及使用方法創(chuàng)新性計算出最終得分。
最終得分計算方式為:準確率排名(70%)+報告撰寫&答辯評分(20%)+使用方法創(chuàng)新性(10%)。
體驗試題1:
陳老師是一位美術老師,有收集學生手繪作品的習慣。每年都有新的同主題的作品加入,陳老師覺得應該按照主題重新分類整理,可是因為數量龐大導致整理困難。因此,將試題設定為幫助陳老師給學生手繪作品分類。發(fā)布的手繪圖案數據集為自制數據集,有超過1000張圖片,包括4個大分類,每個大分類里有4個子分類,共16種手繪圖案,要求學生利用人工智能技術,自動識別圖片中的圖案屬于何種分類,完成測試集的分類。
數據集具體介紹:
①訓練集,供學生訓練數據使用,已經為學生完成標注,所有圖片命名方式為“類別名稱+id.jpg”,如“kaixin0.jpg”。每個大分類1個文件夾,共4個文件夾,每個文件夾內有4個子文件夾,命名為子分類的作品類別,如“kaixin”,同類別的圖片存放在同一個文件夾下。
②驗證集,供學生進行驗證和模型調整,和訓練集整理方式一致。
③測試集,共256張圖,分為4個文件夾,是4個大分類的待整理的手繪作品,每個文件夾64張圖,命名方式是“id.jpg”,如“1.jpg”。
體驗試題2:
“生物多樣性保護”一直是一項重要而艱巨的任務。隨著人工智能技術的發(fā)展,人工智能在工業(yè)、農業(yè)、醫(yī)療、教育等領域廣泛應用,人工智能助力生物多樣性保護的研究也漸受關注。陳先生是動物園百鳥園的一名新飼養(yǎng)員,他正苦于分不清楚各種鳥。因此,以幫助陳先生為鳥類分類為目標,動員學生參與到人工智能應用的探索中。發(fā)布的鳥類圖像數據集為網上相關數據集的組合,是一個鳥類20分類數據集,有超過3000張圖片,學生利用人工智能技術,自動識別圖片中的鳥屬于何種分類,完成測試集的分類。
數據集具體介紹:
①訓練集,共20個子文件夾,所有圖片命名方式為“類別名稱+id.jpg”,如“ABBOTTS BABBLER0.jpg”,同類別的圖片存放在同一個文件夾下。
②驗證集介紹同試題1。
③測試集,共100張圖,命名方式是“id.jpg”,如“1.jpg”。
筆者邀請了數十名有Python編程基礎,并學習過“深度學習入門”和“深度學習之圖像分類”相關課程的學生,分組參加模擬試題體驗。分析學生提交的預測結果、報告和代碼可知,大部分學生都是在CPU上訓練2~3天完成的測試,因此沒有GPU環(huán)境也不用擔心。數據預測結果的準確率差距還是較大的,手繪圖案測試集準確率在85.55%和60%之間,鳥類圖像測試集準確率在92%和85%之間。完成率非常高,大部分學生能夠運用所學知識完成整個流程。
很多學生考慮到了需要擴充數據集,使用平移、翻轉、裁剪、亮度等數據增強操作對圖像進行處理,這樣做能夠有效提高模型的泛化能力。在模型的選擇和調參方面,學生的做法也都不一樣。例如,手繪圖案分類任務,有的學生認為屬于灰度圖,可以直接使用MMEdu的demo程序,選擇“LeNet”模型,修改了“num_classes”“save_fold”等參數,“l(fā)r”設置為0.01,“epochs”設為50,但是驗證集準確率比較一般,僅稍稍超過50%,在最佳準確率的權重文件基礎上,調低“l(fā)r”繼續(xù)訓練了若干輪準確率也沒有太大提升。有的學生想到更換模型為“MobileNet”模型,“l(fā)r”仍然設置為0.01,訓練后記錄驗證集最佳準確率可以超過88%,甚至物理符號的驗證集準確率達97%。還有的學生在報告中提到訓練鳥類數據集時設置相同的參數,“ResNet50”模型的訓練時長比“MobileNet”模型縮短了一半,可見學生能主動嘗試各種算法模型的比較。
根據可行性分析和模擬試題的測試反饋,筆者認為中學生有能力參加此類活動,在活動中提高數據分析能力、算法設計和代碼編寫相關的技術技能。概而言之,設計一個深度學習活動對青少年人工智能教育有重要的推進作用,能讓學生親歷使用深度學習技術解決問題的過程,體會新一代人工智能技術的強大功能。