Apa itu Graph Neural Network? Penjelasan & Aplikasi [Dengan Diagram]

Diterbitkan: 2021-01-08

Daftar isi

pengantar

Baru-baru ini, Neural Networks telah mendapatkan popularitas besar karena aplikasinya dan kemudahan penggunaan di bidang Pengenalan Pola dan Penambangan Data. Penerapan Deep Learning untuk tugas-tugas seperti deteksi objek dan pengenalan suara menggunakan teknik seperti CNN, RNN dan autoencoder telah membawa banyak pekerjaan ke dalam penelitian dan pengembangan Neural Networks.

Penerapan Deep Learning pada data seperti gambar, teks dan video mudah dilakukan karena didasarkan pada data Euclidean. Bagaimana dengan aplikasi di mana data direpresentasikan sebagai grafik (Non-Euclidean) dengan hubungan antar objek yang sangat kompleks?

Di sinilah kami menghadirkan konsep Graph Neural Networks (GNN). Pada artikel ini, kita akan membahas definisi dan dasar-dasar Graph dan GNN dan melihat beberapa aplikasi terbaru dari Graph Neural Networks.

Apa Itu Grafik?

Dari judulnya – Graph Neural Networks, kita melihat bahwa bagian paling mendasar dari GNN adalah Graph.

Dalam Ilmu Komputer, Grafik didefinisikan sebagai struktur data dengan dua komponen. Vertikal dan Tepi. Sebuah graf G, dapat didefinisikan sebagai G = VE . Dimana V adalah himpunan simpul dan E adalah tepi di antara mereka. Istilah vertex dan node sering digunakan secara bergantian. Jika ada tanda panah di tepi yang disebut ketergantungan terarah, maka itu adalah graf berarah. Jika tidak, mereka adalah grafik tidak berarah.

Sumber

Grafik dapat mewakili beberapa hal – jaringan media sosial, jaringan kota, molekul, dll. Perhatikan grafik berikut yang mewakili jaringan kota. Kota-kota direpresentasikan sebagai simpul dan jalan yang menghubungkannya adalah tepinya.

Sumber

Dengan menggunakan jaringan grafik di atas, kita dapat menyelesaikan beberapa masalah yang berkaitan dengan kota-kota ini seperti menemukan kota mana yang terhubung dengan baik atau menemukan jarak terpendek antara dua kota.

Apa itu Jaringan Saraf Graf?

Karena Grafik memiliki kekuatan ekspresif yang sangat kuat, Grafik secara luas mendapatkan perhatian di bidang Pembelajaran Mesin. Setiap node memiliki embedding yang terkait dengannya. Penyematan itu mendefinisikan simpul di ruang data. Graph Neural Networks mengacu pada arsitektur jaringan saraf yang beroperasi pada grafik.

Tujuan utama dari arsitektur GNN adalah untuk mempelajari embedding yang berisi informasi tentang lingkungannya. Dengan menggunakan embedding ini, kita dapat memecahkan beberapa masalah seperti pelabelan node, prediksi node dan edge, dll.

Dengan kata lain, Graph Neural Networks adalah kelas tambahan dari metode Deep Learning yang dirancang untuk melakukan inferensi pada data yang diberikan oleh grafik. Mereka diterapkan pada grafik dan dapat dengan mudah melakukan tugas prediksi tingkat simpul, tingkat tepi, dan tingkat grafik.

Mengapa Bukan CNN?

Keuntungan utama GNN adalah dapat melakukan tugas-tugas yang gagal dilakukan oleh Convolutional Neural Networks (CNN). CNN digunakan untuk melakukan tugas-tugas seperti deteksi objek, klasifikasi gambar, dan pengenalan. Menggunakan lapisan konvolusi tersembunyi dan lapisan penyatuan, CNN mencapai ini.

Secara komputasi sulit untuk melakukan CNN pada data grafik karena topologinya sangat arbitrer dan kompleks, yang berarti tidak ada lokalitas spasial. Juga, ada pemesanan node tidak tetap yang membuatnya lebih sulit untuk menerapkan CNN.

Jaringan Saraf Grafik

Dengan demikian, dapat dipahami bahwa seperti yang disebut, GNN adalah jaringan saraf yang diterapkan secara langsung ke grafik yang menyediakan cara mudah untuk tugas prediksi level tepi, level node, dan level grafik. Ada tiga jenis Graph Neural Networks:

  1. Jaringan Saraf Graf Berulang
  2. Jaringan Konvolusi Spasial
  3. Jaringan Konvolusi Spektral

