Model dan pelatihan model di Amazon Neptune - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Model dan pelatihan model di Amazon Neptune

Neptune MLmenggunakan Graph Neural Networks (GNN) untuk membuat model untuk berbagai tugas pembelajaran mesin. Jaringan saraf grafik telah terbukti memperoleh state-of-the-art hasil untuk tugas pembelajaran mesin grafik dan sangat baik dalam mengekstraksi pola informatif dari data terstruktur grafik.

Grafik jaringan saraf (GNNS) di Neptune

Graph Neural Networks (GNNS) milik keluarga jaringan saraf yang menghitung representasi node dengan mempertimbangkan struktur dan fitur node terdekat. GNNS melengkapi pembelajaran mesin tradisional lainnya dan metode jaringan saraf yang tidak cocok untuk data grafik.

GNN digunakan untuk menyelesaikan tugas pembelajaran mesin seperti klasifikasi node dan regresi (memprediksi sifat node) dan klasifikasi tepi dan regresi (memprediksi sifat tepi) atau prediksi tautan (memprediksi apakah dua node dalam grafik harus terhubung atau tidak).

Secara umum, menggunakan GNN untuk tugas pembelajaran mesin melibatkan dua tahap:

  • Tahap pengkodean, di mana GNN menghitung vektor d-dimensi untuk setiap node dalam grafik. Vektor-vektor ini juga disebut representasi atau embeddings.

  • Tahap decoding, yang membuat prediksi berdasarkan representasi yang dikodekan.

Untuk klasifikasi node dan regresi, representasi node digunakan langsung untuk klasifikasi dan regresi tugas. Untuk klasifikasi tepi dan regresi, representasi simpul dari node insiden di tepi digunakan sebagai masukan untuk klasifikasi atau regresi. Untuk prediksi tautan, skor kemungkinan tepi dihitung dengan menggunakan sepasang representasi simpul dan representasi tipe tepi.

Deep Graph Library (DGL) memfasilitasi definisi dan pelatihan GNN yang efisien untuk tugas-tugas ini.

Model GNN yang berbeda disatukan di bawah perumusan pesan lewat. Dalam pandangan ini, representasi untuk node dalam grafik dihitung menggunakan representasi tetangga node (pesan), bersama dengan representasi awal node. Dalam NeptuneML, representasi awal dari node berasal dari fitur yang diekstrak dari sifat simpul, atau dipelajari dan tergantung pada identitas node.

Neptune MLjuga menyediakan opsi untuk menggabungkan fitur node dan representasi node yang dapat dipelajari untuk berfungsi sebagai representasi node asli.

Untuk berbagai tugas di Neptune MLyang melibatkan grafik dengan properti node, kita menggunakan Relational Graph Convolutional Network (R-GCN)) untuk melakukan tahap pengkodean. R-GCN adalah arsitektur GNN yang cocok untuk grafik yang memiliki beberapa jenis simpul dan tepi (ini dikenal sebagai grafik heterogen).

Jaringan R-GCN terdiri dari sejumlah lapisan tetap, ditumpuk satu demi satu. Setiap lapisan R-GCN menggunakan parameter model yang dapat dipelajari untuk mengumpulkan informasi dari lingkungan 1-hop langsung dari sebuah node. Karena lapisan berikutnya menggunakan representasi keluaran lapisan sebelumnya sebagai input, radius lingkungan grafik yang memengaruhi penyematan akhir node bergantung pada jumlah layer (num-layer), dari jaringan R-GCN.

Misalnya, ini berarti bahwa jaringan 2-layer menggunakan informasi dari node yang berjarak 2 hop.

Untuk mempelajari lebih lanjut tentang GNNS, lihat Survei Komprehensif tentang Jaringan Saraf Grafik. Untuk informasi selengkapnya tentang Deep Graph Library (DGL), kunjungi halaman web DGL. Untuk tutorial langsung tentang menggunakan DGL dengan GNN, lihat Mempelajari jaringan neural dengan Deep Graph Library.

Grafik Pelatihan Jaringan Saraf

