張紅玉 江蘇省鹽城市亭湖高級中學
高士娟 江蘇省鹽城市實驗高級中學
曹恒來 江蘇省鹽城市教育科學研究院
“人工神經網絡”一詞是對人腦結構的比喻,其基本組成部分是人工神經元,大量的人工神經元按一定的層次結構連接起來就構建了人工神經網絡。在搭建人工神經網絡之后,還需要進行訓練,調整各特征向量的權值,找到從輸入到輸出的最佳擬合函數,然后才能正常工作。從早期的單層神經網絡到兩層神經網絡,再到深度神經網絡,人工神經網絡的結構越來越復雜,算法越來越高明,學習能力也越來越強,這既是人工神經網絡的發展歷程,也是本節課學生要經歷的問題解決過程。在這個過程中,學生能夠體驗到神經網絡強大的學習能力和適應能力,以及人工神經網絡往深度拓展的優勢,同時也能了解人工神經網絡、深度神經網絡、深度學習等基本概念的由來。
人工神經網絡是從生物神經網絡得到啟發而建立的極簡數學模型。本課的學習對象為高二年級學生,該年級學生對生物神經網絡已形成較為清晰的認知,能夠較快地遷移理解人工神經網絡中所涉及的神經元、神經網絡等相關概念,而數學知識儲備也足以支撐他們領會權值、損失等關鍵術語的含義。但是,此階段的學生在人工神經網絡的學習過程中,仍需形象思維的支持。信息時代的學生都具有一定的信息化基礎,對數字化工具的接受度較高,因此,可以借助數字化工具化抽象為具體,輔助他們理解人工神經網絡的工作原理等抽象知識。度神經網絡。
③在TensorFlow Playground上構建和訓練解決二分類問題的人工神經網絡。
①了解人工神經網絡的基本結構,知道輸入層、隱藏層和輸出層的主要功能。
②知道人工神經網絡的學習過程和基本工作原理,初步認識深
活動1:訓練基于網絡相機的吃豆子游戲。
采集樣本圖像:每個角度拍攝50張圖像。
訓練神經網絡:當loss值(損失值)顯示出來,表示訓練完成。
測試神經網絡:用頭部的上下左右動作控制吃豆人吃豆子。
小結:這種圖像識別技術的實質是圖像四分類(如圖1),其背后提供支撐的是人工神經網絡。人工神經網絡廣泛應用于圖像識別、語音識別等領域。

圖1
設計意圖:通過技術游戲導入,吸引學生的注意力,活躍課堂氣氛,同時引入該游戲背后的技術—人工神經網絡。
TensorFlow Playground是一個在線人工神經網絡演示和實驗平臺,可以用來觀察人工神經網絡是如何模仿人腦解決分類問題的,教學從簡單的二分類問題開始探究。
活動2:人工解決簡單的二分類問題。有兩組分別標注為藍色和橙色的數據點,分布在如圖2所示的平面內,每個點都具有X1和X2兩個特征。

圖2
(1)在這個空間內,怎么分開兩組數據點?(如果用直線作為分界線,那么這個問題就轉變為運用數學方法畫一條直線將坐標平面內的兩類點分開,如圖3所示)

圖3
(2)在T e n s o r F l o w Playground上,調整X1和X2的Weight(權值,即分隔線方程的系數),畫出合適的分隔線,如圖4所示。

圖4
小結:①人工神經網絡的本質是數學計算模型。②人工神經網絡的基本組成部分是人工神經元,FEATURES區域的X1、X2是輸入神經元,OUTPUT區域的黃藍色塊是輸出神經元,如圖5所示。

圖5
(3)輸入神經元與輸出神經元之間連接線的權值(以線條的粗細表示權值的絕對值)是可變參數,通過調整權值組合,可以畫出合適的分類線。
活動3:訓練單層神經網絡解決簡單二分類問題。
(1)點擊運行控制區域的Reset the network按鈕重置神經網絡,去除人工調整痕跡。
(2)點擊運行控制區域的Step按鈕逐周期地訓練神經網絡,觀察并記錄經過不同訓練周期后,人工神經網絡的權值變化情況,思考神經網絡能否一次得到合適的結果(如表1)?

表1
(3)勾選OUTPUT區域的Show test data選項,觀察神經網絡能否準確區分測試數據點。點擊數據區域的REGENERATE按鈕重置數據點的分布,觀察人工神經網絡能否解決新的同類問題(如圖6)?

圖6
(4)分析人工神經網絡畫分類線的過程,將其和人作類比,思考其是如何解決分類問題的?
小結:①這是一個只包括輸入層和輸出層的最簡單的人工神經網絡。輸入層主要負責把數據輸入到神經網絡,輸出層主要負責輸出結果,其中只有輸出層發生了計算,所以稱為單層神經網絡。②人工神經網絡需要先經過訓練,然后才能工作。訓練的過程就是人工神經網絡學習的過程,其本質是尋找最佳特征權值。
設計意圖:虛擬實驗是本課使用的主要學習方法。首先從具象化的神經網絡中,通過人工分類的鋪墊,引入神經元和權值,幫助學生理解神經網絡的本質就是計算模型,同時抽象出單層神經網絡模型。活動3是學生探索人工神經網絡工作原理的關鍵,通過記錄逐周期實驗數據,觀察人工神經網絡尋找最佳特征權值,理解人工神經網絡學習的過程。
上面搭建的單層神經網絡能對第1行第2個Exclusive or(異或)數據集進行分類嗎?如果不能,該如何解決這個問題呢?
活動4:搭建并訓練兩層神經網絡解決異或二分類問題。
(1)對單層神經網絡進行擴充,在輸入層和輸出層之間新增一個包含8個神經元的隱藏層。
(2)把鼠標浮動在單個神經元上,就可以看到該神經元代表特征的圖形化表示(如圖7)。觀察思考:①隱藏層神經元向輸出層神經元傳遞的特征與輸入層神經元的特征一致嗎?隱藏層的8個神經元所呈現的特征一樣嗎?②隱藏層神經元的主要功能是什么?(從輸入層獲取原始特征,然后加權計算后生成新特征)

圖7
(3)點擊“運行”按鈕,觀察該神經網絡在學習過程中,隱藏層的8個神經元的權值是怎么變化的(如圖8)。(經過不斷的訓練,有效神經元的權值會變大,無效神經元權值變小,即人工神經網絡不僅能生成新的特征,而且能自己學習哪些特征有效,哪些特征無效)

圖8
小結:①這里的人工神經網絡結構分為三層:輸入層、隱藏層和輸出層。因為有隱藏層和輸出層兩層神經元參與計算,所以可以被稱作兩層神經網絡(如圖9)。②隱藏層主要用來提取特征,它將上一層的輸入加權計算后構成新的特征,再向下一層輸出。

圖9
設計意圖:單層神經網絡無法對異或數據集進行分類,在輸入層和輸出層神經元不變的情況下,需要通過增加神經網絡結構的“深度”提升神經網絡的性能,從而引入“隱藏層”。通過實驗幫助學生理解隱藏層能將上一層的輸入加工轉化成新的特征,使人工神經網絡擁有特征提取能力,同時抽象出兩層神經網絡模型。
上面搭建的兩層神經網絡能對第2行第2個Spiral(螺旋)數據集進行分類嗎?如果不能,該如何解決這個問題呢?
活動5:搭建并訓練多層神經網絡解決螺旋二分類問題。請在兩層神經網絡模型的基礎上,按照如表2所示的要求,嘗試通過增加隱藏層及隱藏層神經元的個數解決螺旋數據集分類問題。兩人一組進行實驗,記錄實驗結果。

表2
小結:①具有多個隱藏層的人工神經網絡被稱作DNN(深度神經網絡)(如圖10)。深度神經網絡的特征提取能力強大,一般來說,深度神經網絡層次越深,學習能力越強。②當層次足夠深的時候,可以從其他方面來提升神經網絡的性能,激活函數在提升人工神經網絡性能方面起著至關重要的作用。③深度學習泛指包含多層隱藏層的深度神經網絡,是通過更深的結構和更智能的學習算法,達到更好的數據處理能力的機器學習方法。

圖10
設計意圖:通過控制變量法進行對比實驗。實驗1和實驗2比較具有不同隱藏層層數的神經網絡訓練的運行周期數,理解深度神經網絡的“深”的含義以及“深”的優勢;實驗2和實驗3比較使用不同激活函數神經網絡的訓練情況,了解激活函數在提升神經網絡性能方面的重要作用。
人工神經網絡的本質是數學計算模型,它的基本結構和基本原理是相對抽象、較難理解的內容。
大部分高中生缺乏相關領域的專業知識,可視化方法的運用讓人工神經網絡的數據輸入、網絡結構和結果輸出變得形象直觀,輔助學生理解人工神經網絡的相關知識和工作原理。
筆者首先以吃豆子游戲為切入點,借助圖像四分類技術游戲引入人工神經網絡技術,然后以解決簡單的二分類問題為主線,依托TensorFlow Playground平臺,設計了活動2到活動5共四個虛擬實驗,環環相扣、層層遞進,引導學生在創建人工神經網絡、測試分類效果中發現問題,進而通過調整參數、優化結構等方式解決問題,讓學生在親歷人工神經網絡的搭建、訓練、調整過程后,建構起人工神經網絡的結構模型與工作原理。學生在解決類似問題的過程中,不斷將已有經驗遷移至新的問題情境,逐步加深對相關知識的理解,進一步產生學習深度神經網絡的興趣。