Rumah > Artikel > Peranti teknologi > 10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0
Pada 2019, Universiti New York dan Amazon Cloud Technology bersama-sama melancarkan rangka kerja rangkaian saraf graf DGL (Deep Graph Library). Kini DGL 1.0 dikeluarkan secara rasmi! DGL 1.0 meringkaskan pelbagai keperluan untuk pembelajaran mendalam graf dan teknologi rangkaian saraf graf (GNN) dalam akademik atau industri dalam tempoh tiga tahun yang lalu. Daripada penyelidikan akademik mengenai model terkini hingga menskalakan GNN kepada aplikasi perindustrian, DGL 1.0 menyediakan penyelesaian yang komprehensif dan mudah digunakan untuk semua pengguna untuk memanfaatkan pembelajaran mesin graf dengan lebih baik.
DGL 1.0 untuk senario yang berbeza penyelesaian yang disediakan.
DGL 1.0 mengguna pakai reka bentuk berlapis dan modular untuk memenuhi pelbagai keperluan pengguna. Ciri utama keluaran ini termasuk:
Alamat: https :// /github.com/dmlc/dgl
Salah satu sorotan versi ini ialah pengenalan DGL-Sparse, antara muka pengaturcaraan baharu yang menggunakan matriks jarang sebagai abstraksi pengaturcaraan teras. DGL-Sparse bukan sahaja memudahkan pembangunan model GNN sedia ada seperti rangkaian konvolusi graf, tetapi juga berfungsi dengan model terkini, termasuk GNN berasaskan resapan, rangkaian neural hipergraf dan Transformer graf.
Pengeluaran versi DGL 1.0 membangkitkan sambutan yang menggalakkan di Internet seperti Yann Lecun, salah satu daripada tiga gergasi pembelajaran mendalam, dan Xavier Bresson, profesor bersekutu di Universiti Nasional. Singapura, semua menyukai dan memajukannya.Dalam artikel berikut, pengarang Dua Paradigma GNN arus perdana digariskan iaitu paparan hantaran mesej dan paparan matriks. Paradigma ini boleh membantu penyelidik lebih memahami mekanisme kerja dalaman GNN, dan perspektif matriks juga merupakan salah satu motivasi untuk pembangunan DGL Sparse.
Paparan menghantar mesej dan paparan matriks
Terdapat pepatah dalam filem "Ketibaan": "Bahasa yang anda gunakan menentukan jalan anda pemikiran mempengaruhi pandangan anda tentang sesuatu. Ayat ini juga digunakan untuk GNN. menunjukkan bahawa rangkaian saraf graf mempunyai dua paradigma yang berbeza. Yang pertama, dipanggil paparan menghantar mesej, menyatakan model GNN dari perspektif tempatan yang terperinci, memperincikan cara mesej ditukar di sepanjang tepi dan cara keadaan nod dikemas kini dengan sewajarnya. Yang kedua ialah perspektif matriks oleh kerana graf mempunyai kesetaraan algebra dengan matriks bersebelahan jarang, ramai penyelidik memilih untuk menyatakan model GNN dari perspektif global berbutir kasar, menekankan operasi yang melibatkan matriks bersebelahan jarang dan vektor eigen.
Perspektif penghantaran mesej mendedahkan hubungan antara GNN dan ujian isomorfisme graf Weisfeiler Lehman (WL), yang juga bergantung pada mengagregatkan maklumat daripada jiran. Perspektif matriks memahami GNN dari perspektif algebra, yang membawa kepada beberapa penemuan menarik, seperti masalah pelicinan berlebihan.
Ringkasnya, kedua-dua perspektif ini adalah alat yang sangat diperlukan untuk mengkaji GNN. Ia saling melengkapi dan membantu penyelidik memahami dan menerangkan sifat dan ciri model GNN dengan lebih baik. Atas sebab inilah salah satu motivasi utama untuk keluaran DGL 1.0 adalah untuk menambah sokongan untuk perspektif matriks berdasarkan antara muka penghantaran mesej sedia ada.
DGL Sparse: perpustakaan matriks jarang yang direka untuk pembelajaran mesin graf
Pustaka baharu yang dipanggil DGL Sparse telah ditambahkan pada DGL versi 1.0 ( dgl.sparse), bersama-sama dengan antara muka penghantaran mesej dalam DGL, meningkatkan sokongan untuk semua jenis model rangkaian saraf graf. DGL Sparse menyediakan kelas dan operasi matriks jarang khusus untuk pembelajaran mesin graf, menjadikannya lebih mudah untuk menulis GNN dari perspektif matriks. Dalam bahagian seterusnya, pengarang menunjukkan beberapa contoh GNN, menunjukkan rumusan matematik mereka dan pelaksanaan kod yang sepadan dalam DGL Sparse.
Graph Convolutional Network
GCN ialah salah satu perintis pemodelan GNN. GCN boleh diwakili dengan paparan hantaran mesej dan paparan matriks. Kod berikut membandingkan perbezaan antara kedua-dua kaedah ini dalam DGL.
Gunakan API pemesejan untuk melaksanakan GCN
Menggunakan DGL Sparse untuk melaksanakan GCN
GNN berdasarkan resapan graf
Resapan graf ialah proses merebak atau melicinkan ciri atau isyarat nod di sepanjang tepi. Banyak algoritma graf klasik seperti PageRank termasuk dalam kategori ini. Satu siri kajian telah menunjukkan bahawa menggabungkan penyebaran graf dengan rangkaian saraf adalah cara yang berkesan dan cekap untuk meningkatkan ramalan model. Persamaan berikut menerangkan pengiraan teras salah satu model yang lebih representatif, APPNP. Ia boleh dilaksanakan secara langsung dalam DGL Sparse.
Rangkaian Neural Hipergraf
Hipergraf ialah generalisasi graf di mana tepi boleh menyambungkan sebarang bilangan nod (dipanggil hyperedges). Hipergraf amat berguna dalam senario di mana perhubungan peringkat lebih tinggi perlu ditangkap, seperti gelagat pembelian bersama dalam platform e-dagang atau pengarang bersama dalam rangkaian petikan. Ciri tipikal hipergraf ialah matriks korelasinya yang jarang, jadi rangkaian neural hipergraf (HGNN) sering ditakrifkan menggunakan matriks jarang. Berikut ialah rangkaian konvolusi hipergraf (Feng et al., 2018) dan pelaksanaan kodnya.
Graph Transformer
Model Transformer telah menjadi seni bina model yang paling berjaya dalam pemprosesan bahasa semula jadi. Penyelidik juga mula memperluaskan Transformer kepada pembelajaran mesin graf. Dwivedi et al mempelopori idea untuk mengehadkan semua perhatian berbilang kepala kepada pasangan nod yang bersambung dalam graf. Model ini boleh dilaksanakan dengan mudah dengan hanya 10 baris kod menggunakan alat DGL Sparse.
Ciri Utama DGL Sparse
Berbanding dengan perpustakaan matriks yang jarang seperti scipy.sparse atau torch.sparse, reka bentuk keseluruhan DGL Sparse adalah untuk menyediakan pembelajaran mesin graf, yang merangkumi ciri utama berikut:
Dengan memanfaatkan ciri reka bentuk ini, DGL Sparse mengurangkan panjang kod secara purata berbanding pelaksanaan model paparan matriks sebelumnya menggunakan antara muka penghantaran mesej sebanyak 2.7 kali. Kod yang dipermudahkan juga mengurangkan overhed rangka kerja sebanyak 43% . Selain itu, DGL Sparse serasi dengan PyTorch dan boleh disepadukan dengan mudah dengan pelbagai alatan dan pakej dalam ekosistem PyTorch.
DGL 1.0 telah dikeluarkan untuk semua platform dan boleh dipasang dengan mudah menggunakan pip atau conda. Sebagai tambahan kepada contoh yang diperkenalkan sebelum ini, versi pertama DGL Sparse juga termasuk 5 tutorial dan 11 contoh hujung ke hujung, yang kesemuanya boleh dialami secara langsung dalam Google Colab tanpa memerlukan pemasangan setempat.
Untuk mengetahui lebih lanjut tentang ciri baharu DGL 1.0, sila rujuk log keluaran pengarang. Jika anda menghadapi sebarang masalah atau mempunyai sebarang cadangan atau maklum balas semasa menggunakan DGL, anda juga boleh menghubungi pasukan DGL melalui forum Perbincangan atau Slack.
Atas ialah kandungan terperinci 10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!