Jeśli rozpoczynasz nowy projekt uczenia maszynowego, możesz się zastanawiać, czy ręczne trenowanie jest jedyną opcją tworzenia modelu uczenia maszynowego. W przypadku ręcznego trenowania piszesz kod za pomocą frameworka ML, aby utworzyć model. W trakcie tego procesu wybierasz algorytmy, które chcesz przetestować, i w cyklu iteracyjnym dostosowujesz hiperparametry, aby znaleźć odpowiedni model.
Trenowanie modelu to oczywiście nie jedyna rzecz, o której musisz pomyśleć. W praktyce tworzenie modelu systemu uczącego się od etapu prototypu do wdrożenia wymaga powtarzalnych zadań i specjalnych umiejętności. Prosty eksploracyjny przepływ pracy z wykorzystaniem uczenia maszynowego wygląda tak:
![Rysunek 1. Prosty przepływ pracy dotyczący uczenia maszynowego.](https://developers.google.cn/static/machine-learning/crash-course/automl/images/ml-workflow.png?authuser=19&hl=pl)
Powtarzalne zadania – przepływ pracy związany z ML może obejmować powtarzalne działania i eksperymentowanie. Na przykład podczas tworzenia modelu zwykle trzeba przetestować różne kombinacje algorytmów i hiperparametrów, aby wybrać najbardziej odpowiedni model. W przypadku ręcznego trenowania piszesz specjalistyczny kod do trenowania modelu, a potem dostosowujesz go do przeprowadzania eksperymentów z różnymi algorytmami ML i hiperparametrami, aby znaleźć najlepszy model. W przypadku małych lub eksploracyjnych projektów ten ręczny proces może nie stanowić problemu, ale w przypadku większych projektów te powtarzalne czynności mogą być czasochłonne.
Specjalistyczne umiejętności – ręczne tworzenie modelu ML wymaga specjalistycznych umiejętności. W praktyce nie każda grupa planująca opracowanie modelu uczenia maszynowego może mieć te umiejętności. Jeśli zespół nie ma dedykowanego badacza danych, wykonanie tej pracy ręcznie może być niemożliwe.
Na szczęście niektóre etapy tworzenia modelu można zautomatyzować, aby zmniejszyć obciążenie związane z powtarzalnymi czynnościami i potrzebę posiadania specjalistycznych umiejętności. Automatyzacja tych zadań jest tematem tego modułu dotyczącego automatycznego uczenia maszynowego (AutoML).
Co to jest AutoML?
AutoML to proces automatyzacji określonych zadań w przepływie pracy związanym z uczeniem maszynowym. AutoML to zestaw narzędzi i technologii, które przyspieszają tworzenie modeli systemów uczących się i ułatwiają to zadanie większej liczbie użytkowników. Automatyzacja może ułatwiać pracę z systemami uczącymi się na różnych etapach, ale zadania, które często kojarzą się z AutoML, to te, które są uwzględnione w cyklu tworzenia modelu przedstawionym na rysunku 1. Do powtarzających się zadań należą:
- Inżynieria danych
- Inżynieria funkcji.
- Wybór funkcji.
- Szkolenie
- Wybór odpowiedniego algorytmu systemów uczących się.
- Wybór najlepszych hiperparametrów.
- Analiza
- Ocenianie danych wygenerowanych podczas trenowania na podstawie zbiorów danych testowych i walidacyjnych.
Dzięki AutoML możesz skupić się na problemie związanym z systemami uczącymi się i danych, a nie na wyborze cech, dostrajaniu hiperparametrów i wybieraniu odpowiedniego algorytmu.