Salah satu intuisi GNN adalah bahwa node didefinisikan oleh tetangga dan koneksinya. Kita dapat memvisualisasikannya dengan membayangkan bahwa jika semua tetangga dari sebuah node dihapus, maka node tersebut akan kehilangan semua informasinya. Dengan demikian, konsep tetangga dari sebuah node dan koneksi ke tetangga mendefinisikan sebuah node.

Dengan mengingat hal ini, mari kita berikan setiap node status (x) untuk mewakili konsepnya. Kita dapat menggunakan keadaan simpul (x) untuk menghasilkan keluaran (o), yang merupakan keputusan tentang konsep tersebut. Keadaan akhir (x_n) dari simpul disebut sebagai “penyimpanan simpul”. Tugas utama dari semua Graph Neural Network adalah untuk menentukan “node embedding” dari setiap node, dengan melihat informasi pada node tetangganya.

Mari kita mulai dengan versi paling kuat dari GNN, Recurrent Graph Neural Network, atau RecGNN

Jaringan Saraf Graf Berulang

Seperti disebutkan dalam makalah asli, RecGNN dibangun dengan asumsi Teorema Titik Tetap Banach yang menyatakan bahwa: Misalkan (X,d) adalah ruang metrik lengkap dan biarkan (T:X→X) menjadi pemetaan kontraksi. Maka T memiliki titik tetap yang unik (x∗) dan untuk sembarang x∈X barisan T_n(x) untuk n→∞ konvergen ke (x∗). Ini berarti jika saya menerapkan pemetaan T pada x sebanyak k kali, x^k seharusnya hampir sama dengan x^(k-1).

Jaringan Konvolusi Spasial

Intuisi Jaringan Konvolusi Spasial mirip dengan CNN. Seperti yang kita ketahui di CNN, idenya adalah untuk melakukan konvolusi dengan menjumlahkan piksel tetangga di sekitar piksel tengah dengan filter dan bobot yang dapat dipelajari. Jaringan Konvolusi Spasial mengadopsi ide serupa dengan menggabungkan fitur node tetangga menuju node pusat.

Sumber

Jaringan Konvolusi Spektral

Berbeda dengan Graph Neural Networks lainnya, jenis GNN ini memiliki dasar matematika yang kuat. Ini dikembangkan pada Teori Pemrosesan Sinyal Grafik. Ini menggunakan pendekatan polinomial Chebyshev untuk penyederhanaan.

Apa yang bisa A GNN Lakukan?

Masalah yang dapat dipecahkan oleh GNN secara luas diklasifikasikan menjadi 3 kategori –

  1. Klasifikasi Node
  2. Prediksi Tautan
  3. Klasifikasi Grafik

Klasifikasi Node

melibatkan dalam memprediksi node embedding untuk setiap node dalam grafik. Dalam kasus seperti itu, hanya sebagian dari grafik yang diberi label dan karenanya ini dikenal sebagai grafik semi-terawat. Beberapa aplikasi adalah video YouTube, rekomendasi teman Facebook, dll.

Prediksi Tautan

tugas utamanya adalah mengidentifikasi hubungan antara dua entitas dalam grafik dan memprediksi apakah ada hubungan antara dua entitas. Misalnya, pertimbangkan sistem pemberi rekomendasi di mana model diberikan serangkaian ulasan oleh pengguna produk yang berbeda. Tugasnya adalah memprediksi preferensi pengguna dan menyesuaikan sistem rekomendasi untuk mempromosikan produk yang sesuai dengan minat pengguna.

Klasifikasi Grafik

melibatkan dalam mengklasifikasikan seluruh grafik ke dalam beberapa kategori yang berbeda. Ini sangat mirip dengan tugas klasifikasi gambar tetapi target di sini adalah dalam domain grafik. Ada beberapa contoh Klasifikasi Graf seperti dalam kimia, model diberikan struktur molekul dalam bentuk grafik dan tugasnya adalah mengklasifikasikan target ke dalam kategori tertentu.

Aplikasi GNN Waktu Nyata

Sejak diperkenalkan pada tahun 2018, GNN telah menemukan beberapa aplikasi waktu nyata yang dirangkum di bawah ini.

Pemrosesan Bahasa Alami

GNN menemukan aplikasinya dalam berbagai aplikasi NLP seperti Klasifikasi Sentimen, Klasifikasi Teks, Pelabelan Urutan. Mereka digunakan dalam NLP karena kemudahan aplikasinya. Mereka juga digunakan dalam Analisis Jaringan Sosial seperti prediksi posting serupa dan merekomendasikan konten tertentu kepada pengguna.

Visi Komputer

