張仕斌,黃 曦,昌 燕,閆麗麗,程 穩
(1. 成都信息工程大學網絡空間安全學院 成都 610225;2. 先進密碼技術與系統安全四川省重點實驗室 成都 610225)
信息技術的飛速發展催生了大數據時代的到來[1]。復雜性是大數據區別于傳統數據的根本所在,大數據的復雜性必然會帶來不確定性,大數據中的各種不確定性給處理大數據算法的準確性、高效性、安全性、魯棒性帶來了巨大的挑戰[2]。因此,如何解決目前大數據存在的復雜性和不確定性問題已成為目前大數據領域研究的熱點之一。
機器學習是人工智能領域的重要分支,在高性能計算、云計算等領域都已取得了豐碩成果[3],如何將機器學習算法應用于大數據分析并產生實際價值越來越受到學術界和工業界的廣泛關注,也已成為“大數據+人工智能”交叉融合研究領域的熱點[4]。
由于量子計算具有超強的并行計算能力、指數級存儲容量等特征,被認為是最有可能突破現有計算能力瓶頸的計算方式[5]。隨著量子計算的發展,基于量子計算的機器學習正在興起,量子計算會帶來機器學習對數據處理能力的提高。如何在“大數據+人工智能”時代,充分利用量子計算優勢,提高機器學習對大數據的處理、分析和挖掘能力已成為機器學習領域的研究熱點。
本文在深入分析目前大數據環境下不確定性集合理論及大數據計算與分析方法、機器學習算法、量子計算及量子機器學習研究現狀及不足的基礎上,指出將“大數據+不確定性集合理論+機器學習算法+量子計算”交叉融合,進行大數據環境下量子機器學習算法及其安全性應用研究既有理論和現實意義,又有實用價值。
不確定性知識表達和處理是人工智能中重要的研究方向,如何有效地從不確定性信息和數據中獲取知識也是大數據領域的重要研究課題。不確定性主要表現為隨機性、模糊性和不完備性等,隨機性和模糊性作為兩種最基本的不確定性,在人類的認知過程中起著重要的作用。目前處理不確定性問題的方法主要有模糊集[6]、Vague 集[7]、粗糙集[8]等理論。
1.1.1 模糊集
1) 模糊集合理論
1965 年,文獻[6]創建了模糊集合理論,其定義為:給定一個非空集合X,從X到單位閉區間[0,1]的 一個映射μA(xi):X→[0,1]稱為X上的一個模糊集,對于每個x∈U, μA(x)叫 做元素x對模糊集A的隸屬度。模糊集合理論的貢獻在于引入了集合中元素對該集合的“隸屬度”,從而將經典集合論里的特征函數取值范圍由二值 {0,1}推廣到區間[0,1],將經典二值邏輯推廣至多值邏輯,使得模糊性可以用[ 0,1]上的區間值來度量。
2) 直覺模糊集理論
1983 年,文獻[9]提出了直覺模糊集理論,其定義為:設X={x1,x2,···,xn}為所研究問題的論域,xi(i=1,2,···,n)為 論域X中的第i個不確定性元素,X上的直覺模糊集定義為:

式 中, μA(xi):X→[0,1]; υA(xi):X→[0,1],對 于?xi∈X, 有 0 ≤μA(xi)+υA(xi)≤1, μA(xi)和 υA(xi)稱xi對直覺模糊集A的隸屬度和非隸屬度;在直覺模糊集中, πA(xi)=1-μA(xi)-υA(xi)稱xi對集合A的猶豫度。
作為Zadeh 模糊集合理論的一個推廣,由于直覺模糊集理論比Zadeh 模糊集合理論所反映的信息更為豐富,近年來不少學者利用直覺模糊集理論來刻畫不確定性問題具有的模糊性本質,并在很多領域得到了廣泛應用[10-13]。
1.1.2 Vague 集

對 于 ?x∈X, πv(x)=1-tv(x)-fv(x) 稱 為x相 對于V集的Vague 度,它主要用于刻畫x相 對于V集的猶豫程度,表示既不支持又不反對x的證據所導出的既不肯定又不否定的隸屬度上界。將V集通過“投票模型”來解釋,則πv(x)表示棄權的比例。從對事物的可知程度而言,πv(x)則表示對事物的不可知程度。Vague 集理論的提出,為解決不確定性問題提供了新思路,目前已經成功用于模糊控制、決策分析、專家系統和故障診斷等領域[14]。
1.1.3 粗糙集
1982 年,文獻[8]提出了粗糙集理論。在粗糙集中,無需主觀為元素指定一個隸屬度,隸屬關系是根據已有的分類知識客觀計算出來的。設X={x1,x2,···,xi}為 所 研 究 的 論 域,xi(i=1,2,···,n)為X中的第i個 元素,集合X的粗糙隸屬函數定義為:


