สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Quantum Computing

Quantum Computing Quantum Computing Primer How to program a quantum computer PART I How to program a quantum computer Part II

Quantum Computing Primer

หมายเหตุ: บทความนี้เป็นส่วนหนึ่งของ "บทความชุด Article with Machine Translation" ซึ่งเป็นการแปลบทความจากต้นฉบับภาษาต่างประเทศด้วย Machine translation ดังนั้นจึงมีข้อผิดพลาดอยู่หลายจุด ขอให้ผู้อ่านโปรดใช้วิจารณญาณในการอ่าน ทาง EPT ไม่ขอรับประกันว่าข้อมูลที่ท่านได้อ่านเป็นข้อมูลที่ถูกต้อง และไม่ขอรับผิดชอบความเสียหายใด ๆ ที่เกิดต่อผู้อ่านทั้งทางร่างกาย จิตใจ ทรัพย์สิน ฯลฯ นะครับ

 

การเรียนการสอนนี้มีความตั้งใจที่จะแนะนำเกี่ยวกับแนวคิดและศัพท์บัญญัติที่ใช้ ในการคำนวณควอนตัม เพื่อแสดงให้เห็นภาพรวมว่าคอมพิวเตอร์ควอนตัมคืออะไร และเหตุผลที่ว่าทำไมคุณต้องเขียนโปรแกรมอันหนึ่ง

เนื้อหา

SECTION 1   บทที่ 1

1.1 - Conventional computing  
การคำนวณแบบทั่วไป

1.2 - A new kind of computing 
การประมวลผลแบบใหม่

1.3 - The light switch game    
เกมสวิทช์ไฟ

1.4 - How does quantum mechanics help?     

            กลศาสตร์ควอนตัมช่วยได้อย่างไร?

SECTION 2   บทที่ 2 

2.1 - It's a math expression - who cares? 

            เป็นนิพจน์ทางคณิตศาสตร์ - ใครสนใจ?

2.2 - The energy program 

           โปรแกรมพลังงาน

2.3 - Quantum computers can LEARN 

           คอมพิวเตอร์ควอนตัมสามารถเรียนรู้ได้

2.4 - A computer that programs itself 

            คอมพิวเตอร์ที่เขียนโปรแกรมด้วยตัวเอง

2.5 - Uncertainty is a feature 

            คุณสมบัติความไม่แน่นอน

material ที่นี่ถูกเขียนโดยใช้แนวคิดระดับสูง และได้รับการออกแบบมาให้สามารถ เข้าถึงได้สำหรับผู้ชมทั้งด้านเทคนิคและที่ไม่ใช่ด้านเทคนิค  พื้นฐานบางประการ เกี่ยวกับฟิสิกส์คณิตศาสตร์และการเขียนโปรแกรมจะเป็นประโยชน์ในการช่วยให้ เข้าใจแนวคิดที่นำเสนอในเอกสารนี้แม้ว่าจะไม่ใช่ความต้องการก็ตาม

อะไรที่คุณจะได้เรียนรู้?
โดยผ่านวัสดุในไพรเมอร์นี้คุณจะได้เรียนรู้ :

- ฟิสิกส์ควอนตัมช่วยให้เราสามารถคำนวณได้อย่างไร
- ความเหมือนและความแตกต่างระหว่างคอมพิวเตอร์ควอนตัมกับคอมพิวเตอร์คลาสสิก
- หน่วยประมวลผลเชิงควอนตัม (qubits)  พื้นฐานที่ถูกจัดการเพื่อแก้ปัญหาที่ยากลำบาก
- ทำไมคอมพิวเตอร์ควอนตัมจึงเหมาะสมกับแอพพลิเคชันการเรียนรู้ด้วย AI และเครื่องและวิธีการที่คอมพิวเตอร์ควอนตัมอาจถูกใช้เป็น 'ตัวประมวลผล AI'

บทที่ 1 

