Pembelajaran mesin automatik atau AutoML dijelaskan

Dua halangan terbesar untuk penggunaan pembelajaran mesin (pembelajaran mesin klasik dan pembelajaran mendalam) adalah kemahiran dan sumber pengkomputeran. Anda dapat menyelesaikan masalah kedua dengan membuang wang, sama ada untuk pembelian perkakasan dipercepat (seperti komputer dengan GPU mewah) atau untuk penyewaan sumber perkiraan di awan (seperti contoh dengan GPU, TPU, dan FPGA).

Sebaliknya, menyelesaikan masalah kemahiran lebih sukar. Para saintis data sering memerintahkan gaji yang besar dan mungkin sukar diambil. Google dapat melatih banyak pekerjanya dalam rangka kerja TensorFlow sendiri, tetapi kebanyakan syarikat hampir tidak mempunyai orang yang cukup mahir untuk membina pembelajaran mesin dan model pembelajaran mendalam sendiri, apalagi mengajar orang lain bagaimana.

Apa itu AutoML?

Pembelajaran mesin automatik, atau AutoML, bertujuan untuk mengurangkan atau menghilangkan keperluan para saintis data mahir untuk membina model pembelajaran mesin dan pembelajaran mendalam. Sebaliknya, sistem AutoML membolehkan anda memberikan data latihan berlabel sebagai input dan menerima model yang dioptimumkan sebagai output.

Terdapat beberapa cara untuk menyelesaikan perkara ini. Salah satu pendekatannya ialah perisian hanya melatih setiap jenis model pada data dan memilih yang paling sesuai. Penyempurnaan ini adalah untuk membina satu atau lebih model ensemble yang menggabungkan model lain, yang kadang-kadang (tetapi tidak selalu) memberikan hasil yang lebih baik.

Teknik kedua adalah mengoptimumkan hiperparameter (dijelaskan di bawah) model atau model terbaik untuk melatih model yang lebih baik. Kejuruteraan ciri (juga dijelaskan di bawah) adalah tambahan yang berharga untuk latihan model apa pun. Salah satu cara untuk menghilangkan pembelajaran mendalam adalah menggunakan pembelajaran pemindahan, yang pada dasarnya menyesuaikan model umum yang terlatih untuk data tertentu.

Apakah pengoptimuman hiperparameter?

Semua model pembelajaran mesin mempunyai parameter, yang bermaksud bobot untuk setiap pemboleh ubah atau ciri dalam model. Ini biasanya ditentukan oleh penyebaran semula kesalahan, ditambah iterasi di bawah kendali pengoptimum seperti penurunan stochastic gradient.

Sebilangan besar model pembelajaran mesin juga mempunyai hiperparameter yang berada di luar gelung latihan. Ini sering merangkumi kadar pembelajaran, kadar putus sekolah, dan parameter khusus model seperti jumlah pokok di Hutan Rawak.

Penalaan hiperparameter atau pengoptimuman hyperparameter (HPO) adalah kaedah automatik menyapu atau mencari melalui satu atau lebih hiperparameter model untuk mencari set yang menghasilkan model terlatih terbaik. Ini boleh memakan masa, kerana anda perlu melatih model lagi (gelung dalam) untuk setiap set nilai hiperparameter dalam sapuan (gelung luar). Sekiranya anda melatih banyak model secara selari, anda boleh mengurangkan masa yang diperlukan dengan mengorbankan lebih banyak perkakasan.

Apa itu kejuruteraan ciri?

A ciri adalah harta diukur individu atau ciri fenomena yang diperhatikan. Konsep "ciri" berkaitan dengan konsep pemboleh ubah, yang digunakan dalam teknik statistik seperti regresi linier. A vektor ciri menggabungkan semua ciri-ciri untuk satu baris ke dalam vektor berangka. Rekayasa ciri adalah proses mencari set pemboleh ubah terbaik dan pengekodan dan normalisasi data terbaik untuk input ke proses latihan model.

Sebahagian daripada seni memilih ciri adalah memilih set minimum pemboleh ubah bebas yang menjelaskan masalahnya. Sekiranya dua pemboleh ubah berkorelasi tinggi, kedua-duanya perlu digabungkan menjadi satu ciri, atau satu harus digugurkan. Kadang kala orang melakukan analisis komponen utama (PCA) untuk menukar pemboleh ubah yang berkorelasi menjadi satu set pemboleh ubah yang tidak berkaitan secara linear.

Untuk menggunakan data kategori untuk klasifikasi mesin, anda perlu mengekod label teks ke dalam bentuk lain. Terdapat dua pengekodan biasa.

Salah satunya adalah pengekodan label , yang bermaksud bahawa setiap nilai label teks diganti dengan angka. Yang lain adalah pengekodan satu-panas , yang bermaksud bahawa setiap nilai label teks berubah menjadi lajur dengan nilai binari (1 atau 0). Sebilangan besar kerangka pembelajaran mesin mempunyai fungsi yang melakukan penukaran untuk anda. Secara amnya, pengekodan satu panas lebih disukai, kerana pengekodan label kadang-kadang boleh mengelirukan algoritma pembelajaran mesin dengan berfikir bahawa lajur yang dikodkan disusun.