作為一種不完整、不確定性知識和數據的表達、學習、歸納的理論方法,一方面,粗糙集理論能夠有效地分析和處理不確定、不一致、不完整等各種不完備信息,并從中發現隱含的知識,揭示潛在的規律;另一方面,粗糙集理論能夠以不可分辨關系劃分所研究論域的知識,形成知識表達系統[14]。目前,學者們從不同角度對Pawlak 經典粗糙集模型進行拓展研究,提出了眾多擴展粗糙集模型[15-24]。
粗糙集和Vague 集理論都是作為模糊集理論的擴展,都能處理模糊、不確定性的問題。一方面,Vague 集和模糊集具有一定的互補性,相比模糊集合理論,Vague 集能夠更準確地描述不確定信息;另一方面,盡管三者分別使用模糊和不可分辨關系來處理不完全的數據集,Zadeh 模糊集和粗糙集能夠將其優點結合作為研究不完全數據集的有效方法,而Vague 集和粗糙集能夠結合起來用于處理某一類特定的邊界不確定性集合問題。
隨著大數據的爆炸式增長,國內外眾多學者在大數據計算以及分析方法方面展開了大量的理論研究和實踐探索[25-64]。基于機器學習的大數據計算方法主要包括并行計算[25-32]、增量計算[33-37]和綠色計算[38-41],基于機器學習的大數據分析方法主要有聚類方法[42-46]、關聯分析方法[47-53]、分類方法[54-59]和預測方法[60-64]。
1.2.1 大數據計算方法
1) 并行計算
目前串行計算研究主要集中在P 類問題上,即在多項式時間內能夠求解的一類問題。然而在大數據時代,對大規模、復雜性和不確定性的問題的求解變成了不可解問題[25]。為了解決這些問題,學者們提出了針對大數據的并行處理方法[26-32]:谷歌公司提出一種適用于半結構化及非結構化數據的大規模數據處理模型(MapReduce)[26-27],文獻[28]提出了利用分布式并行計算實現復雜任務的調度方法;文獻[29]提出了一種能夠對大規模數據集進行高效處理的機器學習算法,文獻[30-31]討論了如何在MapReduce 框架下設計高效的算法;文獻[32]提出了并行提升算法ADABOOST.PL 和LOGITBOO ST.PL 算法。這些并行處理方法雖然能夠處理大一定量級的大數據,但是如何設計高效的并行處理大數據的計算方法仍然是當前研究的熱點。
2) 增量計算
增量計算主要用于處理動態增長的數據集或離散數據,主要有兩類[27]:第一類是通過增量數據進行計算和推理,從而實現對高維大數據的全局處理;第二類是通過增量數據更新歷史數據,并對更新后的數據進行處理。目前,絕大多數研究主要集中在第一類。針對低維大數據的處理,文獻[33]提出了增量分解方法;針對高維大數據的處理,文獻[34]提出了基于投影的增量式高階奇異值分解方法、文獻[35]提出了基于Jacibo 旋轉實現增量式高階奇異值分解;針對大數據在時間上的延續性,文獻[36]提出了增量張量流的計算方法;針對增量大數據的管理,文獻[37]構建了基于Hadoop 平臺的增量大數據處理框架。這些增量計算方法是各學者針對不同的問題提出的不同增量計算方法,但是如何減少增量處理時的運算量和提高增量處理的效率仍是當前研究的重要方向。
3) 綠色計算
綠色計算是指實現云計算的可持續發展,減少云系統對環境的影響,其目標不僅要提高計算資源的使用效率,還要實現對能量消耗的最小化[38]。為了解決大數據存在的高能耗問題以及實現可持續的綠色計算,有學者提出了節能的數據中心資源調度框架[39]、Hadoop 集群中計算機節點性能和能耗計算方法[40]及解決移動設備能耗問題的任務調度方法[41]。當前,在解決大數據帶來巨大的能源消耗問題方面,綠色計算仍然是研究熱點。
1.2.2 大數據分析方法
1) 聚類方法
聚類是大數據挖掘和模式識別常用技術之一,作為重要的大數據分析方法,在分析過程中結合機器學習、模式識別、概率統計、隨機過程、信息論等可實現不同功能。隨著大數據規模的不斷增長,傳統聚類方法在大數據處理中速度相對較慢,已經不能適應大數據發展的需要。為了實現傳統聚類算法的并行運算及解決海量數據分析的難題,文獻[42]提出了基于MapReduce 的K-means 算法,文獻[43]提出了能夠并行發現多個聚類的DBCURE-MR 算法,文獻[44]提出了一種新的MapReduce 并行聚類模型,文獻[45]提出了能減少時間和內存開銷的、基于MapReduce 的EM 算法,文獻[46]提出了高效的K-means 集群優化算法。這些聚類方法針對不同的問題在效率方面有一定優勢,但面對日益龐大和復雜的數據,如何采用并行方法以及改進現有聚類算法,進而提出新的聚類算法仍是當前重要的研究方向。
2) 關聯分析方法
關聯分析起源于Apriori 算法[47],其目的是查找各種數據中項目集合和對象集合之間的關聯、相關性或者因果結構[48],但Apriori 算法時間開銷大,導致在廣度和深度方面適應性差。為了解決這一問題,文獻[49]提出了基于MapReduce 的并行Apriori 算法,文獻[50]提出了基于MapReduce 的改進Apriori 算法。現階段解決大數據關聯分析主要集中在對已有算法進行并行化和分布式處理,其基本思想是采用分治策略[51]。文獻[52]提出了基于MapReduce 的FP-Growth 改進算法,文獻[53]提出了基于Spark 的并行FP-Growth 算法。這些關聯分析方法的并行化和分布式處理主要集中在MapReduce 和Spark 平臺,目前在大數據高效處理方面還不能完全滿足大數據日益增長的需要,因此研究并行化和分布式處理的關聯分析方法仍然是當前研究的熱點。
3) 分類方法
對大數據進行分類是普遍存在的,其在入侵檢測、醫療診斷、智能交通等領域有著廣泛應用。為了解決非均衡數據的分類問題,文獻[54]在MapReduce平臺實現了隨機森林方法,文獻[55]利用Mahout的并行處理能力構建基于決策樹模型的隨機森林,文獻[56]分析了在大數據分類下極限學習機(extreme learning machine, ELM)具有良好的泛化能力,文獻[57]將KNN 分類器和大數據平臺MapReduce相結合實現了對9 000 萬對DNA 的分類;為了解決大規模圖像數據集分類性能低的問題,文獻[58]利用Hadoop 架構實現了高效特征提取和分類,文獻[59]提出了面向分布式環境的高效決策樹分類器算法。這些分類方法大多數都是為了特定問題而對傳統分類法的改進,很難高效處理日益增長的大數據,因此針對大數據領域的高效的分類方法仍然是重要的研究方向。
4) 預測方法
通過對歷史數據進行分析,從而對未來進行預測,是大數據分析的核心功能之一。進行預測的關鍵是找出蘊含在歷史數據中的關聯關系。文獻[60]提出了適用于預測人類視覺注意力的基于卷積網絡的預測算法(DeepFix),文獻[61]提出了適用于預測工業故障的基于隱馬爾可夫模型的預測算法,文獻[62]提出了適用于金融領域的基于交易模型的實時價格預測方法,文獻[63]提出了基于支持向量機的網絡入侵預測方法,文獻[64]提出了適用于有效提升企業績效的工業大數據預測模型。隨著大數據日益發展,如何有效提升預測效率和準確性仍然是大數據領域的研究熱點。
綜上所述,國內外眾多學者在大數據計算方法及大數據分析方法方面開展了廣泛研究,也取得了突破性進展,但并未涉及如何高效、安全、準確地處理大數據所具有的復雜性和不確定性問題。如何將“大數據+不確定性理論”進行交叉融合成為亟待研究的重要課題。
機器學習算法是人工智能和統計學領域的重要分支。在對數據進行分類方面,常見的算法有K 近鄰(K-nearest neighbors, KNN)[65-66]、支持向量機 (support vector machine, SVM)[67-68]、 決 策 樹(decision tree, DT)[69]、隨機森林(random forests, RF)算法[70]、樸素貝葉斯(Naive Bayes, NB)[71]等;在回歸方面,常見的算法有線性回歸算法(linear regression)[72]和邏輯回歸(logistic regression)[73]等;在聚類方面,常見的算法有K 均值算法(K-means algorithm)[74]和最大期望算法(expectation maximization algorithm,EM)[75];在數據可視化和降維方面,主要有主成分分析算法(principal component analysis, PCA)[76];由于篇幅限制,本小節簡要介紹K 近鄰、支持向量機、線性回歸算法、K-means 算法和主成分分析算法。
1) K 近鄰算法
K 近鄰算法原理是選取輸入樣本的K個臨近點,K個臨近點出現次數最多的類別作為該輸入樣本的類別,主要由距離度量、k值的選擇以及分類決策規則決定[77]。當樣本量較大,特征屬性較多時,KNN 算法的分類效率會大大降低。為了解決這一難題,文獻[78]提出了基于哈希和MapReduce的大數據集K-近鄰算法,文獻[79]提出了一種基于Apache Spark 框架的大數據并行多標簽K 最近鄰分類器設計方法,文獻[80]提出了一種用于處理大數據集的KNN 查找方法;文獻[81]提出一種基于聚類去噪和密度裁剪的改進KNN 算法,文獻[82]提出了基于MapReduce 的并行KNN 算法,但這些算法只是一些優化或改進,效率方面還有待進一步研究。
2) 支持向量機算法
支持向量機算法原理是尋找一個最優分類超平面,使得該超平面能夠對樣本數據正確劃分。以二分類數據為例,將數據分為正類和負類。假設訓練數據集T={(x1,y1),(x2,y2),···,(xN,yN)},xi∈Rn,yi∈{+1,-1},i=1,2,···,N,xi表 示第i個特征向量,最大分隔超平面記為wTx+b=0,為了使最大分隔超平面對所有數據進行正確分類,最大分隔超平面需要滿足如下約束:yi(wTx+b)-1 ≥0,i=1,2,···,N。
構造最優分類超平面等價于求解約束最優化問題:

