Bagikan melalui


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. Ini memungkinkan ilmuwan data, analis, dan pengembang untuk membangun model ML dengan skala tinggi, efisiensi, dan produktivitas sambil mempertahankan kualitas model. ML otomatis di Azure Pembelajaran Mesin didasarkan pada terobosan dari divisi Microsoft Research.

Bagaimana cara kerja AutoML?

Selama pelatihan, Azure Pembelajaran Mesin membuat banyak alur secara paralel yang mencoba algoritma dan parameter yang berbeda untuk Anda. Layanan berulang melalui algoritme ML yang dipasangkan dengan pilihan fitur, di mana setiap perulangan menghasilkan model dengan skor pelatihan. Semakin baik skor untuk metrik yang ingin Anda optimalkan, semakin baik model dianggap "sesuai" data Anda. Ini berhenti setelah mencapai kriteria keluar yang ditentukan dalam eksperimen.

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 pertama kode atau pengalaman web studio tanpa kode: Pengguna yang lebih menyukai pengalaman pertama kode dapat menggunakan Azure Pembelajaran Mesin SDKv2 atau Azure Pembelajaran Mesin CLIv2. Mulai menggunakan Tutorial: Melatih model deteksi objek dengan AutoML dan Python. Pengguna yang lebih suka pengalaman terbatas atau tanpa kode dapat menggunakan antarmuka web di studio Azure Pembelajaran Mesin di https://ml.azure.com. Mulai menggunakan Tutorial: Membuat model klasifikasi dengan ML otomatis di Azure Pembelajaran Mesin.

  3. Tentukan sumber data pelatihan berlabel: Anda dapat membawa data Anda ke Azure Pembelajaran Mesin 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, prakiraan, visi komputer, & NLP

Terapkan ML otomatis saat Anda ingin Azure Machine Learning melatih dan menyetel model untuk menggunakan metrik target yang Anda tentukan. ML otomatis mendemokratisasikan proses pengembangan model pembelajaran mesin dan memberdayakan penggunanya, apa pun keahlian ilmu data mereka, untuk mengidentifikasi saluran pembelajaran mesin ujung ke ujung 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
  • Menerapkan praktik terbaik ilmu data
  • Sediakan pemecahan masalah yang lincah

Klasifikasi

Klasifikasi adalah jenis pembelajaran yang diawasi di mana 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. Untuk informasi selengkapnya tentang opsi fiturisasi, lihat Fiturisasi data. Anda juga dapat menemukan daftar algoritma yang didukung oleh AutoML pada Algoritma yang didukung.

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

Lihat contoh klasifikasi dan pembelajaran mesin otomatis dalam notebook Python ini: Pemasaran Bank.

Regresi

Mirip dengan klasifikasi, tugas regresi juga merupakan tugas pembelajaran yang diawasi bersama. Azure Pembelajaran Mesin menawarkan fiturisasi khusus untuk masalah regresi. Pelajari selengkapnya tentang opsi fiturisasi. Anda juga dapat menemukan daftar algoritma yang didukung oleh AutoML pada Algoritma yang didukung.

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, model mungkin memprediksi harga mobil berdasarkan fitur seperti jarak tempuh gas dan peringkat keamanan.

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 Algoritma yang didukung.

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

Konfigurasi prakiraan tingkat lanjut meliputi:

  • Deteksi dan fiturisasi liburan
  • Pelajar Rangkaian waktu dan DNN (Auto-ARIMA, Prophet, ForecastTCN)
  • Banyak model mendukung melalui pengelompokan
  • Validasi silang rolling-origin
  • Jeda yang dapat dikonfigurasi
  • Fitur agregat jendela gulir

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

Computer Vision

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:

  • Integrasikan dengan mulus dengan kemampuan pelabelan data Azure Pembelajaran Mesin.
  • Gunakan 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 Pembelajaran Mesin 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.

Contoh tugas visi komputer. Gambar dari: http://cs231n.stanford.edu/slides/2021/lecture_15.pdf Gambar 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 dapat memiliki satu atau beberapa label dari sekumpulan 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.
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 menyediakan data pelatihan untuk melatih model ML, dan Anda dapat menentukan jenis validasi model apa yang akan dilakukan. ML otomatis melakukan validasi model sebagai bagian dari pelatihan. Artinya, ML otomatis menggunakan data validasi untuk menyetel 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 uji untuk mengevaluasi model yang dihasilkan adalah fitur pratinjau. Kemampuan ini adalah fitur pratinjau eksperimental , dan dapat berubah kapan saja.

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 selengkapnya tentang fiturisasi apa yang disertakan (SDK v1) dan bagaimana AutoML membantu mencegah data yang terlalu pas dan tidak seimbang dalam model Anda.

Catatan

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

Menyesuaikan fiturisasi

Teknik rekayasa fitur tambahan, seperti pengodean 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).
  • Tumpukan: Menggabungkan model heterogen dan melatih meta-model berdasarkan output dari model individual. 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 di 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 panduan memberikan detail selengkapnya tentang fungsionalitas apa yang ditawarkan ML otomatis. Contohnya,

Sampel notebook Jupyter

Tinjau contoh kode terperinci dan kasus penggunaan di repositori buku catatan GitHub untuk sampel pembelajaran mesin otomatis.

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.