1.1 - การคำนวณแบบทั่วไป
ในการทำความเข้าใจการคำนวณควอนตัม มันเป็นประโยชน์มากสำหรับการคิดครั้ง แรกเกี่ยวกับคอมพิวเตอร์ทั่วไป เราได้รับคอมพิวเตอร์ดิจัทัลที่ทันสมัยและความ สามารถในการดำเนินการที่หลากหลายของการใช้งานที่ได้รับ บนเดสท็อปต์พีซี , แล็ปท็อปและสมาร์ทโฟนของเราสามารถเรียกใช้สเปรดชีต , stream live video  , อนุญาตให้เราแชทกับคนอีกฝั่งโลกหนึ่งได้และดื่มด่ำกับสภาพแวดล้อมแบบ 3D ที่เหมือนจริง แต่ที่สำคัญทุกคอมพิวเตอร์แบบดิจิทัลมีบางอย่างที่เหมือนกัน พวกเขาทั้งหมดดำเนินการทางคณิตศาสตร์อย่างง่าย พลังของพวกเขามาจากความ เร็วอันยิ่งใหญ่ ซึ่งมันสามารถที่จะทำสิ่งนี้ได้ คอมพิวเตอร์แสดงผลหลายๆล้านของ การดำเนินการในแต่ละวินาที การดำเนินการเหล่านี้ถูกแสดงผลอย่างรวดเร็วซึ่งจะ อนุญาติให้เรารันแอพพลิเคชั่นที่มีความซับซ้อนในระดับที่สูงมาก การคำนวณ ดิจิทัลแบบดั้งเดิมสามารถสรุปได้โดยไดอะแกรมที่โชว์ในรูปที่ 1 


รูปที่ 1 การไหลของข้อมูลในคอมพิวเตอร์ทั่วไป

ถึงแม้ว่าเรามีภาระงานมากมายที่คอมพิวเตอร์ทั่วไปทำได้ดี แต่ยังมีบางพื้นที่ที่การ คำนวณดูเหมือนจะยากเหลือเกิน ตัวอย่างของพื้นที่เหล่านี้ คือ : การจดจำภาพ , ภาษาธรรมชาติ (ทำให้คอมพิวเตอร์เข้าใจว่าอะไรคือสิ่งที่เราหมายถึง ถ้าเราพูดกับ มันโดยใช้ภาษาของเราเองมากกว่าภาษาเขียนโปรแกรม) และภาระงานที่ๆ คอมพิวเตอร์ต้องเรียนรู้จากประสบการณ์เพื่อให้มันดีขึ้นในภาระงานเฉพาะอย่าง แม้ว่าในช่วง 2-3 ทศวรรษที่ผ่านมานี้มีงานวิจัยและงานวิจัยมากมายเกิดขึ้น แต่ความคืบ หน้าของเราในด้านนี้ช้าและต้นแบบที่เราใช้ทำงานมักต้องใช้ ซูเปอร์คอมพิวเตอร์ขนาดใหญ่เพื่อใช้พื้นที่เหล่านี้และประสิทธิภาพของมัน

เราสามารถตั้งคำถามได้ว่า : มีวิธีการออกแบบระบบคอมพิวเตอร์ที่แตกต่างจาก พื้นดินหรือไม่? ถ้าเราสามารถเริ่มต้นใหม่อีกครั้งตั้งแต่เริ่มต้นและทำอะไรบาง อย่างที่แตกต่างไปจากเดิมอย่างสิ้นเชิงให้ดีกว่าในงานเหล่านี้ที่คอมพิวเตอร์แบบ เดิมพบได้ยาก เราจะไปเกี่ยวข้องกับการสร้างคอมพิวเตอร์เครื่องใหม่ได้อย่างไร?

1.2 - การประมวลผลแบบใหม่

การคำนวณเชิงควอนตัมมีความแตกต่างอย่างสิ้นเชิงกับวิธีการเดิมในการแปลงบิต สตริงจากชุดข้อมูล 0 และ 1 เป็นอีกชุดหนึ่ง ด้วยการคำนวณเชิงควอนตัม ทุกสิ่ง ทุกอย่างเปลี่ยนแปลงไป ฟิสิกส์ที่เราใช้ในการทำความเข้าใจบิตของข้อมูลและ อุปกรณ์ที่ควบคุมมันแตกต่างกันอย่างสิ้นเชิงกับแบบเดิม วิธีการที่เราสร้างอุปกรณ์ ดังกล่าว แตกต่างกันมันต้องใช้วัสดุแบบใหม่ , กฎการออกแบบอันใหม่ และ สถาปัตยกรรมโปรเซสเซอร์ใหม่ ท้ายที่สุดแล้ว วิธีการที่เราเขียนโปรแกรม ในระบบ นี้แตกต่างไปจากเดิมอย่างสิ้นเชิง เอกสารฉบับนี้จะเป็นการสำรวจปัญหาแรกๆที่ กล่าวมานี้แทนการใช้บิตธรรมดา (0 หรือ 1) ด้วยชนิดของข้อมูลใหม่ - the qubit - สามารถที่จะเปลี่ยนวิธีการคิดของเราเกี่ยวกับการคำนวณได้  

