PAIA迷宮車

第一節課

下載與安裝程式

教師說明PAIA是透過遊戲競技場來學習「人工智慧」,先介紹官方網站,再到台南市程式設計教學網站,下載桌面板程式,告知學生為了將來多人競賽,請注意版本,本次採用2.4.1版本,不能更新,否外無法多人對戰。

安裝程式並開啟,並說明注意事項,強調如何開啟資料夾及載入資料夾。             

安裝主程式並開啟

自動訓練模式程式說明

開始玩遊戲訓練車子

自動訓練程式磚塊說明與訓練

教師明開啟程式分為兩種,因文字種式python沒有教過,等將來高中時再回來看,開驅磚塊模式,聲讓學生在不修改任何設定下直接玩遊戲進行訓練,開啟操作資料夾,產生感測器轉速兩個資料檔。

開始說明程式,首先說明剛看到的是第一筆資料,它是呼叫函式積木產生的,它的變數為資料計數開始設為1,接下來要訓練請改為2,如果不更改資料1會被新資料取代。

教學生如何讀輪子的轉速知道左右轉,並特別說明後退為什麼不是直線後退,必需向左或向右後退,其原因為如果直線後退感測器讀到的值就會直線再前進,一直前進後退就會無退循環

教授學生自動訓練,要給簡單規則,本次採用先循左邊牆壁,再循右邊牆的規則前進。同學可以自行更感測器感測的距離,進行第2次第3次遊遊戲,接著再更改關卡。

最後介紹AlphaGo,也是透過不斷的自我強化式學習,按規則自我學習開始非常慢,但每天不斷的學習一年365天,一天24小時不斷的學習改進,幾天後就會勝過人工訓練出來的人工智慧模型,例如AlphaGo的原型訓練一陣子就勝過深藍電腦可惜paia迷宮車按規則自動動訓練無強化功能,所以好像是按程式設計在前進,所以訓練出的自駕模型不一定比手動訓練的模型好。

第二節課

手動程式訓練並查看收集的資料

載入上次自動訓練資料檔,開啟第二個程式人工訓練(manual),教師解說程式,並請同學開啟應用資料夾,解說上次訓練的資料檔,學需記好序號,這些是自動訓練模式產出的資料檔,勾選程式副檔名觀看副檔名為pickle,解說這個python內建的模組產出的檔(序列化),只有電腦看得檔,最主要是將資料最小化傳輸方便,人類看不懂,如果要看得懂必需存成csv檔。第二程式我們開啟積木產生csv檔,看一看我們存了那些資料來訓練模型。

載入上次自動訓練資料

開啟手動訓練模式

程式說明利用程式產生csv檔

解說資料檔

開啟csv資料檔,可以看到特徵檔依順記錄五個感測器的數值,前面兩筆皆為-1,因為是訓練開始的資料,無法及時手動控制,為無效資料,在產生自駕車模型,會把它排除。接著觀看目的檔,記錄左、右輪的轉速,請同學觀看左右輪只有幾種狀況,同學能觀察出5種,教師解說,PAIA迷宮車只要簡易的AI系統,它依序號記錄感測器數值,再依序號產生左右輪的速度,但輪子的速度只有左、右轉,前進、後退及自動前進五種,回到程式磚塊,教師解說輪子為什麼只有5種速度。

最後以alphogo影片為例,解說強化式學習。PAIA自動學習模式,沒有強化式學習的功能,每次只記錄感測器特徴值,如果可以記錄其特徴值多一個輸入入變項,例如位置或時間及檢查點效果會更好,或許多一點特徴值就可變成強化式機器學習。


第三節課

四個程式解說

      教師解說PAIA的遊戲都有4種模式,前面我們已經操作過的程式1為自動訓練模式,程式2為手動訓練模式,兩個程式最重要的是取得訓練資料,當訓練的資料是好的就保留,不好就覆蓋過去,特別注意資料計數是否要更改,如果忘記更改把好的資料覆蓋掉,無法重新取回。程式3為產生模型檔,將程式1和2產生的資料放進AI演算法產生模型,此程式可決定放幾筆資料?放那些幾資料?還有要用那種AI演算法(k-最近鄰居,決策樹.....)?並可微調演算法的參數,開始執行程式產生模型檔。

學生在執行後產生錯誤,通常是資料給錯(使用者沒有該筆資料),不是資料不足,就是資料未連續。

下載已訓練好的資料,並載入

教師解說程式1程式2的功能

程式3產生錯誤訊息,教師解說

程式4自駕模式

          程式4為自駕模式,學生於程式3產生模型檔時,請學生不要更改模型檔的名字,開啟程式4開執玩遊戲就會進入自駕模式,教師在示範時,舉起雙手,說明現在為自駕模式,教師端沒有控制,當車子順利走到終點,請學生打開資料夾位置,更名模型檔為model-g1,如果無法通過,可以更到模型3更改放入的資料檔或AI選算法,再產生的模型檔,將舊的檔案覆蓋,到程式4自駕玩遊戲,是否可以順利通過,如能順利通過就將模型檔更名,如還不能過關,建議從第2關再建立資料,執行程式3,自駕程式4周而復始直到過關。

          告知學生下次要多人競賽,比賽的結果作為成績的依據,剛才的操作只要經典迷宮的第1關,上課時將關決定輸贏,請學生必需訓練到第3關,比賽的規則為先比過的關數,再比過的速度。

