學AI與學用Al其實完全是兩回事(上)

Posted by

在十年前,說到首個機會接觸人工智能技術的話,一般都是於大學課程及相關學科(例如電腦科學computer science)才有機會開展AI學習之旅。近年隨著STEM教育漸趨普及,編程(coding)、人工智能(artificial intelligence,簡稱AI)甚至元宇宙(metaverse)一眾新興潮語(buzzword)逐步入侵教育界。為免與時代脫節,近兩三年各大專院校在現有的學科架構之上積極修改或加入這些科技趨勢元素,有專攻人工智能的新學士學位課程、亦有一系列針對金融科技而設的學士及碩士課程。除此之外,更有大學把人工智能及編程內容設為每位大學生的必修課。本文希望討論的並不是大學課堂安排(雖然的確有很多想法可以跟各位討論,現在暫且先忍一下),而是中小學界這種跟着熱潮走的現況。

先定義一下學AI與學用AI是什麼。

學AI:

一切皆由起點開始,先了解AI如何誕生,其後了解進化史及演變過程。有初步認知後,便開始進入技術部分。這種「技術」亦分為兩個階段,分別為數學及編程階段。要掌握人工智能技術,數學基礎十分重要,最常用到的是統計學及微積分。統計學知識大多數在數據分析層面應用,而微積分則出現於較為複雜的演算法(algorithm)中。常見問題包括「你識唔識d/in兩次?」或「知唔知in兩次之後plot條curve代表啲咩?」等(註:d指differentiation,而in則指integration)。學好了演算法後,就開始進入編程環節。由sample dataset開始操作,一步步提升數據處理及分析技巧,再向真實世界之dataset出發。如果是mPhil或PhD的話,需要鍛鍊修改或創造演算法之能力以提升AI Engine之準確度(同時把結果發布到學術期刊)。

學用AI:

現時中小學界已把「AI課程」作為賣點。大部分較為「合理」之課程內容包括如何在某個機器學習平台中,把訓練好的AI模型之放進自己編寫的程式中成為其中一部分,坊間常用平台包括Google Teachable Machine及Microsoft Azure Cognitive Services。一般以實際應用為主,不會探究當中原理。另外有兩個極端,一方面以Python或JavaScript教授real world AI programming,包括Tensorflow、Scikit-learn及Pytorch,對象多數以高中生為主;而另一方面則用無限想像「賦予」AI全新意義,例如當感應到前方有物件,車子便停下來。有疑問嗎?對,說穿了這只是一個「if then else」的邏輯,沒什麼「intelligence」可言。

本來我都不會去深究各教育單位如何包裝自己的課程,但是近兩年實在越來越學生家長找我幫忙。RoboCode家長們應該知道,我有自己的一套教學理念及想法,在我手中成長的話,在編程及邏輯思維方面相信會比其他同齡朋友優勝。雖知道家長們就是要處理「現在」的問題,當然我為此感到高興,因為家長們都相信我才找我提供意見。但是我們要看的,並不是只「現在」,更是「未來」。

「現在」的情況如何?

在一個完整社會,不需要所有人做同一個職業,很多家長都沒有科技背景,對於什麼是AI、機器學習、或者元宇宙都不了解。他們吸收知識的來源都是以學校通告為主,其次透過學生在上課中所學到的,再回家跟父母轉述(而大部分家長都表示聽不明白)。如果你是其中一分子,別怕,這情況很常見。

教育局為了跟得上國際潮流,每年都向學校提供資助金額發展STEM教育,包括在校內設立STEM Room/ Lab、購買教學用具及邀請外界教育中心提供到校課程。在某些場合遇到ICT科老師,都會向他們了解一下最新行程,交談後都為他們感到吃力。科技發展太快,加上日常教學工作繁重,少一點教學熱誠也追不上潮流。而且大部分老師都不是讀computer science出身,要應付多種熱門的programming language(包括Python、C++、JavaScript、C#、C、還有Pascal)絕不輕鬆。期望一眾家長能應體諒這情況。

話雖如此,學校在引入興趣班到校課程亦應慎重篩選,因為教學內容及質素會直接影響本地學習文化及氛圍。

「個個都話教AI,真係個個都識AI?」

如果家長有留意近年學界之STEM比賽,「人工智能」及「元宇宙」主題隨處可見。讓我感到懊惱的是,有些比賽主辦單位沒有釐清定義便把buzzword加進主題,情況亦在興趣班課程十分常見。有趣的是,有少部分家長好像把「想學什麼」與「能力應學什麼」完全分開,六歲可否「學AI」及「寫Python」。一切都是被社會氛圍影響,因為熱潮來襲,最好是嬰兒仍在媽媽肚中還未出生就開始寫HTML。所以,「HTML for Babies」一書真的是神作(別當真)。

要學好AI,由「學用AI」開始好不好?

小學階段由「學用AI」作為起點的確不錯。因為在這階段較難明白演算法之運算原理(主要是學校還未教到相關數學部分),先了解AI模型可以放到那用,可協助解決什麼問題等,同學會較容易掌握。以下為三個學習重點:

  1. 目標(AI要解決什麼問題)
  2. 輸入數據(作為AI模型訓練之材料)
  3. 輸出結果及應用(如果放中真實系統中,提升準確度或方便性等)

在我的立場而言,還有一個重點,就是如何把一個AI系統創建出來,重中之重不是編程,而是系統運算邏輯。例如要編程電腦對手跟我玩「過三關」遊戲,看似簡單,但是同學往往說不出如何讓電腦在不同情況下跟著真人的想法去決定下一步舉動。回頭一看,人工智能的出現,不就是為了學習人類去解決一些日常生活的問題嗎?如果只會盲目地「用AI」,將來有還未碰到的情景出現,就會手足無措。這就是我一直擔心的情況。

如果家長們看到這裏,希望你可留意一下有沒有這情況發生在你的小朋友身上。事實上,並不只是STEM或編程,所有以技巧為主的課題亦有相類似情況。沒有人知道未來是怎樣,懂得變通是其中一項生存技能。

哪……「未來」又該如何準備?下回繼續。

————————————————–
Facebook: https://www.facebook.com/drjackeiwong/
Instagram: https://www.instagram.com/drjackeiwong/
YouTube: https://www.youtube.com/drjackeiwong/
Website: https://drjackeiwong.com/