探究谷歌用于構(gòu)建量子機(jī)器學(xué)習(xí)模型的新框架:TensorFlow Quantum
譯文【51CTO.com快譯】量子計(jì)算和人工智能(AI)的交匯有望成為整個(gè)技術(shù)發(fā)展史上最引人入勝的潮流之一。量子計(jì)算的出現(xiàn)可能迫使我們重新構(gòu)思幾乎所有現(xiàn)有的計(jì)算范式,AI也不例外。然而,量子計(jì)算機(jī)的計(jì)算能力還有望加快AI如今仍然不實(shí)用的許多方面。AI和量子計(jì)算相輔相成的第一步是,重新構(gòu)思在量子架構(gòu)上運(yùn)行的機(jī)器學(xué)習(xí)模型。最近谷歌開(kāi)源了用于構(gòu)建量子機(jī)器學(xué)習(xí)模型的框架:TensorFlow Quantum。
TensorFlow Quantum的核心概念是將量子算法和機(jī)器學(xué)習(xí)程序交織在TensorFlow編程模型中。谷歌稱這種方法為量子機(jī)器學(xué)習(xí),能夠利用其最近的一些量子計(jì)算框架(比如谷歌Cirq)來(lái)實(shí)現(xiàn)它。
量子機(jī)器學(xué)習(xí)
說(shuō)到量子計(jì)算和AI,我們要回答的第一個(gè)問(wèn)題是,后者如何得益于新興的量子架構(gòu)。量子機(jī)器學(xué)習(xí)(QML)是個(gè)籠統(tǒng)的術(shù)語(yǔ),指可以充分利用量子特性的機(jī)器學(xué)習(xí)模型。QML的第一個(gè)應(yīng)用專注于重構(gòu)傳統(tǒng)的機(jī)器學(xué)習(xí)模型,以便它們能夠在隨量子位數(shù)量急劇擴(kuò)大的狀態(tài)空間上執(zhí)行快速線性代數(shù)。然而,由于量子硬件的計(jì)算能力提高,量子硬件的發(fā)展拓寬了QML的前景,逐漸發(fā)展成為可以進(jìn)行經(jīng)驗(yàn)研究的啟發(fā)式方法。這個(gè)過(guò)程類似于GPU的問(wèn)世,如何使機(jī)器學(xué)習(xí)向深度學(xué)習(xí)范式發(fā)展。
在TensorFlow Quantum的上下文中,可以將QML定義為兩大部分:
a. 量子數(shù)據(jù)集
b. 混合量子模型
量子數(shù)據(jù)集
量子數(shù)據(jù)是出現(xiàn)在自然或人工量子系統(tǒng)中的任何數(shù)據(jù)源。這可能是來(lái)自量子力學(xué)實(shí)驗(yàn)的經(jīng)典數(shù)據(jù),也可能是由量子設(shè)備直接生成,然后作為輸入饋入到算法中的數(shù)據(jù)。有一些證據(jù)表明,出于以下描述的原因,“量子數(shù)據(jù)”方面的混合量子經(jīng)典機(jī)器學(xué)習(xí)應(yīng)用可提供較之純經(jīng)典機(jī)器學(xué)習(xí)的量子優(yōu)勢(shì)。量子數(shù)據(jù)表現(xiàn)出疊加和糾纏現(xiàn)象,導(dǎo)致可能需要數(shù)量激增的經(jīng)典計(jì)算資源來(lái)表示或存儲(chǔ)的聯(lián)合概率分布。
混合量子模型
就像機(jī)器學(xué)習(xí)可以從訓(xùn)練數(shù)據(jù)集歸納模型一樣,QML也可以從量子數(shù)據(jù)集歸納量子模型。然而,由于量子處理器仍然很小且嘈雜,量子模型無(wú)法單單使用量子處理器來(lái)歸納量子數(shù)據(jù)。混合量子模型提出了一種方案,其中量子計(jì)算機(jī)作為硬件加速器將最有用,與傳統(tǒng)計(jì)算機(jī)共生。這種模型非常適合TensorFlow,因?yàn)樗呀?jīng)跨CPU、GPU和TPU支持異構(gòu)計(jì)算。
Cirq
建立混合量子模型的第一步是能夠利用量子操作。為此,TensorFlow Quantum依靠Cirq,這種開(kāi)源框架用于在近期設(shè)備上調(diào)用量子電路。Cirq包含指定量子計(jì)算所需要的基本結(jié)構(gòu),比如量子位、門、電路和測(cè)量運(yùn)算符。Cirq背后的想法是提供一種簡(jiǎn)單的編程模型,它對(duì)量子應(yīng)用軟件的基本構(gòu)建模塊進(jìn)行抽象處理。最新版本包括以下關(guān)鍵構(gòu)建模塊:
- 電路:在Cirq中,電路代表量子電路的最基本形式。Cirq電路表示為矩(Moment)的集合,這些矩包括在某個(gè)抽象時(shí)間間隔內(nèi)對(duì)量子位執(zhí)行的操作。
- 時(shí)間表和設(shè)備:時(shí)間表是量子電路的另一種形式,包括有關(guān)門的時(shí)機(jī)和持續(xù)時(shí)間的更詳細(xì)的信息。從概念上講,時(shí)間表由一組ScheduledOperations以及要在其上運(yùn)行時(shí)間表的設(shè)備的描述組成。
- 門:在Cirq中,門對(duì)量子位集合的操作進(jìn)行抽象處理。
- 模擬器:Cirq包括可用于運(yùn)行電路和時(shí)間表的Python模擬器。模擬器架構(gòu)可以跨多個(gè)線程和CPU擴(kuò)展,從而使它可以運(yùn)行相當(dāng)復(fù)雜的電路。
TensorFlow Quantum
TensorFlow Quantum(TFQ)是用于構(gòu)建QML應(yīng)用程序的框架。TFQ使機(jī)器學(xué)習(xí)研究人員可以構(gòu)建量子數(shù)據(jù)集、量子模型和經(jīng)典控制參數(shù),作為單單一張計(jì)算圖中的張量(tensor)。
從架構(gòu)的角度來(lái)看,TFQ提供了一個(gè)模型,它對(duì)與TensorFlow、Cirq和計(jì)算硬件的交互進(jìn)行抽象處理。堆棧的頂部是要處理的數(shù)據(jù)。經(jīng)典數(shù)據(jù)直接由TensorFlow處理;TFQ增加了這一功能:處理由量子電路和量子運(yùn)算符組成的量子數(shù)據(jù)。堆棧的下一級(jí)是TensorFlow中的Keras API。由于TFQ的核心原則是與核心TensorFlow(尤其是與Keras模型和優(yōu)化器)進(jìn)行原生集成,因此這一級(jí)橫跨堆棧的整個(gè)寬度。Keras模型抽象的下面是我們的量子層和微分器,與經(jīng)典TensorFlow層連接起來(lái)后,它們可以實(shí)現(xiàn)混合量子-經(jīng)典自動(dòng)微分。在量子層和微分器的下面,TFQ依賴TensorFlow運(yùn)算符,該運(yùn)算符為數(shù)據(jù)流圖創(chuàng)建實(shí)例。
從執(zhí)行的角度來(lái)看,TFQ遵循以下步驟來(lái)訓(xùn)練和構(gòu)建QML模型。
1. 準(zhǔn)備量子數(shù)據(jù)集:量子數(shù)據(jù)作為張量而加載,被指定為用Cirq編寫的量子電路。張量由TensorFlow在量子計(jì)算機(jī)上執(zhí)行,以生成量子數(shù)據(jù)集。
2. 評(píng)估量子神經(jīng)網(wǎng)絡(luò)模型:在這一步,研究人員可以使用Cirq為量子神經(jīng)網(wǎng)絡(luò)建立原型,然后將其嵌入到TensorFlow計(jì)算圖中。
3. 采樣或求平均:這一步利用了對(duì)涉及第1步和第2步的幾趟運(yùn)行求平均值的方法。
4. 評(píng)估經(jīng)典神經(jīng)網(wǎng)絡(luò)模型:這一步使用經(jīng)典深度神經(jīng)網(wǎng)絡(luò),以獲取前幾個(gè)步驟中提取的度量指標(biāo)之間的這種關(guān)聯(lián)。
5. 評(píng)估成本函數(shù):與傳統(tǒng)的機(jī)器學(xué)習(xí)模型類似,TFQ使用這一步評(píng)估成本函數(shù)。如果標(biāo)記了量子數(shù)據(jù),這可能基于模型執(zhí)行分類任務(wù)有多準(zhǔn)確;如果任務(wù)不是監(jiān)督式,基于其他標(biāo)準(zhǔn)。
6. 評(píng)估梯度和更新參數(shù):評(píng)估成本函數(shù)后,應(yīng)沿著預(yù)期降低成本的方向,更新管道中的自由參數(shù)。
TensorFlow和Cirq的結(jié)合使TFQ擁有一系列豐富的功能,包括更簡(jiǎn)單和熟悉的編程模型,以及同時(shí)訓(xùn)練和執(zhí)行許多量子電路的功能。
結(jié)合量子計(jì)算和機(jī)器學(xué)習(xí)的工作仍處于起步階段。當(dāng)然,TFQ是這個(gè)領(lǐng)域最重要的里程碑之一,它利用了量子學(xué)習(xí)和機(jī)器學(xué)習(xí)中一些最好的IP。有關(guān)TFQ的更多詳細(xì)信息,請(qǐng)?jiān)L問(wèn)項(xiàng)目官網(wǎng)(https://www.tensorflow.org/quantum)。
原文標(biāo)題:Exploring TensorFlow Quantum, Google’s New Framework for Creating Quantum Machine Learning Models,作者:Jesus Rodriguez
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】