Dalam pembelajaran mesin, proses mendapatkan model untuk belajar bagaimana membuat prediksi yang baik untuk suatu tugas disebut pelatihan model. Ini biasanya dilakukan dengan menentukan tujuan tertentu untuk mengoptimalkan, serta algoritma yang digunakan untuk melakukan optimasi ini.

Proses ini digunakan dalam pelatihan GNN untuk mempelajari representasi yang baik untuk tugas hilir juga. Kami membuat fungsi obyektif untuk tugas yang diminimalkan selama pelatihan model. Misalnya, untuk klasifikasi node, kita gunakan CrossEntropyLosssebagai tujuan, yang menghukum misklasifikasi, dan untuk regresi node kita meminimalkan MeanSquareError.

Tujuannya biasanya fungsi kerugian yang mengambil prediksi model untuk titik data tertentu dan membandingkannya dengan nilai ground-truth untuk titik data tersebut. Ia mengembalikan nilai kerugian, yang menunjukkan seberapa jauh dari prediksi model. Tujuan dari proses pelatihan adalah untuk meminimalkan kerugian dan memastikan bahwa prediksi model dekat dengan kebenaran dasar.

Algoritma optimasi yang digunakan dalam pembelajaran mendalam untuk proses pelatihan biasanya merupakan varian dari turunan gradien. Di Neptune, kami menggunakan Adam, yang merupakan algoritma untuk optimasi berbasis gradien orde pertama dari fungsi obyektif stokastik berdasarkan perkiraan adaptif momen orde rendah.

Sementara proses pelatihan model mencoba untuk memastikan bahwa parameter model yang dipelajari mendekati minima fungsi objektif, kinerja keseluruhan model juga bergantung pada hyperparameter model, yang merupakan pengaturan model yang tidak dipelajari oleh algoritma pelatihan. Misalnya, dimensionalitas representasi node belajar,num-hidden, adalah hyperparameter yang mempengaruhi kinerja model. Oleh karena itu, adalah umum dalam pembelajaran mesin untuk melakukan optimasi hiperparameter (HPO) untuk memilih hyperparameter yang sesuai.

Neptune MLmenggunakan pekerjaan penyetelan SageMaker hyperparameter untuk meluncurkan beberapa contoh pelatihan model dengan konfigurasi hyperparameter yang berbeda untuk mencoba menemukan model terbaik untuk berbagai pengaturan hyperparameter. Lihat Menyesuaikan konfigurasi hyperparameter model di Neptune ML.

Grafik pengetahuan menanamkan model di Neptune

Grafik pengetahuan (KG) adalah grafik yang menyandikan informasi tentang entitas yang berbeda (node) dan hubungannya (tepi). Di Neptune, model embedding grafik pengetahuan diterapkan secara default untuk melakukan prediksi tautan ketika grafik tidak mengandung properti simpul, hanya hubungan dengan node lain. Meskipun, model R-GCN dengan embeddings yang dapat dipelajari juga dapat digunakan untuk grafik ini dengan menentukan tipe model sebagai"rgcn", model embedding grafik pengetahuan lebih sederhana dan dirancang agar efektif untuk representasi pembelajaran untuk grafik pengetahuan skala besar.

Pengetahuan model grafik embedding digunakan dalam tugas prediksi link untuk memprediksi node atau hubungan yang menyelesaikan triple(h, r, t) di manah adalah node sumber,r adalah jenis relasi dant node tujuan.

Grafik pengetahuan embedding model diimplementasikan dalam Neptune ML adalahdistmult,transE, danrotatE. Untuk mempelajari lebih lanjut tentang model penyematan grafik pengetahuan, lihat DGL-KE.

Melatih model khusus di Neptune MLN

Neptune MLmemungkinkan Anda menentukan dan menerapkan model kustom Anda sendiri, untuk skenario tertentu. LihatModel khusus di Neptunus ML informasi tentang cara mengimplementasikan model kustom dan cara menggunakan infrastruktur Neptune ML untuk melatihnya.