Rumah  >  Artikel  >  Peranti teknologi  >  10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

WBOY
WBOYke hadapan
2023-04-11 23:52:011375semak imbas

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.


10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

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:

  • Lebih daripada 100 contoh model GNN yang luar biasa, lebih daripada 15 model kedudukan teratas pada Penanda Aras Graf Terbuka (OGB) Model garis dasar;
  • Lebih daripada 150 modul GNN yang biasa digunakan, termasuk lapisan GNN, set data, modul penukaran data graf, pensampel graf, dll., yang boleh digunakan untuk membina seni bina model baharu atau Penyelesaian berasaskan GNN;
  • Pengiriman mesej yang fleksibel dan cekap serta abstraksi matriks yang jarang untuk membangunkan modul GNN baharu; keupayaan menyokong latihan pada berpuluh bilion graf. Gambar rajah tindanan Teknologi DGL 1.0


10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0Alamat: 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.

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0


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.

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

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.

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

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.

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0


10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

Gunakan API pemesejan untuk melaksanakan GCN


10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

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.

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

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.

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

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.

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

10 baris kod untuk melengkapkan Transformer graf, rangka kerja rangkaian saraf graf DGL membawa versi 1.0

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:

  • Pemilihan format jarang automatik: DGL Sparse direka bentuk supaya pengguna tidak perlu risau tentang memilih struktur data yang betul untuk menyimpan matriks jarang ( juga dikenali sebagai format jarang). Pengguna hanya perlu ingat bahawa dgl.sparse.spmatrix mencipta matriks jarang, dan DGL secara automatik akan memilih format optimum secara dalaman berdasarkan operator yang dipanggil
  • Skalar; atau elemen bukan sifar vektor : Banyak model GNN mempelajari berbilang pemberat pada tepi (seperti vektor perhatian berbilang kepala yang ditunjukkan dalam contoh Pengubah Graf). Untuk menampung keadaan ini, DGL Sparse membenarkan unsur bukan sifar mempunyai bentuk vektor dan memanjangkan operasi jarang biasa seperti pendaraban matriks padat-jarang (SpMM), dsb. Anda boleh merujuk kepada operasi bspmm dalam contoh Graph Transformer.

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.

Mulakan dengan DGL 1.0

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!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam