鄭立剛
(廣州大學(xué)計算機(jī)學(xué)院,廣州 510006)
作為一門學(xué)科,人工智能是研究和開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新的技術(shù)。人工智能有三個支柱——大數(shù)據(jù)、計算能力和建模算法。大數(shù)據(jù)和計算能力可以看成是“硬件”,政府和企業(yè)都可以做到。建模算法可以看成是“軟件”,這涉及到人工智能中最重要的部分——機(jī)器學(xué)習(xí)人才的培養(yǎng),是需要學(xué)校來完成的。機(jī)器學(xué)習(xí)(Machine Learning,ML)是研究如何使計算機(jī)能夠模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)功能,從大量的數(shù)據(jù)中發(fā)現(xiàn)規(guī)律,提取知識,并在實踐中不斷地完善和增強(qiáng)自我,獲取知識的根本途徑,只有讓計算機(jī)系統(tǒng)具有類似人的學(xué)習(xí)能力,才可能實現(xiàn)人工智能的終極目標(biāo)。它是人工智能的核心,是使計算機(jī)具有智能的根本途徑,其應(yīng)用遍及人工智能的各個領(lǐng)域。
從計算機(jī)學(xué)科的角度看,機(jī)器學(xué)習(xí)是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計學(xué)、逼近論、凸分析、算法復(fù)雜度理論等多門學(xué)科。它涉及到許多重要的基礎(chǔ)課程,例如矩陣論,概率和統(tǒng)計,優(yōu)化和算法等。當(dāng)前許多高校開設(shè)了相關(guān)課程,但只有真正地建立課程體系,才能更好地培養(yǎng)所需要的人才。
機(jī)器學(xué)習(xí)的基礎(chǔ)課程主要涉及到矩陣、建模、優(yōu)化和算法四大內(nèi)容。我們分別就它們的關(guān)系做一個解釋。
(1)矩陣主要是為了解決數(shù)據(jù)的表示問題。不管是文本圖像還是視頻音頻,在建模過程中,一般都需要用矩陣來表示。學(xué)好線性代數(shù)和矩陣論,是學(xué)好機(jī)器學(xué)習(xí)的重要一環(huán)。大數(shù)據(jù)是我們社會的一個重大特征,如何有效地把這些數(shù)據(jù)融入模型中,高效地利用這些數(shù)據(jù),首要是需要解決好數(shù)據(jù)的表示問題。
(2)統(tǒng)計解決建模的問題。把實際問題轉(zhuǎn)換成數(shù)學(xué)問題,需要建立一個好的數(shù)學(xué)模型。幾乎所有以大數(shù)據(jù)為基礎(chǔ)的應(yīng)用,都可以建立一個基于統(tǒng)計的模型。概率論和數(shù)理統(tǒng)計等與統(tǒng)計有關(guān)的課程,為解決實際問題提供了模型依據(jù)。
(3)優(yōu)化解決模型的求解問題。有了模型之后,如何求出模型的最優(yōu)解,是一個十分關(guān)鍵的一個步驟。這需要掌握各種優(yōu)化的理論和技能。
(4)算法解決問題的程序?qū)崿F(xiàn)問題。有了數(shù)據(jù),有了好的模型,就需要好的算法,完成整個程序的設(shè)計。
從課程上看,機(jī)器學(xué)習(xí)有四大主要內(nèi)容。但是如果要提升學(xué)生的”人工智能”素養(yǎng),提升學(xué)生開發(fā)和研究機(jī)器學(xué)習(xí)算法,培養(yǎng)合格的人工智能人才,需要建立科學(xué)合理的課程體系。從內(nèi)容上來看,可以分為三大類。
一是基礎(chǔ)課程,包括概率統(tǒng)計、線性代數(shù)、數(shù)值分析、數(shù)據(jù)結(jié)構(gòu)和程序設(shè)計等。這些課程是計算機(jī)專業(yè)的基礎(chǔ)課程,很多機(jī)器學(xué)習(xí)算法涉及到這些前期的基礎(chǔ)課程。在進(jìn)行這些課程教學(xué)的過程中,由于一般很難看到這些基礎(chǔ)課程跟實際應(yīng)用問題的關(guān)系,所以對大多數(shù)學(xué)生來講,會略微枯燥,需要舉例說明有關(guān)的知識跟實際問題的關(guān)系,使得學(xué)生在學(xué)習(xí)過程中更有目的性,同時也增加了基礎(chǔ)課程的趣味性。
反轉(zhuǎn)式教學(xué)作為一種新型教學(xué)模式在教育學(xué)界產(chǎn)生了巨大的反響,它顛覆了傳統(tǒng)的教學(xué)流程,利用網(wǎng)絡(luò)信息平臺,構(gòu)建了協(xié)助化和個性化學(xué)習(xí)平臺,學(xué)生可以根據(jù)自我學(xué)習(xí)情況進(jìn)行自主安排,強(qiáng)調(diào)以學(xué)生為主體、關(guān)注學(xué)生個性特點進(jìn)而達(dá)到理想的學(xué)習(xí)效果。與傳統(tǒng)的教學(xué)模式相比,反轉(zhuǎn)式教學(xué)運用了網(wǎng)絡(luò)高科技手段,體現(xiàn)了時代特征和新課程教學(xué)特點,未來發(fā)展前景廣闊,應(yīng)用在醫(yī)學(xué)繼續(xù)教育教學(xué)中有著重要作用。
二是優(yōu)化,機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘或者模式識別等理論課程。這些課程主要強(qiáng)調(diào)基礎(chǔ)方法,基本原理,以及與基礎(chǔ)課程之間的鏈接。需要從兩個層次上對學(xué)生進(jìn)行培養(yǎng)和訓(xùn)練。一是需要學(xué)生能夠建立模型,學(xué)習(xí)解模型的能力,熟悉目前已有的各種開元工具包,并且能熟練使用這些工具包;二是需要學(xué)生能夠提建立模型,優(yōu)化模型,自己編程實現(xiàn)簡單模型的能力。這類課程將決定學(xué)生是否能夠在后期使用機(jī)器學(xué)習(xí)解決實際問題。
三是人工智能,計算機(jī)視覺和計算機(jī)語言處理等應(yīng)用性課程,熟悉應(yīng)主要的應(yīng)用領(lǐng)域有例如專家系統(tǒng)、認(rèn)知模擬、規(guī)劃和問題求解、數(shù)據(jù)挖掘、網(wǎng)絡(luò)信息服務(wù)、圖象識別、故障診斷、自然語言理解、機(jī)器人和博弈等方面的應(yīng)用知識。
人工智能發(fā)展經(jīng)歷了數(shù)十年,許多高校很早就開設(shè)了人工智能這門課程。早期的人工智能教材,基本是以介紹基本的智能算法和各種系統(tǒng),包括空間搜索、決策樹、模擬退火、數(shù)理邏輯和推理、遺傳算法和神經(jīng)網(wǎng)絡(luò)以及專家系統(tǒng)等,語言主要以LISP、Prolog等為主。經(jīng)過近10年的發(fā)展,現(xiàn)代人工智能已經(jīng)發(fā)展為大數(shù)據(jù)加深度學(xué)習(xí)的模式,通用的語言是Python。不管是學(xué)術(shù)界和工業(yè)界,機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘等技術(shù)已經(jīng)成為了人工智能事實上的核心課程。所以教學(xué)內(nèi)容必須進(jìn)行調(diào)整,以重新建立課程體系。要緊密結(jié)合實際問題,增加大數(shù)據(jù)以及深度學(xué)習(xí)相關(guān)課程。
機(jī)器學(xué)習(xí)技術(shù)已經(jīng)滲透到社會生活的方方面面,它是用來解決實際問題的,絕非華而不實。培養(yǎng)學(xué)生實踐動手能力,首先需要學(xué)生掌握基本的開發(fā)框架和工具。Python是人工智能的基礎(chǔ)語言,教育部已經(jīng)明確將Python語言的學(xué)習(xí)列入我國高中教學(xué)內(nèi)容。除了Python之外,其他的編程語言例如C++、Julia、Java和C#等當(dāng)然也非常重要。人工智能的許多應(yīng)用,已經(jīng)有了比較好的框架,例如計算機(jī)視覺OpenCV,Python的機(jī)器學(xué)習(xí)工具scipy、scikit.learn和pandas等。了解GPU數(shù)據(jù)的基本原理和應(yīng)用框架,也要了解和使用例如 TensorFlow、Caffe、Theano、PyTorch和 MXNet等深度學(xué)習(xí)框架。為了增強(qiáng)學(xué)生們對這些工具的使用,可以在開設(shè)各種基礎(chǔ)課程的學(xué)習(xí)過程中,增加一些開發(fā)工具的介紹和布置一些相關(guān)作業(yè)和課題。增加學(xué)生對開發(fā)工具的熟練程度。除開少數(shù)同學(xué)對基礎(chǔ)理論感興趣之外,大多數(shù)同學(xué)往往會覺得理論學(xué)習(xí)十分枯燥。如果在講解基本理論的同時,加強(qiáng)實驗的設(shè)計與實施,將會有不一樣的效果。學(xué)生能更好更直觀地理解相關(guān)知識。
機(jī)器學(xué)習(xí)的許多課程內(nèi)容會有一定的難度,為了讓學(xué)生能更好更直觀地理解,需要注意教學(xué)方法。除了需要講解基本理論,還要讓學(xué)生真正了解課程之間的關(guān)系。對教師,這是一個體系化教學(xué)過程;對學(xué)生這是一個體系化學(xué)習(xí)過程。課程體系是由相互聯(lián)系、相互影響的若干課程按一定的結(jié)構(gòu)組成的具有實現(xiàn)人才培養(yǎng)目標(biāo)功能的統(tǒng)一整體。
課程是由具有一定相關(guān)性的教學(xué)內(nèi)容有機(jī)結(jié)合而成的結(jié)構(gòu)體系,它是構(gòu)成課程體系的基本要素。要實現(xiàn)教學(xué)內(nèi)容和課程體系的整體優(yōu)化,就是要求從人才培養(yǎng)模式的總體設(shè)計和人才知識、能力、素質(zhì)結(jié)構(gòu)的整體走向出發(fā),合理地更新與選擇教學(xué)內(nèi)容,恰當(dāng)?shù)靥幚韮?nèi)容、以及課程之間的邏輯與結(jié)構(gòu)關(guān)系,使課程體系結(jié)構(gòu)的諸多要素達(dá)到最佳的組合與平衡,以充分發(fā)揮內(nèi)容與課程的作用,服務(wù)于人才培養(yǎng)的系統(tǒng)功能。既要包括一定的深度,也要注重課程的橫向和縱向聯(lián)系。
以“貝葉斯”為例,概率統(tǒng)計中,有貝葉斯公式,機(jī)器學(xué)習(xí)課程中有貝葉斯學(xué)習(xí),貝葉斯分類。貝葉斯模型求解過程中,還要涉及到優(yōu)化算法。在教學(xué)過程中,注意不同課程之間以及相似內(nèi)容之間的聯(lián)系和區(qū)別,將會讓學(xué)生更好地理解和消化內(nèi)容。又比如在教學(xué)概率和頻率時,幾何概率是事件測度和樣本空間測度的比值,是連續(xù)隨機(jī)變量下古典概率的求解方法。可以以圓周率和積分計算的概率求解方法為例,來講解與之有關(guān)的蒙特卡洛方法,例如MCMC或者Gibbs采樣有關(guān),講解大數(shù)定律和中心極限定理。還可以簡單講解MCMC和Gibbs采樣方法在機(jī)器學(xué)習(xí)中的價值,也可以把這部分內(nèi)容跟Markov鏈等內(nèi)容結(jié)合起來,介紹它們之間的區(qū)別和聯(lián)系。
人工智能帶來無限的遐想。一切能讓世界變得美好的技術(shù),都可能來源于人工智能。人工智能面對的實際問題,現(xiàn)實生活中的許多問題,都可以考慮采用人工智能的方法,自然語言處理、計算機(jī)視覺、語音識別、專家系統(tǒng)以及交叉領(lǐng)域等。在講解實際算法的時候,結(jié)合實際問題,分析人工智能相關(guān)技術(shù)如何在其中發(fā)揮作用,進(jìn)而抽象出數(shù)學(xué)模型,然后采取合適的算法。人工智能雖然在深度學(xué)習(xí)領(lǐng)域中取得了很大的進(jìn)展,可是對于那些人類獨有的情感、感知等領(lǐng)域卻一籌莫展,擁有人類的情感是人工智能最難突破的地方。對于那些目前還是比較難以解決的人工智能問題,可以分析其中的難點,對學(xué)生進(jìn)行引導(dǎo),給他們指明努力的方向??梢酝ㄟ^介紹各種開源人工智能工具包CNTK、OpenAI人工智能工具包,引導(dǎo)學(xué)生開發(fā)實際技術(shù)。
機(jī)器學(xué)習(xí)技術(shù)作為人工智能技術(shù)的核心技術(shù),受到了眾多高校的高度重視。本文從新時代下人工智能發(fā)展的實際需要出發(fā),就應(yīng)用型人才培養(yǎng)和課程體系建設(shè)進(jìn)行一些思考。機(jī)器學(xué)習(xí)是人工智能研究的核心問題之一,也是當(dāng)前人工智能研究的一個熱門方向,同時也是人工智能理論研究和實際應(yīng)用的主要瓶頸之一。
目前,機(jī)器學(xué)習(xí)自身的發(fā)展非常快,是新思想、新觀點、新理論和新技術(shù)不斷涌現(xiàn)的一個學(xué)科。機(jī)器學(xué)習(xí)課程需要與時俱進(jìn),課程內(nèi)容既需要保留傳統(tǒng)經(jīng)典的理論和方法,又要適當(dāng)涵蓋當(dāng)前最新技術(shù)和應(yīng)用。站在教師的立場,培養(yǎng)順應(yīng)國家需要的人才是我們的神圣使命。