深度卷積神經網絡應用於量子計算機

量子機器學習(QML)旨在使用量子系統對向量進行編碼,並使用新的量子算法對其進行學習。

深度卷積神經網絡應用於量子計算機

愛因斯坦

量子計算機將用於什麼用途?量子計算機有望在許多領域幫助解決難題,包括機器學習。

本文詳細講述量子計算機卷積神經網絡(CNN)的理論實現。我們將此算法稱為QCNN,我們證明了它可以比CNN 更快地運行,並且精度很高

為此,我們必須提出卷積積量子形式,找到實現非線性和池化的方法,以及對表示圖像量子態進行層析成像的新方法,以保留有意義的信息



CNN和Quantum計算機的超簡短介紹

簡而言之,我們可以說量子物理系統可以描述為維度為2^n的某些希爾伯特空間中的向量,其中n是粒子數。實際上,這些向量表示許多可能的觀察結果的疊加。

另一方面,機器學習,尤其是神經網絡,正在粗略地使用向量和矩陣來理解或處理數據。量子機器學習(QML)旨在使用量子系統對向量進行編碼,並使用新的量子算法對其進行學習。一個關鍵的概念是在許多矢量上使用量子疊加,我們可以同時處理它們。

深度卷積神經網絡應用於量子計算機

谷歌的量子計算機最近實現了"量子至上"

我不會更深入地介紹量子計算或QML。有關更多詳細信息,可以參考NeurIPS 2019中有關Quantum k-means的一篇文章 :

量子機器學習:量子計算機上的一種更快的聚類算法

卷積神經網絡(CNN)是一種流行且高效的神經網絡,用於圖像分類,信號處理等。在大多數層中,將卷積積應用於圖像或張量的輸入上。通常後面是非線性層和池化層

深度卷積神經網絡應用於量子計算機

3D張量輸入X ^ 1(RGB圖像)和4D張量內核K ^ 1之間的卷積。



量子卷積層

在本章中,我將重點介紹一層,解釋什麼是量子CNN。

卷積積作為矩陣乘法

這裡的核心思想是我們可以根據矩陣乘法來重新構造卷積積。

深度卷積神經網絡應用於量子計算機

X^l和K^l之間的卷積等效於它們的重整形式A ^ l和F ^ l之間的矩陣乘法。可以將輸出Y ^ l + 1整形為卷積結果X ^ l + 1。

該算法首先以量子疊加方式加載矩陣的所有行和列。然後,我們使用先前開發的Quantum Inner Product Estimation估算輸出的每個像素。在實踐中,這就像只計算一個輸出像素(圖中的紅點),但是以量子疊加的方式進行計算可以使它們同時全部都具有!然後,我們可以同時對它們中的每一個應用非線性。

不幸的是,我們所擁有的只是一個量子狀態,其中所有像素並行存在,並不意味著我們可以訪問所有像素。如果我們打開"量子盒"並查看結果(一個度量),我們每次都會隨機地只看到一個輸出像素。在打開盒子之前,這裡都有"四處漂浮"的東西,就像著名的薛定諤的死活貓。

僅提取有意義的信息

為了解決這個問題,我們引入了一種只檢索最有意義的像素的方法

。實際上,量子疊加中的每個輸出像素都有一個幅度,與我們測量系統時被看到的幅度有關。在我們的算法中,我們強制此幅度等於像素值。因此,具有高值的輸出像素更有可能被看到。

在CNN中,輸出中的高值像素非常重要。它們代表輸入中存在特定模式的區域。通過了解不同模式出現的位置,神經網絡可以理解圖像。因此,這些高價值像素承載著有意義的信息,我們可以捨棄其他希望CNN適應的像素

深度卷積神經網絡應用於量子計算機

圖像上量子效應(噪聲,隨機性,採樣)的小示例。憑直覺,我們僅對高值像素採樣後仍可以"理解"圖像。

請注意,在對這些輸出像素進行採樣時,我們可以在存儲它們時應用任何類型的合併(有關技術細節,請參見論文)。我們將這些像素存儲在經典內存中,以便可以將它們重新加載為下一層的輸入。



更快的運行時間

傳統上,CNN層需要時間Õ(輸出大小x內核大小。這就是為什麼例如使用許多大內核來訓練這些網絡變得昂貴的原因。我們的量子CNN需要時間為O(

σ X輸出大小)X Q) ,其中σ是我們從輸出(<1)繪製樣品的比率,和Q表示量子精度參數和數據相關的參數一束。有沒有在內核大小更依賴(數量和尺寸),這可能允許進行更深入的CNN。

量子反向傳播

通過量子CNN的這種設計,我們現在也想用量子算法對其進行訓練。訓練包括遵循梯度下降規則更新內核參數。在這裡也可以找到一種更快的量子算法,它幾乎等同於具有某些額外誤差的通常的梯度下降。

實驗

QCNN和量子反向傳播看起來不錯,但暗示了很多近似,噪聲和隨機性。儘管有這些偽像,CNN仍然可以學習嗎?我們比較了小型經典CNN的訓練和QCNN在學習對手寫數字進行分類(MNIST數據集)的任務上的模擬。這表明QCNN可以以相似的精度學習

深度卷積神經網絡應用於量子計算機

量子和經典CNN訓練曲線之間的比較。σ是從每一層後的輸出提取的高值像素的比率。期望σ太小,QCNN可以很好地學習。請注意,此數值模擬很小,只能給出直覺,不是證明。

結論

在這項工作中,我們設計了第一個量子算法,通過引入量子卷積乘積和檢索有意義的信息的新方法,幾乎​​可以重現任何經典的CNN體​​繫結構。它可以允許使用更深,更大的輸入或內核來大大加快CNN的速度。我們還開發了量子反向傳播算法,並模擬了整個訓練過程。

請讀者思考的問題:我們可以在其他數據集使用大型架構上訓練QCNN嗎?



分享到:


相關文章: