量子计算入门-第二部分
量子計算入門-第二部分
本文檔翻譯D-ware公司的《Quantum Computing Primer》,其中存在的不足或錯誤歡迎大家指出。原文出處:https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer#h1-0
- 量子計算入門-第二部分
- 第二部分
- 1 - 它是一個數學表達式-誰在乎
- 2 - 能量程序
- 3 - 量子計算機可以學習
- 4 - 一個自我編程的計算機
- 5 - 不確定特征
- 第二部分
第二部分
2.1 - 它是一個數學表達式-誰在乎?
我們并不是制造一個機器來玩這個奇怪的令人受虐的電燈開關游戲。尋找一個最優的二進制變量配置(如電燈開關游戲)這樣的理念,也是解決在我們許多日常應用問題的核心所在。例如下圖中的一些簡單例子。即使是科學探索這樣一個概念本身,它也是一個需要不斷優化的問題(你正在試圖找到事物最佳的“配置”,這有助于建立符合實際觀測的科學方程)。
圖11. 一些應用實例的深層結構都需要有一種最優“開關”配置,而使用量子計算機則可以進行有效解決
2.2 - 能量程序
為了理解這些問題可以轉化為尋找開關配置,我們考慮量子計算機是怎么編程的。回顧圖1,通過應用一個邏輯程序把比特串轉化為另一比特串。與之不同,我們現在比特可以不確定,因此計算以一種截然不同方式執行,如圖12所示。在這個例子中,一組量子比特被初始化成為它們的疊加態,這時候能量規劃(而不是邏輯規劃)被應用到這些組中。在計算開始時量子比特是一種不確定的狀態,在計算最后,它會處于為+1或-1其中一種確定狀態。那么什么是能量規劃程序呢?其實就是那些我們之前設置的h
和 J——偏差設置。在電燈開關游戲中,我們說 h和 J是給定的。那么我們現在明白它們來自——它們由你所要解決的問題定義的。
圖12 量子計算機的基本操作提供一個能量規劃程序(一系列的h 和 J 數值),這樣計算機找到最優開關配置(+1和-1)
建立一系列h
和 J值的一個能量規劃程序——來編碼一個你關心的現實世界——是非常困難和耗時的。這相當于發送機器碼給內部微處理器的方式,來給你的桌面PC編程!很幸運,這里有一個更好的方法,就是使用量子編譯器來給計算機編程。這個過程的更多細節在D-ware編程白皮書有解釋。
2.3 - 量子計算機可以學習
所謂的機器學習就是用科學的方法教計算機去理解這個世界,從實踐經驗中學得技能。這是人工智能領域的一個分支。現在的幾乎所有代碼都是靜態的(編譯后,變成程序指令后,就不會再有變化了),即使給了新的數據,程序也是按原來的步驟一遍遍地執行運算,出現的錯誤也是相同的。應用機器學習方法,我們可以設計一種能夠修改它們自己代碼的程序,這種程序能夠用一種新方式處理它以前從來沒處理過的大片數據。
能在不確定的條件下學習和判斷的這一類應用程序,在D-Wave的硬件上運行的很好。舉個例子,你將幾個相似物品的圖片展示給電腦,然后讓它去處理分類。像這種任務對于用靜態邏輯結構設計的傳統計算架構是非常困難的。如果給這樣的系統(傳統架構)展示一張新圖像,它是很難作出如“這看起來像一個蘋果”這樣的一種綜合陳述的。D-Wave的處理器被設計成能夠支持需要高度推理能力和判斷能力的應用程序了。
如果我們需要讓系統識別物體,那么我們應該怎么讓量子計算機學習?在我們還沒有很清楚的知道如何獲取系統需要識別物體的本質信息時,即使利用量子編譯器,也是很難編寫出這樣的一個資源規劃程序的。幸運的是,其實是有一種方法是能夠解決這個問題的。這種方法就是,利用一種模型,讓量子計算機自己調整自己的能量規劃程序去應答新輸入的大片數據。這就能夠讓機器對一個從未處理過的特殊實例有一個較為準確的猜測。下面的一部分內容將對這樣的一個過程(程序自我演化的過程)給出一個總體概念,但要想詳細了解,可能需要讀者親自進行具體的編程實踐才能明白。
2.4 - 一個自我編程的計算機
為了讓系統能夠調整它自身的能量規劃程序,你開始給系統展示很多很多實例的概念,這是 想讓它學習的知識。圖13中給出了一個例子。這里試著讓計算機能夠學著區分不同類型的水果圖片。為了達到這個目的,我們提供給系統一些圖片(更準確的說,是圖片的數字表示法)示例,如蘋果,樹莓,甜瓜。我們也會在每次系統選擇之后告訴它這個圖片具體是哪個類別的。當系統每次給出的答案被矯正后,它就慢慢會調整能量規劃程序(一開始我們是不知道具體結構的)以便下次給出正確的答案。如果它作出了許多錯誤的選擇,算法會知道它自身需要調整能量規劃程序了。
圖13. 教導一個允許自我演化的量子芯片,允許系統將把資源規劃程序調整到你所給出的示例完全選擇正確為止。這一過程是大家熟知的“訓練”或者“學習”階段。
一開始系統選擇一個隨機的能量規劃方式(記住,這僅僅是一串h
和 J的變量)。它的選擇會有許多錯,但這沒關系,我們可以持續的給它展示例子,并且每次讓它進行自我調整,這樣就會有越來越多的選擇正確的情況了。一旦它在我們所提供的數據中做到最好的情況了,我們就得到了它調整到最佳狀態的資源規劃程序了,然后可以把這個學習完善了的系統拿去識別其他未知的示例了(如圖14)。
用機器學習的術語,這種方式被稱作監督學習算法,因為我們給計算機展示了許多圖片示例,并告訴它什么是正確的分類,這幫助了它學習。后面這一系列的導論將會介紹更深層次的概念知識。這里的系統也支持其他類型的機器學習算法,即使示例數據不可靠,也能夠使用。
圖14. 在通過逐步訓練得到一個最佳能量規劃程序后,系統通過分類從未見過的示例來解決現實世界的問題了。這被稱作“測試”階段
2.5 - 不確定特征
關于量子計算機的另一個有趣點是,它是概率性的,這也意味著它可能會返回多個答案。一些可能是你所尋找的答案,一些可能不是。剛開始,這聽上去好像不是件好事,作為計算機,當你問同樣的問題時給出的答案竟然不一樣,這聽起來像一個bug!盡管如此,量子計算機給出多個答案能夠給予我們關于計算機可靠度的重要信息。用上面識別水果的例子,如果我們給電腦展示一張圖片,問它這是什么,問100次,而它所給出的100次答案都是蘋果,那么電腦對這張圖上的水果是蘋果這件事是很有自信的。如果它所給的答案有50次是說蘋果,有50次是說樹莓,那么就意味著電腦不能確定你所展示的圖片上的東西到底是什么。當然,如果你展示的圖片中蘋果,樹莓都包含,那電腦說的也很正確啊! 當你設計一個需要對世界有復雜判斷和學習能力的系統時,這種不確定是非常有用的。
總結
以上是生活随笔為你收集整理的量子计算入门-第二部分的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 量子计算入门-第一部分
- 下一篇: Pixhawk的传感器数据(陀螺、加计等