式(5)可以采用Langrangian 方法進行求解得到最優分類決策函數為:

對于非線性問題的處理,需要將非線性分類問題轉化為線性分類問題。通過非線性變換將數據由輸入空間(歐式空間Rn的子集或離散集合)映射到特征空間H(希爾伯特空間),映射函數為:

式中,K(xi,x)=φ(xi)φ(x)為核函數。通過映射函數φ將輸入空間變換到一個新的特征空間進行運算,輸入空間中的內積xi·xj計算被轉換到特征空間中的內積計算 φ (xi)φ(x),即可在新的特征空間里對支持向量機進行訓練。
傳統的支持向量機算法存在無法高效處理大規模數據集以及無法預測魯棒和非參數的置信區間的擬合模型等難題。為了解決這些問題,文獻[83]提出了用于按順序處理輸入數據的在線學習算法,文獻[84]提出了一種增量支持向量機學習算法,但這些改進算法在效率及安全方面有待進一步研究。
3) 線性回歸
線性回歸算法通過構造線性函數f(x)=wTx擬合給定的訓練數據 (xi,yi),使得每一個預測值f(xi)盡 可 能 接 近 真 實 值yi。其 中xi∈RM,yi∈R。w∈RM為擬合參數。線性回歸的目的是求出最優擬合參數w,使得模型能夠預測新的數據。
最優擬合參數w經常采用最小二乘法獲得:

