Grafik Sinir Ağları Nedir? Açıklama ve Uygulamalar [Diyagramlı]
Yayınlanan: 2021-01-08İçindekiler
Tanıtım
Son zamanlarda, Yapay Sinir Ağları, Örüntü Tanıma ve Veri Madenciliği alanındaki uygulaması ve kullanım kolaylığı nedeniyle büyük bir popülerlik kazanmıştır. Derin Öğrenmenin CNN, RNN ve otomatik kodlayıcılar gibi teknikleri kullanarak nesne algılama ve konuşma tanıma gibi görevlere uygulanması, Sinir Ağlarının araştırma ve geliştirmesine büyük miktarda çalışma getirmiştir.
Resim, metin ve video gibi veriler üzerinde Derin Öğrenme uygulaması, Öklid verilerine dayalı olduğu için kolaylıkla gerçekleştirilmektedir. Verilerin nesneler arasında oldukça karmaşık ilişkilerle grafikler (Öklid dışı) olarak temsil edildiği uygulamalara ne dersiniz?
İşte burada Grafik Sinir Ağları (GNN) kavramını getiriyoruz. Bu yazıda, Grafikler ve GNN'lerin tanımlarını ve temellerini inceleyeceğiz ve Grafik Sinir Ağlarının en son uygulamalarından bazılarını göreceğiz.
Grafik Nedir?
Grafik Sinir Ağları başlığından, GNN'nin en temel bölümünün bir Grafik olduğunu görüyoruz.
Bilgisayar Biliminde Grafik, iki bileşenli bir veri yapısı olarak tanımlanır. Köşeler ve Kenarlar. Bir G grafiği, G = VE olarak tanımlanabilir. Burada V köşeler kümesi ve E aralarındaki kenarlardır. Köşeler ve düğümler terimi genellikle birbirinin yerine kullanılır. Kenarlarda yön bağımlılığı adı verilen herhangi bir ok işareti varsa, bu bir yönlü grafiktir. Değilse, bunlar yönsüz grafiklerdir.
Kaynak

Bir grafik birkaç şeyi temsil edebilir – sosyal medya ağı, şehir ağı, moleküller vb. Bir şehirler ağını temsil eden aşağıdaki grafiği göz önünde bulundurun. Şehirler düğümler olarak temsil edilir ve onları birbirine bağlayan yollar kenarlardır.
Kaynak
Yukarıdaki grafik ağını kullanarak, hangi şehirlerin iyi bağlantılı olduğunu veya iki şehir arasındaki en kısa mesafeyi bulmak gibi bu şehirlerle ilgili birkaç sorunu çözebiliriz.
Grafik Sinir Ağları Nelerdir?
Grafikler son derece güçlü ifade gücüne sahip olduklarından, Makine Öğrenimi alanında geniş çapta dikkat çekiyorlar. Her düğümün kendisiyle ilişkilendirilmiş bir yerleştirmesi vardır. Bu yerleştirme, veri alanındaki düğümü tanımlar. Grafik Sinir Ağları, bir grafik üzerinde çalışan sinir ağı mimarilerini ifade eder.
Bir GNN mimarisinin birincil amacı, komşuluğu hakkında bilgi içeren bir gömmeyi öğrenmektir. Bu gömmeyi kullanarak, düğümü etiketleme, düğümlerin ve kenarların tahmini vb. gibi birçok sorunu çözebiliriz.
Başka bir deyişle, Grafik Sinir Ağları, grafiklerle verilen veriler üzerinde çıkarım yapmak için tasarlanmış ek bir Derin Öğrenme yöntemleri sınıfıdır. Grafiklere uygulanırlar ve düğüm düzeyinde, kenar düzeyinde ve grafik düzeyinde tahmin görevlerini kolayca gerçekleştirebilirler.
CNN'de Neden Yok?
GNN'nin ana avantajı, Evrişimli Sinir Ağlarının (CNN) yapamadığı görevleri yerine getirebilmesidir. CNN'ler, nesne algılama, görüntü sınıflandırma ve tanıma gibi görevleri gerçekleştirmek için kullanılır. Gizli evrişim katmanlarını ve havuz katmanlarını kullanarak CNN bunu başarır.
Son derece keyfi ve karmaşık topoloji olduğu için grafik verileri üzerinde CNN gerçekleştirmek hesaplama açısından zordur, bu da uzamsal bir yerellik olmadığı anlamına gelir. Ayrıca, CNN'yi uygulamayı zorlaştıran sabitlenmemiş bir düğüm sırası vardır.
Grafik Sinir Ağları
Böylece, GNN denildiği gibi, doğrudan graflara uygulanan ve kenar seviyesi, düğüm seviyesi ve grafik seviyesi tahmin görevleri için uygun yol sağlayan bir sinir ağı olduğu anlaşılmaktadır. Temel olarak üç tür Grafik Sinir Ağı vardır:
- Tekrarlayan Grafik Sinir Ağı
- Mekansal Evrişimsel Ağ
- Spektral Evrişimsel Ağ
GNN'nin sezgilerinden biri, düğümlerin komşuları ve bağlantıları tarafından tanımlanmasıdır. Bir düğümün tüm komşuları kaldırılırsa, düğümün tüm bilgilerini kaybedeceğini hayal ederek bunu görselleştirebiliriz. Böylece, bir düğümün komşuları kavramı ve komşularla olan bağlantılar bir düğümü tanımlar.
Bunu akılda tutarak, her düğüme kavramını temsil etmesi için bir durum (x) verelim. Konsept hakkındaki karar olan bir çıktı (o) üretmek için (x) düğüm durumunu kullanabiliriz. Düğümün son durumu (x_n), “düğüm gömme” olarak adlandırılır. Tüm Grafik Sinir Ağlarının ana görevi, komşu düğümlerdeki bilgilere bakarak her bir düğümün “düğüm gömmesini” belirlemektir.
GNN, Recurrent Graph Neural Network veya RecGNN'nin en güçlü sürümüyle başlayalım.
Tekrarlayan Grafik Sinir Ağı
Orijinal makalede bahsedildiği gibi, RecGNN, Banach Sabit Nokta Teoremi varsayımıyla oluşturulmuştur: (X,d) tam bir metrik uzay olsun ve (T:X→X) bir daralma eşlemesi olsun. O zaman T benzersiz bir sabit noktaya (x∗) sahiptir ve herhangi bir x∈X için n→∞ için T_n(x) dizisi (x∗)'ye yakınsar. Bu, T eşlemesini x üzerinde k kez uygularsam, x^k'nin neredeyse x^(k-1)'e eşit olması gerektiği anlamına gelir.
Mekansal Evrişimsel Ağ
Uzamsal Evrişim Ağının sezgisi, CNN'ninkine benzer. CNN'de bildiğimiz gibi, fikir, bir merkez pikselin etrafındaki komşu pikselleri bir filtre ve öğrenilebilir ağırlıklarla toplayarak evrişim gerçekleştirmektir. Uzamsal Evrişimsel Ağlar, komşu düğümlerin özelliklerini merkez düğüme doğru toplayarak benzer bir fikri benimser.

