Bagikan melalui


Jaringan Neural Multiklas

Penting

Dukungan untuk Studio Azure Machine Learning (klasik) akan berakhir pada 31 Agustus 2024. Sebaiknya Anda transisi ke Azure Machine Learning sebelum tanggal tersebut.

Mulai 1 Desember 2021, Anda tidak akan dapat membuat sumber daya Studio Azure Machine Learning (klasik) baru. Hingga 31 Agustus 2024, Anda dapat terus menggunakan sumber daya Pembelajaran Mesin Studio (klasik) yang ada.

ML Dokumentasi Studio (klasik) sedang berhenti dan mungkin tidak diperbarui di masa mendatang.

Membuat model klasifikasi multiclass menggunakan algoritma jaringan saraf

Kategori: Pembelajaran Mesin / Inisialisasi Model / Klasifikasi

Catatan

Berlaku untuk: Pembelajaran Mesin Studio (klasik) saja

Modul drag-and-drop serupa tersedia di Azure Machine Learning desainer.

Ringkasan Modul

Artikel ini menjelaskan cara menggunakan modul Multiclass Neural Network di Pembelajaran Mesin Studio (klasik), untuk membuat model jaringan saraf yang dapat digunakan untuk memprediksi target yang memiliki banyak nilai.

Misalnya, jaringan neural semacam ini dapat digunakan dalam tugas visi komputer yang kompleks, seperti pengenalan digit atau huruf, klasifikasi dokumen, dan pengenalan pola.

Klasifikasi yang menggunakan jaringan neural adalah metode pembelajaran yang diawasi, dan karenanya memerlukan himpunan data yang diberi tag yang menyertakan kolom label.

Anda dapat melatih model dengan menyediakan model dan himpunan data yang ditandai sebagai input ke Train Model atau untuk Tune Model Hyperparameters. Model terlatih kemudian dapat digunakan untuk memprediksi nilai untuk contoh input baru.

Selebihnya tentang jaringan neural

Jaringan neural adalah satu set lapisan yang saling terhubung. Input adalah lapisan pertama, dan terhubung ke lapisan output oleh grafik acyclic yang terdiri dari tepi dan node tertimbang.

Di antara lapisan input dan output, Anda dapat memasukkan beberapa lapisan tersembunyi. Sebagian besar tugas prediktif dapat diselesaikan dengan mudah hanya dengan satu atau beberapa lapisan tersembunyi. Namun, penelitian terbaru telah menunjukkan bahwa jaringan saraf dalam (DNN) dengan banyak lapisan bisa sangat efektif dalam tugas-tugas kompleks seperti pengenalan gambar atau ucapan. Lapisan berturut-turut digunakan untuk memodelkan peningkatan tingkat kedalaman semantik.

Hubungan antara input dan output dipelajari dari pelatihan jaringan neural pada data input. Arah grafik berlanjut dari input melalui lapisan tersembunyi dan ke lapisan output. Semua node dalam lapisan dihubungkan oleh tepi tertimbang ke node di lapisan berikutnya.

Untuk menghitung output jaringan untuk input tertentu, nilai dihitung pada setiap node di lapisan tersembunyi dan di lapisan output. Nilai diatur dengan menghitung jumlah tertimbang dari nilai node dari lapisan sebelumnya. Fungsi aktivasi kemudian diterapkan ke jumlah tertimbang tersebut.