式中,y=(y1,y2,···,yN)T;X=(x1,x2,···,xN)為數據矩陣。
線性回歸算法存在無法處理大數據所具有的海量樣本和高維度的難題。為了解決這一難題,文獻[85]提出了能夠適用于分布式和并行處理的基于MapReduce 的多元線性回歸模型,文獻[86]提出了能高效的處理大規模數據集的并行版本的多元線性回歸算法,文獻[87]提出了一種能有效提升時間和存儲性能的非線性的回歸預測模型,但這些改進算法在效率和準確性方面有待進一步提升。
4) K-means 算法
K-means 算法的主要思想:用戶指定k個初始質心作為聚類類別,重復迭代直至算法收斂。給定點x∈Rd和集合C?Rd,點x到集合C的距離定義為[88]:

5) 主成分分析算法
主成分分析算法是將高維數據投影到低維空間緩解維數災難,通過尋找投影后低維空間中的r個新變量,以反映數據集的主要特征[76]。求給定矩陣X的主成分,其實就是計算協方差矩陣XXT的前r個特征值對應的特征向量構成的矩陣P,然后做變換Y=PTX,即達到降維的目的。
由于大數據具有復雜、高維、多變等特性,如何采用主成分分析算法降低大數據處理難度成為迫切需要解決的難題。為此,文獻[92]提出了一種能夠有效提取非線性特征的大規模數據集求解核主成分的計算方法;文獻[93]提出了一個能夠以指數速度單調收斂到主方向精確值、與協方差無關的迭代主成分分析算法;文獻[94]提出了能解決大數據下大規模工業過程的建模和監控問題的基于MapReduce 框架分布式并行的主成分分析方法,文獻[95]提出了能夠提供精確解決方案的基于按行掃描數據的主成分分析方法,但這些方法在效率方面還有待進一步提升。
深度學習起源于人工神經網絡,通過組合底層特征形成更加抽象的高層表示,以發現數據的分布式表示[96],主要有自動編碼器[97-102]、受限玻爾茲曼機[103-106]、卷積神經網絡[107-111]、循環神經網絡[112-113]、生成對抗網絡[114-118]等。
1) 自動編碼器
自動編碼器是將輸入信號映射到低維空間的編碼機和用隱含特征重構初始輸入的解碼機構成。假設輸入信號為x,編碼層將其線性映射為z,然后給予某種非線性變換,這一過程可以表示為:

式中,f(·)為某種線性函數,如sigmoid 函數。解碼層通過相似的操作,將隱含特征a重 構信號x?。訓練網絡時,其優化目標為最小化重構信號與輸入信號的均方差:

盡管自動編碼器通過編碼器和解碼器完成對輸入信號的訓練,通過損失函數最小化求出網絡的參數,但是不能用于分類。已有眾多研究者提出了不同類型的自動編碼器:文獻[97]提出了深自動編碼器,文獻[98]提出了堆疊自動編碼器,文獻[99]提出了稀疏自動編碼器,文獻[100-101]提出了降噪自動編碼器以及堆疊消噪自動編碼器,文獻[102]提出了稀疏堆疊自動編碼器,但是這些自動編碼器在隱藏層數量和神經元數量增多的情況下會導致梯度稀釋。
2) 受限玻爾茲曼機
玻爾茲曼機(Boltzmann machine, BZ)[103]是一種隨機遞歸網絡,能夠通過學習數據固有內在表示,解決復雜數學問題。受限玻爾茲曼機(restricted Boltzmann machine, RBZ)是玻爾茲曼機的擴展,容易求得玻爾茲曼機的概率分布,具有無監督學習的能力,但是效率較低。受限玻爾茲曼機是一個雙向圖模型,主要由可視層v∈{0,1}Nv和 隱含層h∈{0,1}Nh組成。其中可視層和隱含層之間的聯合概率分布定義為:

式中,Z是歸一化函數;W∈RNv×Nh表示可視層之間的連接權重;bv∈RNv,bh∈RNh是偏置項。該模型的優化目標為:

眾多的研究者在RBM 模型的基礎上提出了眾多擴展的受限玻爾茲曼機模型,如mean-covariance RBM[104]、spike-slab RBM[105]和門限RBM[106]等,這些模型都定義了一個復雜的能量函數,導致學習和推斷的效率下降。
3) 卷積神經網絡
卷積神經網絡[107]于1998 年提出,主要用于手寫字符圖像的識別,由輸入層、卷積層、下采樣層(池化層)和輸出層組成,其本質是使原始輸入經過多個層次的數據變換或者降維、映射為一個新的特征。輸入層輸入通常為原始圖像X。假設Hi表示卷積神經網絡第i層的特征(H0=X),卷積層Hi可以表示為:

式中,Wi表 示第i層 卷積核的權值向量;f(·)為非線性的激勵函數;bi表 示偏置變量; ?表示卷積核與第i-1層圖像進行卷積操作。
下采樣層主要對特征圖進行降維處理以及在一定程度上保持特征的尺度不變特性。假設Hi表示下采樣層,則Hi=subsampling(Hi-1)。經過卷積層和下采樣層的交替處理,卷積神經網絡根據全連接網絡對提取的特征進行分類,得到基于輸入X的概率分布Y:

式中,li表 示第i個標簽類別。通過最小化網絡損失函數,即可獲得最優的模型。
由于卷積神經網絡的結構層次比較復雜,卷積層、下采樣層都會存在過擬合問題。為了解決這些問題,研究者提出了眾多改進方法。文獻[108]提出了能有效提高網絡泛化性能的“dropout”的技術,文獻[109]提出了一種提升模型泛化能力的“Dropconnect”的方法,文獻[110]提出了作用于卷積層的Maxout 函數,文獻[111]提出了一種隨機下采樣方法來減輕下采樣層出現的過擬合問題。這些方法針對過擬合問題提出來一些改進方法,但是改善的程度和通用性還需要進一步驗證和探索。
4) 循環神經網絡
循環神經網絡主要用于處理序列數據,其最大的特點就是神經元在某時刻的輸出可以在下一時間戳作為輸入直接作用到自身,進而達到對時間序列建模的目的。為了適應不同的應用需求,一些學者對循環神經網絡模型進行了擴展,以解決長時依賴的問題。文獻[112]提出了長短期記憶(long-short time memory, LSTM)模型,文獻[113]提出了雙向循環神經網絡(bidirectional recurrent neural networks,BRNN),但這些改進或優化模型在效率及準確性方面有待進一步研究。
5) 生成對抗網絡
生成對抗網絡(generative adversarial networks,GAN)是文獻[114]受博弈論中的二人零和博弈的啟發而提出的一種隱式生成模型,利用生成神經網絡和判別神經網絡相互競爭,來學習隱含在訓練數據樣本里的隨機概率分布。GAN 由生成函數G和判別函數D組成,一般由深度神經網絡實現。GAN的目標函數為:

式中,nd是判別器的小批量樣本數。
目前,眾多研究者提出了GAN 變體,如條件GAN[115]、WGAN[116]、最小二乘GAN[117]、BEGAN[118]等,但GAN 在訓練過程中,仍然還存在判別器能否被合適地訓練、梯度波動大、訓練不穩定、樣本缺乏多樣性、生成質量差等問題。
強化習目標是通過學習一個行為策略π :S→A,使得agent 選擇的動作能夠獲得環境最大的獎賞。定義一個以狀態的值函數或狀態動作對的值函數表示的目標函數確定Agent 最優的動作,函數的表示形式[119]:

強化學習的主要特征是只能利用不確定的環境獎賞來發現最優行為策略。根據動作選擇方式可以將強化學習算法分為基于值函數的強化學習算法和基于直接策略搜索的強化學習算法兩類。基于值函數的強化學習算法主要通過評估值函數并根據函數值的大小來選擇動作,主要有動態規劃、蒙特卡洛、時間差分、值函數逼近4 種類型[120]:動態規劃模型主要用于處理模型已知的情況(在模型未知條件下,可以采用蒙特卡洛方法利用部分隨機樣本的期望值來獲取整體模型的期望值);蒙特卡洛方法雖然能夠處理模型未知的問題,但是其存在學習效率低下的難題;時間差分法采用自舉方法,用后繼狀態的值函數估計當前值函數,使智能體能夠實現單步或者多步的更新,從而提高學習效率[121];當狀態空間維數很大或者存在連續空間時,可以通過采用值函數逼近的方法來構建強化學習策略。直接策略搜索算法主要是將策略參數化、通過優化參數化使得策略的反饋期望值最大,該類算法主要有經典策略梯度、置信閾策略優化和確定性策略3 類[121]。目前,強化學習作為機器學習領域的重要研究熱點,目前已經在工業制造、機器人控制、優化與調度、游戲博弈等領域有重要的應用價值[122]。
綜上所述,機器學習是人工智能研究領域的一項重要分支,經過多年的發展,已經取得了眾多研究成果。面對即將來臨的“大數據+人工智能+量子計算”時代,如何利用機器學習算法對大數據所具有的復雜性和不確定性問題進行高效、安全、準確地處理,越來越受到學術界和工業界的廣泛關注,也已成為大數據和人工智能交叉融合研究領域的熱點問題。
量子計算是以量子力學為基礎的全新計算模型,并與信息科學、計算科學、光電技術等學科交叉融合而形成的一門新興學科。量子計算充分利用量子獨有特性(如量子疊加性、糾纏等)進行運算和數據處理,具有超強的并行計算能力、指數級存儲容量、更好的有效性等特征,被認為是最有可能突破現有計算物理平臺和計算能力瓶頸的一種計算方式。從量子力學原理出發,量子計算目前主要有兩個方向:量子算法和量子衍生算法(量子衍生算法主要是量子信息學與人工智能等領域研究相結合而衍生出來的算法,如與機器學習算法結合衍生出的量子機器學習算法等)。
早在1982 年,美國著名物理學家費曼(R.Feynman)首次提出“量子模擬”的概念,即如果利用經典計算機模擬量子系統,由于量子態的存在,模擬的復雜性隨粒子數的增加而呈現指數級別的增長[123]。隨后,Deutsch 和Jozsa 提出了第一個量子算法(Deutsch-Jozsa 算法)[124];Bernstein 和Vazirani[125]及Simon[126]均提出了以他們名字命名的量子算法;文獻[127-128]提出了求解大數分解難題的量子并行算法;文獻[129]提出了量子搜索算法;文獻[130]基于量子隨機漫步原理提出了量子線性系統求解算法HHL 算法;這些算法都表明在解決某些特定問題時量子計算機相對于經典計算機具有優勢;以及能夠突破傳統計算機的計算極限,解決傳統計算機無法解決的問題。
3.1.1 量子信息的表示
目前,量子信息有兩種表示方式:第一種是量子比特形式;第二種是密度算子形式。從物理角度而言,這兩種表示方式可以用原子的兩能級系統、電子的自旋系統、光子的偏振系統來實現。
1) 量子比特
一個任意的單量子比特可以表示為:

3.1.2 量子邏輯門


3.1.3 量子態編碼
量子態編碼是通過量子特征映射,將經典的數據集編碼到量子態上;量子特征映射將通過量子編碼線路實現。目前,量子態的編碼方式眾多,適用于處理不同的數據類型。
1) 計算基編碼

3.1.4 量子測量

