許曉飛, 米 潔, 陳雯柏
(1. 北京信息科技大學(xué) 自動化學(xué)院, 北京 100192; 2. 北京信息科技大學(xué) 教務(wù)處, 北京 100192)
人工智能(AI)技術(shù)快速發(fā)展對人類社會的各行業(yè)都引起了深遠(yuǎn)廣泛的影響,如在深度神經(jīng)網(wǎng)絡(luò)的廣泛應(yīng)用、腦科學(xué)研究的不斷進(jìn)步與突破,在大數(shù)據(jù)、云計(jì)算等相關(guān)技術(shù)的支撐下,人工智能技術(shù)被快速地應(yīng)用到農(nóng)業(yè)、醫(yī)療、教育、能源、國防等諸多領(lǐng)域。許多國家都制定針對性的國家人工智能研發(fā)戰(zhàn)略規(guī)劃,社會急劇增加的人才需求倒逼人工智能類專業(yè)人才培養(yǎng)教育模式必須改變。北京大學(xué)賈積有教授認(rèn)為人工智能教育是在以計(jì)算機(jī)為代表的人造機(jī)器上實(shí)現(xiàn)的人類教育[1]。面對人工智能重要挑戰(zhàn),作為人工智能類專業(yè)的教育工作者創(chuàng)造特定機(jī)器實(shí)現(xiàn)智能教育平臺,并在此之上開展創(chuàng)新實(shí)踐教學(xué)工作符合人工智能科學(xué)技術(shù)發(fā)展規(guī)律,將強(qiáng)化人工智能方面的人才培養(yǎng)[2-4]。
本文深度總結(jié)十幾年來我校智能科學(xué)與技術(shù)專業(yè)建設(shè)經(jīng)驗(yàn)[5],主動解析提升人工智能類的本科教育人才培養(yǎng)內(nèi)涵、關(guān)鍵技術(shù)及應(yīng)用趨勢等,提出以構(gòu)建人工智能視域下典型內(nèi)核算法應(yīng)用的協(xié)同過濾推薦系統(tǒng)為工程綜合創(chuàng)新實(shí)踐教學(xué)平臺[6],針對學(xué)生學(xué)習(xí)智能專業(yè)課程中存在對復(fù)雜工程抽象理論理解困境,以及編寫應(yīng)用智能算法的畏難情緒,進(jìn)行教學(xué)實(shí)踐項(xiàng)目階梯式的設(shè)計(jì),使教師和學(xué)生可以從單一、繁重的機(jī)械性勞動中“解放”出來,把注意的中心放到創(chuàng)造性工作上去;智能系統(tǒng)的后臺推薦部分以及深度學(xué)習(xí)都比較抽象,卻是重要且偏重實(shí)際應(yīng)用的算法,涉及編程語言平臺及運(yùn)行環(huán)境也較多,學(xué)生學(xué)習(xí)較為困難; 而通過增加采用攝像頭實(shí)時獲取樣本數(shù)據(jù)的視覺部分、結(jié)合簡易機(jī)械臂移動部分,基于分揀物品的圖片或用戶臉部信息識別的智能數(shù)據(jù)推薦系統(tǒng)設(shè)計(jì),這樣一體化平臺可以幫助學(xué)生直觀獲取到深度學(xué)習(xí)算法應(yīng)用的過程及結(jié)果,從而實(shí)現(xiàn)在教學(xué)過程中能致力于培養(yǎng)學(xué)生的創(chuàng)新意識、創(chuàng)新能力及實(shí)踐能力[7]。
人工智能的快速發(fā)展作為人工智能工程類本科生培養(yǎng)方案中,涉及專業(yè)課程內(nèi)容如知識的表示方法、機(jī)器學(xué)習(xí)與深度學(xué)習(xí)、自然語言處理、智能代理、情感計(jì)算等方面,其應(yīng)用與發(fā)展趨勢集中在智能導(dǎo)師與助手、智能測評、學(xué)習(xí)伙伴、數(shù)據(jù)挖掘與學(xué)習(xí)分析等領(lǐng)域[4],這些專業(yè)課程要求能夠融會貫通的關(guān)鍵技術(shù)內(nèi)容簡介如下:
(1) 知識表示方法。作為人工智能和信息融合的核心技術(shù)之一的知識表示,有早期的一階謂詞邏輯表示法、產(chǎn)生式表示法、框架表示法以及現(xiàn)在的神經(jīng)網(wǎng)絡(luò)知識表示法等。
(2) 機(jī)器學(xué)習(xí)與深度學(xué)習(xí)。作為人工智能研究的一個核心領(lǐng)域的機(jī)器學(xué)習(xí),在1997年Tom M. Mitchell在《Machine 2 Learning》中提出機(jī)器學(xué)習(xí)理論的經(jīng)典定義,“計(jì)算機(jī)可以有通過學(xué)習(xí)從而不斷進(jìn)化的行為”; 如深度學(xué)習(xí)通過建立類似于人腦的分層模型結(jié)構(gòu),輸入數(shù)據(jù)逐級提取從底層到高層的特征,對應(yīng)構(gòu)建起從底層信號與高層語義間的映射。
(3) 自然語言處理。自然語言處理主要是讓計(jì)算機(jī)理解人類的自然語言,以實(shí)現(xiàn)用自然語言與計(jì)算機(jī)進(jìn)行交流,如自然語言、機(jī)器語言和文本生成之間的翻譯及轉(zhuǎn)換。
(4) 情感計(jì)算。情感計(jì)算是指人類通過為機(jī)器設(shè)定程序使之能識別、理解、處理并模擬人的情感。例如,可運(yùn)用攝像機(jī)捕捉面部表情和手勢,采用情感算法計(jì)算,進(jìn)而使機(jī)器獲取捕捉到的用戶情感狀態(tài)。
本文提出的協(xié)同過濾推薦系統(tǒng),將人工智能類新工科教育以模擬解決以上幾大類復(fù)雜工程問題為載體,轉(zhuǎn)化為系統(tǒng)化的大量樣本數(shù)據(jù)的實(shí)時采集輸入,智能算法的協(xié)同過濾推薦,以及能直觀觀測的人機(jī)交互式結(jié)果輸出,具有綜合實(shí)踐的教學(xué)過程可操作化。
推薦系統(tǒng)是一種信息過濾系統(tǒng),根據(jù)用戶的歷史記錄,實(shí)現(xiàn)實(shí)時、快速地對用戶的行為進(jìn)行分析,找到其可能感興趣的視頻,為用戶進(jìn)行推薦。日常生活中能接觸到的大量互聯(lián)網(wǎng)產(chǎn)品都大量使用了推薦系統(tǒng),如一些比較知名電商網(wǎng)站等。推薦系統(tǒng)的工作流程示意圖如圖1所示[8-12]。
圖1所示的協(xié)同過濾推薦系統(tǒng)符合“復(fù)雜工程問題”特征。協(xié)同攻關(guān)5大模塊:數(shù)據(jù)收集模塊,推薦引擎模塊,數(shù)據(jù)存儲模塊,用戶交互模塊以及推薦結(jié)果處理模塊。一個教學(xué)小項(xiàng)目可以是:對于推薦系統(tǒng)的原理及其如何利用用戶軌跡數(shù)據(jù)進(jìn)行分析研究。比如分析經(jīng)典基于用戶/基于物品的協(xié)同過濾推薦算法:(1)基于用戶的協(xié)同過濾算法主要思想:給定一個評分矩陣和一個準(zhǔn)備為之推薦物品的用戶,根據(jù)評分矩陣結(jié)果找到與這個用戶相似度最接近的多個用戶,然后從多個用戶中選擇該用戶不曾購買過的商品推薦給他;(2)基于物品的協(xié)同過濾系統(tǒng)不是匹配需求者間的關(guān)系,是計(jì)算出與用戶感興趣的商品相似度較高的商品,這里將針對對象從需求者變成商品,然后把那些相似的物品組合成一個推薦清單。
圖1 協(xié)同過濾推薦平臺工作流程示意圖
并將兩者進(jìn)行深度研究對比,學(xué)生能夠選擇一種算法對推薦系統(tǒng)進(jìn)行設(shè)計(jì),整個小項(xiàng)目完成的過程中,培養(yǎng)學(xué)生解決不確定問題能力和創(chuàng)新綜合思維。
用戶臉部信息推薦系統(tǒng)的軟件部分涉及到人工智能技術(shù)的典型方面,如知識的表示方法、機(jī)器學(xué)習(xí)與深度學(xué)習(xí)、自然語言處理、情感計(jì)算等方面交叉融合功能模塊[13-18]。
舉例:簡單工程訓(xùn)練目標(biāo)任務(wù),將人臉識別與推薦系統(tǒng)相結(jié)合,使用CNN卷積神經(jīng)網(wǎng)絡(luò),基于python和caffe實(shí)現(xiàn)對用戶面部特征的識別和分析,得出用戶的年齡段與性別等,根據(jù)所得結(jié)果對用戶進(jìn)行分類。根據(jù)返回的用戶分類結(jié)果,推薦系統(tǒng)選擇相應(yīng)的商品為用戶進(jìn)行推薦[19]。
完成人臉識別有4個核心步驟,分別是采集圖像、檢測圖像中人臉位置、對圖像進(jìn)行預(yù)處理和提取、匹配圖中人臉的特征并識別。
采集圖像:在采集人臉圖像時可以通過改變采集位置、改變面部表情、靜態(tài)和動態(tài)等方式來獲取不同圖像。學(xué)生可以搭建出主動尋找出現(xiàn)在拍攝范圍內(nèi)的用戶,并獲取面部圖像的視覺獲取設(shè)備,如全方位搜索移動的機(jī)械臂上安裝攝像頭。
圖像人臉的定位位置:實(shí)際應(yīng)用中的人臉檢測主要負(fù)責(zé)完成人臉在圖像中的位置和大小的確認(rèn)。圖像中的人臉包含顏色、結(jié)構(gòu)、直方圖等非常多的特征,在檢測人臉時將從利用這些特征中提取出的相關(guān)信息來完成人臉檢測。
圖像的預(yù)處理:預(yù)處理操作位于對圖像中人臉的檢測步驟之后,基于上一步檢測出的結(jié)果以適當(dāng)?shù)念A(yù)處理方法處理圖像,去除圖像中的干擾因素,包括調(diào)整圖片明暗、校正圖片灰度、完成噪聲濾波、圖像銳化、灰度變換和數(shù)值歸一化等,為提取人臉特征做好鋪墊。由于拍攝圖像時各種人為和環(huán)境條件的限制和干擾,直接獲得的原始圖像不經(jīng)過處理無法在系統(tǒng)中直接使用。
提取圖像中人臉特征與建模:在匹配與識別人臉的過程中常用的四種特征有圖像的直接視覺特征、像素特征、變換參數(shù)及其數(shù)學(xué)特征。提取人臉特征的主要方法可以分成以下兩種:一種是基于已有知識對圖像中的人臉特征信息進(jìn)行提取,另一種則是源于數(shù)學(xué)特征的統(tǒng)計(jì)和學(xué)習(xí)。
基于已有知識的特征提取方法主要包括分析人臉結(jié)構(gòu)的幾何特征和將人臉與模板作對比獲取特征。主要是通過收集人臉上各種器官的形狀信息和各個器官之間的距離信息來收集匹配與識別人臉時所需要的人臉幾何特征信息。通常用提取出的每個特征點(diǎn)之間的距離、曲率和角度等幾何分量代表這些特征。
匹配圖像中的人臉并識別:將上一步從圖像中獲取出的人臉特征數(shù)據(jù)與預(yù)先制作完成的樣例進(jìn)行對比,通過匹配結(jié)果判斷圖中是否為人臉,該人臉是否是數(shù)據(jù)庫中登錄過的某人。從圖像中獲取的需要識別的面部特征與已有樣例的特征進(jìn)行匹配,并依據(jù)這些特征的相似程度來判斷人臉的身份信息的過程就是人臉識別的過程。設(shè)置一個閾值,當(dāng)提取出的特征與數(shù)據(jù)庫中的樣例特征相似度超過該閾值時輸出匹配結(jié)果。
通過以上詳細(xì)分析可知,系統(tǒng)涉及到人工智能、機(jī)器人學(xué)、圖像處理與模式識別、數(shù)據(jù)挖掘、傳感采集輸入、精密機(jī)械等諸多領(lǐng)域的前沿技術(shù)。訓(xùn)練方案基于“構(gòu)思、設(shè)計(jì)、實(shí)施、運(yùn)行”,環(huán)環(huán)相扣,緊密聯(lián)系,充分做到學(xué)中做,做中學(xué)。這種CDIO式運(yùn)作的全過程做載體培養(yǎng)的工程能力,不僅促進(jìn)包含個人的學(xué)術(shù)技術(shù)數(shù)據(jù)科學(xué)素養(yǎng),還包含終生學(xué)習(xí)能力、不同年級不同專業(yè)交叉團(tuán)隊(duì)交流能力和大智能系統(tǒng)掌控能力。
(1) 必須運(yùn)用深入的工程原理并經(jīng)過分析才可能得到解決。平臺構(gòu)建人臉識別系統(tǒng)所使用的深度學(xué)習(xí)算法——卷積神經(jīng)網(wǎng)絡(luò)(簡稱CNN)算法是人工智能領(lǐng)域最新發(fā)展起來應(yīng)用廣泛,效率較高的典型深度學(xué)習(xí)算法。
在處理圖像數(shù)據(jù)時,通過講解構(gòu)建不同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),演示導(dǎo)入過于龐大的推薦數(shù)據(jù)量時,對比不同算法訓(xùn)練效率和精度,就能夠直觀理解了CNN算法的局部感知、參數(shù)共享和多次卷積具體參數(shù)意義。
(2) 需要涉及多方面的技術(shù),工程和其他因素,并可能相互有一定沖突
① 推薦算法的設(shè)計(jì)。所述深度學(xué)習(xí)智能算法使用CNN算法對用戶大數(shù)據(jù)集進(jìn)行模型的建立,結(jié)合基于用戶的協(xié)同過濾推薦和基于物品的協(xié)同過濾推薦的兩種算法的優(yōu)點(diǎn),最終推送給用戶排分在前的商品。
② 綜合技術(shù)應(yīng)用?;谟脩裟槻啃畔⒌耐扑]分揀系統(tǒng),對人工智能領(lǐng)域綜合技術(shù)開發(fā)軟件python、opencv、matlab等都有應(yīng)用,其特征在于,所述深度學(xué)習(xí)智能算法、人機(jī)交互的推薦系統(tǒng)軟件部分和相關(guān)性物品分類分揀系統(tǒng)硬件部分結(jié)構(gòu),能夠識別出用戶臉部信息的年齡、性別等特征,形成精準(zhǔn)推薦。
③ 硬件架構(gòu)設(shè)計(jì)階梯式選擇。系統(tǒng)推薦采集和分揀部分由物體分類模塊、信號接收模塊以及傳輸模塊組成,可以分別采取不同階梯式難度的控制器進(jìn)行處理,命令發(fā)布能通過有線或無線收發(fā)模塊進(jìn)行信息傳遞、發(fā)送推薦分揀指令、編寫程序指令控制傳感器輸入、電機(jī)的轉(zhuǎn)速和舵機(jī)的角度等。
(3) 問題中涉及的因素可能沒有完全包含在專業(yè)標(biāo)準(zhǔn)和規(guī)范中。人臉識別的評估標(biāo)準(zhǔn)主要有誤識率、拒識率和識別的正確率,誤識率是錯誤地將別人識別作指定人的概率,拒識率是錯誤地將指定人識別作別人的概率,識別的正確率是識別正確的人次與總參與人次的比值。本平臺采用識別的正確率作為人臉識別系統(tǒng)的評估標(biāo)準(zhǔn)。
用戶臉部信息推薦系統(tǒng)的硬件架構(gòu)具體可分為移動機(jī)械臂、視覺、協(xié)同過濾推薦和推薦物流4個功能模塊。針對本科階段的不同年級學(xué)生對復(fù)雜智能工程抽象理論理解困境,以及編寫智能算法的畏難情緒,將協(xié)同過濾推薦平臺建設(shè)成操作演示型、參與設(shè)計(jì)型以及探索創(chuàng)新型的階梯式單元訓(xùn)練項(xiàng)目。
平臺的軟件部分:推薦系統(tǒng)操作配置最新的python環(huán)境編寫推薦系統(tǒng)程序; 在python2.7、Anaconda2、opencv2.4.13.4、caffe環(huán)境下編寫人臉識別程序,其中采用了卷積神經(jīng)網(wǎng)絡(luò)算法,采集106 863張男性和女性530名人臉圖像的數(shù)據(jù)集訓(xùn)練,測試實(shí)現(xiàn)了98.1%的識別率; 在應(yīng)用SVM分類器模型,以及融合LBP算法及SVM分類器算法的模型證明了較高人臉檢測及識別性別、年齡精度的模型; 將人臉識別應(yīng)用到推薦系統(tǒng)中,能更快地獲取用戶信息,為用戶進(jìn)行分類,提高推薦速度。通過采集用戶人臉信息,數(shù)據(jù)挖掘出用戶年齡、性別,用于推薦的基于用戶的推薦系統(tǒng)。
平臺的硬件部分:搭建用戶臉部信息推薦系統(tǒng)的硬件架構(gòu)具體可分為移動機(jī)械臂、視覺、協(xié)同過濾推薦和推薦物流(用電機(jī)、傳送帶、單片機(jī)等元件構(gòu)建分揀系統(tǒng))的4個功能模塊,分別電源管理后能夠獨(dú)立演示,或者串聯(lián)整體演示,如圖2所示。
圖2 協(xié)同過濾推薦系統(tǒng)實(shí)物圖
大型人臉數(shù)據(jù)集對于推進(jìn)人臉識別研究很重要,但是它們的構(gòu)建很繁瑣,可以組織學(xué)生參與實(shí)施采集獲取構(gòu)建,如FaceScrub數(shù)據(jù)集。實(shí)際使用移動的機(jī)械臂安裝攝像頭。進(jìn)行圖像采集并進(jìn)行圖像處理的一系列操作后反饋出的識別結(jié)果,如圖3所示。
圖3 程序使用攝像頭人臉年齡段、性別檢測
可以看到推薦系統(tǒng)能夠準(zhǔn)確識別出人臉臉部位置及所處年齡段、性別、表情、種族。圖3中右上角3個按鈕分別為開始人臉檢測、暫停人臉檢測和退出,下方4個復(fù)選框中Detection代表是否檢測人臉位置、Landmark代表是否標(biāo)示出人臉檢測的關(guān)鍵點(diǎn)、Gender代表是否顯示性別、Age代表是否顯示年齡。
推薦系統(tǒng)使用CNN等網(wǎng)絡(luò)訓(xùn)練模型時,首先通過提取人臉臉型、器官結(jié)構(gòu)及其間距等特征,獲取人臉信息,根據(jù)這些信息分別建立人臉檢測與識別、年齡識別、性別識別、表情識別與種族識別模型,并在識別過程中使用這些模型分工完成各項(xiàng)識別,相較單個模型完成多項(xiàng)特征的識別更容易準(zhǔn)確獲取圖像信息。圖4為3種算法人臉識別率正確率統(tǒng)計(jì)。
圖4 3種算法人臉識別正確率統(tǒng)計(jì)圖
通過對圖4進(jìn)行分析,在使用相同的數(shù)據(jù)集進(jìn)行訓(xùn)練后,傳統(tǒng)的SVM分類器對該人臉數(shù)據(jù)集的識別率不高,僅有約76.6%的識別正確率。融合LBP算法及SVM分類器算法后約有94.8%的識別正確率,而本文使用的CNN算法對該數(shù)據(jù)集約有98.1%的識別率,較前兩種算法分別提升了21.5%和3.3%。由此可知,使用卷積神經(jīng)網(wǎng)絡(luò)算法可以有效的提升人臉檢測及識別性別精確程度。
鑒于用戶的算法以及基于物品的算法各有優(yōu)劣,所以決定使用以上這兩種算法實(shí)現(xiàn)本推薦系統(tǒng)的設(shè)計(jì)。首先為每一類用戶手動初始化物品評分矩陣,根據(jù)人臉識別系統(tǒng)的反饋結(jié)果為新的用戶進(jìn)行分類,根據(jù)該分類及物品評分矩陣為用戶進(jìn)行推薦,而后根據(jù)用戶是否點(diǎn)選該物品以及用戶對該物品的評分,對物品評分矩陣進(jìn)行優(yōu)化,選擇用戶評分高的物品及與其相似的物品進(jìn)行推薦。
本文中構(gòu)建的推薦系統(tǒng)尚未經(jīng)過大型數(shù)據(jù)集測試,在小范圍的測試中,推薦點(diǎn)擊率為16%。從圖5中可以看出本文算法優(yōu)于兩種傳統(tǒng)算法。下一步指導(dǎo)學(xué)生將平臺擴(kuò)大訓(xùn)練集的基礎(chǔ)上,克服由于測試人數(shù)過少、數(shù)據(jù)訓(xùn)練不充分可能引起推薦結(jié)果的不確定性,以及對如何有效利用用戶的評分以及對用戶評分稀疏時如何減少其負(fù)面影響進(jìn)行研究。指導(dǎo)學(xué)生為以后的設(shè)計(jì)提供需綜合考慮各個算法的優(yōu)劣勢參考數(shù)據(jù),根據(jù)用戶需求實(shí)現(xiàn)性價(jià)比最高的方案設(shè)計(jì)。
圖5 3種推薦算法的推薦點(diǎn)擊率對比圖
人工智能視域下協(xié)同過濾推薦平臺階梯式教學(xué)培養(yǎng)過程,是從培養(yǎng)創(chuàng)新精神入手,以提高創(chuàng)新能力為核心,通過引導(dǎo)學(xué)生由易到難階梯式地完成系統(tǒng)搭建與創(chuàng)新探索,有效應(yīng)用學(xué)生學(xué)習(xí)的個性化、教學(xué)精準(zhǔn)化和實(shí)時跟蹤與反饋式督導(dǎo),將更充分發(fā)揮學(xué)生主體性、主動性,帶動學(xué)生獨(dú)立學(xué)習(xí)、大膽探索、勇于創(chuàng)新能力的過程。
下一步繼續(xù)指導(dǎo)學(xué)生進(jìn)行創(chuàng)新實(shí)踐探索,結(jié)合人工智能最新研究成果進(jìn)行直觀應(yīng)用,如使用CNN算法的改進(jìn)擴(kuò)展算法——FASTER R-CNN圖像處理算法,實(shí)現(xiàn)實(shí)時數(shù)據(jù)動態(tài)、快速、模糊情況更快的訓(xùn)練和識別速度以及更高的精度; 硬件架構(gòu)加裝提升整體處理程序配置,將推薦系統(tǒng)、視頻音頻實(shí)時數(shù)據(jù)識別系統(tǒng)、分揀系統(tǒng)高效地整合為一個系統(tǒng),持續(xù)改進(jìn)平臺推薦工作效率。