Cara mengkonfigurasi Multiclass Neural Network

  1. Tambahkan modul MultiClass Neural Network ke eksperimen Anda di Studio (klasik). Anda dapat menemukan modul ini di bagian Pembelajaran Mesin, Inisialisasi, dalam kategori Klasifikasi.

  2. Buat mode pelatih: Gunakan opsi ini untuk menentukan bagaimana Anda ingin model dilatih:

    • Parameter Tunggal: Pilih opsi ini jika Anda sudah tahu bagaimana Anda akan mengonfigurasi model.

    • Rentang Parameter: Pilih opsi ini jika Anda tidak yakin dengan parameter terbaik, dan ingin menggunakan sapuan parameter. Anda kemudian menentukan rentang nilai dan menggunakan modul Tune Model Hyperparameters untuk berulang atas kombinasi dan menemukan konfigurasi optimal.

  3. Spesifikasi lapisan tersembunyi: Pilih jenis arsitektur jaringan untuk dibuat.

    • Kasus yang terhubung sepenuhnya: Pilih opsi ini untuk membuat model menggunakan arsitektur jaringan saraf default. Untuk model jaringan neural multi-kelas, defaultnya adalah sebagai berikut:

      • Satu lapisan tersembunyi
      • Lapisan output sepenuhnya terhubung ke lapisan tersembunyi.
      • Lapisan tersembunyi sepenuhnya terhubung ke lapisan input.
      • Jumlah node dalam lapisan input ditentukan oleh jumlah fitur dalam data pelatihan.
      • Jumlah node di lapisan tersembunyi dapat diatur oleh pengguna. Nilai defaultnya adalah 100.
      • Jumlah node dalam lapisan output tergantung pada jumlah kelas.
    • Skrip definisi kustom. Pilih opsi ini untuk membuat arsitektur jaringan saraf kustom, menggunakan bahasa Net#. Anda dapat menentukan jumlah lapisan tersembunyi, koneksinya, dan opsi lanjutan seperti menentukan pemetaan antar lapisan. Untuk pengenalan Net#, lihat Selengkapnya Tentang Net# nanti dalam topik ini.

  4. Definisi jaringan saraf: Jika Anda memilih opsi arsitektur kustom, gunakan kotak teks untuk mengetik atau menempelkan dalam pernyataan yang ditulis dalam bahasa Net#. Untuk contoh skrip tambahan, lihat Panduan untuk Bahasa Spesifikasi Jaringan Saraf Net#.

  5. Jumlah node tersembunyi: Opsi ini memungkinkan Anda menyesuaikan jumlah node tersembunyi dalam arsitektur default. Ketik jumlah node tersembunyi. Opsi default satu lapisan tersembunyi memiliki 100 node.

  6. Tingkat pembelajaran: Tentukan ukuran langkah yang diambil pada setiap iterasi, sebelum koreksi. Nilai yang lebih besar untuk tingkat pembelajaran dapat menyebabkan model bertemu lebih cepat, tetapi dapat melampaui minima lokal.

  7. Jumlah iterasi pembelajaran: Tentukan jumlah maksimum kali algoritma harus memproses kasus pelatihan.

  8. Diameter bobot pembelajaran awal: Tentukan bobot node pada awal proses pembelajaran.

  9. Momentum: Tentukan bobot yang akan diterapkan selama pembelajaran ke node dari iterasi sebelumnya.

  10. Jenis normalisasi: Pilih metode yang akan digunakan untuk normalisasi fitur. Metode normalisasi berikut didukung:

    • Binning normalizer: Binning normalizer menciptakan tempat sampah dengan ukuran yang sama, dan kemudian menormalkan setiap nilai di setiap tempat sampah, dengan membagi dengan jumlah total tempat sampah.

    • Normalisasi Gaussian: Normalisasi Gaussian mengubah nilai setiap fitur memiliki rata-rata 0 dan varians 1. Ini dilakukan dengan menghitung rata-rata dan varians dari setiap fitur. Untuk setiap contoh, nilai rata-rata dikurangi, dan hasilnya dibagi dengan akar kuadrat dari varians (deviasi standar).

    • Normalisasi Min-max: Normalisasi min-max secara linier mengubah skala setiap fitur ke interval [0,1].

      Penghitungan ulang ke interval [0,1] dilakukan dengan menggeser nilai setiap fitur sehingga nilai minimal adalah 0, dan kemudian membagi dengan nilai maksimal baru (yang merupakan perbedaan antara nilai maksimal dan minimal asli).

    • Jangan normalisasi: Tidak ada normalisasi yang dilakukan.

  11. Contoh acak: Pilih opsi ini untuk mengacak kasus di antara iterasi.

    Jika Anda membatalkan pilihan opsi ini, kasus diproses dalam urutan yang persis sama setiap kali Anda menjalankan eksperimen.

  12. Benih angka acak: Ketik nilai yang akan digunakan sebagai benih, jika Anda ingin memastikan pengulangan di seluruh menjalankan eksperimen yang sama.

  13. Izinkan level kategoris yang tidak diketahui: Pilih opsi ini untuk membuat pengelompokan untuk nilai yang tidak diketahui dalam kumpulan pelatihan dan validasi. Model ini mungkin kurang tepat pada nilai yang diketahui tetapi memberikan prediksi yang lebih baik untuk nilai baru (tidak diketahui).

    Jika Anda membatalkan pilihan opsi ini, model hanya dapat menerima nilai yang terdapat dalam data pelatihan.

  14. Koneksi dataset pelatihan dan salah satu modul pelatihan:

    Catatan

    Jika Anda meneruskan rentang parameter ke Model Kereta Api, ini hanya menggunakan nilai pertama dalam daftar rentang parameter.

    Jika Anda meneruskan satu set nilai parameter ke modul Tune Model Hyperparameters, saat mengharapkan rentang pengaturan untuk setiap parameter, ini mengabaikan nilai dan menggunakan nilai default untuk orang yang belajar.

    Jika Anda memilih opsi Rentang Parameter dan memasukkan nilai tunggal untuk parameter apa pun, nilai tunggal yang Anda tentukan akan digunakan di seluruh sapuan, bahkan jika parameter lain berubah di berbagai nilai.

