Kuantum Programlama

Tensorflow Quantum ile Kuantum Makine Öğrenimi

Kuantum bilişim ve yapay zekanın (artificial intelligence) potansiyel kesişimi, teknoloji tarihinin en büyüleyici gelişmelerinden biri olmayı vaat etmekte. Kuantum bilişimin ortaya çıkışıyla birlikte yapay zekayı kuantum hesaplama ile ortak payda da buluşturabilmek için yoğun bir çaba söz konusu. Bununla birlikte, kuantum bilgisayarların hesaplama gücü, günümüzde pratik olmayan birçok yapay zeka alanını hızlandırma potansiyeline de sahip.

Peki bu nasıl olucak?

Öncelikle yapay zeka ve kuantum hesaplamanın birlikte çalışması için ilk adım, kuantum mimarileri üzerinde çalışabilen makine öğrenimi modellerini yeniden tasarlamaktan geçmektedir. Kuantum bilişim ile oldukça ilgili olan Google, kuantum makine öğrenimi modelleri oluşturmak için bir çerçeve olan TensorFlow Quantum‘u duyurdu. Klasik makine öğrenimi için oldukça popüler ve başarılı bir çerçeve olan TensorFlow artık kuantum makine öğrenimi modellerini de oluşturabilmemizi sağlayacak.

O halde gelin, hep birlikte TensorFlow Quantum‘u kısaca tanıyalım.

Tensorflow Quantum Nedir?

TensorFlow Quantum (TFQ), hibrit kuantum-klasik makine öğrenimi modellerinin hızlı prototiplenmesi için bir kuantum makine öğrenimi kütüphanesidir. Kuantum algoritmaları ve uygulamalarıyla yapılan ilgili araştırmalarda TensorFlow içindeki Google’ın kuantum hesaplama çerçevelerinden yararlanabilir. TensorFlow Quantum’un ana fikri, TensorFlow programlama çerçevesi üzerinde kuantum algoritmalarını ve makine öğrenimi sistemlerini birleştirmektir. Google, bu yaklaşımı kuantum makine öğrenimi olarak ifade eder ve Google Cirq gibi son zamanlardaki kuantum hesaplama çerçevelerinden bazılarını kullanarak uygulayabilir.

Kuantum hesaplama ve yapay zeka söz konusu olduğunda cevaplamamız gereken ilk soru, kuantum mimarisinin ortaya çıkmasından yapay zekanın nasıl faydalanabileceğidir. Kuantum Makine Öğrenimi (Quantum Machine Learning), kuantum özelliklerinden yararlanabilen makine öğrenme modellerini ifade eden geniş bir terimdir. İlk kuantum makine öğrenimi uygulamaları geleneksel makine öğrenme modellerini yeniden düzenlemeye odaklanmıştır. Böylece kübit sayısıyla katlanarak büyüyen bir durum uzayında hızlı lineer cebir gerçekleştirilebilir. Bununla birlikte, kuantum donanımının evrimi, kuantum donanımının artan hesaplama kabiliyeti nedeniyle ampirik olarak çalışılabilen sezgisel yöntemlere dönüşen kuantum makine öğrenimi sınırlarını genişletmeyi başarmıştır. Gelişen ve özelleştirilen GPU’ların makine öğrenimi ve derin öğrenme için doğru altyapıyı sunması bu süreci anlamak için, bu duruma benzer bir örnek olarak söylenebilir.

TensorFlow Quantum, kuantum verilerine ve hibrit kuantum-klasik modellerin oluşturulmasına odaklanmaktadır. Cirq çerçevesinde tasarlanan kuantum hesaplama algoritmalarını ve mantığını bütünleştirir ve yüksek performanslı kuantum devre simülatörleriyle birlikte mevcut TensorFlow API’leriyle uyumlu kuantum hesaplama paradigmalarını sağlar.

TensorFlow Quantum Teknik Bakış