1.3 - เกมสวิทช์ไฟ

ในการเริ่มต้นในการเรียนรู้เกี่ยวกับการคำนวณเชิงควอนตัม  มันเป็นเรื่องสำคัญที่ จะทำความเข้าใจเหตุผลที่ว่าทำไมเราไม่สามารถใช้คอมพิวเตอร์ดิจิทัลดั้งเดิมเพื่อ แก้บางปัญหาได้ ลองพิจารณาถึงปัญหาทางคณิตศาสตร์ซึ่งเราจะเรียกว่าเกม สวิทช์ไฟ ซึ่งมันจะอธิบายประกอบในจุดนี้

เกมสวิทช์ไฟนี้รวมไปถึงการพยายามหาการตั้งค่าที่ดีที่สุดสำหรับมัดของสวิตช์ นี่เป็นตัวอย่างเชิงกราฟฟิกที่แนะนำปัญหานี้ :


 

รูปที่ 2 เกมสวิทช์ไฟ

ลองจินตนาการว่าสวิตช์ไฟแต่ละอันมีหมายเลขที่เกี่ยวข้องกับมัน ซึ่งถูกเลือก สำหรับคุณ (คุณไม่จำเป็นที่จะต้องเปลี่ยนมัน) เราเรียกสิ่งนี้ว่า 'bias value' (ค่า ความลำเอียง) คุณต้องเลือกว่าจะทำให้หลอดไฟแต่ละอันเปิดหรือปิดหรือไม่ ในเกมของเรา ON = +1 และ OFF = -1 จากนั้นเราจะเพิ่มค่าความลำเอียง ทั้งหมดของสวิทซ์คูณด้วยค่าเปิด / ปิด สิ่งนี้จะให้หมายเลขแก่เรา objective ของ เกม คือ การตั้งค่าสวิทช์ไปยังหมายเลขที่ต่ำที่สุด ในทางคณิตศาสตร์ เราเรียก bias values ของแต่ละสวิทช์ว่า \( h_i \) และการตั้งค่าสวิทช์เรียกว่า \(s_i \)    


รูปที่ 3 เล่นเกมสวิทช์ไฟ - เพิ่มค่า bias values ของแต่ละสวิทช์คูณด้วยการตั้งค่า ของพวกเขา (เป็นอันที่คุณต้องเลือก) 

ดังนั้นขึ้นอยู่กับว่าสวิทช์ใดที่เรากำหนดให้ +1 และที่เราตั้งค่าเป็น -1 เราจะได้ คะแนนแตกต่างกันโดยรวม คุณสามารถลองเกมนี้ได้ หวังว่าคุณจะพบว่ามันง่าย เพราะมีกฎง่ายๆในการชนะ :

รูปที่ 4 : หาคำตอบสำหรับ "guess" เฉพาะที่การตั้งค่าสวิตช์

เราจะพบว่าถ้าเราตั้งค่าสวิทช์ทั้งหมดด้วย positive biases เพื่อที่จะปิดและสวิทช์ ทั้งหมดด้วย negative biases เพื่อเปิดและเพิ่มผลลัพธ์แล้วเราจะได้รับค่าโดย รวมต่ำสุด ง่ายใช่มั้ย? ผมสามารถให้สวิตช์เป็นจำนวนมากเท่าที่ผมต้องการด้วยค่า อคติที่แตกต่างกันมากมายและคุณเพียงแค่มองไปที่แต่ละอันในทางกลับกันและ พลิกมันทั้งเปิดหรือปิดก็ตาม

โอเค ต่อไปมาทำให้มันยากขึ้นอีกหน่อย ดังนั้นตอนนี้จินตนาการว่ามีคู่ของสวิทช์ หลายๆอันมีกฎเพิ่มเติม อันหนึ่งที่เกี่ยวข้องกับการพิจารณา PAIRS ของสวิทช์ นอกเหนือจากสวิทช์แต่ละตัวเท่านั้น เราเพิ่มค่าอคติใหม่ (เรียกว่า J) ซึ่งเราคูณด้วย ทั้งการตั้งค่าสวิทช์ที่เชื่อมต่อกับมันและเราเพิ่มค่าผลลัพธ์ที่เราได้รับจากแต่ละคู่ ของสวิทช์ไปยังหมายเลขโดยรวมของเราด้วย อย่างไรก็ตามสิ่งที่เราต้องทำก็คือ เลือกว่าสวิตช์ควรเปิดหรือปิดขึ้นอยู่กับกฎใหม่นี้หรือไม่

 



