許曉飛, 米 潔, 陳雯柏
(1. 北京信息科技大學 自動化學院, 北京 100192; 2. 北京信息科技大學 教務處, 北京 100192)
人工智能(AI)技術快速發展對人類社會的各行業都引起了深遠廣泛的影響,如在深度神經網絡的廣泛應用、腦科學研究的不斷進步與突破,在大數據、云計算等相關技術的支撐下,人工智能技術被快速地應用到農業、醫療、教育、能源、國防等諸多領域。許多國家都制定針對性的國家人工智能研發戰略規劃,社會急劇增加的人才需求倒逼人工智能類專業人才培養教育模式必須改變。北京大學賈積有教授認為人工智能教育是在以計算機為代表的人造機器上實現的人類教育[1]。面對人工智能重要挑戰,作為人工智能類專業的教育工作者創造特定機器實現智能教育平臺,并在此之上開展創新實踐教學工作符合人工智能科學技術發展規律,將強化人工智能方面的人才培養[2-4]。
本文深度總結十幾年來我校智能科學與技術專業建設經驗[5],主動解析提升人工智能類的本科教育人才培養內涵、關鍵技術及應用趨勢等,提出以構建人工智能視域下典型內核算法應用的協同過濾推薦系統為工程綜合創新實踐教學平臺[6],針對學生學習智能專業課程中存在對復雜工程抽象理論理解困境,以及編寫應用智能算法的畏難情緒,進行教學實踐項目階梯式的設計,使教師和學生可以從單一、繁重的機械性勞動中“解放”出來,把注意的中心放到創造性工作上去;智能系統的后臺推薦部分以及深度學習都比較抽象,卻是重要且偏重實際應用的算法,涉及編程語言平臺及運行環境也較多,學生學習較為困難; 而通過增加采用攝像頭實時獲取樣本數據的視覺部分、結合簡易機械臂移動部分,基于分揀物品的圖片或用戶臉部信息識別的智能數據推薦系統設計,這樣一體化平臺可以幫助學生直觀獲取到深度學習算法應用的過程及結果,從而實現在教學過程中能致力于培養學生的創新意識、創新能力及實踐能力[7]。
人工智能的快速發展作為人工智能工程類本科生培養方案中,涉及專業課程內容如知識的表示方法、機器學習與深度學習、自然語言處理、智能代理、情感計算等方面,其應用與發展趨勢集中在智能導師與助手、智能測評、學習伙伴、數據挖掘與學習分析等領域[4],這些專業課程要求能夠融會貫通的關鍵技術內容簡介如下:
(1) 知識表示方法。作為人工智能和信息融合的核心技術之一的知識表示,有早期的一階謂詞邏輯表示法、產生式表示法、框架表示法以及現在的神經網絡知識表示法等。
(2) 機器學習與深度學習。作為人工智能研究的一個核心領域的機器學習,在1997年Tom M. Mitchell在《Machine 2 Learning》中提出機器學習理論的經典定義,“計算機可以有通過學習從而不斷進化的行為”; 如深度學習通過建立類似于人腦的分層模型結構,輸入數據逐級提取從底層到高層的特征,對應構建起從底層信號與高層語義間的映射。
(3) 自然語言處理。自然語言處理主要是讓計算機理解人類的自然語言,以實現用自然語言與計算機進行交流,如自然語言、機器語言和文本生成之間的翻譯及轉換。
(4) 情感計算。情感計算是指人類通過為機器設定程序使之能識別、理解、處理并模擬人的情感。例如,可運用攝像機捕捉面部表情和手勢,采用情感算法計算,進而使機器獲取捕捉到的用戶情感狀態。
本文提出的協同過濾推薦系統,將人工智能類新工科教育以模擬解決以上幾大類復雜工程問題為載體,轉化為系統化的大量樣本數據的實時采集輸入,智能算法的協同過濾推薦,以及能直觀觀測的人機交互式結果輸出,具有綜合實踐的教學過程可操作化。
推薦系統是一種信息過濾系統,根據用戶的歷史記錄,實現實時、快速地對用戶的行為進行分析,找到其可能感興趣的視頻,為用戶進行推薦。日常生活中能接觸到的大量互聯網產品都大量使用了推薦系統,如一些比較知名電商網站等。推薦系統的工作流程示意圖如圖1所示[8-12]。
圖1所示的協同過濾推薦系統符合“復雜工程問題”特征。協同攻關5大模塊:數據收集模塊,推薦引擎模塊,數據存儲模塊,用戶交互模塊以及推薦結果處理模塊。一個教學小項目可以是:對于推薦系統的原理及其如何利用用戶軌跡數據進行分析研究。比如分析經典基于用戶/基于物品的協同過濾推薦算法:(1)基于用戶的協同過濾算法主要思想:給定一個評分矩陣和一個準備為之推薦物品的用戶,根據評分矩陣結果找到與這個用戶相似度最接近的多個用戶,然后從多個用戶中選擇該用戶不曾購買過的商品推薦給他;(2)基于物品的協同過濾系統不是匹配需求者間的關系,是計算出與用戶感興趣的商品相似度較高的商品,這里將針對對象從需求者變成商品,然后把那些相似的物品組合成一個推薦清單。

