「量子霸權」新招數?谷歌量子機器學習開源庫TFQ來了!

2021-01-10 讀芯術

全文共2338字,預計學習時長13分鐘

去年10月,《Nature》刊發了谷歌的一篇論文,其研發的Sycammore量子處理器能在200秒內完成傳統超級計算機上萬年的計算量,基於此,谷歌宣稱實現了「量子霸權」。

2020年3月9日,谷歌人工智慧確認了TensorFlow Quantum (TFQ)的可用性,這是一個用於快速研發量子機器學習模型的開源庫。這是谷歌「量子霸權」的新招數嗎?

其實,早先還有如Pennylane的其他幾個框架,但都沒有TFQ出色。TFQ作為工具箱出現在這個領域,依舊未被公開。筆者已經了解了一些其他框架,但是在研究過TFQ之後,不可否認TFQ是最好的。

如何在參數化量子電路上進行機器學習?

為弄清楚這一點,TFQ的技術負責人馬蘇德·莫西尼提供了示例。他說,「需要注意的是,時空體中列印這種單位運算或隨機旋轉是一種連續的參數化旋轉,模仿了經典電路,比如深度神經網絡中將輸入映射到輸出。」

這就是量子神經網絡的原理。

但是如何創建這些參數化的量子電路呢?

開發混合量子模型的第一步是能夠利用量子運算。為此,TFQ依賴於Cirq(一個近期計算機上實現量子電路的開源平臺)。

Cirq包括定義量子計算所需的基本結構,如量子位、門、電路和計算算符。Cirq背後的理念是提供一個簡單的編程模型,抽象出量子應用的基本構件塊。

能把cirq和TFQ結合起來嗎?挑戰是什麼?

技術障礙1

· 無法導入量子數據。

· 數據和模型都是量子電路中的層。

· 量子數據必須隨時準備。

技術障礙2

· 相對高延遲的CPU——QPU。

· 批量作業被中繼到量子計算機。

· QPU每次運行都需要完整的量子程序。

· QPU在幾微秒內運行。

為使其實用並克服障礙,TFQ團隊在編程背景下提出了一些不可忽視的架構概念。架構標準如下所示:

1.可微分性:須支持量子電路的微分和混合反向傳播。

2.電路批處理:量子數據上傳為量子電路,並行訓練多個不同的電路。

3.執行後端不可知:幾步就能從模擬器切換到真實設備。

4.極簡主義-Cirq和TF間的橋梁:無需用戶重新學習如何與量子計算機交互來解決機器學習問題。

逐步執行

混合判別模型的TFQ管道

步驟1:

準備一個量子數據集:量子數據加載為一個張量,定義為用Cirq編寫的量子電路。張量由量子計算機上的TensorFlow執行以生成量子數據集。

量子數據集為非參數化cirq.Circuit對象被應用於計算機圖表,並使用tfq.convert_to_tensor。

步驟2:

評估量子神經網絡模型:這一步中,研究人員可以使用Cirq製作量子神經網絡的原型,然後將其嵌入TensorFlow計算圖中。

量子模型的構建用cirq.Circuit包含SymPy符號的對象,並且可以使用tfq.AddCircuit分層附加到量子數據源。

步驟3:

樣本或平均值:這一步利用步驟(1)和(2)的幾次運行取平均值。樣本或取平均值通過將量子數據和量子模型送至tfq.Sample,或者tfq.Expectation層。

步驟4:

評估經典神經網絡模型:這一步使用經典深度神經網絡來提取前面步驟中提取的度量間的相關性。由於TFQ與TensorFlow完全兼容,量子模型可直接與其聯繫tf.keras.layers.Layer,如tf.keras.layers.Dense.等對象。

圖源:unsplash

步驟5:

評估成本函數:類似於傳統的機器學習模型,通過這一步驟,TFQ評估成本函數。如果量子數據被標記,評估成本函數可能基於模型執行分類任務的準確程度,如任務無監督,則基於其他標準。

將分階段(1)到(4)構建的模型打包於tf.keras.Model,允許用戶訪問模塊中的所有損失tf.keras.losses。

步驟6:

評估梯度和更新參數-評估成本函數後,為降低成本,管道中的自由參數應按照預期方向更新。

為支持梯度下降,向TensorFlow反向傳播機制公開量子操作的導數,通過tfq.differentiators.Differentiatorinterface混合量子-經典反向傳播,量子和經典模型參數都可以針對量子數據進行優化。

編碼演示

#Importing dependencies

!pip install --upgrade cirq==0.7.0

!pip install --upgrade tensorflow==2.1.0

!pip install qutip

!pip install tensorflow-quantum

import cirq

import numpy as np

import qutip

import random

import sympy

import tensorflow as tf

import tensorflow_quantum as tfq

#Quantum Dataset

def generate_dataset(qubit, theta_a, theta_b,num_samples):

"""Generate a dataset of points on `qubit` near the twogiven angles; labels

for the twoclusters use a one-hot encoding.

"""

q_data = []

bloch ={"a": [[], [], []], "b": [[], [], []]}

labels = []

blob_size =abs(theta_a - theta_b) / 5

for _ inrange(num_samples):

coin =random.random()

spread_x =np.random.uniform(-blob_size, blob_size)

spread_y =np.random.uniform(-blob_size, blob_size)

if coin <0.5:

label =[1, 0]

angle =theta_a + spread_y

source ="a"

else:

label =[0, 1]

angle =theta_b + spread_y

source ="b"

labels.append(label)

q_data.append(cirq.Circuit(cirq.ry(-angle)(qubit),cirq.rx(-spread_x)(qubit)))

bloch[source][0].append(np.cos(angle))

bloch[source][1].append(np.sin(angle)*np.sin(spread_x))

bloch[source][2].append(np.sin(angle)*np.cos(spread_x))

returntfq.convert_to_tensor(q_data), np.array(labels), bloch

#Genrate the dataset

qubit = cirq.GridQubit(0, 0)

theta_a = 1

theta_b = 4

num_samples = 200

q_data, labels, bloch_p = generate_dataset(qubit,theta_a, theta_b, num_samples

#Model

#We will use a parameterized rotation about the Y axisfollowed by a Z-axis measurement as the quantum portion of our model. For theclassical portion, we will use a two-unit SoftMax which should learn todistinguish the measurement statistics of the two data sources.

# Build the quantum model layer

theta = sympy.Symbol('theta')

q_model = cirq.Circuit(cirq.ry(theta)(qubit))

q_data_input = tf.keras.Input(

shape=(),dtype=tf.dtypes.string)

expectation = tfq.layers.PQC(q_model, cirq.Z(qubit))

expectation_output = expectation(q_data_input)

# Attach the classical SoftMax classifier

classifier = tf.keras.layers.Dense(2,activation=tf.keras.activations.softmax)

classifier_output = classifier(expectation_output)

model = tf.keras.Model(inputs=q_data_input,outputs=classifier_output)

# Standard compilation for classification

model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.1),

loss=tf.keras.losses.CategoricalCrossentropy())

tf.keras.utils.plot_model(model, show_shapes=True,dpi=70)

#Training

history = model.fit(x=q_data, y=labels, epochs=50,verbose=0)

test_data, _, _ = generate_dataset(qubit, theta_a,theta_b, 1)

p = model.predict(test_data)[0]

print(f"prob(a)={p[0]:.4f},prob(b)={p[1]:.4f}")

圖源:unsplash

我們用非常簡單的步驟發掘了量子神經網絡,甚至用TFQ執行了它,這實在令人驚喜。TFQ必將是機器學習史上的一次巨大飛躍。

留言點讚關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範