รูปที่ 5 ทำให้เกมมันยากขึ้นโดยการเพิ่มในแง่ของการ เพิ่มเติมซึ่งขึ้นอยู่กับการตั้งค่าของคู่ของสวิทช์

แต่ตอนนี้มันยาก ยากมากๆที่จะตัดสินใจว่าสวิทช์ควรจะเปิดหรือปิดหรือไม่ เพราะว่าเพื่อนบ้านของมันส่งผลกระทบต่อมัน แม้แต่ตัวอย่างง่ายๆที่โชว์ด้วย 2 สวิทช์ในรูปด้านบน คุณไม่เพียงทำตามกฎของการตั้งค่าให้เป็นสัญญาณที่ตรงกัน ข้ามกับค่าอคติของพวกเขาอีกต่อไป (ลอง!) ด้วยเว็บที่ซับซ้อนของสวิทช์ที่มี เพื่อนบ้านจำนวนมากจะกลายเป็นเรื่องน่าหงุดหงิดมากในการลองหาชุดค่าผสมที่ เหมาะสมเพื่อให้ได้ค่าที่ต่ำที่สุดโดยรวม

รูปที่ 6 เกมสวิทช์ไฟมีการเพิ่มเงื่อนไขการเชื่อมต่อการสร้าง เว็บปฏิสัมพันธ์ของสวิทช์ไฟ

1.4 กลศาสตร์ควอนตัมช่วยได้อย่างไร?

ด้วยคู่ของสวิทช์คุณสามารถที่จะลองทุกๆการรวมของ ON’s และ OFF’s ได้ มันมี ความเป็นไปได้แค่ 4 อย่างเท่านั้น : [ON ON] , [ON OFF] , [OFF ON] หรือ [OFF OFF] แต่เมื่อคุณเพิ่มสวิทช์มากขึ้นๆเรื่อยๆ จำนวนวิธีที่เป็นไปได้ที่สวิทช์ สามารถตั้งค่าได้ก็เพิ่มขึ้นมากไปด้วย :

รูปที่ 7 การเพิ่มขึ้นอย่างมากของปัญหากับเกมสวิทช์ไฟ

คุณจะเริ่มเห็นว่าทำไมเกมมันไม่สนุกไปมากกว่านี้แล้ว ประสิทธิภาพพื้นฐานของ คอมพิวเตอร์ควอนตัมมาจากไอเดียซึ่งคุณสามารถใส่บิต ของข้อมูลไปยัง superposition ของสถานะได้ คุณสามารถคิดถึงเรื่องนี้ได้ว่าเป็นสถานการณ์ที่ qubit ยังไม่ได้ตัดสินใจว่าต้องการเข้าไปอยู่ในสถานะไหน ผู้คนบางคนอ้างถึง qubit ใน superposition ว่า ‘อยู่ในทั้ง 2 สถานะในเวลาเดียวกัน’ คุณสามารถคิดถึงสถานะ ของ qubit ได้เนื่องจากยังไม่ได้ตัดสินใจว่าเป็น +1 หรือ -1 ซึ่งหมายความว่าการ ใช้คอมพิวเตอร์ควอนตัมสวิตช์ไฟของเราสามารถเปิดและปิดได้ในเวลาเดียวกัน : 

รูปที่ 8 บิตเชิงควอนตัมของข้อมูล (qubit) สามารถอยู่ในสิ่งที่เรียกว่าสถานะ superposition ซึ่งยังไม่ได้ตัดสินใจว่าจะอยู่ในสถานะ +1 หรือ -1 (หรือคุณสามารถคิดว่าเป็น ‘ทั้ง 2 สถานะก็ได้’ )

ตอนนี้ให้พิจารณาสวิทช์เดียวกันก่อน แต่ตอนนี้มันรองรับในหน่วยความทรงจำของ คอมพิวเตอร์ควอนตัม (สังเกตว่าค่าความลำเอียงยังไม่ได้ถูกเพิ่มไป) :

รูปที่ 9 เครือข่ายของควอนตัมบิตที่ถูกเชื่อมต่อกันใน superposition คำตอบอยู่ที่นั่น ที่ไหนซักที่!