Hasil

Setelah pelatihan selesai:

  • Untuk melihat ringkasan parameter model, bersama dengan bobot fitur yang dipelajari dari pelatihan, dan parameter lain dari jaringan saraf, klik kanan output Train Model atau Tune Model Hyperparameters, dan pilih Visualisasikan.

  • Untuk menyimpan snapshot dari model terlatih, klik kanan output model Terlatih dan pilih Simpan Sebagai Model Terlatih. Model ini tidak diperbarui pada putaran berturut-turut dari eksperimen yang sama.

  • Untuk melakukan validasi silang terhadap kumpulan data berlabel, hubungkan model yang tidak dibatasi ke Model Validasi Silang.

Contoh

Untuk contoh bagaimana algoritme pembelajaran ini digunakan, lihat eksperimen sampel ini di Azure AI Gallery. Eksperimen terkait dan dijelaskan dalam satu dokumen yang berlangsung dari konfigurasi dasar ke lanjutan:

Catatan teknis

Bagian ini berisi detail implementasi, tips, dan jawaban atas pertanyaan yang sering diajukan.

Menyesuaikan jaringan saraf menggunakan skrip

Di Pembelajaran Mesin Studio (klasik), Anda dapat menyesuaikan arsitektur model jaringan saraf dengan menggunakan bahasa Net#. Kustomisasi yang didukung oleh bahasa Net# meliputi:

  • Menentukan jumlah lapisan tersembunyi dan jumlah node di setiap lapisan
  • Menentukan pemetaan antar lapisan
  • Mendefinisikan konvolusi dan bundel pembagian berat badan
  • Memilih fungsi aktivasi

Model jaringan saraf didefinisikan oleh struktur grafiknya, yang mencakup atribut-atribut ini:

  • Jumlah lapisan tersembunyi
  • Jumlah node di setiap lapisan tersembunyi
  • Bagaimana lapisan terhubung
  • Fungsi aktivasi mana yang digunakan
  • Bobot pada tepi grafik

Penting

Struktur keseluruhan grafik, serta fungsi aktivasi, dapat ditentukan oleh pengguna. Namun, bobot di tepi tidak dapat ditentukan, dan harus dipelajari saat melatih jaringan saraf pada data input.

Secara umum, jaringan memiliki default ini:

  • Lapisan pertama selalu merupakan lapisan input.
  • Lapisan terakhir selalu lapisan output.
  • Jumlah node dalam lapisan output harus sama dengan jumlah kelas.

Anda dapat menentukan sejumlah lapisan perantara: ini kadang-kadang disebut lapisan tersembunyi, karena mereka terkandung dalam model, dan mereka tidak langsung diekspos sebagai titik akhir.

Panduan referensi Net# menjelaskan sintaks dan menyediakan definisi jaringan sampel. Ini menjelaskan bagaimana Anda dapat menggunakan Net # untuk menambahkan lapisan tersembunyi dan menentukan cara lapisan yang berbeda berinteraksi satu sama lain.

Misalnya, skrip berikut menggunakan auto kata kunci, yang menetapkan jumlah fitur secara otomatis untuk lapisan input dan output, dan menggunakan nilai default untuk lapisan tersembunyi.

input Data auto;  
hidden Hidden auto from Data all;  
output Result auto from Hidden all;   

Untuk contoh skrip tambahan, lihat Panduan untuk Bahasa Spesifikasi Jaringan Saraf Net#.

Tip

Jaringan saraf dapat menjadi komputasi mahal, karena sejumlah hiperparameter dan pengenalan topologi jaringan kustom. Meskipun dalam banyak kasus jaringan saraf menghasilkan hasil yang lebih baik daripada algoritma lain, memperoleh hasil tersebut mungkin melibatkan cukup banyak sweeping (iterasi) atas hiperparameter.

Parameter modul

Nama Rentang Jenis Default Deskripsi
Spesifikasi lapisan tersembunyi Daftar Topologi Jaringan Saraf Casing yang terhubung sepenuhnya Tentukan arsitektur lapisan atau lapisan tersembunyi
Diameter bobot pembelajaran awal >=ganda. Epsilon Mengambang 0.1 Tentukan bobot simpul pada awal proses pembelajaran
Tingkat pembelajaran [ganda. Epsilon;1.0] Mengambang 0.1 Tentukan ukuran setiap langkah dalam proses pembelajaran
Momentum [0.0;1.0] Mengambang 0.0 Tentukan bobot yang akan diterapkan selama pembelajaran ke node dari iterasi sebelumnya
Definisi jaringan saraf Semua StreamReader Saat Anda memilih Skrip definisi kustom, ketik ekspresi skrip yang valid di setiap baris untuk menentukan lapisan, simpul, dan perilaku jaringan saraf kustom
Jenis normalisasi Daftar Metode Normalisasi Normalisasi maksimum minimum Pilih jenis normalisasi yang akan diterapkan pada contoh pembelajaran
Jumlah iterasi pembelajaran >=1 Bilangan bulat 100 Tentukan jumlah iterasi saat belajar
Mengocok contoh Apa pun Boolean True Pilih opsi ini untuk mengubah urutan instans di antara iterasi pembelajaran
Benih angka acak Apa pun Bilangan bulat Tentukan benih numerik yang akan digunakan untuk pembuatan angka acak. Biarkan kosong untuk menggunakan benih default.
Izinkan level kategoris yang tidak diketahui Apa pun Boolean True Tunjukkan apakah level tambahan harus dibuat untuk kategori yang tidak diketahui. Jika himpunan data pengujian berisi kategori yang tidak ada dalam himpunan data pelatihan, himpunan data tersebut dipetakan ke tingkat yang tidak diketahui ini.

Output

Nama Jenis Deskripsi
Model tak terlatih Antarmuka ILearner Model klasifikasi multiclass yang tidak terlatih

Lihat juga

Klasifikasi
Jaringan Neural Dua Kelas
Regresi Jaringan Saraf
Daftar Modul A-Z