ข้ามไปยังเนื้อหาหลัก

อัลกอริทึม Variational

ก่อนเริ่มต้น กรุณาทำแบบสำรวจก่อนเรียน สั้น ๆ นี้ก่อน เพื่อช่วยพัฒนาเนื้อหาและประสบการณ์การใช้งานของเรา

Note: This survey is provided by IBM Quantum and relates to the original English content. To give feedback on doQumentation's website, translations, or code execution, please open a GitHub issue.

คอร์สนี้ครอบคลุมรายละเอียดของอัลกอริทึม variational และอัลกอริทึม hybrid quantum-classical ระยะใกล้ที่อิงจากทฤษฎีบท variational ของกลศาสตร์ควอนตัม อัลกอริทึมเหล่านี้สามารถใช้ประโยชน์จากคอมพิวเตอร์ควอนตัมในปัจจุบันที่ยังไม่ทนทานต่อความผิดพลาด ทำให้เป็นตัวเลือกที่เหมาะสมสำหรับการบรรลุ quantum advantage

ตลอดคอร์สนี้ เราจะสำรวจ:

  • แต่ละขั้นตอนในขั้นตอนการออกแบบอัลกอริทึม variational
  • การแลกเปลี่ยนที่เกี่ยวข้องกับแต่ละขั้นตอน
  • วิธีใช้ Qiskit Runtime primitives เพื่อปรับแต่งความเร็วและความแม่นยำ

แม้ว่าคอร์สนี้มีไว้เป็นจุดเริ่มต้นสำหรับนักวิจัยและนักพัฒนาในการสำรวจประโยชน์ของคอมพิวเตอร์ควอนตัม แต่คุณสามารถสำรวจความรู้ทางทฤษฎีและพื้นฐานเกี่ยวกับการประมวลผลเชิงควอนตัมโดยทั่วไปได้ใน Basics of Quantum Information and Computation (มีให้บริการเป็นชุดวิดีโอ YouTube ด้วย)

ขั้นตอน hybrid ที่เรียบง่าย

Flow of a variational algorithm showing steps: initialize problem, prepare ansatz, evaluate cost function, optimize parameters. อัลกอริทึม variational ประกอบด้วยองค์ประกอบโมดูลหลายส่วนที่สามารถรวมและปรับแต่งตามความก้าวหน้าของอัลกอริทึม ซอฟต์แวร์ และฮาร์ดแวร์ ซึ่งรวมถึง ฟังก์ชันต้นทุน ที่อธิบายปัญหาเฉพาะด้วยชุดพารามิเตอร์, ansatz เพื่อแสดงพื้นที่การค้นหาด้วยพารามิเตอร์เหล่านี้ และ optimizer เพื่อสำรวจพื้นที่การค้นหาซ้ำ ๆ ในการวนซ้ำแต่ละครั้ง optimizer ประเมิน ฟังก์ชันต้นทุนด้วยพารามิเตอร์ปัจจุบันและเลือกพารามิเตอร์ของการวนซ้ำถัดไปจนกว่าจะconvergeไปสู่วิธีแก้ปัญหาที่เหมาะสมที่สุด ลักษณะ hybrid ของกลุ่มอัลกอริทึมนี้มาจากข้อเท็จจริงที่ว่าฟังก์ชันต้นทุนถูกประเมินโดยใช้ทรัพยากรควอนตัมและปรับแต่งผ่านทรัพยากรแบบคลาสสิก

  1. กำหนดค่าเริ่มต้นปัญหา: อัลกอริทึม variational เริ่มต้นด้วยการกำหนดค่าเริ่มต้นคอมพิวเตอร์ควอนตัมในสถานะ ดีฟอลต์ 0|0\rangle จากนั้นแปลงมันเป็นสถานะที่ต้องการ (ไม่มีพารามิเตอร์) ρ|\rho\rangle ซึ่งเราจะเรียกว่า reference state

    การแปลงนี้แสดงโดยการใช้ reference operator unitary URU_R กับสถานะดีฟอลต์ เช่นว่า UR0=ρU_R|0\rangle = |\rho\rangle

  2. เตรียม ansatz: ในการเริ่มปรับแต่งซ้ำจากสถานะดีฟอลต์ 0|0\rangle ไปยังสถานะเป้าหมาย ψ(θ)|\psi(\vec\theta)\rangle เราต้องกำหนด variational form UV(θ)U_V(\vec\theta) เพื่อแทนชุดของสถานะแบบมีพารามิเตอร์สำหรับอัลกอริทึม variational ของเราในการสำรวจ

    เราเรียกการรวมกันใด ๆ ของ reference state และ variational form ว่า ansatz เช่นว่า: UA(θ):=UV(θ)URU_A(\vec\theta) := U_V(\vec\theta) U_R ansatz จะมีรูปแบบของ Circuit ควอนตัมแบบมีพารามิเตอร์ที่สามารถนำสถานะดีฟอลต์ 0|0\rangle ไปยังสถานะเป้าหมาย ψ(θ)|\psi(\vec\theta)\rangle

    โดยรวมทั้งหมดเราจะได้:

    0URUR0=ρUV(θ)UA(θ)0=UV(θ)UR0=UV(θ)ρ=ψ(θ)\begin{aligned} |0\rangle \xrightarrow{U_R} U_R|0\rangle & = |\rho\rangle \xrightarrow{U_V(\vec{\theta})} U_A(\vec{\theta})|0\rangle \\[1mm] & = U_V(\vec{\theta})U_R|0\rangle \\[1mm] & = U_V(\vec{\theta})|\rho\rangle \\[1mm] & = |\psi(\vec{\theta})\rangle \\[1mm] \end{aligned}
  3. ประเมินฟังก์ชันต้นทุน: เราสามารถเข้ารหัสปัญหาของเราเป็น ฟังก์ชันต้นทุน C(θ)C(\vec\theta) ในรูปแบบการรวมเชิงเส้นของตัวดำเนินการ Pauli ซึ่งทำงานบนระบบควอนตัม แม้ว่าอาจเป็นข้อมูลเกี่ยวกับระบบทางกายภาพ เช่น พลังงานหรือ spin แต่เราสามารถเข้ารหัสปัญหาที่ไม่ใช่ทางกายภาพได้เช่นกัน เราสามารถใช้ Qiskit Runtime primitives เพื่อรับมือกับสัญญาณรบกวนด้วย error suppression และ error mitigation ในการประเมินฟังก์ชันต้นทุนของเรา

  4. ปรับแต่งพารามิเตอร์: การประเมินจะถูกนำไปยังคอมพิวเตอร์แบบคลาสสิก ซึ่ง optimizer แบบคลาสสิกจะวิเคราะห์และเลือกชุดค่าถัดไปสำหรับพารามิเตอร์ variational หากเรามีวิธีแก้ปัญหาที่เหมาะสมที่สุดก่อนหน้า เราสามารถตั้งมันเป็น จุดเริ่มต้น θ0\vec\theta_0 เพื่อ bootstrap การปรับแต่งของเรา การใช้ สถานะเริ่มต้น ψ(θ0)|\psi(\vec\theta_0)\rangle นี้อาจช่วยให้ optimizer ของเราค้นหาวิธีแก้ปัญหาที่ถูกต้องได้เร็วขึ้น

  5. ปรับพารามิเตอร์ ansatz ด้วยผลลัพธ์ และรันใหม่: กระบวนการทั้งหมดจะทำซ้ำจนกว่าเกณฑ์การสิ้นสุดของ optimizer แบบคลาสสิกถูกบรรลุ และชุดค่าพารามิเตอร์ที่เหมาะสมที่สุด θ\vec\theta^* จะถูกส่งคืน สถานะวิธีแก้ปัญหาที่เสนอสำหรับปัญหาของเราจะเป็น ψ(θ)=UA(θ)0|\psi(\vec\theta^*)\rangle = U_A(\vec\theta^*)|0\rangle

ทฤษฎีบท variational