เพราะว่าสวิทช์ไฟทั้งหมดเปิดและปิดในเวลาเดียวกัน เรารู้ว่าคำตอบที่ถูกต้อง (การตั้งค่าเปิด/ปิดให้ถูกต้องสำหรับแต่ละสวิทช์) เป็นตัวแทนที่ใดที่หนึ่งในนั้น      - มันซ่อนจากเราอยู่ในขณะนี้ แต่มันโอเคเพราะว่ากลศาสตร์ควอนตัมจะทำการ ค้นหามันเพื่อเรา D-Wave คอมพิวเตอร์ควอนตัมอนุญาตให้เราเอา ‘การเป็นตัว แทนควอนตัม’ แบบนี้และแยกการกำหนดค่าของ ONs และ OFFs ด้วยค่าที่ต่ำสุด

นี่เป็นวิธีการทำงานของมัน :

รูปที่ 10 คอมพิวเตอร์เริ่มต้นด้วยบิตใน superposition จบลงด้วยพฤติกรรมที่เป็นบิตคลาสสิคปกติและหาคำตอบไปพร้อมกัน

คุณเริ่มต้นด้วยระบบใน superposition ของควอนตัมตามที่อธิบายไว้ด้านบนและ คุณค่อยๆปรับคอมพิวเตอร์ควอนตัมเพื่อปิดผล superposition ควอนตัม ในเวลา เดียวกันคุณค่อยๆเปิดค่าความลำเอียงทั้งหมดเหล่านั้น (h และ J จากก่อนหน้านี้) เมื่อดำเนินการนี้สวิทช์จะค่อยๆเลื่อนออกจากสถานะ superposition และเลือก สถานะแบบคลาสสิคไม่ว่าจะเป็นเปิดหรือปิด ในตอนท้ายแต่ละสวิตช์ต้องเลือกที่จะ เปิดหรือปิด กลศาสตร์ควอนตัมที่ทำงานภายในเครื่องคอมพิวเตอร์จะช่วยให้สวิทช์ ไฟเข้าสู่สภาวะที่เหมาะสมเพื่อให้ได้ค่าโดยรวมต่ำที่สุดเมื่อคุณเพิ่มค่าทั้งหมดเมื่อสิ้นสุด แม้ว่าจะมีสวิทช์ \ (N \) ที่มีการกำหนดค่าที่เป็นไปได้ \ (2 ^ N \) ที่จะ สามารถหาได้ในที่สุด พบว่ามีค่าต่ำสุดที่ชนะเกมสวิทช์ไฟ ดังนั้นเราจึงเห็นว่า คอมพิวเตอร์ควอนตัมช่วยให้เราสามารถลดนิพจน์ได้เช่นการพิจารณาที่นี่ :

\[ E(s) = \sum_i h_i s_i + J_{ij}s_i s_j \]
ซึ่งอาจเป็นเรื่องยาก (ถ้าเป็นไปได้) สำหรับคอมพิวเตอร์แบบคลาสสิก


บทที่ 2 

2.1 - เป็นนิพจน์ทางคณิตศาสตร์ - ใครสนใจ?

เราไม่ได้สร้างเครื่องเพื่อเล่นเกมสวิทซ์ไฟสยองขวัญที่แปลกประหลาด แนวคิด ในการหาค่าดีๆของตัวแปรไบนารี (สวิทซ์) ในลักษณะนี้อยู่ที่หัวใจของปัญหา หลายอย่างที่เกิดขึ้นในการใช้งานในชีวิตประจำวัน มีดังต่อไปนี้ แม้แต่แนวคิดเรื่อง การค้นพบทางวิทยาศาสตร์เองก็เป็นปัญหาด้านการเพิ่มประสิทธิภาพเช่นกัน (คุณ กำลังพยายามค้นหาคำว่า "การกำหนดค่า" ที่ดีที่สุดของคำที่นำไปสู่สมการทาง วิทยาศาสตร์ที่ตรงกับข้อสังเกตของโลกแห่งความเป็นจริง)

รูปที่ 11 ตัวอย่างของแอพพลิเคชันที่อยู่ภายใต้ฝากระโปรง ทั้งหมดนี้เกี่ยวข้องกับการค้นหา 'การตั้งค่าสวิทช์' ที่ดีและสามารถจัดการกับ คอมพิวเตอร์ควอนตัมได้อย่างมีประสิทธิภาพมากขึ้น

2.2 - โปรแกรมพลังงาน

