Apa itu pembelajaran mesin otomatis (AutoML)?

BERLAKU UNTUK: Python SDK azure-ai-ml v2 (saat ini)

Pembelajaran mesin otomatis, juga disebut sebagai ML atau AutoML otomatis, adalah proses mengotomatiskan tugas pengembangan model pembelajaran mesin yang memakan waktu dan berulang. Pembelajaran mesin otomatis memungkinkan ilmuwan data, analis, dan pengembang untuk membangun model ML dengan skala, efisiensi, dan produktivitas tinggi sambil mempertahankan kualitas model. ML otomatis di Azure Machine Learning didasarkan pada terobosan dari divisi Penelitian Microsoft kami.

Bagaimana cara kerja AutoML?

Selama pelatihan, Azure Machine Learning membuat sejumlah alur secara paralel yang mencoba algoritma dan parameter yang berbeda untuk Anda. Layanan ini berulang melalui algoritma ML yang dipasangkan dengan pilihan fitur, setiap perulangan menghasilkan model dengan skor pelatihan. Semakin baik skor untuk metrik yang ingin Anda optimalkan, semakin baik model dianggap "sesuai" data Anda. Iterasi akan berhenti setelah mencapai kriteria keluar yang ditentukan dalam percobaan.

Menggunakan Azure Machine Learning, Anda dapat mendesain dan menjalankan eksperimen pelatihan ML otomatis dengan langkah-langkah berikut:

  1. Identifikasi masalah ML yang akan diselesaikan: klasifikasi, prakiraan, regresi, visi komputer, atau NLP.

  2. Pilih apakah Anda menginginkan pengalaman code-first atau pengalaman web studio tanpa kode: Pengguna yang lebih suka pengalaman code-first dapat menggunakan AzureML SDKv2 atau AzureML CLIv2. Mulai menggunakan Tutorial: Melatih model deteksi objek dengan AutoML dan Python. Pengguna yang lebih suka pengalaman terbatas/tanpa kode dapat menggunakan antarmuka web di studio Azure Machine Learning di https://ml.azure.com. Mulai menggunakan Tutorial: Membuat model klasifikasi dengan ML otomatis di Azure Machine Learning.

  3. Tentukan sumber data pelatihan berlabel: Anda dapat membawa data Anda ke AzureML dengan berbagai cara.

  4. Konfigurasikan parameter pembelajaran mesin otomatis yang menentukan berapa banyak perulangan atas model yang berbeda, pengaturan hyperparameter, prapemrosesan/fiturisasi lanjutan, dan metrik apa yang harus dilihat saat menentukan model terbaik.

  5. Kirim pekerjaan pelatihan.

  6. Tinjau hasilnya

Diagram berikut mengilustrasikan hubungan ini. Pembelajaran Mesin Otomatis

Anda juga dapat memeriksa informasi yang dijalankan dengan log, yang berisi metrik yang dikumpulkan selama pekerjaan berlangsung. Pekerjaan pelatihan ini menghasilkan objek serial Python (file .pkl) yang berisi model dan prapemrosesan data.

Saat pembangunan model dilakukan secara otomatis, Anda juga dapat mempelajari seberapa penting atau relevan fitur untuk model yang dihasilkan.

Kapan menggunakan AutoML: klasifikasi, regresi, perkiraan, visi komputer & NLP

Terapkan ML otomatis saat Anda ingin Azure Machine Learning melatih dan menyetel model untuk Anda menggunakan metrik target yang Anda tentukan. ML otomatis mendemokratisasi proses pengembangan model pembelajaran mesin dan memberdayakan penggunanya tanpa mempertimbangkan keahlian ilmu data mereka untuk mengidentifikasi alur pembelajaran mesin end-to-end untuk masalah apa pun.

Profesional dan pengembang ML di seluruh industri dapat menggunakan ML otomatis untuk:

  • Terapkan solusi ML tanpa pengetahuan pemrograman yang luas
  • Menghemat waktu dan sumber daya
  • Manfaatkan praktik terbaik ilmu data
  • Sediakan pemecahan masalah yang lincah

Klasifikasi

