0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

解決量子神經(jīng)網(wǎng)絡(luò)消失梯度問(wèn)題 更好利用 NISQ 設(shè)備資源

Tensorflowers ? 來(lái)源: Andrea Skolik ? 作者: Andrea Skolik ? 2020-09-02 16:41 ? 次閱讀

文 /大眾汽車(chē)公司和萊頓大學(xué)的 Andrea Skolik

3 月初,Google 與滑鐵盧大學(xué)和大眾汽車(chē)公司共同發(fā)布了 TensorFlow Quantum(TFQ)。TensorFlow Quantum 是一個(gè)量子機(jī)器學(xué)習(xí) (QML) 軟件框架,允許研究員聯(lián)合使用 Cirq 和 TensorFlow 的功能。Cirq 和 TFQ 都用于模擬噪聲中等規(guī)模量子 (NISQ) 的設(shè)備。這些設(shè)備當(dāng)前仍處于實(shí)驗(yàn)階段,因此未經(jīng)糾錯(cuò),還會(huì)受到噪聲輸出的影響。

本文介紹的訓(xùn)練策略可以解決量子神經(jīng)網(wǎng)絡(luò) (QNN) 中的消失梯度問(wèn)題,并更好地利用 NISQ 設(shè)備提供的資源。

量子神經(jīng)網(wǎng)絡(luò)

訓(xùn)練 QNN 與訓(xùn)練經(jīng)典神經(jīng)網(wǎng)絡(luò)沒(méi)有太大不同,區(qū)別僅在于優(yōu)化量子電路的參數(shù)而不是優(yōu)化網(wǎng)絡(luò)權(quán)重。量子電路的外形如下所示:

用于四個(gè)量子位分類(lèi)任務(wù)的簡(jiǎn)化 QNN

電路從左到右讀取,每條水平線對(duì)應(yīng)量子計(jì)算機(jī)寄存器中的一個(gè)量子位,每個(gè)量子位都初始化為零狀態(tài)。方框表示對(duì)按順序執(zhí)行的量子位的參數(shù)化運(yùn)算(或“門(mén)”)。在這種情況下,我們有三種不同類(lèi)型的運(yùn)算,X、Y 和 Z。垂直線表示兩個(gè)量子邏輯門(mén),可用于在 QNN 中產(chǎn)生糾纏 - 一種使量子計(jì)算機(jī)勝過(guò)經(jīng)典計(jì)算機(jī)的資源。我們?cè)诿總€(gè)量子位上將一層表示為一個(gè)運(yùn)算,然后將一系列的門(mén)連接成對(duì)的量子位,產(chǎn)生糾纏。

上圖為用于學(xué)習(xí) MNIST 數(shù)字分類(lèi)的簡(jiǎn)化 QNN。

首先,將數(shù)據(jù)集編碼為量子態(tài)。使用數(shù)據(jù)編碼層來(lái)完成這一操作,上圖中標(biāo)記為橙色。在這種情況下,我們將輸入數(shù)據(jù)轉(zhuǎn)換為向量,并將向量值用作數(shù)據(jù)編碼層運(yùn)算的參數(shù) d 。基于此輸入執(zhí)行電路中藍(lán)色標(biāo)記的部分,這一部分代表 QNN 的可訓(xùn)練門(mén),用 p表示。

量子電路的最后一個(gè)運(yùn)算是測(cè)量。計(jì)算期間,量子設(shè)備對(duì)經(jīng)典位串的疊加執(zhí)行運(yùn)算。當(dāng)我們?cè)陔娐飞蠄?zhí)行讀出時(shí),疊加狀態(tài)坍縮為一個(gè)經(jīng)典位串,這就是最后的計(jì)算輸出。所謂的量子態(tài)坍縮是概率性的,要獲得確定性結(jié)果,我們需要對(duì)多個(gè)測(cè)量結(jié)果取平均值。

上圖中,綠色標(biāo)記的部分是第三個(gè)量子位上的測(cè)量,這些測(cè)量結(jié)果用于預(yù)測(cè) MNIST 樣本的標(biāo)簽。將其與真實(shí)數(shù)據(jù)標(biāo)簽對(duì)比,并像經(jīng)典神經(jīng)網(wǎng)絡(luò)一樣計(jì)算損失函數(shù)的梯度。由于參數(shù)優(yōu)化是經(jīng)典計(jì)算機(jī)使用 Adam 等優(yōu)化器處理,因此這些類(lèi)型的 QNN 稱(chēng)為“混合量子經(jīng)典算法”。