เพื่อทำความเข้าใจว่าปัญหาเหล่านี้อาจเกิดขึ้นจากการค้นหาการตั้งค่าสวิทช์ มาพิจารณากันซิว่าคอมพิวเตอร์ควอนตัมมีวิธีการเขียนโปรแกรมอย่างไร ย้อนกลับ ไปที่รูปที่ 1 ที่ๆ bit strings ถูกเปลี่ยนรูปไปเป็น bits strings ตัวอื่น ผ่านทาง แอพพลิเคชั่นของโปรแกรมลอจิก แทนที่จะป็นเช่นนั้น ขณะนี้เรามีทรัพยากรที่บิต ยังไม่ได้ตัดสินใจดังนั้นการคำนวณจะดำเนินการในลักษณะที่แตกต่างกันโดยพื้น ฐาน อย่างที่โชว์ในรูปที่ 12 ในกรณีนี้กลุ่มของ qubits จะถูกเตรียมใช้งานในสถานะ superposition ของพวกเขาและครั้งนี้จะใช้ ENERGY PROGRAM (แทนที่จะเป็น โปรแกรมลอจิก) ซึ่งจะถูกใช้งานไปยังกลุ่ม qubits จากอันที่ยังไม่ได้ตัดสินใจ ในตอนต้นของการคำนวณ ที่จะเลือกได้ทั้งหมด 2 อย่าง คือ สถานะ -1 หรือ +1 ในตอนจบของการคำนวณ Energy Program คืออะไรล่ะ? มันเป็นแค่ตัวเลขของ  h และ J - ตั้งค่าความลำเอียง - ที่เราได้แนะนำไปแล้วก่อนหน้านี้ ในเกมสวิทช์ไฟ เราพูดว่า H และ J ได้ให้คุณมาแล้ว ตอนนี้เราก็จะมาดูว่าพวกมันมาจากที่ไหน - พวกมันคือคำจำกัดความของปัญหาที่คุณพยายามจะแก้

quantum computer tutorial

รูปที่ 12  การดำเนินการขั้นพื้นฐานของคอมพิวเตอร์ควอนตัมคือการจัดหา energy program (ชุดของตัวเลขของ h กับ J) และปล่อยให้คอมพิวเตอร์หาการตั้งค่าสวิทช์ (+1 และ -1) จัดทำโปรแกรมพลังงานเป็นชุดของค่า h และ J เพื่อ encode ปัญหา จริงๆบนโลกใบนี้ถ้าคุณกำลังให้ความสนใจ - มันเป็นเรื่องที่ยากเหลือเกินและเสีย เวลา มันเทียบเท่ากันกับโปรแกรมบน desktop PC ของคุณ โดยการส่งไปเป็นโค้ด เครื่องไปยัง microprocessors ข้างใน! ช่างโชคดี! มันมีวิธีที่ดีกว่าในการเขียน โปรแกรมคอมพิวเตอร์ควอนตัมโดยการใช้ quantum compiler การดำเนินการนี้จะ ถูกอธิบายเพิิ่มเติมใน Programming with D-Wave white paper (กระดาษสีขาว)

2.3 - คอมพิวเตอร์ควอนตัมสามารถเรียนรู้ได้

วินัยในการสอนคอมพิวเตอร์เพื่อให้เหตุผลเกี่ยวกับโลกและเรียนรู้จากประสบการณ์ที่เรียกว่า machine learning มันเป็นสาขาย่อยของสาขาปัญญาประดิษฐ์ โค้ดส่วน มากที่เราเขียนค่อนข้างคงที่ - นั่นแหละ ในการให้ข้อมูลใหม่มันจะแสดงการ คำนวณเหมือนกันซ้ำแล้วซ้ำอีกและทำข้อผิดพลาดเดิมๆ โดยใช้ machine learning เราสามารถออกแบบโปรแกรมที่เปลี่ยนแปลงโค้ดของตัวเองได้และถึงแม้กระนั้น มันก็ยังเรียนรู้วิธีการใหม่ๆในการรองรับชิ้นส่วนของข้อมูลที่มันไม่เคยเห็นมาก่อน อีกด้วย

ชนิดของแอพพลิเคชั่นที่รันได้ดีบน D-Wave คอมพิวเตอร์ควอนตัมเป็น แอพพิเคชั่นที่เรียนรู้และตัดสินใจภายใต้เงื่อนไขที่ไม่แน่นอนที่ต้องกระทำ ตัวอย่าง เช่น สมมติว่าคอมพิวเตอร์ถูกร้องขอให้จัดกลุ่ม object ที่มีพื้นฐานอยู่บนรูปภาพ หลายๆอันของ objects ที่คล้ายกันที่คุณได้แสดงให้มันเห็นมาแล้วก่อนหน้านี้แล้ว งานนี้มันยากมากๆสำหรับสถาปัตยกรรมการคำนวณแบบดั้งเดิม ที่ถูกออกแบบ มาเพื่อทำตามเหตุผลทางตรรกะที่เคร่งครัดมากๆ ถ้าระบบถูกโชว์รูปภาพใหม่ มันเป็นเรื่องที่ยากที่จะให้มันทำคำประกาศธรรมดาเกี่ยวกับรูปภาพนั้นๆ เช่น ‘มันดูคล้ายกับแอปเปิ้ล’ โปรเซสเซอร์ของ D-Wave ถูกดีไซน์ขึ้นเพื่อสนับสนุน แอพพลิเคชั่นที่ต้องการเหตุผลในระดับสูงและการทำการตัดสินใจ