เป้าหมายทั่วไปของอัลกอริทึม variational คือการค้นหาสถานะควอนตัมที่มีค่าเฉพาะต่ำสุดหรือสูงสุดของ observable บางตัว ข้อมูลเชิงลึกสำคัญที่เราจะใช้คือ ทฤษฎีบท variational ของกลศาสตร์ควอนตัม ก่อนที่จะเข้าสู่เนื้อหาทั้งหมด เรามาสำรวจแรงจูงใจทางคณิตศาสตร์กัน

แรงจูงใจทางคณิตศาสตร์สำหรับพลังงานและ ground states

ในกลศาสตร์ควอนตัม พลังงานมาในรูปแบบของ quantum observable ที่มักเรียกว่า Hamiltonian ซึ่งเราแทนด้วย H^\hat{\mathcal{H}} มาพิจารณา spectral decomposition ของมัน:

H^=k=0N1λkϕkϕk\hat{\mathcal{H}} = \sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|

โดยที่ NN คือมิติของพื้นที่ของสถานะ, λk\lambda_{k} คือค่าเฉพาะที่ kk หรือในทางกายภาพ ระดับพลังงานที่ kk และ ϕk|\phi_k\rangle คือ eigenstate ที่สอดคล้องกัน: H^ϕk=λkϕk\hat{\mathcal{H}}|\phi_k\rangle = \lambda_k |\phi_k\rangle พลังงานที่คาดหวังของระบบในสถานะ (normalized) ψ|\psi\rangle จะเป็น:

ψH^ψ=ψ(k=0N1λkϕkϕk)ψ=k=0N1λkψϕkϕkψ=k=0N1λkψϕk2\begin{aligned} \langle \psi | \hat{\mathcal{H}} | \psi \rangle & = \langle \psi |\bigg(\sum_{k=0}^{N-1} \lambda_k |\phi_k\rangle \langle \phi_k|\bigg) | \psi \rangle \\[1mm] & = \sum_{k=0}^{N-1} \lambda_k \langle \psi |\phi_k\rangle \langle \phi_k| \psi \rangle \\[1mm] & = \sum_{k=0}^{N-1} \lambda_k |\langle \psi |\phi_k\rangle|^2 \\[1mm] \end{aligned}

ถ้าเราคำนึงถึงว่า λ0λk,k\lambda_0\leq \lambda_k, \forall k เราจะได้:

ψH^ψ=k=0N1λkψϕk2k=0N1λ0ψϕk2=λ0k=0N1ψϕk2=λ0\begin{aligned} \langle \psi | \hat{\mathcal{H}} | \psi \rangle & = \sum_{k=0}^{N-1} \lambda_k |\langle \psi |\phi_k\rangle|^2 \\[1mm] & \geq \sum_{k=0}^{N-1} \lambda_0 |\langle \psi |\phi_k\rangle|^2 \\[1mm] & = \lambda_0 \sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 \\[1mm] & = \lambda_0 \\[1mm] \end{aligned}

เนื่องจาก {ϕk}k=0N1\{|\phi_k\rangle \}_{k=0}^{N-1} เป็น orthonormal basis ความน่าจะเป็นของการวัด ϕk|\phi_{k} \rangle คือ pk=ψϕk2p_k = |\langle \psi |\phi_{k} \rangle |^2 และผลรวมของความน่าจะเป็นทั้งหมดคือ k=0N1ψϕk2=k=0N1pk=1\sum_{k=0}^{N-1} |\langle \psi |\phi_k\rangle|^2 = \sum_{k=0}^{N-1}p_k = 1 โดยสรุป พลังงานที่คาดหวังของระบบใด ๆ สูงกว่าพลังงานต่ำสุดหรือพลังงาน ground state:

ψH^ψλ0.\langle \psi | \hat{\mathcal{H}} | \psi \rangle \geq \lambda_0.