除此之外,文獻[132]指出可以通過控制交換門實現兩個量子量子態相似度的計算。
量子機器學習旨在利用量子計算的高并行性來達到進一步優化傳統機器學習的目的。目前已有的量子機器學習主要分為3 類[133]:1) 將機器學習算法中復雜度較高的部分替換為對應的量子版本進行計算,從而降低算法的時間復雜度和空間復雜度;2) 尋找量子系統的力學效應、動力學特性與傳統機器學習處理步驟的相似點,將物理過程應用于傳統機器學習問題的求解,進而產生出新的機器學習算法;3) 借助傳統機器學習強大的數據分析能力,幫助物理學家更好的研究量子系統,更加有效的分析量子效應,作為物理學家對量子世界研究的有效輔助。目前,關于量子機器學習的研究主要集中于第一類研究,第二類研究比較少,該類算法代表性研究為文獻[134]提出的基于量子力學的聚類算法,其全部過程均可以在經典計算機中實現。第三類研究主要集中于物理領域。該類算法代表性研究為文獻[135]提出的基于壓縮感知的量子斷層分析,將促進我們對微觀世界的理解。
3.2.1 量子最近鄰算法
2014 年,文獻[136]提出了量子最近鄰算法(quantum nearest neighbor, QNN),該算法通過計算兩個量子態的內積或者歐氏距離來判別該其分類結果。QNN 算法首先將訓練樣本集vj(j=1,2,···,M)和待分類的樣本v0:=u通過概率幅編碼的方式加載到量子態上,即:

盡管在文獻[136]也采用歐氏距離來計算量子態的歐式距離,但是實驗結果表明采用歐式距離計算的方法比內積方法需要更多的迭代次數。
3.2.2 量子支持向量機算法
量子計算與支持向量機的結合最早是利用Grover 搜索算法的二次加速效果處理SVM 模型的優化計算問題[137]。2014 年,文獻[138]提出了量子支持向量機算法(quantum support vector machine,QSVM),該算法利用利用量子計算的高并行性來改進傳統支持向量機算法,進而有效提高計算效率,降低計算復雜度。QSVM 算法首先將每一個數據樣本點xi=(xi1,xi2,···xij),j=1,2,···,m的j個特征向量通過概率幅編碼方式編碼到量子態上,即:


關于量子支持向量機的驗證方面,文獻[139]在核磁平臺上利用4 個量子比特實現了對手寫數字6 和9 的識別,實現結果表明了QSVM 算法的可行性;隨后,文獻[140]受量子SVM 的啟發,提出了一種使用快速采樣技術的SVM 量子啟發式經典算法;文獻[141]提出了新的量子算法,以指數速度加快雙支持向量機的訓練和預測過程;文獻[142]研究了量子增強最小二持向量機,并提出了一種簡化的量子算法和稀疏解。
3.2.3 量子線性回歸
2012 年,文獻[143]首次提出了一個基于量子HHL 算法的量子線性回歸算法(quantum linear regression, QLR),該算法能夠實現對經典算法的指數級加速。量子線性回歸算法的目的是采用量子算法求解最優擬合參數w:


3.2.4 量子K-means 算法


在量子K-means 算法的驗證方面,2015 年,文獻[148]在小型光量子計算機上實現并驗證了量子K-means 算法;隨后,文獻[149]通過采用量子比特來表示空間中的點,提出了高效的基于距離最小化原則的量子K-means 算法,該算法相比經典的K-means 算法能夠實現指數級加速;文獻[150]通過引入相位估計算法和最小值查找量子算法,提出了量子K-means 算法,該算法能夠極大降低整體計算復雜度。
3.2.5 量子主成分分析
2014 年,文獻[151]提出了量子主成分分析算法(quantum principal component analysis, QPCA),該算法使用未知密度矩陣的多個副本來構造最大特征值(主成分)對應的特征向量,可以應用于量子態的判別和分配問題。對于密度矩陣ρ,在特征空間上對其分解可以表示為:

最后,通過借助相位估計便可分解出密度算子ρ 的特征值和特征向量。
綜上,采用基于量子計算的信息處理技術在處理分類、回歸、聚類、降維、評價、推理等任務時具有更高的效率。經過近四十年發展,量子計算與量子機器學習已取得一些階段性成果。量子計算帶來機器學習對數據處理能力的提高,給眾多的研究者帶來了無限的希望和憧憬。如何在已經來臨的“大數據+人工智能+量子計算”時代,充分利用量子計算的優勢(比如高并行性等),提高機器學習的學習效率,以及對大數據的處理、分析和挖掘能力,已經成為量子機器學習的研究熱點。
隨著“大數據+人工智能+量子計算”時代來臨,為了高效、安全、準確地處理復雜的大數據所具有的諸多不確定性問題,“大數據+人工智能”“大數據+量子計算”“大數據+不確定性集合理論”等的交叉融合已經成為不可阻擋的時代潮流。而當今大數據處理的主要困難在于如何精確地對復雜大數據所具有的不確定性問題進行高效、安全、準確地處理(比如定量、準確的描述)。因此,研究(能高效、安全、準確處理復雜的和具有不確定性的大數據)量子模糊機器學習算法及其應用必將成為“大數據+人工智能+量子計算”時代的重點研究方向之一。但是從現有研究成果來看,雖然國內外關于機器學習算法、量子計算和直覺模糊集理論的研究取得了不少研究成果,也有學者已經在關注量子機器學習及模糊機器學習方面的研究,但是將“直覺模糊集理論+量子計算+機器學習算法”交叉融合,研究量子模糊機器學習算法及應用的相關成果不多,還處于起步階段。目前,已有的研究成果主要涉及經典信息量子化(構建量子信息模型)[136,138,147]、機器學習[65-122]及量子機器學習算法[123-151]等方面的研究。
量子機器學習算法的基本原理是將經典機器學習算法中的信息映射成量子態,然后對量子態進行酉演化操作,進而達到計算的目的。也就是說,量子機器學習算法的基本流程是:量子機器學習的訓練數據必須以某種量子計算機能識別的格式載入,經過量子機器學習算法處理以后形成輸出(此時的輸出結果是量子格式的),再經過測量讀出所需要的最終結果(經典數據),如圖1 所示。

圖1 量子機器學習算法的基本流程[152]
關于經典信息的量子化(即構建量子信息模型)的問題,目前研究成果不多。文獻[138]提出的QSVM(quantum support vector machine)模 型,首次將量子系統密度矩陣應用到支持向量機中核矩陣的表示上,將量子態的疊加性應用到經典向量的表示上,提出量子K-means 算法[147-150];文獻[151]提出的QPCA(quantum principal component analysis)模型。但這些算法都是基于現有經典機器學習算法基礎上,將復雜度較高的部分替換為量子計算進行計算,從而提高其運算效率,并沒有考慮如何利用量子計算來處理大數據所具有的復雜性、不確定性問題。在即將來臨的“大數據+人工智能+量子計算”時代,大數據的復雜性帶來的不確定性問題(如數據本身的不確定性、數據結構(模型)的不確定性和學習的不確定性),這些不確定性主要表現在高維、多變和強隨機性等特性方面,而這些特性主要表現模糊性,而對這些模糊性進行研究的主要困難在于如何對其進行定量、準確地描述。
因此,如何將“大數據+不確定性集合理論+量子計算”交叉融合,對大數據所具有的不確定性問題進行定量、準確描述(不確定信息模糊化,模糊信息量子化,建立量子模糊信息模型)將成為不確定環境下大數據領域研究的熱點之一。
目前,針對量子機器學習算法的研究成果不多,已有的量子機器學習算法主要分為3 類:1) 將機器學習中復雜度較高的部分替換為量子計算進行計算,從而提高算法的效率(該類算法沿用經典機器學習算法的框架,不同之處在于將復雜計算轉換成量子計算運行在量子計算機上),主要有QPCA[151]、QSVM[138]、量子最近鄰算法[136]等;2) 尋求量子系統的動力學特性和力學效應與傳統機器學習算法處理步驟的相似之處,將這些物理過程應用于經典機器學習算法上,提出新的量子機器學習算法(與第一類算法不同之處在于全部過程均可以在經典計算機上實現),如基于量子力學的聚類算法[153]、量子退火算法[154]、量子蟻群算法[155]、量子遺傳算法[156]等;3) 借助于經典機器學習算法強大的數據分析能力,作為物理學家對量子世界研究的有效輔助,幫助物理學家更好的研究量子系統,更加地效的分析量子效應(該類算法的研究將促進我們對微觀世界進一步的了解,并解釋量子世界的奇特現象),主要研究成果有基于量子斷層分析算法[135]。目前,第二類量子機器學習算法研究較少,第三類主要在物理領域研究較多,研究最多的是第一類。盡管第一類量子機器學習算法在處理效率上表現出一些優勢,但并沒有考慮如何利用量子機器學習算法來處理大數據所具有的復雜性、不確定性問題。
因此,在即將來臨的“大數據+人工智能+量子計算”時代,如何利用量子計算能并行高效處理大數據所具有的復雜性問題的優勢,將“大數據+不確定性集合理論+機器學習+量子計算”進行交叉融合研究,提高機器學習對大數據的處理、分析和挖掘能力,必將成為量子機器學習領域的研究熱點。
本文對大數據環境下不確定性集合理論、大數據計算與分析方法、機器學習及安全性、量子計算及量子機器學習算法的現狀展開了分析與研究,分析了在即將到來的“大數據+人工智能+量子計算”時代,我們正面臨前所未有的諸多機遇與挑戰:如何將“大數據+不確定性集合理論+量子計算”交叉融合,對大數據所具有的不確定性問題進行定量、準確地描述;在即將來臨的“大數據+人工智能+量子計算”時代,如何利用量子計算能并行高效處理的優勢,對大數據所具有的復雜性問題進行高效地處理;如何有效提升量子機器學習算法的安全性和魯棒性。這些機遇和挑戰都將成為“大數據+人工智能+量子計算”時代亟待解決的重要問題,也必將成為智慧化時代大數據領域的研究熱點。