Graf sinir ağlarına dostça bir giriş
(distill.pub)- Graf sinir ağları (GNN), düğüm, kenar, küresel bağlam ve bağlantı yapısını birlikte ele alan modellerdir; düğüm sırası değişse bile aynı grafı aynı anlamla işlemesi gereken veriler için uygundur
- Moleküller, sosyal ağlar ve atıf ağlarının yanı sıra, görüntülerin piksel ızgaraları ve metin token dizileri de grafik olarak görülebilir; ancak grafiklerin boyutu ve bağlantıları farklı farklı olduğundan genel dizi girdileri gibi ele alınmaları zordur
- GNN tahmin problemleri, tüm grafik, düğüm ve kenar düzeyi olarak ayrılır; aynı model ailesi, girdi yapısını korurken farklı düzeylerdeki etiketleri tahmin edebilir
- Temel işlem, komşu düğüm ve kenarların bilgisini toplayıp güncelleyen mesaj iletimi (message passing) işlemidir; birden çok katman üst üste konduğunda daha uzaktaki k-hop komşuların bilgisi de temsile yansır
- Gerçek performans; katman derinliği, gömme boyutu, toplama fonksiyonu ve düğüm, kenar, küresel temsil arasındaki mesaj akışına bağlıdır; parametre ya da derinliği artırmak her zaman en iyi sonucu vermez
Grafik verisi ve GNN'in temel kavramları
- Grafik, varlıkları temsil eden düğümlerden (node) ve düğümler arasındaki ilişkileri temsil eden kenarlardan (edge) oluşur
- Düğümlerde, kenarlarda ve tüm grafikte ek bilgiler saklanabilir
- Düğümlere atom türü, piksel RGB değeri veya belge gömmesi gibi özellikler eklenebilir
- Kenarlara bağ türü ya da ilişki türü gibi bilgiler eklenebilir
- Tüm grafik için küresel bağlam tutulabilir
- Kenarlar yönlü
directed edgeveya yönsüzundirected edgeolarak ifade edilebilir - GNN, düğüm, kenar ve küresel bağlamı öğrenilebilir biçimde dönüştürürken, düğüm sırası değişse bile aynı grafik yapısını aynı anlamla işlemesi gerekir
Grafik olarak ifade edilebilen veriler
- Görüntüler genellikle 244×244×3 gibi dizilerle ifade edilir; ancak her piksel bir düğüm olarak düşünülüp komşu pikseller kenarlarla bağlandığında bir düzenli grafik olarak da görülebilir
- Sınırda olmayan piksellerin tam olarak 8 komşusu vardır
- Her düğümde RGB değerlerini temsil eden 3 boyutlu bir vektör bulunur
- Metin, karakterleri, kelimeleri veya token'ları düğüm; bir sonraki token'a giden bağlantıları kenar olarak alan bir yönlü grafik olarak görülebilir
- Bu, RNN'lerin token dizisi temsiliyle ilişkilidir
- Transformer, token'lar arasındaki ilişkileri öğrenen tam bağlı bir grafik olarak görülebilir
- Görüntü ve metin yapıları çok düzenli olduğundan, grafik temsili gereksiz ölçüde tekrarlı olabilir
- Görüntünün komşuluk matrisi, ızgara bağlantısı nedeniyle bant benzeri bir yapı taşır
- Metnin komşuluk matrisi, her kelime yalnızca önceki ve sonraki kelimeyle bağlı olduğu için diyagonal yapıya yakındır
- Moleküller, atomları düğüm ve kovalent bağları kenar alan grafiklerle ifade etmek için elverişlidir
- Tekli bağ, çift bağ gibi bağ türleri nedeniyle atom çiftleri arasındaki mesafeler farklıdır
- Sosyal ağlar, insanları, kurumları ve organizasyonları düğüm; ilişkileri kenar olarak modellendirir
- Atıf ağları, makaleleri düğüm ve bir makalenin başka bir makaleye yaptığı atfı yönlü kenar olarak ifade eder
- Her makale düğümüne özetin kelime gömmeleri gibi bilgiler eklenebilir
- Bilgisayarlı görüdeki sahne nesneleri, makine öğrenmesi modelleri, programlama kodu ve matematiksel denklemler de değişkenleri veya nesneleri düğüm; işlemleri ya da ilişkileri kenar alan grafiklerle ifade edilebilir
Grafik tahmin problemlerinin üç düzeyi
- Graph-level task, tüm grafik için tek bir özelliği tahmin eder
- Bir molekül grafiğinin nasıl koktuğunu ya da hastalıkla ilişkili bir reseptöre bağlanıp bağlanmayacağını tahmin etmek buna örnektir
- Görüntü sınıflandırma ya da cümle duygu analizi gibi, tüm girdiye tek bir etiket verilir
- Node-level task, grafik içindeki her düğümün özelliğini veya rolünü tahmin eder
- Zach'in karate club veri kümesi, politik bir çatışmadan sonra kişilerin hangi kulübe sadık kalacağını düğüm bazında sınıflandıran bir problemdir
- Görüntü segmentasyonunda her pikselin rolünü etiketleme ya da cümledeki her kelimenin sözcük türünü tahmin etme ile benzerdir
- Edge-level task, kenarın özelliğini ya da var olup olmadığını tahmin eder
- Görüntü sahnesi anlamada nesneleri düğüm olarak alıp nesneler arasında ilişki olup olmadığını tahmin etmek buna örnektir
- Tüm düğüm çiftleri başlangıçta tam bağlı kabul edilip, tahmin sonucuna göre kenarlar kaldırılarak seyrek bir grafik elde edilebilir
- Grafik üretimi ya da grafik tahmininin açıklanması da ilgili araştırma alanlarıdır
Grafiği sinir ağı girdisi haline getirmenin zorlukları
- Tipik makine öğrenmesi modelleri dikdörtgen ya da ızgara biçimli dizi girdilerine göre tasarlandığı için, grafiklerin bağlantı yapısını doğrudan vermek zordur
- Bir grafikte en fazla dört tür bilgi bulunur
- düğümler
- kenarlar
- küresel bağlam
- bağlantısallık
- Düğüm, kenar ve küresel bağlam özellik matrislerine dönüştürülebilir; ancak bağlantısallığın temsili daha zordur
- Komşuluk matrisi tensörleştirmesi kolay olsa da sınırlamaları vardır
- Grafikteki düğüm sayısı milyonlara çıkabilir
- Düğüm başına kenar sayısı çok değişebilir
- Komşuluk matrisi çok seyrek hale gelir ve alan verimliliği düşer
- Aynı grafik bağlantısı birden fazla komşuluk matrisiyle temsil edilebilir; bu yüzden sinir ağının her zaman aynı sonucu vereceği garanti değildir
- Komşuluk listesi, seyrek grafikler için daha uygundur
e_kkenarınınn_iilen_jdüğümlerini bağladığı bilgi(i, j)ikilisi olarak saklanır- Komşuluk matrisindeki
O(n_nodes^2)yerine, kenar sayısıyla orantılıO(n_edges)temsil mümkündür
- Gerçek tensör temsilinde düğüm, kenar ve küresel değerler skaler değil vektördür
- Düğüm tensörü
[n_nodes]değil,[n_nodes, node_dim]biçimindedir
- Düğüm tensörü
GNN katmanları ve pooling
- En basit GNN, henüz grafik bağlantısını kullanmadan düğüm, kenar ve küresel bağlamın her birine ayrı birer MLP uygulayarak yeni gömmeler öğrenir
- Her düğüm vektörü aynı şekilde güncellenir
- Her kenar vektörü de güncellenir
- Küresel bağlam vektörü de tek bir gömme olarak güncellenir
- GNN, giriş grafiğinin bağlantı yapısını değiştirmez
- Çıktı grafiği aynı komşuluk listesini ve aynı sayıda özellik vektörünü korur
- Değişen şey, düğüm, kenar ve küresel bağlam gömmeleridir
- Tahmin için pooling kullanılır
- Toplanacak temsiller
gatheredilip bir matriste birleştirilir - Toplanan temsiller genellikle
sumgibi bir işlemleaggregateedilir
- Toplanacak temsiller
- Düğüm tahmininde düğüm bilgisi zaten varsa, her düğüm gömmesine doğrusal bir sınıflandırıcı uygulanabilir
- Düğüm tahmini için gereken bilgi yalnızca kenarlardaysa, kenar bilgisi düğümlere pooling ile aktarılmalıdır
- Kenar tahmini için gereken bilgi yalnızca düğümlerdeyse, düğüm bilgisi kenarlara toplanarak tahminde kullanılır
- Tüm grafik tahmininde, tüm düğüm veya kenar bilgileri toplanıp küresel bir temsile dönüştürülür
- Bu, CNN'deki Global Average Pooling ile benzer bir rol oynar
- Molekülün toksik olup olmadığı ya da belirli bir kokuya sahip olup olmadığı tahmini buna örnektir
Mesaj iletimiyle bağlantı yapısından yararlanmak
- Basit GNN, katman içinde grafik bağlantısını kullanmaz; bağlantıyı yalnızca tahminden hemen önce yapılan pooling aşamasında kullanır
- Daha güçlü GNN'ler, katman içinde mesaj iletimi (message passing) yaparak bağlantı yapısını gömme güncellemelerine yansıtır
- Mesaj iletimi üç adımda çalışır
- Her düğüm, komşu düğümlerin gömmelerini ya da mesajlarını
gathereder - Mesajlar
sumgibi bir toplama fonksiyonuylaaggregateedilir - Toplanan mesajlar, öğrenilebilir bir güncelleme fonksiyonundan geçirilir
- Her düğüm, komşu düğümlerin gömmelerini ya da mesajlarını
- Mesaj iletimi, standart evrişime benzer
- Görüntülerde piksel, sabit sayıda komşu piksel bilgisini toplar
- Grafiklerde düğüm, değişken sayıda komşu düğüm bilgisini toplar
- Birden fazla GNN katmanı üst üste konduğunda daha uzaktaki düğümlerin bilgisi de yansıtılır
- 3 katmandan sonra bir düğüm, kendisinden 3 adım uzaktaki düğümlerin bilgisini içerebilir
- Mesaj iletimi yalnızca düğümler arasında değil; kenarlar arasında ve düğümlerle kenarlar arasında da yapılabilir
Kenar temsilleri ve küresel temsiller
- Veri kümesi her zaman düğüm, kenar ve küresel bağlam bilgisinin tümünü içermeyebilir
- Yalnızca kenar bilgisi olup düğüm tahmini gerekiyorsa, kenar bilgisi pooling ile düğümlere aktarılabilir
- Düğüm ve kenar bilgileri boyut ya da biçim açısından farklı olabilir; bu nedenle birleştirme biçimi tasarım kararıdır
- Kenar uzayından düğüm uzayına ya da tersine doğrusal eşleme öğrenilebilir
- İki temsil birleştirilip ardından güncelleme fonksiyonuna verilebilir
- Hangi grafik özelliğinin hangi sırayla güncelleneceği GNN tasarımının bir parçasıdır
- Önce düğümler, sonra kenarlar güncellenebilir
- Önce kenarlar, sonra düğümler güncellenebilir
node-to-node,edge-to-edge,node-to-edge,edge-to-nodetemsillerini birleştirenweaveyaklaşımı da mümkündür
- Birbirinden uzakta olan düğümler arasında, birkaç kez mesaj iletilse bile verimli bilgi aktarımı zor olabilir
- k katmanda bilgi en fazla k adım yayılabilir
- Küresel temsil
U, master node ya da bağlam vektörü gibi tüm düğüm ve kenarlara bağlı bir rol üstlenebilir- Uzak düğüm ve kenarlar arasında bilgi aktarımı için köprü görevi görür
- Tüm grafik için daha zengin bir temsil oluşturabilir
- Yeni düğüm gömmesi, komşu düğümler, bağlı kenarlar ve küresel bilgiler birleştirilerek koşullandırılabilir
- Doğrusal eşlemeden sonra toplama ya da
feature-wise modulationuygulanması da mümkündür
- Doğrusal eşlemeden sonra toplama ya da
GNN Playground ve moleküler koku tahmini örneği
- GNN Playground, küçük molekül grafiklerinde graph-level tahmin problemlerini ele alır
- Veri, Leffingwell Odor Dataset'tir ve moleküller ile koku algısı etiketlerini içerir
- Deney, molekül grafiğinin “pungent” kokup kokmadığını tek bir ikili etiketle sınıflandırır
pungent, güçlü ve belirgin bir kokuyu ifade ederallyl alcoholiçerebilen sarımsak ve hardal ile,peppermint-flavored candyiçinde kullanılanpiperitonebuna örnektir
- Moleküller, atomları düğüm ve bağları kenar olarak ifade eder
- Düğümler, Carbon, Nitrogen, Oxygen ve Fluorine atom kimliğini one-hot encoding ile taşır
- Kenarlar,
single,double,triple,aromaticbağ türlerini one-hot encoding ile taşır
- Model şablonu, art arda gelen GNN katmanlarının ardından
sigmoidaktivasyonlu doğrusal bir model eklenmesi biçimindedir - Tasarım seçenekleri dört eksende kontrol edilir
- GNN katman sayısı, yani derinlik
- Her özelliğin gömme boyutu
- Pooling için toplama fonksiyonu:
max,mean,sum - Düğüm, kenar ve küresel temsillerden hangilerinin güncelleneceği ve mesaj iletimine katılacağı
- Tarayıcıda çalışan Playground, tfjs üzerinde çalışır
- Yüksek boyutlu graph embedding, PCA ile 2D'ye indirgenerek karar sınırı çevresindeki temsiller görselleştirilir
Deneylerde görülen GNN tasarım eğilimleri
- Performans; veri, grafiğin nasıl kurulduğu ve özelliklerin nasıl çıkarıldığına göre değişir
- Parametre sayısı arttıkça performansla bir ilişki görülse de, GNN'lerde az sayıda parametreyle de yüksek performanslı modeller bulunabildi
- Yaklaşık 3k parametreyle bile yüksek performanslı modeller bulundu
- Gömme boyutu arttıkça ortalama performansın ve alt sınır performansının iyileştiği görüldü; ancak en iyi model küçük boyutlarda da çıkabildi
- Katman sayısı arttıkça ortalama performans yükselme eğilimindeydi; ancak en iyi model 3 ya da 4 katmanda değil, 2 katmanda elde edildi
- 4 katmanda performansın alt sınırı düştü
- Daha fazla katman, bilginin daha uzağa yayılmasını sağlasa da düğüm temsillerinin tekrar tekrar seyrelmesi riskini taşır
- Toplama fonksiyonlarında
sum, ortalama performansta çok az daha iyi görünse demaxvemeanile de aynı derecede iyi modeller üretilebildi - Düğüm, kenar ve küresel özellikler arasında mesaj aktarımı arttıkça ortalama model performansının yükselme eğiliminde olduğu görüldü
- Bu görev küresel temsil ağırlıklı olduğundan, küresel özelliğin açıkça öğrenilmesi performansı artırma eğilimindeydi
- Düğüm temsilleri, kenar temsillerinden daha faydalı görünüyordu; çünkü daha fazla bilgi düğüm özelliklerinde bulunuyordu
Daha karmaşık grafikler ve batch eğitimi
- Mesaj iletimi çerçevesi, daha karmaşık grafik yapılarına da uygulanabilir
- Multigraph yapısında aynı düğüm çifti birden fazla türde kenar paylaşabilir
- Sosyal ağlarda
acquaintance,friend,familygibi ilişki türleri kenar türü olabilir - Her kenar türü için farklı mesaj iletimi adımları tanımlanabilir
- Sosyal ağlarda
nested graphyapısında bir düğüm yeniden bir grafiği temsil edebilir- Molekül ağlarında düğüm bir molekülü, kenar ise bir molekülü başka bir moleküle dönüştüren reaksiyonu temsil edebilir
- Molekül düzeyindeki GNN ile reaksiyon ağı düzeyindeki GNN dönüşümlü olarak eğitilebilir
hypergraphyapısında bir kenar iki değil, birden fazla düğüme bağlanabilir- Düğüm toplulukları belirlenip tüm topluluğa bağlı bir
hyper-edgetanımlanabilir
- Düğüm toplulukları belirlenip tüm topluluğa bağlı bir
- Grafiklerde düğüm ve kenar sayısı sabit olmadığından, tipik sabit boyutlu mini-batch eğitimi zordur
- Grafik batch eğitiminin özü, büyük grafiğin önemli özelliklerini koruyan alt grafikler (subgraph) oluşturmaktır
- Atıf ağlarında alt grafik örnekleme doğal olabilir
- Moleküllerde ise alt grafik, yeni ve daha küçük bir molekül anlamına geleceğinden güçlü bir müdahale olabilir
- Büyük grafik belleğe sığmadığında grafik örnekleme özellikle önemlidir
- Cluster-GCN ve GraphSaint gibi yapılar ve eğitim stratejileri bununla ilişkilidir
Grafiğe uygun tümevarımsal önyargı
- Modeller, verideki simetri ve düzenlilikten yararlanacak şekilde tasarlandığında daha iyi tahmin performansı, daha kısa eğitim süresi, daha az parametre ve daha iyi genelleme sağlayabilir
- Görüntü modelleri, nesnenin görüntünün neresinde olduğundan bağımsız olarak aynı nesne kalması özelliğinden yararlanmak için çeviri değişmez (translation invariant) evrişimler kullanır
- Metinde token sırası önemli olduğundan, RNN'ler veriyi sıralı işler; Transformer tabanlı modeller ise cümlenin farklı bölümlerine dikkat edebilir
- Grafiklerde kenar, düğüm ve küresel öğeler arasındaki ilişkiler önemli olduğundan ilişkisel tümevarımsal önyargı gerekir
- Komşuluk yapısı gibi açık ilişkiler korunmalıdır
- Grafik simetrisi olan permütasyon değişmezliği korunmalıdır
- Düğüm veya kenar sırasından bağımsız çalışmalı ve değişken sayıda girdiyi işleyebilmelidir
Toplama işleminin seçimi
- Komşu düğüm ve kenar bilgisini pooling ile toplamak, güçlü GNN mimarilerinin temel adımlarından biridir
- Her düğümün komşu sayısı farklıdır ve giriş sırasından bağımsız olmak gerekir; bu yüzden türevlenebilir ve permütasyon değişmez bir toplama fonksiyonu gerekir
- Yaygın adaylar sum, mean, max fonksiyonlarıdır
- Üçü de değişken sayıda girdi alır ve girdi sırasından bağımsız çıktı üretir
- Belirli bir işlem her zaman en iyisi değildir
mean, komşu sayıları çok değiştiğinde veya yerel komşu özelliklerine normalize bir bakış gerektiğinde faydalıdırmax, yerel komşuluk içindeki baskın tek bir özelliği vurgulamak gerektiğinde faydalıdırsum, yerel özellik dağılımını gösterirken normalize edilmediği için aykırı değerleri de vurgulayabilir
- Uygulamada sıkça
sumkullanılır - Principal Neighborhood Aggregation, birden çok toplama işlemini yan yana bağlar ve bağlantı derecesine göre değişen bir ölçekleme fonksiyonu ekler
- Tetrahedral Chirality gibi alan-özgü toplama işlemleri de tasarlanabilir
GCN, matris çarpımı ve grafik dolaşımı
- k katmanlı ve 1-degree komşu taramasına sahip bir GCN veya MPNN, boyutu k olan alt grafik gömmeleri üzerinde çalışan bir sinir ağı olarak görülebilir
- Bir düğümün güncellenmiş temsili, k uzaklık içindeki komşu bilgisini sınırlı biçimde yansıtır
- Kenar temsili de aynı şekilde yorumlanabilir
- Komşuluk matrisi
Aile düğüm özellik matrisiXçarpımı olanAX,sumtoplaması kullanan basit mesaj iletimini gerçekleştirirA_i,kpozitifse,node_iilenode_karasında bir kenar vardır- Matris çarpımı, komşu düğümlerin belirli özellik boyutlarındaki değerlerini toplama işlemi olarak görülebilir
- Seyrek
Adurumunda, tüm sıfır terimleri toplamak gerekmediğinden komşuluk listesi daha verimlidir - Komşuluk listesi tabanlı uygulama,
sumdışındaki toplama işlemlerini kullanmak için de avantajlıdır - Komşuluk matrisinin kuvvetleri olan
A^K, uzunluğu K olan yürüyüşlerle ilişkilidirA^2_ij,node_iilenode_jarasında uzunluğu 2 olan yürüyüşlerin sayısını verir- Bu sezgi
A^3'tenA^k'ye kadar devam eder
Attention, açıklanabilirlik ve üretici modeller
- Graph Attention Networks, komşu bilgisini basitçe toplamak yerine ağırlıklı toplam ile bir araya getirir
f(node_i, node_j)skor fonksiyonu, merkez düğüm ile komşu düğüm arasındaki ilişkiyi hesaplarsoftmaxile ağırlıklar normalize edilerek görev için önemli komşulara daha yüksek ağırlık verilebilir- Çift bazlı skor hesaplaması, permütasyon değişmezliğini korur
- Transformer, attention mekanizmasına sahip bir GNN olarak görülebilir
- Karakter token'ları gibi öğeleri tam bağlı bir grafiğin düğümleri olarak modeller
- Attention, her düğüm çifti için kenar gömmesi ve ağırlık hesaplar
- Fark, GNN'in seyrek bağlantı desenini varsayması, Transformer'ın ise tüm bağlantıları modellemesidir
- GNN açıklanabilirliği; model güvenilirliği, hata ayıklama ve bilimsel keşif açısından önemli olabilir
- Moleküllerde belirli bir alt grafiğin varlığı önemli olabilir
- Atıf ağlarında bir makalenin bağlantı düzeyi önemli olabilir
- GNNExplainer, görev için önemli ilgili alt grafikleri çıkarmaya odaklanan bir yaklaşımdır
- Attribution teknikleri, grafiğin bazı parçalarına önem sıralaması verir
- Grafik üretim modelleri, öğrenilen dağılımdan yeni grafikler örnekleyebilir ya da verilen başlangıç noktasından grafiği tamamlayabilir
- Belirli özelliklere sahip yeni molekül grafikleri tasarlayarak ilaç adayı üretme uygulamaları vardır
- Grafik üretimindeki temel zorluk, grafik topolojisini modellemektir
- Topoloji büyük ölçüde değişebilir ve
N_nodes^2terimi içerebilir - Komşuluk matrisi, bir görüntü gibi
autoencoderile doğrudan modellenebilir - Yalnızca var olan kenarlar ve var olmayan kenarların bir kısmı tahmin edilerek
N_nodes^2yükü azaltılabilir - Başka bir yaklaşım ise düğüm ve kenar ekleme/silme gibi ayrık eylemleri yineleyerek grafiği sıralı şekilde oluşturmaktır
- Topoloji büyük ölçüde değişebilir ve
Özet
- Grafikler, görüntü ve metinden farklı güçlü yönlere ve kısıtlara sahip yapısal bir veri türüdür
- GNN'ler, grafiklerin düğüm, kenar ve küresel bağlamını güncellerken bağlantı yapısını ve permütasyon değişmezliğini ele alır
- Pooling, mesaj iletimi, kenar temsilleri, küresel temsiller ve toplama fonksiyonu seçimi GNN tasarımının temel bileşenleridir
- Gerçek performans; derinlik, boyut ve parametre sayısının yanı sıra, hangi grafik özelliklerinin birbiriyle mesajlaştığına ve grafiğin nasıl kurulduğuna da büyük ölçüde bağlıdır
1 yorum
Hacker News yorumları
Fizik simülasyonlarında (ör. hesaplamalı akışkanlar dinamiği) GNN kullanan çok sayıda makale var. Bunun nedeni, bu tür uygulamalarda problem uzayını ayrıklaştıran yapılandırılmamış meshlerin grafik yapısına çok iyi uyması
Pratikte ise her mesh/grafik çoğu zaman tek bir belirli problemi çözmek için bir kez kullanılıyor; bu yüzden belirli bir grafiğe özel GNN eğitmenin çok da anlamı yok. Buna rağmen çoğu makalenin bunu yapmasının nedeni, farklı mesh/grafiklere ve simülasyon parametrelerine iyi uyum sağlayan GNN’leri nasıl yapacağımızı hâlâ bulamamış olmamız gibi görünüyor. Bu tür genelleştirmeyi mümkün kılacak atılımın yakında gelip gelmeyeceğini merak ediyorum
En iyi performans için muhtemelen farklı bir tokenizer gerekir
Çalışmanın kalitesi çok yüksek, ama distill.pub’ın sürdürülebilir bir yol bulamamış olması üzücü [1]
GNN’lerin daha az konuşulmasının nedenlerinden biri veri kümesi eksikliği olabilir [2]. Bu, semantik web alanını da etkilemiş bir sorundu
[1] https://distill.pub/2021/distill-hiatus/
[2] https://huggingface.co/datasets?task_categories=task_categor...
Alan popülerse, kısa ve sürükleyici videolar üretmek için teşviki olan çok insan oluyor; bu yüzden oldukça soyut matematik düzeylerinde bile kalite çoğu zaman iyi oluyor. Görseller, soyut kavramlara dair sezgi geliştirmede gerçekten yardımcı oluyor ve 3Blue1Brown bunu zaten kanıtladı. GNN konusunda da 10 dakikadan kısa birkaç iyi video izlemek, literatüre girmek için bir basamak sağlıyor
GNN’ler beni kişisel olarak oldukça hayal kırıklığına uğrattı. Araştırmalarımda birkaç kez uygulamayı denedim ama hiç gerçekten iyi sonuç alamadım
Uzun süre boyunca GNN’ler, CNN’lerin bir genellemesi gibi sunuldu; ama CNN’ler daha güçlü, çünkü “komşu ağırlıkları” daha anlamlı. Bunun nedeni göreli konum ilişkilerini öğrenmeleri. GNN’ler ise genelde burada açıklandığı gibi pooling’e dayanıyor. CNN’ler görüntü üretebilir, ama GNN ile grafik üretmek kolay değil. Topoloji hâlâ önceden belirlenmek zorunda ve bazen eğitim sırasında da belirlenmesi gerekiyor. Son darbeyi ise performans vuruyor. GNN’ler, CNN’lere kıyasla inanılmaz derecede yavaş
Bugünlerde bu nedenlerle attention’ın GNN’lerin yerini büyük ölçüde aldığını hissediyorum. Pooling yerine attention kullanan GNN’ler de yapılabilir, ama çok anlamlı görünmüyor. Genelde grafik sadece mask matrix oluşturmak için dolaşılıyor, geri kalan her şeyde sıradan transformer kullanılıyor. Hatta baştan bir mesafe metriği varsa, grafik komşuluğuna bile ihtiyaç olmayan birçok durum var
Elbette bir yerlerde birileri için GNN çok faydalıdır, ama benim deneyimimde daha çok çivi arayan bir çekice benziyordu
Neredeyse diğer tüm durumlarda, ek yapıyı kullanarak daha verimli yöntemler kurabilirsiniz. Bir sıra tanımlanabiliyorsa sıralı modeller, Öklidyen/Riemannyen yapı varsa CNN ya da manifold farkındalıklı modeller, küresel durum gerekmiyorsa point cloud ağları, açık bir hiyerarşi varsa o modalitenin U-Net türü bir sürümü gibi
GNN’leri ilginç kılan şey, 1) ilişki kavramının kendisini kodlamaları ve 2) tamamen genel ayrıklaştırılmış diferansiyel denklemlerle iyi bir ilişkiye sahip olmaları. Karmaşık sistemler/dinamik sistemler tarafından bakan biri için bu ilginç, ama özelleştirme mümkünse daha kolay yöntemler yine var
Saydığınız nedenlerden dolayı, GNN’lerin recommendation gibi alanlarda — yani alan modelinin kendisinin zaten grafik gibi hissettirdiği yerlerde — daha popüler olması tesadüf değil bence. Bu tür alanlarda faydalı bir topolojiye sıçrama daha küçük oluyor
Benim için daha da sinir bozucu olan, bu grafik benzeri alanların çoğunun log gibi davranış tabanlı makine/insan verisi olması ve çok sayıda kategorik boyut içermesi. Grafik kısmı yardımcı oluyor, ama kategorik boyutları iyi yakalamak da aynı derecede önemli ve bunu iyi yapmak için çoğu zaman random forest gibi model dışı yöntemlere kayılıyor. Bunlarla başlamak daha kolay ve GNN kısmı “biraz daha iyi iyileştirme” uğruna iş yükünü çok artırıyor
Tabii bu sizin temel işinizse ve işin ucunda milyonlarca dolar varsa, bu haklı görülebilir. Yine de çoğu operasyon ekibi için zor. Gerçekte ise pygraphistry kullanıcılarıyla konuşup xgboost + umap gibi şeyler yapıp geçildiğini sık görüyorum. Sadece RGCN’i iyi çalıştırmak bile epey emek istiyor
GNN’ler sanki sabit bir topoloji üzerinde çalışıyor gibi görünüyor. Grafik topolojisinin bir dönüşümünü yaklaştırmak istesek ne yapmalıyız? Örneğin grafik yerleşimini öğrenmek ya da bir programın soyut sözdizimi ağacını veri akış grafiğine dönüştürmek gibi durumlarda?
GNN'nin özü, “komşu” kavramını topolojiyi belirleyen bir grafik üzerinden açıkça koşullandırarak keyfi topolojilere genellemesidir. Grafik yerleşimi burada denendi ve https://github.com/limbo018/DREAMPlace büyük ilgi gördü, ancak son dönemde bununla ilgili tartışmalar da var https://www.semanticscholar.org/paper/The-False-Dawn%3A-Reev...
Grafik dönüşümü de araştırılıyor https://arxiv.org/abs/2012.01470. Ancak bunun örtük olarak graf eşleme problemini çözmeyi gerektirmesi nedeniyle zor bir problem.
distill'in geri dönmesi güzel olurdu
distill.pub'ın artık yeni gönderi kabul etmemesi gerçekten üzücü
O interaktif görselleştirme yazılımının ne olduğunu merak ediyorum. D3.js mi?
Kendimi fazlasıyla aptal hissediyorum. O sayfada 4 düğümlü (a,b,c,d) bir örnek var ve toplam 24 olası kombinasyon olduğunu gösteriyor
Düğüm sayısı verildiğinde ve kenarlar da hesaba katıldığında bunu hesaplayan genelleştirilmiş formülün ne olduğunu merak ediyorum. Yazıda açıklanmıyor gibi görünüyor; muhtemelen faktöriyel olabilir diye düşünüyorum.
Buna daha alışmak istiyorsanız, şu site oldukça iyi bir genel bakış sunuyor gibi görünüyor: https://www.geeksforgeeks.org/mathematics-combinatorics-basi...
Her kenar ya var olabilir ya da olmayabilir, bu yüzden binom katsayısını 2 ile çarpmak da gerekebilir.