◇南京工業職業技術大學計算機與軟件學院 樊曉唯 蔣林岑 劉向東
說課是在教師備課的基礎上,向同行或專家闡述其教學設想和理論依據的過程,目的是調動教師參與教學改革,學習先進教學理念,最終提升課堂教學效果。隨著人工智能技術的發展,近年來越來越多的高校開設了人工智能專業,而“深度學習”則是該專業的一門非常重要的專業基礎課。本文以“深度學習”課程為例,從說教材、說學情、說目標、說教法學法、說教學過程、說教學反思六個方面詳細闡述說課的全過程。
說課的概念最早是在1987年由河南省新鄉市紅旗區教研室提出的,指的是由授課教師針對教學過程中的某一觀點、問題或具體課題,表述其教學設計及其理論依據,簡單說就是闡述教師準備教什么,如何教,以及為什么這樣教[1]。其目的是調動教師積極參與教學改革,學習先進教學理念,嘗試多元教學手段,以及提高教師教學能力及職業素養。
說課不同于講課,主要目的是闡述清楚教師的教學設想,在內容上有標準的結構,主要包括以下內容。①說教材:說課程定位、教材簡析、課時安排、教具準備等,目的是讓聽的人了解你要說的課的內容。②說學情:說學生的基本情況和知識基礎,根據學情來設計教法和學法。③說教學目標:從多個維度來說課程的目標,包括知識層面、能力層面、素質層面等。④說教法學法:說根據學生實際準備采用哪種教學方法,以及為什么這樣選擇。⑤說教學過程:這是說課的重點,可以以某一個單元為例,詳細闡述教學實施的過程及環節:如課程導入、新課教學、課堂練習、總結與作業安排等。⑥說教學反思:對于已經實施過的課程,說教學后的反思及可以改進的地方。
本文以職業本科人工智能專業開設的《深度學習基礎》課程為例進行說課,將從說教材、說學情、說目標、說教法學法、說教學過程、說教學反思六個方面展開,說課的總時間控制在15分鐘左右。
《深度學習基礎》課程是人工智能本科專業第三學年第一學期開設的專業基礎課。其先修課程是《人工智能數理基礎》《Python程序設計》《機器學習基礎》等,后續課程包括《深度學習框架》《計算機視覺與圖像處理》《計算機自然語言處理技術》等課程。本課程是學生從機器學習領域向應用更廣泛的深度學習領域進軍的最基礎的課程,學好本課程可以為進階課程打好夯實的理論和實踐基礎。
本課程學時安排是48學時,包含24學時理論課和24學時實驗課。采用的教材是清華大學出版社的《TensorFlow深度學習及實踐》。該教材內容涵蓋了《深度學習基礎》課程標準中的重點和難點,內容由淺入深,配合豐富的實踐案例,具有較強的實用性,幫助學生在動手實踐中進一步理解深度學習的運算原理。
首先是學生基本情況,由于是自主選擇人工智能方向,學生對這門課程求知欲望和積極性較為強烈,但是班級同學之間仍然存在計算機編程水平以及數理基礎的差異,所以教學時,要考慮方式方法,盡可能保障后進學生跟上課程。其次是學生知識基礎,經過先修課程《機器學習基礎》的學習,學生已經對機器學習的基本概念和算法流程有了初步的認識,對Python編碼和算法實踐也有了一定程度的鍛煉。結合以上特性,本課程的教學設計除了要顧及學生的興趣,還要考慮技能基礎和個體差異。總體思路是通過深入淺出講解原理,并配合動手案例,讓學生自主揭開人工智能神秘的面紗。
根據學生的基本情況以及課程標準的要求,制定以下三維教學目標。
(1)知識與技能:掌握深度學習中全連接神經網絡、卷積神經網絡、循環神經網絡、生成對抗網絡的基本原理及基于TensorFlow 2.0的應用;掌握手寫體識別、貓狗識別、新聞文本分類、MNIST數據自動生成等實驗。
(2)過程與方法:培養動手能力,并在動手過程中加深體會深度學習的原理;培養主動觀察、思考問題、借助網絡資源,逐步形成自主學習且不斷獲取新知識新技能的能力;培養學生的創新能力、小組協作學習能力。
(3)情感態度與價值觀:提高學生的辯證思維能力,客觀認識人工智能深度學習對社會發展的影響;培養學生細致嚴謹的學習態度、不斷突破的創新精神和堅持不懈的工匠精神;通過發現問題、解決問題的過程,培養學生合作精神,提高學生的求知欲和對人工智能背后的技術的熱情。
由于《深度學習基礎》是一門“知識與技能相結合"的人工智能專業基礎課,而職業本科的學生普遍存在理解力偏弱而動手性較強的特點,所以采用“以問題為啟發、以任務為驅動、講授演練相結合”的方式進行授課。對于新提出的概念會以問題為啟發,采用啟發式教學法和演示法由淺入深,循序漸進,實例演示,學生試做,老師講評,引發思考,自主探索能力。課堂上采用4~6人為一個學習小組,按小組為單位計算“課堂表現分”,每單元結束設置小組分享,對于主動發言和提問的小組設置相應的積分獎勵。
針對《深度學習基礎》的一個教學單元,以第二章“全連接神經網絡結構“為例,對兩節課90分鐘的課程做詳細的教學過程設計如下所示。
(1)創設情景,引入新課(5分鐘)。結合先修課程《機器學習》中的線性回歸和邏輯回歸的算法原理,在黑板上畫出一些節點,請學生討論他們想象的神經網絡結構,并上臺分享。設計的目的是通過互動讓課堂“熱”起來,引出新的知識點:全連接神經網絡。
(2)講授新課(70分鐘)。這部分是課堂的重點,根據本課程的目標和重點難點,我將本單元分解為三個小教學任務及若干知識點。
任務一:深度學習的最早形態:感知機(25分鐘):知識點一:神經元。通過播放人腦生物神經元的動畫,講述生物神經元包含的基本組件和運作原理,進而引導出深度學習中“神經元”概念以及和生物神經元的對應關系,通過“擬物聯想”的方式,讓學生理解神經元。其次以數字化的計算案例講解計算過程,再抽象到公式和理論,用“歸納法”總結計算原理。知識點二:單層感知機。以二進制邏輯運算“與”和“或”為例,請學生開展小組討論并動手設計一個單層感知機來實現邏輯與或。通過動手環節,加強對神經元知識點的掌握和運用。做完邏輯與或后,再提出邏輯XOR的設計,請學生思考。通過“誤導式”教學,讓學生無解,從而體會單層感知機存在的缺陷。進而引導出解決這一問題的多層感知機。知識點三:多層感知機。當從單層上升到兩層網絡后,XOR的問題就迎刃而解。這里留下一個思考為下節課鋪墊:兩層網絡,4個節點,人工求解就已經很困難了,深度網絡機器是如何求解的?同時引出一個思政點:當你身陷囹圄,覺得的無解的時候,不妨轉換一種思路,換一個角度去看待問題,或許就豁然開朗了。人生中不要鉆牛角尖,要學會變通和轉換思維。任務一總結:感知機部分內容易理解,幫助學生建立信心。理論部分包含了深度學習中神經元的最基本操作,為學生之后的學習打好基礎。
任務二:全連接網絡求解思路(25分鐘):知識點一:全連接網絡結構。使用具體案例來說明網絡結構,以及每一層的作用和意義,化抽象為具象,讓學生理解網絡結構和正向傳播的計算原理。進而請學生分組討論,動手設計一個手寫體0-9識別的網絡結構,并分享設計的過程和思路。知識點二:損失函數。有了網絡結構后,引導學生思考,怎樣評價一個網絡的好壞? 通過舉例,讓學生歸納總結可以使用的評價網絡好壞的方法,然后老師點評,一般來說這里學生會想到用誤差來反映網絡好壞,最終引導出常用的計算誤差的方法,也就是損失函數。知識點三:參數最優化。繼續提問,既然能用誤差來反映網絡的好壞,那怎樣才能找到一個最好的網絡?引導學生思考和分享,只需使得誤差達到最小即可。進而推導出是最優化問題,可以用最優化的解法。任務二總結:“誘導式提問”的方法,啟發學生自主思考,幫助捋順思路和建立知識之間的連結。
任務三:使用tensorflow框架構建神經網絡(20分鐘):首先是老師演示,手寫代碼并逐行解釋,引導學生跟練,然后留出時間讓學生自主學習、團隊合作。最后會留一些提升的內容,讓學生做知識的遷移。任務三總結:通過實驗讓學生對所學內容進行“實例化”和“可視化”,加深對理論的理解。這里引出一個思政點:要有創新意識,突破框架,多嘗試,在實踐中檢驗真知。
(3)課堂小結(10分鐘)。課堂總結以學生為主、教師為輔,目的是培養學生養成“回頭看”的好習慣,階段性總結自己的收獲,有諸多意義:“回頭看”不僅是復習新學知識,更是引導學生建構知識結構;“說出來的才是真正懂的”,引導學生完成吸收—內化—再輸出的知識閉環過程,加深理解;鼓勵發言,培養學生表達能力和自信心。
(4)布置作業(5分鐘)。教師解讀作業要求,作業內容應源于課堂,難度略高于課堂,教師引導學生通過實踐操作和自主學習,加深對本節知識的理解。
本節課以三個教學任務為核心,采用多種教學手段,結合理論和實踐,讓學生在輕松愉快的氛圍中學習新知識,并且實踐新知識,為之后的深度學習內容打好基礎。在教學過程中,重視與學生的互動,鼓勵學生參與到課堂教學過程中,教師也要及時總結課堂情況,做好課后反思,適時調整授課內容。
說課是一種很好的備課形式,通過說課,可以讓老師之間更好地分享和碰撞思想,也能讓授課教師更好地吃透教材,提高教學理論水平,預設學習中的各種“教學事件”,反饋教學中的得失,并選擇適宜的教學方法,最終達到提升課堂教學質量、促進教學研究的目的。