TensorFlow Quantum, makine öğrenimi araştırmacılarının kuantum veri kümelerini, kuantum modellerini ve klasik kontrol parametrelerini tek bir hesaplama grafiğinde tensörler olarak oluşturmalarına olanak tanır.
Mimari açıdan TFQ, TensorFlow, Cirq ve hesaplama donanımı ile etkileşimleri soyutlayan bir model sunar. Yığının üst kısmında işlenecek veriler bulunur. Klasik veriler doğal olarak TensorFlow tarafından işlenir; TensorFlow Quantum, hem kuantum devreleri hem de kuantum operatörlerinden oluşan kuantum verilerini işleme yeteneğini sunar.

Bir sonraki katmanı TensorFlow’da ki Keras API’sıdır. TensorFlow Quantum’un temel prensibi, özellikle Keras modelleri ve optimize edicileri ile TensorFlow çekirdeği arasındaki yerel entegrasyon ile, bu seviye yığının tüm genişliğini kapsamaktır. Keras model soyutlamalarının altında, kuantum katmanları ve klasik TensorFlow katmanları bağlandığında hibrit kuantum-klasik otomatik farklılaşmayı sağlayan farklılaştırıcılar bulunur. Katmanların ve farklılaştırıcıların altında, veri akışı grafiğini başlatan TensorFlow operasyonları yer almaktadır.

Yürütme açısından TensorFlow Quantum, kuantum makine öğrenimi modellerini eğitmek ve oluşturmak için aşağıdaki adımları izlemektedir:

  • Kuantum veri kümesi hazırlanması: Kuantum verileri, Cirq’de yazılmış bir kuantum devresi olarak belirtilen, tensörler olarak yüklenir. Tensör, bir kuantum veri kümesi oluşturmak için kuantum bilgisayarında TensorFlow tarafından yürütülür.
  • Kuantum sinir ağı modelini değerlendirme: Bu adımda, araştırmacı daha sonra bir TensorFlow hesaplama grafiğinin içine yerleştirecekleri Cirq kullanarak bir kuantum sinir ağını prototipleyebilir.
    Örnek veya Ortalama: Bu adım, (1) ve (2) adımlarını içeren çeşitli çalışmalarda ortalama alma yöntemlerinden yararlanır.
  • Klasik bir sinir ağları modelini değerlendirme: Bu adım, önceki adımlarda çıkarılan önlemler arasında bu tür korelasyonları damıtmak için klasik derin sinir ağlarını kullanır.
  • Maliyet işlevini değerlendirme: Geleneksel makine öğrenimi modellerine benzer şekilde TFQ bu adımı bir maliyet işlevini değerlendirmek için kullanır. Bu, kuantum verisi etiketliyse modelin sınıflandırma görevini ne kadar doğru gerçekleştirdiğine veya görevin denetimliğine göre diğer ölçütlere dayanabilir.
  • Degradeleri Değerlendirme ve Parametreleri Güncelleme: Maliyet fonksiyonunu değerlendirdikten sonra, hat üzerindeki (pipeline) serbest parametrelerin maliyeti düşürmesi beklenen bir yönde güncellenmesi gerekir.

TensorFlow ve Cirq kombinasyonu, TFQ’u daha basit ve tanıdık bir programlama modeli de dahil olmak üzere bir dizi yetenekle ve aynı zamanda birçok kuantum devresini eş zamanlı olarak eğitme ve yürütme kabiliyeti sağlar.

Kuantum bilişim ve makine öğrenimi arasında köprü kurma çabaları henüz çok yeni aşamalardadır. Kesinlikle, TFQ bu alandaki en önemli kilometre taşlarından birini ve hem kuantum hem de makine öğreniminde en iyi girişimlerden bazılarını temsil eder.

TFQ hakkında daha fazla ayrıntı projenin web sitesinde bulunabilir.

İnternet Sitesi: https://www.tensorflow.org/quantum/

Kurulum: https://www.tensorflow.org/quantum/install

TensorFlow Quantum çerçevesi bağlamında, kuantum makine öğrenimi iki ana bileşen etrafından tanımlanabilir:

  1. Kuantum Veri Kümeleri
  2. Hibrit Kuantum Modelleri

1. Kuantum Veri Setleri

Kuantum veri setleri (Quantum datasets), doğal veya yapay bir kuantum sisteminde meydana gelen, oluşan herhangi bir veri kaynağıdır. Bu veriler, kuantum mekanik deneylerden kaynaklanan klasik veriler veya bir kuantum cihazı tarafından doğrudan üretilen ve daha sonra girdi olarak bir algoritmaya beslenen veriler olabilir.

Kuantum üzerindeki hibrit kuantum-klasik makine öğrenimi uygulamalarının aşağıda açıklanan nedenlerden ötürü sadece klasik olan makine öğrenimine göre kuantum avantajı sağlayabileceğine dair bazı kanıtlar bulunmaktadır. Başlıca kanıt; kuantum veri setlerinin, süper pozisyon ve dolaşıklık göstermesi ve veriyi temsil veya saklamak için üstel miktarda klasik hesaplama kaynağı gerektirebilecek ortak olasılık dağılımlarına yol açmasıdır.

2. Hibrit Kuantum Modelleri

Tıpkı makine öğreniminin modelleri eğitilmiş veri kümelerinden (training datasets) genelleştirebildiği gibi, kuantum makine öğrenimi de kuantum modellerini kuantum veri kümelerinden genelleştirebilir. Bununla birlikte, kuantum işlemciler hala oldukça küçük ve gürültülü olduklarından, kuantum modelleri yalnızca kuantum işlemcileri kullanarak kuantum verilerini genelleştiremez. Hibrit kuantum modelleri, kuantum bilgisayarların geleneksel hızlandırıcılarla birlikte çalışan donanım hızlandırıcıları olarak en performanslı olacağı bir çözüm sunmaktadır. Bu model TensorFlow için mükemmeldir çünkü zaten CPU’lar, GPU’lar ve TPU’lar arasında heterojen hesaplamayı desteklemektedir.

Hibrit Kuantum Modellerin İzinde

Hibrit kuantum modelleri oluşturmanın ilk adımı kuantum operasyonlarını yararlı bir şekilde yürütebilmektir. Bunu yapmak için, TensorFlow Quantum, kuantum devrelerini yürütmek için açık kaynaklı bir çerçeve olan Cirq’a güveniyor. Cirq, kuantum hesaplama için gerekli olan kübitler, kapılar, devreler ve ölçüm operatörleri gibi temel yapıları içerir. Cirq’in arkasındaki fikir, kuantum uygulamalarının temel yapı taşlarını soyutlayan basit bir programlama modeli sağlamaktır.

Güncel sürüm aşağıdaki temel yapı taşlarını içerir:

  • Devreler: Cirq’te bir Cirquit, bir kuantum devresinin en temel biçimini temsil eder. Bir Cirq Circuit, kübitler üzerinde soyut bir zaman sırasında gerçekleştirilebilecek işlemleri içeren bir “Anlar” koleksiyonu olarak temsil etmeyi sağlar.
  • Çizelgeler ve Cihazlar: Bir çizelge, kapıların zamanlaması ve süresi hakkında daha ayrıntılı bilgi içeren kuantum devresinin başka bir şeklidir. Kavramsal olarak, çizelgeler, bir dizi ScheduledOperations (Zamanlanmış Operasyonlar) öğesinin yanı sıra zamanlamanın çalıştırılmasını amaçlayan tanımı cihaz üzerinde oluşturur.
  • Mantık Kapıları: Cirq’te mantık kapıları, kübit koleksiyonlarına ilişkin soyut operasyonlar yürütülmesini sağlar.
  • Simülatörler: Cirq, devreleri ve programları çalıştırmak için kullanılabilecek bir Python simülatörü içermektedir. Simülatör mimarisi, oldukça karmaşık devreler çalıştırmasına izin veren birden çok iş parçacığı ve CPU arasında ölçeklenebilirdir.
Bu içeriği paylaş
QTurkey
QTurkey, Türkiye’deki kuantum teknolojileriyle ilgili faaliyetler için bir iletişim ve işbirliği ağıdır. “Kuantum Programlamaya Giriş” için çalıştayları düzenliyor, ilgili konulardaki ilgili öğrenciler için çalışma grupları ve toplantılar düzenliyoruz ve ülke düzeyinde kuantum meraklıları için bir buluşma alanı oluşturabilme amacıyla hareket ediyoruz.

Bunları da beğenebilirsiniz

Yorum bırakın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir