WFU

2021年1月8日 星期五

跨領域學習: 以教育所的機器學習課程為例




作者:魏群樹

我在剛進入交大任教時,得到了在教育研究所開設機器學習課程的機會。交大教育研究所屬於人文社會學院,課程名為「機器學習在教育上的應用」。我本身的教育背景是電機資訊和生醫工程,對於教導教育所的學生機器學習這項任務喜憂參半。喜的是能將自己有興趣的知識推廣給學生,同時對跨領域的課堂討論感到期待,憂的是擔心有部分的同學接觸離自身背景太遠的內容會吸收不易而喪失興趣,嚴重考驗第一次授課的新手。 

關於教育所機器學習的課程目標,其實可以區分為兩種方向,首先是考慮教育領域研究人員如何應用機器學習,另外是考慮教育工作者如何應用機器學習。教育所的學生是碩博士研究生,需要進行研究完成論文,因此機器學習最立即的用途是能夠幫助研究上的資料分析,除了一般常用的統計分析以外,可以加入機器學習模型來將資料的價值發揮到另一個層次。另外,大多數教育所研究生的職涯規劃是成為教育工作者,通常是學校老師,因此最在意的是如何在教育工作上使用機器學習。為了符合課程名稱和同學期待,在規劃期末專題時,我請學生提出的題目必須與教育上的應用有關,大致上的範疇包括在提升學習成效上的應用以及在學習科技上的應用。 

學習成效:幫助學生學習始終是教育的重要目標,機器學習在這個面向可以處理幾種和學習成效有關的問題,例如透過學生平常的學期情況,藉由資料的收集,利用機器學習建立一個模型能依照學生過去到目前的學習情況,預測後續的學習成效像是考試成績等。具體的例子像是以高中學生的在校平時成績預測學測成績,或是在課程開始之前利用自我評估的學習動機問卷預測課程結束後學生測驗的成績。隨著科技進步,教學單位的資料收集的量和型態都越來越多,透過不同面向的大數據累積,或許未來就能利用機器學習的預測模型提醒師生應適時注意學習狀況,即時察覺學生學習上遭遇到的困難和挑戰,以適當的方式予以關心或介入。同時,在學習成效預測方面的應用成效也很有可能取決於資料收集的多樣性和全面性。傳統上對於學生學習情況的追蹤,往往仰賴作業、小考等分數上的紀錄,至多包含像是出席率等傳統教學情況紀錄。但隨著教學科技進步,許多學校採用線上教學平台,將大量學習資料數位化,也方便了各種學習情況的掌握。利用線上教學平台,可以輕易掌握學生花費多少時間在線上吸收課程、用多少時間寫作業、在什麼時間學習等比較細微的資訊,這些資料都很有可能提升機器學習模型的效能和預測上的準確性。 

學習科技:近年來,深度學習的發展將人工智慧(AI)的效能帶入了另一層境界,在電腦視覺、語音辨識、語言處理上效能皆有大幅提升,當這些科技融入在人與人和人與外界的互動上,學習這件事情自然也能受益於這些科技。例如Siri、Alexa這類型的對話軟體,可以做為虛擬的外語老師,幫助會話練習(https://www.core-corner.com/Web/Main.php?stat=a_nFmkoFY)。將人工智慧與虛擬實境(VR)或增強實境(AR),可將許多訓練課程透過AR/VR的虛擬教練來帶領學生學習,例如在醫學系的大體解剖課程,透過AR讓學生更有效率的了解身體構造,也能不斷嘗試各種解剖練習(https://www.youtube.com/watch?v=kNxerryX0Jw)。此外,人工智慧在有限範疇內的遊戲上能力往往能夠超越人類,近期最著名的AI與人類的能力競賽莫過於DeepMind開發的AlphaGo對李世乭的圍棋對決(https://en.wikipedia.org/wiki/AlphaGo_versus_Lee_Sedol),連戰五局中AlphaGo以四勝擊敗當時公認的最強棋手之一李世乭,除了在社會上對於人工智慧的能力感到震撼以外,對於全球圍棋界也造成了根本上的巨變。短短幾年不到,今天的棋手在訓練學習的過程會借助圍棋AI進行大量對戰練習,有天份的棋手更容易取得速度快幅度又大的進步(https://technews.tw/2020/05/22/ai-three-types-of-drl/)。 

因為相信在不久的未來,機器學習能廣泛地被應用在教育領域中,為了讓學生經過這門課之後能夠自己實際使用機器學習,並且能透過包羅萬象的線上資源持續自學精進,必須要讓學生掌握基本的Python程式能力來使用機器學習相關工具。在教育所的協助下,這門大約20名修課學生的課另外聘請了兩名資工和數學背景的助教,在學期剛開始就先以Python程式教學拉開序幕,並對於每次作業提供額外的提示教學。經過一個學期的學習,許多同學確實能感受到學習機器學習帶來的好處,開始能將課堂上學到的觀念和方法帶入自己的研究中,將收集到的資料用來訓練模型,對特定的變量進行預測或是解析資料本身的性質和特點。然而,跨領域學習也時常出現各種挑戰。由於學生背景多半與機器學習沒有太大關聯,而且缺乏程式編寫的經驗,面對需要編寫Python的作業時比較吃力。尤其是面對程式除錯(debug),連許多工程領域的學生都感到戒慎恐懼,確實有部分同學因為寫程式而感到學習壓力,所幸最終大部分同學都掌握到用Python操作機器學習工具的技能。 

後續我也進行了一些反思,所謂的跨領域學習,究竟是要讓一個人發展出多方面的能力,還是應該讓一個人以能夠和不同領域專長的人合作為主要目標。直覺上,我們可以假設一個人越具備不同領域的能力,在學習上加深加廣,越能幫助和不同領域的人合作。加深加廣正是我的線性代數老師陳永平教授不斷強調的一項學習原則。但是一個人的心力和時間畢竟是有限的,好的跨域學習應該需要以極高效率掌握不同領域的核心概念。以「機器學習在教育上的應用」這門課為例,我發現學生在觀念上的學習十分流暢,也能共鳴出許多想法,最大的阻礙是來自工具的操作,也就是在機器學習程式編寫上學習門檻較高,畢竟程式的編寫不光只是能讀懂語法,同時也要有基本的電腦理論基礎(計算機概論),才有可能順利寫出自己的程式並進行除錯。另外,在教學的過程中,我不斷地提醒同學利用線上資源自學,因為在變遷步調極快的現代社會,許多當下所需要的能力和技術可能很快的不再是未來社會所需要。十年前當我還是碩班生時,最常用Matlab程式語言和R語言做機器學習。短短幾年的時間內Python異軍突起,夾帶著免費、更新迅速等優勢,新的機器學習方法幾乎都是在Python上面開發。但這並不代表我過去培養的能力沒有用了,因程式和機器學習的知識和觀念一直都在。雖然我為了跟上時代,曾經不得不花費數週的時間熟悉Python語法,然而一旦掌握了新工具,就能再度趕上潮流,視野也更開拓了一些。或許跨領域學習的關鍵,在於掌握一種學習新技能的能力,面對陌生的事物,利用不同領域間核心概念上的共通點,以開放的思維和積極的態度去面對,自然而然就消弭了領域間的隔閡,讓跨領域學習就只是學習。 



 © 魏群樹,保留所有權利。歡迎分享本文連結,但全文轉載請事先來信詢問。