相關焦點

  • 谷歌推出TFQ,一個可訓練量子模型的機器學習框架
    TFQ提供了必要的工具,將量子計算和機器學習技術結合起來,以控制並建模自然或人工的量子計算系統。該框架可構建量子數據集、混合量子模型和經典機器學習模型原型、支持量子電路模擬器,以及訓練判別和生成量子模型。隨著近些年量子計算技術的發展,量子機器學習模型的研發可能會在醫學、材料、傳感和通信領域取得突破,甚至產生深遠影響。不過迄今為止,業界缺乏發現量子機器學習模型的研究工具。該模型可以處理量子數據並在可用的量子計算機上執行。
  • 谷歌的量子霸權:或將讓量子計算機,開啟計算領域新紀元?
    谷歌科學家稱已經實現了一種近乎神話的計算狀態,在這種狀態下,新一代量子計算機性能大大超過了世界上最快的超級計算機,也就是所謂的「量子霸權」。一個在谷歌Sycamore機器上工作的專家團隊表示,他們的量子系統在200秒內完成了一個計算,而一臺經典計算機需要1萬年才能完成。
  • 「量子霸權」來了,中國如何發力
    圖片來源:視覺中國「量子霸權」一石激起千層浪。10月24日,《自然》雜誌刊發了谷歌公司的一篇論文。在該論文中谷歌表示,其開發出一款54量子比特數(其中53個量子比特可用)的超導量子晶片「Sycamore」。基於Sycamore,谷歌對一個53比特、20深度的電路採樣一百萬次只需200秒。目前最強的經典超級計算機Summit要得到類似的結果,則需要一萬年。
  • 谷歌聲稱的「量子霸權」到底是什麼東西?
    谷歌科學家今天正式宣布已經實現量子霸權,這項研究發表在 10 月 23 日的《自然》雜誌上。雖然更早之前,論文已經被友軍NASA偷跑,並引起同行質疑,對,就是超級計算機的巨頭IBM,但是當時谷歌沒有作出任何回應。 而現在正式宣布實現量子霸權的谷歌,也引起不明真相的群眾的擔憂。
  • 谷歌低調宣稱「量子霸權」遭打臉,人類離量子時代還有多遠?
    谷歌在聖巴巴拉的實驗,即使從最有利的角度來判斷,也沒有做到這一點。正如IBM的反駁所指出的那樣,未來更有可能涉及到傳統計算機和量子計算機的協同工作。「量子霸權」一詞最初由加州理工學院的教授John Preskill創造並解釋,Preskill教授在2012年發表的論文中表示,量子霸權不是一個拐點,而是一個新時代的鑰匙。
  • 量子計算機200秒完成的運算,最強超算需1萬年,谷歌實現量子霸權
    谷歌在論文摘要中說:我們使用具有53個超導量子位的可編程處理器,佔用狀態空間為253≈1016。重複實驗的測量結果會採樣相應的概率分布。我們使用經典模擬進行驗證。雖然我們的處理器大約需要200秒來採樣一百萬個量子電路實例,但是一臺先進的超級計算機將需要大約1萬年的時間來執行等效的任務。
  • 量子計算理論專家Scott Aaronson解讀「谷歌實現量子霸權」,你看懂了嗎? | 新智元
    今天,著名理論計算機科學家Scott Aaronson就谷歌的「量子霸權」研究進行了FAQ解答,Scott曾是「D-Wave 首席懷疑官」,但他十分肯定谷歌的量子霸權研究。註:風雲之聲內容可以通過語音播放啦!
  • 谷歌實現「量子霸權」意味和不意味著什麼
    ——這是在計算機界被稱為「量子霸權」的裡程碑。這一消息已經引發了一些古怪的頭條新聞,比如Infowars網站上的一條驚呼:谷歌的「量子霸權」使得所有密碼和軍事機密都是可以破解的。谷歌的成就是巨大的,但是量子計算機並沒有突然變成計算巨人,使傳統的計算機望塵莫及。在不久的將來,它們也不會對傳統密碼技術造成破壞。儘管從長遠來看,它們可能構成我們現在就需要開始著手準備應對的威脅。如下是一個關於谷歌究竟取得了什麼成就的指南,以及對圍繞量子霸權炒作的一劑解毒劑。
  • 谷歌實現量子霸權是什麼意思?谷歌實現量子霸權意味著什麼?
    據國外媒體報導,在日前發表在《自然》雜誌上的一篇論文中,谷歌研究人員聲稱首次獲得了「量子優勢」(也被稱為「量子霸權」)。他們的53位量子計算機(名為Sycamore)花了200秒來完成一項計算任務,根據谷歌的說法,這項計算任務將花費世界上最快的超級計算機10000年的時間。
  • 量子計算為何又被稱為量子霸權,實現量子霸權對未來產生哪些影響
    什麼是「量子霸權」,為何要用霸權二字來形容計算機,量子霸權真有比核武器還大的制霸和威懾能力嗎,誰又能在這場事關國家命運的生死時速中率先實現真正實用化的「量子霸權」?2019年,谷歌在實驗室實現了53個量子比特的操控,宣布率先實現「量子霸權」。
  • 谷歌AI發展史:「量子霸權」將人類推進計算的火箭時代!
    谷歌聯合創始人拉裡·佩奇但在谷歌和其他地方,儘管有著宏偉的承諾,但機器學習幾十年來一直只能提供微不足道的結果。不過現在,強大的力量正在谷歌的伺服器內部激蕩。谷歌即將實現「量子霸權」,人類將進入計算的「火箭時代」一年多來,迪恩、NAndrew Ng和他們的同事一直在建立一個龐大的互連計算機網絡,這些計算機以模擬人腦的方式連接在一起。該團隊已經在1,000臺計算機中設計了16,000個處理器,這些加在一起能夠建立10億個連接。
  • 「量子霸權」在「霸權」什麼?
    投稿來源:陳根2019年,谷歌率先宣布實現「量子霸權」(量子優越性),一把把量子計算推入公眾視野,激起量子計算領域的千層浪。就在近日,中國團隊宣布量子計算機「九章」問世,挑戰谷歌「量子霸權」實現算力全球領先。「九章」作為一臺76個光子100個模式的量子計算機,其處理「高斯玻色取樣」的速度比目前最快的超級計算機「富嶽」快一百萬億倍。史上第一次,一臺利用光子構建的量子計算機的表現超越了運算速度最快的經典超級計算機。
  • 連發Science、Nature Physics:谷歌展示量子霸權實現藍圖
    今年 3 月,谷歌曾在洛杉磯舉辦的美國物理學會年會上推出了 72-qubit 超導量子處理器 Bristlecone。與此同時,這家科技巨頭宣稱將要在今年實現「量子霸權」。在硬體之外,谷歌在量子計算理論方面的研究最近也在持續推進,本文將簡要介紹其在四月份分別發表於 Nature Physics 和 Science 的兩篇論文,其中詳細描述了實現量子霸權的計劃藍圖。
  • 量子霸權到底是什麼?
    當今網際網路老大谷歌公司,在2019年成功演示的「量子霸權」技術成功入選。《麻省理工學院技術評論》在國人心中,確實沒有《科學》、《自然》等國際科技期刊有名。不過麻省的這份十大技術榜單,堪稱最近20年裡最牛逼的科學預言大師,曾經準確預測了深度學習、智能手錶、腦機接口、基因療法等目前風口技術的崛起。
  • 我國量子計算機實現量子霸權,計算速度比谷歌快了100億倍
    12月4日,中國科學技術大學宣布,我國新構建的76個光子的量子計算機實現了量子霸權。在5000萬個樣本的高斯玻色取樣實驗中,「九章」量子計算機僅用了200秒就完成了,如果使用世界第三的超級計算機進行實驗,它也要將近20億年才能完成。
  • 我國量子計算機算力超越谷歌百萬倍,量子霸權之爭誰將勝出
    什麼是「量子霸權」,為何要用霸權二字來形容計算機,量子霸權真有比核武器還大的制霸和威懾能力嗎,誰又能在這場事關國家命運的生死時速中率先實現真正實用化的「量子霸權」?2019年,谷歌在實驗室實現了53個量子比特的操控,宣布率先實現「量子霸權」。
  • 中國量子霸權成果遭谷歌量子計算之父質疑
    科學家們對九章實現量子優越性的努力表示讚賞,但它是否可編程和實用?在當今的全球科學事業中,這種情況通常要等到全世界的科學家群體能夠發表意見時才會發生,特別是在量子科學這樣複雜的領域。而這個共同體開始對中國的量子霸權主張進行評價。約翰-馬蒂尼斯(John Martinis),他的團隊去年領導谷歌在量子霸權上的努力,他說,最新的量子霸權努力 "陪審團還沒出來"。
  • 「深度」谷歌再次聲明實現量子霸權,IBM:我不服!
    點擊上方藍色字體,關注我們近日,兩個科技界大佬在量子計算領域的爭論成為熱門話題。谷歌在《自然》(Nature)雜誌上發表論文,正式聲明自己以實現量子霸權。而 IBM 連發駁斥,認為谷歌這是在炒作。但是,谷歌這一研究仍然是一個重要的裡程碑——谷歌執行長皮查伊將其比作萊特兄弟 12 秒鐘的首次飛行。谷歌為什麼突然要加重語氣把這個問題再申明一遍呢?答案是為了回懟 IBM。作為在量子計算領域的資深玩家,IBM 在上月谷歌聲稱「實現量子霸權」時就提出了質疑。
  • 一文讀懂「量子霸權」|量子計算機|算法_網易訂閱
    光子盒研究院出品  自從去年10月23日,谷歌「利用可編程超導處理器實現量子霸權」被正式刊文介紹之後,世界都認識到了一個新名詞:「量子霸權」。  一般認為,如果量子計算機在「某些特定問題」上的計算能力超過了傳統經典計算機,那麼就被認為實現了「量子霸權」。專家估計,如果量子計算機能操控超過49個量子比特,其在某個特定問題上的計算速度就有可能超過包含超級計算機在內的任何傳統計算機。  為什麼谷歌那麼在意自己獲得了「量子霸權」?人類實現「量子霸權」究竟有多大意義?
  • 量子計算機控制系統問世,「量子霸權」仍任重道遠
    它不僅能最大程度發揮量子晶片性能,還能應用於精密測量等更廣泛的科研領域。我國預計2020年實現「量子霸權」相較於量子計算機的控制系統的重要性,目前更重要的目標是率先實現「量子霸權」。中科院量子信息與量子科技創新研究院副研究員張文卓向第一財經記者介紹道,量子計算機的研製目標分為三個階段:第一個階段就是「量子霸權」階段,目前美國在「量子霸權」的爭奪中暫時領先,我國預計在2020年左右實現「量子霸權」的科學目標,縮小與美國的差距;第二個階段是實用化量子模擬機階段,實現數百個量子比特相干操縱的專用型量子計算系統,應用於具有實用價值的組合優化、量子化學