Computer Vision adalah bidang yang luas yang telah berkembang pesat dengan bantuan Deep Learning di berbagai bidang seperti Klasifikasi Gambar, Deteksi Objek, dll. Aplikasi yang paling populer adalah Convolutional Neural Networks. Terlambat, GNN juga telah diterapkan di domain ini. Meskipun penerapan GNN di Computer Vision masih dalam tahap awal, namun hal itu menunjukkan potensi besar di tahun-tahun mendatang.

Sains

GNN juga banyak digunakan dalam Sains seperti Sistem Fisika, Prediksi Efek Samping, dan Klasifikasi Penyakit. Ahli kimia juga menggunakan GNN untuk mempelajari struktur grafik senyawa dan molekul.

Domain lainnya

Penerapan GNN tidak hanya terbatas pada tugas-tugas di atas. Ada beberapa upaya dalam penerapan GNN ke berbagai domain seperti sistem rekomendasi, analisis jejaring sosial, dll.

Kesimpulan

Dalam beberapa tahun terakhir sejak GNN diperkenalkan, mereka telah menjadi alat yang kuat dan andal untuk memecahkan masalah yang dapat dimodelkan dengan grafik. Ini karena fleksibilitas, kekuatan ekspresif, dan visualisasi yang mudah. Dengan demikian, GNN adalah solusi intuitif untuk data tidak terstruktur dengan berbagai aplikasi dunia nyata.

Jika Anda ingin tahu lebih banyak tentang GCN dan fitur serta manfaatnya, lakukan pendaftaran di upGrad Education Pvt. Ltd. Dan kursus Pasca Sarjana dan Diploma IIITB tentang Pembelajaran Mesin dan Kecerdasan Buatan. Kursus tentang Pembelajaran Mesin dan AI ini dirancang untuk siswa dan profesional yang bekerja.

Kursus ini menyediakan kumpulan studi kasus & tugas, sesi bimbingan industri, status Alumni IIIT Bangalore, bantuan penempatan kerja dengan perusahaan top, dan yang terpenting, pengalaman belajar yang kaya.

Apakah yang Anda maksud: jaringan syaraf tiruan

Jaringan saraf adalah algoritme jaringan yang membantu mengidentifikasi pola dan agak dirancang mengikuti otak manusia. Mereka menggunakan pembelajaran mesin dan kecerdasan buatan untuk memahami input sensorik, mengkategorikan atau mengelompokkan data mentah. Semua statistik nyata, baik gambar, musik, teks, atau deret waktu, harus diterjemahkan ke dalam karakter yang dikenali jaringan saraf, yang numerik dan dikodekan dalam vektor. Mereka membantu dalam klasifikasi dan pengelompokan data. Mereka mengkategorikan data ketika mereka memiliki kumpulan data berlabel, dan mereka membantu mengelompokkan data yang tidak berlabel berdasarkan kesamaan di antara input contoh. Mereka adalah bagian dari aplikasi pembelajaran mesin yang lebih luas yang mencakup algoritme untuk pembelajaran penguatan, variasi, dan regresi.

Apa itu Jaringan Saraf Konvolusi?

Convolutional Neural Network, juga dikenal sebagai CNN atau ConvNet, adalah teknik yang dapat mengambil gambar input dan memprioritaskan berbagai elemen dalam gambar, serta membedakannya. Jumlah pemrosesan yang dibutuhkan oleh CNN secara signifikan lebih sedikit daripada algoritma lainnya. CNN dirancang dengan mengambil bantuan Cortex visual, dan memiliki pola yang mirip dengan neuron di otak kita. Bahkan di CNN, neuron individu hanya dapat bereaksi terhadap impuls di area kecil bidang visual yang disebut Bidang Reseptif.

Bagaimana Neural Networks berbeda dari Machine Learning?

Pembelajaran Mesin adalah seperangkat algoritme canggih yang menganalisis data, mempelajarinya, dan menerapkan apa yang telah mereka pelajari untuk menemukan pola yang menarik. Neural Network, di sisi lain, adalah sekelompok teknik yang digunakan dalam pembelajaran mesin untuk memodelkan data menggunakan grafik neuron. Neural Network mengatur algoritme sedemikian rupa sehingga dapat membuat penilaian yang andal dengan sendirinya, sedangkan model Machine Learning membuat keputusan berdasarkan apa yang telah dipelajari dari data. Akibatnya, meskipun model Machine Learning dapat belajar dari data, model tersebut mungkin memerlukan beberapa interaksi manusia di tahap awal. Jaringan saraf tidak memerlukan interaksi manusia karena lapisan yang ditumpuk di dalamnya menyampaikan masukan melalui hierarki konsep yang berbeda, memungkinkan mereka untuk belajar dari kesalahan mereka sendiri.