Untuk menggunakan data berangka untuk regresi mesin, anda biasanya perlu menormalkan data. Jika tidak, angka dengan julat yang lebih besar cenderung mendominasi jarak Euclidian antara vektor ciri, kesannya dapat diperbesar dengan mengorbankan medan lain, dan pengoptimuman keturunan paling curam mungkin mengalami kesukaran untuk bertemu. Terdapat sejumlah cara untuk menormalkan dan menstandardisasi data untuk pembelajaran mesin, termasuk normalisasi min-max, normalisasi rata-rata, standardisasi, dan penskalaan hingga panjang unit. Proses ini sering disebut fitur skala .

Sebilangan transformasi yang digunakan orang untuk membina ciri baru atau mengurangkan dimensi vektor ciri adalah mudah. Contohnya, tolak Year of Birthdari Year of Deathdan anda bina Age at Death, yang merupakan pemboleh ubah bebas utama untuk analisis sepanjang hayat dan kematian. Dalam kes lain, pembinaan ciri mungkin tidak begitu jelas.

Apa itu pembelajaran pemindahan?

Transfer learning kadang-kadang dipanggil pembelajaran mesin khusus, dan kadang-kadang disebut AutoML (kebanyakannya oleh Google) Daripada bermula dari awal ketika melatih model dari data anda, Google Cloud AutoML menerapkan pembelajaran pemindahan mendalam secara automatik (yang bermaksud bahawa ia bermula dari rangkaian neural dalam yang ada yang dilatih pada data lain) dan carian seni bina saraf (bermaksud bahawa ia menemui kombinasi tambahan yang tepat lapisan rangkaian) untuk terjemahan pasangan bahasa, klasifikasi bahasa semula jadi, dan klasifikasi gambar.

Itu adalah proses yang berbeza daripada yang biasanya dimaksudkan dengan AutoML, dan tidak merangkumi sebilangan besar kes penggunaan. Sebaliknya, jika anda memerlukan model pembelajaran mendalam yang disesuaikan di kawasan yang disokong, pembelajaran pemindahan selalunya akan menghasilkan model yang unggul.

Pelaksanaan AutoML

Terdapat banyak pelaksanaan AutoML yang boleh anda cuba. Sebilangannya adalah perkhidmatan berbayar, dan ada juga yang menggunakan kod sumber percuma. Senarai di bawah ini sama sekali tidak lengkap atau muktamad.

Perkhidmatan AutoML

Semua tiga perkhidmatan awan besar mempunyai semacam AutoML. Amazon SageMaker melakukan penalaan hyperparameter tetapi tidak secara automatik mencuba beberapa model atau melakukan kejuruteraan ciri. Pembelajaran Mesin Azure mempunyai AutoML, yang merangkumi ciri dan algoritma, dan penyesuaian hyperparameter, yang biasanya anda jalankan pada algoritma terbaik yang dipilih oleh AutoML. Google Cloud AutoML, seperti yang saya bincangkan sebelumnya, adalah pembelajaran transfer mendalam untuk terjemahan pasangan bahasa, klasifikasi bahasa semula jadi, dan klasifikasi gambar.

Sejumlah syarikat kecil juga menawarkan perkhidmatan AutoML. Sebagai contoh, DataRobot, yang mengaku telah mencipta AutoML, mempunyai reputasi yang kuat di pasaran. Walaupun dotData mempunyai pangsa pasar yang kecil dan UI yang biasa-biasa saja, ia mempunyai kemampuan kejuruteraan ciri yang kuat dan merangkumi banyak kes penggunaan perusahaan. H2O.ai Driverless AI, yang saya kaji pada tahun 2017, dapat membantu seorang saintis data menghasilkan model seperti master Kaggle, melakukan kejuruteraan ciri, penyapu algoritma, dan pengoptimuman hiperparameter secara bersepadu.

Kerangka AutoML

AdaNet adalah rangka kerja berasaskan TensorFlow ringan untuk belajar model berkualiti tinggi secara automatik dengan campur tangan pakar yang minimum. Auto-Keras adalah perpustakaan perisian sumber terbuka untuk pembelajaran mesin automatik, yang dikembangkan di Texas A&M, yang menyediakan fungsi untuk mencari arsitektur dan hiperparameter model pembelajaran mendalam secara automatik. NNI (Neural Network Intelligence) adalah alat dari Microsoft untuk membantu pengguna merancang dan menyesuaikan model pembelajaran mesin (misalnya, hyperparameter), seni bina rangkaian neural, atau parameter sistem yang kompleks dengan cara yang cekap dan automatik.

Anda boleh mendapatkan projek AutoML tambahan dan senarai makalah yang cukup lengkap dan terkini mengenai AutoML di GitHub.