Ölçüm süreci — istatistiksel geri dönüşler ve diferansiyel gözlemlenebilirler
PennyLane’de ölçüm, kuantum devresinin sonuna eklenen statik bir işlem değil; QNode’un klasik dünyaya hangi istatistiksel bilgiyi sızdıracağını belirleyen dinamik bir operatör eşleşmesidir. Beklenen değerlerden (expval) durum olasılıklarına (probs), varyanstan ham örneklemlere kadar geniş bir yelpazede sunulan bu süreç, kuantum durumunu skalar bir değere indirgerken otomatik türev motoru için gradyan yolunu da tanımlar. Bu sayfa, ölçümü Qiskit tarzı "izleme ve sayma" (counting) mantığından ziyade, diferansiyel kuantum programlamanın bir çıktı katmanı olarak analiz eder.
Ölçüm: Kuantum Durumundan Skalar Veriye
QNode'un içindeki kuantum fonksiyonunun return satırı, kuantum devresinin hangi fiziksel özelliğinin klasik bilgisayara aktarılacağını belirler. PennyLane'de ölçüm, dalga fonksiyonunun çökmesinden çok, o dalga fonksiyonu üzerinde bir matematiksel beklentinin hesaplanmasıdır.
Qiskit ile Kavramsal Ayrım
Qiskit'te genellikle devre sonuna measure_all() eklenir ve ham bit dizileri (counts) üzerinden post-processing yapılır. PennyLane'de ise ölçüm, doğrudan bir diferansiyel operatördür. Eğer qml.expval() döndürürseniz, sistem bunu optimize edilecek bir maliyet fonksiyonu bileşeni olarak görür; eğer qml.probs() döndürürseniz, klasik tarafa bir olasılık dağılım vektörü iletirsiniz. Bu, hibrit QML'de kuantum katmanının çıktı aktivasyon fonksiyonunu seçmek gibidir.
Beklenen Değerler (expval) ve Optimizasyon
Varyasyonel Kuantum Algoritmalarının (VQA) kalbi olan qml.expval(H), belirli bir gözlemlenebilirin (H) o kuantum durumundaki ortalama değerini döndürür.
Eğitim döngüsünde maliyet fonksiyonu genellikle bu beklenen değerlerin bir kombinasyonudur. Örneğin, bir molekülün taban durumu enerjisini ararken, Hamiltonyen operatörünün beklenen değerini minimize edersiniz. PennyLane, bu değerin parametrelere göre türevini (grad) otomatik olarak hesaplayabildiği için, cihaz sistemi ile uyumlu bir şekilde parametreleri günceller.
Olasılık Dağılımları ve Ham Örnekleme
qml.probs(wires=...), seçilen kablolarda ölçüm bazında olasılık vektörü döndürür; QNN veya sınıflandırma tarafında kuantum katmanının “softmax öncesi” çıktısı gibi düşünülebilir. qml.sample() ise tek tek bit dizileri üretir — maliyet türevlenebilir olmayabilir veya farklı bir gradyan yolu gerektirir; eğitimde genelde expval veya probs tercih edilir.
probs vs expval: hangi maliyet?
expval skalar veya az sayıda skalar üretir; VQE/QAOA tipi problemlerde doğrudan maliyete yazılır. probs vektör döndürür; klasik tarafında çapraz entropi veya KL benzeri kayıplarla birleştirilir. İkisini aynı QNode’da demet olarak döndürmek mümkündür; fakat her dönüş bileşeninin gradyan yolu ve cihaz uyumu ayrı kontrol edilmelidir. Kablo sırası vektör boyutunu belirler — kablo yönetimi ile hizalayın.
Fiziksel ölçüm ve Born olasılığı için ölçüm ve çökme sayfasına bakın; burada odak PennyLane API’sinin eğitim hattına nasıl bağlandığıdır.
Gözlemlenebilirler: Pauli Bazından Hamiltonyenlere
Ölçüm rastgele bir işlem değildir; her zaman bir baz (basis) üzerinde yapılır. PennyLane, standart Pauli matrislerini (PauliX, PauliY, PauliZ) temel gözlemlenebilirler olarak sunar.
Karmaşık Hamiltonyenler
Kuantum kimyası veya optimizasyon problemlerinde, ölçüm genellikle çok sayıda Pauli teriminin toplamından oluşan bir Hamiltonyen (qml.Hamiltonian) üzerinden gerçekleştirilir. PennyLane'in "Differentiable Programming" yaklaşımı, bu toplamı parçalara ayırarak donanımda ayrı ayrı koşturur ve sonuçları diferansiyel zinciri bozmadan klasik tarafta toplar. Bu, donanım routing tabloları yerine algoritmik verimliliğe odaklanan bir yaklaşımdır.
Donanım Kısıtları ve Shots Etkisi
Ölçümün doğruluğu doğrudan shots (örneklem sayısı) ile ilişkilidir. Analitik modda mükemmel sonuçlar veren bir ölçüm, sonlu shot ile çalıştırıldığında istatistiksel bir varyans üretir.
Hibrit eğitim planlamasında, ölçüm varyansı "gradyan gürültüsü" olarak kendini gösterir. Eğer çok düşük shot ile ölçüm yapıyorsanız, optimizasyon algoritmanız (SGD veya Adam) yanlış yöne sapabilir. Bu nedenle, ölçüm süreci sadece neyin ölçüldüğü değil, ne kadar hassas ölçüldüğü sorusunu da barındırır. Cihaz değişimi sırasında bu hassasiyet ayarı, cihaz sistemi üzerinden yönetilir. Shots ve cihaz seçiminin eğitim planındaki yeri orada ayrıntılandırılır; burada yalnızca ölçüm çıktısının varyansı vurgulanır.
Çoklu Ölçüm ve Çıktı Tensör Yapısı
QNode dönüş satırı birden çok ölçüm ifadesi içerebilir: Python demeti, liste veya yapılandırılmış tensör biçimleri. Her bileşen farklı şekil ve gradyan davranışı taşır; Torch tarafında bunları birleştirmeden önce hangi skaların maliyete girdiğini netleştirin.
Demet dönüşü ve maliyet
Örneğin return qml.expval(A), qml.expval(B) iki skalar üretir; klasik kayıp bunların ağırlıklı toplamı olabilir. Gradyan her bileşenden akar; fakat cihaz ve diff_method her ölçüm için uyumlu olmalıdır. Karmaşık Hamiltonyenlerde terim başına ayrı expval döndürmek yaygındır — toplama klasik tarafta yapılır, böylece diferansiyel zincir korunur.
QNode’un genel dönüş sözleşmesi QNode mimarisi sayfasında; kayıt ve yürütme sırası yürütüm akışı başlığındadır.
Kod Örnekleri: Farklı Ölçüm Stratejileri
PennyLane'de ölçümün nasıl tanımlandığına dair temel ve ileri seviye kullanım senaryoları:
import pennylane as qml
dev = qml.device("default.qubit", wires=2)
@qml.qnode(dev)
def circuit(params):
qml.RX(params[0], wires=0)
qml.RY(params[1], wires=1)
qml.CNOT(wires=[0, 1])
# Çoklu ölçüm: Hem beklenen değer hem olasılık döner
return qml.expval(qml.PauliZ(0)), qml.probs(wires=[0, 1])
res = circuit([0.1, 0.2])
# res[0] -> Skalar (beklenen değer)
# res[1] -> [0.98, 0.01, 0.005, 0.005] gibi bir vektör
İleride ve Yan Sayfalarda Ne Var?
Ölçüm süreci, verinin kuantumdan klasiğe geçiş kapısıdır. Bu kapıyı daha iyi anlamak için:
- QNode mimarisi — dönüş satırı ve çağrılabilir sınır.
- Cihaz sistemi — shots, gürültü ve ölçüm hassasiyeti.
- Kuantum fonksiyonları — maliyet ve eğitim döngüsü.
- Yürütüm akışı — kayıt, türev ve yürütme sırası.
- Kablo yönetimi — probs vektörünün kablo sırası.