Eğer makine öğrenmesi size ilginç geliyorsa sıkı durun! Kuantum makine öğrenmesi bu ilginçliği daha da arttıracaktır. Son birkaç yılda her iki alanda da çok önemli ilerlemeler kaydedildi. İki alanın birleşmesi ile çok çeşitli gelişmeler ve uygulamalar yaratılabilmesi mümkün.
Bu yazıda kuantum hesaplama ve kuantum makine öğrenimi ile ilgili temel kavramlara ve kod içeren bir örnek üzerinde durulacaktır.
Kuantum Makine Öğrenmesi Nedir?
Kuantum kısmına geçmeden önce klasik programlamanın odaklandığı ana fikri hatırlayalım!
Klasik programlamada, programcının belirlediği kurallar ve önceden tanımlanmış veriler kullanılarak belirli bir çıktı üretilir.
Makine öğrenmesinde, girdi verileriyle birlikte çıktı verileri de programa verilir. Amacı, algoritmanın girdi ve çıktı arasındaki ilişki ve benzerlikten yola çıkarak tahmin yapabilmesi için eğitilmesidir (eğitim). Sonraki aşama ise çıktı verileri olmadan, sadece girdi verileriyle sonucu tahmin etmektir (çıkarım veya tahmin).
Kuantum Hesaplama Nedir?
Kuantum teknolojisinin gelişmesiyle birlikte, hesaplama alanında bir paradigma değişikliği yaşandı. Kuantum mekaniği prensiplerine dayanarak, klasik bilgisayarların çözemediği karmaşık sorunlara daha etkili bir çözüm sunma imkanı ortaya çıktı.
Ana özelliği, kuantum bilgisayarlarının kuantum bitleri (kübitler) üzerinde çalışmasıdır. Klasik hesaplama, yalnızca bir durumla (0 veya 1) aynı anda çalışırken, kübitler aynı anda hem 0 hem de 1 durumunda olabilirler.
Kuantum Makine Öğrenmesini Kullanmanın 4 Şekli
Kuantum ve makine öğrenmesinin birlikte kullanımını incelemek istediğimizde bu konuyu 4 farklı şekilde ele alabilmek mümkündür.
- Kullanılacak verinin türü klasik mi (C), yoksa kuantum mu (Q) olacak?
- Veriler klasik yolla mı (C), yoksa kuantum yolla mı (Q) işlenecek?
Yukarıdaki 2 madde dikkate alındığında 4 farklı kombinasyon elde edilmektedir.
- CC – Kuantum fizikten doğrudan bir temeli olmayan, ancak kuantum fiziğinden fikirler ödünç alan Klasik Makine Öğrenmesi. İlk olarak kuantum sistemler için oluşturulan tensör ağlarının uygulanması bir örnektir.
- QC – Klasik Makine Öğrenmesi problemleri, kuantum durumlarından öğrenmek için kullanılır. Fiziksel bir deney tarafından yayılan kuantum durumlarını sınıflandırmak, bu yaklaşım tarafından ele alınan bir sorun olabilir.
- CQ – Klasik veri kümelerini işlemek için kuantum bilgisayarlarını kullanma. Başka bir deyişle, genellikle makine öğrenimiyle çözülen problemlere kuantum bilgisayarlarda daha etkili çözümler bulma. Örneğin, görüntü işleme, doğru algoritma parametrelerini öğrenmek için kuantum bilgisayarlara yüklenir.
- QQ – Bu yaklaşım, kuantum bilgisayarlarının doğrudan kuantum durumları üzerinde kullanıldığı en saf yaklaşımdır. Bir kuantum simülasyonunun çıktı durumu bir makine öğrenmesi algoritmasına girdi olarak kullanılır.
Örnek: Bir sistemdeki üniter dönüşümleri öğrenmek için kuantum kutupsal ayrıştırma algoritmasının kullanılması.
Kuantum makine öğrenmesi ile çözülebilecek problemlerden bahsedildiğinde, uzmanlar genellikle CQ ve QQ ile çözülebilecek problemlere atıfta bulunurlar, çünkü bu problemlerde öğrenme işlemi kuantum bilgisayarlarda gerçekleştirilir.
Esas Meseleye Gelelim! Peki Kuantum Makine Öğrenmesini Nasıl Kullanabiliriz?
Makine öğrenmesinde öğrenme iki ana sınıfa ayrılır. İlk olarak, denetimli öğrenme adı verilen bir yöntem vardır ve bu yöntemde veriler etiketlidir. Öğrenme ve test aşamaları etiketli veri üzerinde gerçekleştirilir.
Örnek olarak, bir çiçeğin yaprak sayısı, rengi veya diğer özelliklerinden ailesinin tahmin edilmesi gösterilebilir. (Burada yaprak sayısı, renk ve diğer özellikler çiçeğin etiketleridir.)
Denetimsiz öğrenme ise belirli etiketler olmadan bir veriyi belirli bir sınıfa dahil etme işlemidir. Buradaki işleyiş, verinin diğer verilerle arasındaki benzerlik veya farklılıklara göre gruplandırılmasıdır.
Denetimli öğrenme’de verileri sınıflandırmak için yaygın olarak kullanılan bir algoritma, Destek Vektör Makineleri (SVM) algoritmasıdır. Bu algoritma genellikle verileri doğrusal olarak sınıflandırmak için kullanılır, ancak gerçek dünyada karşılaşılan verilerin tamamı doğrusal olmadığından (örneğin: zamana bağlı veriler, sinyaller vb.), SVM ile verileri sınıflandırmak zorluklarla karşılaşabilir.
Bu soruna çözüm olarak, verileri doğrusal olmayan bir düzlemde daha yüksek boyutlu bir uzaya yansıtmak için kullanılan çekirdek fonksiyonları adı verilen bir teknik kullanılabilir. Ancak, bu uzayın boyutu çok büyüdüğünde ve çekirdek fonksiyonlarının hesaplanması oldukça maliyetli hale geldiğinde, bu yöntem kullanıldığında bazı sınırlamalar ortaya çıkabilir.
Basit bir örnekle çekirdek fonksiyonunu hesaplamak ve sınıflandırılacak verileri bir kuantum durum ile temsil etmek için kuantum hesaplamadan yararlanacağız ve beklenildiği üzere daha ideal bir çözüm elde edeceğiz.
Aşağıdaki görsellere bakıldığında, SVM’nin doğrusal sınıflandırmaya dayalı olarak verileri en iyi şekilde sınıflandıramadığını görüyoruz. Ancak, çekirdek fonksiyonunun kuantum hesaplama kullanılarak hesaplanmasıyla verilerin daha başarılı bir şekilde sınıflandırıldığını gözlemliyoruz.
Kodun ayrıntılarını ve nasıl uygulanacağını aşağıdaki Github Repo’sunda bulabilirsiniz!
Kuantum Hesaplamayı Kullanan Yapay Zekanın (AI) Geleceği
Kuantum bilgisayarlar sayesinde hızlandırılmış yapay zekanın geleceği, karmaşık yapay zeka sorunlarını çözebilmesi ve aynı anda birden çok çözüm elde edebilmesi nedeniyle parlak görünmektedir. Dünyanın önde gelen teknoloji üniversitelerinden yalnızca birkaçının kuantum bilgisayar geliştirdiği düşünüldüğünde, o parlak geleceğe ulaşmak biraz daha zaman alabilir gibi görünüyor. Ancak, kim bilir! Belki de çok uzak sayılmayız!
Çeviren: Elif Özceylan
Redaktör: ChatGPT, Yasir Ölmez
Kuantum Makine Öğrenimi ile ilgi daha fazla yazıya buradan ulaşabilirsiniz.