Lisede aldığınız Biyoloji derslerini hatırlayın. Hayatın temelinde yatan karbon atomları belli başlı bazı diğer elementlerle bir araya gelerek organik bileşikleri oluşturuyorlar. Hatta bu organik bileşikler arasında hasta olduğumuzda doktorumuz tarafından bize yazılan o ilaçlar da var. Peki bu moleküller arasında bir örüntü bulabilir miyiz? Veya ileride ortaya çıkacak yeni hastalıkların tedavisi olabilecek ilaçları yapay zeka tasarlayabilir mi?
Şekil 1 : Metildopamin Bileşiği(1) (Parkinson Hastalığının Tedavisinde Kullanılır)
Makalemizde bu sorulara cevap vereceğiz. Ancak öncelikle son zamanlarda yapay zeka sektöründe popülerliğini oldukça artırmış yeni bir algoritmadan bahsedeceğiz. Grafik Sinir Ağları, yani GNN’ler.
Grafik Sinir Ağları (GNN’ler) Nedir?
2000'lerin başında veri bilimciler geleneksel yöntemlerle karmaşık ilişkileri modellemekte zorlanıyorlardı. Sosyal ağlar, moleküller ve hatta metinler... Her biri noktalar ve onları birbirine bağlayan çizgilerden oluşan bir ağ gibiydi. Ancak bu ağlardaki gizli ilişkileri ve örüntüleri ortaya çıkarmak kolay değildi. İşte tam bu noktada GNN'ler sahneye çıktı.
GNN'ler temelde ilişkileri anlamak ve analiz etmek için tasarlanmış özel bir derin öğrenme algoritmalarıdır. Veri dünyasındaki pek çok şey aslında birbirleriyle bağlantılı düğümler (node) ve bu düğümler arasındaki kenarlar (edge) ile temsil edilebilir. İşte GNN'ler bu tür "grafik" adı verilen yapılar üzerinde çalışarak, düğümler ve kenarlar arasındaki karmaşık ilişkileri öğrenir ve anlamlı bilgiler çıkarır.
Şekil 2 : Bir Graf (Graph) Örneği(2)
İşte bu algoritmalar tıpkı bir dedektif gibi, verinin içindeki bağlantıları takip ederler. Her nokta bir bilgi parçası, her çizgi ise bir ilişkiyi temsil etmektedir. GNN'ler, bu bağlantıların izini sürerek verinin derinliklerindeki sırları açığa çıkarmaya çalışırlar.
GNN’lerin ilk zamanları diğer derin öğrenme algoritmaları gibi oldukça zorlu geçti. GNN'ler henüz emekleme dönemindeydi ve karmaşık problemlerle başa çıkmakta zorlanıyordu. Ancak bilim insanları pes etmedi ve yeni fikirler, yeni algoritmalar geliştirdiler. GNN'ler de zamanla güçlendi ve kendi problemlerini çözmekte oldukça başarılı olmaya başladı. 2010'lar GNN'ler için bir dönüm noktasıydı. Sosyal medyanın patlamasıyla birlikte, devasa boyutlarda sosyal ağlar ortaya çıktı. GNN'ler bu ağlardaki arkadaşlıkları, toplulukları ve hatta sahte hesapları tespit etmekte bir devrim oldu.
İlaç keşfi de GNN'lerin parladığı bir diğer alan oldu. Moleküllerin karmaşık yapısını anlamak, yeni ilaçlar geliştirmek için oldukça kritik bir öneme sahipti. GNN'ler, moleküller arasındaki etkileşimleri modelleyerek bilim insanlarına yeni ilaç adayları bulma konusunda yardımcı oldu. Bugünlerde ise GNN'ler veri biliminin vazgeçilmez araçlarından biri haline geldi. Öneri sistemlerinden trafik tahminine, doğal dil işlemeden metin analizine kadar pek çok alanda kullanılıyorlar.
Peki GNN’lere Neden İhtiyacımız Var?
Günümüzde oldukça popülerliğini koruyan Transformatör (Transformer) algoritmaları ya da diğer birçok algoritma varken neden GNN’leri kullanıyoruz? Tabi bu sorunun birçok cevabı var. Ancak bir tanesi diğer cevaplara göre çok daha önemli, veri yapıları.
Geleneksel yapay zeka modelleri [örneğin evrişimli sinir ağları (CNN'ler)], verileri genellikle düzenli yapılar (listeler, tablolar, görüntüler) halinde işlerler. Ancak gerçek dünyadaki pek çok veri, ağlar (grafikler) şeklinde organize edilir. Örneğin sosyal medyalardaki kişi ağınız, otomobilinizle seyahat ederken kullandığınız otoyol ağınız, alışveriş sitelerinde kullanılan öneri sistemleri, kullandığınız dilin kelimeler ile bağlaçlar arasındaki ilişkileri ve daha önceden anlattığımız moleküller arasındaki ağların ilişkileri; bu tür verileri dijital ortamlarımızda depolamak istediğimizde başvurduğumuz en optimal veri yapıları graflar olacaktır. GNN'ler ise bu tür graf yapılarındaki verileri doğrudan işleyebilir ve içlerindeki karmaşık ilişkileri öğrenebilir, farklı ağlar arasında daha önceden keşfedilmemiş yeni ilişkiler kurabilir.
Şekil 3 : CNN ve GNN Algoritmalarının İlgilendiği Veri Tiplerinin Farkları(3)
GNN'lerin Temel Yapı Taşları Nelerdir?
- Graf (Graph): GNN'ler graf veri yapısı üzerinde çalışır. Bir graf, düğümler (nodes) ve kenarlar (edges) kümesinden oluşur. Düğümler verideki varlıkları (örneğin insanlar, moleküller, kelimeler) temsil ederken, kenarlar bu varlıklar arasındaki ilişkileri (örneğin arkadaşlıklar, kimyasal bağlar, anlamsal ilişkiler) temsil eder.
- Düğüm Özellikleri (Node Features): Her düğüm kendisini tanımlayan bir dizi özelliğe (örneğin yaş, atom numarası, kelime vektörü) sahip olabilirler. Bu özellikler düğümlerin temsil edilmesine ve GNN tarafından işlenmesine yardımcı olur.
- Kenar Özellikleri (Edge Features): Bazı graf yapılarında kenarlar da kendilerini tanımlayan özelliklere (örneğin ilişkinin türü, ağırlığı, yönü) sahip olabilirler. Bu özellikler düğümler arasındaki ilişkilerin daha ayrıntılı bir şekilde modellenmesine olanak tanır.
GNN'lerin Çalışma Aşamaları
GNN'ler, genellikle denetimli öğrenme veya yarı denetimli öğrenme yöntemleriyle eğitilir. Eğitim sürecinde, modelin parametreleri, graf yapısı ve düğüm/kenar özellikleri kullanılarak optimize edilir. Amaç, modelin belirli bir görevdeki performansını maksimize etmektir.
GNN'ler, temel olarak şu adımlarla çalışır:
- Mesaj Geçirme (Message Passing):
Her bir düğümün diğer komşu düğümlerinden mesaj (bilgi) alarak kendi temsilini (özellik vektörünü) zenginleştirmesini sağlar. Alınan bu bilgiler komşu düğümlerin mevcut temsillerinden ve aralarındaki kenarların özelliklerinden hesaplanır. Buradaki bilgi hesaplama fonksiyonu genellikle öğrenilebilir parametrelere sahip bir sinir ağıdır [örneğin çok katmanlı algılayıcı (MLP)].
- Toplama (Aggregation):
Her bir düğümün aldığı tüm mesajları birleştirerek tek bir temsil oluşturmasını sağlar. Burada kullanılan toplama fonksiyonu genellikle ortalama alma, toplama, maksimumu alma ya da dikkat mekanizması işlemleri kullanılarak çalıştırılır. Bu adım, düğümün komşularından gelen bilgileri özetlemesine yardımcı olur.
- Güncelleme (Update):
Her bir düğümün topladığı mesajları ve mevcut temsilini kullanarak kendi temsilini yenisiyle güncellemesini sağlar. Bu fonksiyon ise genellikle öğrenilebilir parametrelere sahip bir sinir ağıdır (örneğin MLP, RNN).
- Tekrarlama (Iteration):
Mesaj geçirme, toplama ve güncelleme adımlarının tüm graf yapısında bilgi yayılana kadar tekrarlanmasını sağlar (genellikle birkaç katman veya iterasyon tekrarlanır). Her tekrarda düğümler komşularından daha fazla bilgi toplar ve temsilleri daha zengin hale gelir. Bu tekrarlama süreci, GNN'lerin graf yapısındaki uzak bağımlılıkları yakalamasına olanak tanır.
- Çıktı (Output):
Son iterasyonunun ardından düğüm temsilleri, düğüm sınıflandırması, bağlantı tahmini veya graf sınıflandırması gibi çeşitli görevler için kullanılabilir. Çıktı katmanı genellikle öğrenilebilir parametrelere sahip bir sinir ağıdır ve göreve özgü bir şekilde tasarlanır.
Sonuç
Bu makalenin başında size sorduğumuz soruya cevap vermek gerekirse, şu anlık hayır. Ancak ilaç keşif sürecinde önemli bir rol oynadıklarını ve yeni ilaç adaylarının belirlenmesine yardımcı olduklarını biliyoruz. Biraz düşündüğümüzde transformatör algoritmalarının (anlam uzayları sayesinde) kelimeleri anlamlandırabildiği gibi moleküller arasındaki bağları anlamlandırabilen bir yapay zeka kulağa çok da fütüristik gelmiyor, öyle değil mi?
Grafik Sinir Ağları (GNN'ler) veri dünyasındaki karmaşık ilişkileri anlamlandırma ve bu ilişkilerden değerli bilgiler çıkarma konusunda çığır açan bir potansiyele sahiptir. Geleneksel yöntemlerin yetersiz kaldığı sosyal ağ analizi, öneri sistemleri, ilaç keşfi, trafik tahmini ve doğal dil işleme gibi birçok alanda GNN'ler güçlü bir çözüm sunar. GNN'lerin bu alanlardaki başarılı uygulamaları onların gelecekteki potansiyelini daha da heyecan verici hale getirmektedir.
GNN'lerin daha büyük ve karmaşık veri setlerini işleyebilme, açıklanabilirlik ve şeffaflık sunabilme, dinamik ve zamanla değişen grafları modelleyebilme yeteneklerinin gelişmesiyle birlikte, yapay zeka alanında yeni ufuklar açılacaktır. GNN'lerin diğer yapay zeka teknikleriyle entegrasyonu ile daha güçlü ve çok yönlü uygulamaların geliştirilmesine olanak sağlayacaktır.
GNN'ler insan zekasının ve merakının sınırlarını zorlamaya devam eden bir keşif. Ve bizler bu keşiflerin ilk anlarına şahit oluyoruz.
Referanslar:
- α-Methyldoppamine : https://en.wikipedia.org/wiki/%CE%91-Methyldopamine
- Graphs : https://adacomputerscience.org/concepts/struct_graph?examBoard=ada&stage=all
- Graph Neural Network and Some of GNN Applications: Everything You Need to Know : https://neptune.ai/blog/graph-neural-network-and-some-of-gnn-applications