Kaynak
Spektral Evrişimsel Ağ
Diğer Grafik Sinir Ağlarının aksine, bu tür GNN güçlü bir matematik temeline sahiptir. Grafik Sinyal İşleme Teorisi üzerine geliştirilmiştir. Sadeleştirme için Chebyshev polinom yaklaşımını kullanır.
Bir GNN Ne Yapabilir?
Bir GNN'nin çözebileceği problemler genel olarak 3 kategoride sınıflandırılır –
- Düğüm Sınıflandırması
- Bağlantı Tahmini
- Grafik Sınıflandırması
Düğüm Sınıflandırması
bir grafikteki her bir düğüm için düğüm yerleştirmeyi tahmin etmeyi içerir. Bu gibi durumlarda, grafiğin yalnızca bir kısmı etiketlenir ve bu nedenle bu, yarı denetimli grafik olarak bilinir. Bazı uygulamalar YouTube videoları, Facebook arkadaş tavsiyesi vb.
Bağlantı Tahmini
Ana görev, bir grafikte iki varlık arasındaki ilişkiyi belirlemek ve iki varlık arasında herhangi bir bağlantı olup olmadığını tahmin etmektir. Örneğin, bir modele farklı ürünlerin kullanıcıları tarafından bir dizi incelemenin verildiği bir tavsiye sistemi düşünün. Görev, kullanıcıların tercihlerini tahmin etmek ve tavsiye sistemini, kullanıcıların ilgi alanlarına uygun ürünleri tanıtmak için ayarlamaktır.
Grafik Sınıflandırması
tüm grafiği birkaç farklı kategoriye ayırmayı içerir. Görüntü sınıflandırma görevine oldukça benzer ancak buradaki hedef grafik alanındadır. Kimyada olduğu gibi birkaç Grafik Sınıflandırma örneği vardır, bir modele bir grafik şeklinde moleküler bir yapı verilir ve görev, hedefi belirli bir kategoride sınıflandırmaktır.
GNN'nin Gerçek Zamanlı Uygulamaları
2018'deki tanıtımından bu yana, GNN'ler aşağıda özetlenen birkaç gerçek zamanlı uygulama buldu.
Doğal Dil İşleme
GNN, uygulamalarını Duyarlılık Sınıflandırma, Metin Sınıflandırma, Sıra Etiketleme gibi çok çeşitli NLP uygulamalarında bulur. Uygulama kolaylığı nedeniyle NLP'de kullanılırlar. Benzer gönderilerin tahmin edilmesi ve kullanıcılara belirli içeriklerin önerilmesi gibi Sosyal Ağ Analizlerinde de kullanılırlar.
Bilgisayar görüşü
Bilgisayarla Görme, Görüntü Sınıflandırma, Nesne Algılama vb. alanlarda Derin Öğrenme yardımıyla hızla büyüyen geniş bir alandır. En popüler uygulama Evrişimli Sinir Ağlarıdır. Geç saatlerde, GNN'ler bu alanda da uygulandı. GNN'nin Computer Vision uygulaması başlangıç aşamasında olmasına rağmen, önümüzdeki yıllarda büyük bir potansiyel gösterecektir.

Bilim
GNN'ler ayrıca Fizik Sistemleri, Yan Etki Tahmini ve Hastalık Sınıflandırması gibi Bilimde yaygın olarak kullanılmaktadır. Kimyacılar ayrıca bileşiklerin ve moleküllerin grafik yapısını incelemek için GNN'leri kullanıyorlar.
Diğer Etki Alanları
GNN uygulaması sadece yukarıdaki görevlerle sınırlı değildir. GNN'nin tavsiye sistemleri, sosyal ağ analizi vb. gibi çeşitli alanlara uygulanması konusunda birkaç girişimde bulunulmuştur.
Çözüm
GNN'lerin tanıtılmasından bu yana geçen birkaç yılda, grafiklerle modellenebilen problemleri çözmek için güçlü ve güvenilir bir araç haline geldiler. Bunun nedeni esnekliği, ifade gücü ve kolay görselleştirmesidir. Bu nedenle, GNN'ler, çok çeşitli gerçek dünya uygulamalarıyla yapılandırılmamış verilere sezgisel bir çözümdür.
GCN, özellikleri ve faydaları hakkında daha fazla bilgi edinmek istiyorsanız, upGrad Education Pvt'ye kaydolun. Ltd. ve IIITB'nin Makine Öğrenimi ve Yapay Zeka üzerine Yüksek Lisans ve Diploma kursu. Makine Öğrenimi ve Yapay Zeka üzerine bu kurs, öğrenciler ve çalışan profesyoneller için tasarlanmıştır.
Kurs, vaka çalışmaları ve ödevler, endüstri mentorluk oturumları, IIIT Bangalore Mezunları durumu, en iyi şirketlerle işe yerleştirme yardımı ve en önemlisi zengin bir öğrenme deneyimi sunar.
Sinir Ağı ile ne demek istiyorsun?
Sinir ağları, kalıpları tanımlamaya yardımcı olan ve bir şekilde insan beyninden sonra tasarlanmış ağ algoritmalarıdır. Duyusal girdileri anlamak, ham verileri kategorize etmek veya gruplandırmak için makine öğrenimi ve yapay zeka kullanırlar. Resim, müzik, metin veya zaman serisi olsun tüm gerçek istatistikler, sinir ağının tanıdığı, sayısal ve vektörlerde kodlanmış karakterlere çevrilmelidir. Verilerin sınıflandırılmasına ve kümelenmesine yardımcı olurlar. Etiketlenmiş bir veri kümesine sahip olduklarında verileri kategorize ederler ve örnek girdiler arasındaki benzerliklere göre etiketlenmemiş verileri gruplandırmaya yardımcı olurlar. Takviye öğrenimi, çeşitlilik ve gerileme için algoritmalar içeren daha kapsamlı makine öğrenimi uygulamalarının bir parçasıdırlar.
Evrişimsel Sinir Ağı nedir?
CNN veya ConvNet olarak da bilinen bir Evrişimsel Sinir Ağı, bir girdi resmi alabilen ve görüntüdeki çeşitli öğelere öncelik verebilen ve aralarında ayrım yapabilen bir tekniktir. Bir CNN tarafından gereken işlem miktarı, diğer algoritmalardan önemli ölçüde daha azdır. CNN, görsel Cortex'ten yararlanılarak tasarlandı ve beynimizdeki nöronlara benzer bir yapıya sahip. CNN'de bile, bireysel nöronlar, yalnızca Alıcı Alan adı verilen görsel alanın küçük bir alanındaki uyarılara tepki verebilir.
Yapay Sinir Ağlarının Makine Öğreniminden farkı nedir?
Makine Öğrenimi, verileri analiz eden, veriler üzerinde çalışan ve ilgi çekici modeller bulmak için çalıştıklarını uygulayan bir dizi güçlü algoritmadır. Öte yandan bir Sinir Ağı, nöron grafiklerini kullanarak verileri modellemek için Makine öğreniminde kullanılan bir teknikler kümesidir. Bir Sinir Ağı, algoritmaları kendi başına güvenilir kararlar verebilecek şekilde düzenlerken, Makine Öğrenimi modeli verilerden öğrendiklerine dayanarak kararlar verir. Sonuç olarak, Makine Öğrenimi modelleri verilerden öğrenirken, erken aşamalarda bazı insan etkileşimi gerektirebilir. Sinir ağları, içlerindeki yığılmış katmanlar, farklı kavramların hiyerarşileri aracılığıyla girdi ileterek kendi hatalarından öğrenmelerine izin verdiği için insan etkileşimi gerektirmez.