ข้อโต้แย้งข้างต้นใช้กับสถานะควอนตัมที่ถูกต้อง (normalized) ใด ๆ คือ ψ|\psi\rangle ดังนั้นจึงเป็นไปได้อย่างสมบูรณ์ที่จะพิจารณาสถานะแบบมีพารามิเตอร์ ψ(θ)|\psi(\vec\theta)\rangle ที่ขึ้นอยู่กับ vector พารามิเตอร์ θ\vec\theta นี่คือส่วน "variational" ที่เข้ามามีบทบาท ถ้าเราพิจารณาฟังก์ชันต้นทุนที่กำหนดโดย C(θ):=ψ(θ)H^ψ(θ)C(\vec\theta) := \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle และต้องการลดค่าให้น้อยที่สุด ค่าต่ำสุดจะตอบสนองเสมอว่า:

minθC(θ)=minθψ(θ)H^ψ(θ)λ0.\min_{\vec\theta} C(\vec\theta) = \min_{\vec\theta} \langle \psi(\vec\theta)|\hat{\mathcal{H}}|\psi(\vec\theta)\rangle \geq \lambda_0.

ค่าต่ำสุดของ C(θ)C(\vec\theta) จะเป็นค่าที่ใกล้ที่สุดที่สามารถได้รับ λ0\lambda_0 โดยใช้สถานะแบบมีพารามิเตอร์ ψ(θ)|\psi(\vec\theta)\rangle และความเท่ากันจะบรรลุได้ก็ต่อเมื่อมี vector พารามิเตอร์ θ\vec\theta^* เช่นว่า ψ(θ)=ϕ0|\psi(\vec\theta^*)\rangle = |\phi_0\rangle

ทฤษฎีบท variational ของกลศาสตร์ควอนตัม

ถ้าสถานะ (normalized) ψ|\psi\rangle ของระบบควอนตัมขึ้นอยู่กับ vector พารามิเตอร์ θ\vec\theta การประมาณค่า ground state ที่ดีที่สุด (นั่นคือ eigenstate ϕ0|\phi_0\rangle ที่มีค่าเฉพาะต่ำสุด λ0\lambda_0) คือการที่ลดค่าความคาดหวัง expectation valueของ Hamiltonian H^\hat{\mathcal{H}} ให้น้อยที่สุด:

H^(θ):=ψ(θ)H^ψ(θ)λ0\langle \hat{\mathcal{H}} \rangle(\vec\theta) := \langle \psi(\vec\theta) |\hat{\mathcal{H}}| \psi(\vec\theta) \rangle \geq \lambda_0

เหตุผลที่ทฤษฎีบท variational ถูกระบุในแง่ของ energy minima เนื่องจากมีสมมติฐานทางคณิตศาสตร์จำนวนหนึ่ง:

  • ด้วยเหตุผลทางกายภาพ จำเป็นต้องมีขอบล่างจำกัดสำหรับพลังงาน Eλ0>E \geq \lambda_0 > -\infty แม้สำหรับ NN\rightarrow\infty
  • ขอบบนโดยทั่วไปไม่มีอยู่

อย่างไรก็ตาม ในทางคณิตศาสตร์ ไม่มีอะไรพิเศษเกี่ยวกับ Hamiltonian H^\hat{\mathcal{H}} นอกเหนือจากสมมติฐานเหล่านี้ ดังนั้นทฤษฎีบทสามารถถูกขยายไปยัง quantum observables อื่น ๆ และ eigenstate ของมัน โดยมีเงื่อนไขว่าต้องปฏิบัติตามข้อจำกัดเดียวกัน นอกจากนี้ โปรดสังเกตว่าหากมีขอบบนจำกัด สามารถใช้ข้อโต้แย้งทางคณิตศาสตร์เดียวกันสำหรับการเพิ่มค่าเฉพาะให้สูงสุดโดยการสลับขอบล่างกับขอบบน

สรุป

ในบทเรียนนี้ คุณได้เรียนรู้มุมมองระดับสูงของอัลกอริทึม variational ในบทเรียนต่อ ๆ ไป เราจะสำรวจแต่ละขั้นตอนในรายละเอียดเพิ่มเติม พร้อมกับการแลกเปลี่ยนที่เกี่ยวข้อง

Source: IBM Quantum docs — updated 17 เม.ย. 2569
English version on doQumentation — updated 7 พ.ค. 2569
This translation based on the English version of approx. 26 มี.ค. 2569