Model dan pelatihan model di Amazon Neptunus - 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 Neptunus

Neptunus menggunakan 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 Neptunus ML

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

GNNs digunakan untuk menyelesaikan tugas-tugas pembelajaran mesin seperti klasifikasi node dan regresi (memprediksi properti node) dan klasifikasi tepi dan regresi (memprediksi properti 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 dimensi-d untuk setiap node dalam grafik. Vektor-vektor ini juga disebut representasi atau embeddings.

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

Untuk klasifikasi dan regresi simpul, representasi simpul digunakan secara langsung untuk tugas klasifikasi dan regresi. 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 yang efisien GNNs untuk tugas-tugas ini.

Model GNN yang berbeda disatukan di bawah perumusan pengiriman pesan. Dalam tampilan ini, representasi untuk node dalam grafik dihitung menggunakan representasi tetangga node (pesan), bersama dengan representasi awal node. Dalam Neptuneml, representasi awal dari sebuah node berasal dari fitur yang diekstraksi dari properti node, atau dapat dipelajari dan tergantung pada identitas node.

Neptunus ML juga menyediakan opsi untuk menggabungkan fitur simpul dan representasi simpul yang dapat dipelajari untuk berfungsi sebagai representasi simpul asli.

Untuk berbagai tugas di Neptunus ML yang melibatkan grafik dengan properti simpul, kami menggunakan Relational Graph Convolutional Network (R-GCN)) untuk melakukan tahap pengkodean. R-GCN adalah arsitektur GNN yang sangat cocok untuk grafik yang memiliki beberapa tipe 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 mempengaruhi penyematan akhir node bergantung pada jumlah lapisan (num-layer), dari jaringan R-GCN.

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

Untuk mempelajari selengkapnya GNNs, lihat Survei Komprehensif tentang Jaringan Saraf Grafik. Untuk informasi lebih lanjut tentang Deep Graph Library (DGL), kunjungi halaman web DGL. Untuk tutorial langsung tentang penggunaan DGL dengan GNNs, lihat Mempelajari jaringan saraf grafik 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 dioptimalkan, serta algoritma yang digunakan untuk melakukan pengoptimalan 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 simpul, kami gunakan CrossEntropyLosssebagai tujuan, yang menghukum salah klasifikasi, dan untuk regresi simpul kami meminimalkan. MeanSquareError

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

Algoritma optimasi yang digunakan dalam pembelajaran mendalam untuk proses pelatihan biasanya merupakan varian dari penurunan gradien. Di Neptunus ML, kami menggunakan Adam, yang merupakan algoritme untuk optimalisasi fungsi objektif stokastik berbasis gradien orde pertama berdasarkan perkiraan adaptif momen orde rendah.

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

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

Model penyematan grafik pengetahuan di Neptunus ML

Grafik pengetahuan (KGs) adalah grafik yang mengkodekan informasi tentang entitas yang berbeda (node) dan hubungannya (tepi). Di Neptunus ML, model penyematan grafik pengetahuan diterapkan secara default untuk melakukan prediksi tautan ketika grafik tidak berisi properti simpul, hanya hubungan dengan node lain. Meskipun, model R-GCN dengan penyematan yang dapat dipelajari juga dapat digunakan untuk grafik ini dengan menentukan jenis model sebagai"rgcn", model penyematan grafik pengetahuan lebih sederhana dan dirancang agar efektif untuk mempelajari representasi untuk grafik pengetahuan skala besar.

Model penyematan grafik pengetahuan digunakan dalam tugas prediksi tautan untuk memprediksi node atau hubungan yang menyelesaikan rangkap tiga (h, r, t) di mana h simpul sumber, r adalah tipe relasi dan t merupakan simpul tujuan.

Model penyematan grafik pengetahuan yang diterapkan di Neptunus ML distmult adalah,, dan. transE rotatE Untuk mempelajari lebih lanjut tentang model penyematan grafik pengetahuan, lihat DGL-KE.

Melatih model kustom di Neptunus ML

Neptunus ML memungkinkan Anda menentukan dan mengimplementasikan model kustom Anda sendiri, untuk skenario tertentu. Lihat Model khusus di Neptunus ML untuk informasi tentang cara menerapkan model kustom dan cara menggunakan infrastruktur Neptunus ML untuk melatihnya.