เราจะมีวิธีการอย่างไรที่จะสามารถใช้คอมพิวเตอร์ควอนตัมในการดำเนินการการ เรียนรู้ได้ ตัวอย่างเช่น ถ้าเราต้องการให้ระบบจดจำ objects? การเขียน energy program สำหรับงานนี้เป็นอะไรที่ยากมากๆ แม้แต่การใช้ quantum compiler เพราะว่าเราไม่รู้ในเรื่องของรายละเอียดในวิธีการจับสาระสำคัญของ objects ซึ่ง ระบบจะต้องจำ ช่างโชคดีมันมีวิธีในการแก้ปัญหานี้อยู่ เพราะว่ามันมีโหมดที่ คอมพิวเตอร์ควอนตัมสามารถปรับเปลี่ยน energy program ของมันเองเพื่อตอบ สนองต่อข้อมูลใหม่ๆที่เข้ามา สิ่งนี้อนุญาตให้เครื่องทำการเดาได้ดีว่าอะไรที่วัตถุ อาจจะเป็น แม้ว่าจะไม่เคยเห็นตัวอย่างใดๆมาก่อนเลยก็ตาม ส่วนต่อไปจะให้ ภาพรวมเกี่ยวกับการดำเนินการนี้

2.4 - คอมพิวเตอร์ที่เขียนโปรแกรมด้วยตัวเอง

เพื่อให้ระบบปรับเปลี่ยน energy program ของมันด้วยตัวมันเอง คุณเริ่มต้นด้วย การโชว์ให้ระบบเห็นตัวอย่างของแนวคิดที่คุณต้องการให้มันเรียนรู้มากๆ อย่างตัว อย่างที่แสดงในรูปที่ 13 นี่คือไอเดียที่จะลองให้คอมพิวเตอร์เรียนรู้ความแตกต่าง ระหว่างภาพของชนิดของผลไม้ที่แตกต่างกัน เพื่อที่จะทำสิ่งนี้ เราได้แสดงรูปภาพ (หรือมากกว่าการแสดงเชิงตัวเลขของภาพเหล่านั้น) ไปยังระบบเพื่ออธิบาย ประกอบตัวอย่างที่มีความแตกต่างมากมายของแอปเปิ้ล , ราสเบอร์รี่และเมล่อน เรายังให้คำตอบที่ถูกต้องแก่ระบบในแต่ละครั้งโดยการบอกว่าอะไรคือการตั้งค่า สวิทช์ (ฉลาก) มันควรจะสิ้นสุดการเลือกในแต่ละกรณี

ระบบต้องหา energy program (จะแสดงเครื่องหมายคำถามเพราะว่าเราไม่รู้มัน ตั้งแต่แรก) ดังนั้นเมื่อรูปภาพถูกแสดงไปยังระบบ มันจะได้รับฉลากที่ถูกต้องใน แต่ละครั้ง หากได้รับตัวอย่างผิดจำนวนมาก อัลกอริทึมรู้ว่ามันจะต้องเปลี่ยน energy program ของตัวมันเองquantum computer tutorial

รูปที่ 13 สอน quantum chip โดยอนุญาตให้มันเขียน energy program ของมันด้วยตัวมันเอง ระบบจะปรับ energy program จนกว่าจะมีการทำเครื่องหมายตัวอย่างทั้งหมดที่คุณแสดงอย่างถูกต้อง 

สิ่งนี้รู้จักกันในฐานะที่เป็นขั้นตอน ‘การฝึก’ หรือ ‘การเรียนรู้’

ตอนแรกระบบเลือก energy program (จำได้มั้ยที่มันเป็นกระจุกของค่า H และ J ) โดยการสุ่ม มันจะทำให้การทำเครื่องหมายจำนวนมากผิด แต่ไม่เป็นไร เพราะว่าเรา ยังคงแสดงตัวอย่างให้มันเห็นได้และแต่ละครั้งยังอนุญาตให้มันปรับ energy program ได้อีกด้วย ดังนั้น มันก็จะได้รับฉลากที่ถูกต้องมากขึ้นๆ (การตั้งค่าสวิทช์)  เมื่อมันไม่สามารถทำอะไรได้ดีไปกว่านี้บนข้อมูลที่มันได้รับ เราจะเก็บ energy program อันสุดท้ายและใช้มันเป็นโปรแกรม ‘ที่ถูกเรียนรู้’ ของพวกเราเพื่อจัด กลุ่มตัวอย่างอันใหม่ที่ไม่เคยเห็น (รูปที่ 14)

ในศัพท์บัญญัติการเรียนรู้ด้วยเครื่อง มันรู้จักในฐานะที่เป็นอัลกอริทึมการเรียนรู้ ภายใต้การกำกับดูแลเพราะว่าเราได้แสดงให้คอมพิวเตอร์เห็นตัวอย่างของรูปภาพ และบอกมันว่าอะไรคือเครื่องหมายที่ควรจะถูกต้องเพื่อที่จะช่วยให้มันได้เรียนรู้ มันยังมีชนิดของอัลกอริทึมชนิดอื่นๆที่ถูกสนับสนุนโดยระบบ แม้แต่ข้อมูลที่ สามารถใช้งานได้หากข้อมูลที่มีป้ายกำกับไม่พร้อมใช้งาน

 

quantum computer tutorial

รูปที่ 14 หลังจากที่ระบบได้เจอโปรแกรมพลังงานที่ดีระหว่างขั้นตอนการฝึกอบรม ตอนนี้สามารถกำหนดป้ายกำกับตัวอย่างที่มองไม่เห็นเพื่อแก้ปัญหาในโลกแห่ง ความเป็นจริงได้แล้ว ขั้นตอนนี้เรียกว่า 'การทดสอบ'

2.5 - คุณสมบัติความไม่แน่นอน

จุดที่น่าสนใจจุดอื่นที่จะต้องโน๊ตเกี่ยวกับคอมพิวเตอร์ควอนตัม คือ มันเป็นความ น่าจะเป็น นั่นหมายความว่ามันสามารถมีได้หลากหลายคำตอบ หนึ่งในนั้นอาจเป็น คำตอบที่คุณกำลังมองหาและหนึ่งในนั้นก็อาจจะไม่ ในตอนแรกสิ่งนี้มันฟังดูแย่ เพราะคอมพิวเตอร์ที่มีคำตอบหลายๆอันเมื่อเราถามคำถามเดียวกัน มันเหมือน เป็นบัค! อย่างไรก็ตามในคอมพิวเตอร์ควอนตัม การมีคำตอบหลายๆอันนี้สามารถ ให้ข้อมูลที่สำคัญเกี่ยวกับระดับความเชื่อมั่นของคอมพิวเตอร์ได้ โดยการใช้ ตัวอย่างผลไม้ด้านบน หากเราแสดงให้คอมพิวเตอร์เห็นรูปภาพและร้องขอให้มัน ทำเครื่องหมายที่รูปที่เหมือนกัน 100 ครั้ง และมันให้คำตอบว่า ‘แอปเปิ้ล’ 100 ครั้ง นั่นหมายความว่าคอมพิวเตอร์ค่อนข้างมั่นใจว่ารูปภาพนั้น คือ แอปเปิ้ล อย่างไรก็ตาม ถ้ามันให้คำตอบว่าเป็นแอปเปิ้ล 50 ครั้งและราสเบอร์รี่ 50 ครั้ง หมายความว่าคอมพิวเตอร์ไม่แน่ใจเกี่ยวกับรูปภาพที่คุณให้มันดูและหากคุณได้แสดงให้มันเห็นรูปของแอปเปิ้ลและมีราสเบอร์รี่ในนั้น มันเป็นอะไรที่ถูกต้องโดย สมบูรณ์ ความไม่แน่นอนนี้อาจมีประสิทธิภาพมากเมื่อคุณกำลังออกแบบระบบที่ สามารถทำการตัดสินใจที่ซับซ้อนและการเรียนรู้เกี่ยวกับโลกใบนี้                   


References : https://www.dwavesys.com/tutorials/background-reading-series/quantum-computing-primer#main


Tag ที่น่าสนใจ: quantum_computing computer_science programming qubits artificial_intelligence machine_learning quantum_mechanics conventional_computing mathematics energy_program uncertainty physics self-programming_computer light_switch_game data_processing


บทความนี้อาจจะมีที่ผิด กรุณาตรวจสอบก่อนใช้

หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor

ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา