本發(fā)明涉及量子計算和機器學(xué)習(xí),具體涉及一種量子經(jīng)典混合機器學(xué)習(xí)系統(tǒng)與框架的實現(xiàn),更具體地說,涉及一種量子經(jīng)典混合機器學(xué)習(xí)模型構(gòu)建系統(tǒng)與方法。
背景技術(shù):
1、在當(dāng)代科學(xué)研究的版圖中,經(jīng)典機器學(xué)習(xí)與量子計算的融合無疑標(biāo)志著一個新的技術(shù)前沿。經(jīng)典機器學(xué)習(xí),尤其是深度學(xué)習(xí)與強化學(xué)習(xí),已經(jīng)在圖像識別、自然語言處理、游戲智能等領(lǐng)域取得了令人矚目的成就。例如,chatgpt等先進(jìn)人工智能系統(tǒng)在理解和生成自然語言方面的能力,以及ai繪畫技術(shù)在藝術(shù)創(chuàng)作中的應(yīng)用,均體現(xiàn)了經(jīng)典機器學(xué)習(xí)算法在處理和分析大規(guī)模數(shù)據(jù)集方面的卓越性能。
2、隨著量子計算技術(shù)的逐步成熟,量子經(jīng)典混合機器學(xué)習(xí)模型應(yīng)運而生,它們結(jié)合了量子計算的超前特性與經(jīng)典算法的穩(wěn)健性。量子計算的并行性和量子疊加狀態(tài)為處理大規(guī)模數(shù)據(jù)集提供了新的視角和可能性,使得量子經(jīng)典混合模型在執(zhí)行復(fù)雜計算任務(wù)時展現(xiàn)出更高的效率。此外,量子算法的引入,為傳統(tǒng)計算范式下可能難以高效解決的優(yōu)化問題提供了新的途徑。
3、在量子機器學(xué)習(xí)模型的構(gòu)建中,參數(shù)化量子門的使用是實現(xiàn)量子態(tài)可調(diào)的關(guān)鍵。這些量子門的參數(shù)通過經(jīng)典優(yōu)化器進(jìn)行迭代調(diào)整,從而使量子機器學(xué)習(xí)模型能夠適應(yīng)各種輸入數(shù)據(jù)和學(xué)習(xí)任務(wù),這一過程不僅增強了模型的泛化能力,也為量子機器學(xué)習(xí)領(lǐng)域的發(fā)展注入了新的活力。
4、在量子經(jīng)典混合機器學(xué)習(xí)領(lǐng)域,盡管經(jīng)典機器學(xué)習(xí)算法和量子計算技術(shù)的迅猛發(fā)展為處理復(fù)雜數(shù)據(jù)集和優(yōu)化問題提供了新的可能性,但實現(xiàn)這些技術(shù)在實際應(yīng)用中的潛力仍面臨一系列挑戰(zhàn)。這些挑戰(zhàn)不僅涉及技術(shù)實現(xiàn)的復(fù)雜性,還關(guān)系到用戶在使用這些技術(shù)時的便利性和效率。具體而言,現(xiàn)階段缺乏預(yù)設(shè)模塊和模型構(gòu)建方法,大多數(shù)現(xiàn)有技術(shù)只提供算法和模型的構(gòu)建接口,而沒有提供常用算法的預(yù)設(shè)模型。用戶需要自行編寫包括數(shù)據(jù)預(yù)處理、編碼器、量子計算層、經(jīng)典機器學(xué)習(xí)網(wǎng)絡(luò)以及輸出后處理等各個部分的程序。這無疑增加了技術(shù)應(yīng)用的門檻,嚴(yán)重限制了技術(shù)的普及和應(yīng)用范圍。此外,量子計算層和經(jīng)典計算層之間存在梯度傳播障礙。由于兩者的計算模型和運算方式存在較大差異,在量子經(jīng)典混合計算模型中,梯度傳播復(fù)雜,目前的技術(shù)通常依賴額外的機器學(xué)習(xí)框架進(jìn)行梯度計算和傳播,使得梯度的有效傳播變得復(fù)雜,現(xiàn)有解決方案往往依賴于額外的機器學(xué)習(xí)框架,該方案需要頻繁進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換、梯度存儲和傳遞,這不僅增加了系統(tǒng)的復(fù)雜性,也導(dǎo)致了計算資源的浪費。
5、綜上所述,現(xiàn)階段的量子經(jīng)典混合機器學(xué)習(xí)方法通常要求用戶不僅要具備量子計算與經(jīng)典機器學(xué)習(xí)領(lǐng)域的深厚知識基礎(chǔ),還要能夠熟練掌握相關(guān)的編程工具和框架,使得模型構(gòu)建過程繁瑣且學(xué)習(xí)曲線陡峭,從而限制了該技術(shù)的廣泛采納和實際應(yīng)用,此外,現(xiàn)有的解決量子經(jīng)典混合機器學(xué)習(xí)模型梯度傳播障礙問題的方案往往依賴于額外的機器學(xué)習(xí)框架,該方案需要頻繁進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換、梯度存儲和傳遞,這不僅增加了系統(tǒng)的復(fù)雜性,也導(dǎo)致了計算資源的浪費。
6、需要說明的是:本背景技術(shù)僅用于介紹本發(fā)明的相關(guān)信息,以便于幫助理解本發(fā)明的技術(shù)方案,但并不意味著相關(guān)信息必然是現(xiàn)有技術(shù)。在沒有證據(jù)表明相關(guān)信息已在本發(fā)明的申請日以前公開的情況下,相關(guān)信息不應(yīng)被視為現(xiàn)有技術(shù)。
技術(shù)實現(xiàn)思路
1、因此,本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,提供一種用于構(gòu)建量子經(jīng)典混合機器學(xué)習(xí)模型的系統(tǒng)與方法。
2、本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的:
3、根據(jù)本發(fā)明的第一方面,提出一種量子經(jīng)典混合機器學(xué)習(xí)模型構(gòu)建系統(tǒng),所述系統(tǒng)包括:數(shù)據(jù)集單元,用于提供多種可供選擇的數(shù)據(jù)集加載服務(wù)、多種可供選擇的數(shù)據(jù)集預(yù)處理服務(wù)、多種可供選的數(shù)據(jù)集編碼服務(wù),并在用戶根據(jù)需求選擇的數(shù)據(jù)集加載服務(wù)、數(shù)據(jù)集預(yù)處理服務(wù)、數(shù)據(jù)集編碼服務(wù)的基礎(chǔ)上為用戶加載對應(yīng)的數(shù)據(jù)集、進(jìn)行對應(yīng)的數(shù)據(jù)預(yù)處理、進(jìn)行對應(yīng)的數(shù)據(jù)集編碼以獲得用戶需要的目標(biāo)訓(xùn)練集;計算層單元,用于提供多種可供選擇的初始機器學(xué)習(xí)模型構(gòu)建服務(wù),并在用戶根據(jù)需求選擇的初始機器學(xué)習(xí)模型構(gòu)建服務(wù)基礎(chǔ)上為用戶構(gòu)建初始機器學(xué)習(xí)模型;自動微分單元,用于提供多種可供選擇的損失函數(shù)配置服務(wù)、多種可供選擇的量子微分器配置服務(wù)、經(jīng)典微分器自動配置服務(wù),并在用戶根據(jù)需求選擇的損失函數(shù)配置服務(wù)、經(jīng)典微分器配置服務(wù)基礎(chǔ)上配置用戶所需的損失函數(shù)、量子微分器以及根據(jù)計算層單元構(gòu)建的初始機器學(xué)習(xí)模型自動配置經(jīng)典微分器;模型訓(xùn)練單元,用于提供多種可供選擇的經(jīng)典優(yōu)化器配置服務(wù)、多種可供選擇的經(jīng)典調(diào)度器配置服務(wù)、多種可供選擇的訓(xùn)練方法配置服務(wù)、量子經(jīng)典混合機器學(xué)習(xí)模型訓(xùn)練服務(wù),其被配置為:基于配置的經(jīng)典優(yōu)化器、經(jīng)典調(diào)度器、訓(xùn)練方法與所述數(shù)據(jù)集單元中構(gòu)建的訓(xùn)練集以及所述自動微分單元中配置的損失函數(shù)、經(jīng)典微分器、量子微分器訓(xùn)練所述計算層單元構(gòu)建的初始機器學(xué)習(xí)模型以得到用戶所需的目標(biāo)機器學(xué)習(xí)模型。
4、根據(jù)本發(fā)明的第一方面,所述數(shù)據(jù)集單元包括:數(shù)據(jù)集加載模塊,用于提供多種可供選擇的數(shù)據(jù)集加載服務(wù),其預(yù)設(shè)有多種可選的數(shù)據(jù)集以及數(shù)據(jù)集自定義加載接口以使用戶可根據(jù)需求選擇數(shù)據(jù)集或加載通過自定義接口定義的數(shù)據(jù)集;預(yù)處理模塊,用于提供多種可供選擇的數(shù)據(jù)集預(yù)處理服務(wù),其預(yù)設(shè)有多種可選的數(shù)據(jù)集預(yù)處理方法以及數(shù)據(jù)集預(yù)處理方法自定義接口,并被配置為基于用戶選擇的預(yù)處理方法和/或通過自定義接口定義的預(yù)處理方法對數(shù)據(jù)集進(jìn)行預(yù)處理;編碼模塊,用于提供多種可供選擇的數(shù)據(jù)集編碼服務(wù),其預(yù)設(shè)多種可選的編碼器與編碼器自定義接口,并被配置為基于用戶選擇的編碼器或通過自定義接口定義的編碼器對預(yù)處理后的數(shù)據(jù)集進(jìn)行編碼以獲得目標(biāo)訓(xùn)練集。
5、根據(jù)本發(fā)明的第一方面,所述計算層單元包括:經(jīng)典計算層模塊,用于提供多種可選的經(jīng)典計算層、多種可選的激活函數(shù)、經(jīng)典計算層自定義接口、激活函數(shù)自定義接口以使用戶根據(jù)需求選擇經(jīng)典計算層、激活函數(shù)或通過自定義接口定義經(jīng)典計算層、激活函數(shù);量子計算層模塊,用于提供多種可選的量子計算層與量子計算層自定義接口以使用戶可根據(jù)需求選擇量子計算層或通過自定義接口定義量子計算層,其中,每個量子計算層包括:由多個量子比特組成的量子比特序列、多個參數(shù)化單比特量子門、多個參數(shù)化雙比特量子門,每個參數(shù)化單比特量子門與參數(shù)化雙比特量子門包含一個固定參數(shù)或可調(diào)參數(shù)。
6、根據(jù)本發(fā)明的第一方面,在所述量子計算層模塊中,所述預(yù)設(shè)的多種量子計算層至少包含硬件高效擬設(shè)量子電路,所述硬件高效擬設(shè)量子電路由多個參數(shù)層和糾纏層交替構(gòu)成,其中,每個參數(shù)層由多個參數(shù)化單比特量子門組成,每個糾纏層由多個參數(shù)化雙比特量子門組成,每個參數(shù)化雙比特量子門包括控制位與目標(biāo)位,每個糾纏層采用的如下任一糾纏結(jié)構(gòu)進(jìn)行構(gòu)建:下階梯糾纏結(jié)構(gòu),其為每個參數(shù)化雙比特量子門的控制位與目標(biāo)位從量子比特序列頭部依次作用于連續(xù)的兩個量子比特,并在最后作用于位于量子比特序列首尾的兩個量子比特;全連接糾纏結(jié)構(gòu),其為每個參數(shù)化雙比特量子門的控制位與目標(biāo)位依次作用于量子比特序列中的所有量子比特對,所述量子比特對由量子比特序列中任意兩個量子比特組成;控制位糾纏結(jié)構(gòu),其為所有參數(shù)化雙比特量子門的控制位僅作用于一個特定的量子比特并且目標(biāo)位依次作用于除特定的量子比特外的其他量子比特;目標(biāo)位糾纏結(jié)構(gòu),其為所有參數(shù)化雙比特量子門的目標(biāo)位僅作用于一個特定的量子比特并且控制位依次作用于除該特定的量子比特外的其他量子比特。
7、根據(jù)本發(fā)明的第一方面,在所述計算層單元中,構(gòu)建僅包含量子計算層的初始機器學(xué)習(xí)模型或構(gòu)建包含量子計算層與經(jīng)典計算層的初始機器學(xué)習(xí)模型,其中,通過以下方式構(gòu)建僅包含量子計算層的初始機器學(xué)習(xí)模型:用戶根據(jù)需求在量子計算層模塊中選擇或自定義一個或多個量子計算層并為每個量子計算層配置一個或多個量子測量位;基于用戶根據(jù)需求配置的連接順序連接所有選取或自定義的量子計算層以組成初始機器學(xué)習(xí)模型;通過以下方式構(gòu)建包含量子計算層與經(jīng)典計算層的初始機器學(xué)習(xí)模型:用戶根據(jù)需求在量子計算層模塊中選擇或自定義一個或多個量子計算層并為每個量子計算層配置一個或多個量子測量位;用戶根據(jù)需求在經(jīng)典計算層模塊中選擇或自定義一個或多個經(jīng)典計算層與激活函數(shù);基于用戶根據(jù)需求配置的連接順序連接所有選擇或自定義的量子計算層與經(jīng)典計算層以獲得初始機器學(xué)習(xí)模型。
8、根據(jù)本發(fā)明的第一方面,在構(gòu)建初始機器學(xué)習(xí)模型時,如需量子計算層的輸出端與經(jīng)典計算層輸入端連接時,將對量子計算層的量子測量位進(jìn)行測量得到的輸出數(shù)據(jù)作為與其連接的經(jīng)典計算層的輸入數(shù)據(jù),其中,量子計算層的輸出數(shù)據(jù)的維度與經(jīng)典計算層的輸入數(shù)據(jù)的維度一致;如需經(jīng)典計算層輸出端與量子計算層輸入端連接時,將經(jīng)典計算層的輸出數(shù)據(jù)直接作為與其連接的量子計算層的可調(diào)參數(shù),其中,經(jīng)典計算層的輸出數(shù)據(jù)的維度與量子計算層的可調(diào)參數(shù)的數(shù)量一致;如需經(jīng)典計算層與經(jīng)典計算層連接時,上一個經(jīng)典計算層的輸出數(shù)據(jù)作為下一個經(jīng)典計算層的輸入數(shù)據(jù),其中,上一個經(jīng)典計算層的輸出數(shù)據(jù)與下一個經(jīng)典計算層的輸入數(shù)據(jù)維度一致;如需量子計算層與量子計算層連接時,將兩個量子計算層組合為一個量子計算層。
9、根據(jù)本發(fā)明的第一方面,所述自動微分單元包括:損失函數(shù)構(gòu)建模塊,用于提供多種可供選擇的損失函數(shù)構(gòu)建服務(wù),該損失函數(shù)構(gòu)建模塊預(yù)設(shè)多種可選的損失函數(shù)與損失函數(shù)自定義接口以使用戶可根據(jù)需求選擇預(yù)設(shè)的損失函數(shù)或通過自定義接口定義損失函數(shù);經(jīng)典微分器自動配置模塊,用于提供經(jīng)典微分器自動配置服務(wù),該經(jīng)典微分器配置模塊提供預(yù)設(shè)的經(jīng)典微分器,并被配置為在計算層單元構(gòu)建的初始機器學(xué)習(xí)模型包含經(jīng)典計算層的基礎(chǔ)上自動配置經(jīng)典微分器;量子微分器配置模塊,用于提供多種可供選擇的量子微分器構(gòu)建服務(wù),該量子微分器配置模塊預(yù)設(shè)多種可選的量子微分器以使用戶可根據(jù)需求選擇量子微分器。
10、根據(jù)本發(fā)明的第一方面,所述訓(xùn)練單元包括:經(jīng)典優(yōu)化器配置模塊,用于提供多種可供選擇的經(jīng)典優(yōu)化器配置服務(wù),該經(jīng)典優(yōu)化器配置模塊預(yù)設(shè)多種可選的經(jīng)典優(yōu)化器與經(jīng)典優(yōu)化器自定義接口以使用戶可根據(jù)需求選擇或通過自定義接口定義經(jīng)典優(yōu)化器;經(jīng)典調(diào)度器配置模塊,用于提供多種可供選擇的經(jīng)典調(diào)度器配置服務(wù),該經(jīng)典調(diào)度器配置模塊預(yù)設(shè)多種可選的經(jīng)典調(diào)度器與經(jīng)典調(diào)度器自定義接口以使用戶可根據(jù)需求選擇經(jīng)典微分器或通過自定義接口定義經(jīng)典調(diào)度器;訓(xùn)練方法配置模塊,用于提供多種可供選擇的訓(xùn)練方法配置服務(wù),該訓(xùn)練方法配置模塊預(yù)設(shè)默認(rèn)的訓(xùn)練方法與訓(xùn)練方法自定義接口以使用戶可根據(jù)需求選擇默認(rèn)的訓(xùn)練方法或通過自定義接口定義訓(xùn)練方法;模型訓(xùn)練模塊,用于基于所述數(shù)據(jù)集單元中構(gòu)建的訓(xùn)練集、采用訓(xùn)練方法配置模塊中配置的訓(xùn)練方法對初始機器學(xué)習(xí)模型進(jìn)行多輪迭代訓(xùn)練以得到目標(biāo)機器學(xué)習(xí)模型,其中,在訓(xùn)練過程中,基于所述自動微分單元中配置的損失函數(shù)、經(jīng)典微分器、量子微分器、優(yōu)化器模塊中配置的優(yōu)化器、調(diào)度器模塊中配置的調(diào)度器優(yōu)化機器學(xué)習(xí)模型的參數(shù)。
11、根據(jù)本發(fā)明的第一方面,在所述多輪迭代訓(xùn)練中,每輪迭代訓(xùn)練包含前向傳播過程與反向傳播過程,其中,在反向傳播過程中,基于經(jīng)典微分器配置模塊中選擇的經(jīng)典微分器更新經(jīng)典計算層的梯度信息;在前向傳播過程中通過如下方式自動更新每個量子計算層中的梯度信息:預(yù)先為量子計算層中的每個可調(diào)參數(shù)配置一個參數(shù)標(biāo)識符,并將每個參數(shù)標(biāo)識符與其對應(yīng)的可調(diào)參數(shù)的梯度綁定;在迭代訓(xùn)練的前向傳播過程中,利用參數(shù)標(biāo)識符訪問可調(diào)參數(shù)的梯度及其梯度,并基于量子微分器配置模塊中選擇的量子微分器計算每個可調(diào)參數(shù)的梯度以更新量子計算層中的梯度信息。
12、根據(jù)本發(fā)明的第二方面,提出一種采用如本發(fā)明第一方面任一所述的量子經(jīng)典混合機器學(xué)習(xí)模型構(gòu)建系統(tǒng)構(gòu)建機器學(xué)習(xí)模型的方法,所述方法包括:用戶根據(jù)需求選擇數(shù)據(jù)集加載服務(wù)、數(shù)據(jù)集預(yù)處理服務(wù)、數(shù)據(jù)集編碼服務(wù)并基于用戶的選擇加載對應(yīng)的數(shù)據(jù)集、進(jìn)行對應(yīng)的數(shù)據(jù)預(yù)處理、進(jìn)行對應(yīng)的數(shù)據(jù)集編碼以獲得用戶需要的目標(biāo)訓(xùn)練集;用戶根據(jù)需求選擇初始機器學(xué)習(xí)模型構(gòu)建服務(wù)以構(gòu)建用戶需要的初始機器學(xué)習(xí)模型;用戶根據(jù)需求選擇損失函數(shù)配置服務(wù)、量子微分器配置服務(wù)、經(jīng)典微分器自動配置服務(wù)以配置用戶所需的損失函數(shù)、量子微分器以及根據(jù)計算層單元構(gòu)建的初始機器學(xué)習(xí)模型自動配置經(jīng)典微分;用戶根據(jù)需求選擇的經(jīng)典優(yōu)化器配置服務(wù)、經(jīng)典調(diào)度器配置服務(wù)、訓(xùn)練方法配置服務(wù)以配置用戶所需的經(jīng)典優(yōu)化器、經(jīng)典調(diào)度器、訓(xùn)練方法,以及基于配置的損失函數(shù)、經(jīng)典微分器、量子微分器、經(jīng)典優(yōu)化器、經(jīng)典調(diào)度器、訓(xùn)練方法、構(gòu)建的訓(xùn)練集訓(xùn)練初始機器學(xué)習(xí)模型以得到用戶所需的目標(biāo)機器學(xué)習(xí)模型。
13、與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:
14、本發(fā)明提出一種用于構(gòu)建量子經(jīng)典混合機器學(xué)習(xí)模型的系統(tǒng)與方法,該系統(tǒng)可使用戶根據(jù)需求選擇構(gòu)建目標(biāo)機器學(xué)習(xí)模型所需的服務(wù),并且基于用戶的選擇的自動構(gòu)建初始機器學(xué)習(xí)模型并對其進(jìn)行迭代訓(xùn)練以得到目標(biāo)機器學(xué)習(xí)模型,該系統(tǒng)構(gòu)建過程簡單且學(xué)習(xí)成本低,并且該系統(tǒng)相比現(xiàn)有的系統(tǒng)具有更高自由度,此外,在模型訓(xùn)練的前向傳播過程中直接對量子計算層的可調(diào)參數(shù)進(jìn)行梯度計算,避免了冗長的梯度數(shù)據(jù)反復(fù)在層間和函數(shù)之間來回傳遞,節(jié)約大量計算資源和訓(xùn)練時間。