消失的梯度,又稱(chēng)貧瘠高原

事實(shí)證明,QNN 與經(jīng)典神經(jīng)網(wǎng)絡(luò)一樣,也存在消失梯度的問(wèn)題。由于 QNN 中梯度消失的原因與經(jīng)典神經(jīng)網(wǎng)絡(luò)有著本質(zhì)的不同,因此采用了一個(gè)新術(shù)語(yǔ):貧瘠高原 (Barren Plateaus)。本文不探討這一重要現(xiàn)象的所有細(xì)節(jié),建議感興趣的讀者閱讀首次介紹 QNN 訓(xùn)練景觀 (Training Landscapes) 中貧瘠高原的文章。

簡(jiǎn)而言之,當(dāng)量子電路被隨機(jī)初始化,就會(huì)出現(xiàn)貧瘠高原 - 在上述電路中,這意味著隨機(jī)選擇運(yùn)算及其參數(shù)。這是訓(xùn)練參數(shù)化量子電路的一個(gè)重點(diǎn)問(wèn)題,并且會(huì)隨著量子位數(shù)量和電路中層數(shù)的增加而越發(fā)嚴(yán)重,如下圖所示。

梯度方差根據(jù)隨機(jī)電路中量子位和層數(shù)的變化而衰減

對(duì)于下面介紹的算法,關(guān)鍵在于電路中添加的層越多,梯度的方差就越小。另一方面,類(lèi)似于經(jīng)典神經(jīng)網(wǎng)絡(luò),QNN 的表示能力也隨著深度的增加而增加。這里的問(wèn)題是,隨著電路尺寸的增加,優(yōu)化景觀在很多位置都會(huì)趨于平坦,以至于難以找到局部最小值。

注意,對(duì)于 QNN,輸出通過(guò)多次測(cè)量的平均值進(jìn)行估算。想要估算的量越小,獲得準(zhǔn)確結(jié)果所需的測(cè)量就越多。如果這些量與測(cè)量不確定性或硬件噪聲造成的影響相比要小得多,這些量就無(wú)法可靠確定,電路優(yōu)化基本上會(huì)變成隨機(jī)游走。

為了成功訓(xùn)練 QNN,必須避免參數(shù)的隨機(jī)初始化,同時(shí)也要阻止 QNN 在訓(xùn)練過(guò)程中由于梯度變小而隨機(jī)化,例如在接近局部最小值的時(shí)候。為此,我們可以限制 QNN 的架構(gòu)(例如,通過(guò)選擇某些門(mén)配置,這需要根據(jù)當(dāng)前任務(wù)調(diào)整架構(gòu)),或控制參數(shù)的更新,使其不會(huì)變得隨機(jī)。

分層學(xué)習(xí)

在我們與 Volkswagen Data:Lab(Andrea Skolik、Patrick van der Smagt、Martin Leib)和 Google AI Quantum(Jarrod R. McClean、Masoud Mohseni)網(wǎng)絡(luò)聯(lián)合發(fā)表的論文 Layerwise learning for quantum neural networks 中,我們介紹了一種避免初始化在高原上并避免網(wǎng)絡(luò)在訓(xùn)練過(guò)程中在高原上結(jié)束的方法。接下來(lái)是一個(gè)關(guān)于 MNIST 數(shù)字二進(jìn)制分類(lèi)學(xué)習(xí)任務(wù)的分層學(xué)習(xí) (Layerwise Learning) 示例。首先,我們需要定義待堆疊的層的結(jié)構(gòu)。當(dāng)前的學(xué)習(xí)任務(wù)未經(jīng)任何假設(shè),因此各層選擇的布局與上圖相同:一層由每個(gè)初始化為零的量子位上的隨機(jī)門(mén)和兩個(gè)量子邏輯門(mén)組成,兩個(gè)量子邏輯門(mén)連接量子位以實(shí)現(xiàn)糾纏。

我們指定了若干個(gè)起始層,在本例中只有一個(gè),將在訓(xùn)練過(guò)程中始終保持活躍狀態(tài),并指定訓(xùn)練每組層的周期數(shù)。另外兩個(gè)超參數(shù)是每個(gè)步驟中添加的新層數(shù),以及一次被最大訓(xùn)練的層數(shù)。在這里選擇一種配置,其中每個(gè)步驟中添加兩個(gè)層,并凍結(jié)除起始層之外的所有先前層的參數(shù),以在每個(gè)步驟中僅訓(xùn)練三個(gè)層。將每組層訓(xùn)練 10 個(gè)周期,然后重復(fù)此過(guò)程十次,直到電路總共由 21 層組成。這里的事實(shí)依據(jù)是淺層電路會(huì)比深層電路產(chǎn)生更大梯度,由此避免了高原上的初始化。

這提供了一個(gè)優(yōu)化過(guò)程的良好起點(diǎn),可以繼續(xù)訓(xùn)練更大的連續(xù)層集。對(duì)另一個(gè)超參數(shù),我們定義了算法第二階段一起訓(xùn)練的層的百分比。在此將電路分成兩半,交替訓(xùn)練兩個(gè)部分,其中不活動(dòng)部分的參數(shù)始終凍結(jié)。一個(gè)所有分區(qū)都訓(xùn)練過(guò)一次的訓(xùn)練序列稱(chēng)為掃描,對(duì)這個(gè)電路執(zhí)行掃描,直到損失收斂。當(dāng)完整參數(shù)集始終完成訓(xùn)練時(shí),我們將這種情況稱(chēng)為“完全深度學(xué)習(xí)”(Complete Depth Learning),一個(gè)欠佳的更新步驟會(huì)影響整個(gè)電路并將其引入隨機(jī)配置,導(dǎo)致無(wú)從逃脫的貧瘠高原。

接下來(lái)將我們的訓(xùn)練策略與訓(xùn)練 QNN 的標(biāo)準(zhǔn)技術(shù) CDL 進(jìn)行比較。為了得到公平的結(jié)果,我們使用與先前 LL 策略生成的電路架構(gòu)完全相同的電路架構(gòu),但現(xiàn)在在每一步中同時(shí)更新所有參數(shù)。為了給 CDL 提供訓(xùn)練的機(jī)會(huì),參數(shù)將優(yōu)化為零,而不是隨機(jī)優(yōu)化。由于無(wú)法使用真正的量子計(jì)算機(jī),因此我們模擬 QNN 的概率輸出,并選擇一個(gè)相對(duì)較低的值來(lái)估計(jì) QNN 每次預(yù)測(cè)的測(cè)量次數(shù)——此例中為 10。假設(shè)真正的量子計(jì)算機(jī)上的采樣率為 10kHZ,我們可以估算出訓(xùn)練運(yùn)行的實(shí)驗(yàn)性掛鐘時(shí)間,如下所示:

不同學(xué)習(xí)率 η 的分層深度學(xué)習(xí)和完全深度學(xué)習(xí)的比較。每種配置訓(xùn)練了 100 個(gè)電路,并對(duì)最終測(cè)試誤差低于 0.5(圖例中成功運(yùn)行的次數(shù))的電路取平均值

通過(guò)少量的測(cè)量,可以研究 LL 和 CDL 方法不同梯度幅度的影響:如果梯度值較大,則與較小值相比,10 次測(cè)量可以提供更多信息。執(zhí)行參數(shù)更新的信息越少,損失的方差就越大,執(zhí)行錯(cuò)誤更新的風(fēng)險(xiǎn)也就越大,這將使更新的參數(shù)隨機(jī)化,并導(dǎo)致 QNN 進(jìn)入高原。這一方差可以通過(guò)更小的學(xué)習(xí)率降低,因此上圖比較了學(xué)習(xí)率不同的 LL 和 CDL 策略。

值得注意的是,CDL 運(yùn)行的測(cè)試誤差會(huì)隨運(yùn)行時(shí)間的增加而增加,最初看起來(lái)像是過(guò)擬合。然而,這張圖中的每條曲線都是多次運(yùn)行的平均值,實(shí)際情況是,越來(lái)越多的 CDL 運(yùn)行在訓(xùn)練過(guò)程中隨機(jī)化,無(wú)法恢復(fù)。如圖例所示,與 CDL 相比,LL 運(yùn)行中有更大一部分在測(cè)試集上實(shí)現(xiàn)了小于 0.5 的分類(lèi)誤差,所用時(shí)間也更少。

綜上所述,分層學(xué)習(xí)提高了在更少訓(xùn)練時(shí)間內(nèi)成功訓(xùn)練 QNN 的概率,總體上具有更好的泛化誤差,這在 NISQ 設(shè)備上尤其實(shí)用。
原文標(biāo)題:介紹量子神經(jīng)網(wǎng)絡(luò)訓(xùn)練策略,解決消失梯度問(wèn)題

文章出處:【微信公眾號(hào):TensorFlow】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:介紹量子神經(jīng)網(wǎng)絡(luò)訓(xùn)練策略,解決消失梯度問(wèn)題

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    循環(huán)神經(jīng)網(wǎng)絡(luò)的常見(jiàn)調(diào)參技巧

    循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,簡(jiǎn)稱(chēng)RNN)是一種用于處理序列數(shù)據(jù)的深度學(xué)習(xí)模型,它能夠捕捉時(shí)間序列中的動(dòng)態(tài)特征。然而,RNN的訓(xùn)練往往比傳統(tǒng)的前饋神經(jīng)網(wǎng)絡(luò)更具
    的頭像 發(fā)表于 11-15 10:13 ?269次閱讀

    訓(xùn)練RNN時(shí)如何避免梯度消失

    在處理長(zhǎng)序列數(shù)據(jù)時(shí),RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))模型可能會(huì)面臨梯度消失的問(wèn)題,這是由于反向傳播過(guò)程中,由于連續(xù)的乘法操作,梯度會(huì)指數(shù)級(jí)地衰減,導(dǎo)致較早的時(shí)間步的輸入對(duì)較后時(shí)間步的
    的頭像 發(fā)表于 11-15 10:01 ?417次閱讀

    循環(huán)神經(jīng)網(wǎng)絡(luò)的優(yōu)化技巧

    循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,簡(jiǎn)稱(chēng)RNN)是一種用于處理序列數(shù)據(jù)的深度學(xué)習(xí)模型,它能夠捕捉時(shí)間序列中的動(dòng)態(tài)特征。然而,RNN在訓(xùn)練過(guò)程中可能會(huì)遇到梯度消失
    的頭像 發(fā)表于 11-15 09:51 ?298次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)RNN的區(qū)別

    在深度學(xué)習(xí)領(lǐng)域,循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)因其能夠處理序列數(shù)據(jù)而受到廣泛關(guān)注。然而,傳統(tǒng)RNN在處理長(zhǎng)序列時(shí)存在梯度消失梯度爆炸的問(wèn)題。為了解決這一問(wèn)題,LSTM(長(zhǎng)短期記憶)
    的頭像 發(fā)表于 11-13 09:58 ?439次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)在時(shí)間序列預(yù)測(cè)中的應(yīng)用

    LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),它能夠?qū)W習(xí)長(zhǎng)期依賴關(guān)系。與傳統(tǒng)的RNN相比,LSTM通過(guò)引入門(mén)控機(jī)制(輸入門(mén)、遺忘門(mén)、輸出門(mén))來(lái)解決梯度消失梯度爆炸的問(wèn)題,使其能夠處理
    的頭像 發(fā)表于 11-13 09:54 ?809次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)的基本原理 如何實(shí)現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)

    廣泛應(yīng)用。 LSTM神經(jīng)網(wǎng)絡(luò)的基本原理 1. 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的局限性 傳統(tǒng)的RNN在處理長(zhǎng)序列數(shù)據(jù)時(shí)會(huì)遇到梯度消失梯度爆炸的問(wèn)題,
    的頭像 發(fā)表于 11-13 09:53 ?586次閱讀

    殘差網(wǎng)絡(luò)是深度神經(jīng)網(wǎng)絡(luò)

    殘差網(wǎng)絡(luò)(Residual Network,通常簡(jiǎn)稱(chēng)為ResNet) 是深度神經(jīng)網(wǎng)絡(luò)的一種 ,其獨(dú)特的結(jié)構(gòu)設(shè)計(jì)在解決深層網(wǎng)絡(luò)訓(xùn)練中的梯度消失
    的頭像 發(fā)表于 07-11 18:13 ?1173次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)機(jī)制

    BP神經(jīng)網(wǎng)絡(luò)(Backpropagation Neural Network),即反向傳播神經(jīng)網(wǎng)絡(luò),是一種基于梯度下降算法的多層前饋神經(jīng)網(wǎng)絡(luò),其學(xué)習(xí)機(jī)制的核心在于通過(guò)反向傳播算法
    的頭像 發(fā)表于 07-10 15:49 ?706次閱讀

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)的區(qū)別

    BP神經(jīng)網(wǎng)絡(luò)和人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡(jiǎn)稱(chēng)ANNs)之間的關(guān)系與區(qū)別,是神經(jīng)網(wǎng)絡(luò)領(lǐng)域中一個(gè)基礎(chǔ)且重要的話題。本文將從定義、結(jié)構(gòu)、算法、應(yīng)用及未來(lái)發(fā)展等多個(gè)方面,詳細(xì)闡述BP
    的頭像 發(fā)表于 07-10 15:20 ?1274次閱讀

    如何利用Matlab進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練

    ,使得神經(jīng)網(wǎng)絡(luò)的創(chuàng)建、訓(xùn)練和仿真變得更加便捷。本文將詳細(xì)介紹如何利用Matlab進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練,包括網(wǎng)絡(luò)創(chuàng)建、數(shù)據(jù)預(yù)處理、訓(xùn)練過(guò)程、參數(shù)調(diào)整以及仿真預(yù)測(cè)等步驟。
    的頭像 發(fā)表于 07-08 18:26 ?2028次閱讀

    rnn是遞歸神經(jīng)網(wǎng)絡(luò)還是循環(huán)神經(jīng)網(wǎng)絡(luò)

    RNN(Recurrent Neural Network)是循環(huán)神經(jīng)網(wǎng)絡(luò),而非遞歸神經(jīng)網(wǎng)絡(luò)。循環(huán)神經(jīng)網(wǎng)絡(luò)是一種具有時(shí)間序列特性的神經(jīng)網(wǎng)絡(luò),能夠處理序列數(shù)據(jù),具有記憶功能。以下是關(guān)于循環(huán)
    的頭像 發(fā)表于 07-05 09:52 ?639次閱讀

    遞歸神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)

    遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡(jiǎn)稱(chēng)RNN)和循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,簡(jiǎn)稱(chēng)RNN)實(shí)際上是同一個(gè)概念,只是不同的翻譯方式
    的頭像 發(fā)表于 07-04 14:54 ?864次閱讀

    循環(huán)神經(jīng)網(wǎng)絡(luò)的缺點(diǎn)是存在什么問(wèn)題

    循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,簡(jiǎn)稱(chēng)RNN)是一種具有記憶功能的神經(jīng)網(wǎng)絡(luò),它能夠處理序列數(shù)據(jù),如文本、語(yǔ)音和時(shí)間序列等。 梯度消失
    的頭像 發(fā)表于 07-04 14:41 ?1123次閱讀

    深度神經(jīng)網(wǎng)絡(luò)與基本神經(jīng)網(wǎng)絡(luò)的區(qū)別

    在探討深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks, DNNs)與基本神經(jīng)網(wǎng)絡(luò)(通常指?jìng)鹘y(tǒng)神經(jīng)網(wǎng)絡(luò)或前向神經(jīng)網(wǎng)絡(luò))的區(qū)別時(shí),我們需要從多個(gè)維度進(jìn)行深入分析。這些維度包括
    的頭像 發(fā)表于 07-04 13:20 ?1040次閱讀

    神經(jīng)網(wǎng)絡(luò)在數(shù)學(xué)建模中的應(yīng)用

    數(shù)學(xué)建模是一種利用數(shù)學(xué)方法和工具來(lái)描述和分析現(xiàn)實(shí)世界問(wèn)題的過(guò)程。神經(jīng)網(wǎng)絡(luò)是一種模擬人腦神經(jīng)元結(jié)構(gòu)和功能的計(jì)算模型,可以用于解決各種復(fù)雜問(wèn)題。在數(shù)學(xué)建模中,神經(jīng)網(wǎng)絡(luò)可以作為一種有效的工具
    的頭像 發(fā)表于 07-02 11:29 ?1097次閱讀