Klasifikasi adalah jenis pembelajaran yang diawasi saat model belajar menggunakan data pelatihan dan menerapkan pembelajaran tersebut ke data baru. Azure Machine Learning menawarkan fiturisasi khusus untuk tugas-tugas ini, seperti fitur teks jaringan saraf dalam untuk klasifikasi. Pelajari selengkapnya tentang opsi fiturisasi. Anda juga dapat menemukan daftar algoritma yang didukung oleh AutoML di sini.

Tujuan utama dari model klasifikasi adalah untuk memprediksi kategori data baru mana yang akan jatuh berdasarkan pembelajaran dari data pelatihannya. Contoh klasifikasi umum termasuk deteksi penipuan, pengenalan tulisan tangan, dan deteksi objek.

Lihat contoh klasifikasi dan pembelajaran mesin otomatis di buku catatan Python ini: Pemasaran Bank.

Regresi

Mirip dengan klasifikasi, tugas regresi juga merupakan tugas pembelajaran yang diawasi bersama. AzureML menawarkan fiturisasi khusus untuk masalah regresi. Pelajari selengkapnya tentang opsi fiturisasi. Anda juga dapat menemukan daftar algoritma yang didukung oleh AutoML di sini.

Berbeda dari klasifikasi saat nilai output yang diprediksi memiliki kategori, model regresi memprediksi nilai output numerik berdasarkan prediktor independen. Dalam regresi, tujuannya adalah untuk membantu membangun hubungan di antara variabel prediktor independen dengan memperkirakan bagaimana satu variabel berdampak pada yang lain. Misalnya, harga mobil berdasarkan fitur seperti jarak tempuh gas, peringkat keselamatan, dll.

Lihat contoh regresi dan pembelajaran mesin otomatis untuk prediksi di notebook Python ini: Performa Perangkat Keras.

Prakiraan rangkaian waktu

Prakiraan bangunan adalah bagian integral dari bisnis apa pun, baik itu pendapatan, inventaris, penjualan, atau permintaan pelanggan. Anda dapat menggunakan ML otomatis untuk menggabungkan teknik dan pendekatan dan mendapatkan perkiraan rangkaian waktu berkualitas tinggi yang direkomendasikan. Anda dapat menemukan daftar algoritma yang didukung oleh AutoML di sini.

Eksperimen seri waktu otomatis diperlakukan sebagai masalah regresi multivariat. Nilai seri waktu sebelumnya "dipivot" untuk menjadi dimensi tambahan bagi regresor bersama dengan prediktor lain. Pendekatan ini, tidak seperti metode seri waktu klasik, memiliki keuntungan secara alami menggabungkan beberapa variabel kontekstual dan hubungan mereka satu sama lain selama pelatihan. ML otomatis mempelajari model tunggal, tetapi sering bercabang secara internal untuk semua item di himpunan data dan cakrawala prediksi. Dengan demikian, lebih banyak data tersedia untuk memperkirakan parameter model dan kemungkinan generalisasi ke seri yang tidak terlihat menjadi lebih besar.

Konfigurasi prakiraan tingkat lanjut meliputi:

  • deteksi dan keistimewaan liburan
  • time-series dan pelajar DNN (Auto-ARIMA, Prophet, ForecastTCN)
  • banyak dukungan model melalui pengelompokan
  • validasi lintas rolling-origin
  • lag yang dapat dikonfigurasi
  • fitur agregat jendela bergulir

Lihat contoh prakiraan dan pembelajaran mesin otomatis di notebook Python ini: Permintaan Energi.

Visi komputer

Dukungan untuk tugas visi komputer memungkinkan Anda dengan mudah menghasilkan model yang dilatih pada data citra untuk skenario seperti klasifikasi citra dan deteksi objek.

Dengan kemampuan ini, Anda dapat:

  • Terintegrasi dengan mulus dengan kemampuan pelabelan data Azure Machine Learning
  • Menggunakan data berlabel untuk menghasilkan model gambar
  • Optimalkan performa model dengan menentukan algoritma model dan menyetel hiperparameter.
  • Unduh atau sebarkan model yang dihasilkan sebagai layanan web di Azure Machine Learning.
  • Mengoperasikan dalam skala besar, memanfaatkan kemampuan Azure Machine Learning MLOps dan ML Pipelines.

Penulisan model AutoML untuk tugas visi didukung melalui Azure ML Python SDK. Pekerjaan eksperimen yang dihasilkan, model, dan output dapat diakses dari UI studio Azure Machine Learning.

Pelajari cara menyiapkan pelatihan AutoML untuk model penglihatan komputer.

Computer vision tasks examples. Image from: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf Citra dari: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf

AML otomatis untuk gambar mendukung tugas penglihatan komputer berikut:

Tugas Deskripsi
Klasifikasi gambar multi-kelas Tugas di mana gambar diklasifikasikan hanya dengan satu label dari satu set kelas - misalnya setiap gambar diklasifikasikan sebagai gambar 'kucing' atau 'anjing' atau 'bebek'
Klasifikasi gambar multi-label Tugas di mana gambar bisa memiliki satu atau lebih label dari satu set label - misalnya gambar dapat diberi label dengan 'kucing' dan 'anjing'
Deteksi objek Tugas untuk mengidentifikasi objek dalam gambar dan menemukan setiap objek dengan kotak pembatas misalnya menemukan semua anjing dan kucing dalam gambar dan menggambar kotak pembatas di sekitar masing-masing gambar.
Segmentasi instans Tugas untuk mengidentifikasi objek dalam gambar pada tingkat piksel, menggambar poligon di sekitar setiap objek dalam gambar.

Pemrosesan bahasa alami: NLP

Dukungan untuk tugas pemrosesan bahasa alami (NLP) dalam ML otomatis memungkinkan Anda dengan mudah menghasilkan model terlatih pada data teks untuk klasifikasi teks dan skenario pengenalan entitas karakter. Penulisan model NLP terlatih ML otomatis didukung melalui SDK Python Azure Machine Learning. Pekerjaan eksperimen yang dihasilkan, model, dan output dapat diakses dari UI studio Azure Machine Learning.

Kemampuan NLP mendukung:

  • Pelatihan NLP jaringan neural dalam ujung ke ujung dengan model BERT pra-pelatihan terbaru
  • Integrasi yang mulus dengan pelabelan data Azure Machine Learning
  • Menggunakan data berlabel untuk menghasilkan model NLP
  • Dukungan multibahasa dengan 104 bahasa
  • Pelatihan terdistribusi dengan Horovod

Pelajari cara menyiapkan pelatihan AutoML untuk model NLP.

Pelatihan, validasi, dan data pengujian

Dengan ML otomatis, Anda memberikan data pelatihan untuk melatih model ML, dan Anda dapat menentukan jenis validasi model apa yang harus dilakukan. ML otomatis melakukan validasi model sebagai bagian dari pelatihan. Artinya, ML otomatis menggunakan data validasi untuk menyelaraskan hiperparameter model berdasarkan algoritma yang diterapkan untuk menemukan kombinasi yang paling sesuai dengan data pelatihan. Namun, data validasi yang sama digunakan untuk setiap iterasi penyetelan, yang memperkenalkan bias evaluasi model karena model terus meningkat dan sesuai dengan data validasi.

Untuk membantu mengonfirmasi bahwa bias tersebut tidak diterapkan pada model akhir yang direkomendasikan, ML otomatis mendukung penggunaan data uji untuk mengevaluasi model akhir yang direkomendasikan ML otomatis pada akhir percobaan Anda. Saat Anda memberikan data uji sebagai bagian dari konfigurasi eksperimen AutoML, model yang direkomendasikan ini diuji secara default di akhir eksperimen Anda (pratinjau).

Penting

Menguji model Anda dengan himpunan data pengujian untuk mengevaluasi model yang dihasilkan adalah fitur pratinjau. Kemampuan ini adalah fitur pratinjau eksperimental, dan dapat berubah sewaktu-waktu.

Pelajari cara mengonfigurasi eksperimen AutoML untuk menggunakan data uji (pratinjau) dengan SDK atau dengan studio Azure Machine Learning.

Rekayasa fitur

Rekayasa fitur adalah proses penggunaan pengetahuan domain tentang data untuk membuat fitur yang membantu algoritma ML belajar lebih baik. Di Azure Machine Learning, teknik penskalaan dan normalisasi diterapkan untuk memfasilitasi rekayasa fitur. Secara kolektif, teknik dan rekayasa fitur ini disebut sebagai fiturisasi.

Untuk eksperimen pembelajaran mesin otomatis, fiturisasi diterapkan secara otomatis tetapi juga dapat disesuaikan berdasarkan data Anda. Pelajari lebih lanjut fiturisasi apa saja yang disertakan dan cara AutoML membantu mencegah data yang terlalu pas dan tidak seimbang dalam model Anda.

Catatan

Langkah-langkah fiturisasi pembelajaran mesin otomatis (normalisasi fitur, penanganan data yang hilang, mengonversi teks menjadi numerik, dll.) menjadi bagian dari model yang mendasari. Saat menggunakan model untuk prediksi, langkah-langkah fiturisasi yang sama dan diterapkan selama pelatihan akan diterapkan ke data input Anda secara otomatis.

Mengkustomisasi fiturisasi

Teknik fitur tambahan seperti pengkodean dan transformasi juga tersedia.

Aktifkan pengaturan ini dengan:

Model ansambel

Pembelajaran mesin otomatis mendukung model ansambel, yang diaktifkan secara default. Pembelajaran ansambel meningkatkan hasil pembelajaran mesin dan performa prediktif dengan menggabungkan beberapa model dan bukan dengan menggunakan model tunggal. Iterasi ansambel muncul sebagai perulangan akhir dari pekerjaan Anda. Pembelajaran mesin otomatis menggunakan metode ansambel pemungutan suara dan susun untuk menggabungkan model:

  • Pemungutan suara: memprediksi berdasarkan rata-rata tertimbang probabilitas kelas yang diprediksi (untuk tugas klasifikasi) atau target regresi yang diprediksi (untuk tugas regresi).
  • Susun: menggabungkan model heterogen dan melatih meta-model berdasarkan output dari model individu. Meta-model default saat ini adalah LogisticRegression untuk tugas klasifikasi dan ElasticNet untuk tugas regresi/prakiraan.

Algoritma pemilihan ansambel Caruana dengan inisialisasi ansambel yang diurutkan digunakan untuk memutuskan model mana yang akan digunakan dalam ansambel. Pada tingkat tinggi, algoritma ini menginisialisasi ansambel dengan hingga lima model dengan skor individu terbaik dan memverifikasi bahwa model-model ini berada dalam ambang batas 5% dari skor terbaik untuk menghindari ansambel awal yang buruk. Kemudian untuk setiap perulangan ansambel, model baru ditambahkan ke ansambel yang ada dan skor yang dihasilkan dihitung. Jika model baru meningkatkan skor ansambel yang ada, ansambel diperbarui untuk menyertakan model baru.

Lihat paket AutoML untuk mengubah pengaturan ansambel default dalam pembelajaran mesin otomatis.

AutoML & ONNX

Dengan Azure Machine Learning, Anda dapat menggunakan ML otomatis untuk membuat model Python dan mengonversinya ke format ONNX. Setelah model dalam format ONNX, model dapat dijalankan pada berbagai platform dan perangkat. Pelajari selengkapnya cara mempercepat model ML dengan ONNX.

Lihat cara mengonversi ke format ONNX dalam contoh buku catatan Jupyter ini. Pelajari algoritma mana yang didukung di ONNX.

Runtime ONNX juga mendukung C#, sehingga Anda dapat menggunakan model yang dibuat secara otomatis di aplikasi C# Anda tanpa perlu melakukan pengkodean ulang atau latensi jaringan apa pun yang diperkenalkan oleh titik akhir REST. Pelajari selengkapnya tentang menggunakan model AutoML ONNX dalam aplikasi .NET dengan ML.NET dan inferensi model ONNX dengan runtime ONNX C# API.

Langkah berikutnya

Terdapat beberapa sumber daya untuk membantu Anda memulai dan menjalankan AutoML.

Tutorial/cara kerja

Tutorial adalah contoh pengantar end-to-end dari skenario AutoML.

Artikel manual ini memberikan detail tambahan tentang fungsi yang ditawarkan AutoML. Misalnya,

Sampel notebook Jupyter

Tinjau contoh kode terperinci dan kasus penggunaan di repositori buku catatan [GitHub untuk sampel pembelajaran mesin otomatis](https://github.com/Azure/azureml-examples/tree/main/sdk/python/jobs/automl-standalone-jobs.

Referensi Python SDK

Perdalam keahlian Anda tentang pola desain SDK dan spesifikasi kelas dengan dokumentasi referensi kelas Pekerjaan AutoML.

Catatan

Kemampuan pembelajaran mesin otomatis juga tersedia di solusi Microsoft lainnya seperti ML.NET, HDInsight, Power BI, dan SQL Server