第四節課

確認模型檔效果

學生將上次訓練好的模型檔下載並載入,打開程式4先自駕1次,如果第1~3關都能到報終點的同學,不用再更改,可測試其它的遊戲,若無法通過檢驗的同學,開啟程式2手動訓練,取得新資料,本次訓練只有10分鐘,同學們只要第1~3關每筆資料含兩次訓練過程,每關產生兩筆資料,共6筆資料,接著打開程式3訓練模型,打開程式4測試自駕,如果效果比較好,將公共資料夾的模型檔刪除,重新上傳模型檔。

更改AI演算法

講解多人競賽模組原理

解說多人競賽模組

解說自駕模式

教師解說自駕程式的執行方式是,先讓車子移動1點時間,取得感測器特徴值,再呼叫模型檔,將特徴值數值放入模型檔演算,得到車輪速度後再傳回自駕程式,決定車子要前進、後退、左轉及右轉

多人競賽模組

教學生如何開啟多人PK模組,此程式與主程式必需放在同一資夾,開啟程式後指定資料夾,資料夾裏面含選手資料夾,每個選手除了模型檔,需從程式4下載自駕程式,此檔案為python檔,python為文字程式設計語言,九年級時才會學習,同學先下載放到資料夾即可。


多人競賽開始

開始將學生亂數分組,下載共用資料夾,逐一檢查個人資夾是否含所需兩個檔案,開始經典迷宮1比賽,同學熱烈又加油,很快就有前兩名到報終點,但大部份的同學未到達終點,記錄名次作為給分的依據。每組取前兩名進行複賽,第2關過關的只剩兩位同學,再進行第3關及第4關到第5關所有班級都闖關失敗。

同學如果有興趣可以把桌面版程式放到雲端,回家好好訓練,有空時再較量。

VID20230615115523.mp4
VID20230615115938.mp4

節課

自制迷宮

示範開啟地圖檔案資料夾,請學生依照步驟開啟,教師介紹地圖有三種經典迷宮、移動迷宮及小試身手。參加校外競賽迷宮地圖由主辦單位提供自制地圖。所以地圖是可以自己建構,建構完地圖,請同學用手動訓練是否可以過關,如果連手動都無法過關,表示所建置的地圖無法使用,需加以修改。

安裝程式

開啟程式

設計迷宮

安裝及啟動程式

教師提醒學生安裝只要會點next即可以,如果什麼都沒改最後按確定就可以起動程式,啟動程式教師說明程式介面的功能,學生開啟新地圖繪制即可啟用,啟用完介面功能如果不完整,請開啟檢視勾選所需

繪制地圖並匯入資料夾

教師說明繪制地圖應注意事項,例圖塊像素、匯入圖塊時記得勾選在地圖上使用。再說明圖塊的意義,迷宮地地圖需包含1個目標,1車子起點,及2~3個檢查點,最後就開始設計磚塊位置,磚塊放置需遵守至少中間空3格,如果設計容易過關的迷宮請空5格。

設計完開始存檔,教師示範存檔,叮嚀學生務必存成.json資料交換檔,此處只能手動輸入檔名(包括.json),請學生務必專心不可打錯。

將檔案複制到地圖資料夾(教師示範要慢一點),教師說明PAIA程式只認識三種迷宮格式,請同學將檔名更改為經典迷宮6。開啟程式2進行手動訓練,開始遊戲,選擇經典迷宮6,就可以看到自制地圖。

學生經過一翻操作,開遊玩遊戲看到自制地圖都覺得很有成就感,教師告知學生,設計優良的地圖,老師會保留下來,作為學弟妹的競賽地圖。

第五節課

測試自制迷宮

學生打開程式2,選擇自制迷宮(經典6),開始手動訓練,教師觀察學生操作,有些學生地圖走道設計太窄自走車無法通過,教師開啟該學生視窗,示範遇到種狀況需修改,修改需開啟專用繪圖程式,匯入所繪制地圖,匯入後因路徑關係會找不到範例圖塊,所以必需重新匯入圖塊,修改完再將檔案上傳並修改檔案名稱後,重新取得訓練資料,如沒有問題打開程式3產生模型,再打開程式4自駕測試是否可以到達終點,如此周需復始的修改就能產生一個好的競賽地圖,本次因時間關係,只讓學生熟悉迷宮制作流程。

繳交地圖後,請學生觀看AI相關書籍,作為本學生度AI計劃程的結尾,並說明如果對AI書籍有興趣,可以到圖書館借閱。

AI計劃購置相關書籍

適合剛接觸AI的初階書籍二本

AI的科普書籍一本

國中生看的AI書籍五本

適合高中生的AI書籍一本

教師進修書籍一本

學生認識本校AI書籍