Algoritma Object2Vec - Amazon SageMaker

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

Algoritma Object2Vec

Algoritma Amazon SageMaker Object2Vec adalah algoritma penyematan saraf tujuan umum yang sangat dapat disesuaikan. Ia dapat mempelajari penyematan padat dimensi rendah dari objek dimensi tinggi. Embeddings dipelajari dengan cara yang mempertahankan semantik hubungan antara pasangan objek di ruang asli di ruang embedding. Anda dapat menggunakan embeddings yang dipelajari untuk secara efisien menghitung tetangga terdekat objek dan untuk memvisualisasikan kelompok alami objek terkait dalam ruang dimensi rendah, misalnya. Anda juga dapat menggunakan embeddings sebagai fitur dari objek yang sesuai dalam tugas yang diawasi hilir, seperti klasifikasi atau regresi.

Object2Vec menggeneralisasi teknik penyematan Word2Vec yang terkenal untuk kata-kata yang dioptimalkan dalam. SageMaker BlazingText algoritma Untuk posting blog yang membahas cara menerapkan Object2Vec ke beberapa kasus penggunaan praktis, lihat Pengantar Amazon Object2Vec. SageMaker

Antarmuka I/O untuk Algoritma Object2Vec

Anda dapat menggunakan Object2Vec pada banyak tipe data input, termasuk contoh berikut.

Tipe Data Masukan Contoh

Pasangan kalimat-kalimat

“Pertandingan sepak bola dengan banyak pria bermain.” dan “Beberapa pria sedang bermain olahraga.”

Label - pasangan urutan

Tag genre film “Titanic”, seperti “Romance” dan “Drama”, dan deskripsi singkatnya: “Titanic karya James Cameron adalah romansa epik dan penuh aksi yang bertentangan dengan pelayaran perdananya yang naas dari R.M.S. Titanic. Dia adalah kapal paling mewah di zamannya, sebuah kapal impian, yang akhirnya membawa lebih dari 1.500 orang sampai mati di perairan es dingin Atlantik Utara pada dini hari tanggal 15 April 1912.

Pasangan pelanggan-pelanggan

ID pelanggan Jane dan ID pelanggan Jackie.

Pasangan produk-produk

ID produk sepak bola dan ID produk bola basket.

Ulasan item pasangan item-pengguna

ID pengguna dan barang yang dia beli, seperti apel, pir, dan jeruk.

Untuk mengubah data input ke dalam format yang didukung, Anda harus memprosesnya terlebih dahulu. Saat ini, Object2Vec secara native mendukung dua jenis input:

  • Token diskrit, yang direpresentasikan sebagai daftar tunggalinteger-id. Misalnya, [10].

  • Urutan token diskrit, yang direpresentasikan sebagai daftar. integer-ids Misalnya, [0,12,10,13].

Objek di setiap pasangan bisa asimetris. Misalnya, pasangan dapat berupa (token, urutan) atau (token, token) atau (urutan, urutan). Untuk input token, algoritme mendukung penyematan sederhana sebagai encoder yang kompatibel. Untuk urutan vektor token, algoritme mendukung yang berikut ini sebagai encoder:

  • Penyematan gabungan rata-rata

  • Jaringan saraf konvolusional hierarkis (CNN),

  • Memori jangka pendek panjang dua arah berlapis-lapis (BILSTMS)

Label input untuk setiap pasangan dapat berupa salah satu dari yang berikut:

  • Label kategoris yang mengekspresikan hubungan antara objek dalam pasangan

  • Skor yang mengekspresikan kekuatan kesamaan antara dua objek

Untuk label kategoris yang digunakan dalam klasifikasi, algoritme mendukung fungsi kehilangan entropi silang. Untuk label berbasis rating/skor yang digunakan dalam regresi, algoritme mendukung fungsi kerugian mean squared error (MSE). Tentukan fungsi kerugian ini dengan output_layer hyperparameter saat Anda membuat pekerjaan pelatihan model.

Rekomendasi Instans EC2 untuk Algoritma Object2Vec

Jenis instans Amazon Elastic Compute Cloud (Amazon EC2) yang Anda gunakan bergantung pada apakah Anda melatih atau menjalankan inferensi.

Saat melatih model menggunakan algoritma Object2Vec pada CPU, mulailah dengan instance ml.m5.2xlarge. Untuk pelatihan tentang GPU, mulailah dengan instance ml.p2.xlarge. Jika pelatihan memakan waktu terlalu lama pada contoh ini, Anda dapat menggunakan instance yang lebih besar. Saat ini, algoritma Object2Vec hanya dapat melatih pada satu mesin. Namun, ia menawarkan dukungan untuk beberapa GPU. Object2Vec mendukung keluarga instance GPU P2, P3, G4dn, dan G5 untuk pelatihan dan inferensi.

Untuk inferensi dengan model Object2Vec terlatih yang memiliki jaringan saraf dalam, sebaiknya gunakan instance GPU ml.p3.2xlarge. Karena kelangkaan memori GPU, variabel INFERENCE_PREFERRED_MODE lingkungan dapat ditentukan untuk mengoptimalkan apakah jaringan Optimasi GPU: Embeddings Encoder inferensi Optimasi GPU: Klasifikasi atau Regresi atau dimuat ke dalam GPU.

Notebook Contoh Object2Vec

catatan

Untuk menjalankan notebook pada instance notebook, lihatContoh Notebook. Untuk menjalankan notebook di Studio, lihatMembuat atau Membuka Notebook Amazon SageMaker Studio Classic.