文/呂聖泰、蔡孟辰、翁子涵
前言
AI這個話題,近幾年來一直很熱門,相信未來幾年也是,大家也都時不時地討論著,若您是一位K12(泛指小學到高中)的老師或是家長,想在課堂上或是親子互動中來說說這主題,那麼您可以參考這個「我的第一堂AI課」。
在這近五年的教師研習當中,從創客教育,STEM,STEAM,一直到STREAM(Science, Technology, Reading, Engineering, Art, and Mathematics)、AI、AIoT……,在這些研習上,我常舉例,假如我明天就要上台教這堂(AI)課程,那麼我要怎麼教?我該準備什麼?我該教什麼?因此第一個轉念就很重要,如果你只是在思考要不要教,那就會有放棄的念頭與不想教的理由。正因為萬事起頭難(在物理課中,我們知道要推動一個物體使他能運動,需先克服最大靜摩擦力),因此,只要你願意先克服內心的最大靜摩擦力,願意明天上台教課,那麼接下來的一切,都將迎刃而解了。我們這就來看看,這第一堂AI課可以怎麼講。
課堂上的第一句話
我一直認為興趣是最好的學習導師,因此我會希望第一堂課的主要目的是讓學生覺得有趣,好玩以及深刻的印象,並且會期待下一堂的課程,因此我會準備一些跟AI相關的素材(包含影片,科技文章剪報,時勢話題…等)各領域都有,然後來跟同學們互動及討論,藉由這些不同領域的素材來看看學生的反應,也可了解到學生們對於哪一些類別及領域會更有興趣。當然老師可以找跟自己專業領域接近的AI應用案例(Google與Youtube還是很方便能搜到的),再來分析這些素材裡面,會用到的技術或是簡單的原理,並且將它跟目前的學科知識做一些關聯性的說明與分析。在這階段我想讓學生知道一件事,平時課堂的知識學習不止是應用在考試,而是無所不在的與生活相結合在一起,只是大家沒有去想到與關聯思考而已。
以下便例舉一些關鍵字,可以在Youtube上搜尋到的一些相關短片。
例如:「波士頓動力ATLAS」,「人工智慧(十三分鐘略懂AI)」,「KUKA(Timo Boll vs. KUKA Robot)」,「微軟小冰」,「Amazon Aliexa」。
綜合上述的這些素材影片,有一個共通點,那便是在AI的範籌內,機器學習與程式設計都是含概的元素之一,因此在接下要討論到的,就是Coding了。
開始教Coding
很多老師看到這,似乎又卡關了,不多說,下面有兩個網站連接,可以直接來試試看。
http://blockly.games
http://code.org
圖形化的編程,已經跟早期的代碼程式設計不一樣了,如今的編程學習好玩又有趣,如同闖關遊戲,是不是對於明天也能教程式設計的目標,又更進一步了呢。
其實在這兩個程式設計的闖關遊戲裡面,大部份的學生都可以順利的進行,但是真正的教學重點是那些過不了關的孩子怎麼辦?如何協助他們,在這個部份,老師可以先觀察孩子們的學習狀況,給予從旁協助與提示即可,千萬別直接告訴答案。例如:
圖1. Blockly Games 迷宮第5關
一般這種狀況,學生大多是對於積木程式塊還不大理解,因此可用下列方式引導,我會用補充說明來提示學生。
重複執行(綠色)的積木塊的功能,放在裡面,將表示要一直做,重複做;放在外面的程式塊,則是只做一次。
第二種方法(適用各種狀況):我請學生試著敍述他的程式命令。
我也會告訴學生,如果我是電腦,看到他給我的指令,我會去做:往前直走一步,往前直走一步,向左轉,然後一直重複向左轉(根據圖1的程式語言命令)。然後再來跟學生討論這如果不是他的意思,那麼他要如何表述呢?其實在這一段,可以不單是邏輯思維的訓練,還包含了思緒表達。寫程式不用急,慢慢去思考與表達更為重要,而在每一次的過關上,都能找到成就感與學習自信。過關可以很快,但有時慢下來,好好感受當下的思緒,將他記錄寫下,不但能提升寫作能力,更會發現到不一樣的教與學的微妙互動。
在AI的領域當中,程式設計與數學,是不可或缺的基礎知識,因此在這部分老師可以依照學生的程度給予適當的鼓勵,並支持他們往有興趣的領域去多研究與了解,同時讓學生們知道,語文(作文)跟數學是跟AI有關的。想學好AI,平時的課也要好好的學習的。
希望這一段的介紹能夠讓所有的老師,激起你的興趣,強化你的信心,願意來帶領AI的教學課程。
教AI的好工具
在創客教育或STEAM教育的普及與推廣下,Arduino這類的硬體設備與很多的Sensor(傳感器),因應而生,軟硬結合的控制與應用開始慢慢的走進課堂,也讓這類的課程,更加有趣。並且也有很多相對應的比賽或活動,為師生們提供一個交流與互動的平台。然而如何在這近三至五年之間,把原來的STEAM教育(或是創客教育)往上升級到與AI課程相結合,我們接下來介紹一下這個AI影像視覺感測鏡頭,「Pixetto」。
Pixetto的教學平台擁有適用於各種程度的教學案例並簡化AI及機器學習課程中最難的部分,適用於各學齡段的教學場景。
http://Pixetto.ai 入門官網(基礎)
http://learn.pixetto.ai 開發者指南(進階)
圖2. Pixetto 圖片
表1. Pixetto Specifications
圖3. Pixetto 各部說明圖
表2. Pixetto視覺感測器內建應用模型
AI顏色識別
一、可先至官網的《軟體&文件》下載《Pixetto軟體套件》並安裝軟體。
二、將Pixetto鏡頭與電腦連接。(目前僅支持Windows 10 以上作業系統)
三、安裝好軟體後,執行『Pixetto Startup』/『Pixetto Utility』。
四、軟體啟動後,可在右邊的功能選項,找到下拉選單,選取『顏色偵測』。
再往下的顏色區域,會有六個顏色可供選擇,可任意勾選顏色,完成後選擇『套用』,此時Pixetto若偵測到畫面中有你所選的顏色,就會出現綠色框,表示鏡頭已能識別你所設定的顏色了。(如下圖)
圖4. Pixetto Utility 軟體操做界面
上述的一連串動作,代表什麼意思呢?其實我們剛剛在做一件事,就是訓練這個AI鏡頭能夠看得懂你所指定的顏色(紅,藍,黃,紫,綠),且最多可以同時辨別畫面中的5種顏色(畫面中沒有紫色物品,所以只呈現4個認識的顏色物品)。那麼訓練Pixetto能看得懂顏色後能做什麼呢?接下來我們可以來做個簡易的變色龍應用,也就是在自然界中,變色龍會因環境不同,把自己身體也變成環境的顏色,達到自我保護。因此在這個課程範例中,簡單的邏輯就是:當鏡頭看到某顏色的物體,就會把螢幕上的變色龍圖案,變成相對應的顏色了。
關於變色龍的詳細教程,可參考下列連結:(第一次入門的初學者)
https://pixetto.ai/tw/2020/07/learn-how-to-create-a-color-changing-chameleon-tw/
下列這個連結是結合Arduino硬體的變色龍應用教學範例(適合已懂Arduino的人)
http://www.circuspi.com/index.php/2021/06/10/pixetto-led-arduino/
延伸思考一:自動控制,能依照明確指令描述及設定好的條件,完成預期結果。例如車子的定速行駛功能(設定好時速後,車子能在定速下自動行駛),但是當要減速時需要我們去踩剎車才行。因為要判斷剎車(減速)的條件太多,太複雜,難以一個個用明確指令來描述,即使描述完成(也會有大量的條件敍述),此時要達到預期結果,這中間的程式運行時間也相當耗時,並不能短時反應,達到實際的場景應用要求。而AI可以做到更快速、更複雜的判斷,使用演算法加上機器訓練,就可以推論出預期結果,以達到自動減速或偏向閃避等自動控制。
延伸思考二:現在的無人自駕車愈來愈先進與普及,其中自駕車在路上行走,若能辨別紅,綠顏色,那麼也就能看得懂紅綠燈了。因此我們在做AI鏡頭訓練時,把顏色訓練模型,只訓練看得懂紅色跟綠色就好,就可以讓自駕車,自動的分辨在什麼樣的條件下,車子能前進及停止。簡易說:如果看到紅燈時,執行車子停止;如果看到綠燈時,執行車子前進。
圖5. 表2神經網路模型檢測應用
在教學的過程中,老師不需急著把功能(表2)的部份一個一個的跟學生做解釋與說明,而是在使用一個訓練模型後,做較深入的探討與延伸思考,讓學生們多去關注生活周圍,看看有那些地方與今天教的顏色識別模型有關。
課堂分析
如果您是有創客(或STEAM)教學經驗,S4A(Scratch for Arduino)軟硬體都熟悉的老師,Pixetto鏡頭可以協助您,將AI的模型訓練跟深度學習的概念與應用,融入原本的課堂,讓AI的元素與之前的課程相結合,做更高階的延伸應用。我們把剛剛的課程做個回顧與整理,在Pixetto Utility訓練模型中,當你按下「套用」的時候,意思就是把你訓練好的模型,儲存(上傳)在Pixetto鏡頭上。接下來就可以將鏡頭與其它的硬體設備相連結(例如:Arduino, Micro:bit, Raspberry Pi)。當然除了目前提供的十六種AI模型之外,老師也可以教學生,自行拍攝影片或者提供照片,做自己想要的AI訓練。
圖6. 表2車道偵測應用,筆電畫面的路旁兩邊,有綠色偵測線
如果您是第一次嘗試了解AI課程的老師(但還不會Codeing),Pixetto一樣適合您做課堂應用與教學的,如同在Utility軟體中,我們己把AI應用的演算法都寫好了,使用者只需勾選需要的功能與條件,就可以把鏡頭訓練好。接下來就可以用此範例,去講解很多的AI應用場景與原理了。
今年,新北市三民高中蔡孟辰老師,在新北市福和國中,將AI影像識別技術,融入教學設計,帶領學生創作AI新住民文化課堂,讓學生應用AI演算法,將東南亞國家的不同特徵與特色,上傳至雲端做機器學習,之後將訓練好的模型,套用在自動控制的條件判斷中,判斷輸送帶上的物品特徵,達到自動分類的結果。
圖7. 學生將訓練好的AI模型程式積木塊,套入程式中。
台師大研究生-翁子涵老師,在宜蘭三星國中指導學生,創作AI原住民創新課堂透過Machine Lerning,讓AI鏡頭識別不同部落的圖騰後,可將貨物送到對應的部落電梯樓層。
圖8. 翁子涵老師教學現場與學生及作品
結語
有的老師會問我,如果學生提的問題連我們自己都不會回答,那怎麼辦?
像這類的專題與項目學習為導向的課程,已經跟以往的專科領域課程有所不同了,如同STEAM課堂,一開始很多老師誤以為要學會與具備這五項專業,才有辦法開始教學,其實我們細想,這五個專項領域,學生本來就會依照不同年齡的階段,一直學習,老師扮演的主要角色,是引導學生。因此當學生問出我也不懂的問題時,我會帶著學生去尋找這個問題的答案(又或者說,我會告訴學生,我將如何去尋找這個答案)。例如,我們可以先利用網路搜尋的方式,去查找相關的說明,再不然我會跟學生說,下一堂課老師再來回答你這個問題。在這樣的綜合型課程中,其實都是跨領域的,也因為這樣讓很多的老師會卻步,但我覺得現在的科技進步,知識的取得也更為方便與多管道,已經不同以往。所以教學的方式,我覺得也在快速的改變當中,當下教育已不像以往的知識灌輸,而是帶領學生,引導他們去找到自己的興趣與目標,而在這過程中,遇到問題與挫折時,該怎麼去面對並且去解決它,這才是我的教學目的。
最後引用《小王子》作者,聖修伯里的這本書的一段話,做為結尾:
If you want to build a ship, don't drum up people to collect wood and don't assign them tasks and work, but rather long for the endless immensity of sea.
如果你想要打造一艘船,不是先請大家去收集木材,或是分配工作與發號施令。相反地,你應該先激起所有人對浩瀚海洋的一片渴望。