圖1 協同過濾推薦平臺工作流程示意圖
并將兩者進行深度研究對比,學生能夠選擇一種算法對推薦系統進行設計,整個小項目完成的過程中,培養學生解決不確定問題能力和創新綜合思維。
用戶臉部信息推薦系統的軟件部分涉及到人工智能技術的典型方面,如知識的表示方法、機器學習與深度學習、自然語言處理、情感計算等方面交叉融合功能模塊[13-18]。
舉例:簡單工程訓練目標任務,將人臉識別與推薦系統相結合,使用CNN卷積神經網絡,基于python和caffe實現對用戶面部特征的識別和分析,得出用戶的年齡段與性別等,根據所得結果對用戶進行分類。根據返回的用戶分類結果,推薦系統選擇相應的商品為用戶進行推薦[19]。
完成人臉識別有4個核心步驟,分別是采集圖像、檢測圖像中人臉位置、對圖像進行預處理和提取、匹配圖中人臉的特征并識別。
采集圖像:在采集人臉圖像時可以通過改變采集位置、改變面部表情、靜態和動態等方式來獲取不同圖像。學生可以搭建出主動尋找出現在拍攝范圍內的用戶,并獲取面部圖像的視覺獲取設備,如全方位搜索移動的機械臂上安裝攝像頭。
圖像人臉的定位位置:實際應用中的人臉檢測主要負責完成人臉在圖像中的位置和大小的確認。圖像中的人臉包含顏色、結構、直方圖等非常多的特征,在檢測人臉時將從利用這些特征中提取出的相關信息來完成人臉檢測。
圖像的預處理:預處理操作位于對圖像中人臉的檢測步驟之后,基于上一步檢測出的結果以適當的預處理方法處理圖像,去除圖像中的干擾因素,包括調整圖片明暗、校正圖片灰度、完成噪聲濾波、圖像銳化、灰度變換和數值歸一化等,為提取人臉特征做好鋪墊。由于拍攝圖像時各種人為和環境條件的限制和干擾,直接獲得的原始圖像不經過處理無法在系統中直接使用。
提取圖像中人臉特征與建模:在匹配與識別人臉的過程中常用的四種特征有圖像的直接視覺特征、像素特征、變換參數及其數學特征。提取人臉特征的主要方法可以分成以下兩種:一種是基于已有知識對圖像中的人臉特征信息進行提取,另一種則是源于數學特征的統計和學習。
基于已有知識的特征提取方法主要包括分析人臉結構的幾何特征和將人臉與模板作對比獲取特征。主要是通過收集人臉上各種器官的形狀信息和各個器官之間的距離信息來收集匹配與識別人臉時所需要的人臉幾何特征信息。通常用提取出的每個特征點之間的距離、曲率和角度等幾何分量代表這些特征。
匹配圖像中的人臉并識別:將上一步從圖像中獲取出的人臉特征數據與預先制作完成的樣例進行對比,通過匹配結果判斷圖中是否為人臉,該人臉是否是數據庫中登錄過的某人。從圖像中獲取的需要識別的面部特征與已有樣例的特征進行匹配,并依據這些特征的相似程度來判斷人臉的身份信息的過程就是人臉識別的過程。設置一個閾值,當提取出的特征與數據庫中的樣例特征相似度超過該閾值時輸出匹配結果。
通過以上詳細分析可知,系統涉及到人工智能、機器人學、圖像處理與模式識別、數據挖掘、傳感采集輸入、精密機械等諸多領域的前沿技術。訓練方案基于“構思、設計、實施、運行”,環環相扣,緊密聯系,充分做到學中做,做中學。這種CDIO式運作的全過程做載體培養的工程能力,不僅促進包含個人的學術技術數據科學素養,還包含終生學習能力、不同年級不同專業交叉團隊交流能力和大智能系統掌控能力。
(1) 必須運用深入的工程原理并經過分析才可能得到解決。平臺構建人臉識別系統所使用的深度學習算法——卷積神經網絡(簡稱CNN)算法是人工智能領域最新發展起來應用廣泛,效率較高的典型深度學習算法。
在處理圖像數據時,通過講解構建不同結構的神經網絡,演示導入過于龐大的推薦數據量時,對比不同算法訓練效率和精度,就能夠直觀理解了CNN算法的局部感知、參數共享和多次卷積具體參數意義。
(2) 需要涉及多方面的技術,工程和其他因素,并可能相互有一定沖突
① 推薦算法的設計。所述深度學習智能算法使用CNN算法對用戶大數據集進行模型的建立,結合基于用戶的協同過濾推薦和基于物品的協同過濾推薦的兩種算法的優點,最終推送給用戶排分在前的商品。
② 綜合技術應用。基于用戶臉部信息的推薦分揀系統,對人工智能領域綜合技術開發軟件python、opencv、matlab等都有應用,其特征在于,所述深度學習智能算法、人機交互的推薦系統軟件部分和相關性物品分類分揀系統硬件部分結構,能夠識別出用戶臉部信息的年齡、性別等特征,形成精準推薦。
③ 硬件架構設計階梯式選擇。系統推薦采集和分揀部分由物體分類模塊、信號接收模塊以及傳輸模塊組成,可以分別采取不同階梯式難度的控制器進行處理,命令發布能通過有線或無線收發模塊進行信息傳遞、發送推薦分揀指令、編寫程序指令控制傳感器輸入、電機的轉速和舵機的角度等。
(3) 問題中涉及的因素可能沒有完全包含在專業標準和規范中。人臉識別的評估標準主要有誤識率、拒識率和識別的正確率,誤識率是錯誤地將別人識別作指定人的概率,拒識率是錯誤地將指定人識別作別人的概率,識別的正確率是識別正確的人次與總參與人次的比值。本平臺采用識別的正確率作為人臉識別系統的評估標準。

用戶臉部信息推薦系統的硬件架構具體可分為移動機械臂、視覺、協同過濾推薦和推薦物流4個功能模塊。針對本科階段的不同年級學生對復雜智能工程抽象理論理解困境,以及編寫智能算法的畏難情緒,將協同過濾推薦平臺建設成操作演示型、參與設計型以及探索創新型的階梯式單元訓練項目。
平臺的軟件部分:推薦系統操作配置最新的python環境編寫推薦系統程序; 在python2.7、Anaconda2、opencv2.4.13.4、caffe環境下編寫人臉識別程序,其中采用了卷積神經網絡算法,采集106 863張男性和女性530名人臉圖像的數據集訓練,測試實現了98.1%的識別率; 在應用SVM分類器模型,以及融合LBP算法及SVM分類器算法的模型證明了較高人臉檢測及識別性別、年齡精度的模型; 將人臉識別應用到推薦系統中,能更快地獲取用戶信息,為用戶進行分類,提高推薦速度。通過采集用戶人臉信息,數據挖掘出用戶年齡、性別,用于推薦的基于用戶的推薦系統。
平臺的硬件部分:搭建用戶臉部信息推薦系統的硬件架構具體可分為移動機械臂、視覺、協同過濾推薦和推薦物流(用電機、傳送帶、單片機等元件構建分揀系統)的4個功能模塊,分別電源管理后能夠獨立演示,或者串聯整體演示,如圖2所示。

圖2 協同過濾推薦系統實物圖
大型人臉數據集對于推進人臉識別研究很重要,但是它們的構建很繁瑣,可以組織學生參與實施采集獲取構建,如FaceScrub數據集。實際使用移動的機械臂安裝攝像頭。進行圖像采集并進行圖像處理的一系列操作后反饋出的識別結果,如圖3所示。

圖3 程序使用攝像頭人臉年齡段、性別檢測
可以看到推薦系統能夠準確識別出人臉臉部位置及所處年齡段、性別、表情、種族。圖3中右上角3個按鈕分別為開始人臉檢測、暫停人臉檢測和退出,下方4個復選框中Detection代表是否檢測人臉位置、Landmark代表是否標示出人臉檢測的關鍵點、Gender代表是否顯示性別、Age代表是否顯示年齡。
推薦系統使用CNN等網絡訓練模型時,首先通過提取人臉臉型、器官結構及其間距等特征,獲取人臉信息,根據這些信息分別建立人臉檢測與識別、年齡識別、性別識別、表情識別與種族識別模型,并在識別過程中使用這些模型分工完成各項識別,相較單個模型完成多項特征的識別更容易準確獲取圖像信息。圖4為3種算法人臉識別率正確率統計。

圖4 3種算法人臉識別正確率統計圖
通過對圖4進行分析,在使用相同的數據集進行訓練后,傳統的SVM分類器對該人臉數據集的識別率不高,僅有約76.6%的識別正確率。融合LBP算法及SVM分類器算法后約有94.8%的識別正確率,而本文使用的CNN算法對該數據集約有98.1%的識別率,較前兩種算法分別提升了21.5%和3.3%。由此可知,使用卷積神經網絡算法可以有效的提升人臉檢測及識別性別精確程度。
鑒于用戶的算法以及基于物品的算法各有優劣,所以決定使用以上這兩種算法實現本推薦系統的設計。首先為每一類用戶手動初始化物品評分矩陣,根據人臉識別系統的反饋結果為新的用戶進行分類,根據該分類及物品評分矩陣為用戶進行推薦,而后根據用戶是否點選該物品以及用戶對該物品的評分,對物品評分矩陣進行優化,選擇用戶評分高的物品及與其相似的物品進行推薦。
本文中構建的推薦系統尚未經過大型數據集測試,在小范圍的測試中,推薦點擊率為16%。從圖5中可以看出本文算法優于兩種傳統算法。下一步指導學生將平臺擴大訓練集的基礎上,克服由于測試人數過少、數據訓練不充分可能引起推薦結果的不確定性,以及對如何有效利用用戶的評分以及對用戶評分稀疏時如何減少其負面影響進行研究。指導學生為以后的設計提供需綜合考慮各個算法的優劣勢參考數據,根據用戶需求實現性價比最高的方案設計。

圖5 3種推薦算法的推薦點擊率對比圖
人工智能視域下協同過濾推薦平臺階梯式教學培養過程,是從培養創新精神入手,以提高創新能力為核心,通過引導學生由易到難階梯式地完成系統搭建與創新探索,有效應用學生學習的個性化、教學精準化和實時跟蹤與反饋式督導,將更充分發揮學生主體性、主動性,帶動學生獨立學習、大膽探索、勇于創新能力的過程。
下一步繼續指導學生進行創新實踐探索,結合人工智能最新研究成果進行直觀應用,如使用CNN算法的改進擴展算法——FASTER R-CNN圖像處理算法,實現實時數據動態、快速、模糊情況更快的訓練和識別速度以及更高的精度; 硬件架構加裝提升整體處理程序配置,將推薦系統、視頻音頻實時數據識別系統、分揀系統高效地整合為一個系統,持續改進平臺推薦工作效率。